diff --git a/.changeset/clever-sheep-taste.md b/.changeset/clever-sheep-taste.md
deleted file mode 100644
index 6e845b0..0000000
--- a/.changeset/clever-sheep-taste.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-"@chttp/router": minor
-"@chttp/unplugin": minor
-"@chttp/stream": minor
----
-
-feat(router): Web Standards generated-dispatch arm (GenFetch/withFetchDispatch, contract v4) + fetch emitter in unplugin; @chttp/stream streams through FetchResponseSink as a real ReadableStream
diff --git a/.changeset/ctx-res-view.md b/.changeset/ctx-res-view.md
deleted file mode 100644
index 0d1a3bb..0000000
--- a/.changeset/ctx-res-view.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@chttp/router": minor
----
-
-feat(ctx): typed `c.res` response view on both surfaces — `.status`, `.header(name)`, `.headers` (plus `statusCode`/`nodeRes()` escape hatches for the Node surface). `use()` middleware now also wraps the notFound chain, and `c.req.url` reports the absolute URL on `app.fetch` (Hono parity for hono/logger's outbound `-->` line).
diff --git a/.changeset/early-roses-stand.md b/.changeset/early-roses-stand.md
deleted file mode 100644
index 04a1562..0000000
--- a/.changeset/early-roses-stand.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@chttp/static": patch
----
-
-Add an end-to-end ELF smoke (serve + SPA + embedded) so runtime-only fences on older scriptc versions can't slip through
diff --git a/.changeset/header-missing-key-guard.md b/.changeset/header-missing-key-guard.md
deleted file mode 100644
index 663b2bf..0000000
--- a/.changeset/header-missing-key-guard.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@chttp/router": patch
----
-
-fix(req): `c.req.header(name)` no longer crashes on absent headers in single-graph (vendored/program-code) scriptc builds — `_headers`/`_headersDistinct` are probed with `hasOwnProperty` before indexing instead of a bare record read that throws "record has no key".
diff --git a/.changeset/ledger.yaml b/.changeset/ledger.yaml
index dd6485e..fd680a7 100644
--- a/.changeset/ledger.yaml
+++ b/.changeset/ledger.yaml
@@ -1,7 +1,21 @@
+"@chttp/auth@0.4.0":
+ dir: packages/auth
+ intents:
+ - move-auth-mcp-in
"@chttp/html@0.2.0":
dir: packages/html
intents:
- polite-rings-walk
+"@chttp/html@0.4.0":
+ dir: packages/html
+ intents:
+ - pages-ssr-slice
+"@chttp/mcp@0.4.0":
+ dir: packages/mcp
+ intents:
+ - move-auth-mcp-in
+ - soft-kings-repeat
+ - val-std-schema-compat
"@chttp/router@0.2.0":
dir: packages/router
intents:
@@ -18,10 +32,25 @@
- fix-elf-963-narrowing
- fix-sc9001
- short-pigs-push
+"@chttp/router@0.4.0":
+ dir: packages/router
+ intents:
+ - clever-sheep-taste
+ - ctx-res-view
+ - header-missing-key-guard
+ - lite-fetch-bridge
+ - silent-camels-smell
+ - soft-grapes-dig
+ - typed-client
+ - ws-handshake-hardening
"@chttp/static@0.2.0":
dir: packages/static
intents:
- quiet-assets-serve
+"@chttp/static@0.4.0":
+ dir: packages/static
+ intents:
+ - early-roses-stand
"@chttp/stream@0.2.0":
dir: packages/stream
intents:
@@ -30,6 +59,10 @@
dir: packages/stream
intents:
- add-backpressure
+"@chttp/stream@0.4.0":
+ dir: packages/stream
+ intents:
+ - clever-sheep-taste
"@chttp/unplugin@0.2.0":
dir: packages/unplugin
intents:
@@ -38,11 +71,20 @@
dir: packages/unplugin
intents:
- short-pigs-push
+"@chttp/unplugin@0.4.0":
+ dir: packages/unplugin
+ intents:
+ - clever-sheep-taste
+ - silent-camels-smell
"@chttp/val@0.2.0":
dir: packages/val
intents:
- bright-carrots-rest
- clever-moose-move
+"@chttp/val@0.4.0":
+ dir: packages/val
+ intents:
+ - val-std-schema-compat
"@chttp/ws@0.2.0":
dir: packages/ws
intents:
@@ -52,3 +94,7 @@
intents:
- add-backpressure
- add-ffi-docs
+"@chttp/ws@0.4.0":
+ dir: packages/ws
+ intents:
+ - ws-handshake-hardening
diff --git a/.changeset/lite-fetch-bridge.md b/.changeset/lite-fetch-bridge.md
deleted file mode 100644
index a471db2..0000000
--- a/.changeset/lite-fetch-bridge.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@chttp/router": minor
----
-
-feat(router): lite Node fetch bridge (issue #89) — `app.fetchBridge()`/`app.serveFetch()` drive the fetch dispatch arm over `LiteRequest` (`WebReqView` over `IncomingMessage`) and `LiteResponse` (a `FetchResponseSink` writing straight to `ServerResponse`), skipping per-request undici `Request`/`Headers`/`Response` construction; `WebReqView.headers` narrows to the structural `WebHeadersView`. `c.req.raw` on the lite surface returns the `LiteRequest`; `lite.request()` materializes a real undici `Request` lazily for `fetch(c.req.raw)`-style consumers. Bench: `chttp-fetch-lite-node` runs at 86–101% of `chttp-node` vs the undici bridge's 50–56% (bench/RESULTS-v2.md).
diff --git a/.changeset/move-auth-mcp-in.md b/.changeset/move-auth-mcp-in.md
deleted file mode 100644
index 62120cf..0000000
--- a/.changeset/move-auth-mcp-in.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@chttp/auth": minor
-"@chttp/mcp": minor
----
-
-Move `@chttp/auth` and `@chttp/mcp` into the chttp monorepo from sigilco/cutils (where they shipped as 0.2.0). Both packages join the fixed versioning group and publish at chttp's shared version going forward. No source changes in the move — session/JWT/OAuth/CSRF/TOTP primitives and the JSON-RPC 2.0 MCP server land as-is, with gates wired into `scripts/scriptc-gate.sh` and docs pages added to the site nav.
diff --git a/.changeset/pages-ssr-slice.md b/.changeset/pages-ssr-slice.md
deleted file mode 100644
index 303a019..0000000
--- a/.changeset/pages-ssr-slice.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@chttp/html": minor
----
-
-Add `page(head, body)` full-document shell and `IsrPage` revalidate cache: the pages/SSG/ISR slice of issue #14. SSG is render-once-at-startup; ISR re-renders lazily after the TTL (blocking semantics, no background refresh). See `examples/pages`.
diff --git a/.changeset/silent-camels-smell.md b/.changeset/silent-camels-smell.md
deleted file mode 100644
index 60e6a3b..0000000
--- a/.changeset/silent-camels-smell.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@chttp/router": patch
-"@chttp/unplugin": patch
----
-
-empty-body responses send no content-type (Hono parity); default text/plain charset is UTF-8
diff --git a/.changeset/soft-grapes-dig.md b/.changeset/soft-grapes-dig.md
deleted file mode 100644
index a59473b..0000000
--- a/.changeset/soft-grapes-dig.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@chttp/router": minor
----
-
-fetch(app.fetch) passthrough contract: capture the Web Request into c.req.raw, adopt handler-returned Response objects (incl. streams), and stop eager body buffering on undeclared routes
diff --git a/.changeset/soft-kings-repeat.md b/.changeset/soft-kings-repeat.md
deleted file mode 100644
index 188814e..0000000
--- a/.changeset/soft-kings-repeat.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@chttp/mcp": minor
----
-
-Typed client on a new `./client` subpath (`@chttp/mcp/client`): `Client` plus `toolDef`/`resourceDef`/`promptDef` schema-first descriptors that register on the server via `server.toolDef`, three transports (`fetch`, `node:net`/`node:tls` HTTP/1.1+SSE for the ELF path, stdio), `callTool`/`call`/`listTools`/`readResource`/`getPrompt`, progress-notification handlers, and `JsonRpcError` passthrough. Ported from sigilco/cutils PR #19.
diff --git a/.changeset/thick-frogs-invent.md b/.changeset/thick-frogs-invent.md
deleted file mode 100644
index 7d598ef..0000000
--- a/.changeset/thick-frogs-invent.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"bench": none
----
-
-bench: chttp-fetch-node/chttp-fetch-bun/chttp-elf-fetch/chttp-scriptc cells + RESULTS-v2 re-baseline
diff --git a/.changeset/typed-client.md b/.changeset/typed-client.md
deleted file mode 100644
index 88267e7..0000000
--- a/.changeset/typed-client.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@chttp/router": minor
----
-
-Typed HTTP client at `@chttp/router/client`: `createClient(baseUrl)` + `get`/`post`/`put`/`patch`/`delete`/`request` over a minimal HTTP/1.1 transport on `node:net`/`node:tls` — no `fetch`, so the same source compiles into an app ELF. `ClientInput
` checks `params` keys against `ParamKey
` on Node.js (`.d.ts` surface only — compiled apps bind a `ClientCore` receiver and get the concrete signatures); response types are caller-declared per call. One request per connection (`Connection: close`), chunked responses decoded, no redirects/streaming in v1.
diff --git a/.changeset/val-std-schema-compat.md b/.changeset/val-std-schema-compat.md
deleted file mode 100644
index 7030f9f..0000000
--- a/.changeset/val-std-schema-compat.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@chttp/val": patch
-"@chttp/mcp": patch
----
-
-Fix Standard Schema v1 type compatibility for the mcp+val pairing (sigilco/cutils#27): `StdProps.version` is now the literal `1`, each concrete schema class merges a `StdTyped` interface so `InferInput`/`InferOutput` resolve real types in `tool()` handlers, and `toJsonSchema`/`toOpenApiSchema` accept the `{"~standard": unknown}` structural minimum instead of requiring `VSchema`. In `@chttp/mcp`, response/listing records are built from `{}` open records or single full literals so expanding writes survive scriptc lowering of the packed dist. `pnpm smoke:pack` now packs `@chttp/mcp`, type-checks the pairing under tsc, and runs tools/list + tools/call through `Server.handleRequest` on the built ELF.
diff --git a/.changeset/ws-handshake-hardening.md b/.changeset/ws-handshake-hardening.md
deleted file mode 100644
index 5bda8f8..0000000
--- a/.changeset/ws-handshake-hardening.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@chttp/ws": minor
-"@chttp/router": patch
----
-
-feat(ws): post-merge audit hardening for issue #13 — `allowOrigin` exact-match allowlist (403), `Sec-WebSocket-Key` base64/16-byte format check, peer close-reason UTF-8 validation (1007); `upgradeHandler()` catches a throwing dispatch and destroys the socket; `UpgradeFn` re-exported
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bbea436..08dadc6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,28 @@
## Unreleased
+## 0.4.0
+
+### Features
+
+- **@chttp/auth, @chttp/mcp:** Move `@chttp/auth` and `@chttp/mcp` into the chttp monorepo from sigilco/cutils (where they shipped as 0.2.0). Both packages join the fixed versioning group and publish at chttp's shared version going forward. No source changes in the move — session/JWT/OAuth/CSRF/TOTP primitives and the JSON-RPC 2.0 MCP server land as-is, with gates wired into `scripts/scriptc-gate.sh` and docs pages added to the site nav.
+- **@chttp/html:** Add `page(head, body)` full-document shell and `IsrPage` revalidate cache: the pages/SSG/ISR slice of issue #14. SSG is render-once-at-startup; ISR re-renders lazily after the TTL (blocking semantics, no background refresh). See `examples/pages`.
+- **@chttp/mcp:** Typed client on a new `./client` subpath (`@chttp/mcp/client`): `Client` plus `toolDef`/`resourceDef`/`promptDef` schema-first descriptors that register on the server via `server.toolDef`, three transports (`fetch`, `node:net`/`node:tls` HTTP/1.1+SSE for the ELF path, stdio), `callTool`/`call`/`listTools`/`readResource`/`getPrompt`, progress-notification handlers, and `JsonRpcError` passthrough. Ported from sigilco/cutils PR #19.
+- **@chttp/router, @chttp/stream, @chttp/unplugin:** feat(router): Web Standards generated-dispatch arm (GenFetch/withFetchDispatch, contract v4) + fetch emitter in unplugin; @chttp/stream streams through FetchResponseSink as a real ReadableStream
+- **@chttp/router:** feat(ctx): typed `c.res` response view on both surfaces — `.status`, `.header(name)`, `.headers` (plus `statusCode`/`nodeRes()` escape hatches for the Node surface). `use()` middleware now also wraps the notFound chain, and `c.req.url` reports the absolute URL on `app.fetch` (Hono parity for hono/logger's outbound `-->` line).
+- **@chttp/router:** feat(router): lite Node fetch bridge (issue #89) — `app.fetchBridge()`/`app.serveFetch()` drive the fetch dispatch arm over `LiteRequest` (`WebReqView` over `IncomingMessage`) and `LiteResponse` (a `FetchResponseSink` writing straight to `ServerResponse`), skipping per-request undici `Request`/`Headers`/`Response` construction; `WebReqView.headers` narrows to the structural `WebHeadersView`. `c.req.raw` on the lite surface returns the `LiteRequest`; `lite.request()` materializes a real undici `Request` lazily for `fetch(c.req.raw)`-style consumers. Bench: `chttp-fetch-lite-node` runs at 86–101% of `chttp-node` vs the undici bridge's 50–56% (bench/RESULTS-v2.md).
+- **@chttp/router:** fetch(app.fetch) passthrough contract: capture the Web Request into c.req.raw, adopt handler-returned Response objects (incl. streams), and stop eager body buffering on undeclared routes
+- **@chttp/router:** Typed HTTP client at `@chttp/router/client`: `createClient(baseUrl)` + `get`/`post`/`put`/`patch`/`delete`/`request` over a minimal HTTP/1.1 transport on `node:net`/`node:tls` — no `fetch`, so the same source compiles into an app ELF. `ClientInput
` checks `params` keys against `ParamKey
` on Node.js (`.d.ts` surface only — compiled apps bind a `ClientCore` receiver and get the concrete signatures); response types are caller-declared per call. One request per connection (`Connection: close`), chunked responses decoded, no redirects/streaming in v1.
+- **@chttp/ws:** feat(ws): post-merge audit hardening for issue #13 — `allowOrigin` exact-match allowlist (403), `Sec-WebSocket-Key` base64/16-byte format check, peer close-reason UTF-8 validation (1007); `upgradeHandler()` catches a throwing dispatch and destroys the socket; `UpgradeFn` re-exported
+
+### Fixes
+
+- **@chttp/mcp, @chttp/val:** Fix Standard Schema v1 type compatibility for the mcp+val pairing (sigilco/cutils#27): `StdProps.version` is now the literal `1`, each concrete schema class merges a `StdTyped` interface so `InferInput`/`InferOutput` resolve real types in `tool()` handlers, and `toJsonSchema`/`toOpenApiSchema` accept the `{"~standard": unknown}` structural minimum instead of requiring `VSchema`. In `@chttp/mcp`, response/listing records are built from `{}` open records or single full literals so expanding writes survive scriptc lowering of the packed dist. `pnpm smoke:pack` now packs `@chttp/mcp`, type-checks the pairing under tsc, and runs tools/list + tools/call through `Server.handleRequest` on the built ELF.
+- **@chttp/router:** fix(req): `c.req.header(name)` no longer crashes on absent headers in single-graph (vendored/program-code) scriptc builds — `_headers`/`_headersDistinct` are probed with `hasOwnProperty` before indexing instead of a bare record read that throws "record has no key".
+- **@chttp/router, @chttp/unplugin:** empty-body responses send no content-type (Hono parity); default text/plain charset is UTF-8
+- **@chttp/static:** Add an end-to-end ELF smoke (serve + SPA + embedded) so runtime-only fences on older scriptc versions can't slip through
+
+
## 0.3.0
The Web Standards release: `app.fetch(req, env?, ctx?) → Promise` is now the canonical entry, multipart/form-data uploads ship as a per-route opt-in, and the compiled ELF is healthy again under scriptc 0.3.x.
@@ -22,7 +44,6 @@ Companion utility packages that work with chttp and the scriptc subset — `@cut
- **@chttp/router:** Fix a runtime failure of the compiled ELF under scriptc 0.3.x (upstream: vercel-labs/scriptc#963). Two root causes, both removed from the router surface. First, generic classes lower to methodless instances: `Ctx` and `ReqView
` compile to objects whose fields read but whose every method call throws (`c.json is not a function` on 0.3.1/0.3.2, `rv._setBody is not a function` on 0.3.3). Second, class-typed unions are unrepresentable: `ResponseSink | ServerResponse` and `IncomingMessage | NodeReqStub` cannot sit in constructor or parameter positions, and `typeof x.method === "function"` discrimination demotes method names into `prototypeMethodAccesses`, which removes the fallback entirely. The fix narrows the surface so the same source lowers to a working ELF: - `Ctx`/`ReqView` become non-generic `CtxCore`/`ReqViewCore` classes; `interface Ctx
extends CtxCore` plus `const Ctx = CtxCore` aliases keep `new Ctx(...)`, `Ctx` annotations and `Ctx<'/path'>` working under tsc with no source change for users. - The `Ctx` constructor, `_guard` and `_buffer` take a `ResponseSink` only; callers with a raw `ServerResponse` wrap it: `new Ctx(rv, new NodeResponseSink(res))`. `ROUTE_CONTRACT_VERSION` bumps 1→2 and the generated dispatch is regenerated to match. - `ReqViewCore` takes `IncomingMessage | null` plus optional stub arguments; the `app.fetch` arm passes `null` instead of a record union. `c.req.raw` is now `IncomingMessage | null` (`null` on the fetch path). - `ResponseSink` gains `nodeRes(): ServerResponse | null` for sink-flavor reads without casts. ELF-verified under scriptc 0.3.3: `chttp.ts` and `chttp-fast.ts` serve real 200s (`/json`, `/user/42`, `POST /echo`, `/files`, `/missing` 404, `GET /echo` 405), and a fetch-surface probe (`_dispatchPrim` + `FetchResponseSink` + `toResponse()`) serves 200s including `c.set`/`c.get`, append headers and middleware.
- **@chttp/router:** Fix scriptc 0.3.x build fence (SC9001 "live dynFrom of unsupported type httpReq") in `ReqView.header()`. The prior implementation read `this.raw.headersDistinct` through a chained `as unknown as Record<...>` cast on a class-typed field; scriptc 0.3.x cannot lower the indexed field read on the `IncomingMessage` (httpReq) arm of the union and emits SC9001 as an internal compiler error. The fix materializes `raw.headers` and `raw.headersDistinct` into Record-typed locals (`_headers` and `_headersDistinct`) at construction; `header()` reads from these locals, both indexed field reads lower cleanly, and the cost is O(headers) once per request (same as the prior single-value lookups). The same materialization also gives the `app.fetch` Web Standards surface a single shared lookup shape (Web Headers are joined with `, ` per RFC 7230 before `copyHeaders`). **This is a known fence in the published v0.2.0 and v0.2.1 tarballs** (introduced by the 0.2.8→0.3.x scriptc pin bump in commit `273f209`). Consumers on those versions that try to `scriptc build` their app will hit SC9001 on the chttp router. The next release re-enables the `chttp-scriptc` and `chttp-fast-scriptc` bench cells under 0.3.x and unblocks any downstream `scriptc build` of an app that imports `@chttp/router`. No source change is required on the consumer side beyond bumping the @chttp/router version. Defense-in-depth: even if a future scriptc release fixes SC9001 directly, the materialization is the right shape (Record locals + O(headers) copy at construction) and stays. The fix is small (~80 LOC net in `packages/router/src/index.ts`) and backports cleanly onto the v0.2.x line if a backport release is needed. **Partial fix.** This entry fixes two of three known SC9001 sites (`index.ts` `ReqView.header()` `headers` and `headersDistinct` arms). A third site in the `ReqView` constructor's URL read remains open and is tracked in issue #62; it will land in v0.2.3.
-
## 0.2.1
diff --git a/examples/integrations/csr-react/main.baked.ll b/examples/integrations/csr-react/main.baked.ll
new file mode 100644
index 0000000..4868908
--- /dev/null
+++ b/examples/integrations/csr-react/main.baked.ll
@@ -0,0 +1,228465 @@
+; Generated by scriptc (LLVM backend) from /home/ubuntu/repos/chttp/examples/integrations/csr-react/src/main.baked.ts. Do not edit.
+
+%ScrStr = type { i64, i64, i64 }
+%ScrLogArg = type { i32, i64 }
+%ScrVt = type { i64, i64, ptr }
+%ScrUnion = type { i64, i32, ptr, ptr, ptr, i64 }
+%ScrClosure = type { i64, ptr, i64, ptr, i32, i32, ptr, ptr }
+%ScrFfiTable = type { ptr, i64, i64, ptr, i8, ptr, ptr, i64, i64, i64, ptr, ptr }
+%ScrRegex = type { i64, ptr, ptr, ptr, double, ptr, ptr, ptr }
+%ScrArr = type { i64, i64, i64, i8, i8, i16, i32, ptr, ptr, ptr, ptr }
+%ScrArrOps = type { ptr, ptr, ptr }
+%ScrMapRc = type { i64, i8, i8, i8 }
+%ScrError = type { i64, ptr, ptr, ptr, ptr, ptr, i8, i8, i8, i8, i8, ptr, ptr }
+%ScrClassObj = type { i64, i64, i64, ptr, ptr, i64, i64, ptr, ptr }
+%ScrEmitter = type { i64, ptr, ptr, ptr }
+%ScrStream = type { i64, ptr, ptr, ptr, ptr }
+%ScrCaught = type { i64, i32, double, i8, ptr, ptr, ptr, ptr }
+%ScrBytes = type { i64, i64, i32, ptr, ptr, i8, i8, i8, i8, ptr }
+%ScrBox = type { i64, i32, ptr, ptr, ptr, i64 }
+%ScrJsonBuf = type { ptr, i64, i64, ptr, i64, i64 }
+%ScrDynPath = type { ptr, ptr, i64 }
+%ScrIslandModule = type { ptr, ptr, i64, i64, i32, ptr, i64, i64 }
+%ScrIslandEdge = type { ptr, ptr, ptr, i32 }
+%sc_rs_r0 = type { i64, ptr } ; record r0 { ; [key: string] }
+%sc_rs_r1 = type { i64, ptr, ptr, double } ; record r1 { body; headers; status }
+%sc_rs_r2 = type { i64, ptr, ptr } ; record r2 { close; enqueue }
+%sc_rs_r3 = type { i64, ptr } ; record r3 { ; [key: string] }
+%sc_rs_r4 = type { i64, { i32, i64 } } ; record r4 { append }
+%sc_rs_r5 = type { i64, ptr, ptr, ptr, double, ptr } ; record r5 { children; hf; hm; kind; seg }
+%sc_rs_r6 = type { i64, { i32, i64 }, { i32, i64 }, { i32, i64 }, ptr } ; record r6 { maxFieldBytes; maxFileBytes; maxFiles; storage }
+%sc_rs_r7 = type { i64, { i32, i64 }, ptr } ; record r7 { body; multipart }
+%sc_rs_r8 = type { i64, ptr, double } ; record r8 { host; port }
+%sc_rs_r9 = type { i64, ptr, ptr, double } ; record r9 { idxs; names; splat }
+%sc_rs_r10 = type { i64, ptr, ptr, ptr } ; record r10 { body; enc; etag }
+%sc_rs_r11 = type { i64, ptr, ptr, ptr, i8, double, double, ptr } ; record r11 { body; encodings; etag; immutable; mtimeMs; size; type }
+%sc_rs_r12 = type { i64, ptr } ; record r12 { ; [key: string] }
+%sc_rs_r13 = type { i64, ptr, ptr, ptr } ; record r13 { b64; enc; etag }
+%sc_rs_r14 = type { i64, ptr, ptr, ptr, i8, double, ptr, ptr } ; record r14 { b64; encs; etag; immutable; mtimeMs; path; type }
+%sc_rs_r15 = type { i64, ptr, ptr, ptr, { i32, i64 } } ; record r15 { api; cacheControl; index; spa }
+%sc_rs_r16 = type { i64, ptr, double } ; record r16 { node; pos }
+%sc_rs_r17 = type { i64, ptr, double } ; record r17 { a; i }
+%sc_rs_r18 = type { i64, ptr, ptr } ; record r18 { 0; 1 }
+%sc_rs_r19 = type { i64, ptr } ; record r19 { forEach }
+%sc_rs_r20 = type { i64, double } ; record r20 { port }
+%sc_rs_r21 = type { i64, ptr } ; record r21 { message }
+%sc_rs_r23 = type { i64, i8, ptr } ; record r23 { done; value }
+%sc_rs_r25 = type { i64, ptr, { i32, i64 } } ; record r25 { a; i }
+%sc_rs_r26 = type { i64, ptr } ; record r26 { ; [key: string] }
+%sc_rs_r27 = type { i64, ptr } ; record r27 { headers }
+%sc_rs_r28 = type { i64, ptr, double } ; record r28 { headers; status }
+%sc_rs_r31 = type { i64, ptr, double } ; record r31 { node; pos }
+%sc_rs_r32 = type { i64, ptr } ; record r32 { ; [key: string] }
+%sc_rs_r33 = type { i64, ptr } ; record r33 { error }
+%sc_o__x25_m0_GenDispatch = type { i64, double, ptr } ; class %m0.GenDispatch { ROUTE_CONTRACT_VERSION; %dynProperties }
+%sc_o__x25_m0_GenFetch = type { i64, double, ptr } ; class %m0.GenFetch { ROUTE_CONTRACT_VERSION; %dynProperties }
+%sc_o__x25_m1_UpgradeDispatch = type { i64, ptr } ; class %m1.UpgradeDispatch { %dynProperties }
+%sc_o__x25_m2_ResponseSink = type { i64, ptr, ptr } ; class %m2.ResponseSink (vt at 1) { %dynProperties }
+%sc_o__x25_m2_NodeResponseSink = type { i64, ptr, ptr, ptr, double, ptr } ; class %m2.NodeResponseSink (vt at 1) { %dynProperties; res; _status; _set }
+%sc_o__x25_m2_FetchResponseSink = type { i64, ptr, ptr, double, ptr, ptr, ptr, ptr, i8, i8, ptr, i8, ptr, i8 } ; class %m2.FetchResponseSink (vt at 1) { %dynProperties; status; hdrKeys; hdrVals; hdrList; chunks; sent; headersSent; adopted; _streaming; _ctl; _endSeen }
+%sc_o__x25_m3_LiteHeaders = type { i64, ptr, ptr } ; class %m3.LiteHeaders { _im; %dynProperties }
+%sc_o__x25_m3_LiteRequest = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr, double, ptr } ; class %m3.LiteRequest { method; url; headers; _im; _hs; _t; _chunks; _ended; %dynProperties }
+%sc_o__x25_m3_LiteResponse = type { i64, ptr, ptr, double, ptr, ptr, ptr, ptr, i8, i8, ptr, i8, ptr, i8, ptr } ; class %m3.LiteResponse (vt at 1) { %dynProperties; status; hdrKeys; hdrVals; hdrList; chunks; sent; headersSent; adopted; _streaming; _ctl; _endSeen; _res }
+%sc_o__x25_m4_UploadedFile = type { i64, ptr, ptr, ptr, double, ptr, ptr, ptr } ; class %m4.UploadedFile { field; filename; mimeType; size; path; bytes; %dynProperties }
+%sc_o__x25_m4_MultipartFileSink = type { i64, ptr, ptr } ; class %m4.MultipartFileSink (vt at 1) { %dynProperties }
+%sc_o__x25_m4_MultipartStorage = type { i64, ptr, ptr } ; class %m4.MultipartStorage (vt at 1) { %dynProperties }
+%sc_o__x25_m4_MemoryFileSink = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, double } ; class %m4.MemoryFileSink (vt at 1) { %dynProperties; _field; _filename; _mime; _chunks; _size }
+%sc_o__x25_m4_MemoryStorage = type { i64, ptr, ptr } ; class %m4.MemoryStorage (vt at 1) { %dynProperties }
+%sc_o__x25_m4_DiskFileSink = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, double, double, i8 } ; class %m4.DiskFileSink (vt at 1) { %dynProperties; _field; _filename; _mime; _path; _fd; _size; _open }
+%sc_o__x25_m4_DiskStorage = type { i64, ptr, ptr, ptr, double } ; class %m4.DiskStorage (vt at 1) { %dynProperties; dir; _n }
+%sc_o__x25_m4_DispositionParams = type { i64, i8, ptr, ptr } ; class %m4.DispositionParams { formData; name; filename }
+%sc_o__x25_m4_MultipartParser = type { i64, ptr, ptr, double, ptr, ptr, double, double, double, i8, i8, ptr, ptr, ptr, ptr, ptr, double, double, double, ptr, ptr, ptr } ; class %m4.MultipartParser { _delim; _cterm; _st; _pend; _storage; _maxFileB; _maxFiles; _maxFieldB; _skip; _isFile; _field; _filename; _mime; _sink; _fbytes; _fsize; _nfiles; err; files; fields; %dynProperties }
+%sc_o__x25_m5_ReqViewCore = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, double, ptr, ptr, ptr, ptr } ; class %m5.ReqViewCore { _raw; _web; _headers; _headersDistinct; method; url; path; _qs; _qp; _pm; _pn; _pi; _sp; _body; _mpFiles; _mpFields; %dynProperties }
+%sc_o__x25_m5_CtxResCore = type { i64, ptr, ptr } ; class %m5.CtxResCore { _sink; %dynProperties }
+%sc_o__x25_m5_CtxCore = type { i64, ptr, ptr, ptr, double, i8, ptr, ptr, ptr } ; class %m5.CtxCore { req; sink; _resView; _status; sent; _vars; _nodeRes; %dynProperties }
+%sc_o__x25_m5_MpCfg = type { i64, double, ptr, double, double, double, ptr } ; class %m5.MpCfg { on; storage; maxFB; maxNF; maxFldB; %dynProperties }
+%sc_o__x25_m5_MethodNotAllowedError = type { i64, ptr, ptr, ptr, ptr, ptr, i8, i8, i8, i8, i8, ptr, ptr, double, ptr, ptr, ptr, ptr, ptr, i8, i8, ptr, ptr } ; class %m5.MethodNotAllowedError (vt at 1) { name; message; %code; %cause; %causeEnumerable; %messagePresent; %messageEnumerable; %namePresent; %nameEnumerable; %stackFrames; %stack; %systemErrno; %systemCall; %systemPath; %systemDest; %systemMessage; %systemCode; %nativePlain; %errnoOrder; allow; %dynProperties }
+%sc_o__x25_m5_App = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr } ; class %m5.App { _nodes; _mw; _fns; _mws; _nf; _nfmw; _oef; _chains; _nfchain; _pn; _pi; _sp; _bodyF; _mp; _gen; _genFetch; _up; %dynProperties }
+%sc_o__x25_m6_AssetSource = type { i64, ptr, ptr } ; class %m6.AssetSource (vt at 1) { %dynProperties }
+%sc_o__x25_m8_DiskAssets = type { i64, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr } ; class %m8.DiskAssets (vt at 1) { %dynProperties; root; rroot; _idx; _assets; _mtimes; _sizes }
+%sc_o__x25_m9_EmbeddedAssets = type { i64, ptr, ptr, ptr, ptr } ; class %m9.EmbeddedAssets (vt at 1) { %dynProperties; _idx; _assets }
+%sc_o__x25_m11_StaticServer = type { i64, ptr, i8, ptr, ptr, ptr, ptr } ; class %m11.StaticServer { src; spa; api; index; cc; %dynProperties }
+%sc_o__x25_m14_BakedAssets = type { i64, ptr, ptr, ptr, ptr } ; class %m14.BakedAssets (vt at 1) { %dynProperties; _idx; _assets }
+%sc_vtt__x25_m2_ResponseSink = type { %ScrVt, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr } ; vtable: hierarchy rooted at %m2.ResponseSink [setStatus, setHeader, appendHeader, writeBody, bodyBytes, redirect, write, writeHead, endStream, adopt, isSent, isHeadersSent, destroy, statusOf, headerOf, headersMap, nodeRes]
+%sc_vtt__x25_m4_MultipartFileSink = type { %ScrVt, ptr, ptr } ; vtable: hierarchy rooted at %m4.MultipartFileSink [write, file]
+%sc_vtt__x25_m4_MultipartStorage = type { %ScrVt, ptr } ; vtable: hierarchy rooted at %m4.MultipartStorage [begin]
+%sc_vtt__x25_Error = type { %ScrVt } ; vtable: hierarchy rooted at %Error
+%sc_vtt__x25_m6_AssetSource = type { %ScrVt, ptr } ; vtable: hierarchy rooted at %m6.AssetSource [get]
+
+@scr_error_vts = external global [11 x %ScrVt]
+declare void @scr_init()
+declare void @scr_lib_init(i32, ptr)
+declare void @scr_stack_guard_init()
+declare void @scr_runtime_abi_v22()
+declare double @scr_str_utf16_len(ptr)
+declare double @scr_str_char_code_at(ptr, double)
+declare void @scr_str_release(ptr)
+declare ptr @llvm.stacksave.p0()
+declare i1 @llvm.expect.i1(i1, i1)
+declare void @scr_stack_overflow()
+@scr_stack_guard = external global ptr
+declare ptr @scr_bytes_new(i32, double)
+@scr_exc_active = external global ptr
+declare void @scr_bytes_release(ptr)
+declare ptr @scr_arr_peek_ref(ptr, double) memory(read)
+declare void @scr_throw_node_coded(double, ptr, ptr)
+declare ptr @scr_bytes_retain_v(ptr)
+declare void @scr_bytes_release_v(ptr)
+declare void @scr_arr_release(ptr)
+declare ptr @scr_buffer_from_bytes(ptr)
+declare ptr @scr_bytes_as_buffer(ptr)
+declare ptr @scr_bytes_to_str(ptr, ptr)
+; uses @sc_str_char_code_at_int
+declare ptr @scr_str_slice(ptr, double, double)
+declare ptr @scr_str_to_lower(ptr)
+declare double @scr_str_index_of(ptr, ptr, double)
+declare ptr @scr_str_split_limit(ptr, ptr, double)
+declare ptr @scr_str_char_at(ptr, double)
+declare ptr @scr_arr_new_small(i32)
+declare ptr @scr_str_concat_move(ptr, ptr)
+declare double @scr_arr_push_ref(ptr, ptr)
+declare zeroext i1 @scr_dyn_for_in_stable(ptr)
+declare void @scr_dyn_release(ptr)
+declare void @scr_cyc_on_release(ptr)
+declare void @scr_dyn_release_survivor(ptr)
+declare ptr @scr_arr_get_ref(ptr, double)
+declare zeroext i1 @scr_dyn_has_own(ptr, ptr)
+declare void @scr_dyn_check_fail(ptr, ptr, ptr)
+declare ptr @scr_dyn_typed_ref_unbox(ptr)
+declare zeroext i1 @scr_dyn_typed_ref_is(ptr, ptr, i64)
+declare ptr @scr_dyn_typed_ref_materialize(ptr)
+declare ptr @scr_dyn_typed_ref_cached_cast(ptr, ptr, i64)
+declare void @scr_dyn_typed_ref_cache_cast(ptr, ptr, i64, ptr, ptr, ptr, i1)
+declare void @scr_dyn_release_v(ptr)
+declare ptr @scr_str_retain_v(ptr)
+declare void @scr_str_release_v(ptr)
+declare void @scr_map_set_str_ref(ptr, ptr, ptr)
+declare zeroext i1 @scr_dyn_ref_is_array(ptr)
+declare ptr @scr_arr_retain_v(ptr)
+declare void @scr_arr_release_v(ptr)
+declare void @scr_arr_outline(ptr)
+declare void @scr_arr_swap_indexed_ext(ptr, ptr)
+declare ptr @scr_arr_new(i32, i64)
+declare zeroext i1 @scr_dyn_arr_has_index(ptr, i64)
+declare void @scr_arr_set_len(ptr, double)
+declare zeroext i1 @scr_union_get_bool(ptr)
+declare void @scr_union_release(ptr)
+declare ptr @scr_dyn_new_str(ptr)
+declare ptr @scr_dyn_undefined()
+declare ptr @scr_dyn_retain_v(ptr)
+declare ptr @scr_error_new_options(i32, ptr, ptr)
+declare void @scr_error_release(ptr)
+declare ptr @scr_error_retain_v(ptr)
+declare void @scr_error_release_v(ptr)
+declare void @scr_throw_obj(ptr, ptr, ptr, ptr)
+declare void @scr_error_trace(ptr, ptr, ptr)
+declare ptr @scr_dyn_obj_get(ptr, ptr, i64)
+declare ptr @scr_dyn_obj_read(ptr, ptr, i64)
+declare void @scr_record_source_note(ptr, ptr, ptr, ptr, i64)
+declare zeroext i1 @scr_dyn_is_callable(ptr)
+declare ptr @scr_closure_retain_v(ptr)
+declare void @scr_closure_release_v(ptr)
+declare void @scr_closure_trace_v(ptr, ptr, ptr)
+declare ptr @scr_box_get_ref(ptr)
+declare ptr @scr_dyn_call(ptr, ptr, i64, ptr)
+declare i32 @strcmp(ptr, ptr)
+declare ptr @scr_closure_new(ptr, i64)
+declare ptr @scr_box_new_obj(ptr, ptr, ptr)
+declare void @scr_box_set_ref(ptr, ptr)
+declare void @scr_dyn_trace_v(ptr, ptr, ptr)
+declare i32 @scr_dyn_function_kind(ptr)
+declare void @scr_dyn_adopt_identity(ptr, ptr)
+declare ptr @scr_dyn_new_bytes(ptr)
+declare ptr @scr_http_res_retain_v(ptr)
+declare void @scr_http_res_release_v(ptr)
+declare ptr @scr_dyn_handle_unbox(ptr, i32, ptr, ptr)
+declare void @scr_http_res_release(ptr)
+declare ptr @scr_dyn_new_obj()
+declare ptr @scr_dyn_copy_property_descriptors(ptr, ptr)
+declare ptr @scr_str_new(ptr, i64)
+declare void @scr_dyn_key_delete(ptr, ptr, i1 zeroext)
+declare ptr @scr_dyn_set_prototype(ptr, ptr)
+declare void @scr_dyn_obj_set(ptr, ptr, i64, ptr)
+declare ptr @scr_dyn_new_num(double)
+declare ptr @scr_dyn_new_arr()
+declare void @scr_dyn_arr_push(ptr, ptr)
+declare double @scr_arr_len(ptr)
+declare double @scr_arr_state(ptr, double)
+declare void @scr_dyn_arr_push_hole(ptr)
+declare void @scr_arr_copy_metadata(ptr, ptr)
+declare void @scr_arr_set_ref(ptr, double, ptr)
+declare ptr @scr_dyn_new_typed_ref_observed(ptr, ptr, ptr, ptr, i64, ptr, ptr)
+declare void @scr_dyn_typed_ref_bind_array(ptr, ptr)
+declare ptr @scr_dyn_new_bool(i1 zeroext)
+declare ptr @scr_dyn_new_typed_ref_traced(ptr, ptr, ptr, ptr, i64, ptr, ptr)
+declare void @scr_dyn_typed_ref_bind_record(ptr, ptr)
+declare ptr @scr_dyn_new_null()
+declare void @scr_trap(ptr)
+declare zeroext i1 @scr_dyn_bytes_is(ptr, i32)
+declare ptr @scr_dyn_bytes_unbox(ptr)
+declare ptr @scr_dyn_new_func(ptr, ptr, i32, ptr, ptr)
+declare ptr @scr_dyn_new_handle(ptr, i32)
+declare i32 @memcmp(ptr, ptr, i64)
+declare ptr @scr_dyn_new_obj_null_proto()
+declare ptr @scr_map_keys_js_order(ptr)
+declare ptr @scr_map_get_str_ref(ptr, ptr)
+declare ptr @scr_dyn_mark_snapshot(ptr)
+declare void @scr_dyn_this_push_dyn(ptr)
+declare void @scr_dyn_this_pop()
+declare ptr @scr_union_new_ref(i32, ptr, ptr, ptr, ptr)
+declare ptr @scr_union_retain_v(ptr)
+declare void @scr_union_release_v(ptr)
+declare ptr @scr_http_req_retain_v(ptr)
+declare void @scr_http_req_release_v(ptr)
+declare void @scr_http_res_on_finish(ptr, ptr)
+declare ptr @scr_f64_to_scrstr(double)
+declare void @scr_box_release(ptr)
+declare void @scr_http_req_release(ptr)
+declare double @scr_arr_push_f64(ptr, double)
+declare void @scr_arr_trace_v(ptr, ptr, ptr)
+declare ptr @scr_arr_new_ops(ptr, i64)
+@sc_arrops.sc_retain__x25_m4_UploadedFile.sc_release__x25_m4_UploadedFile.sc_trace__x25_m4_UploadedFile = internal constant %ScrArrOps { ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_trace__x25_m4_UploadedFile }
+declare double @scr_arr_get_f64(ptr, double)
+declare void @scr_arr_set_f64(ptr, double, double)
+declare void @scr_dyn_typed_ref_bind_class(ptr, ptr)
+declare ptr @scr_box_new(i32)
+declare void @scr_net_data_thunk_bytes(ptr, ptr)
+declare void @scr_http_req_on_data(ptr, ptr, ptr, i1 zeroext)
+declare void @scr_union_trace_v(ptr, ptr, ptr)
+declare void @scr_http_req_on_end(ptr, ptr, i1 zeroext)
+declare ptr @scr_bytes_from_str(ptr, ptr)
+declare ptr @scr_str_concat(ptr, ptr)
+declare ptr @scr_union_new_f64(i32, double)
+declare double @scr_arr_get_number(ptr, double)
+declare zeroext i1 @scr_str_eq(ptr, ptr)
+declare void @scr_arr_set_undefined(ptr, double)
+declare double @llvm.ceil.f64(double)
+declare ptr @scr_arr_new_ops_small(ptr)
+@sc_arrops.sc_rretain_r16.sc_rrelease_r16.null = internal constant %ScrArrOps { ptr @sc_rretain_r16, ptr @sc_rrelease_r16, ptr null }
+declare zeroext i1 @scr_map_get_str_f64(ptr, ptr, ptr)
+declare void @scr_map_set_str_f64(ptr, ptr, double)
+declare ptr @scr_http_req_url(ptr)
+declare ptr @scr_arr_join(ptr, ptr)
+declare ptr @scr_dyn_from_error(ptr)
+declare ptr @scr_exc_take()
+declare void @scr_caught_release(ptr)
+declare ptr @scr_str_decode_uri_component(ptr)
+declare void @scr_throw_error_msg_code(i32, ptr, i64, ptr)
+@sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v = internal constant %ScrArrOps { ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v }
+declare void @scr_closure_release(ptr)
+@sc_arrops.sc_rretain_r17.sc_rrelease_r17.null = internal constant %ScrArrOps { ptr @sc_rretain_r17, ptr @sc_rrelease_r17, ptr null }
+@sc_arrops.sc_rretain_r5.sc_rrelease_r5.null = internal constant %ScrArrOps { ptr @sc_rretain_r5, ptr @sc_rrelease_r5, ptr null }
+@sc_arrops.scr_arr_retain_v.scr_arr_release_v.scr_arr_trace_v = internal constant %ScrArrOps { ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @scr_arr_trace_v }
+@sc_arrops.sc_retain__x25_m5_MpCfg.sc_release__x25_m5_MpCfg.sc_trace__x25_m5_MpCfg = internal constant %ScrArrOps { ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_trace__x25_m5_MpCfg }
+declare ptr @scr_promise_retain_v(ptr)
+declare void @scr_promise_release_v(ptr)
+declare void @scr_promise_trace_v(ptr, ptr, ptr)
+declare ptr @scr_promise_retain(ptr)
+declare ptr @scr_promise_new()
+declare void @scr_promise_race_add(ptr, ptr, ptr)
+declare void @scr_promise_share_identity(ptr, ptr)
+declare ptr @scr_promise_payload_ref(ptr)
+declare void @scr_promise_reject_pending(ptr)
+declare void @scr_promise_fulfill_bool(ptr, i1 zeroext)
+declare void @scr_net_sock_release(ptr)
+declare ptr @scr_dyn_new_promise_adapting(ptr, ptr)
+declare void @scr_promise_fulfill_ref(ptr, ptr, ptr, ptr, ptr)
+declare zeroext i1 @scr_promise_payload_bool(ptr)
+declare void @scr_promise_release(ptr)
+declare ptr @scr_net_sock_retain_v(ptr)
+declare void @scr_net_sock_release_v(ptr)
+declare double @scr_union_get_f64(ptr)
+declare ptr @scr_str_concat_parts(ptr, i64)
+declare zeroext i1 @scr_dyn_strict_eq(ptr, ptr)
+declare ptr @scr_await_dyn_value(ptr)
+declare ptr @scr_make_resolve(ptr, i32)
+declare void @scr_promise_run_executor(ptr, ptr, ptr)
+declare double @scr_str_last_index_of(ptr, ptr)
+declare ptr @scr_str_concat_f64(ptr, double)
+declare double @scr_date_new_ms(double)
+declare double @scr_date_get_day_utc(double)
+declare double @scr_date_get_month_utc(double)
+declare double @scr_date_get_date_utc(double)
+declare double @scr_date_get_full_year_utc(double)
+declare double @scr_date_get_hours_utc(double)
+declare double @scr_date_get_minutes_utc(double)
+declare double @scr_date_get_seconds_utc(double)
+declare ptr @scr_str_concat_mixed(ptr, ptr, ptr, i64)
+declare ptr @scr_str_trim(ptr)
+declare zeroext i1 @scr_str_starts_with(ptr, ptr)
+declare void @scr_http_res_status_set(ptr, double)
+declare void @scr_http_res_set_header(ptr, ptr, ptr)
+declare void @scr_http_res_end_str(ptr, ptr)
+declare void @scr_http_res_end_bytes(ptr, ptr)
+declare void @scr_http_res_end(ptr)
+declare void @scr_http_res_write_str(ptr, ptr)
+declare void @scr_http_res_write_head_pairs(ptr, double, ptr)
+declare void @scr_http_res_flush_headers(ptr)
+declare zeroext i1 @scr_http_res_headers_sent(ptr)
+declare void @scr_http_res_destroy(ptr)
+declare ptr @scr_dyn_string_coerce_js(ptr)
+@sc_arrops.sc_rretain_r18.sc_rrelease_r18.null = internal constant %ScrArrOps { ptr @sc_rretain_r18, ptr @sc_rrelease_r18, ptr null }
+declare void @scr_dyn_key_set(ptr, ptr, ptr)
+declare void @scr_dyn_key_set_computed(ptr, ptr, ptr)
+declare ptr @scr_fetch_stream_new(ptr)
+declare ptr @scr_fetch_response_new(ptr, ptr)
+declare ptr @scr_dyn_obj_key_strs(ptr)
+declare ptr @scr_http_req_method(ptr)
+declare void @scr_child_err_thunk0(ptr, ptr)
+declare void @scr_http_req_on_error(ptr, ptr, ptr, i1 zeroext)
+declare ptr @scr_make_reject(ptr)
+declare void @scr_promise_run_executor2(ptr, ptr, ptr, ptr)
+declare ptr @scr_make_resolve_fn(ptr, ptr)
+declare void @scr_resolve_ref_impl(ptr, ptr, ptr, ptr, ptr)
+declare ptr @scr_fetch_headers_new(ptr)
+declare ptr @scr_fetch_request_new(ptr, ptr)
+declare void @scr_http_res_write_head(ptr, double)
+declare ptr @scr_json_parse(ptr)
+declare ptr @scr_json_stringify_replacer(ptr, ptr, ptr)
+declare void @scr_jb_init(ptr)
+declare ptr @scr_jb_finish(ptr)
+declare void @scr_jb_putc(ptr, i8)
+declare void @scr_jb_puts(ptr, ptr)
+declare void @scr_dyn_proxy_unsupported(ptr)
+declare ptr @scr_dyn_typed_ref_string_view(ptr)
+declare void @scr_jb_write_utf8(ptr, ptr, i64)
+declare ptr @scr_bigint_to_string(ptr, double)
+declare void @scr_jb_put_str(ptr, ptr)
+declare ptr @scr_dyn_string_coerce(ptr)
+declare void @scr_jb_put_number(ptr, double)
+declare ptr @scr_bytes_join(ptr, ptr)
+declare ptr @scr_dyn_to_string(ptr, ptr)
+declare void @scr_error_init_options(ptr, i32, ptr, ptr)
+declare ptr @scr_union_new_bool(i32, i1 zeroext)
+declare ptr @scr_str_to_upper(ptr)
+declare void @scr_http_handler_thunk2(ptr, ptr, ptr)
+declare ptr @scr_http_create_server(ptr, ptr)
+declare ptr @scr_net_server_retain_v(ptr)
+declare void @scr_net_server_release_v(ptr)
+declare void @scr_net_listen(ptr, double, ptr)
+declare void @scr_net_server_release(ptr)
+declare void @scr_net_listen_opts(ptr, double, ptr, i1 zeroext, ptr)
+declare ptr @scr_url_new(ptr)
+declare void @scr_url_release(ptr)
+declare ptr @scr_url_retain_v(ptr)
+declare void @scr_url_release_v(ptr)
+declare ptr @scr_url_pathname(ptr)
+declare ptr @scr_url_search(ptr)
+declare void @scr_dyn_this_push_typed(ptr, ptr)
+declare void @scr_await_hop()
+declare void @scr_await_void(ptr)
+declare ptr @scr_await_str(ptr)
+@sc_arrops.sc_rretain_r11.sc_rrelease_r11.null = internal constant %ScrArrOps { ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr null }
+declare ptr @scr_buffer_from_str(ptr, ptr)
+@sc_arrops.sc_rretain_r10.sc_rrelease_r10.null = internal constant %ScrArrOps { ptr @sc_rretain_r10, ptr @sc_rrelease_r10, ptr null }
+declare double @scr_arr_push_many(ptr, i64, ptr)
+@sc_arrops.sc_rretain_r13.sc_rrelease_r13.null = internal constant %ScrArrOps { ptr @sc_rretain_r13, ptr @sc_rrelease_r13, ptr null }
+@sc_arrops.sc_rretain_r14.sc_rrelease_r14.null = internal constant %ScrArrOps { ptr @sc_rretain_r14, ptr @sc_rrelease_r14, ptr null }
+declare ptr @scr_dyn_new_promise(ptr)
+declare zeroext i1 @scr_dyn_typed_ref_is_key(ptr, ptr) memory(read)
+declare ptr @scr_dyn_this_get()
+declare ptr @scr_dyn_obj_create(ptr)
+declare void @scr_closure_adopt_identity(ptr, ptr, i32)
+declare ptr @scr_record_source_apply(ptr, ptr)
+declare ptr @scr_error_new(i32, ptr)
+declare void @scr_throw_str(ptr)
+declare void @scr_net_sock_destroy(ptr)
+declare zeroext i1 @scr_map_has_str(ptr, ptr)
+declare ptr @scr_promise_payload_str(ptr)
+declare void @scr_http_res_write_bytes(ptr, ptr)
+declare void @scr_throw_error_named(ptr, ptr)
+declare ptr @scr_await_ref(ptr)
+declare ptr @scr_fetch_reader_read(ptr)
+declare ptr @scr_bytes_from_dyn(i32, ptr, i1 zeroext)
+declare zeroext i1 @scr_await_bool(ptr)
+declare void @scr_promise_fulfill_void(ptr)
+declare ptr @scr_dyn_prepare_method(ptr, ptr)
+declare ptr @scr_dyn_invoke_prepared(ptr, ptr, ptr, ptr, i64, ptr)
+declare zeroext i1 @scr_http_res_writable_ended(ptr)
+declare void @scr_dyn_from_enter(ptr)
+declare void @scr_dyn_from_leave()
+declare void @scr_promise_fulfill_str(ptr, ptr)
+declare ptr @scr_http_req_header_pairs(ptr)
+declare void @scr_bytes_set_from_dyn(ptr, ptr, double)
+declare ptr @scr_array_buffer_from_bytes(ptr)
+declare void @scr_child_err_thunk_error(ptr, ptr)
+declare ptr @scr_http_req_header_values(ptr, ptr)
+declare zeroext i1 @scr_dyn_has_key(ptr, ptr)
+declare void @scr_http_req_destroy(ptr)
+declare zeroext i1 @scr_caught_instanceof(ptr, i64, i64)
+declare zeroext i1 @scr_error_is(ptr)
+declare ptr @scr_dyn_bag_get(ptr, ptr, ptr)
+declare void @scr_throw_error(i32, ptr)
+declare ptr @scr_dyn_symbol_get(ptr, ptr)
+declare ptr @scr_dyn_typed_ref_key_get(ptr, ptr)
+declare ptr @scr_dyn_proxy_get(ptr, ptr)
+declare ptr @scr_dyn_handle_key_get(ptr, ptr)
+declare ptr @scr_dyn_bytes_key_get(ptr, ptr)
+declare ptr @scr_dyn_fn_get(ptr, ptr, i64)
+declare ptr @scr_dyn_arr_named_get(ptr, ptr)
+declare ptr @scr_dyn_obj_read_ic(ptr, ptr, ptr)
+declare ptr @scr_dyn_for_in_key_strs(ptr)
+declare ptr @scr_dyn_define_property(ptr, ptr, ptr)
+declare void @scr_dyn_bag_set(ptr, ptr, ptr, ptr)
+declare ptr @scr_arr_borrow_ref(ptr, double)
+declare ptr @scr_errdyn_err_of(ptr)
+declare ptr @scr_error_from_dyn(ptr)
+declare ptr @scr_error_to_string(ptr)
+declare void @scr_error_install_name_reader(ptr)
+declare void @scr_error_install_message_reader(ptr)
+declare void @scr_error_commit_dyn(ptr, ptr)
+declare ptr @scr_error_dyn_fields(ptr)
+declare void @scr_error_register_dyn(ptr, ptr)
+declare void @scr_map_release(ptr)
+@scr_sa = external global { i64, i64, i32, [40 x ptr], [40 x ptr], [40 x ptr] }
+declare void @scr_rt_free(ptr)
+@scr_weak_dispose_hook = external global ptr
+declare void @scr_rc_destroy(ptr, ptr)
+declare void @llvm.memset.p0.i64(ptr, i8, i64, i1)
+declare ptr @scr_rt_calloc(i64)
+declare ptr @scr_map_new(i32, i32, ptr)
+@scr_cyc_live = external global i64
+@scr_cyc_old_freed = external global i64
+declare void @scr_cyc_on_dead(ptr)
+declare ptr @scr_cyc_alloc(i64, ptr)
+declare ptr @llvm.launder.invariant.group.p0(ptr)
+declare ptr @scr_fiber_promise(ptr)
+declare ptr @scr_async_spawn(ptr, ptr)
+declare void @scr_promise_resolve_dyn(ptr, ptr)
+declare void @scr_net_install()
+declare void @scr_net_dyn_install()
+declare void @scr_http_dyn_install()
+declare void @scr_fetch_install()
+declare i32 @scr_exit_code_hint_get()
+declare void @scr_classobj_release_v(ptr)
+declare zeroext i1 @scr_exit_frees()
+declare zeroext i1 @scr_exc_pending()
+declare zeroext i1 @scr_loop_run(ptr)
+declare zeroext i1 @scr_report_unhandled_rejections()
+declare void @scr_discard_unhandled_rejections()
+
+@sc_dyn_read_ic_0 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_1 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_2 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_3 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_4 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_5 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_6 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_7 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_8 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_9 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_10 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_11 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_12 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_13 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_14 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_15 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_16 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_17 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_18 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_19 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_20 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_21 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_22 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_23 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_24 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_25 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_26 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_27 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_28 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_29 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_30 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_31 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_32 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_33 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_34 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_35 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_36 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_37 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_38 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_39 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_40 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_41 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_42 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_43 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_44 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_45 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_46 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_47 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_48 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_49 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_50 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_51 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_52 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_53 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_54 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_55 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_56 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_57 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_58 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_59 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_60 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_61 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_62 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_63 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_64 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_65 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_66 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_67 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_68 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_69 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_70 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_71 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_72 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_73 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_74 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_75 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_76 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_77 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_78 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_79 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_80 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_dyn_read_ic_81 = internal global { ptr, i64, i64, ptr } zeroinitializer
+@sc_lit_4005573543169985 = internal global { i64, i64, i64, [1 x i8] } { i64 -1, i64 0, i64 -7404650515260243968, [1 x i8] c"\00" }
+@sc_lit_4107821909168032 = internal global { i64, i64, i64, [55 x i8] } { i64 -1, i64 54, i64 -3694998819738484682, [55 x i8] c"Cannot read properties of undefined (reading 'length')\00" }
+@sc_lit_2020303780781407 = internal global { i64, i64, i64, [104 x i8] } { i64 -1, i64 103, i64 -1949212987508129689, [104 x i8] c"undefined is not representable in the target union (a value narrowed or asserted past it still held it)\00" }
+@sc_lit_2605532998565466 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -3660853000806596604, [5 x i8] c"utf8\00" }
+@sc_lit_1841737023330611 = internal global { i64, i64, i64, [20 x i8] } { i64 -1, i64 19, i64 -7893483575264149485, [20 x i8] c"multipart/form-data\00" }
+@sc_lit_1156138064653313 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -3893401930579312639, [2 x i8] c";\00" }
+@sc_lit_4134463689533233 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -1641439114295246839, [10 x i8] c"undefined\00" }
+@sc_lit_985787530504786 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 1742002805708685313, [2 x i8] c"=\00" }
+@sc_lit_2587508618302557 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 8442843848433991688, [9 x i8] c"boundary\00" }
+@sc_lit_2431234921623602 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -2079933521207492607, [2 x i8] c"\22\00" }
+@sc_lit_3440635113177870 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 2847162581766897673, [10 x i8] c"form-data\00" }
+@sc_lit_2298207874780604 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4159225165995048956, [5 x i8] c"name\00" }
+@sc_lit_4388468866828680 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -1447303461484888056, [9 x i8] c"filename\00" }
+@sc_lit_1429160018462538 = internal global { i64, i64, i64, [85 x i8] } { i64 -1, i64 84, i64 -149219060922449836, [85 x i8] c"chttp: body and multipart are mutually exclusive \E2\80\94 multipart owns the request body\00" }
+@sc_lit_2725580638052193 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 5457393737179070468, [5 x i8] c"POST\00" }
+@sc_lit_2541794298493390 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -2964098237541122045, [4 x i8] c"PUT\00" }
+@sc_lit_2494668324074259 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 4695132669585915909, [6 x i8] c"PATCH\00" }
+@sc_lit_1791854776991212 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -59260891450834938, [7 x i8] c"DELETE\00" }
+@sc_lit_127274431826284 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -4059416620026560506, [7 x i8] c"status\00" }
+@sc_lit_616655122974952 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4178549482285170692, [5 x i8] c"body\00" }
+@sc_lit_977412068193087 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 2617251895785291783, [8 x i8] c"headers\00" }
+@sc_lit_3739322700708094 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 717552590493057031, [8 x i8] c"enqueue\00" }
+@sc_lit_863112869792180 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 3573632411277197317, [6 x i8] c"close\00" }
+@sc_lit_3158732916179886 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -3329590295049273334, [11 x i8] c"connection\00" }
+@sc_lit_2329537264393449 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 3204576780748849164, [13 x i8] c"content-type\00" }
+@sc_lit_266676967674785 = internal global { i64, i64, i64, [26 x i8] } { i64 -1, i64 25, i64 4190957724407693337, [26 x i8] c"text/plain; charset=UTF-8\00" }
+@sc_lit_1821151629374802 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 -5437581568438697970, [15 x i8] c"content-length\00" }
+@sc_lit_4006719217465510 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 -735375811418259445, [12 x i8] c"constructor\00" }
+@sc_lit_2855033600191636 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 3294304797955457036, [13 x i8] c"UploadedFile\00" }
+@sc_lit_3781840126626301 = internal global { i64, i64, i64, [29 x i8] } { i64 -1, i64 28, i64 -5585948602338901988, [29 x i8] c"Expected multipart/form-data\00" }
+@sc_lit_4115635896617439 = internal global { i64, i64, i64, [56 x i8] } { i64 -1, i64 55, i64 -7192256389538906057, [56 x i8] c"Cannot read properties of undefined (reading 'storage')\00" }
+@sc_lit_4404486281179211 = internal global { i64, i64, i64, [54 x i8] } { i64 -1, i64 53, i64 -7612524625989205963, [54 x i8] c"Cannot read properties of undefined (reading 'maxFB')\00" }
+@sc_lit_2221506895226493 = internal global { i64, i64, i64, [54 x i8] } { i64 -1, i64 53, i64 -8620781762231926731, [54 x i8] c"Cannot read properties of undefined (reading 'maxNF')\00" }
+@sc_lit_4219913910401315 = internal global { i64, i64, i64, [56 x i8] } { i64 -1, i64 55, i64 7108637130087202871, [56 x i8] c"Cannot read properties of undefined (reading 'maxFldB')\00" }
+@sc_lit_4062729090063393 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 2202875461111906309, [6 x i8] c"begin\00" }
+@sc_lit_2124241381879535 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 8886550000591437835, [12 x i8] c"DiskStorage\00" }
+@sc_lit_298897322184109 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 4528900122217545733, [6 x i8] c"write\00" }
+@sc_lit_952059176356082 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 3678520297239085059, [4 x i8] c"end\00" }
+@sc_lit_1026109439396001 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 6510957611548934149, [6 x i8] c"abort\00" }
+@sc_lit_1048673592241930 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 5014509783495999492, [5 x i8] c"file\00" }
+@sc_lit_1045032922576089 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 52577922338258956, [13 x i8] c"DiskFileSink\00" }
+@sc_lit_2434240011052594 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 6296885218766749697, [2 x i8] c"/\00" }
+@sc_lit_1079256549531276 = internal global { i64, i64, i64, [36 x i8] } { i64 -1, i64 35, i64 -7823891185079943133, [36 x i8] c"chttp: route path must start with /\00" }
+@sc_lit_1834571860458263 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -2660512404118437887, [2 x i8] c"*\00" }
+@sc_lit_109329900898828 = internal global { i64, i64, i64, [48 x i8] } { i64 -1, i64 47, i64 4498651071278743599, [48 x i8] c"chttp: * wildcard must be the last path segment\00" }
+@sc_lit_4075616746236128 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -8100878621045948415, [2 x i8] c":\00" }
+@sc_lit_3545740730868640 = internal global { i64, i64, i64, [29 x i8] } { i64 -1, i64 28, i64 7778726576010559516, [29 x i8] c"chttp: empty :param name in \00" }
+@sc_lit_3084778991795209 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 8147135861205499956, [53 x i8] c"Cannot read properties of undefined (reading 'kind')\00" }
+@sc_lit_180082455986257 = internal global { i64, i64, i64, [52 x i8] } { i64 -1, i64 51, i64 8823669759527616563, [52 x i8] c"Cannot read properties of undefined (reading 'seg')\00" }
+@sc_lit_2399462614592355 = internal global { i64, i64, i64, [57 x i8] } { i64 -1, i64 56, i64 7824491329450147896, [57 x i8] c"Cannot read properties of undefined (reading 'children')\00" }
+@sc_lit_2156830633837320 = internal global { i64, i64, i64, [51 x i8] } { i64 -1, i64 50, i64 6652432472774541362, [51 x i8] c"Cannot read properties of undefined (reading 'hf')\00" }
+@sc_lit_1390182173853979 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 -6834477805531561932, [53 x i8] c"Cannot read properties of undefined (reading 'node')\00" }
+@sc_lit_1639075665038257 = internal global { i64, i64, i64, [52 x i8] } { i64 -1, i64 51, i64 -8463407791069986765, [52 x i8] c"Cannot read properties of undefined (reading 'pos')\00" }
+@sc_lit_4226955055047009 = internal global { i64, i64, i64, [51 x i8] } { i64 -1, i64 50, i64 -7667072136577548238, [51 x i8] c"Cannot read properties of undefined (reading 'hm')\00" }
+@sc_lit_3185835515143599 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4305643079311818756, [5 x i8] c"HEAD\00" }
+@sc_lit_367446482893939 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 5815915286104113155, [4 x i8] c"GET\00" }
+@sc_lit_1778054279894 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -5959337283638263799, [10 x i8] c"Not Found\00" }
+@sc_lit_1613346130462307 = internal global { i64, i64, i64, [39 x i8] } { i64 -1, i64 38, i64 6753914514095210534, [39 x i8] c"GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS\00" }
+@sc_lit_2437473434951379 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -7739841015854399487, [2 x i8] c"?\00" }
+@sc_lit_3662817572149066 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 912161157857411073, [2 x i8] c",\00" }
+@sc_lit_1143527378875226 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 8057298872088657925, [6 x i8] c"allow\00" }
+@sc_lit_176469025513879 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 1403018212609622018, [3 x i8] c", \00" }
+@sc_lit_1386027184562237 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -2111464194682388478, [3 x i8] c"18\00" }
+@sc_lit_4003541287264371 = internal global { i64, i64, i64, [19 x i8] } { i64 -1, i64 18, i64 520624577580105746, [19 x i8] c"Method Not Allowed\00" }
+@sc_lit_1957914011051515 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 1200522749554982914, [3 x i8] c"21\00" }
+@sc_lit_4012553578658412 = internal global { i64, i64, i64, [22 x i8] } { i64 -1, i64 21, i64 -694806164520566763, [22 x i8] c"Internal Server Error\00" }
+@sc_lit_2869227738459631 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 3568042747564654593, [2 x i8] c"+\00" }
+@sc_lit_961653900088760 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 2416086386533728257, [2 x i8] c" \00" }
+@sc_lit_2573344890364836 = internal global { i64, i64, i64, [21 x i8] } { i64 -1, i64 20, i64 6798688027737587732, [21 x i8] c"mw is not a function\00" }
+@sc_lit_1410221948126323 = internal global { i64, i64, i64, [50 x i8] } { i64 -1, i64 49, i64 -518393762976628687, [50 x i8] c"Cannot read properties of undefined (reading 'i')\00" }
+@sc_lit_4291706737594396 = internal global { i64, i64, i64, [50 x i8] } { i64 -1, i64 49, i64 1384050163856703537, [50 x i8] c"Cannot read properties of undefined (reading 'a')\00" }
+@sc_lit_4121162754829271 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -6593906804562853885, [4 x i8] c"seg\00" }
+@sc_lit_196246007442230 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 3336346123987058692, [5 x i8] c"kind\00" }
+@sc_lit_291439443305035 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 6743991649287798792, [9 x i8] c"children\00" }
+@sc_lit_3240132313272141 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -117344762146586622, [3 x i8] c"hm\00" }
+@sc_lit_1774234212108265 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -652560471060119550, [3 x i8] c"hf\00" }
+@sc_lit_2780507335947153 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 2844528302230601733, [6 x i8] c"MpCfg\00" }
+@sc_lit_3073289709162707 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -8808522492206383099, [6 x i8] c"names\00" }
+@sc_lit_621103891786213 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 5460321354391748612, [5 x i8] c"idxs\00" }
+@sc_lit_2193851355834945 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -4276385787861270523, [6 x i8] c"splat\00" }
+@sc_lit_1988484489435674 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -5887676243930775529, [24 x i8] c"chain is not a function\00" }
+@sc_lit_3618831577556636 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -7234068875418009599, [2 x i8] c".\00" }
+@sc_lit_1687538661063814 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -6793499934877286399, [2 x i8] c"0\00" }
+@sc_lit_2009709968767209 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -6070542761549889532, [5 x i8] c" GMT\00" }
+@sc_lit_2975638646761949 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -7011171067871887359, [2 x i8] c"\5C\00" }
+@sc_lit_1938716995091255 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -3476220779182424063, [2 x i8] c"\00\00" }
+@sc_lit_1666994892967735 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -3538545655205068798, [3 x i8] c"..\00" }
+@sc_lit_2770123098238102 = internal global { i64, i64, i64, [55 x i8] } { i64 -1, i64 54, i64 -3771844340238778314, [55 x i8] c"Cannot read properties of undefined (reading 'charAt')\00" }
+@sc_lit_438854160789283 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 848961779248660491, [12 x i8] c".well-known\00" }
+@sc_lit_1511482959134555 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 8723638072828231732, [53 x i8] c"Cannot read properties of undefined (reading 'trim')\00" }
+@sc_lit_3124163672232319 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 7426952820139491330, [3 x i8] c"W/\00" }
+@sc_lit_1344306789531462 = internal global { i64, i64, i64, [56 x i8] } { i64 -1, i64 55, i64 4802429658538704951, [56 x i8] c"Cannot read properties of undefined (reading 'indexOf')\00" }
+@sc_lit_1153253657065408 = internal global { i64, i64, i64, [54 x i8] } { i64 -1, i64 53, i64 -6137634853702598603, [54 x i8] c"Cannot read properties of undefined (reading 'slice')\00" }
+@sc_lit_2459074672043502 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 8279321610112991234, [3 x i8] c"q=\00" }
+@sc_lit_2083437452017534 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 5241175810664038402, [3 x i8] c"/*\00" }
+@sc_lit_2431203152239253 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 4345341736906653706, [11 x i8] c"/api/hello\00" }
+@sc_lit_2988681134725684 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 2929588484555407366, [7 x i8] c"SC2020\00" }
+@sc_lit_575912859096207 = internal global { i64, i64, i64, [74 x i8] } { i64 -1, i64 73, i64 6671814930036949065, [74 x i8] c"repeated super() calls require a fresh receiver and are not supported yet\00" }
+@sc_lit_2754504371456911 = internal global { i64, i64, i64, [107 x i8] } { i64 -1, i64 106, i64 8712711684617142378, [107 x i8] c"Must call super constructor in derived class before accessing 'this' or returning from derived constructor\00" }
+@sc_lit_4062345987786846 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 732243959920721928, [9 x i8] c"location\00" }
+@sc_lit_3120000046228632 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -924298121255583734, [11 x i8] c"hs.forEach\00" }
+@sc_lit_3343942521330690 = internal global { i64, i64, i64, [60 x i8] } { i64 -1, i64 59, i64 5872187719983038523, [60 x i8] c"Cannot read properties of undefined (reading 'toLowerCase')\00" }
+@sc_lit_3605103414985721 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -7058678766284832763, [6 x i8] c"start\00" }
+@sc_lit_799419648406123 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 -7746054901523808255, [2 x i8] c"x\00" }
+@sc_lit_2472641820270753 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 3717691094763307015, [8 x i8] c"http://\00" }
+@sc_lit_516698931398762 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 8923322488377573387, [12 x i8] c"lit.forEach\00" }
+@sc_lit_1609576561362083 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 6311548378849214470, [7 x i8] c"method\00" }
+@sc_lit_1063589473929964 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 7040350680543920134, [7 x i8] c"duplex\00" }
+@sc_lit_2834188894379107 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 2213179426957426692, [5 x i8] c"half\00" }
+@sc_lit_2009491016346793 = internal global { i64, i64, i64, [21 x i8] } { i64 -1, i64 20, i64 2987212213929902100, [21 x i8] c"view.headers.forEach\00" }
+@sc_lit_3801384199701540 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -7348724504853479422, [3 x i8] c"--\00" }
+@sc_lit_2818555132652292 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -7524787132850765820, [5 x i8] c"\0D\0A--\00" }
+@sc_lit_3864033475009977 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4317690471167033348, [5 x i8] c"\0D\0A\0D\0A\00" }
+@sc_lit_537030291697444 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 -2644458950237356008, [25 x i8] c"application/octet-stream\00" }
+@sc_lit_2229191734301658 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -8327049026167898110, [3 x i8] c"\0D\0A\00" }
+@sc_lit_1256688351795902 = internal global { i64, i64, i64, [20 x i8] } { i64 -1, i64 19, i64 6948560275876347923, [20 x i8] c"content-disposition\00" }
+@sc_lit_3079743157731287 = internal global { i64, i64, i64, [50 x i8] } { i64 -1, i64 49, i64 2172091862838411313, [50 x i8] c"Cannot read properties of undefined (reading '0')\00" }
+@sc_lit_2785427721493019 = internal global { i64, i64, i64, [54 x i8] } { i64 -1, i64 53, i64 6033060732281552949, [54 x i8] c"Cannot read properties of undefined (reading 'field')\00" }
+@sc_lit_2623284121860687 = internal global { i64, i64, i64, [2 x i8] } { i64 -1, i64 1, i64 4734749340550037505, [2 x i8] c"&\00" }
+@sc_lit_1197604288682806 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 6018769353158164482, [3 x i8] c"{}\00" }
+@sc_lit_2043119860907636 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 2549517525633204228, [5 x i8] c"null\00" }
+@sc_lit_2488658682239846 = internal global { i64, i64, i64, [32 x i8] } { i64 -1, i64 31, i64 -466470623435030497, [32 x i8] c"application/json; charset=utf-8\00" }
+@sc_lit_1657010753210616 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 4413148799380226072, [25 x i8] c"text/html; charset=utf-8\00" }
+@sc_lit_4450054087841968 = internal global { i64, i64, i64, [22 x i8] } { i64 -1, i64 21, i64 -4211222629945704427, [22 x i8] c"MethodNotAllowedError\00" }
+@sc_lit_1295387805544367 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 9159764810299080711, [8 x i8] c"storage\00" }
+@sc_lit_2659449979257915 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 4807041375377817612, [13 x i8] c"maxFileBytes\00" }
+@sc_lit_2882770253409103 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -4041209270111305720, [9 x i8] c"maxFiles\00" }
+@sc_lit_2857538079689091 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -1512494330529447923, [14 x i8] c"maxFieldBytes\00" }
+@sc_lit_2277266704045385 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -9124327103859261431, [10 x i8] c"multipart\00" }
+@sc_lit_3671383252271314 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -3094627078260129785, [8 x i8] c"OPTIONS\00" }
+@sc_lit_2214377447145268 = internal global { i64, i64, i64, [85 x i8] } { i64 -1, i64 84, i64 7007855685979340884, [85 x i8] c"chttp: route contract version mismatch \E2\80\94 dispatch was generated against contract v\00" }
+@sc_lit_4475575820732057 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 -5430888244159971306, [23 x i8] c", runtime implements v\00" }
+@sc_lit_3865233613737149 = internal global { i64, i64, i64, [86 x i8] } { i64 -1, i64 85, i64 -5479711001429409707, [86 x i8] c". Regenerate .chttp/*.gen.ts (upgrade @chttp/unplugin to match chttp) or align chttp.\00" }
+@sc_lit_1244221778433949 = internal global { i64, i64, i64, [91 x i8] } { i64 -1, i64 90, i64 768823416844189786, [91 x i8] c"chttp: route contract version mismatch \E2\80\94 fetch dispatch was generated against contract v\00" }
+@sc_lit_1405960170658013 = internal global { i64, i64, i64, [92 x i8] } { i64 -1, i64 91, i64 953981022490329179, [92 x i8] c". Regenerate .chttp/*.gen.fetch.ts (upgrade @chttp/unplugin to match chttp) or align chttp.\00" }
+@sc_lit_3133033490855518 = internal global { i64, i64, i64, [99 x i8] } { i64 -1, i64 98, i64 66643377591943266, [99 x i8] c"null is not representable in the target union (a value narrowed or asserted past it still held it)\00" }
+@sc_lit_4363421500237166 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 4435869404009332747, [12 x i8] c"webReq.text\00" }
+@sc_lit_2357048268411583 = internal global { i64, i64, i64, [51 x i8] } { i64 -1, i64 50, i64 2755471292059615282, [51 x i8] c"Cannot read properties of undefined (reading 'on')\00" }
+@sc_lit_857116979092563 = internal global { i64, i64, i64, [52 x i8] } { i64 -1, i64 51, i64 8424962430701928499, [52 x i8] c"Cannot read properties of undefined (reading 'b64')\00" }
+@sc_lit_969367790913322 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -8679678099006160890, [7 x i8] c"base64\00" }
+@sc_lit_4183713241952410 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 4547310667035574324, [53 x i8] c"Cannot read properties of undefined (reading 'type')\00" }
+@sc_lit_3442096346492231 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 -8675589049622200268, [53 x i8] c"Cannot read properties of undefined (reading 'etag')\00" }
+@sc_lit_2826121043263175 = internal global { i64, i64, i64, [56 x i8] } { i64 -1, i64 55, i64 -7321874615586783177, [56 x i8] c"Cannot read properties of undefined (reading 'mtimeMs')\00" }
+@sc_lit_353569185054010 = internal global { i64, i64, i64, [58 x i8] } { i64 -1, i64 57, i64 -1517246595878354887, [58 x i8] c"Cannot read properties of undefined (reading 'immutable')\00" }
+@sc_lit_3568813316433808 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 8127539222513975348, [53 x i8] c"Cannot read properties of undefined (reading 'encs')\00" }
+@sc_lit_1931307417657380 = internal global { i64, i64, i64, [52 x i8] } { i64 -1, i64 51, i64 -6044314341166022605, [52 x i8] c"Cannot read properties of undefined (reading 'enc')\00" }
+@sc_lit_1683535768246717 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -2135127557517869053, [4 x i8] c"enc\00" }
+@sc_lit_4445240590403708 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4764587852744884220, [5 x i8] c"etag\00" }
+@sc_lit_334509345124372 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -7926286954923032572, [5 x i8] c"type\00" }
+@sc_lit_3603975379547098 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 784495986583011332, [5 x i8] c"size\00" }
+@sc_lit_2067668976369489 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -3780952020253409273, [8 x i8] c"mtimeMs\00" }
+@sc_lit_1096813006725504 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -5612894346685710327, [10 x i8] c"immutable\00" }
+@sc_lit_2538166612030291 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -7625554800851025911, [10 x i8] c"encodings\00" }
+@sc_lit_1717987091626096 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 5167487383184080948, [53 x i8] c"Cannot read properties of undefined (reading 'path')\00" }
+@sc_lit_1973266751196475 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 2648535196323807236, [5 x i8] c"/api\00" }
+@sc_lit_258747939448200 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 3505845105653186570, [11 x i8] c"index.html\00" }
+@sc_lit_2351619124253283 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -5911298508224200696, [9 x i8] c"no-cache\00" }
+@sc_lit_731773075116702 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -446187378386665469, [4 x i8] c"get\00" }
+@sc_lit_411633604077632 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -8943945564123299831, [10 x i8] c"_variants\00" }
+@sc_lit_1662472325369337 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 8036725978740817930, [11 x i8] c"DiskAssets\00" }
+@sc_lit_1113611553843547 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 2307355119022243848, [9 x i8] c"c.status\00" }
+@sc_lit_2461881476274202 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 1508034775791697929, [10 x i8] c"not_found\00" }
+@sc_lit_3553689444499593 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -6616887400742256635, [6 x i8] c"error\00" }
+@sc_lit_2114647021869682 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -162151733584199671, [10 x i8] c"Forbidden\00" }
+@sc_lit_3397890422060549 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 8537748478053318662, [7 x i8] c"accept\00" }
+@sc_lit_3294648205618267 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -9162758784756482039, [10 x i8] c"text/html\00" }
+@sc_lit_4492336914082182 = internal global { i64, i64, i64, [53 x i8] } { i64 -1, i64 52, i64 5354838314811654196, [53 x i8] c"Cannot read properties of undefined (reading 'body')\00" }
+@sc_lit_4362671655600605 = internal global { i64, i64, i64, [58 x i8] } { i64 -1, i64 57, i64 -4083743074272935879, [58 x i8] c"Cannot read properties of undefined (reading 'encodings')\00" }
+@sc_lit_2518473127799707 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4711578142311972868, [5 x i8] c"vary\00" }
+@sc_lit_978543277017983 = internal global { i64, i64, i64, [16 x i8] } { i64 -1, i64 15, i64 -1440999458811674609, [16 x i8] c"accept-encoding\00" }
+@sc_lit_1338885626691992 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 7469228556896174088, [9 x i8] c"c.header\00" }
+@sc_lit_1574667939558669 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 3145244062412439568, [17 x i8] c"content-encoding\00" }
+@sc_lit_2035483511006422 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -3987360679551041523, [14 x i8] c"cache-control\00" }
+@sc_lit_2740571518511302 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -2817507851222646771, [14 x i8] c"last-modified\00" }
+@sc_lit_2869691414151891 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 63473008827695117, [14 x i8] c"if-none-match\00" }
+@sc_lit_100328930987147 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 7439370567024640007, [8 x i8] c"c.bytes\00" }
+@sc_lit_2398049524360159 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -7285012783890956286, [3 x i8] c"br\00" }
+@sc_lit_3533245170682650 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4172465652520452092, [5 x i8] c"gzip\00" }
+@sc_lit_2359144980483679 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 2278828045026459651, [4 x i8] c"b64\00" }
+@sc_lit_2826818497658723 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -8351607168130088956, [5 x i8] c"path\00" }
+@sc_lit_448384591214783 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 6444486429933305860, [5 x i8] c"encs\00" }
+@sc_lit_957191718306074 = internal global { i64, i64, i64, [22 x i8] } { i64 -1, i64 21, i64 -6233750835898089451, [22 x i8] c"SunMonTueWedThuFriSat\00" }
+@sc_lit_2120526926710519 = internal global { i64, i64, i64, [37 x i8] } { i64 -1, i64 36, i64 -6717467541880438748, [37 x i8] c"JanFebMarAprMayJunJulAugSepOctNovDec\00" }
+@sc_lit_291619741538004 = internal global { i64, i64, i64, [36 x i8] } { i64 -1, i64 35, i64 -567459576740315101, [36 x i8] c"public, max-age=31536000, immutable\00" }
+@sc_lit_300426198248490 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 328619855613788184, [25 x i8] c"assets/index-BF3SA29v.js\00" }
+@sc_lit_1698807508669189 = internal global { i64, i64, i64, [31 x i8] } { i64 -1, i64 30, i64 8867024830155718686, [31 x i8] c"text/javascript; charset=utf-8\00" }
+@sc_lit_840587331166583 = internal global { i64, i64, i64, [296497 x i8] } { i64 -1, i64 296496, i64 284580102774490672, [296497 x i8] c"KGZ1bmN0aW9uKCl7Y29uc3QgZ2w9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpLnJlbExpc3Q7aWYoZ2wmJmdsLnN1cHBvcnRzJiZnbC5zdXBwb3J0cygibW9kdWxlcHJlbG9hZCIpKXJldHVybjtmb3IoY29uc3QgZmwgb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9Im1vZHVsZXByZWxvYWQiXScpKVMoZmwpO25ldyBNdXRhdGlvbk9ic2VydmVyKGZsPT57Zm9yKGNvbnN0IHNsIG9mIGZsKWlmKHNsLnR5cGU9PT0iY2hpbGRMaXN0Iilmb3IoY29uc3QgSmwgb2Ygc2wuYWRkZWROb2RlcylKbC50YWdOYW1lPT09IkxJTksiJiZKbC5yZWw9PT0ibW9kdWxlcHJlbG9hZCImJlMoSmwpfSkub2JzZXJ2ZShkb2N1bWVudCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KTtmdW5jdGlvbiB0bChmbCl7Y29uc3Qgc2w9e307cmV0dXJuIGZsLmludGVncml0eSYmKHNsLmludGVncml0eT1mbC5pbnRlZ3JpdHkpLGZsLnJlZmVycmVyUG9saWN5JiYoc2wucmVmZXJyZXJQb2xpY3k9ZmwucmVmZXJyZXJQb2xpY3kpLGZsLmNyb3NzT3JpZ2luPT09InVzZS1jcmVkZW50aWFscyI/c2wuY3JlZGVudGlhbHM9ImluY2x1ZGUiOmZsLmNyb3NzT3JpZ2luPT09ImFub255bW91cyI/c2wuY3JlZGVudGlhbHM9Im9taXQiOnNsLmNyZWRlbnRpYWxzPSJzYW1lLW9yaWdpbiIsc2x9ZnVuY3Rpb24gUyhmbCl7aWYoZmwuZXApcmV0dXJuO2ZsLmVwPSEwO2NvbnN0IHNsPXRsKGZsKTtmZXRjaChmbC5ocmVmLHNsKX19KSgpO3ZhciBoMD17ZXhwb3J0czp7fX0sWD17fTt2YXIgd207ZnVuY3Rpb24gSXMoKXtpZih3bSlyZXR1cm4gWDt3bT0xO3ZhciBEPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50IiksZ2w9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksdGw9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxTPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksZmw9U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKSxzbD1TeW1ib2wuZm9yKCJyZWFjdC5jb25zdW1lciIpLEpsPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxkdT1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLEVsPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIiksSGw9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLFk9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpLFQ9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxIPVN5bWJvbC5mb3IoInJlYWN0LnZpZXdfdHJhbnNpdGlvbiIpLE5sPVN5bWJvbC5pdGVyYXRvcjtmdW5jdGlvbiBsdChvKXtyZXR1cm4gbz09PW51bGx8fHR5cGVvZiBvIT0ib2JqZWN0Ij9udWxsOihvPU5sJiZvW05sXXx8b1siQEBpdGVyYXRvciJdLHR5cGVvZiBvPT0iZnVuY3Rpb24iP286bnVsbCl9dmFyIHdsPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSx2bD1PYmplY3QuYXNzaWduLGh0PXt9O2Z1bmN0aW9uIHR0KG8seixVKXt0aGlzLnByb3BzPW8sdGhpcy5jb250ZXh0PXosdGhpcy5yZWZzPWh0LHRoaXMudXBkYXRlcj1VfHx3bH10dC5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fSx0dC5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24obyx6KXtpZih0eXBlb2YgbyE9Im9iamVjdCImJnR5cGVvZiBvIT0iZnVuY3Rpb24iJiZvIT1udWxsKXRocm93IEVycm9yKCJ0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsbyx6LCJzZXRTdGF0ZSIpfSx0dC5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24obyl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLG8sImZvcmNlVXBkYXRlIil9O2Z1bmN0aW9uIHh1KCl7fXh1LnByb3RvdHlwZT10dC5wcm90b3R5cGU7ZnVuY3Rpb24gcXQobyx6LFUpe3RoaXMucHJvcHM9byx0aGlzLmNvbnRleHQ9eix0aGlzLnJlZnM9aHQsdGhpcy51cGRhdGVyPVV8fHdsfXZhciBCdD1xdC5wcm90b3R5cGU9bmV3IHh1O0J0LmNvbnN0cnVjdG9yPXF0LHZsKEJ0LHR0LnByb3RvdHlwZSksQnQuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIHV0PUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gVigpe312YXIgRj17SDpudWxsLEE6bnVsbCxUOm51bGwsUzpudWxsfSxHdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGd0KG8seixVKXt2YXIgQz1VLnJlZjtyZXR1cm57JCR0eXBlb2Y6RCx0eXBlOm8sa2V5OnoscmVmOkMhPT12b2lkIDA/QzpudWxsLHByb3BzOlV9fWZ1bmN0aW9uIFN0KG8seil7cmV0dXJuIGd0KG8udHlwZSx6LG8ucHJvcHMpfWZ1bmN0aW9uIGF0KG8pe3JldHVybiB0eXBlb2Ygbz09Im9iamVjdCImJm8hPT1udWxsJiZvLiQkdHlwZW9mPT09RH1mdW5jdGlvbiBzdShvKXt2YXIgej17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIitvLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihVKXtyZXR1cm4geltVXX0pfXZhciBLdT0vXC8rL2c7ZnVuY3Rpb24gRGwobyx6KXtyZXR1cm4gdHlwZW9mIG89PSJvYmplY3QiJiZvIT09bnVsbCYmby5rZXkhPW51bGw/c3UoIiIrby5rZXkpOnoudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIF8obyl7c3dpdGNoKG8uc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIG8udmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgby5yZWFzb247ZGVmYXVsdDpzd2l0Y2godHlwZW9mIG8uc3RhdHVzPT0ic3RyaW5nIj9vLnRoZW4oVixWKTooby5zdGF0dXM9InBlbmRpbmciLG8udGhlbihmdW5jdGlvbih6KXtvLnN0YXR1cz09PSJwZW5kaW5nIiYmKG8uc3RhdHVzPSJmdWxmaWxsZWQiLG8udmFsdWU9eil9LGZ1bmN0aW9uKHope28uc3RhdHVzPT09InBlbmRpbmciJiYoby5zdGF0dXM9InJlamVjdGVkIixvLnJlYXNvbj16KX0pKSxvLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnJldHVybiBvLnZhbHVlO2Nhc2UicmVqZWN0ZWQiOnRocm93IG8ucmVhc29ufX10aHJvdyBvfWZ1bmN0aW9uIHEobyx6LFUsQyx3KXt2YXIgVz10eXBlb2YgbzsoVz09PSJ1bmRlZmluZWQifHxXPT09ImJvb2xlYW4iKSYmKG89bnVsbCk7dmFyIEk9ITE7aWYobz09PW51bGwpST0hMDtlbHNlIHN3aXRjaChXKXtjYXNlImJpZ2ludCI6Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjpJPSEwO2JyZWFrO2Nhc2Uib2JqZWN0Ijpzd2l0Y2goby4kJHR5cGVvZil7Y2FzZSBEOmNhc2UgZ2w6ST0hMDticmVhaztjYXNlIFk6cmV0dXJuIEk9by5faW5pdCxxKEkoby5fcGF5bG9hZCkseixVLEMsdyl9fWlmKEkpcmV0dXJuIHc9dyhvKSxJPUM9PT0iIj8iLiIrRGwobywwKTpDLHV0KHcpPyhVPSIiLEkhPW51bGwmJihVPUkucmVwbGFjZShLdSwiJCYvIikrIi8iKSxxKHcseixVLCIiLGZ1bmN0aW9uKEl0KXtyZXR1cm4gSXR9KSk6dyE9bnVsbCYmKGF0KHcpJiYodz1TdCh3LFUrKHcua2V5PT1udWxsfHxvJiZvLmtleT09PXcua2V5PyIiOigiIit3LmtleSkucmVwbGFjZShLdSwiJCYvIikrIi8iKStJKSksei5wdXNoKHcpKSwxO0k9MDt2YXIgTj1DPT09IiI/Ii4iOkMrIjoiO2lmKHV0KG8pKWZvcih2YXIgRz0wO0c8by5sZW5ndGg7RysrKUM9b1tHXSxXPU4rRGwoQyxHKSxJKz1xKEMseixVLFcsdyk7ZWxzZSBpZihHPWx0KG8pLHR5cGVvZiBHPT0iZnVuY3Rpb24iKWZvcihvPUcuY2FsbChvKSxHPTA7IShDPW8ubmV4dCgpKS5kb25lOylDPUMudmFsdWUsVz1OK0RsKEMsRysrKSxJKz1xKEMseixVLFcsdyk7ZWxzZSBpZihXPT09Im9iamVjdCIpe2lmKHR5cGVvZiBvLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIHEoXyhvKSx6LFUsQyx3KTt0aHJvdyB6PVN0cmluZyhvKSxFcnJvcigiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiAiKyh6PT09IltvYmplY3QgT2JqZWN0XSI/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXMobykuam9pbigiLCAiKSsifSI6eikrIikuIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgaW5zdGVhZC4iKX1yZXR1cm4gSX1mdW5jdGlvbiBCKG8seixVKXtpZihvPT1udWxsKXJldHVybiBvO3ZhciBDPVtdLHc9MDtyZXR1cm4gcShvLEMsIiIsIiIsZnVuY3Rpb24oVyl7cmV0dXJuIHouY2FsbChVLFcsdysrKX0pLEN9ZnVuY3Rpb24gY2wobyl7aWYoby5fc3RhdHVzPT09LTEpe3ZhciB6PW8uX3Jlc3VsdCxVPXooKTtVLnRoZW4oZnVuY3Rpb24oQyl7KG8uX3N0YXR1cz09PTB8fG8uX3N0YXR1cz09PS0xKSYmKG8uX3N0YXR1cz0xLG8uX3Jlc3VsdD1DLFUuc3RhdHVzPT09dm9pZCAwJiYoVS5zdGF0dXM9ImZ1bGZpbGxlZCIsVS52YWx1ZT1DKSl9LGZ1bmN0aW9uKEMpeyhvLl9zdGF0dXM9PT0wfHxvLl9zdGF0dXM9PT0tMSkmJihvLl9zdGF0dXM9MixvLl9yZXN1bHQ9QyxVLnN0YXR1cz09PXZvaWQgMCYmKFUuc3RhdHVzPSJyZWplY3RlZCIsVS5yZWFzb249QykpfSksby5fc3RhdHVzPT09LTEmJihvLl9zdGF0dXM9MCxvLl9yZXN1bHQ9VSl9aWYoby5fc3RhdHVzPT09MSlyZXR1cm4gby5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgby5fcmVzdWx0fXZhciBQPXR5cGVvZiByZXBvcnRFcnJvcj09ImZ1bmN0aW9uIj9yZXBvcnRFcnJvcjpmdW5jdGlvbihvKXtpZih0eXBlb2Ygd2luZG93PT0ib2JqZWN0IiYmdHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50PT0iZnVuY3Rpb24iKXt2YXIgej1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6dHlwZW9mIG89PSJvYmplY3QiJiZvIT09bnVsbCYmdHlwZW9mIG8ubWVzc2FnZT09InN0cmluZyI/U3RyaW5nKG8ubWVzc2FnZSk6U3RyaW5nKG8pLGVycm9yOm99KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQoeikpcmV0dXJufWVsc2UgaWYodHlwZW9mIHByb2Nlc3M9PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy5lbWl0PT0iZnVuY3Rpb24iKXtwcm9jZXNzLmVtaXQoInVuY2F1Z2h0RXhjZXB0aW9uIixvKTtyZXR1cm59Y29uc29sZS5lcnJvcihvKX07ZnVuY3Rpb24gRHQobyl7dmFyIHo9Ri5ULFU9e307VS50eXBlcz16IT09bnVsbD96LnR5cGVzOm51bGwsRi5UPVU7dHJ5e3ZhciBDPW8oKSx3PUYuUzt3IT09bnVsbCYmdyhVLEMpLHR5cGVvZiBDPT0ib2JqZWN0IiYmQyE9PW51bGwmJnR5cGVvZiBDLnRoZW49PSJmdW5jdGlvbiImJkMudGhlbihWLFApfWNhdGNoKFcpe1AoVyl9ZmluYWxseXt6IT09bnVsbCYmVS50eXBlcyE9PW51bGwmJih6LnR5cGVzPVUudHlwZXMpLEYuVD16fX1mdW5jdGlvbiBGdChvKXt2YXIgej1GLlQ7aWYoeiE9PW51bGwpe3ZhciBVPXoudHlwZXM7VT09PW51bGw/ei50eXBlcz1bb106VS5pbmRleE9mKG8pPT09LTEmJlUucHVzaChvKX1lbHNlIER0KEZ0LmJpbmQobnVsbCxvKSl9dmFyIEp1PXttYXA6Qixmb3JFYWNoOmZ1bmN0aW9uKG8seixVKXtCKG8sZnVuY3Rpb24oKXt6LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sVSl9LGNvdW50OmZ1bmN0aW9uKG8pe3ZhciB6PTA7cmV0dXJuIEIobyxmdW5jdGlvbigpe3orK30pLHp9LHRvQXJyYXk6ZnVuY3Rpb24obyl7cmV0dXJuIEIobyxmdW5jdGlvbih6KXtyZXR1cm4gen0pfHxbXX0sb25seTpmdW5jdGlvbihvKXtpZighYXQobykpdGhyb3cgRXJyb3IoIlJlYWN0LkNoaWxkcmVuLm9ubHkgZXhwZWN0ZWQgdG8gcmVjZWl2ZSBhIHNpbmdsZSBSZWFjdCBlbGVtZW50IGNoaWxkLiIpO3JldHVybiBvfX07cmV0dXJuIFguQWN0aXZpdHk9VCxYLkNoaWxkcmVuPUp1LFguQ29tcG9uZW50PXR0LFguRnJhZ21lbnQ9dGwsWC5Qcm9maWxlcj1mbCxYLlB1cmVDb21wb25lbnQ9cXQsWC5TdHJpY3RNb2RlPVMsWC5TdXNwZW5zZT1FbCxYLlZpZXdUcmFuc2l0aW9uPUgsWC5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREU9RixYLl9fQ09NUElMRVJfUlVOVElNRT17X19wcm90b19fOm51bGwsYzpmdW5jdGlvbihvKXtyZXR1cm4gRi5ILnVzZU1lbW9DYWNoZShvKX19LFguYWRkVHJhbnNpdGlvblR5cGU9RnQsWC5jYWNoZT1mdW5jdGlvbihvKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gby5hcHBseShudWxsLGFyZ3VtZW50cyl9fSxYLmNhY2hlU2lnbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LFguY2xvbmVFbGVtZW50PWZ1bmN0aW9uKG8seixVKXtpZihvPT1udWxsKXRocm93IEVycm9yKCJUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkICIrbysiLiIpO3ZhciBDPXZsKHt9LG8ucHJvcHMpLHc9by5rZXk7aWYoeiE9bnVsbClmb3IoVyBpbiB6LmtleSE9PXZvaWQgMCYmKHc9IiIrei5rZXkpLHopIUd0LmNhbGwoeixXKXx8Vz09PSJrZXkifHxXPT09Il9fc2VsZiJ8fFc9PT0iX19zb3VyY2UifHxXPT09InJlZiImJnoucmVmPT09dm9pZCAwfHwoQ1tXXT16W1ddKTt2YXIgVz1hcmd1bWVudHMubGVuZ3RoLTI7aWYoVz09PTEpQy5jaGlsZHJlbj1VO2Vsc2UgaWYoMTxXKXtmb3IodmFyIEk9QXJyYXkoVyksTj0wO048VztOKyspSVtOXT1hcmd1bWVudHNbTisyXTtDLmNoaWxkcmVuPUl9cmV0dXJuIGd0KG8udHlwZSx3LEMpfSxYLmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24obyl7cmV0dXJuIG89eyQkdHlwZW9mOkpsLF9jdXJyZW50VmFsdWU6byxfY3VycmVudFZhbHVlMjpvLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbH0sby5Qcm92aWRlcj1vLG8uQ29uc3VtZXI9eyQkdHlwZW9mOnNsLF9jb250ZXh0Om99LG99LFguY3JlYXRlRWxlbWVudD1mdW5jdGlvbihvLHosVSl7dmFyIEMsdz17fSxXPW51bGw7aWYoeiE9bnVsbClmb3IoQyBpbiB6LmtleSE9PXZvaWQgMCYmKFc9IiIrei5rZXkpLHopR3QuY2FsbCh6LEMpJiZDIT09ImtleSImJkMhPT0iX19zZWxmIiYmQyE9PSJfX3NvdXJjZSImJih3W0NdPXpbQ10pO3ZhciBJPWFyZ3VtZW50cy5sZW5ndGgtMjtpZihJPT09MSl3LmNoaWxkcmVuPVU7ZWxzZSBpZigxPEkpe2Zvcih2YXIgTj1BcnJheShJKSxHPTA7RzxJO0crKylOW0ddPWFyZ3VtZW50c1tHKzJdO3cuY2hpbGRyZW49Tn1pZihvJiZvLmRlZmF1bHRQcm9wcylmb3IoQyBpbiBJPW8uZGVmYXVsdFByb3BzLEkpd1tDXT09PXZvaWQgMCYmKHdbQ109SVtDXSk7cmV0dXJuIGd0KG8sVyx3KX0sWC5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sWC5mb3J3YXJkUmVmPWZ1bmN0aW9uKG8pe3JldHVybnskJHR5cGVvZjpkdSxyZW5kZXI6b319LFguaXNWYWxpZEVsZW1lbnQ9YXQsWC5sYXp5PWZ1bmN0aW9uKG8pe3JldHVybnskJHR5cGVvZjpZLF9wYXlsb2FkOntfc3RhdHVzOi0xLF9yZXN1bHQ6b30sX2luaXQ6Y2x9fSxYLm1lbW89ZnVuY3Rpb24obyx6KXtyZXR1cm57JCR0eXBlb2Y6SGwsdHlwZTpvLGNvbXBhcmU6ej09PXZvaWQgMD9udWxsOnp9fSxYLnN0YXJ0VHJhbnNpdGlvbj1EdCxYLnVuc3RhYmxlX3VzZUNhY2hlUmVmcmVzaD1mdW5jdGlvbigpe3JldHVybiBGLkgudXNlQ2FjaGVSZWZyZXNoKCl9LFgudXNlPWZ1bmN0aW9uKG8pe3JldHVybiBGLkgudXNlKG8pfSxYLnVzZUFjdGlvblN0YXRlPWZ1bmN0aW9uKG8seixVKXtyZXR1cm4gRi5ILnVzZUFjdGlvblN0YXRlKG8seixVKX0sWC51c2VDYWxsYmFjaz1mdW5jdGlvbihvLHope3JldHVybiBGLkgudXNlQ2FsbGJhY2sobyx6KX0sWC51c2VDb250ZXh0PWZ1bmN0aW9uKG8pe3JldHVybiBGLkgudXNlQ29udGV4dChvKX0sWC51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fSxYLnVzZURlZmVycmVkVmFsdWU9ZnVuY3Rpb24obyx6KXtyZXR1cm4gRi5ILnVzZURlZmVycmVkVmFsdWUobyx6KX0sWC51c2VFZmZlY3Q9ZnVuY3Rpb24obyx6KXtyZXR1cm4gRi5ILnVzZUVmZmVjdChvLHopfSxYLnVzZUVmZmVjdEV2ZW50PWZ1bmN0aW9uKG8pe3JldHVybiBGLkgudXNlRWZmZWN0RXZlbnQobyl9LFgudXNlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gRi5ILnVzZUlkKCl9LFgudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihvLHosVSl7cmV0dXJuIEYuSC51c2VJbXBlcmF0aXZlSGFuZGxlKG8seixVKX0sWC51c2VJbnNlcnRpb25FZmZlY3Q9ZnVuY3Rpb24obyx6KXtyZXR1cm4gRi5ILnVzZUluc2VydGlvbkVmZmVjdChvLHopfSxYLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbihvLHope3JldHVybiBGLkgudXNlTGF5b3V0RWZmZWN0KG8seil9LFgudXNlTWVtbz1mdW5jdGlvbihvLHope3JldHVybiBGLkgudXNlTWVtbyhvLHopfSxYLnVzZU9wdGltaXN0aWM9ZnVuY3Rpb24obyx6KXtyZXR1cm4gRi5ILnVzZU9wdGltaXN0aWMobyx6KX0sWC51c2VSZWR1Y2VyPWZ1bmN0aW9uKG8seixVKXtyZXR1cm4gRi5ILnVzZVJlZHVjZXIobyx6LFUpfSxYLnVzZVJlZj1mdW5jdGlvbihvKXtyZXR1cm4gRi5ILnVzZVJlZihvKX0sWC51c2VTdGF0ZT1mdW5jdGlvbihvKXtyZXR1cm4gRi5ILnVzZVN0YXRlKG8pfSxYLnVzZVN5bmNFeHRlcm5hbFN0b3JlPWZ1bmN0aW9uKG8seixVKXtyZXR1cm4gRi5ILnVzZVN5bmNFeHRlcm5hbFN0b3JlKG8seixVKX0sWC51c2VUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEYuSC51c2VUcmFuc2l0aW9uKCl9LFgudmVyc2lvbj0iMTkuMy4xIixYfXZhciBXbTtmdW5jdGlvbiB6MCgpe3JldHVybiBXbXx8KFdtPTEsaDAuZXhwb3J0cz1JcygpKSxoMC5leHBvcnRzfXZhciBFMD16MCgpLGcwPXtleHBvcnRzOnt9fSx0bj17fSxTMD17ZXhwb3J0czp7fX0scjA9e307dmFyICRtO2Z1bmN0aW9uIGtzKCl7cmV0dXJuICRtfHwoJG09MSwoZnVuY3Rpb24oRCl7ZnVuY3Rpb24gZ2woXyxxKXt2YXIgQj1fLmxlbmd0aDtfLnB1c2gocSk7bDpmb3IoOzA8Qjspe3ZhciBjbD1CLTE+Pj4xLFA9X1tjbF07aWYoMDxmbChQLHEpKV9bY2xdPXEsX1tCXT1QLEI9Y2w7ZWxzZSBicmVhayBsfX1mdW5jdGlvbiB0bChfKXtyZXR1cm4gXy5sZW5ndGg9PT0wP251bGw6X1swXX1mdW5jdGlvbiBTKF8pe2lmKF8ubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt2YXIgcT1fWzBdLEI9Xy5wb3AoKTtpZihCIT09cSl7X1swXT1CO2w6Zm9yKHZhciBjbD0wLFA9Xy5sZW5ndGgsRHQ9UD4+PjE7Y2w8RHQ7KXt2YXIgRnQ9MiooY2wrMSktMSxKdT1fW0Z0XSxvPUZ0KzEsej1fW29dO2lmKDA+ZmwoSnUsQikpbzxQJiYwPmZsKHosSnUpPyhfW2NsXT16LF9bb109QixjbD1vKTooX1tjbF09SnUsX1tGdF09QixjbD1GdCk7ZWxzZSBpZihvPFAmJjA+ZmwoeixCKSlfW2NsXT16LF9bb109QixjbD1vO2Vsc2UgYnJlYWsgbH19cmV0dXJuIHF9ZnVuY3Rpb24gZmwoXyxxKXt2YXIgQj1fLnNvcnRJbmRleC1xLnNvcnRJbmRleDtyZXR1cm4gQiE9PTA/QjpfLmlkLXEuaWR9aWYoRC51bnN0YWJsZV9ub3c9dm9pZCAwLHR5cGVvZiBwZXJmb3JtYW5jZT09Im9iamVjdCImJnR5cGVvZiBwZXJmb3JtYW5jZS5ub3c9PSJmdW5jdGlvbiIpe3ZhciBzbD1wZXJmb3JtYW5jZTtELnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBzbC5ub3coKX19ZWxzZXt2YXIgSmw9RGF0ZSxkdT1KbC5ub3coKTtELnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBKbC5ub3coKS1kdX19dmFyIEVsPVtdLEhsPVtdLFk9MSxUPW51bGwsSD0zLE5sPSExLGx0PSExLHdsPSExLHZsPSExLGh0PXR5cGVvZiBzZXRUaW1lb3V0PT0iZnVuY3Rpb24iP3NldFRpbWVvdXQ6bnVsbCx0dD10eXBlb2YgY2xlYXJUaW1lb3V0PT0iZnVuY3Rpb24iP2NsZWFyVGltZW91dDpudWxsLHh1PXR5cGVvZiBzZXRJbW1lZGlhdGU8InUiP3NldEltbWVkaWF0ZTpudWxsO2Z1bmN0aW9uIHF0KF8pe2Zvcih2YXIgcT10bChIbCk7cSE9PW51bGw7KXtpZihxLmNhbGxiYWNrPT09bnVsbClTKEhsKTtlbHNlIGlmKHEuc3RhcnRUaW1lPD1fKVMoSGwpLHEuc29ydEluZGV4PXEuZXhwaXJhdGlvblRpbWUsZ2woRWwscSk7ZWxzZSBicmVhaztxPXRsKEhsKX19ZnVuY3Rpb24gQnQoXyl7aWYod2w9ITEscXQoXyksIWx0KWlmKHRsKEVsKSE9PW51bGwpbHQ9ITAsdXR8fCh1dD0hMCxhdCgpKTtlbHNle3ZhciBxPXRsKEhsKTtxIT09bnVsbCYmRGwoQnQscS5zdGFydFRpbWUtXyl9fXZhciB1dD0hMSxWPS0xLEY9NSxHdD0tMTtmdW5jdGlvbiBndCgpe3JldHVybiB2bD8hMDohKEQudW5zdGFibGVfbm93KCktR3Q8Ril9ZnVuY3Rpb24gU3QoKXtpZih2bD0hMSx1dCl7dmFyIF89RC51bnN0YWJsZV9ub3coKTtHdD1fO3ZhciBxPSEwO3RyeXtsOntsdD0hMSx3bCYmKHdsPSExLHR0KFYpLFY9LTEpLE5sPSEwO3ZhciBCPUg7dHJ5e3Q6e2ZvcihxdChfKSxUPXRsKEVsKTtUIT09bnVsbCYmIShULmV4cGlyYXRpb25UaW1lPl8mJmd0KCkpOyl7dmFyIGNsPVQuY2FsbGJhY2s7aWYodHlwZW9mIGNsPT0iZnVuY3Rpb24iKXtULmNhbGxiYWNrPW51bGwsSD1ULnByaW9yaXR5TGV2ZWw7dmFyIFA9Y2woVC5leHBpcmF0aW9uVGltZTw9Xyk7aWYoXz1ELnVuc3RhYmxlX25vdygpLHR5cGVvZiBQPT0iZnVuY3Rpb24iKXtULmNhbGxiYWNrPVAscXQoXykscT0hMDticmVhayB0fVQ9PT10bChFbCkmJlMoRWwpLHF0KF8pfWVsc2UgUyhFbCk7VD10bChFbCl9aWYoVCE9PW51bGwpcT0hMDtlbHNle3ZhciBEdD10bChIbCk7RHQhPT1udWxsJiZEbChCdCxEdC5zdGFydFRpbWUtXykscT0hMX19YnJlYWsgbH1maW5hbGx5e1Q9bnVsbCxIPUIsTmw9ITF9cT12b2lkIDB9fWZpbmFsbHl7cT9hdCgpOnV0PSExfX19dmFyIGF0O2lmKHR5cGVvZiB4dT09ImZ1bmN0aW9uIilhdD1mdW5jdGlvbigpe3h1KFN0KX07ZWxzZSBpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWw8InUiKXt2YXIgc3U9bmV3IE1lc3NhZ2VDaGFubmVsLEt1PXN1LnBvcnQyO3N1LnBvcnQxLm9ubWVzc2FnZT1TdCxhdD1mdW5jdGlvbigpe0t1LnBvc3RNZXNzYWdlKG51bGwpfX1lbHNlIGF0PWZ1bmN0aW9uKCl7aHQoU3QsMCl9O2Z1bmN0aW9uIERsKF8scSl7Vj1odChmdW5jdGlvbigpe18oRC51bnN0YWJsZV9ub3coKSl9LHEpfUQudW5zdGFibGVfSWRsZVByaW9yaXR5PTUsRC51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eT0xLEQudW5zdGFibGVfTG93UHJpb3JpdHk9NCxELnVuc3RhYmxlX05vcm1hbFByaW9yaXR5PTMsRC51bnN0YWJsZV9Qcm9maWxpbmc9bnVsbCxELnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5PTIsRC51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaz1mdW5jdGlvbihfKXtfLmNhbGxiYWNrPW51bGx9LEQudW5zdGFibGVfZm9yY2VGcmFtZVJhdGU9ZnVuY3Rpb24oXyl7MD5ffHwxMjU8Xz9jb25zb2xlLmVycm9yKCJmb3JjZUZyYW1lUmF0ZSB0YWtlcyBhIHBvc2l0aXZlIGludCBiZXR3ZWVuIDAgYW5kIDEyNSwgZm9yY2luZyBmcmFtZSByYXRlcyBoaWdoZXIgdGhhbiAxMjUgZnBzIGlzIG5vdCBzdXBwb3J0ZWQiKTpGPTA8Xz9NYXRoLmZsb29yKDFlMy9fKTo1fSxELnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsPWZ1bmN0aW9uKCl7cmV0dXJuIEh9LEQudW5zdGFibGVfbmV4dD1mdW5jdGlvbihfKXtzd2l0Y2goSCl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIHE9MzticmVhaztkZWZhdWx0OnE9SH12YXIgQj1IO0g9cTt0cnl7cmV0dXJuIF8oKX1maW5hbGx5e0g9Qn19LEQudW5zdGFibGVfcmVxdWVzdFBhaW50PWZ1bmN0aW9uKCl7dmw9ITB9LEQudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5PWZ1bmN0aW9uKF8scSl7c3dpdGNoKF8pe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOmNhc2UgNDpjYXNlIDU6YnJlYWs7ZGVmYXVsdDpfPTN9dmFyIEI9SDtIPV87dHJ5e3JldHVybiBxKCl9ZmluYWxseXtIPUJ9fSxELnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s9ZnVuY3Rpb24oXyxxLEIpe3ZhciBjbD1ELnVuc3RhYmxlX25vdygpO3N3aXRjaCh0eXBlb2YgQj09Im9iamVjdCImJkIhPT1udWxsPyhCPUIuZGVsYXksQj10eXBlb2YgQj09Im51bWJlciImJjA8Qj9jbCtCOmNsKTpCPWNsLF8pe2Nhc2UgMTp2YXIgUD0tMTticmVhaztjYXNlIDI6UD0yNTA7YnJlYWs7Y2FzZSA1OlA9MTA3Mzc0MTgyMzticmVhaztjYXNlIDQ6UD0xZTQ7YnJlYWs7ZGVmYXVsdDpQPTVlM31yZXR1cm4gUD1CK1AsXz17aWQ6WSsrLGNhbGxiYWNrOnEscHJpb3JpdHlMZXZlbDpfLHN0YXJ0VGltZTpCLGV4cGlyYXRpb25UaW1lOlAsc29ydEluZGV4Oi0xfSxCPmNsPyhfLnNvcnRJbmRleD1CLGdsKEhsLF8pLHRsKEVsKT09PW51bGwmJl89PT10bChIbCkmJih3bD8odHQoViksVj0tMSk6d2w9ITAsRGwoQnQsQi1jbCkpKTooXy5zb3J0SW5kZXg9UCxnbChFbCxfKSxsdHx8Tmx8fChsdD0hMCx1dHx8KHV0PSEwLGF0KCkpKSksX30sRC51bnN0YWJsZV9zaG91bGRZaWVsZD1ndCxELnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihfKXt2YXIgcT1IO3JldHVybiBmdW5jdGlvbigpe3ZhciBCPUg7SD1xO3RyeXtyZXR1cm4gXy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtIPUJ9fX19KShyMCkpLHIwfXZhciBGbTtmdW5jdGlvbiBQcygpe3JldHVybiBGbXx8KEZtPTEsUzAuZXhwb3J0cz1rcygpKSxTMC5leHBvcnRzfXZhciBUMD17ZXhwb3J0czp7fX0sWmw9e307dmFyIEltO2Z1bmN0aW9uIGxoKCl7aWYoSW0pcmV0dXJuIFpsO0ltPTE7dmFyIEQ9ejAoKTtmdW5jdGlvbiBnbChZKXt2YXIgVD0iaHR0cHM6Ly9yZWFjdC5kZXYvZXJyb3JzLyIrWTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe1QrPSI/YXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1sxXSk7Zm9yKHZhciBIPTI7SDxhcmd1bWVudHMubGVuZ3RoO0grKylUKz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbSF0pfXJldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitZKyI7IHZpc2l0ICIrVCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifWZ1bmN0aW9uIHRsKCl7fXZhciBTPXtkOntmOnRsLHI6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcihnbCg1MjIpKX0sRDp0bCxDOnRsLEw6dGwsbTp0bCxYOnRsLFM6dGwsTTp0bH0scDowLGZpbmRET01Ob2RlOm51bGx9LGZsPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLHNsPVN5bWJvbC5mb3IoInJlYWN0LnJlY292ZXJhYmxlIiksSmw9U3ltYm9sLmZvcigicmVhY3Qub3B0aW1pc3RpY19rZXkiKTtmdW5jdGlvbiBkdShZLFQsSCl7dmFyIE5sPTM8YXJndW1lbnRzLmxlbmd0aCYmYXJndW1lbnRzWzNdIT09dm9pZCAwP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjpmbCxrZXk6Tmw9PW51bGw/bnVsbDpObD09PUpsP0psOiIiK05sLGNoaWxkcmVuOlksY29udGFpbmVySW5mbzpULGltcGxlbWVudGF0aW9uOkh9fXZhciBFbD1ELl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERTtmdW5jdGlvbiBIbChZLFQpe2lmKFk9PT0iZm9udCIpcmV0dXJuIiI7aWYodHlwZW9mIFQ9PSJzdHJpbmciKXJldHVybiBUPT09InVzZS1jcmVkZW50aWFscyI/VDoiIn1yZXR1cm4gWmwuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPVMsWmwuYnJvd3Nlcj1mdW5jdGlvbihZKXtyZXR1cm57JCR0eXBlb2Y6c2wsX3JlYXNvbjpZfX0sWmwuY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKFksVCl7dmFyIEg9Mjxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbMl0hPT12b2lkIDA/YXJndW1lbnRzWzJdOm51bGw7aWYoIVR8fFQubm9kZVR5cGUhPT0xJiZULm5vZGVUeXBlIT09OSYmVC5ub2RlVHlwZSE9PTExKXRocm93IEVycm9yKGdsKDI5OSkpO3JldHVybiBkdShZLFQsbnVsbCxIKX0sWmwuZmx1c2hTeW5jPWZ1bmN0aW9uKFkpe3ZhciBUPUVsLlQsSD1TLnA7dHJ5e2lmKEVsLlQ9bnVsbCxTLnA9MixZKXJldHVybiBZKCl9ZmluYWxseXtFbC5UPVQsUy5wPUgsUy5kLmYoKX19LFpsLnByZWNvbm5lY3Q9ZnVuY3Rpb24oWSxUKXt0eXBlb2YgWT09InN0cmluZyImJihUPyhUPVQuY3Jvc3NPcmlnaW4sVD10eXBlb2YgVD09InN0cmluZyI/VD09PSJ1c2UtY3JlZGVudGlhbHMiP1Q6IiI6dm9pZCAwKTpUPW51bGwsUy5kLkMoWSxUKSl9LFpsLnByZWZldGNoRE5TPWZ1bmN0aW9uKFkpe3R5cGVvZiBZPT0ic3RyaW5nIiYmUy5kLkQoWSl9LFpsLnByZWluaXQ9ZnVuY3Rpb24oWSxUKXtpZih0eXBlb2YgWT09InN0cmluZyImJlQmJnR5cGVvZiBULmFzPT0ic3RyaW5nIil7dmFyIEg9VC5hcyxObD1IbChILFQuY3Jvc3NPcmlnaW4pLGx0PXR5cGVvZiBULmludGVncml0eT09InN0cmluZyI/VC5pbnRlZ3JpdHk6dm9pZCAwLHdsPXR5cGVvZiBULmZldGNoUHJpb3JpdHk9PSJzdHJpbmciP1QuZmV0Y2hQcmlvcml0eTp2b2lkIDA7SD09PSJzdHlsZSI/Uy5kLlMoWSx0eXBlb2YgVC5wcmVjZWRlbmNlPT0ic3RyaW5nIj9ULnByZWNlZGVuY2U6dm9pZCAwLHtjcm9zc09yaWdpbjpObCxpbnRlZ3JpdHk6bHQsZmV0Y2hQcmlvcml0eTp3bH0pOkg9PT0ic2NyaXB0IiYmUy5kLlgoWSx7Y3Jvc3NPcmlnaW46TmwsaW50ZWdyaXR5Omx0LGZldGNoUHJpb3JpdHk6d2wsbm9uY2U6dHlwZW9mIFQubm9uY2U9PSJzdHJpbmciP1Qubm9uY2U6dm9pZCAwfSl9fSxabC5wcmVpbml0TW9kdWxlPWZ1bmN0aW9uKFksVCl7aWYodHlwZW9mIFk9PSJzdHJpbmciKWlmKHR5cGVvZiBUPT0ib2JqZWN0IiYmVCE9PW51bGwpe2lmKFQuYXM9PW51bGx8fFQuYXM9PT0ic2NyaXB0Iil7dmFyIEg9SGwoVC5hcyxULmNyb3NzT3JpZ2luKTtTLmQuTShZLHtjcm9zc09yaWdpbjpILGludGVncml0eTp0eXBlb2YgVC5pbnRlZ3JpdHk9PSJzdHJpbmciP1QuaW50ZWdyaXR5OnZvaWQgMCxub25jZTp0eXBlb2YgVC5ub25jZT09InN0cmluZyI/VC5ub25jZTp2b2lkIDAsZmV0Y2hQcmlvcml0eTp0eXBlb2YgVC5mZXRjaFByaW9yaXR5PT0ic3RyaW5nIj9ULmZldGNoUHJpb3JpdHk6dm9pZCAwfSl9fWVsc2UgVD09bnVsbCYmUy5kLk0oWSl9LFpsLnByZWxvYWQ9ZnVuY3Rpb24oWSxUKXtpZih0eXBlb2YgWT09InN0cmluZyImJnR5cGVvZiBUPT0ib2JqZWN0IiYmVCE9PW51bGwmJnR5cGVvZiBULmFzPT0ic3RyaW5nIil7dmFyIEg9VC5hcyxObD1IbChILFQuY3Jvc3NPcmlnaW4pO1MuZC5MKFksSCx7Y3Jvc3NPcmlnaW46TmwsaW50ZWdyaXR5OnR5cGVvZiBULmludGVncml0eT09InN0cmluZyI/VC5pbnRlZ3JpdHk6dm9pZCAwLG5vbmNlOnR5cGVvZiBULm5vbmNlPT0ic3RyaW5nIj9ULm5vbmNlOnZvaWQgMCx0eXBlOnR5cGVvZiBULnR5cGU9PSJzdHJpbmciP1QudHlwZTp2b2lkIDAsZmV0Y2hQcmlvcml0eTp0eXBlb2YgVC5mZXRjaFByaW9yaXR5PT0ic3RyaW5nIj9ULmZldGNoUHJpb3JpdHk6dm9pZCAwLHJlZmVycmVyUG9saWN5OnR5cGVvZiBULnJlZmVycmVyUG9saWN5PT0ic3RyaW5nIj9ULnJlZmVycmVyUG9saWN5OnZvaWQgMCxpbWFnZVNyY1NldDp0eXBlb2YgVC5pbWFnZVNyY1NldD09InN0cmluZyI/VC5pbWFnZVNyY1NldDp2b2lkIDAsaW1hZ2VTaXplczp0eXBlb2YgVC5pbWFnZVNpemVzPT0ic3RyaW5nIj9ULmltYWdlU2l6ZXM6dm9pZCAwLG1lZGlhOnR5cGVvZiBULm1lZGlhPT0ic3RyaW5nIj9ULm1lZGlhOnZvaWQgMH0pfX0sWmwucHJlbG9hZE1vZHVsZT1mdW5jdGlvbihZLFQpe2lmKHR5cGVvZiBZPT0ic3RyaW5nIilpZihUKXt2YXIgSD1IbChULmFzLFQuY3Jvc3NPcmlnaW4pO1MuZC5tKFkse2FzOnR5cGVvZiBULmFzPT0ic3RyaW5nIiYmVC5hcyE9PSJzY3JpcHQiP1QuYXM6dm9pZCAwLGNyb3NzT3JpZ2luOkgsaW50ZWdyaXR5OnR5cGVvZiBULmludGVncml0eT09InN0cmluZyI/VC5pbnRlZ3JpdHk6dm9pZCAwLG5vbmNlOnR5cGVvZiBULm5vbmNlPT0ic3RyaW5nIj9ULm5vbmNlOnZvaWQgMCxmZXRjaFByaW9yaXR5OnR5cGVvZiBULmZldGNoUHJpb3JpdHk9PSJzdHJpbmciP1QuZmV0Y2hQcmlvcml0eTp2b2lkIDB9KX1lbHNlIFMuZC5tKFkpfSxabC5yZXF1ZXN0Rm9ybVJlc2V0PWZ1bmN0aW9uKFkpe1MuZC5yKFkpfSxabC51bnN0YWJsZV9iYXRjaGVkVXBkYXRlcz1mdW5jdGlvbihZLFQpe3JldHVybiBZKFQpfSxabC51c2VGb3JtU3RhdGU9ZnVuY3Rpb24oWSxULEgpe3JldHVybiBFbC5ILnVzZUZvcm1TdGF0ZShZLFQsSCl9LFpsLnVzZUZvcm1TdGF0dXM9ZnVuY3Rpb24oKXtyZXR1cm4gRWwuSC51c2VIb3N0VHJhbnNpdGlvblN0YXR1cygpfSxabC52ZXJzaW9uPSIxOS4zLjEiLFpsfXZhciBrbTtmdW5jdGlvbiB0aCgpe2lmKGttKXJldHVybiBUMC5leHBvcnRzO2ttPTE7ZnVuY3Rpb24gRCgpe2lmKCEodHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXz4idSJ8fHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UhPSJmdW5jdGlvbiIpKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoRCl9Y2F0Y2goZ2wpe2NvbnNvbGUuZXJyb3IoZ2wpfX1yZXR1cm4gRCgpLFQwLmV4cG9ydHM9bGgoKSxUMC5leHBvcnRzfXZhciBQbTtmdW5jdGlvbiB1aCgpe2lmKFBtKXJldHVybiB0bjtQbT0xO3ZhciBEPVBzKCksZ2w9ejAoKSx0bD10aCgpO2Z1bmN0aW9uIFMobCl7dmFyIHQ9Imh0dHBzOi8vcmVhY3QuZGV2L2Vycm9ycy8iK2w7aWYoMTxhcmd1bWVudHMubGVuZ3RoKXt0Kz0iP2FyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbMV0pO2Zvcih2YXIgdT0yO3U8YXJndW1lbnRzLmxlbmd0aDt1KyspdCs9IiZhcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW3VdKX1yZXR1cm4iTWluaWZpZWQgUmVhY3QgZXJyb3IgIyIrbCsiOyB2aXNpdCAiK3QrIiBmb3IgdGhlIGZ1bGwgbWVzc2FnZSBvciB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgZm9yIGZ1bGwgZXJyb3JzIGFuZCBhZGRpdGlvbmFsIGhlbHBmdWwgd2FybmluZ3MuIn1mdW5jdGlvbiBmbChsKXtyZXR1cm4hKCFsfHxsLm5vZGVUeXBlIT09MSYmbC5ub2RlVHlwZSE9PTkmJmwubm9kZVR5cGUhPT0xMSl9ZnVuY3Rpb24gc2wobCl7Zm9yKHZhciB0PWwsdT10O3UmJiF1LmFsdGVybmF0ZTspdD11LCh0LmZsYWdzJjQwOTgpIT09MCYmKGw9dC5yZXR1cm4pLHU9dC5yZXR1cm47Zm9yKDt0LnJldHVybjspdD10LnJldHVybjtyZXR1cm4gdC50YWc9PT0zP2w6bnVsbH1mdW5jdGlvbiBKbChsKXtpZihsLnRhZz09PTEzKXt2YXIgdD1sLm1lbW9pemVkU3RhdGU7aWYodD09PW51bGwmJihsPWwuYWx0ZXJuYXRlLGwhPT1udWxsJiYodD1sLm1lbW9pemVkU3RhdGUpKSx0IT09bnVsbClyZXR1cm4gdC5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIGR1KGwpe2lmKGwudGFnPT09MzEpe3ZhciB0PWwubWVtb2l6ZWRTdGF0ZTtpZih0PT09bnVsbCYmKGw9bC5hbHRlcm5hdGUsbCE9PW51bGwmJih0PWwubWVtb2l6ZWRTdGF0ZSkpLHQhPT1udWxsKXJldHVybiB0LmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gRWwobCl7aWYoc2wobCkhPT1sKXRocm93IEVycm9yKFMoMTg4KSl9ZnVuY3Rpb24gSGwobCl7dmFyIHQ9bC5hbHRlcm5hdGU7aWYoIXQpe2lmKHQ9c2wobCksdD09PW51bGwpdGhyb3cgRXJyb3IoUygxODgpKTtyZXR1cm4gdCE9PWw/bnVsbDpsfWZvcih2YXIgdT1sLGE9dDs7KXt2YXIgZT11LnJldHVybjtpZihlPT09bnVsbClicmVhazt2YXIgbj1lLmFsdGVybmF0ZTtpZihuPT09bnVsbCl7aWYoYT1lLnJldHVybixhIT09bnVsbCl7dT1hO2NvbnRpbnVlfWJyZWFrfWlmKGUuY2hpbGQ9PT1uLmNoaWxkKXtmb3Iobj1lLmNoaWxkO247KXtpZihuPT09dSlyZXR1cm4gRWwoZSksbDtpZihuPT09YSlyZXR1cm4gRWwoZSksdDtuPW4uc2libGluZ310aHJvdyBFcnJvcihTKDE4OCkpfWlmKHUucmV0dXJuIT09YS5yZXR1cm4pdT1lLGE9bjtlbHNle2Zvcih2YXIgZj0hMSxjPWUuY2hpbGQ7Yzspe2lmKGM9PT11KXtmPSEwLHU9ZSxhPW47YnJlYWt9aWYoYz09PWEpe2Y9ITAsYT1lLHU9bjticmVha31jPWMuc2libGluZ31pZighZil7Zm9yKGM9bi5jaGlsZDtjOyl7aWYoYz09PXUpe2Y9ITAsdT1uLGE9ZTticmVha31pZihjPT09YSl7Zj0hMCxhPW4sdT1lO2JyZWFrfWM9Yy5zaWJsaW5nfWlmKCFmKXRocm93IEVycm9yKFMoMTg5KSl9fWlmKHUuYWx0ZXJuYXRlIT09YSl0aHJvdyBFcnJvcihTKDE5MCkpfWlmKHUudGFnIT09Myl0aHJvdyBFcnJvcihTKDE4OCkpO3JldHVybiB1LnN0YXRlTm9kZS5jdXJyZW50PT09dT9sOnR9ZnVuY3Rpb24gWShsKXt2YXIgdD1sLnRhZztpZih0PT09NXx8dD09PTI2fHx0PT09Mjd8fHQ9PT02KXJldHVybiBsO2ZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KXtpZih0PVkobCksdCE9PW51bGwpcmV0dXJuIHQ7bD1sLnNpYmxpbmd9cmV0dXJuIG51bGx9ZnVuY3Rpb24gVChsLHQsdSxhLGUsbil7Zm9yKDtsIT09bnVsbDspe2lmKChsLnRhZz09PTV8fGwudGFnPT09Mjd8fGwudGFnPT09NikmJnUobCxhLGUsbil8fChsLnRhZyE9PTIyfHxsLm1lbW9pemVkU3RhdGU9PT1udWxsKSYmKHR8fGwudGFnIT09NSYmbC50YWchPT0yNykmJlQobC5jaGlsZCx0LHUsYSxlLG4pKXJldHVybiEwO2w9bC5zaWJsaW5nfXJldHVybiExfWZ1bmN0aW9uIEgobCl7Zm9yKGw9bC5yZXR1cm47bCE9PW51bGw7KXtpZihsLnRhZz09PTN8fGwudGFnPT09NXx8bC50YWc9PT0yNylyZXR1cm4gbDtsPWwucmV0dXJufXJldHVybiBudWxsfWZ1bmN0aW9uIE5sKGwpe3ZhciB0PSExO2ZvcihsPWwucmV0dXJuO2whPT1udWxsJiYobC50YWc9PT00JiYodD0hMCksIShsLnRhZz09PTN8fGwudGFnPT09NXx8bC50YWc9PT0yNykpOylsPWwucmV0dXJuO3JldHVybiB0fWZ1bmN0aW9uIGx0KGwpe3ZhciB0PVtudWxsLG51bGxdLHU9SChsKTtyZXR1cm4gdT09PW51bGx8fHdsKHQsbCx1LmNoaWxkLHtmb3VuZFNlbGY6ITF9KSx0fWZ1bmN0aW9uIHdsKGwsdCx1LGEpe2Zvcig7dSE9PW51bGw7KXtpZih1PT09dClhLmZvdW5kU2VsZj0hMDtlbHNlIGlmKHUudGFnPT09NXx8dS50YWc9PT0yN3x8dS50YWc9PT02KXtpZihhLmZvdW5kU2VsZilyZXR1cm4gbFsxXT11LCEwO2xbMF09dX1lbHNlIGlmKCh1LnRhZyE9PTIyfHx1Lm1lbW9pemVkU3RhdGU9PT1udWxsKSYmd2wobCx0LHUuY2hpbGQsYSkpcmV0dXJuITA7dT11LnNpYmxpbmd9cmV0dXJuITF9ZnVuY3Rpb24gdmwobCl7c3dpdGNoKGwudGFnKXtjYXNlIDU6Y2FzZSAyNzpjYXNlIDY6cmV0dXJuIGwuc3RhdGVOb2RlO2Nhc2UgMzpyZXR1cm4gbC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztkZWZhdWx0OnRocm93IEVycm9yKFMoNTU5KSl9fXZhciBodD1udWxsLHR0PW51bGw7ZnVuY3Rpb24geHUobCx0LHUpe3JldHVybiBsPT09dT8hMDpsPT09dD8oaHQ9bCwhMCk6ITF9ZnVuY3Rpb24gcXQobCx0LHUpe3JldHVybiBsPT09dT8odHQ9bCwhMSk6bD09PXQ/KHR0IT09bnVsbCYmKGh0PWwpLCEwKTohMX1mdW5jdGlvbiBCdChsKXtpZihsPT09bnVsbClyZXR1cm4gbnVsbDtkbyBsPWw9PT1udWxsP251bGw6bC5yZXR1cm47d2hpbGUobCYmbC50YWchPT01JiZsLnRhZyE9PTI3JiZsLnRhZyE9PTMpO3JldHVybiBsfHxudWxsfWZ1bmN0aW9uIHV0KGwsdCx1KXtmb3IodmFyIGE9MCxlPWw7ZTtlPXUoZSkpYSsrO2U9MDtmb3IodmFyIG49dDtuO249dShuKSllKys7Zm9yKDswPGEtZTspbD11KGwpLGEtLTtmb3IoOzA8ZS1hOyl0PXUodCksZS0tO2Zvcig7YS0tOyl7aWYobD09PXR8fHQhPT1udWxsJiZsPT09dC5hbHRlcm5hdGUpcmV0dXJuIGw7bD11KGwpLHQ9dSh0KX1yZXR1cm4gbnVsbH12YXIgVj1PYmplY3QuYXNzaWduLEY9U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLEd0PVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50IiksZ3Q9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksU3Q9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxhdD1TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpLHN1PVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIiksS3U9U3ltYm9sLmZvcigicmVhY3QuY29uc3VtZXIiKSxEbD1TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0IiksXz1TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpLHE9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKSxCPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlX2xpc3QiKSxjbD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIiksUD1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5IiksRHQ9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxGdD1TeW1ib2wuZm9yKCJyZWFjdC5sZWdhY3lfaGlkZGVuIiksSnU9U3ltYm9sLmZvcigicmVhY3QubWVtb19jYWNoZV9zZW50aW5lbCIpLG89U3ltYm9sLmZvcigicmVhY3Qudmlld190cmFuc2l0aW9uIiksej1TeW1ib2wuZm9yKCJyZWFjdC5yZWNvdmVyYWJsZSIpLFU9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEMobCl7cmV0dXJuIGw9PT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCI/bnVsbDoobD1VJiZsW1VdfHxsWyJAQGl0ZXJhdG9yIl0sdHlwZW9mIGw9PSJmdW5jdGlvbiI/bDpudWxsKX12YXIgdz1TeW1ib2wuZm9yKCJyZWFjdC5jbGllbnQucmVmZXJlbmNlIik7ZnVuY3Rpb24gVyhsKXtpZihsPT1udWxsKXJldHVybiBudWxsO2lmKHR5cGVvZiBsPT0iZnVuY3Rpb24iKXJldHVybiBsLiQkdHlwZW9mPT09dz9udWxsOmwuZGlzcGxheU5hbWV8fGwubmFtZXx8bnVsbDtpZih0eXBlb2YgbD09InN0cmluZyIpcmV0dXJuIGw7c3dpdGNoKGwpe2Nhc2UgU3Q6cmV0dXJuIkZyYWdtZW50IjtjYXNlIHN1OnJldHVybiJQcm9maWxlciI7Y2FzZSBhdDpyZXR1cm4iU3RyaWN0TW9kZSI7Y2FzZSBxOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBCOnJldHVybiJTdXNwZW5zZUxpc3QiO2Nhc2UgRHQ6cmV0dXJuIkFjdGl2aXR5IjtjYXNlIG86cmV0dXJuIlZpZXdUcmFuc2l0aW9uIn1pZih0eXBlb2YgbD09Im9iamVjdCIpc3dpdGNoKGwuJCR0eXBlb2Ype2Nhc2UgZ3Q6cmV0dXJuIlBvcnRhbCI7Y2FzZSBEbDpyZXR1cm4gbC5kaXNwbGF5TmFtZXx8IkNvbnRleHQiO2Nhc2UgS3U6cmV0dXJuKGwuX2NvbnRleHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBfOnZhciB0PWwucmVuZGVyO3JldHVybiBsPWwuZGlzcGxheU5hbWUsbHx8KGw9dC5kaXNwbGF5TmFtZXx8dC5uYW1lfHwiIixsPWwhPT0iIj8iRm9yd2FyZFJlZigiK2wrIikiOiJGb3J3YXJkUmVmIiksbDtjYXNlIGNsOnJldHVybiB0PWwuZGlzcGxheU5hbWV8fG51bGwsdCE9PW51bGw/dDpXKGwudHlwZSl8fCJNZW1vIjtjYXNlIFA6dD1sLl9wYXlsb2FkLGw9bC5faW5pdDt0cnl7cmV0dXJuIFcobCh0KSl9Y2F0Y2h7fX1yZXR1cm4gbnVsbH12YXIgST1BcnJheS5pc0FycmF5LE49Z2wuX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLEc9dGwuX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFLEl0PXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0scWY9W10sZ2E9LTE7ZnVuY3Rpb24gWHQobCl7cmV0dXJue2N1cnJlbnQ6bH19ZnVuY3Rpb24gWWwobCl7MD5nYXx8KGwuY3VycmVudD1xZltnYV0scWZbZ2FdPW51bGwsZ2EtLSl9ZnVuY3Rpb24gb2wobCx0KXtnYSsrLHFmW2dhXT1sLmN1cnJlbnQsbC5jdXJyZW50PXR9dmFyIFF0PVh0KG51bGwpLGNlPVh0KG51bGwpLGh1PVh0KG51bGwpLHVuPVh0KG51bGwpO2Z1bmN0aW9uIGFuKGwsdCl7c3dpdGNoKG9sKGh1LHQpLG9sKGNlLGwpLG9sKFF0LG51bGwpLHQubm9kZVR5cGUpe2Nhc2UgOTpjYXNlIDExOmw9KGw9dC5kb2N1bWVudEVsZW1lbnQpJiYobD1sLm5hbWVzcGFjZVVSSSk/dW0obCk6MDticmVhaztkZWZhdWx0OmlmKGw9dC50YWdOYW1lLHQ9dC5uYW1lc3BhY2VVUkkpdD11bSh0KSxsPWFtKHQsbCk7ZWxzZSBzd2l0Y2gobCl7Y2FzZSJzdmciOmw9MTticmVhaztjYXNlIm1hdGgiOmw9MjticmVhaztkZWZhdWx0Omw9MH19WWwoUXQpLG9sKFF0LGwpfWZ1bmN0aW9uIFNhKCl7WWwoUXQpLFlsKGNlKSxZbChodSl9ZnVuY3Rpb24gQmYobCl7dmFyIHQ9bC5tZW1vaXplZFN0YXRlO3QhPT1udWxsJiYoZWUuX2N1cnJlbnRWYWx1ZT10Lm1lbW9pemVkU3RhdGUsb2wodW4sbCkpLHQ9UXQuY3VycmVudDt2YXIgdT1hbSh0LGwudHlwZSk7dCE9PXUmJihvbChjZSxsKSxvbChRdCx1KSl9ZnVuY3Rpb24gZW4obCl7Y2UuY3VycmVudD09PWwmJihZbChRdCksWWwoY2UpKSx1bi5jdXJyZW50PT09bCYmKFlsKHVuKSxlZS5fY3VycmVudFZhbHVlPUl0KX12YXIgR2YsYjA7ZnVuY3Rpb24gZ3UobCl7aWYoR2Y9PT12b2lkIDApdHJ5e3Rocm93IEVycm9yKCl9Y2F0Y2godSl7dmFyIHQ9dS5zdGFjay50cmltKCkubWF0Y2goL1xuKCAqKGF0ICk/KS8pO0dmPXQmJnRbMV18fCIiLGIwPS0xPHUuc3RhY2suaW5kZXhPZihgCiAgICBhdGApPyIgKDxhbm9ueW1vdXM+KSI6LTE8dS5zdGFjay5pbmRleE9mKCJAIik/IkB1bmtub3duOjA6MCI6IiJ9cmV0dXJuYApgK0dmK2wrYjB9dmFyIFhmPSExO2Z1bmN0aW9uIFFmKGwsdCl7aWYoIWx8fFhmKXJldHVybiIiO1hmPSEwO3ZhciB1PUVycm9yLnByZXBhcmVTdGFja1RyYWNlO0Vycm9yLnByZXBhcmVTdGFja1RyYWNlPXZvaWQgMDt0cnl7dmFyIGE9e0RldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdDpmdW5jdGlvbigpe3RyeXtpZih0KXt2YXIgRT1mdW5jdGlvbigpe3Rocm93IEVycm9yKCl9O2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFLnByb3RvdHlwZSwicHJvcHMiLHtzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLHR5cGVvZiBSZWZsZWN0PT0ib2JqZWN0IiYmUmVmbGVjdC5jb25zdHJ1Y3Qpe3RyeXtSZWZsZWN0LmNvbnN0cnVjdChFLFtdKX1jYXRjaChiKXt2YXIgeT1ifVJlZmxlY3QuY29uc3RydWN0KGwsW10sRSl9ZWxzZXt0cnl7RS5jYWxsKCl9Y2F0Y2goYil7eT1ifUU9ITE7dHJ5e3ZhciBoPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobC5wcm90b3R5cGUsInByb3BzIik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGwucHJvdG90eXBlLCJwcm9wcyIse2NvbmZpZ3VyYWJsZTohMCxzZXQ6ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfX0pLEU9ITAsbmV3IGx9ZmluYWxseXtFJiYoaCE9PXZvaWQgMD9PYmplY3QuZGVmaW5lUHJvcGVydHkobC5wcm90b3R5cGUsInByb3BzIixoKTpkZWxldGUgbC5wcm90b3R5cGUucHJvcHMpfX19ZWxzZXt0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChiKXt5PWJ9KEU9bCgpKSYmdHlwZW9mIEUuY2F0Y2g9PSJmdW5jdGlvbiImJkUuY2F0Y2goZnVuY3Rpb24oKXt9KX19Y2F0Y2goYil7aWYoYiYmeSYmdHlwZW9mIGIuc3RhY2s9PSJzdHJpbmciKXJldHVybltiLnN0YWNrLHkuc3RhY2tdfXJldHVybltudWxsLG51bGxdfX07YS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QuZGlzcGxheU5hbWU9IkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCI7dmFyIGU9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIpO2UmJmUuY29uZmlndXJhYmxlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QsIm5hbWUiLHt2YWx1ZToiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290In0pO3ZhciBuPWEuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290KCksZj1uWzBdLGM9blsxXTtpZihmJiZjKXt2YXIgaT1mLnNwbGl0KGAKYCksZD1jLnNwbGl0KGAKYCk7Zm9yKGU9YT0wO2E8aS5sZW5ndGgmJiFpW2FdLmluY2x1ZGVzKCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QiKTspYSsrO2Zvcig7ZTxkLmxlbmd0aCYmIWRbZV0uaW5jbHVkZXMoIkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCIpOyllKys7aWYoYT09PWkubGVuZ3RofHxlPT09ZC5sZW5ndGgpZm9yKGE9aS5sZW5ndGgtMSxlPWQubGVuZ3RoLTE7MTw9YSYmMDw9ZSYmaVthXSE9PWRbZV07KWUtLTtmb3IoOzE8PWEmJjA8PWU7YS0tLGUtLSlpZihpW2FdIT09ZFtlXSl7aWYoYSE9PTF8fGUhPT0xKWRvIGlmKGEtLSxlLS0sMD5lfHxpW2FdIT09ZFtlXSl7dmFyIGc9YApgK2lbYV0ucmVwbGFjZSgiIGF0IG5ldyAiLCIgYXQgIik7cmV0dXJuIGwuZGlzcGxheU5hbWUmJmcuaW5jbHVkZXMoIjxhbm9ueW1vdXM+IikmJihnPWcucmVwbGFjZSgiPGFub255bW91cz4iLGwuZGlzcGxheU5hbWUpKSxnfXdoaWxlKDE8PWEmJjA8PWUpO2JyZWFrfX19ZmluYWxseXtYZj0hMSxFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT11fXJldHVybih1PWw/bC5kaXNwbGF5TmFtZXx8bC5uYW1lOiIiKT9ndSh1KToiIn1mdW5jdGlvbiB0MShsLHQpe3N3aXRjaChsLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gZ3UobC50eXBlKTtjYXNlIDE2OnJldHVybiBndSgiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIGwuY2hpbGQhPT10JiZ0IT09bnVsbD9ndSgiU3VzcGVuc2UgRmFsbGJhY2siKTpndSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBndSgiU3VzcGVuc2VMaXN0Iik7Y2FzZSAwOmNhc2UgMTU6cmV0dXJuIFFmKGwudHlwZSwhMSk7Y2FzZSAxMTpyZXR1cm4gUWYobC50eXBlLnJlbmRlciwhMSk7Y2FzZSAxOnJldHVybiBRZihsLnR5cGUsITApO2Nhc2UgMzE6cmV0dXJuIGd1KCJBY3Rpdml0eSIpO2Nhc2UgMzA6cmV0dXJuIGd1KCJWaWV3VHJhbnNpdGlvbiIpO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIF8wKGwpe3RyeXt2YXIgdD0iIix1PW51bGw7ZG8gdCs9dDEobCx1KSx1PWwsbD1sLnJldHVybjt3aGlsZShsKTtyZXR1cm4gdH1jYXRjaChhKXtyZXR1cm5gCkVycm9yIGdlbmVyYXRpbmcgc3RhY2s6IGArYS5tZXNzYWdlK2AKYCthLnN0YWNrfX12YXIgamY9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxaZj1ELnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssVmY9RC51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayx1MT1ELnVuc3RhYmxlX3Nob3VsZFlpZWxkLGExPUQudW5zdGFibGVfcmVxdWVzdFBhaW50LGV0PUQudW5zdGFibGVfbm93LGUxPUQudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsTzA9RC51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxBMD1ELnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LG5uPUQudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksbjE9RC51bnN0YWJsZV9Mb3dQcmlvcml0eSxOMD1ELnVuc3RhYmxlX0lkbGVQcmlvcml0eSxmMT1ELmxvZyxjMT1ELnVuc3RhYmxlX3NldERpc2FibGVZaWVsZFZhbHVlLGllPW51bGwsbnQ9bnVsbDtmdW5jdGlvbiBTdShsKXtpZih0eXBlb2YgZjE9PSJmdW5jdGlvbiImJmMxKGwpLG50JiZ0eXBlb2YgbnQuc2V0U3RyaWN0TW9kZT09ImZ1bmN0aW9uIil0cnl7bnQuc2V0U3RyaWN0TW9kZShpZSxsKX1jYXRjaHt9fXZhciBmdD1NYXRoLmNsejMyP01hdGguY2x6MzI6bzEsaTE9TWF0aC5sb2csdjE9TWF0aC5MTjI7ZnVuY3Rpb24gbzEobCl7cmV0dXJuIGw+Pj49MCxsPT09MD8zMjozMS0oaTEobCkvdjF8MCl8MH12YXIgZm49MjU2LGNuPTI2MjE0NCx2bj00MTk0MzA0O2Z1bmN0aW9uIHd1KGwpe3ZhciB0PWwmNDI7aWYodCE9PTApcmV0dXJuIHQ7c3dpdGNoKGwmLWwpe2Nhc2UgMTpyZXR1cm4gMTtjYXNlIDI6cmV0dXJuIDI7Y2FzZSA0OnJldHVybiA0O2Nhc2UgODpyZXR1cm4gODtjYXNlIDE2OnJldHVybiAxNjtjYXNlIDMyOnJldHVybiAzMjtjYXNlIDY0OnJldHVybiA2NDtjYXNlIDEyODpyZXR1cm4gMTI4O2Nhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpyZXR1cm4gbCYtbDtjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiBsJjM5MzIxNjA7Y2FzZSA0MTk0MzA0OmNhc2UgODM4ODYwODpjYXNlIDE2Nzc3MjE2OmNhc2UgMzM1NTQ0MzI6cmV0dXJuIGwmNjI5MTQ1NjA7Y2FzZSA2NzEwODg2NDpyZXR1cm4gNjcxMDg4NjQ7Y2FzZSAxMzQyMTc3Mjg6cmV0dXJuIDEzNDIxNzcyODtjYXNlIDI2ODQzNTQ1NjpyZXR1cm4gMjY4NDM1NDU2O2Nhc2UgNTM2ODcwOTEyOnJldHVybiA1MzY4NzA5MTI7Y2FzZSAxMDczNzQxODI0OnJldHVybiAwO2RlZmF1bHQ6cmV0dXJuIGx9fWZ1bmN0aW9uIG9uKGwsdCx1KXt2YXIgYT1sLnBlbmRpbmdMYW5lcztpZihhPT09MClyZXR1cm4gMDt2YXIgZT0wLG49bC5zdXNwZW5kZWRMYW5lcyxmPWwucGluZ2VkTGFuZXM7bD1sLndhcm1MYW5lczt2YXIgYz1hJjEzNDIxNzcyNztyZXR1cm4gYyE9PTA/KGE9YyZ+bixhIT09MD9lPXd1KGEpOihmJj1jLGYhPT0wP2U9d3UoZik6dXx8KHU9YyZ+bCx1IT09MCYmKGU9d3UodSkpKSkpOihjPWEmfm4sYyE9PTA/ZT13dShjKTpmIT09MD9lPXd1KGYpOnV8fCh1PWEmfmwsdSE9PTAmJihlPXd1KHUpKSkpLGU9PT0wPzA6dCE9PTAmJnQhPT1lJiYodCZuKT09PTAmJihuPWUmLWUsdT10Ji10LG4+PXV8fG49PT0zMiYmKHUmNDE5NDA0OCkhPT0wKT90OmV9ZnVuY3Rpb24gdmUobCx0KXtyZXR1cm4obC5wZW5kaW5nTGFuZXMmfihsLnN1c3BlbmRlZExhbmVzJn5sLnBpbmdlZExhbmVzKSZ0KT09PTB9ZnVuY3Rpb24gRDAobCx0KXsodCY4KSE9PTAmJih0fD10JjMyKTt2YXIgdT1sLmVudGFuZ2xlZExhbmVzO2lmKHUhPT0wKWZvcihsPWwuZW50YW5nbGVtZW50cyx1Jj10OzA8dTspe3ZhciBhPTMxLWZ0KHUpLGU9MTw8YTt0fD1sW2FdLHUmPX5lfXJldHVybiB0fWZ1bmN0aW9uIHkxKGwsdCl7c3dpdGNoKGwpe2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OmNhc2UgODpjYXNlIDY0OnJldHVybiB0KzI1MDtjYXNlIDE2OmNhc2UgMzI6Y2FzZSAxMjg6Y2FzZSAyNTY6Y2FzZSA1MTI6Y2FzZSAxMDI0OmNhc2UgMjA0ODpjYXNlIDQwOTY6Y2FzZSA4MTkyOmNhc2UgMTYzODQ6Y2FzZSAzMjc2ODpjYXNlIDY1NTM2OmNhc2UgMTMxMDcyOmNhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIHQrNWUzO2Nhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOnJldHVybi0xO2Nhc2UgNjcxMDg4NjQ6Y2FzZSAxMzQyMTc3Mjg6Y2FzZSAyNjg0MzU0NTY6Y2FzZSA1MzY4NzA5MTI6Y2FzZSAxMDczNzQxODI0OnJldHVybi0xO2RlZmF1bHQ6cmV0dXJuLTF9fWZ1bmN0aW9uIE0wKCl7dmFyIGw9dm47cmV0dXJuIHZuPDw9MSwodm4mNjI5MTQ1NjApPT09MCYmKHZuPTQxOTQzMDQpLGx9ZnVuY3Rpb24gTGYobCl7Zm9yKHZhciB0PVtdLHU9MDszMT51O3UrKyl0LnB1c2gobCk7cmV0dXJuIHR9ZnVuY3Rpb24gb2UobCx0KXtsLnBlbmRpbmdMYW5lc3w9dCx0IT09MjY4NDM1NDU2JiYobC5zdXNwZW5kZWRMYW5lcz0wLGwucGluZ2VkTGFuZXM9MCxsLndhcm1MYW5lcz0wKX1mdW5jdGlvbiBtMShsLHQsdSxhLGUsbil7dmFyIGY9bC5wZW5kaW5nTGFuZXM7bC5wZW5kaW5nTGFuZXM9dSxsLnN1c3BlbmRlZExhbmVzPTAsbC5waW5nZWRMYW5lcz0wLGwud2FybUxhbmVzPTAsbC5leHBpcmVkTGFuZXMmPXUsbC5lbnRhbmdsZWRMYW5lcyY9dSxsLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzJj11LGwuc2hlbGxTdXNwZW5kQ291bnRlcj0wO3ZhciBjPWwuZW50YW5nbGVtZW50cyxpPWwuZXhwaXJhdGlvblRpbWVzLGQ9bC5oaWRkZW5VcGRhdGVzO2Zvcih1PWYmfnU7MDx1Oyl7dmFyIGc9MzEtZnQodSksRT0xPDxnO2NbZ109MCxpW2ddPS0xO3ZhciB5PWRbZ107aWYoeSE9PW51bGwpZm9yKGRbZ109bnVsbCxnPTA7Zzx5Lmxlbmd0aDtnKyspe3ZhciBoPXlbZ107aCE9PW51bGwmJihoLmxhbmUmPS01MzY4NzA5MTMpfXUmPX5FfWEhPT0wJiZVMChsLGEsMCksbiE9PTAmJmU9PT0wJiZsLnRhZyE9PTAmJihsLnN1c3BlbmRlZExhbmVzfD1uJn4oZiZ+dCkpfWZ1bmN0aW9uIFUwKGwsdCx1KXtsLnBlbmRpbmdMYW5lc3w9dCxsLnN1c3BlbmRlZExhbmVzJj1+dDt2YXIgYT0zMS1mdCh0KTtsLmVudGFuZ2xlZExhbmVzfD10LGwuZW50YW5nbGVtZW50c1thXT1sLmVudGFuZ2xlbWVudHNbYV18MTA3Mzc0MTgyNHx1JjI2MTkzMH1mdW5jdGlvbiBDMChsLHQpe3ZhciB1PWwuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGw9bC5lbnRhbmdsZW1lbnRzO3U7KXt2YXIgYT0zMS1mdCh1KSxlPTE8PGE7ZSZ0fGxbYV0mdCYmKGxbYV18PXQpLHUmPX5lfX1mdW5jdGlvbiBSMChsLHQpe3ZhciB1PXQmLXQ7cmV0dXJuIHU9KHUmNDIpIT09MD8xOnBmKHUpLCh1JihsLnN1c3BlbmRlZExhbmVzfHQpKSE9PTA/MDp1fWZ1bmN0aW9uIHBmKGwpe3N3aXRjaChsKXtjYXNlIDI6bD0xO2JyZWFrO2Nhc2UgODpsPTQ7YnJlYWs7Y2FzZSAzMjpsPTE2O2JyZWFrO2Nhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOmNhc2UgNDE5NDMwNDpjYXNlIDgzODg2MDg6Y2FzZSAxNjc3NzIxNjpjYXNlIDMzNTU0NDMyOmw9MTI4O2JyZWFrO2Nhc2UgMjY4NDM1NDU2Omw9MTM0MjE3NzI4O2JyZWFrO2RlZmF1bHQ6bD0wfXJldHVybiBsfWZ1bmN0aW9uIHhmKGwpe3JldHVybiBsJj0tbCwyPGw/ODxsPyhsJjEzNDIxNzcyNykhPT0wPzMyOjI2ODQzNTQ1Njo4OjJ9ZnVuY3Rpb24gSDAoKXt2YXIgbD1HLnA7cmV0dXJuIGwhPT0wP2w6KGw9d2luZG93LmV2ZW50LGw9PT12b2lkIDA/MzI6Wm0obC50eXBlKSl9ZnVuY3Rpb24gWTAobCx0KXt2YXIgdT1HLnA7dHJ5e3JldHVybiBHLnA9bCx0KCl9ZmluYWxseXtHLnA9dX19dmFyIGt0PU1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpLHFsPSJfX3JlYWN0RmliZXIkIitrdCxXbD0iX19yZWFjdFByb3BzJCIra3QscmE9Il9fcmVhY3RDb250YWluZXIkIitrdCxxMD0iX19yZWFjdEV2ZW50cyQiK2t0LGQxPSJfX3JlYWN0TGlzdGVuZXJzJCIra3QsczE9Il9fcmVhY3RIYW5kbGVzJCIra3QsQjA9Il9fcmVhY3RSZXNvdXJjZXMkIitrdCx5ZT0iX19yZWFjdE1hcmtlciQiK2t0LHluPSJfX3JlYWN0TG9hZCQiK2t0O2Z1bmN0aW9uIG1uKGwpe2RlbGV0ZSBsW3FsXSxkZWxldGUgbFtXbF0sZGVsZXRlIGxbZDFdLGRlbGV0ZSBsW3MxXX1mdW5jdGlvbiBXdShsKXt2YXIgdDtpZih0PWxbcWxdKXJldHVybiB0O2Zvcih2YXIgdT1sLnBhcmVudE5vZGU7dTspe2lmKHQ9dVtyYV18fHVbcWxdKXtpZih1PXQuYWx0ZXJuYXRlLHQuY2hpbGQhPT1udWxsfHx1IT09bnVsbCYmdS5jaGlsZCE9PW51bGwpZm9yKGw9RW0obCk7bCE9PW51bGw7KXtpZih1PWxbcWxdKXJldHVybiB1O2w9RW0obCl9cmV0dXJuIHR9bD11LHU9bC5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIFRhKGwpe2lmKGw9bFtxbF18fGxbcmFdKXt2YXIgdD1sLnRhZztpZih0PT09NXx8dD09PTZ8fHQ9PT0xM3x8dD09PTMxfHx0PT09MjZ8fHQ9PT0yN3x8dD09PTMpcmV0dXJuIGx9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbWUobCl7dmFyIHQ9bC50YWc7aWYodD09PTV8fHQ9PT0yNnx8dD09PTI3fHx0PT09NilyZXR1cm4gbC5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IoUygzMykpfWZ1bmN0aW9uIEVhKGwpe3ZhciB0PWxbQjBdO3JldHVybiB0fHwodD1sW0IwXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSksdH1mdW5jdGlvbiBNbChsKXtsW3llXT0hMH1mdW5jdGlvbiBHMChsKXtsW3luXT12b2lkIDB9dmFyIFgwPW5ldyBTZXQsUTA9e307ZnVuY3Rpb24gJHUobCx0KXt6YShsLHQpLHphKGwrIkNhcHR1cmUiLHQpfWZ1bmN0aW9uIHphKGwsdCl7Zm9yKFEwW2xdPXQsbD0wO2w8dC5sZW5ndGg7bCsrKVgwLmFkZCh0W2xdKX12YXIgaDE9UmVnRXhwKCJeWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXVs6QS1aX2EtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRFxcLS4wLTlcXHUwMEI3XFx1MDMwMC1cXHUwMzZGXFx1MjAzRi1cXHUyMDQwXSokIiksajA9e30sWjA9e307ZnVuY3Rpb24gZzEobCl7cmV0dXJuIGpmLmNhbGwoWjAsbCk/ITA6amYuY2FsbChqMCxsKT8hMTpoMS50ZXN0KGwpP1owW2xdPSEwOihqMFtsXT0hMCwhMSl9dmFyICQ9ITE7ZnVuY3Rpb24gVjAoKXt2YXIgbD0kO3JldHVybiAkPSExLGx9ZnVuY3Rpb24gZG4obCx0LHUpe2lmKGcxKHQpKWlmKHU9PT1udWxsKWwucmVtb3ZlQXR0cmlidXRlKHQpO2Vsc2V7c3dpdGNoKHR5cGVvZiB1KXtjYXNlInVuZGVmaW5lZCI6Y2FzZSJmdW5jdGlvbiI6Y2FzZSJzeW1ib2wiOmwucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybjtjYXNlImJvb2xlYW4iOnZhciBhPXQudG9Mb3dlckNhc2UoKS5zbGljZSgwLDUpO2lmKGEhPT0iZGF0YS0iJiZhIT09ImFyaWEtIil7bC5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJufX1sLnNldEF0dHJpYnV0ZSh0LHUpfX1mdW5jdGlvbiBzbihsLHQsdSl7aWYodT09PW51bGwpbC5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIHUpe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6Y2FzZSJib29sZWFuIjpsLnJlbW92ZUF0dHJpYnV0ZSh0KTtyZXR1cm59bC5zZXRBdHRyaWJ1dGUodCx1KX19ZnVuY3Rpb24gUHQobCx0LHUsYSl7aWYoYT09PW51bGwpbC5yZW1vdmVBdHRyaWJ1dGUodSk7ZWxzZXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6Y2FzZSJib29sZWFuIjpsLnJlbW92ZUF0dHJpYnV0ZSh1KTtyZXR1cm59bC5zZXRBdHRyaWJ1dGVOUyh0LHUsYSl9fWZ1bmN0aW9uIGN0KGwpe3N3aXRjaCh0eXBlb2YgbCl7Y2FzZSJiaWdpbnQiOmNhc2UiYm9vbGVhbiI6Y2FzZSJudW1iZXIiOmNhc2Uic3RyaW5nIjpjYXNlInVuZGVmaW5lZCI6cmV0dXJuIGw7Y2FzZSJvYmplY3QiOnJldHVybiBsO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIEwwKGwpe3ZhciB0PWwudHlwZTtyZXR1cm4obD1sLm5vZGVOYW1lKSYmbC50b0xvd2VyQ2FzZSgpPT09ImlucHV0IiYmKHQ9PT0iY2hlY2tib3gifHx0PT09InJhZGlvIil9ZnVuY3Rpb24gUzEobCx0LHUpe3ZhciBhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobC5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCk7aWYoIWwuaGFzT3duUHJvcGVydHkodCkmJnR5cGVvZiBhPCJ1IiYmdHlwZW9mIGEuZ2V0PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYS5zZXQ9PSJmdW5jdGlvbiIpe3ZhciBlPWEuZ2V0LG49YS5zZXQ7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLHQse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMpfSxzZXQ6ZnVuY3Rpb24oZil7dT0iIitmLG4uY2FsbCh0aGlzLGYpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsLHQse2VudW1lcmFibGU6YS5lbnVtZXJhYmxlfSkse2dldFZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LHNldFZhbHVlOmZ1bmN0aW9uKGYpe3U9IiIrZn0sc3RvcFRyYWNraW5nOmZ1bmN0aW9uKCl7bC5fdmFsdWVUcmFja2VyPW51bGwsZGVsZXRlIGxbdF19fX19ZnVuY3Rpb24gS2YobCl7aWYoIWwuX3ZhbHVlVHJhY2tlcil7dmFyIHQ9TDAobCk/ImNoZWNrZWQiOiJ2YWx1ZSI7bC5fdmFsdWVUcmFja2VyPVMxKGwsdCwiIitsW3RdKX19ZnVuY3Rpb24gcDAobCl7aWYoIWwpcmV0dXJuITE7dmFyIHQ9bC5fdmFsdWVUcmFja2VyO2lmKCF0KXJldHVybiEwO3ZhciB1PXQuZ2V0VmFsdWUoKSxhPSIiO3JldHVybiBsJiYoYT1MMChsKT9sLmNoZWNrZWQ/InRydWUiOiJmYWxzZSI6bC52YWx1ZSksbD1hLGwhPT11Pyh0LnNldFZhbHVlKGwpLCEwKTohMX12YXIgcjE9L1tcbiJcXF0vZztmdW5jdGlvbiBydChsKXtyZXR1cm4gbC5yZXBsYWNlKHIxLGZ1bmN0aW9uKHQpe3JldHVybiJcXCIrdC5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSsiICJ9KX1mdW5jdGlvbiBKZihsLHQsdSxhLGUsbixmLGMpe2wubmFtZT0iIixmIT1udWxsJiZ0eXBlb2YgZiE9ImZ1bmN0aW9uIiYmdHlwZW9mIGYhPSJzeW1ib2wiJiZ0eXBlb2YgZiE9ImJvb2xlYW4iP2wudHlwZT1mOmwucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksdCE9bnVsbD9mPT09Im51bWJlciI/KHQ9PT0wJiZsLnZhbHVlPT09IiJ8fGwudmFsdWUhPXQpJiYobC52YWx1ZT0iIitjdCh0KSk6bC52YWx1ZSE9PSIiK2N0KHQpJiYobC52YWx1ZT0iIitjdCh0KSk6ZiE9PSJzdWJtaXQiJiZmIT09InJlc2V0Inx8bC5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksdCE9bnVsbD9mPT09Im51bWJlciImJmwudmFsdWU9PXQ/d2YobCxjdChsLnZhbHVlKSk6d2YobCxjdCh0KSk6dSE9bnVsbD93ZihsLGN0KHUpKTphIT1udWxsJiZsLnJlbW92ZUF0dHJpYnV0ZSgidmFsdWUiKSxlPT1udWxsJiZuIT1udWxsJiYobC5kZWZhdWx0Q2hlY2tlZD0hIW4pLGUhPW51bGwmJihsLmNoZWNrZWQ9ZSYmdHlwZW9mIGUhPSJmdW5jdGlvbiImJnR5cGVvZiBlIT0ic3ltYm9sIiksYyE9bnVsbCYmdHlwZW9mIGMhPSJmdW5jdGlvbiImJnR5cGVvZiBjIT0ic3ltYm9sIiYmdHlwZW9mIGMhPSJib29sZWFuIj9sLm5hbWU9IiIrY3QoYyk6bC5yZW1vdmVBdHRyaWJ1dGUoIm5hbWUiKX1mdW5jdGlvbiB4MChsLHQsdSxhLGUsbixmLGMpe2lmKG4hPW51bGwmJnR5cGVvZiBuIT0iZnVuY3Rpb24iJiZ0eXBlb2YgbiE9InN5bWJvbCImJnR5cGVvZiBuIT0iYm9vbGVhbiImJihsLnR5cGU9biksdCE9bnVsbHx8dSE9bnVsbCl7aWYoIShuIT09InN1Ym1pdCImJm4hPT0icmVzZXQifHx0IT1udWxsKSl7S2YobCk7cmV0dXJufXU9dSE9bnVsbD8iIitjdCh1KToiIix0PXQhPW51bGw/IiIrY3QodCk6dSxjfHx0PT09bC52YWx1ZXx8KGwudmFsdWU9dCksbC5kZWZhdWx0VmFsdWU9dH1hPWE/P2UsYT10eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiJiYhIWEsbC5jaGVja2VkPWM/bC5jaGVja2VkOiEhYSxsLmRlZmF1bHRDaGVja2VkPSEhYSxmIT1udWxsJiZ0eXBlb2YgZiE9ImZ1bmN0aW9uIiYmdHlwZW9mIGYhPSJzeW1ib2wiJiZ0eXBlb2YgZiE9ImJvb2xlYW4iJiYobC5uYW1lPWYpLEtmKGwpfWZ1bmN0aW9uIHdmKGwsdCl7bC5kZWZhdWx0VmFsdWUhPT0iIit0JiYobC5kZWZhdWx0VmFsdWU9IiIrdCl9ZnVuY3Rpb24gYmEobCx0LHUsYSl7aWYobD1sLm9wdGlvbnMsdCl7dD17fTtmb3IodmFyIGU9MDtlPHUubGVuZ3RoO2UrKyl0WyIkIit1W2VdXT0hMDtmb3IodT0wO3U8bC5sZW5ndGg7dSsrKWU9dC5oYXNPd25Qcm9wZXJ0eSgiJCIrbFt1XS52YWx1ZSksbFt1XS5zZWxlY3RlZCE9PWUmJihsW3VdLnNlbGVjdGVkPWUpLGUmJmEmJihsW3VdLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IodT0iIitjdCh1KSx0PW51bGwsZT0wO2U8bC5sZW5ndGg7ZSsrKXtpZihsW2VdLnZhbHVlPT09dSl7bFtlXS5zZWxlY3RlZD0hMCxhJiYobFtlXS5kZWZhdWx0U2VsZWN0ZWQ9ITApO3JldHVybn10IT09bnVsbHx8bFtlXS5kaXNhYmxlZHx8KHQ9bFtlXSl9dCE9PW51bGwmJih0LnNlbGVjdGVkPSEwKX19ZnVuY3Rpb24gSzAobCx0LHUpe2lmKHQhPW51bGwmJih0PSIiK2N0KHQpLHQhPT1sLnZhbHVlJiYobC52YWx1ZT10KSx1PT1udWxsKSl7bC5kZWZhdWx0VmFsdWUhPT10JiYobC5kZWZhdWx0VmFsdWU9dCk7cmV0dXJufWwuZGVmYXVsdFZhbHVlPXUhPW51bGw/IiIrY3QodSk6IiJ9ZnVuY3Rpb24gSjAobCx0LHUsYSl7aWYodD09bnVsbCl7aWYoYSE9bnVsbCl7aWYodSE9bnVsbCl0aHJvdyBFcnJvcihTKDkyKSk7aWYoSShhKSl7aWYoMTxhLmxlbmd0aCl0aHJvdyBFcnJvcihTKDkzKSk7YT1hWzBdfXU9YX11PT1udWxsJiYodT0iIiksdD11fXU9Y3QodCksbC5kZWZhdWx0VmFsdWU9dSxhPWwudGV4dENvbnRlbnQsYT09PXUmJmEhPT0iIiYmYSE9PW51bGwmJihsLnZhbHVlPWEpLEtmKGwpfWZ1bmN0aW9uIF9hKGwsdCl7aWYodCl7dmFyIHU9bC5maXJzdENoaWxkO2lmKHUmJnU9PT1sLmxhc3RDaGlsZCYmdS5ub2RlVHlwZT09PTMpe3Uubm9kZVZhbHVlPXQ7cmV0dXJufX1sLnRleHRDb250ZW50PXR9dmFyIFQxPW5ldyBTZXQoImFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IGFzcGVjdFJhdGlvIGJvcmRlckltYWdlT3V0c2V0IGJvcmRlckltYWdlU2xpY2UgYm9yZGVySW1hZ2VXaWR0aCBib3hGbGV4IGJveEZsZXhHcm91cCBib3hPcmRpbmFsR3JvdXAgY29sdW1uQ291bnQgY29sdW1ucyBmbGV4IGZsZXhHcm93IGZsZXhQb3NpdGl2ZSBmbGV4U2hyaW5rIGZsZXhOZWdhdGl2ZSBmbGV4T3JkZXIgZ3JpZEFyZWEgZ3JpZFJvdyBncmlkUm93RW5kIGdyaWRSb3dTcGFuIGdyaWRSb3dTdGFydCBncmlkQ29sdW1uIGdyaWRDb2x1bW5FbmQgZ3JpZENvbHVtblNwYW4gZ3JpZENvbHVtblN0YXJ0IGZvbnRXZWlnaHQgbGluZUNsYW1wIGxpbmVIZWlnaHQgb3BhY2l0eSBvcmRlciBvcnBoYW5zIHNjYWxlIHRhYlNpemUgd2lkb3dzIHpJbmRleCB6b29tIGZpbGxPcGFjaXR5IGZsb29kT3BhY2l0eSBzdG9wT3BhY2l0eSBzdHJva2VEYXNoYXJyYXkgc3Ryb2tlRGFzaG9mZnNldCBzdHJva2VNaXRlcmxpbWl0IHN0cm9rZU9wYWNpdHkgc3Ryb2tlV2lkdGggTW96QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgTW96Qm94RmxleCBNb3pCb3hGbGV4R3JvdXAgTW96TGluZUNsYW1wIG1zQW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgbXNGbGV4IG1zWm9vbSBtc0ZsZXhHcm93IG1zRmxleE5lZ2F0aXZlIG1zRmxleE9yZGVyIG1zRmxleFBvc2l0aXZlIG1zRmxleFNocmluayBtc0dyaWRDb2x1bW4gbXNHcmlkQ29sdW1uU3BhbiBtc0dyaWRSb3cgbXNHcmlkUm93U3BhbiBXZWJraXRBbmltYXRpb25JdGVyYXRpb25Db3VudCBXZWJraXRCb3hGbGV4IFdlYktpdEJveEZsZXhHcm91cCBXZWJraXRCb3hPcmRpbmFsR3JvdXAgV2Via2l0Q29sdW1uQ291bnQgV2Via2l0Q29sdW1ucyBXZWJraXRGbGV4IFdlYmtpdEZsZXhHcm93IFdlYmtpdEZsZXhQb3NpdGl2ZSBXZWJraXRGbGV4U2hyaW5rIFdlYmtpdExpbmVDbGFtcCIuc3BsaXQoIiAiKSk7ZnVuY3Rpb24gdzAobCx0LHUpe3ZhciBhPXQuaW5kZXhPZigiLS0iKT09PTA7dT09bnVsbHx8dHlwZW9mIHU9PSJib29sZWFuInx8dT09PSIiP2E/bC5zZXRQcm9wZXJ0eSh0LCIiKTp0PT09ImZsb2F0Ij9sLmNzc0Zsb2F0PSIiOmxbdF09IiI6YT9sLnNldFByb3BlcnR5KHQsdSk6dHlwZW9mIHUhPSJudW1iZXIifHx1PT09MHx8VDEuaGFzKHQpP3Q9PT0iZmxvYXQiP2wuY3NzRmxvYXQ9dTpsW3RdPSgiIit1KS50cmltKCk6bFt0XT11KyJweCJ9ZnVuY3Rpb24gVzAobCx0LHUpe2lmKHQhPW51bGwmJnR5cGVvZiB0IT0ib2JqZWN0Iil0aHJvdyBFcnJvcihTKDYyKSk7aWYobD1sLnN0eWxlLHUhPW51bGwpe2Zvcih2YXIgYSBpbiB1KSF1Lmhhc093blByb3BlcnR5KGEpfHx0IT1udWxsJiZ0Lmhhc093blByb3BlcnR5KGEpfHwoYS5pbmRleE9mKCItLSIpPT09MD9sLnNldFByb3BlcnR5KGEsIiIpOmE9PT0iZmxvYXQiP2wuY3NzRmxvYXQ9IiI6bFthXT0iIiwkPSEwKTtmb3IodmFyIGUgaW4gdClhPXRbZV0sdC5oYXNPd25Qcm9wZXJ0eShlKSYmdVtlXSE9PWEmJih3MChsLGUsYSksJD0hMCl9ZWxzZSBmb3IodmFyIG4gaW4gdCl0Lmhhc093blByb3BlcnR5KG4pJiZ3MChsLG4sdFtuXSl9ZnVuY3Rpb24gV2YobCl7aWYobC5pbmRleE9mKCItIik9PT0tMSlyZXR1cm4hMTtzd2l0Y2gobCl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgRTE9bmV3IE1hcChbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXSxbImNyb3NzT3JpZ2luIiwiY3Jvc3NvcmlnaW4iXSxbImFjY2VudEhlaWdodCIsImFjY2VudC1oZWlnaHQiXSxbImFsaWdubWVudEJhc2VsaW5lIiwiYWxpZ25tZW50LWJhc2VsaW5lIl0sWyJhcmFiaWNGb3JtIiwiYXJhYmljLWZvcm0iXSxbImJhc2VsaW5lU2hpZnQiLCJiYXNlbGluZS1zaGlmdCJdLFsiY2FwSGVpZ2h0IiwiY2FwLWhlaWdodCJdLFsiY2xpcFBhdGgiLCJjbGlwLXBhdGgiXSxbImNsaXBSdWxlIiwiY2xpcC1ydWxlIl0sWyJjb2xvckludGVycG9sYXRpb24iLCJjb2xvci1pbnRlcnBvbGF0aW9uIl0sWyJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIl0sWyJjb2xvclByb2ZpbGUiLCJjb2xvci1wcm9maWxlIl0sWyJjb2xvclJlbmRlcmluZyIsImNvbG9yLXJlbmRlcmluZyJdLFsiZG9taW5hbnRCYXNlbGluZSIsImRvbWluYW50LWJhc2VsaW5lIl0sWyJlbmFibGVCYWNrZ3JvdW5kIiwiZW5hYmxlLWJhY2tncm91bmQiXSxbImZpbGxPcGFjaXR5IiwiZmlsbC1vcGFjaXR5Il0sWyJmaWxsUnVsZSIsImZpbGwtcnVsZSJdLFsiZmxvb2RDb2xvciIsImZsb29kLWNvbG9yIl0sWyJmbG9vZE9wYWNpdHkiLCJmbG9vZC1vcGFjaXR5Il0sWyJmb250RmFtaWx5IiwiZm9udC1mYW1pbHkiXSxbImZvbnRTaXplIiwiZm9udC1zaXplIl0sWyJmb250U2l6ZUFkanVzdCIsImZvbnQtc2l6ZS1hZGp1c3QiXSxbImZvbnRTdHJldGNoIiwiZm9udC1zdHJldGNoIl0sWyJmb250U3R5bGUiLCJmb250LXN0eWxlIl0sWyJmb250VmFyaWFudCIsImZvbnQtdmFyaWFudCJdLFsiZm9udFdlaWdodCIsImZvbnQtd2VpZ2h0Il0sWyJnbHlwaE5hbWUiLCJnbHlwaC1uYW1lIl0sWyJnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCIsImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiXSxbImdseXBoT3JpZW50YXRpb25WZXJ0aWNhbCIsImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIl0sWyJob3JpekFkdlgiLCJob3Jpei1hZHYteCJdLFsiaG9yaXpPcmlnaW5YIiwiaG9yaXotb3JpZ2luLXgiXSxbImltYWdlUmVuZGVyaW5nIiwiaW1hZ2UtcmVuZGVyaW5nIl0sWyJsZXR0ZXJTcGFjaW5nIiwibGV0dGVyLXNwYWNpbmciXSxbImxpZ2h0aW5nQ29sb3IiLCJsaWdodGluZy1jb2xvciJdLFsibWFya2VyRW5kIiwibWFya2VyLWVuZCJdLFsibWFya2VyTWlkIiwibWFya2VyLW1pZCJdLFsibWFya2VyU3RhcnQiLCJtYXJrZXItc3RhcnQiXSxbIm1hc2tUeXBlIiwibWFzay10eXBlIl0sWyJvdmVybGluZVBvc2l0aW9uIiwib3ZlcmxpbmUtcG9zaXRpb24iXSxbIm92ZXJsaW5lVGhpY2tuZXNzIiwib3ZlcmxpbmUtdGhpY2tuZXNzIl0sWyJwYWludE9yZGVyIiwicGFpbnQtb3JkZXIiXSxbInBhbm9zZS0xIiwicGFub3NlLTEiXSxbInBvaW50ZXJFdmVudHMiLCJwb2ludGVyLWV2ZW50cyJdLFsicmVuZGVyaW5nSW50ZW50IiwicmVuZGVyaW5nLWludGVudCJdLFsic2hhcGVSZW5kZXJpbmciLCJzaGFwZS1yZW5kZXJpbmciXSxbInN0b3BDb2xvciIsInN0b3AtY29sb3IiXSxbInN0b3BPcGFjaXR5Iiwic3RvcC1vcGFjaXR5Il0sWyJzdHJpa2V0aHJvdWdoUG9zaXRpb24iLCJzdHJpa2V0aHJvdWdoLXBvc2l0aW9uIl0sWyJzdHJpa2V0aHJvdWdoVGhpY2tuZXNzIiwic3RyaWtldGhyb3VnaC10aGlja25lc3MiXSxbInN0cm9rZURhc2hhcnJheSIsInN0cm9rZS1kYXNoYXJyYXkiXSxbInN0cm9rZURhc2hvZmZzZXQiLCJzdHJva2UtZGFzaG9mZnNldCJdLFsic3Ryb2tlTGluZWNhcCIsInN0cm9rZS1saW5lY2FwIl0sWyJzdHJva2VMaW5lam9pbiIsInN0cm9rZS1saW5lam9pbiJdLFsic3Ryb2tlTWl0ZXJsaW1pdCIsInN0cm9rZS1taXRlcmxpbWl0Il0sWyJzdHJva2VPcGFjaXR5Iiwic3Ryb2tlLW9wYWNpdHkiXSxbInN0cm9rZVdpZHRoIiwic3Ryb2tlLXdpZHRoIl0sWyJ0ZXh0QW5jaG9yIiwidGV4dC1hbmNob3IiXSxbInRleHREZWNvcmF0aW9uIiwidGV4dC1kZWNvcmF0aW9uIl0sWyJ0ZXh0UmVuZGVyaW5nIiwidGV4dC1yZW5kZXJpbmciXSxbInRyYW5zZm9ybU9yaWdpbiIsInRyYW5zZm9ybS1vcmlnaW4iXSxbInVuZGVybGluZVBvc2l0aW9uIiwidW5kZXJsaW5lLXBvc2l0aW9uIl0sWyJ1bmRlcmxpbmVUaGlja25lc3MiLCJ1bmRlcmxpbmUtdGhpY2tuZXNzIl0sWyJ1bmljb2RlQmlkaSIsInVuaWNvZGUtYmlkaSJdLFsidW5pY29kZVJhbmdlIiwidW5pY29kZS1yYW5nZSJdLFsidW5pdHNQZXJFbSIsInVuaXRzLXBlci1lbSJdLFsidkFscGhhYmV0aWMiLCJ2LWFscGhhYmV0aWMiXSxbInZIYW5naW5nIiwidi1oYW5naW5nIl0sWyJ2SWRlb2dyYXBoaWMiLCJ2LWlkZW9ncmFwaGljIl0sWyJ2TWF0aGVtYXRpY2FsIiwidi1tYXRoZW1hdGljYWwiXSxbInZlY3RvckVmZmVjdCIsInZlY3Rvci1lZmZlY3QiXSxbInZlcnRBZHZZIiwidmVydC1hZHYteSJdLFsidmVydE9yaWdpblgiLCJ2ZXJ0LW9yaWdpbi14Il0sWyJ2ZXJ0T3JpZ2luWSIsInZlcnQtb3JpZ2luLXkiXSxbIndvcmRTcGFjaW5nIiwid29yZC1zcGFjaW5nIl0sWyJ3cml0aW5nTW9kZSIsIndyaXRpbmctbW9kZSJdLFsieG1sbnNYbGluayIsInhtbG5zOnhsaW5rIl0sWyJ4SGVpZ2h0IiwieC1oZWlnaHQiXV0pLHoxPS9eW1x1MDAwMC1cdTAwMUYgXSpqW1xyXG5cdF0qYVtcclxuXHRdKnZbXHJcblx0XSphW1xyXG5cdF0qc1tcclxuXHRdKmNbXHJcblx0XSpyW1xyXG5cdF0qaVtcclxuXHRdKnBbXHJcblx0XSp0W1xyXG5cdF0qOi9pO2Z1bmN0aW9uIGhuKGwpe3JldHVybiB6MS50ZXN0KCIiK2wpPyJqYXZhc2NyaXB0OnRocm93IG5ldyBFcnJvcignUmVhY3QgaGFzIGJsb2NrZWQgYSBqYXZhc2NyaXB0OiBVUkwgYXMgYSBzZWN1cml0eSBwcmVjYXV0aW9uLicpIjpsfWZ1bmN0aW9uIGp0KCl7fXZhciAkZj1udWxsO2Z1bmN0aW9uIEZmKGwpe3JldHVybiBsPWwudGFyZ2V0fHxsLnNyY0VsZW1lbnR8fHdpbmRvdyxsLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYobD1sLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSxsLm5vZGVUeXBlPT09Mz9sLnBhcmVudE5vZGU6bH12YXIgT2E9bnVsbCxBYT1udWxsO2Z1bmN0aW9uICQwKGwpe3ZhciB0PVRhKGwpO2lmKHQmJihsPXQuc3RhdGVOb2RlKSl7dmFyIHU9bFtXbF18fG51bGw7bDpzd2l0Y2gobD10LnN0YXRlTm9kZSx0LnR5cGUpe2Nhc2UiaW5wdXQiOmlmKEpmKGwsdS52YWx1ZSx1LmRlZmF1bHRWYWx1ZSx1LmRlZmF1bHRWYWx1ZSx1LmNoZWNrZWQsdS5kZWZhdWx0Q2hlY2tlZCx1LnR5cGUsdS5uYW1lKSx0PXUubmFtZSx1LnR5cGU9PT0icmFkaW8iJiZ0IT1udWxsKXtmb3IodT1sO3UucGFyZW50Tm9kZTspdT11LnBhcmVudE5vZGU7Zm9yKHU9dS5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dFtuYW1lPSInK3J0KCIiK3QpKyciXVt0eXBlPSJyYWRpbyJdJyksdD0wO3Q8dS5sZW5ndGg7dCsrKXt2YXIgYT11W3RdO2lmKGEhPT1sJiZhLmZvcm09PT1sLmZvcm0pe3ZhciBlPWFbV2xdfHxudWxsO2lmKCFlKXRocm93IEVycm9yKFMoOTApKTtKZihhLGUudmFsdWUsZS5kZWZhdWx0VmFsdWUsZS5kZWZhdWx0VmFsdWUsZS5jaGVja2VkLGUuZGVmYXVsdENoZWNrZWQsZS50eXBlLGUubmFtZSl9fWZvcih0PTA7dDx1Lmxlbmd0aDt0KyspYT11W3RdLGEuZm9ybT09PWwuZm9ybSYmcDAoYSl9YnJlYWsgbDtjYXNlInRleHRhcmVhIjpLMChsLHUudmFsdWUsdS5kZWZhdWx0VmFsdWUpO2JyZWFrIGw7Y2FzZSJzZWxlY3QiOnQ9dS52YWx1ZSx0IT1udWxsJiZiYShsLCEhdS5tdWx0aXBsZSx0LCExKX19fXZhciBJZj0hMTtmdW5jdGlvbiBGMChsLHQsdSl7aWYoSWYpcmV0dXJuIGwodCx1KTtJZj0hMDt0cnl7dmFyIGE9bCh0KTtyZXR1cm4gYX1maW5hbGx5e2lmKElmPSExLChPYSE9PW51bGx8fEFhIT09bnVsbCkmJihnZigpLE9hJiYodD1PYSxsPUFhLEFhPU9hPW51bGwsJDAodCksbCkpKWZvcih0PTA7dDxsLmxlbmd0aDt0KyspJDAobFt0XSl9fWZ1bmN0aW9uIGRlKGwsdCl7dmFyIHU9bC5zdGF0ZU5vZGU7aWYodT09PW51bGwpcmV0dXJuIG51bGw7dmFyIGE9dVtXbF18fG51bGw7aWYoYT09PW51bGwpcmV0dXJuIG51bGw7dT1hW3RdO2w6c3dpdGNoKHQpe2Nhc2Uib25DbGljayI6Y2FzZSJvbkNsaWNrQ2FwdHVyZSI6Y2FzZSJvbkRvdWJsZUNsaWNrIjpjYXNlIm9uRG91YmxlQ2xpY2tDYXB0dXJlIjpjYXNlIm9uTW91c2VEb3duIjpjYXNlIm9uTW91c2VEb3duQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlTW92ZSI6Y2FzZSJvbk1vdXNlTW92ZUNhcHR1cmUiOmNhc2Uib25Nb3VzZVVwIjpjYXNlIm9uTW91c2VVcENhcHR1cmUiOmNhc2Uib25Nb3VzZUVudGVyIjooYT0hYS5kaXNhYmxlZCl8fChsPWwudHlwZSxhPSEobD09PSJidXR0b24ifHxsPT09ImlucHV0Inx8bD09PSJzZWxlY3QifHxsPT09InRleHRhcmVhIikpLGw9IWE7YnJlYWsgbDtkZWZhdWx0Omw9ITF9aWYobClyZXR1cm4gbnVsbDtpZih1JiZ0eXBlb2YgdSE9ImZ1bmN0aW9uIil0aHJvdyBFcnJvcihTKDIzMSx0LHR5cGVvZiB1KSk7cmV0dXJuIHV9dmFyIGx1PSEodHlwZW9mIHdpbmRvdz4idSJ8fHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQ+InUifHx0eXBlb2Ygd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQ+InUiKSxrZj0hMTtpZihsdSl0cnl7dmFyIHNlPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShzZSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe2tmPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixzZSxzZSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLHNlLHNlKX1jYXRjaHtrZj0hMX12YXIgcnU9bnVsbCxQZj1udWxsLGduPW51bGw7ZnVuY3Rpb24gSTAoKXtpZihnbilyZXR1cm4gZ247dmFyIGwsdD1QZix1PXQubGVuZ3RoLGEsZT0idmFsdWUiaW4gcnU/cnUudmFsdWU6cnUudGV4dENvbnRlbnQsbj1lLmxlbmd0aDtmb3IobD0wO2w8dSYmdFtsXT09PWVbbF07bCsrKTt2YXIgZj11LWw7Zm9yKGE9MTthPD1mJiZ0W3UtYV09PT1lW24tYV07YSsrKTtyZXR1cm4gZ249ZS5zbGljZShsLDE8YT8xLWE6dm9pZCAwKX1mdW5jdGlvbiBTbihsKXt2YXIgdD1sLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGw/KGw9bC5jaGFyQ29kZSxsPT09MCYmdD09PTEzJiYobD0xMykpOmw9dCxsPT09MTAmJihsPTEzKSwzMjw9bHx8bD09PTEzP2w6MH1mdW5jdGlvbiBybigpe3JldHVybiEwfWZ1bmN0aW9uIGswKCl7cmV0dXJuITF9ZnVuY3Rpb24gTGwobCl7ZnVuY3Rpb24gdCh1LGEsZSxuLGYpe3RoaXMuX3JlYWN0TmFtZT11LHRoaXMuX3RhcmdldEluc3Q9ZSx0aGlzLnR5cGU9YSx0aGlzLm5hdGl2ZUV2ZW50PW4sdGhpcy50YXJnZXQ9Zix0aGlzLmN1cnJlbnRUYXJnZXQ9bnVsbDtmb3IodmFyIGMgaW4gbClsLmhhc093blByb3BlcnR5KGMpJiYodT1sW2NdLHRoaXNbY109dT91KG4pOm5bY10pO3JldHVybiB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD0obi5kZWZhdWx0UHJldmVudGVkIT1udWxsP24uZGVmYXVsdFByZXZlbnRlZDpuLnJldHVyblZhbHVlPT09ITEpP3JuOmswLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9azAsdGhpc31yZXR1cm4gVih0LnByb3RvdHlwZSx7cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9ITA7dmFyIHU9dGhpcy5uYXRpdmVFdmVudDt1JiYodS5wcmV2ZW50RGVmYXVsdD91LnByZXZlbnREZWZhdWx0KCk6dHlwZW9mIHUucmV0dXJuVmFsdWUhPSJ1bmtub3duIiYmKHUucmV0dXJuVmFsdWU9ITEpLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPXJuKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIHU9dGhpcy5uYXRpdmVFdmVudDt1JiYodS5zdG9wUHJvcGFnYXRpb24/dS5zdG9wUHJvcGFnYXRpb24oKTp0eXBlb2YgdS5jYW5jZWxCdWJibGUhPSJ1bmtub3duIiYmKHUuY2FuY2VsQnViYmxlPSEwKSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXJuKX0scGVyc2lzdDpmdW5jdGlvbigpe30saXNQZXJzaXN0ZW50OnJufSksdH12YXIgVHU9e2V2ZW50UGhhc2U6MCxidWJibGVzOjAsY2FuY2VsYWJsZTowLHRpbWVTdGFtcDpmdW5jdGlvbihsKXtyZXR1cm4gbC50aW1lU3RhbXB8fERhdGUubm93KCl9LGRlZmF1bHRQcmV2ZW50ZWQ6MCxpc1RydXN0ZWQ6MH0sVG49TGwoVHUpLGhlPVYoe30sVHUse3ZpZXc6MCxkZXRhaWw6MH0pLGIxPUxsKGhlKSxsYyx0YyxnZSxFbj1WKHt9LGhlLHtzY3JlZW5YOjAsc2NyZWVuWTowLGNsaWVudFg6MCxjbGllbnRZOjAscGFnZVg6MCxwYWdlWTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxnZXRNb2RpZmllclN0YXRlOmFjLGJ1dHRvbjowLGJ1dHRvbnM6MCxyZWxhdGVkVGFyZ2V0OmZ1bmN0aW9uKGwpe3JldHVybiBsLnJlbGF0ZWRUYXJnZXQ9PT12b2lkIDA/bC5mcm9tRWxlbWVudD09PWwuc3JjRWxlbWVudD9sLnRvRWxlbWVudDpsLmZyb21FbGVtZW50OmwucmVsYXRlZFRhcmdldH0sbW92ZW1lbnRYOmZ1bmN0aW9uKGwpe3JldHVybiJtb3ZlbWVudFgiaW4gbD9sLm1vdmVtZW50WDoobCE9PWdlJiYoZ2UmJmwudHlwZT09PSJtb3VzZW1vdmUiPyhsYz1sLnNjcmVlblgtZ2Uuc2NyZWVuWCx0Yz1sLnNjcmVlblktZ2Uuc2NyZWVuWSk6dGM9bGM9MCxnZT1sKSxsYyl9LG1vdmVtZW50WTpmdW5jdGlvbihsKXtyZXR1cm4ibW92ZW1lbnRZImluIGw/bC5tb3ZlbWVudFk6dGN9fSksUDA9TGwoRW4pLF8xPVYoe30sRW4se2RhdGFUcmFuc2ZlcjowfSksTzE9TGwoXzEpLEExPVYoe30saGUse3JlbGF0ZWRUYXJnZXQ6MH0pLHVjPUxsKEExKSxOMT1WKHt9LFR1LHthbmltYXRpb25OYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSxEMT1MbChOMSksTTE9Vih7fSxUdSx7Y2xpcGJvYXJkRGF0YTpmdW5jdGlvbihsKXtyZXR1cm4iY2xpcGJvYXJkRGF0YSJpbiBsP2wuY2xpcGJvYXJkRGF0YTp3aW5kb3cuY2xpcGJvYXJkRGF0YX19KSxVMT1MbChNMSksQzE9Vih7fSxUdSx7ZGF0YTowfSksbHY9TGwoQzEpLFIxPXtFc2M6IkVzY2FwZSIsU3BhY2ViYXI6IiAiLExlZnQ6IkFycm93TGVmdCIsVXA6IkFycm93VXAiLFJpZ2h0OiJBcnJvd1JpZ2h0IixEb3duOiJBcnJvd0Rvd24iLERlbDoiRGVsZXRlIixXaW46Ik9TIixNZW51OiJDb250ZXh0TWVudSIsQXBwczoiQ29udGV4dE1lbnUiLFNjcm9sbDoiU2Nyb2xsTG9jayIsTW96UHJpbnRhYmxlS2V5OiJVbmlkZW50aWZpZWQifSxIMT17ODoiQmFja3NwYWNlIiw5OiJUYWIiLDEyOiJDbGVhciIsMTM6IkVudGVyIiwxNjoiU2hpZnQiLDE3OiJDb250cm9sIiwxODoiQWx0IiwxOToiUGF1c2UiLDIwOiJDYXBzTG9jayIsMjc6IkVzY2FwZSIsMzI6IiAiLDMzOiJQYWdlVXAiLDM0OiJQYWdlRG93biIsMzU6IkVuZCIsMzY6IkhvbWUiLDM3OiJBcnJvd0xlZnQiLDM4OiJBcnJvd1VwIiwzOToiQXJyb3dSaWdodCIsNDA6IkFycm93RG93biIsNDU6Ikluc2VydCIsNDY6IkRlbGV0ZSIsMTEyOiJGMSIsMTEzOiJGMiIsMTE0OiJGMyIsMTE1OiJGNCIsMTE2OiJGNSIsMTE3OiJGNiIsMTE4OiJGNyIsMTE5OiJGOCIsMTIwOiJGOSIsMTIxOiJGMTAiLDEyMjoiRjExIiwxMjM6IkYxMiIsMTQ0OiJOdW1Mb2NrIiwxNDU6IlNjcm9sbExvY2siLDIyNDoiTWV0YSJ9LFkxPXtBbHQ6ImFsdEtleSIsQ29udHJvbDoiY3RybEtleSIsTWV0YToibWV0YUtleSIsU2hpZnQ6InNoaWZ0S2V5In07ZnVuY3Rpb24gcTEobCl7dmFyIHQ9dGhpcy5uYXRpdmVFdmVudDtyZXR1cm4gdC5nZXRNb2RpZmllclN0YXRlP3QuZ2V0TW9kaWZpZXJTdGF0ZShsKToobD1ZMVtsXSk/ISF0W2xdOiExfWZ1bmN0aW9uIGFjKCl7cmV0dXJuIHExfXZhciBCMT1WKHt9LGhlLHtrZXk6ZnVuY3Rpb24obCl7aWYobC5rZXkpe3ZhciB0PVIxW2wua2V5XXx8bC5rZXk7aWYodCE9PSJVbmlkZW50aWZpZWQiKXJldHVybiB0fXJldHVybiBsLnR5cGU9PT0ia2V5cHJlc3MiPyhsPVNuKGwpLGw9PT0xMz8iRW50ZXIiOlN0cmluZy5mcm9tQ2hhckNvZGUobCkpOmwudHlwZT09PSJrZXlkb3duInx8bC50eXBlPT09ImtleXVwIj9IMVtsLmtleUNvZGVdfHwiVW5pZGVudGlmaWVkIjoiIn0sY29kZTowLGxvY2F0aW9uOjAsY3RybEtleTowLHNoaWZ0S2V5OjAsYWx0S2V5OjAsbWV0YUtleTowLHJlcGVhdDowLGxvY2FsZTowLGdldE1vZGlmaWVyU3RhdGU6YWMsY2hhckNvZGU6ZnVuY3Rpb24obCl7cmV0dXJuIGwudHlwZT09PSJrZXlwcmVzcyI/U24obCk6MH0sa2V5Q29kZTpmdW5jdGlvbihsKXtyZXR1cm4gbC50eXBlPT09ImtleWRvd24ifHxsLnR5cGU9PT0ia2V5dXAiP2wua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihsKXtyZXR1cm4gbC50eXBlPT09ImtleXByZXNzIj9TbihsKTpsLnR5cGU9PT0ia2V5ZG93biJ8fGwudHlwZT09PSJrZXl1cCI/bC5rZXlDb2RlOjB9fSksRzE9TGwoQjEpLFgxPVYoe30sRW4se3BvaW50ZXJJZDowLHdpZHRoOjAsaGVpZ2h0OjAscHJlc3N1cmU6MCx0YW5nZW50aWFsUHJlc3N1cmU6MCx0aWx0WDowLHRpbHRZOjAsdHdpc3Q6MCxwb2ludGVyVHlwZTowLGlzUHJpbWFyeTowfSksdHY9TGwoWDEpLFExPVYoe30sVHUse3N1Ym1pdHRlcjowfSksajE9TGwoUTEpLFoxPVYoe30saGUse3RvdWNoZXM6MCx0YXJnZXRUb3VjaGVzOjAsY2hhbmdlZFRvdWNoZXM6MCxhbHRLZXk6MCxtZXRhS2V5OjAsY3RybEtleTowLHNoaWZ0S2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTphY30pLFYxPUxsKFoxKSxMMT1WKHt9LFR1LHtwcm9wZXJ0eU5hbWU6MCxlbGFwc2VkVGltZTowLHBzZXVkb0VsZW1lbnQ6MH0pLHAxPUxsKEwxKSx4MT1WKHt9LEVuLHtkZWx0YVg6ZnVuY3Rpb24obCl7cmV0dXJuImRlbHRhWCJpbiBsP2wuZGVsdGFYOiJ3aGVlbERlbHRhWCJpbiBsPy1sLndoZWVsRGVsdGFYOjB9LGRlbHRhWTpmdW5jdGlvbihsKXtyZXR1cm4iZGVsdGFZImluIGw/bC5kZWx0YVk6IndoZWVsRGVsdGFZImluIGw/LWwud2hlZWxEZWx0YVk6IndoZWVsRGVsdGEiaW4gbD8tbC53aGVlbERlbHRhOjB9LGRlbHRhWjowLGRlbHRhTW9kZTowfSksSzE9TGwoeDEpLEoxPVYoe30sVHUse25ld1N0YXRlOjAsb2xkU3RhdGU6MCxzb3VyY2U6MH0pLHcxPUxsKEoxKSxXMT1bOSwxMywyNywzMl0sZWM9bHUmJiJDb21wb3NpdGlvbkV2ZW50ImluIHdpbmRvdyxTZT1udWxsO2x1JiYiZG9jdW1lbnRNb2RlImluIGRvY3VtZW50JiYoU2U9ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKTt2YXIgJDE9bHUmJiJUZXh0RXZlbnQiaW4gd2luZG93JiYhU2UsdXY9bHUmJighZWN8fFNlJiY4PFNlJiYxMT49U2UpLGF2PSIgIixldj0hMTtmdW5jdGlvbiBudihsLHQpe3N3aXRjaChsKXtjYXNlImtleXVwIjpyZXR1cm4gVzEuaW5kZXhPZih0LmtleUNvZGUpIT09LTE7Y2FzZSJrZXlkb3duIjpyZXR1cm4gdC5rZXlDb2RlIT09MjI5O2Nhc2Uia2V5cHJlc3MiOmNhc2UibW91c2Vkb3duIjpjYXNlImZvY3Vzb3V0IjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBmdihsKXtyZXR1cm4gbD1sLmRldGFpbCx0eXBlb2YgbD09Im9iamVjdCImJiJkYXRhImluIGw/bC5kYXRhOm51bGx9dmFyIE5hPSExO2Z1bmN0aW9uIEYxKGwsdCl7c3dpdGNoKGwpe2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBmdih0KTtjYXNlImtleXByZXNzIjpyZXR1cm4gdC53aGljaCE9PTMyP251bGw6KGV2PSEwLGF2KTtjYXNlInRleHRJbnB1dCI6cmV0dXJuIGw9dC5kYXRhLGw9PT1hdiYmZXY/bnVsbDpsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIEkxKGwsdCl7aWYoTmEpcmV0dXJuIGw9PT0iY29tcG9zaXRpb25lbmQifHwhZWMmJm52KGwsdCk/KGw9STAoKSxnbj1QZj1ydT1udWxsLE5hPSExLGwpOm51bGw7c3dpdGNoKGwpe2Nhc2UicGFzdGUiOnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEodC5jdHJsS2V5fHx0LmFsdEtleXx8dC5tZXRhS2V5KXx8dC5jdHJsS2V5JiZ0LmFsdEtleSl7aWYodC5jaGFyJiYxPHQuY2hhci5sZW5ndGgpcmV0dXJuIHQuY2hhcjtpZih0LndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQud2hpY2gpfXJldHVybiBudWxsO2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiB1diYmdC5sb2NhbGUhPT0ia28iP251bGw6dC5kYXRhO2RlZmF1bHQ6cmV0dXJuIG51bGx9fXZhciBrMT17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gY3YobCl7dmFyIHQ9bCYmbC5ub2RlTmFtZSYmbC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PT09ImlucHV0Ij8hIWsxW2wudHlwZV06dD09PSJ0ZXh0YXJlYSJ9ZnVuY3Rpb24gaXYobCx0LHUsYSl7T2E/QWE/QWEucHVzaChhKTpBYT1bYV06T2E9YSx0PWJmKHQsIm9uQ2hhbmdlIiksMDx0Lmxlbmd0aCYmKHU9bmV3IFRuKCJvbkNoYW5nZSIsImNoYW5nZSIsbnVsbCx1LGEpLGwucHVzaCh7ZXZlbnQ6dSxsaXN0ZW5lcnM6dH0pKX12YXIgcmU9bnVsbCxUZT1udWxsO2Z1bmN0aW9uIFAxKGwpe0Z5KGwsMCl9ZnVuY3Rpb24gem4obCl7dmFyIHQ9bWUobCk7aWYocDAodCkpcmV0dXJuIGx9ZnVuY3Rpb24gdnYobCx0KXtpZihsPT09ImNoYW5nZSIpcmV0dXJuIHR9dmFyIG92PSExO2lmKGx1KXt2YXIgbmM7aWYobHUpe3ZhciBmYz0ib25pbnB1dCJpbiBkb2N1bWVudDtpZighZmMpe3ZhciB5dj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt5di5zZXRBdHRyaWJ1dGUoIm9uaW5wdXQiLCJyZXR1cm47IiksZmM9dHlwZW9mIHl2Lm9uaW5wdXQ9PSJmdW5jdGlvbiJ9bmM9ZmN9ZWxzZSBuYz0hMTtvdj1uYyYmKCFkb2N1bWVudC5kb2N1bWVudE1vZGV8fDk8ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKX1mdW5jdGlvbiBtdigpe3JlJiYocmUuZGV0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLGR2KSxUZT1yZT1udWxsKX1mdW5jdGlvbiBkdihsKXtpZihsLnByb3BlcnR5TmFtZT09PSJ2YWx1ZSImJnpuKFRlKSl7dmFyIHQ9W107aXYodCxUZSxsLEZmKGwpKSxGMChQMSx0KX19ZnVuY3Rpb24gbGQobCx0LHUpe2w9PT0iZm9jdXNpbiI/KG12KCkscmU9dCxUZT11LHJlLmF0dGFjaEV2ZW50KCJvbnByb3BlcnR5Y2hhbmdlIixkdikpOmw9PT0iZm9jdXNvdXQiJiZtdigpfWZ1bmN0aW9uIHRkKGwpe2lmKGw9PT0ic2VsZWN0aW9uY2hhbmdlInx8bD09PSJrZXl1cCJ8fGw9PT0ia2V5ZG93biIpcmV0dXJuIHpuKFRlKX1mdW5jdGlvbiB1ZChsLHQpe2lmKGw9PT0iY2xpY2siKXJldHVybiB6bih0KX1mdW5jdGlvbiBhZChsLHQpe2lmKGw9PT0iaW5wdXQifHxsPT09ImNoYW5nZSIpcmV0dXJuIHpuKHQpfWZ1bmN0aW9uIGVkKGwsdCl7cmV0dXJuIGw9PT10JiYobCE9PTB8fDEvbD09PTEvdCl8fGwhPT1sJiZ0IT09dH12YXIgaXQ9dHlwZW9mIE9iamVjdC5pcz09ImZ1bmN0aW9uIj9PYmplY3QuaXM6ZWQ7ZnVuY3Rpb24gRWUobCx0KXtpZihpdChsLHQpKXJldHVybiEwO2lmKHR5cGVvZiBsIT0ib2JqZWN0Inx8bD09PW51bGx8fHR5cGVvZiB0IT0ib2JqZWN0Inx8dD09PW51bGwpcmV0dXJuITE7dmFyIHU9T2JqZWN0LmtleXMobCksYT1PYmplY3Qua2V5cyh0KTtpZih1Lmxlbmd0aCE9PWEubGVuZ3RoKXJldHVybiExO2ZvcihhPTA7YTx1Lmxlbmd0aDthKyspe3ZhciBlPXVbYV07aWYoIWpmLmNhbGwodCxlKXx8IWl0KGxbZV0sdFtlXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gY2MobCl7aWYobD1sfHwodHlwZW9mIGRvY3VtZW50PCJ1Ij9kb2N1bWVudDp2b2lkIDApLHR5cGVvZiBsPiJ1IilyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGwuYWN0aXZlRWxlbWVudHx8bC5ib2R5fWNhdGNoe3JldHVybiBsLmJvZHl9fWZ1bmN0aW9uIHN2KGwpe2Zvcig7bCYmbC5maXJzdENoaWxkOylsPWwuZmlyc3RDaGlsZDtyZXR1cm4gbH1mdW5jdGlvbiBodihsLHQpe3ZhciB1PXN2KGwpO2w9MDtmb3IodmFyIGE7dTspe2lmKHUubm9kZVR5cGU9PT0zKXtpZihhPWwrdS50ZXh0Q29udGVudC5sZW5ndGgsbDw9dCYmYT49dClyZXR1cm57bm9kZTp1LG9mZnNldDp0LWx9O2w9YX1sOntmb3IoO3U7KXtpZih1Lm5leHRTaWJsaW5nKXt1PXUubmV4dFNpYmxpbmc7YnJlYWsgbH11PXUucGFyZW50Tm9kZX11PXZvaWQgMH11PXN2KHUpfX1mdW5jdGlvbiBndihsLHQpe3JldHVybiBsJiZ0P2w9PT10PyEwOmwmJmwubm9kZVR5cGU9PT0zPyExOnQmJnQubm9kZVR5cGU9PT0zP2d2KGwsdC5wYXJlbnROb2RlKToiY29udGFpbnMiaW4gbD9sLmNvbnRhaW5zKHQpOmwuY29tcGFyZURvY3VtZW50UG9zaXRpb24/ISEobC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSYxNik6ITE6ITF9ZnVuY3Rpb24gU3YobCl7bD1sIT1udWxsJiZsLm93bmVyRG9jdW1lbnQhPW51bGwmJmwub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyE9bnVsbD9sLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc6d2luZG93O2Zvcih2YXIgdD1jYyhsLmRvY3VtZW50KTt0IGluc3RhbmNlb2YgbC5IVE1MSUZyYW1lRWxlbWVudDspe3RyeXt2YXIgdT10eXBlb2YgdC5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWY9PSJzdHJpbmcifWNhdGNoe3U9ITF9aWYodSlsPXQuY29udGVudFdpbmRvdztlbHNlIGJyZWFrO3Q9Y2MobC5kb2N1bWVudCl9cmV0dXJuIHR9ZnVuY3Rpb24gaWMobCl7dmFyIHQ9bCYmbC5ub2RlTmFtZSYmbC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0JiYodD09PSJpbnB1dCImJihsLnR5cGU9PT0idGV4dCJ8fGwudHlwZT09PSJzZWFyY2gifHxsLnR5cGU9PT0idGVsInx8bC50eXBlPT09InVybCJ8fGwudHlwZT09PSJwYXNzd29yZCIpfHx0PT09InRleHRhcmVhInx8bC5jb250ZW50RWRpdGFibGU9PT0idHJ1ZSIpfXZhciBuZD1sdSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmMTE+PWRvY3VtZW50LmRvY3VtZW50TW9kZSxEYT1udWxsLHZjPW51bGwsemU9bnVsbCxvYz0hMTtmdW5jdGlvbiBydihsLHQsdSl7dmFyIGE9dS53aW5kb3c9PT11P3UuZG9jdW1lbnQ6dS5ub2RlVHlwZT09PTk/dTp1Lm93bmVyRG9jdW1lbnQ7b2N8fERhPT1udWxsfHxEYSE9PWNjKGEpfHwoYT1EYSwic2VsZWN0aW9uU3RhcnQiaW4gYSYmaWMoYSk/YT17c3RhcnQ6YS5zZWxlY3Rpb25TdGFydCxlbmQ6YS5zZWxlY3Rpb25FbmR9OihhPShhLm93bmVyRG9jdW1lbnQmJmEub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24oKSxhPXthbmNob3JOb2RlOmEuYW5jaG9yTm9kZSxhbmNob3JPZmZzZXQ6YS5hbmNob3JPZmZzZXQsZm9jdXNOb2RlOmEuZm9jdXNOb2RlLGZvY3VzT2Zmc2V0OmEuZm9jdXNPZmZzZXR9KSx6ZSYmRWUoemUsYSl8fCh6ZT1hLGE9YmYodmMsIm9uU2VsZWN0IiksMDxhLmxlbmd0aCYmKHQ9bmV3IFRuKCJvblNlbGVjdCIsInNlbGVjdCIsbnVsbCx0LHUpLGwucHVzaCh7ZXZlbnQ6dCxsaXN0ZW5lcnM6YX0pLHQudGFyZ2V0PURhKSkpfWZ1bmN0aW9uIEZ1KGwsdCl7dmFyIHU9e307cmV0dXJuIHVbbC50b0xvd2VyQ2FzZSgpXT10LnRvTG93ZXJDYXNlKCksdVsiV2Via2l0IitsXT0id2Via2l0Iit0LHVbIk1veiIrbF09Im1veiIrdCx1fXZhciBNYT17YW5pbWF0aW9uZW5kOkZ1KCJBbmltYXRpb24iLCJBbmltYXRpb25FbmQiKSxhbmltYXRpb25pdGVyYXRpb246RnUoIkFuaW1hdGlvbiIsIkFuaW1hdGlvbkl0ZXJhdGlvbiIpLGFuaW1hdGlvbnN0YXJ0OkZ1KCJBbmltYXRpb24iLCJBbmltYXRpb25TdGFydCIpLHRyYW5zaXRpb25ydW46RnUoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uUnVuIiksdHJhbnNpdGlvbnN0YXJ0OkZ1KCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvblN0YXJ0IiksdHJhbnNpdGlvbmNhbmNlbDpGdSgiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25DYW5jZWwiKSx0cmFuc2l0aW9uZW5kOkZ1KCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkVuZCIpfSx5Yz17fSxUdj17fTtsdSYmKFR2PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLCJBbmltYXRpb25FdmVudCJpbiB3aW5kb3d8fChkZWxldGUgTWEuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbixkZWxldGUgTWEuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbixkZWxldGUgTWEuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uKSwiVHJhbnNpdGlvbkV2ZW50ImluIHdpbmRvd3x8ZGVsZXRlIE1hLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbik7ZnVuY3Rpb24gSXUobCl7aWYoeWNbbF0pcmV0dXJuIHljW2xdO2lmKCFNYVtsXSlyZXR1cm4gbDt2YXIgdD1NYVtsXSx1O2Zvcih1IGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eSh1KSYmdSBpbiBUdilyZXR1cm4geWNbbF09dFt1XTtyZXR1cm4gbH12YXIgRXY9SXUoImFuaW1hdGlvbmVuZCIpLHp2PUl1KCJhbmltYXRpb25pdGVyYXRpb24iKSxidj1JdSgiYW5pbWF0aW9uc3RhcnQiKSxmZD1JdSgidHJhbnNpdGlvbnJ1biIpLGNkPUl1KCJ0cmFuc2l0aW9uc3RhcnQiKSxpZD1JdSgidHJhbnNpdGlvbmNhbmNlbCIpLF92PUl1KCJ0cmFuc2l0aW9uZW5kIiksT3Y9bmV3IE1hcCxtYz0iYWJvcnQgYXV4Q2xpY2sgYmVmb3JlVG9nZ2xlIGNhbmNlbCBjYW5QbGF5IGNhblBsYXlUaHJvdWdoIGNsaWNrIGNsb3NlIGNvbnRleHRNZW51IGNvcHkgY3V0IGRyYWcgZHJhZ0VuZCBkcmFnRW50ZXIgZHJhZ0V4aXQgZHJhZ0xlYXZlIGRyYWdPdmVyIGRyYWdTdGFydCBkcm9wIGR1cmF0aW9uQ2hhbmdlIGVtcHRpZWQgZW5jcnlwdGVkIGVuZGVkIGVycm9yIGZ1bGxzY3JlZW5DaGFuZ2UgZnVsbHNjcmVlbkVycm9yIGdvdFBvaW50ZXJDYXB0dXJlIGlucHV0IGludmFsaWQga2V5RG93biBrZXlQcmVzcyBrZXlVcCBsb2FkIGxvYWRlZERhdGEgbG9hZGVkTWV0YWRhdGEgbG9hZFN0YXJ0IGxvc3RQb2ludGVyQ2FwdHVyZSBtb3VzZURvd24gbW91c2VNb3ZlIG1vdXNlT3V0IG1vdXNlT3ZlciBtb3VzZVVwIHBhc3RlIHBhdXNlIHBsYXkgcGxheWluZyBwb2ludGVyQ2FuY2VsIHBvaW50ZXJEb3duIHBvaW50ZXJNb3ZlIHBvaW50ZXJPdXQgcG9pbnRlck92ZXIgcG9pbnRlclVwIHByb2dyZXNzIHJhdGVDaGFuZ2UgcmVzZXQgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VibWl0IHN1c3BlbmQgdGltZVVwZGF0ZSB0b3VjaENhbmNlbCB0b3VjaEVuZCB0b3VjaFN0YXJ0IHZvbHVtZUNoYW5nZSBzY3JvbGwgdG9nZ2xlIHRvdWNoTW92ZSB3YWl0aW5nIHdoZWVsIi5zcGxpdCgiICIpO21jLnB1c2goInNjcm9sbEVuZCIpO2Z1bmN0aW9uIE10KGwsdCl7T3Yuc2V0KGwsdCksJHUodCxbbF0pfXZhciB2ZD0wO2Z1bmN0aW9uIHR1KGwsdCl7aWYobC5uYW1lIT1udWxsJiZsLm5hbWUhPT0iYXV0byIpcmV0dXJuIGwubmFtZTtpZih0LmF1dG9OYW1lIT09bnVsbClyZXR1cm4gdC5hdXRvTmFtZTtsPUh0LmlkZW50aWZpZXJQcmVmaXg7dmFyIHU9dmQrKztyZXR1cm4gbD0iXyIrbCsidF8iK3UudG9TdHJpbmcoMzIpKyJfIix0LmF1dG9OYW1lPWx9ZnVuY3Rpb24gQXYobCl7aWYobD09bnVsbHx8dHlwZW9mIGw9PSJzdHJpbmciKXJldHVybiBsO3ZhciB0PW51bGwsdT1XYTtpZih1IT09bnVsbClmb3IodmFyIGE9MDthPHUubGVuZ3RoO2ErKyl7dmFyIGU9bFt1W2FdXTtpZihlIT1udWxsKXtpZihlPT09Im5vbmUiKXJldHVybiJub25lIjt0PXQ9PW51bGw/ZTp0KygiICIrZSl9fXJldHVybiB0Pz9sLmRlZmF1bHR9ZnVuY3Rpb24gdXUobCx0KXtyZXR1cm4gbD1BdihsKSx0PUF2KHQpLHQ9PW51bGw/bD09PSJhdXRvIj9udWxsOmw6dD09PSJhdXRvIj9udWxsOnR9dmFyIGJuPXR5cGVvZiByZXBvcnRFcnJvcj09ImZ1bmN0aW9uIj9yZXBvcnRFcnJvcjpmdW5jdGlvbihsKXtpZih0eXBlb2Ygd2luZG93PT0ib2JqZWN0IiYmdHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50PT0iZnVuY3Rpb24iKXt2YXIgdD1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6dHlwZW9mIGw9PSJvYmplY3QiJiZsIT09bnVsbCYmdHlwZW9mIGwubWVzc2FnZT09InN0cmluZyI/U3RyaW5nKGwubWVzc2FnZSk6U3RyaW5nKGwpLGVycm9yOmx9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYodHlwZW9mIHByb2Nlc3M9PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy5lbWl0PT0iZnVuY3Rpb24iKXtwcm9jZXNzLmVtaXQoInVuY2F1Z2h0RXhjZXB0aW9uIixsKTtyZXR1cm59Y29uc29sZS5lcnJvcihsKX0sVHQ9W10sVWE9MCxkYz0wO2Z1bmN0aW9uIF9uKCl7Zm9yKHZhciBsPVVhLHQ9ZGM9VWE9MDt0PGw7KXt2YXIgdT1UdFt0XTtUdFt0KytdPW51bGw7dmFyIGE9VHRbdF07VHRbdCsrXT1udWxsO3ZhciBlPVR0W3RdO1R0W3QrK109bnVsbDt2YXIgbj1UdFt0XTtpZihUdFt0KytdPW51bGwsYSE9PW51bGwmJmUhPT1udWxsKXt2YXIgZj1hLnBlbmRpbmc7Zj09PW51bGw/ZS5uZXh0PWU6KGUubmV4dD1mLm5leHQsZi5uZXh0PWUpLGEucGVuZGluZz1lfW4hPT0wJiZOdih1LGUsbil9fWZ1bmN0aW9uIE9uKGwsdCx1LGEpe1R0W1VhKytdPWwsVHRbVWErK109dCxUdFtVYSsrXT11LFR0W1VhKytdPWEsZGN8PWEsbC5sYW5lc3w9YSxsPWwuYWx0ZXJuYXRlLGwhPT1udWxsJiYobC5sYW5lc3w9YSl9ZnVuY3Rpb24gc2MobCx0LHUsYSl7cmV0dXJuIE9uKGwsdCx1LGEpLEFuKGwpfWZ1bmN0aW9uIGt1KGwsdCl7cmV0dXJuIE9uKGwsbnVsbCxudWxsLHQpLEFuKGwpfWZ1bmN0aW9uIE52KGwsdCx1KXtsLmxhbmVzfD11O3ZhciBhPWwuYWx0ZXJuYXRlO2EhPT1udWxsJiYoYS5sYW5lc3w9dSk7Zm9yKHZhciBlPSExLG49bC5yZXR1cm47biE9PW51bGw7KW4uY2hpbGRMYW5lc3w9dSxhPW4uYWx0ZXJuYXRlLGEhPT1udWxsJiYoYS5jaGlsZExhbmVzfD11KSxuLnRhZz09PTIyJiYobD1uLnN0YXRlTm9kZSxsPT09bnVsbHx8bC5fdmlzaWJpbGl0eSYxfHwoZT0hMCkpLGw9bixuPW4ucmV0dXJuO3JldHVybiBsLnRhZz09PTM/KG49bC5zdGF0ZU5vZGUsZSYmdCE9PW51bGwmJihlPTMxLWZ0KHUpLGw9bi5oaWRkZW5VcGRhdGVzLGE9bFtlXSxhPT09bnVsbD9sW2VdPVt0XTphLnB1c2godCksdC5sYW5lPXV8NTM2ODcwOTEyKSxuKTpudWxsfWZ1bmN0aW9uIEFuKGwpe2lmKDUwPHBlKXRocm93IHBlPTAsaGY9bnVsbCxFcnJvcihTKDE4NSkpO2Zvcih2YXIgdD1sLnJldHVybjt0IT09bnVsbDspbD10LHQ9bC5yZXR1cm47cmV0dXJuIGwudGFnPT09Mz9sLnN0YXRlTm9kZTpudWxsfXZhciBDYT17fTtmdW5jdGlvbiBvZChsLHQsdSxhKXt0aGlzLnRhZz1sLHRoaXMua2V5PXUsdGhpcy5zaWJsaW5nPXRoaXMuY2hpbGQ9dGhpcy5yZXR1cm49dGhpcy5zdGF0ZU5vZGU9dGhpcy50eXBlPXRoaXMuZWxlbWVudFR5cGU9bnVsbCx0aGlzLmluZGV4PTAsdGhpcy5yZWZDbGVhbnVwPXRoaXMucmVmPW51bGwsdGhpcy5wZW5kaW5nUHJvcHM9dCx0aGlzLmRlcGVuZGVuY2llcz10aGlzLm1lbW9pemVkU3RhdGU9dGhpcy51cGRhdGVRdWV1ZT10aGlzLm1lbW9pemVkUHJvcHM9bnVsbCx0aGlzLm1vZGU9YSx0aGlzLnN1YnRyZWVGbGFncz10aGlzLmZsYWdzPTAsdGhpcy5kZWxldGlvbnM9bnVsbCx0aGlzLmNoaWxkTGFuZXM9dGhpcy5sYW5lcz0wLHRoaXMuYWx0ZXJuYXRlPW51bGx9ZnVuY3Rpb24gJGwobCx0LHUsYSl7cmV0dXJuIG5ldyBvZChsLHQsdSxhKX1mdW5jdGlvbiBoYyhsKXtyZXR1cm4gbD1sLnByb3RvdHlwZSwhKCFsfHwhbC5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiBhdShsLHQpe3ZhciB1PWwuYWx0ZXJuYXRlO3JldHVybiB1PT09bnVsbD8odT0kbChsLnRhZyx0LGwua2V5LGwubW9kZSksdS5lbGVtZW50VHlwZT1sLmVsZW1lbnRUeXBlLHUudHlwZT1sLnR5cGUsdS5zdGF0ZU5vZGU9bC5zdGF0ZU5vZGUsdS5hbHRlcm5hdGU9bCxsLmFsdGVybmF0ZT11KToodS5wZW5kaW5nUHJvcHM9dCx1LnR5cGU9bC50eXBlLHUuZmxhZ3M9MCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwpLHUuZmxhZ3M9bC5mbGFncyYxMjA2OTEwOTc2LHUuY2hpbGRMYW5lcz1sLmNoaWxkTGFuZXMsdS5sYW5lcz1sLmxhbmVzLHUuY2hpbGQ9bC5jaGlsZCx1Lm1lbW9pemVkUHJvcHM9bC5tZW1vaXplZFByb3BzLHUubWVtb2l6ZWRTdGF0ZT1sLm1lbW9pemVkU3RhdGUsdS51cGRhdGVRdWV1ZT1sLnVwZGF0ZVF1ZXVlLHQ9bC5kZXBlbmRlbmNpZXMsdS5kZXBlbmRlbmNpZXM9dD09PW51bGw/bnVsbDp7bGFuZXM6dC5sYW5lcyxmaXJzdENvbnRleHQ6dC5maXJzdENvbnRleHR9LHUuc2libGluZz1sLnNpYmxpbmcsdS5pbmRleD1sLmluZGV4LHUucmVmPWwucmVmLHUucmVmQ2xlYW51cD1sLnJlZkNsZWFudXAsdX1mdW5jdGlvbiBEdihsLHQpe2wuZmxhZ3MmPTEyMDY5MTA5Nzg7dmFyIHU9bC5hbHRlcm5hdGU7cmV0dXJuIHU9PT1udWxsPyhsLmNoaWxkTGFuZXM9MCxsLmxhbmVzPXQsbC5jaGlsZD1udWxsLGwuc3VidHJlZUZsYWdzPTAsbC5tZW1vaXplZFByb3BzPW51bGwsbC5tZW1vaXplZFN0YXRlPW51bGwsbC51cGRhdGVRdWV1ZT1udWxsLGwuZGVwZW5kZW5jaWVzPW51bGwsbC5zdGF0ZU5vZGU9bnVsbCk6KGwuY2hpbGRMYW5lcz11LmNoaWxkTGFuZXMsbC5sYW5lcz11LmxhbmVzLGwuY2hpbGQ9dS5jaGlsZCxsLnN1YnRyZWVGbGFncz0wLGwuZGVsZXRpb25zPW51bGwsbC5tZW1vaXplZFByb3BzPXUubWVtb2l6ZWRQcm9wcyxsLm1lbW9pemVkU3RhdGU9dS5tZW1vaXplZFN0YXRlLGwudXBkYXRlUXVldWU9dS51cGRhdGVRdWV1ZSxsLnR5cGU9dS50eXBlLHQ9dS5kZXBlbmRlbmNpZXMsbC5kZXBlbmRlbmNpZXM9dD09PW51bGw/bnVsbDp7bGFuZXM6dC5sYW5lcyxmaXJzdENvbnRleHQ6dC5maXJzdENvbnRleHR9KSxsfWZ1bmN0aW9uIE5uKGwsdCx1LGEsZSxuKXt2YXIgZj0wO2lmKGE9bCx0eXBlb2YgYT09ImZ1bmN0aW9uIiloYyhhKSYmKGY9MSk7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyIpZj1RcyhsLHUsUXQuY3VycmVudCk/MjY6bD09PSJodG1sInx8bD09PSJoZWFkInx8bD09PSJib2R5Ij8yNzo1O2Vsc2UgbDpzd2l0Y2goYSl7Y2FzZSBEdDpyZXR1cm4gbD0kbCgzMSx1LHQsZSksbC5lbGVtZW50VHlwZT1EdCxsLmxhbmVzPW4sbDtjYXNlIFN0OnJldHVybiBQdSh1LmNoaWxkcmVuLGUsbix0KTtjYXNlIGF0OmY9OCxlfD0yNDticmVhaztjYXNlIHN1OnJldHVybiBsPSRsKDEyLHUsdCxlfDIpLGwuZWxlbWVudFR5cGU9c3UsbC5sYW5lcz1uLGw7Y2FzZSBxOnJldHVybiBsPSRsKDEzLHUsdCxlKSxsLmVsZW1lbnRUeXBlPXEsbC5sYW5lcz1uLGw7Y2FzZSBCOnJldHVybiBsPSRsKDE5LHUsdCxlKSxsLmVsZW1lbnRUeXBlPUIsbC5sYW5lcz1uLGw7Y2FzZSBGdDpjYXNlIG86cmV0dXJuIGw9ZXwzMixsPSRsKDMwLHUsdCxsKSxsLmVsZW1lbnRUeXBlPW8sbC5sYW5lcz1uLGwuc3RhdGVOb2RlPXthdXRvTmFtZTpudWxsLHBhaXJlZDpudWxsLGNsb25lczpudWxsLHJlZjpudWxsfSxsO2RlZmF1bHQ6aWYodHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbClzd2l0Y2goYS4kJHR5cGVvZil7Y2FzZSBEbDpmPTEwO2JyZWFrIGw7Y2FzZSBLdTpmPTk7YnJlYWsgbDtjYXNlIF86Zj0xMTticmVhayBsO2Nhc2UgY2w6Zj0xNDticmVhayBsO2Nhc2UgUDpmPTE2LGE9bnVsbDticmVhayBsfWY9MjksdT1FcnJvcihTKDEzMCxsPT09bnVsbD8ibnVsbCI6dHlwZW9mIGwsIiIpKSxhPW51bGx9cmV0dXJuIHQ9JGwoZix1LHQsZSksdC5lbGVtZW50VHlwZT1sLHQudHlwZT1hLHQubGFuZXM9bix0fWZ1bmN0aW9uIFB1KGwsdCx1LGEpe3JldHVybiBsPSRsKDcsbCxhLHQpLGwubGFuZXM9dSxsfWZ1bmN0aW9uIGdjKGwsdCx1KXtyZXR1cm4gbD0kbCg2LGwsbnVsbCx0KSxsLmxhbmVzPXUsbH1mdW5jdGlvbiBNdihsKXt2YXIgdD0kbCgxOCxudWxsLG51bGwsMCk7cmV0dXJuIHQuc3RhdGVOb2RlPWwsdH1mdW5jdGlvbiBTYyhsLHQsdSl7cmV0dXJuIHQ9JGwoNCxsLmNoaWxkcmVuIT09bnVsbD9sLmNoaWxkcmVuOltdLGwua2V5LHQpLHQubGFuZXM9dSx0LnN0YXRlTm9kZT17Y29udGFpbmVySW5mbzpsLmNvbnRhaW5lckluZm8scGVuZGluZ0NoaWxkcmVuOm51bGwsaW1wbGVtZW50YXRpb246bC5pbXBsZW1lbnRhdGlvbn0sdH12YXIgVXY9bmV3IFdlYWtNYXA7ZnVuY3Rpb24gRXQobCx0KXtpZih0eXBlb2YgbD09Im9iamVjdCImJmwhPT1udWxsKXt2YXIgdT1Vdi5nZXQobCk7cmV0dXJuIHUhPT12b2lkIDA/dToodD17dmFsdWU6bCxzb3VyY2U6dCxzdGFjazpfMCh0KX0sVXYuc2V0KGwsdCksdCl9cmV0dXJue3ZhbHVlOmwsc291cmNlOnQsc3RhY2s6XzAodCl9fXZhciBSYT1bXSxIYT0wLERuPW51bGwsYmU9MCx6dD1bXSxidD0wLEV1PW51bGwsWnQ9MSxWdD0iIjtmdW5jdGlvbiBldShsLHQpe1JhW0hhKytdPWJlLFJhW0hhKytdPURuLERuPWwsYmU9dH1mdW5jdGlvbiBDdihsLHQsdSl7enRbYnQrK109WnQsenRbYnQrK109VnQsenRbYnQrK109RXUsRXU9bDt2YXIgYT1adDtsPVZ0O3ZhciBlPTMyLWZ0KGEpLTE7YSY9figxPDxlKSx1Kz0xO3ZhciBuPTMyLWZ0KHQpK2U7aWYoMzA8bil7dmFyIGY9ZS1lJTU7bj0oYSYoMTw8ZiktMSkudG9TdHJpbmcoMzIpLGE+Pj1mLGUtPWYsWnQ9MTw8MzItZnQodCkrZXx1PDxlfGEsVnQ9bitsfWVsc2UgWnQ9MTw8bnx1PDxlfGEsVnQ9bH1mdW5jdGlvbiBNbihsKXtsLnJldHVybiE9PW51bGwmJihldShsLDEpLEN2KGwsMSwwKSl9ZnVuY3Rpb24gcmMobCl7Zm9yKDtsPT09RG47KURuPVJhWy0tSGFdLFJhW0hhXT1udWxsLGJlPVJhWy0tSGFdLFJhW0hhXT1udWxsO2Zvcig7bD09PUV1OylFdT16dFstLWJ0XSx6dFtidF09bnVsbCxWdD16dFstLWJ0XSx6dFtidF09bnVsbCxadD16dFstLWJ0XSx6dFtidF09bnVsbH1mdW5jdGlvbiBSdihsLHQpe3p0W2J0KytdPVp0LHp0W2J0KytdPVZ0LHp0W2J0KytdPUV1LFp0PXQuaWQsVnQ9dC5vdmVyZmxvdyxFdT1sfXZhciBVbD1udWxsLHlsPW51bGwsWj0hMSx6dT1udWxsLF90PSExLFRjPUVycm9yKFMoNTE5KSk7ZnVuY3Rpb24gYnUobCl7dmFyIHQ9RXJyb3IoUyg0MTgsMTxhcmd1bWVudHMubGVuZ3RoJiZhcmd1bWVudHNbMV0hPT12b2lkIDAmJmFyZ3VtZW50c1sxXT8idGV4dCI6IkhUTUwiLCIiKSk7dGhyb3cgX2UoRXQodCxsKSksVGN9ZnVuY3Rpb24gSHYobCl7dmFyIHQ9bC5zdGF0ZU5vZGUsdT1sLnR5cGUsYT1sLm1lbW9pemVkUHJvcHM7c3dpdGNoKHRbcWxdPWwsdFtXbF09YSx1KXtjYXNlImRpYWxvZyI6cCgiY2FuY2VsIix0KSxwKCJjbG9zZSIsdCk7YnJlYWs7Y2FzZSJpZnJhbWUiOmNhc2Uib2JqZWN0IjpjYXNlImVtYmVkIjpwKCJsb2FkIix0KTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IodT0wO3U8S2UubGVuZ3RoO3UrKylwKEtlW3VdLHQpO2JyZWFrO2Nhc2Uic291cmNlIjpwKCJlcnJvciIsdCk7YnJlYWs7Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UibGluayI6cCgiZXJyb3IiLHQpLHAoImxvYWQiLHQpO2JyZWFrO2Nhc2UiZGV0YWlscyI6cCgidG9nZ2xlIix0KTticmVhaztjYXNlImlucHV0IjpwKCJpbnZhbGlkIix0KSx4MCh0LGEudmFsdWUsYS5kZWZhdWx0VmFsdWUsYS5jaGVja2VkLGEuZGVmYXVsdENoZWNrZWQsYS50eXBlLGEubmFtZSwhMCk7YnJlYWs7Y2FzZSJzZWxlY3QiOnAoImludmFsaWQiLHQpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnAoImludmFsaWQiLHQpLEowKHQsYS52YWx1ZSxhLmRlZmF1bHRWYWx1ZSxhLmNoaWxkcmVuKX11PWEuY2hpbGRyZW4sdHlwZW9mIHUhPSJzdHJpbmciJiZ0eXBlb2YgdSE9Im51bWJlciImJnR5cGVvZiB1IT0iYmlnaW50Inx8dC50ZXh0Q29udGVudD09PSIiK3V8fGEuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nPT09ITB8fGxtKHQudGV4dENvbnRlbnQsdSk/KGEucG9wb3ZlciE9bnVsbCYmKHAoImJlZm9yZXRvZ2dsZSIsdCkscCgidG9nZ2xlIix0KSksYS5vblNjcm9sbCE9bnVsbCYmcCgic2Nyb2xsIix0KSxhLm9uU2Nyb2xsRW5kIT1udWxsJiZwKCJzY3JvbGxlbmQiLHQpLGEub25DbGljayE9bnVsbCYmKHQub25jbGljaz1qdCksdD0hMCk6dD0hMSx0fHxidShsLCEwKX1mdW5jdGlvbiBVbihsKXtmb3IoVWw9bC5yZXR1cm47VWw7KXN3aXRjaChVbC50YWcpe2Nhc2UgNTpjYXNlIDMxOmNhc2UgMTM6X3Q9ITE7cmV0dXJuO2Nhc2UgMjc6Y2FzZSAzOl90PSEwO3JldHVybjtkZWZhdWx0OlVsPVVsLnJldHVybn19ZnVuY3Rpb24gWWEobCl7aWYobCE9PVVsKXJldHVybiExO2lmKCFaKXJldHVybiBVbihsKSxaPSEwLCExO3ZhciB0PWwudGFnLHU7aWYoKHU9dCE9PTMmJnQhPT0yNykmJigodT10PT09NSkmJih1PWwudHlwZSx1PSEodSE9PSJmb3JtIiYmdSE9PSJidXR0b24iKXx8JGkobC50eXBlLGwubWVtb2l6ZWRQcm9wcykpLHU9IXUpLHUmJnlsJiZidShsKSxVbihsKSx0PT09MTMpe2lmKGw9bC5tZW1vaXplZFN0YXRlLGw9bCE9PW51bGw/bC5kZWh5ZHJhdGVkOm51bGwsIWwpdGhyb3cgRXJyb3IoUygzMTcpKTt5bD1UbShsKX1lbHNlIGlmKHQ9PT0zMSl7aWYobD1sLm1lbW9pemVkU3RhdGUsbD1sIT09bnVsbD9sLmRlaHlkcmF0ZWQ6bnVsbCwhbCl0aHJvdyBFcnJvcihTKDMxNykpO3lsPVRtKGwpfWVsc2UgdD09PTI3Pyh0PXlsLFF1KGwudHlwZSk/KGw9ZTAsZTA9bnVsbCx5bD1sKTp5bD10KTp5bD1VbD9BdChsLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiBsYSgpe3lsPVVsPW51bGwsWj0hMX1mdW5jdGlvbiBFYygpe3ZhciBsPXp1O3JldHVybiBsIT09bnVsbCYmKGtsPT09bnVsbD9rbD1sOmtsLnB1c2guYXBwbHkoa2wsbCksenU9bnVsbCksbH1mdW5jdGlvbiBfZShsKXt6dT09PW51bGw/enU9W2xdOnp1LnB1c2gobCl9dmFyIHpjPVh0KG51bGwpLHRhPW51bGwsbnU9bnVsbDtmdW5jdGlvbiBfdShsLHQsdSl7b2woemMsdC5fY3VycmVudFZhbHVlKSx0Ll9jdXJyZW50VmFsdWU9dX1mdW5jdGlvbiBmdShsKXtsLl9jdXJyZW50VmFsdWU9emMuY3VycmVudCxZbCh6Yyl9ZnVuY3Rpb24gQ24obCx0LHUpe2Zvcig7bCE9PW51bGw7KXt2YXIgYT1sLmFsdGVybmF0ZTtpZigobC5jaGlsZExhbmVzJnQpIT09dD8obC5jaGlsZExhbmVzfD10LGEhPT1udWxsJiYoYS5jaGlsZExhbmVzfD10KSk6YSE9PW51bGwmJihhLmNoaWxkTGFuZXMmdCkhPT10JiYoYS5jaGlsZExhbmVzfD10KSxsPT09dSlicmVhaztsPWwucmV0dXJufX1mdW5jdGlvbiBiYyhsLHQsdSxhKXt2YXIgZT1sLmNoaWxkO2ZvcihlIT09bnVsbCYmKGUucmV0dXJuPWwpO2UhPT1udWxsOyl7dmFyIG49ZS5kZXBlbmRlbmNpZXM7aWYobiE9PW51bGwpe3ZhciBmPWUuY2hpbGQ7bj1uLmZpcnN0Q29udGV4dDtsOmZvcig7biE9PW51bGw7KXt2YXIgYz1uO249ZTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKylpZihjLmNvbnRleHQ9PT10W2ldKXtuLmxhbmVzfD11LGM9bi5hbHRlcm5hdGUsYyE9PW51bGwmJihjLmxhbmVzfD11KSxDbihuLnJldHVybix1LGwpLGF8fChmPW51bGwpO2JyZWFrIGx9bj1jLm5leHR9fWVsc2UgaWYoZS50YWc9PT0xOCl7aWYoZj1lLnJldHVybixmPT09bnVsbCl0aHJvdyBFcnJvcihTKDM0MSkpO2YubGFuZXN8PXUsbj1mLmFsdGVybmF0ZSxuIT09bnVsbCYmKG4ubGFuZXN8PXUpLENuKGYsdSxsKSxmPW51bGx9ZWxzZSBlLnRhZz09PTEzJiZlLm1lbW9pemVkU3RhdGUhPT1udWxsJiZlLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZD09PW51bGw/KGUubGFuZXN8PXUsZj1lLmFsdGVybmF0ZSxmIT09bnVsbCYmKGYubGFuZXN8PXUpLENuKGUucmV0dXJuLHUsbCksZj1lLmNoaWxkLGY9ZiE9PW51bGw/Zi5zaWJsaW5nOm51bGwpOmY9ZS5jaGlsZDtpZihmIT09bnVsbClmLnJldHVybj1lO2Vsc2UgZm9yKGY9ZTtmIT09bnVsbDspe2lmKGY9PT1sKXtmPW51bGw7YnJlYWt9aWYoZT1mLnNpYmxpbmcsZSE9PW51bGwpe2UucmV0dXJuPWYucmV0dXJuLGY9ZTticmVha31mPWYucmV0dXJufWU9Zn19ZnVuY3Rpb24gdWEobCx0LHUsYSl7bD1udWxsO2Zvcih2YXIgZT10LG49ITE7ZSE9PW51bGw7KXtpZighbil7aWYoKGUuZmxhZ3MmNTI0Mjg4KSE9PTApbj0hMDtlbHNlIGlmKChlLmZsYWdzJjI2MjE0NCkhPT0wKWJyZWFrfWlmKGUudGFnPT09MTApe3ZhciBmPWUuYWx0ZXJuYXRlO2lmKGY9PT1udWxsKXRocm93IEVycm9yKFMoMzg3KSk7aWYoZj1mLm1lbW9pemVkUHJvcHMsZiE9PW51bGwpe3ZhciBjPWUudHlwZTtpdChlLnBlbmRpbmdQcm9wcy52YWx1ZSxmLnZhbHVlKXx8KGwhPT1udWxsP2wucHVzaChjKTpsPVtjXSl9fWVsc2UgaWYoZT09PXVuLmN1cnJlbnQpe2lmKGY9ZS5hbHRlcm5hdGUsZj09PW51bGwpdGhyb3cgRXJyb3IoUygzODcpKTtmLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSE9PWUubWVtb2l6ZWRTdGF0ZS5tZW1vaXplZFN0YXRlJiYobCE9PW51bGw/bC5wdXNoKGVlKTpsPVtlZV0pfWU9ZS5yZXR1cm59cmV0dXJuIGwhPT1udWxsJiZiYyh0LGwsdSxhKSx0LmZsYWdzfD0yNjIxNDQsbCE9PW51bGx9ZnVuY3Rpb24gUm4obCl7Zm9yKGw9bC5maXJzdENvbnRleHQ7bCE9PW51bGw7KXtpZighaXQobC5jb250ZXh0Ll9jdXJyZW50VmFsdWUsbC5tZW1vaXplZFZhbHVlKSlyZXR1cm4hMDtsPWwubmV4dH1yZXR1cm4hMX1mdW5jdGlvbiBhYShsKXt0YT1sLG51PW51bGwsbD1sLmRlcGVuZGVuY2llcyxsIT09bnVsbCYmKGwuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIEJsKGwpe3JldHVybiBZdih0YSxsKX1mdW5jdGlvbiBIbihsLHQpe3JldHVybiB0YT09PW51bGwmJmFhKGwpLFl2KGwsdCl9ZnVuY3Rpb24gWXYobCx0KXt2YXIgdT10Ll9jdXJyZW50VmFsdWU7aWYodD17Y29udGV4dDp0LG1lbW9pemVkVmFsdWU6dSxuZXh0Om51bGx9LG51PT09bnVsbCl7aWYobD09PW51bGwpdGhyb3cgRXJyb3IoUygzMDgpKTtudT10LGwuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDp0fSxsLmZsYWdzfD01MjQyODh9ZWxzZSBudT1udS5uZXh0PXQ7cmV0dXJuIHV9dmFyIHlkPXR5cGVvZiBBYm9ydENvbnRyb2xsZXI8InUiP0Fib3J0Q29udHJvbGxlcjpmdW5jdGlvbigpe3ZhciBsPVtdLHQ9dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih1LGEpe2wucHVzaChhKX19O3RoaXMuYWJvcnQ9ZnVuY3Rpb24oKXt0LmFib3J0ZWQ9ITAsbC5mb3JFYWNoKGZ1bmN0aW9uKHUpe3JldHVybiB1KCl9KX19LG1kPUQudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxkZD1ELnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LHpsPXskJHR5cGVvZjpEbCxDb25zdW1lcjpudWxsLFByb3ZpZGVyOm51bGwsX2N1cnJlbnRWYWx1ZTpudWxsLF9jdXJyZW50VmFsdWUyOm51bGwsX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uIF9jKCl7cmV0dXJue2NvbnRyb2xsZXI6bmV3IHlkLGRhdGE6bmV3IE1hcCxyZWZDb3VudDowfX1mdW5jdGlvbiBPZShsKXtsLnJlZkNvdW50LS0sbC5yZWZDb3VudD09PTAmJm1kKGRkLGZ1bmN0aW9uKCl7bC5jb250cm9sbGVyLmFib3J0KCl9KX1mdW5jdGlvbiBxdihsLHQpe2lmKChsLnBlbmRpbmdMYW5lcyY0MTk0MDQ4KSE9PTApe3ZhciB1PWwudHJhbnNpdGlvblR5cGVzO2Zvcih1PT09bnVsbCYmKHU9bC50cmFuc2l0aW9uVHlwZXM9W10pLGw9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGE9dFtsXTt1LmluZGV4T2YoYSk9PT0tMSYmdS5wdXNoKGEpfX19dmFyIEFlPW51bGw7ZnVuY3Rpb24gc2QobCl7dmFyIHQ9bC50cmFuc2l0aW9uVHlwZXM7cmV0dXJuIGwudHJhbnNpdGlvblR5cGVzPW51bGwsdH12YXIgTmU9bnVsbCxPYz0wLGVhPTAscWE9bnVsbDtmdW5jdGlvbiBoZChsLHQpe2lmKE5lPT09bnVsbCl7dmFyIHU9TmU9W107T2M9MCxlYT1aaSgpLHFhPXtzdGF0dXM6InBlbmRpbmciLHZhbHVlOnZvaWQgMCx0aGVuOmZ1bmN0aW9uKGEpe3UucHVzaChhKX19fXJldHVybiBPYysrLHQudGhlbihCdixCdiksdH1mdW5jdGlvbiBCdigpe2lmKC0tT2M9PT0wJiYoQWU9bnVsbCxOZSE9PW51bGwpKXtxYSE9PW51bGwmJihxYS5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBsPU5lO05lPW51bGwsZWE9MCxxYT1udWxsO2Zvcih2YXIgdD0wO3Q8bC5sZW5ndGg7dCsrKSgwLGxbdF0pKCl9fWZ1bmN0aW9uIGdkKGwsdCl7dmFyIHU9W10sYT17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24oZSl7dS5wdXNoKGUpfX07cmV0dXJuIGwudGhlbihmdW5jdGlvbigpe2Euc3RhdHVzPSJmdWxmaWxsZWQiLGEudmFsdWU9dDtmb3IodmFyIGU9MDtlPHUubGVuZ3RoO2UrKykoMCx1W2VdKSh0KX0sZnVuY3Rpb24oZSl7Zm9yKGEuc3RhdHVzPSJyZWplY3RlZCIsYS5yZWFzb249ZSxlPTA7ZTx1Lmxlbmd0aDtlKyspKDAsdVtlXSkodm9pZCAwKX0pLGF9dmFyIEd2PU4uUztOLlM9ZnVuY3Rpb24obCx0KXtpZihVeT1ldCgpLHR5cGVvZiB0PT0ib2JqZWN0IiYmdCE9PW51bGwmJnR5cGVvZiB0LnRoZW49PSJmdW5jdGlvbiImJmhkKGwsdCksQWUhPT1udWxsKWZvcih2YXIgdT1rYTt1IT09bnVsbDspcXYodSxBZSksdT11Lm5leHQ7aWYodT1sLnR5cGVzLHUhPT1udWxsKXtmb3IodmFyIGE9a2E7YSE9PW51bGw7KXF2KGEsdSksYT1hLm5leHQ7aWYoZWEhPT0wKXthPUFlLGE9PT1udWxsJiYoYT1BZT1bXSk7Zm9yKHZhciBlPTA7ZTx1Lmxlbmd0aDtlKyspe3ZhciBuPXVbZV07YS5pbmRleE9mKG4pPT09LTEmJmEucHVzaChuKX19fUd2IT09bnVsbCYmR3YobCx0KX07dmFyIG5hPVh0KG51bGwpO2Z1bmN0aW9uIEFjKCl7dmFyIGw9bmEuY3VycmVudDtyZXR1cm4gbCE9PW51bGw/bDppbC5wb29sZWRDYWNoZX1mdW5jdGlvbiBZbihsLHQpe3Q9PT1udWxsP29sKG5hLG5hLmN1cnJlbnQpOm9sKG5hLHQucG9vbCl9ZnVuY3Rpb24gWHYoKXt2YXIgbD1BYygpO3JldHVybiBsPT09bnVsbD9udWxsOntwYXJlbnQ6emwuX2N1cnJlbnRWYWx1ZSxwb29sOmx9fXZhciBCYT1FcnJvcihTKDQ2MCkpLE5jPUVycm9yKFMoNDc0KSkscW49RXJyb3IoUyg1NDIpKSxCbj17dGhlbjpmdW5jdGlvbigpe319O2Z1bmN0aW9uIFF2KGwpe3JldHVybiBsPWwuc3RhdHVzLGw9PT0iZnVsZmlsbGVkInx8bD09PSJyZWplY3RlZCJ9ZnVuY3Rpb24ganYobCx0LHUpe3N3aXRjaCh1PWxbdV0sdT09PXZvaWQgMD9sLnB1c2godCk6dSE9PXQmJih0LnRoZW4oanQsanQpLHQ9dSksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gdC52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBsPXQucmVhc29uLFZ2KGwpLGw9PT12b2lkIDAmJiEoInJlYXNvbiJpbiB0KT9FcnJvcihTKDYwMCkpOmw7ZGVmYXVsdDppZih0eXBlb2YgdC5zdGF0dXM9PSJzdHJpbmciKXQudGhlbihqdCxqdCk7ZWxzZXtpZihsPWlsLGwhPT1udWxsJiYxMDA8bC5zaGVsbFN1c3BlbmRDb3VudGVyKXRocm93IEVycm9yKFMoNDgyKSk7bD10LGwuc3RhdHVzPSJwZW5kaW5nIixsLnRoZW4oZnVuY3Rpb24oYSl7aWYodC5zdGF0dXM9PT0icGVuZGluZyIpe3ZhciBlPXQ7ZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT1hfX0sZnVuY3Rpb24oYSl7aWYodC5zdGF0dXM9PT0icGVuZGluZyIpe3ZhciBlPXQ7ZS5zdGF0dXM9InJlamVjdGVkIixlLnJlYXNvbj1hfX0pfXN3aXRjaCh0LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnJldHVybiB0LnZhbHVlO2Nhc2UicmVqZWN0ZWQiOnRocm93IGw9dC5yZWFzb24sVnYobCksbH10aHJvdyBjYT10LEJhfX1mdW5jdGlvbiBmYShsKXt0cnl7dmFyIHQ9bC5faW5pdDtyZXR1cm4gdChsLl9wYXlsb2FkKX1jYXRjaCh1KXt0aHJvdyB1IT09bnVsbCYmdHlwZW9mIHU9PSJvYmplY3QiJiZ0eXBlb2YgdS50aGVuPT0iZnVuY3Rpb24iPyhjYT11LEJhKTp1fX12YXIgY2E9bnVsbDtmdW5jdGlvbiBadigpe2lmKGNhPT09bnVsbCl0aHJvdyBFcnJvcihTKDQ1OSkpO3ZhciBsPWNhO3JldHVybiBjYT1udWxsLGx9ZnVuY3Rpb24gVnYobCl7aWYobD09PUJhfHxsPT09cW4pdGhyb3cgRXJyb3IoUyg0ODMpKX12YXIgR2E9bnVsbCxEZT0wO2Z1bmN0aW9uIEduKGwpe3ZhciB0PURlO3JldHVybiBEZSs9MSxHYT09PW51bGwmJihHYT1bXSksanYoR2EsbCx0KX1mdW5jdGlvbiBPdShsLHQpe3Q9dC5wcm9wcy5yZWYsbC5yZWY9dCE9PXZvaWQgMD90Om51bGx9ZnVuY3Rpb24gWG4obCx0KXt0aHJvdyB0LiQkdHlwZW9mPT09Rj9FcnJvcihTKDUyNSkpOihsPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSxFcnJvcihTKDMxLGw9PT0iW29iamVjdCBPYmplY3RdIj8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjpsKSkpfWZ1bmN0aW9uIEx2KGwpe2Z1bmN0aW9uIHQobSx2KXtpZihsKXt2YXIgcz1tLmRlbGV0aW9ucztzPT09bnVsbD8obS5kZWxldGlvbnM9W3ZdLG0uZmxhZ3N8PTE2KTpzLnB1c2godil9fWZ1bmN0aW9uIHUobSx2KXtpZighbClyZXR1cm4gbnVsbDtmb3IoO3YhPT1udWxsOyl0KG0sdiksdj12LnNpYmxpbmc7cmV0dXJuIG51bGx9ZnVuY3Rpb24gYShtKXtmb3IodmFyIHY9bmV3IE1hcDttIT09bnVsbDspbS5rZXk9PT1udWxsP3Yuc2V0KG0uaW5kZXgsbSk6di5zZXQobS5rZXksbSksbT1tLnNpYmxpbmc7cmV0dXJuIHZ9ZnVuY3Rpb24gZShtLHYpe3JldHVybiBtPWF1KG0sdiksbS5pbmRleD0wLG0uc2libGluZz1udWxsLG19ZnVuY3Rpb24gbihtLHYscyl7cmV0dXJuIG0uaW5kZXg9cyxsPyhzPW0uYWx0ZXJuYXRlLHMhPT1udWxsPyhzPXMuaW5kZXgsczx2PyhtLmZsYWdzfD0yLHYpOnMpOihtLmZsYWdzfD0xMzQyMTc3MzAsdikpOihtLmZsYWdzfD0xMDQ4NTc2LHYpfWZ1bmN0aW9uIGYobSl7cmV0dXJuIGwmJm0uYWx0ZXJuYXRlPT09bnVsbCYmKG0uZmxhZ3N8PTEzNDIxNzczMCksbX1mdW5jdGlvbiBjKG0sdixzLHIpe3JldHVybiB2PT09bnVsbHx8di50YWchPT02Pyh2PWdjKHMsbS5tb2RlLHIpLHYucmV0dXJuPW0sdik6KHY9ZSh2LHMpLHYucmV0dXJuPW0sdil9ZnVuY3Rpb24gaShtLHYscyxyKXt2YXIgTz1zLnR5cGU7cmV0dXJuIE89PT1TdD8obT1nKG0sdixzLnByb3BzLmNoaWxkcmVuLHIscy5rZXkpLE91KG0scyksbSk6diE9PW51bGwmJih2LmVsZW1lbnRUeXBlPT09T3x8dHlwZW9mIE89PSJvYmplY3QiJiZPIT09bnVsbCYmTy4kJHR5cGVvZj09PVAmJmZhKE8pPT09di50eXBlKT8odj1lKHYscy5wcm9wcyksT3UodixzKSx2LnJldHVybj1tLHYpOih2PU5uKHMudHlwZSxzLmtleSxzLnByb3BzLG51bGwsbS5tb2RlLHIpLE91KHYscyksdi5yZXR1cm49bSx2KX1mdW5jdGlvbiBkKG0sdixzLHIpe3JldHVybiB2PT09bnVsbHx8di50YWchPT00fHx2LnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09cy5jb250YWluZXJJbmZvfHx2LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PXMuaW1wbGVtZW50YXRpb24/KHY9U2MocyxtLm1vZGUsciksdi5yZXR1cm49bSx2KToodj1lKHYscy5jaGlsZHJlbnx8W10pLHYucmV0dXJuPW0sdil9ZnVuY3Rpb24gZyhtLHYscyxyLE8pe3JldHVybiB2PT09bnVsbHx8di50YWchPT03Pyh2PVB1KHMsbS5tb2RlLHIsTyksdi5yZXR1cm49bSx2KToodj1lKHYscyksdi5yZXR1cm49bSx2KX1mdW5jdGlvbiBFKG0sdixzKXtpZih0eXBlb2Ygdj09InN0cmluZyImJnYhPT0iInx8dHlwZW9mIHY9PSJudW1iZXIifHx0eXBlb2Ygdj09ImJpZ2ludCIpcmV0dXJuIHY9Z2MoIiIrdixtLm1vZGUscyksdi5yZXR1cm49bSx2O2lmKHR5cGVvZiB2PT0ib2JqZWN0IiYmdiE9PW51bGwpe3N3aXRjaCh2LiQkdHlwZW9mKXtjYXNlIEd0OnJldHVybiBzPU5uKHYudHlwZSx2LmtleSx2LnByb3BzLG51bGwsbS5tb2RlLHMpLE91KHMsdikscy5yZXR1cm49bSxzO2Nhc2UgZ3Q6cmV0dXJuIHY9U2ModixtLm1vZGUscyksdi5yZXR1cm49bSx2O2Nhc2UgUDpyZXR1cm4gdj1mYSh2KSxFKG0sdixzKX1pZihJKHYpfHxDKHYpKXJldHVybiB2PVB1KHYsbS5tb2RlLHMsbnVsbCksdi5yZXR1cm49bSx2O2lmKHR5cGVvZiB2LnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIEUobSxHbih2KSxzKTtpZih2LiQkdHlwZW9mPT09RGwpcmV0dXJuIEUobSxIbihtLHYpLHMpO1huKG0sdil9cmV0dXJuIG51bGx9ZnVuY3Rpb24geShtLHYscyxyKXt2YXIgTz12IT09bnVsbD92LmtleTpudWxsO2lmKHR5cGVvZiBzPT0ic3RyaW5nIiYmcyE9PSIifHx0eXBlb2Ygcz09Im51bWJlciJ8fHR5cGVvZiBzPT0iYmlnaW50IilyZXR1cm4gTyE9PW51bGw/bnVsbDpjKG0sdiwiIitzLHIpO2lmKHR5cGVvZiBzPT0ib2JqZWN0IiYmcyE9PW51bGwpe3N3aXRjaChzLiQkdHlwZW9mKXtjYXNlIEd0OnJldHVybiBzLmtleT09PU8/aShtLHYscyxyKTpudWxsO2Nhc2UgZ3Q6cmV0dXJuIHMua2V5PT09Tz9kKG0sdixzLHIpOm51bGw7Y2FzZSBQOnJldHVybiBzPWZhKHMpLHkobSx2LHMscil9aWYoSShzKXx8QyhzKSlyZXR1cm4gTyE9PW51bGw/bnVsbDpnKG0sdixzLHIsbnVsbCk7aWYodHlwZW9mIHMudGhlbj09ImZ1bmN0aW9uIilyZXR1cm4geShtLHYsR24ocykscik7aWYocy4kJHR5cGVvZj09PURsKXJldHVybiB5KG0sdixIbihtLHMpLHIpO1huKG0scyl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaChtLHYscyxyLE8pe2lmKHR5cGVvZiByPT0ic3RyaW5nIiYmciE9PSIifHx0eXBlb2Ygcj09Im51bWJlciJ8fHR5cGVvZiByPT0iYmlnaW50IilyZXR1cm4gbT1tLmdldChzKXx8bnVsbCxjKHYsbSwiIityLE8pO2lmKHR5cGVvZiByPT0ib2JqZWN0IiYmciE9PW51bGwpe3N3aXRjaChyLiQkdHlwZW9mKXtjYXNlIEd0OnJldHVybiBtPW0uZ2V0KHIua2V5PT09bnVsbD9zOnIua2V5KXx8bnVsbCxpKHYsbSxyLE8pO2Nhc2UgZ3Q6cmV0dXJuIG09bS5nZXQoci5rZXk9PT1udWxsP3M6ci5rZXkpfHxudWxsLGQodixtLHIsTyk7Y2FzZSBQOnJldHVybiByPWZhKHIpLGgobSx2LHMscixPKX1pZihJKHIpfHxDKHIpKXJldHVybiBtPW0uZ2V0KHMpfHxudWxsLGcodixtLHIsTyxudWxsKTtpZih0eXBlb2Ygci50aGVuPT0iZnVuY3Rpb24iKXJldHVybiBoKG0sdixzLEduKHIpLE8pO2lmKHIuJCR0eXBlb2Y9PT1EbClyZXR1cm4gaChtLHYscyxIbih2LHIpLE8pO1huKHYscil9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYihtLHYscyxyKXtmb3IodmFyIE89bnVsbCxLPW51bGwsTT12LFI9dj0wLE9sPW51bGw7TSE9PW51bGwmJlI8cy5sZW5ndGg7UisrKXtNLmluZGV4PlI/KE9sPU0sTT1udWxsKTpPbD1NLnNpYmxpbmc7dmFyIEo9eShtLE0sc1tSXSxyKTtpZihKPT09bnVsbCl7TT09PW51bGwmJihNPU9sKTticmVha31sJiZNJiZKLmFsdGVybmF0ZT09PW51bGwmJnQobSxNKSx2PW4oSix2LFIpLEs9PT1udWxsP089SjpLLnNpYmxpbmc9SixLPUosTT1PbH1pZihSPT09cy5sZW5ndGgpcmV0dXJuIHUobSxNKSxaJiZldShtLFIpLE87aWYoTT09PW51bGwpe2Zvcig7UjxzLmxlbmd0aDtSKyspTT1FKG0sc1tSXSxyKSxNIT09bnVsbCYmKHY9bihNLHYsUiksSz09PW51bGw/Tz1NOksuc2libGluZz1NLEs9TSk7cmV0dXJuIFomJmV1KG0sUiksT31mb3IoTT1hKE0pO1I8cy5sZW5ndGg7UisrKU9sPWgoTSxtLFIsc1tSXSxyKSxPbCE9PW51bGwmJihsJiYoSj1PbC5hbHRlcm5hdGUsSiE9PW51bGwmJk0uZGVsZXRlKEoua2V5PT09bnVsbD9SOkoua2V5KSksdj1uKE9sLHYsUiksSz09PW51bGw/Tz1PbDpLLnNpYmxpbmc9T2wsSz1PbCk7cmV0dXJuIGwmJk0uZm9yRWFjaChmdW5jdGlvbihwdSl7cmV0dXJuIHQobSxwdSl9KSxaJiZldShtLFIpLE99ZnVuY3Rpb24gQShtLHYscyxyKXtpZihzPT1udWxsKXRocm93IEVycm9yKFMoMTUxKSk7Zm9yKHZhciBPPW51bGwsSz1udWxsLE09dixSPXY9MCxPbD1udWxsLEo9cy5uZXh0KCk7TSE9PW51bGwmJiFKLmRvbmU7UisrLEo9cy5uZXh0KCkpe00uaW5kZXg+Uj8oT2w9TSxNPW51bGwpOk9sPU0uc2libGluZzt2YXIgcHU9eShtLE0sSi52YWx1ZSxyKTtpZihwdT09PW51bGwpe009PT1udWxsJiYoTT1PbCk7YnJlYWt9bCYmTSYmcHUuYWx0ZXJuYXRlPT09bnVsbCYmdChtLE0pLHY9bihwdSx2LFIpLEs9PT1udWxsP089cHU6Sy5zaWJsaW5nPXB1LEs9cHUsTT1PbH1pZihKLmRvbmUpcmV0dXJuIHUobSxNKSxaJiZldShtLFIpLE87aWYoTT09PW51bGwpe2Zvcig7IUouZG9uZTtSKyssSj1zLm5leHQoKSlKPUUobSxKLnZhbHVlLHIpLEohPT1udWxsJiYodj1uKEosdixSKSxLPT09bnVsbD9PPUo6Sy5zaWJsaW5nPUosSz1KKTtyZXR1cm4gWiYmZXUobSxSKSxPfWZvcihNPWEoTSk7IUouZG9uZTtSKyssSj1zLm5leHQoKSlKPWgoTSxtLFIsSi52YWx1ZSxyKSxKIT09bnVsbCYmKGwmJihPbD1KLmFsdGVybmF0ZSxPbCE9PW51bGwmJk0uZGVsZXRlKE9sLmtleT09PW51bGw/UjpPbC5rZXkpKSx2PW4oSix2LFIpLEs9PT1udWxsP089SjpLLnNpYmxpbmc9SixLPUopO3JldHVybiBsJiZNLmZvckVhY2goZnVuY3Rpb24oRnMpe3JldHVybiB0KG0sRnMpfSksWiYmZXUobSxSKSxPfWZ1bmN0aW9uIGoobSx2LHMscil7aWYodHlwZW9mIHM9PSJvYmplY3QiJiZzIT09bnVsbCYmcy50eXBlPT09U3QmJnMua2V5PT09bnVsbCYmcy5wcm9wcy5yZWY9PT12b2lkIDAmJihzPXMucHJvcHMuY2hpbGRyZW4pLHR5cGVvZiBzPT0ib2JqZWN0IiYmcyE9PW51bGwpe3N3aXRjaChzLiQkdHlwZW9mKXtjYXNlIEd0Omw6e2Zvcih2YXIgTz1zLmtleTt2IT09bnVsbDspe2lmKHYua2V5PT09Tyl7aWYoTz1zLnR5cGUsTz09PVN0KXtpZih2LnRhZz09PTcpe3UobSx2LnNpYmxpbmcpLHI9ZSh2LHMucHJvcHMuY2hpbGRyZW4pLE91KHIscyksci5yZXR1cm49bSxtPXI7YnJlYWsgbH19ZWxzZSBpZih2LmVsZW1lbnRUeXBlPT09T3x8dHlwZW9mIE89PSJvYmplY3QiJiZPIT09bnVsbCYmTy4kJHR5cGVvZj09PVAmJmZhKE8pPT09di50eXBlKXt1KG0sdi5zaWJsaW5nKSxyPWUodixzLnByb3BzKSxPdShyLHMpLHIucmV0dXJuPW0sbT1yO2JyZWFrIGx9dShtLHYpO2JyZWFrfWVsc2UgdChtLHYpO3Y9di5zaWJsaW5nfXMudHlwZT09PVN0PyhyPVB1KHMucHJvcHMuY2hpbGRyZW4sbS5tb2RlLHIscy5rZXkpLE91KHIscyksci5yZXR1cm49bSxtPXIpOihyPU5uKHMudHlwZSxzLmtleSxzLnByb3BzLG51bGwsbS5tb2RlLHIpLE91KHIscyksci5yZXR1cm49bSxtPXIpfXJldHVybiBmKG0pO2Nhc2UgZ3Q6bDp7Zm9yKE89cy5rZXk7diE9PW51bGw7KXtpZih2LmtleT09PU8paWYodi50YWc9PT00JiZ2LnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09cy5jb250YWluZXJJbmZvJiZ2LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbj09PXMuaW1wbGVtZW50YXRpb24pe3UobSx2LnNpYmxpbmcpLHI9ZSh2LHMuY2hpbGRyZW58fFtdKSxyLnJldHVybj1tLG09cjticmVhayBsfWVsc2V7dShtLHYpO2JyZWFrfWVsc2UgdChtLHYpO3Y9di5zaWJsaW5nfXI9U2MocyxtLm1vZGUsciksci5yZXR1cm49bSxtPXJ9cmV0dXJuIGYobSk7Y2FzZSBQOnJldHVybiBzPWZhKHMpLGoobSx2LHMscil9aWYoSShzKSlyZXR1cm4gYihtLHYscyxyKTtpZihDKHMpKXtpZihPPUMocyksdHlwZW9mIE8hPSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoUygxNTApKTtyZXR1cm4gcz1PLmNhbGwocyksQShtLHYscyxyKX1pZih0eXBlb2Ygcy50aGVuPT0iZnVuY3Rpb24iKXJldHVybiBqKG0sdixHbihzKSxyKTtpZihzLiQkdHlwZW9mPT09RGwpcmV0dXJuIGoobSx2LEhuKG0scykscik7WG4obSxzKX1yZXR1cm4gdHlwZW9mIHM9PSJzdHJpbmciJiZzIT09IiJ8fHR5cGVvZiBzPT0ibnVtYmVyInx8dHlwZW9mIHM9PSJiaWdpbnQiPyhzPSIiK3MsdiE9PW51bGwmJnYudGFnPT09Nj8odShtLHYuc2libGluZykscj1lKHYscyksci5yZXR1cm49bSxtPXIpOih1KG0sdikscj1nYyhzLG0ubW9kZSxyKSxyLnJldHVybj1tLG09ciksZihtKSk6dShtLHYpfXJldHVybiBmdW5jdGlvbihtLHYscyxyKXt0cnl7RGU9MDt2YXIgTz1qKG0sdixzLHIpO3JldHVybiBHYT1udWxsLE99Y2F0Y2goTSl7aWYoTT09PUJhfHxNPT09cW4pdGhyb3cgTTt2YXIgSz0kbCgyOSxNLG51bGwsbS5tb2RlKTtyZXR1cm4gSy5sYW5lcz1yLEsucmV0dXJuPW0sS319fXZhciBpYT1MdighMCkscHY9THYoITEpLEF1PSExO2Z1bmN0aW9uIERjKGwpe2wudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTpsLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxsYW5lczowLGhpZGRlbkNhbGxiYWNrczpudWxsfSxjYWxsYmFja3M6bnVsbH19ZnVuY3Rpb24gTWMobCx0KXtsPWwudXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT09PWwmJih0LnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6bC5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmwuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmwubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmwuc2hhcmVkLGNhbGxiYWNrczpudWxsfSl9ZnVuY3Rpb24gTnUobCl7cmV0dXJue2xhbmU6bCx0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9fWZ1bmN0aW9uIER1KGwsdCx1KXt2YXIgYT1sLnVwZGF0ZVF1ZXVlO2lmKGE9PT1udWxsKXJldHVybiBudWxsO2lmKGE9YS5zaGFyZWQsKGsmMikhPT0wKXt2YXIgZT1hLnBlbmRpbmc7cmV0dXJuIGU9PT1udWxsP3QubmV4dD10Oih0Lm5leHQ9ZS5uZXh0LGUubmV4dD10KSxhLnBlbmRpbmc9dCx0PUFuKGwpLE52KGwsbnVsbCx1KSx0fXJldHVybiBPbihsLGEsdCx1KSxBbihsKX1mdW5jdGlvbiBNZShsLHQsdSl7aWYodD10LnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYodD10LnNoYXJlZCwodSY0MTk0MDQ4KSE9PTApKXt2YXIgYT10LmxhbmVzO2EmPWwucGVuZGluZ0xhbmVzLHV8PWEsdC5sYW5lcz11LEMwKGwsdSl9fWZ1bmN0aW9uIFVjKGwsdCl7dmFyIHU9bC51cGRhdGVRdWV1ZSxhPWwuYWx0ZXJuYXRlO2lmKGEhPT1udWxsJiYoYT1hLnVwZGF0ZVF1ZXVlLHU9PT1hKSl7dmFyIGU9bnVsbCxuPW51bGw7aWYodT11LmZpcnN0QmFzZVVwZGF0ZSx1IT09bnVsbCl7ZG97dmFyIGY9e2xhbmU6dS5sYW5lLHRhZzp1LnRhZyxwYXlsb2FkOnUucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH07bj09PW51bGw/ZT1uPWY6bj1uLm5leHQ9Zix1PXUubmV4dH13aGlsZSh1IT09bnVsbCk7bj09PW51bGw/ZT1uPXQ6bj1uLm5leHQ9dH1lbHNlIGU9bj10O3U9e2Jhc2VTdGF0ZTphLmJhc2VTdGF0ZSxmaXJzdEJhc2VVcGRhdGU6ZSxsYXN0QmFzZVVwZGF0ZTpuLHNoYXJlZDphLnNoYXJlZCxjYWxsYmFja3M6YS5jYWxsYmFja3N9LGwudXBkYXRlUXVldWU9dTtyZXR1cm59bD11Lmxhc3RCYXNlVXBkYXRlLGw9PT1udWxsP3UuZmlyc3RCYXNlVXBkYXRlPXQ6bC5uZXh0PXQsdS5sYXN0QmFzZVVwZGF0ZT10fXZhciBDYz0hMTtmdW5jdGlvbiBVZSgpe2lmKENjKXt2YXIgbD1xYTtpZihsIT09bnVsbCl0aHJvdyBsfX1mdW5jdGlvbiBDZShsLHQsdSxhKXtDYz0hMTt2YXIgZT1sLnVwZGF0ZVF1ZXVlO0F1PSExO3ZhciBuPWUuZmlyc3RCYXNlVXBkYXRlLGY9ZS5sYXN0QmFzZVVwZGF0ZSxjPWUuc2hhcmVkLnBlbmRpbmc7aWYoYyE9PW51bGwpe2Uuc2hhcmVkLnBlbmRpbmc9bnVsbDt2YXIgaT1jLGQ9aS5uZXh0O2kubmV4dD1udWxsLGY9PT1udWxsP249ZDpmLm5leHQ9ZCxmPWk7dmFyIGc9bC5hbHRlcm5hdGU7ZyE9PW51bGwmJihnPWcudXBkYXRlUXVldWUsYz1nLmxhc3RCYXNlVXBkYXRlLGMhPT1mJiYoYz09PW51bGw/Zy5maXJzdEJhc2VVcGRhdGU9ZDpjLm5leHQ9ZCxnLmxhc3RCYXNlVXBkYXRlPWkpKX1pZihuIT09bnVsbCl7dmFyIEU9ZS5iYXNlU3RhdGU7Zj0wLGc9ZD1pPW51bGwsYz1uO2Rve3ZhciB5PWMubGFuZSYtNTM2ODcwOTEzLGg9eSE9PWMubGFuZTtpZihoPyh4JnkpPT09eTooYSZ5KT09PXkpe3khPT0wJiZ5PT09ZWEmJihDYz0hMCksZyE9PW51bGwmJihnPWcubmV4dD17bGFuZTowLHRhZzpjLnRhZyxwYXlsb2FkOmMucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH0pO2w6e3ZhciBiPWwsQT1jO3k9dDt2YXIgaj11O3N3aXRjaChBLnRhZyl7Y2FzZSAxOmlmKGI9QS5wYXlsb2FkLHR5cGVvZiBiPT0iZnVuY3Rpb24iKXtFPWIuY2FsbChqLEUseSk7YnJlYWsgbH1FPWI7YnJlYWsgbDtjYXNlIDM6Yi5mbGFncz1iLmZsYWdzJi02NTUzN3wxMjg7Y2FzZSAwOmlmKGI9QS5wYXlsb2FkLHk9dHlwZW9mIGI9PSJmdW5jdGlvbiI/Yi5jYWxsKGosRSx5KTpiLHk9PW51bGwpYnJlYWsgbDtFPVYoe30sRSx5KTticmVhayBsO2Nhc2UgMjpBdT0hMH19eT1jLmNhbGxiYWNrLHkhPT1udWxsJiYobC5mbGFnc3w9NjQsaCYmKGwuZmxhZ3N8PTgxOTIpLGg9ZS5jYWxsYmFja3MsaD09PW51bGw/ZS5jYWxsYmFja3M9W3ldOmgucHVzaCh5KSl9ZWxzZSBoPXtsYW5lOnksdGFnOmMudGFnLHBheWxvYWQ6Yy5wYXlsb2FkLGNhbGxiYWNrOmMuY2FsbGJhY2ssbmV4dDpudWxsfSxnPT09bnVsbD8oZD1nPWgsaT1FKTpnPWcubmV4dD1oLGZ8PXk7aWYoYz1jLm5leHQsYz09PW51bGwpe2lmKGM9ZS5zaGFyZWQucGVuZGluZyxjPT09bnVsbClicmVhaztoPWMsYz1oLm5leHQsaC5uZXh0PW51bGwsZS5sYXN0QmFzZVVwZGF0ZT1oLGUuc2hhcmVkLnBlbmRpbmc9bnVsbH19d2hpbGUoITApO2c9PT1udWxsJiYoaT1FKSxlLmJhc2VTdGF0ZT1pLGUuZmlyc3RCYXNlVXBkYXRlPWQsZS5sYXN0QmFzZVVwZGF0ZT1nLG49PT1udWxsJiYoZS5zaGFyZWQubGFuZXM9MCkscXV8PWYsbC5sYW5lcz1mLGwubWVtb2l6ZWRTdGF0ZT1FfX1mdW5jdGlvbiB4dihsLHQpe2lmKHR5cGVvZiBsIT0iZnVuY3Rpb24iKXRocm93IEVycm9yKFMoMTkxLGwpKTtsLmNhbGwodCl9ZnVuY3Rpb24gS3YobCx0KXt2YXIgdT1sLmNhbGxiYWNrcztpZih1IT09bnVsbClmb3IobC5jYWxsYmFja3M9bnVsbCxsPTA7bDx1Lmxlbmd0aDtsKyspeHYodVtsXSx0KX12YXIgTXU9WHQobnVsbCksUW49WHQoMCk7ZnVuY3Rpb24gSnYobCx0KXtsPXl1LG9sKFFuLGwpLG9sKE11LHQpLHl1PWx8dC5iYXNlTGFuZXN9ZnVuY3Rpb24gUmMoKXtvbChRbix5dSksb2woTXUsTXUuY3VycmVudCl9ZnVuY3Rpb24gSGMoKXt5dT1Rbi5jdXJyZW50LFlsKE11KSxZbChRbil9dmFyIEdsPVh0KG51bGwpLFZsPW51bGw7ZnVuY3Rpb24gVXUobCl7dmFyIHQ9bC5hbHRlcm5hdGU7b2woWGwsWGwuY3VycmVudCYxKSxvbChHbCxsKSxWbD09PW51bGwmJih0PT09bnVsbHx8TXUuY3VycmVudCE9PW51bGx8fHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwpJiYoVmw9bCl9ZnVuY3Rpb24gWWMobCl7b2woWGwsWGwuY3VycmVudCksb2woR2wsbCksVmw9PT1udWxsJiYoVmw9bCl9ZnVuY3Rpb24gd3YobCl7bC50YWc9PT0yMj8ob2woWGwsWGwuY3VycmVudCksb2woR2wsbCksVmw9PT1udWxsJiYoVmw9bCkpOkN1KCl9ZnVuY3Rpb24gQ3UoKXtvbChYbCxYbC5jdXJyZW50KSxvbChHbCxHbC5jdXJyZW50KX1mdW5jdGlvbiB2dChsKXtZbChHbCksVmw9PT1sJiYoVmw9bnVsbCksWWwoWGwpfXZhciBYbD1YdCgwKTtmdW5jdGlvbiBSZShsLHQpe29sKEdsLEdsLmN1cnJlbnQpLG9sKFhsLHQpfWZ1bmN0aW9uIHFjKGwpe1lsKFhsKSxZbChHbCksVmw9PT1sJiYoVmw9bnVsbCl9ZnVuY3Rpb24gam4obCl7Zm9yKHZhciB0PWw7dCE9PW51bGw7KXtpZih0LnRhZz09PTEzKXt2YXIgdT10Lm1lbW9pemVkU3RhdGU7aWYodSE9PW51bGwmJih1PXUuZGVoeWRyYXRlZCx1PT09bnVsbHx8dTAodSl8fGEwKHUpKSlyZXR1cm4gdH1lbHNlIGlmKHQudGFnPT09MTkmJnQubWVtb2l6ZWRQcm9wcy5yZXZlYWxPcmRlciE9PSJpbmRlcGVuZGVudCIpe2lmKCh0LmZsYWdzJjEyOCkhPT0wKXJldHVybiB0fWVsc2UgaWYodC5jaGlsZCE9PW51bGwpe3QuY2hpbGQucmV0dXJuPXQsdD10LmNoaWxkO2NvbnRpbnVlfWlmKHQ9PT1sKWJyZWFrO2Zvcig7dC5zaWJsaW5nPT09bnVsbDspe2lmKHQucmV0dXJuPT09bnVsbHx8dC5yZXR1cm49PT1sKXJldHVybiBudWxsO3Q9dC5yZXR1cm59dC5zaWJsaW5nLnJldHVybj10LnJldHVybix0PXQuc2libGluZ31yZXR1cm4gbnVsbH12YXIgY3U9MCxRPW51bGwsbmw9bnVsbCxibD1udWxsLFpuPSExLFhhPSExLHZhPSExLFZuPTAsSGU9MCxRYT1udWxsLFNkPTA7ZnVuY3Rpb24gU2woKXt0aHJvdyBFcnJvcihTKDMyMSkpfWZ1bmN0aW9uIEJjKGwsdCl7aWYodD09PW51bGwpcmV0dXJuITE7Zm9yKHZhciB1PTA7dTx0Lmxlbmd0aCYmdTxsLmxlbmd0aDt1KyspaWYoIWl0KGxbdV0sdFt1XSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gR2MobCx0LHUsYSxlLG4pe3JldHVybiBjdT1uLFE9dCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGwsdC5sYW5lcz0wLE4uSD1sPT09bnVsbHx8bC5tZW1vaXplZFN0YXRlPT09bnVsbD9SbzpIbyx2YT0hMSxuPXUoYSxlKSx2YT0hMSxYYSYmKG49JHYodCx1LGEsZSkpLFd2KGwpLG59ZnVuY3Rpb24gV3YobCl7Ti5IPVduO3ZhciB0PW5sIT09bnVsbCYmbmwubmV4dCE9PW51bGw7aWYoY3U9MCxibD1ubD1RPW51bGwsWm49ITEsSGU9MCxRYT1udWxsLHQpdGhyb3cgRXJyb3IoUygzMDApKTtsPT09bnVsbHx8X2x8fChsPWwuZGVwZW5kZW5jaWVzLGwhPT1udWxsJiZSbihsKSYmKF9sPSEwKSl9ZnVuY3Rpb24gJHYobCx0LHUsYSl7UT1sO3ZhciBlPTA7ZG97aWYoWGEmJihRYT1udWxsKSxIZT0wLFhhPSExLDI1PD1lKXRocm93IEVycm9yKFMoMzAxKSk7aWYoZSs9MSxibD1ubD1udWxsLGwudXBkYXRlUXVldWUhPW51bGwpe3ZhciBuPWwudXBkYXRlUXVldWU7bi5sYXN0RWZmZWN0PW51bGwsbi5ldmVudHM9bnVsbCxuLnN0b3Jlcz1udWxsLG4ubWVtb0NhY2hlIT1udWxsJiYobi5tZW1vQ2FjaGUuaW5kZXg9MCl9Ti5IPUFkLG49dCh1LGEpfXdoaWxlKFhhKTtyZXR1cm4gbn1mdW5jdGlvbiByZCgpe3ZhciBsPU4uSCx0PWwudXNlU3RhdGUoKVswXTtyZXR1cm4gdD10eXBlb2YgdC50aGVuPT0iZnVuY3Rpb24iP1llKHQpOnQsbD1sLnVzZVN0YXRlKClbMF0sKG5sIT09bnVsbD9ubC5tZW1vaXplZFN0YXRlOm51bGwpIT09bCYmKFEuZmxhZ3N8PTEwMjQpLHR9ZnVuY3Rpb24gWGMoKXt2YXIgbD1WbiE9PTA7cmV0dXJuIFZuPTAsbH1mdW5jdGlvbiBRYyhsLHQsdSl7dC51cGRhdGVRdWV1ZT1sLnVwZGF0ZVF1ZXVlLHQuZmxhZ3MmPS0yMDUzLGwubGFuZXMmPX51fWZ1bmN0aW9uIGpjKGwpe2lmKFpuKXtmb3IobD1sLm1lbW9pemVkU3RhdGU7bCE9PW51bGw7KXt2YXIgdD1sLnF1ZXVlO3QhPT1udWxsJiYodC5wZW5kaW5nPW51bGwpLGw9bC5uZXh0fVpuPSExfWN1PTAsYmw9bmw9UT1udWxsLFhhPSExLEhlPVZuPTAsUWE9bnVsbH1mdW5jdGlvbiBwbCgpe3ZhciBsPXttZW1vaXplZFN0YXRlOm51bGwsYmFzZVN0YXRlOm51bGwsYmFzZVF1ZXVlOm51bGwscXVldWU6bnVsbCxuZXh0Om51bGx9O3JldHVybiBibD09PW51bGw/US5tZW1vaXplZFN0YXRlPWJsPWw6Ymw9YmwubmV4dD1sLGJsfWZ1bmN0aW9uIFRsKCl7aWYobmw9PT1udWxsKXt2YXIgbD1RLmFsdGVybmF0ZTtsPWwhPT1udWxsP2wubWVtb2l6ZWRTdGF0ZTpudWxsfWVsc2UgbD1ubC5uZXh0O3ZhciB0PWJsPT09bnVsbD9RLm1lbW9pemVkU3RhdGU6YmwubmV4dDtpZih0IT09bnVsbClibD10LG5sPWw7ZWxzZXtpZihsPT09bnVsbCl0aHJvdyBRLmFsdGVybmF0ZT09PW51bGw/RXJyb3IoUyg0NjcpKTpFcnJvcihTKDMxMCkpO25sPWwsbD17bWVtb2l6ZWRTdGF0ZTpubC5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTpubC5iYXNlU3RhdGUsYmFzZVF1ZXVlOm5sLmJhc2VRdWV1ZSxxdWV1ZTpubC5xdWV1ZSxuZXh0Om51bGx9LGJsPT09bnVsbD9RLm1lbW9pemVkU3RhdGU9Ymw9bDpibD1ibC5uZXh0PWx9cmV0dXJuIGJsfWZ1bmN0aW9uIExuKCl7cmV0dXJue2xhc3RFZmZlY3Q6bnVsbCxldmVudHM6bnVsbCxzdG9yZXM6bnVsbCxtZW1vQ2FjaGU6bnVsbH19ZnVuY3Rpb24gWWUobCl7dmFyIHQ9SGU7cmV0dXJuIEhlKz0xLFFhPT09bnVsbCYmKFFhPVtdKSxsPWp2KFFhLGwsdCksdD1RLChibD09PW51bGw/dC5tZW1vaXplZFN0YXRlOmJsLm5leHQpPT09bnVsbCYmKHQ9dC5hbHRlcm5hdGUsTi5IPXQ9PT1udWxsfHx0Lm1lbW9pemVkU3RhdGU9PT1udWxsP1JvOkhvKSxsfWZ1bmN0aW9uIHBuKGwpe2lmKGwhPT1udWxsJiZ0eXBlb2YgbD09Im9iamVjdCIpe2lmKHR5cGVvZiBsLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIFllKGwpO2lmKGwuJCR0eXBlb2Y9PT16KXJldHVybjtpZihsLiQkdHlwZW9mPT09RGwpcmV0dXJuIEJsKGwpfXRocm93IEVycm9yKFMoNDM4LFN0cmluZyhsKSkpfWZ1bmN0aW9uIFpjKGwpe3ZhciB0PW51bGwsdT1RLnVwZGF0ZVF1ZXVlO2lmKHUhPT1udWxsJiYodD11Lm1lbW9DYWNoZSksdD09bnVsbCl7dmFyIGE9US5hbHRlcm5hdGU7YSE9PW51bGwmJihhPWEudXBkYXRlUXVldWUsYSE9PW51bGwmJihhPWEubWVtb0NhY2hlLGEhPW51bGwmJih0PXtkYXRhOmEuZGF0YS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2xpY2UoKX0pLGluZGV4OjB9KSkpfWlmKHQ9PW51bGwmJih0PXtkYXRhOltdLGluZGV4OjB9KSx1PT09bnVsbCYmKHU9TG4oKSxRLnVwZGF0ZVF1ZXVlPXUpLHUubWVtb0NhY2hlPXQsdT10LmRhdGFbdC5pbmRleF0sdT09PXZvaWQgMClmb3IodT10LmRhdGFbdC5pbmRleF09QXJyYXkobCksYT0wO2E8bDthKyspdVthXT1KdTtyZXR1cm4gdC5pbmRleCsrLHV9ZnVuY3Rpb24gaXUobCx0KXtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/dChsKTp0fWZ1bmN0aW9uIHhuKGwpe3ZhciB0PVRsKCk7cmV0dXJuIFZjKHQsbmwsbCl9ZnVuY3Rpb24gVmMobCx0LHUpe3ZhciBhPWwucXVldWU7aWYoYT09PW51bGwpdGhyb3cgRXJyb3IoUygzMTEpKTthLmxhc3RSZW5kZXJlZFJlZHVjZXI9dTt2YXIgZT1sLmJhc2VRdWV1ZSxuPWEucGVuZGluZztpZihuIT09bnVsbCl7aWYoZSE9PW51bGwpe3ZhciBmPWUubmV4dDtlLm5leHQ9bi5uZXh0LG4ubmV4dD1mfXQuYmFzZVF1ZXVlPWU9bixhLnBlbmRpbmc9bnVsbH1pZihuPWwuYmFzZVN0YXRlLGU9PT1udWxsKWwubWVtb2l6ZWRTdGF0ZT1uO2Vsc2V7dD1lLm5leHQ7dmFyIGM9Zj1udWxsLGk9bnVsbCxkPXQsZz0hMTtkb3t2YXIgRT1kLmxhbmUmLTUzNjg3MDkxMztpZihFIT09ZC5sYW5lPyh4JkUpPT09RTooY3UmRSk9PT1FKXt2YXIgeT1kLnJldmVydExhbmU7aWYoeT09PTApaSE9PW51bGwmJihpPWkubmV4dD17bGFuZTowLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOmQuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6ZC5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6ZC5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLEU9PT1lYSYmKGc9ITApO2Vsc2UgaWYoKGN1JnkpPT09eSl7ZD1kLm5leHQseT09PWVhJiYoZz0hMCk7Y29udGludWV9ZWxzZSBFPXtsYW5lOjAscmV2ZXJ0TGFuZTpkLnJldmVydExhbmUsZ2VzdHVyZTpudWxsLGFjdGlvbjpkLmFjdGlvbixoYXNFYWdlclN0YXRlOmQuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOmQuZWFnZXJTdGF0ZSxuZXh0Om51bGx9LGk9PT1udWxsPyhjPWk9RSxmPW4pOmk9aS5uZXh0PUUsUS5sYW5lc3w9eSxxdXw9eTtFPWQuYWN0aW9uLHZhJiZ1KG4sRSksbj1kLmhhc0VhZ2VyU3RhdGU/ZC5lYWdlclN0YXRlOnUobixFKX1lbHNlIHk9e2xhbmU6RSxyZXZlcnRMYW5lOmQucmV2ZXJ0TGFuZSxnZXN0dXJlOmQuZ2VzdHVyZSxhY3Rpb246ZC5hY3Rpb24saGFzRWFnZXJTdGF0ZTpkLmhhc0VhZ2VyU3RhdGUsZWFnZXJTdGF0ZTpkLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSxpPT09bnVsbD8oYz1pPXksZj1uKTppPWkubmV4dD15LFEubGFuZXN8PUUscXV8PUU7ZD1kLm5leHR9d2hpbGUoZCE9PW51bGwmJmQhPT10KTtpZihpPT09bnVsbD9mPW46aS5uZXh0PWMsIWl0KG4sbC5tZW1vaXplZFN0YXRlKSYmKF9sPSEwLGcmJih1PXFhLHUhPT1udWxsKSkpdGhyb3cgdTtsLm1lbW9pemVkU3RhdGU9bixsLmJhc2VTdGF0ZT1mLGwuYmFzZVF1ZXVlPWksYS5sYXN0UmVuZGVyZWRTdGF0ZT1ufXJldHVybiBlPT09bnVsbCYmKGEubGFuZXM9MCksW2wubWVtb2l6ZWRTdGF0ZSxhLmRpc3BhdGNoXX1mdW5jdGlvbiBMYyhsKXt2YXIgdD1UbCgpLHU9dC5xdWV1ZTtpZih1PT09bnVsbCl0aHJvdyBFcnJvcihTKDMxMSkpO3UubGFzdFJlbmRlcmVkUmVkdWNlcj1sO3ZhciBhPXUuZGlzcGF0Y2gsZT11LnBlbmRpbmcsbj10Lm1lbW9pemVkU3RhdGU7aWYoZSE9PW51bGwpe3UucGVuZGluZz1udWxsO3ZhciBmPWU9ZS5uZXh0O2RvIG49bChuLGYuYWN0aW9uKSxmPWYubmV4dDt3aGlsZShmIT09ZSk7aXQobix0Lm1lbW9pemVkU3RhdGUpfHwoX2w9ITApLHQubWVtb2l6ZWRTdGF0ZT1uLHQuYmFzZVF1ZXVlPT09bnVsbCYmKHQuYmFzZVN0YXRlPW4pLHUubGFzdFJlbmRlcmVkU3RhdGU9bn1yZXR1cm5bbixhXX1mdW5jdGlvbiBGdihsLHQsdSl7dmFyIGE9USxlPVRsKCksbj1aO2lmKG4pe2lmKHU9PT12b2lkIDApdGhyb3cgRXJyb3IoUyg0MDcpKTt1PXUoKX1lbHNlIHU9dCgpO3ZhciBmPSFpdCgobmx8fGUpLm1lbW9pemVkU3RhdGUsdSk7aWYoZiYmKGUubWVtb2l6ZWRTdGF0ZT11LF9sPSEwKSxlPWUucXVldWUsS2MoUHYuYmluZChudWxsLGEsZSxsKSxbbF0pLGw9ZS5nZXRTbmFwc2hvdCE9PXR8fGZ8fGJsIT09bnVsbCYmKGJsLm1lbW9pemVkU3RhdGUudGFnJjEpIT09MCxqYShsPzk6OCx7ZGVzdHJveTp2b2lkIDB9LGt2LmJpbmQobnVsbCxhLGUsdSx0KSxudWxsKSxsKXtpZihhLmZsYWdzfD0yMDQ4LGlsPT09bnVsbCl0aHJvdyBFcnJvcihTKDM0OSkpO258fChjdSYxMjcpIT09MHx8SXYoYSx0LHUpfXJldHVybiB1fWZ1bmN0aW9uIEl2KGwsdCx1KXtsLmZsYWdzfD0xNjM4NCxsPXtnZXRTbmFwc2hvdDp0LHZhbHVlOnV9LHQ9US51cGRhdGVRdWV1ZSx0PT09bnVsbD8odD1MbigpLFEudXBkYXRlUXVldWU9dCx0LnN0b3Jlcz1bbF0pOih1PXQuc3RvcmVzLHU9PT1udWxsP3Quc3RvcmVzPVtsXTp1LnB1c2gobCkpfWZ1bmN0aW9uIGt2KGwsdCx1LGEpe3QudmFsdWU9dSx0LmdldFNuYXBzaG90PWEsbG8odCkmJnRvKGwpfWZ1bmN0aW9uIFB2KGwsdCx1KXtyZXR1cm4gdShmdW5jdGlvbigpe2xvKHQpJiZ0byhsKX0pfWZ1bmN0aW9uIGxvKGwpe3ZhciB0PWwuZ2V0U25hcHNob3Q7bD1sLnZhbHVlO3RyeXt2YXIgdT10KCk7cmV0dXJuIWl0KGwsdSl9Y2F0Y2h7cmV0dXJuITB9fWZ1bmN0aW9uIHRvKGwpe3ZhciB0PWt1KGwsMik7dCE9PW51bGwmJlBsKHQsbCwyKX1mdW5jdGlvbiBwYyhsKXt2YXIgdD1wbCgpO2lmKHR5cGVvZiBsPT0iZnVuY3Rpb24iKXt2YXIgdT1sO2lmKGw9dSgpLHZhKXtTdSghMCk7dHJ5e3UoKX1maW5hbGx5e1N1KCExKX19fXJldHVybiB0Lm1lbW9pemVkU3RhdGU9dC5iYXNlU3RhdGU9bCx0LnF1ZXVlPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6aXUsbGFzdFJlbmRlcmVkU3RhdGU6bH0sdH1mdW5jdGlvbiB1byhsLHQsdSxhKXtyZXR1cm4gbC5iYXNlU3RhdGU9dSxWYyhsLG5sLHR5cGVvZiBhPT0iZnVuY3Rpb24iP2E6aXUpfWZ1bmN0aW9uIFRkKGwsdCx1LGEsZSl7aWYod24obCkpdGhyb3cgRXJyb3IoUyg0ODUpKTtpZihsPXQuYWN0aW9uLGwhPT1udWxsKXt2YXIgbj17cGF5bG9hZDplLGFjdGlvbjpsLG5leHQ6bnVsbCxpc1RyYW5zaXRpb246ITAsc3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLGxpc3RlbmVyczpbXSx0aGVuOmZ1bmN0aW9uKGYpe24ubGlzdGVuZXJzLnB1c2goZil9fTtOLlQhPT1udWxsP3UoITApOm4uaXNUcmFuc2l0aW9uPSExLGEobiksdT10LnBlbmRpbmcsdT09PW51bGw/KG4ubmV4dD10LnBlbmRpbmc9bixhbyh0LG4pKToobi5uZXh0PXUubmV4dCx0LnBlbmRpbmc9dS5uZXh0PW4pfX1mdW5jdGlvbiBhbyhsLHQpe3ZhciB1PXQuYWN0aW9uLGE9dC5wYXlsb2FkLGU9bC5zdGF0ZTtpZih0LmlzVHJhbnNpdGlvbil7dmFyIG49Ti5ULGY9e307Zi50eXBlcz1uIT09bnVsbD9uLnR5cGVzOm51bGwsTi5UPWY7dHJ5e3ZhciBjPXUoZSxhKSxpPU4uUztpIT09bnVsbCYmaShmLGMpLGVvKGwsdCxjKX1jYXRjaChkKXt4YyhsLHQsZCl9ZmluYWxseXtuIT09bnVsbCYmZi50eXBlcyE9PW51bGwmJihuLnR5cGVzPWYudHlwZXMpLE4uVD1ufX1lbHNlIHRyeXtuPXUoZSxhKSxlbyhsLHQsbil9Y2F0Y2goZCl7eGMobCx0LGQpfX1mdW5jdGlvbiBlbyhsLHQsdSl7dSE9PW51bGwmJnR5cGVvZiB1PT0ib2JqZWN0IiYmdHlwZW9mIHUudGhlbj09ImZ1bmN0aW9uIj91LnRoZW4oZnVuY3Rpb24oYSl7bm8obCx0LGEpfSxmdW5jdGlvbihhKXtyZXR1cm4geGMobCx0LGEpfSk6bm8obCx0LHUpfWZ1bmN0aW9uIG5vKGwsdCx1KXt0LnN0YXR1cz0iZnVsZmlsbGVkIix0LnZhbHVlPXUsZm8odCksbC5zdGF0ZT11LHQ9bC5wZW5kaW5nLHQhPT1udWxsJiYodT10Lm5leHQsdT09PXQ/bC5wZW5kaW5nPW51bGw6KHU9dS5uZXh0LHQubmV4dD11LGFvKGwsdSkpKX1mdW5jdGlvbiB4YyhsLHQsdSl7dmFyIGE9bC5wZW5kaW5nO2lmKGwucGVuZGluZz1udWxsLGEhPT1udWxsKXthPWEubmV4dDtkbyB0LnN0YXR1cz0icmVqZWN0ZWQiLHQucmVhc29uPXUsZm8odCksdD10Lm5leHQ7d2hpbGUodCE9PWEpfWwuYWN0aW9uPW51bGx9ZnVuY3Rpb24gZm8obCl7bD1sLmxpc3RlbmVycztmb3IodmFyIHQ9MDt0PGwubGVuZ3RoO3QrKykoMCxsW3RdKSgpfWZ1bmN0aW9uIGNvKGwsdCl7cmV0dXJuIHR9ZnVuY3Rpb24gaW8obCx0KXtpZihaKXt2YXIgdT1pbC5mb3JtU3RhdGU7aWYodSE9PW51bGwpe2w6e3ZhciBhPVE7aWYoWil7aWYoeWwpe3Q6e2Zvcih2YXIgZT15bCxuPV90O2Uubm9kZVR5cGUhPT04Oyl7aWYoIW4pe2U9bnVsbDticmVhayB0fWlmKGU9QXQoZS5uZXh0U2libGluZyksZT09PW51bGwpe2U9bnVsbDticmVhayB0fX1uPWUuZGF0YSxlPW49PT0iRiEifHxuPT09IkYiP2U6bnVsbH1pZihlKXt5bD1BdChlLm5leHRTaWJsaW5nKSxhPWUuZGF0YT09PSJGISI7YnJlYWsgbH19YnUoYSl9YT0hMX1hJiYodD11WzBdKX19cmV0dXJuIHU9cGwoKSx1Lm1lbW9pemVkU3RhdGU9dS5iYXNlU3RhdGU9dCxhPXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6Y28sbGFzdFJlbmRlcmVkU3RhdGU6dH0sdS5xdWV1ZT1hLHU9TW8uYmluZChudWxsLFEsYSksYS5kaXNwYXRjaD11LGE9cGMoITEpLG49RmMuYmluZChudWxsLFEsITEsYS5xdWV1ZSksYT1wbCgpLGU9e3N0YXRlOnQsZGlzcGF0Y2g6bnVsbCxhY3Rpb246bCxwZW5kaW5nOm51bGx9LGEucXVldWU9ZSx1PVRkLmJpbmQobnVsbCxRLGUsbix1KSxlLmRpc3BhdGNoPXUsYS5tZW1vaXplZFN0YXRlPWwsW3QsdSwhMV19ZnVuY3Rpb24gdm8obCl7dmFyIHQ9VGwoKTtyZXR1cm4gb28odCxubCxsKX1mdW5jdGlvbiBvbyhsLHQsdSl7aWYodD1WYyhsLHQsY28pWzBdLGw9eG4oaXUpWzBdLHR5cGVvZiB0PT0ib2JqZWN0IiYmdCE9PW51bGwmJnR5cGVvZiB0LnRoZW49PSJmdW5jdGlvbiIpdHJ5e3ZhciBhPVllKHQpfWNhdGNoKGYpe3Rocm93IGY9PT1CYT9xbjpmfWVsc2UgYT10O3Q9VGwoKTt2YXIgZT10LnF1ZXVlLG49ZS5kaXNwYXRjaDtyZXR1cm4gdSE9PXQubWVtb2l6ZWRTdGF0ZSYmKFEuZmxhZ3N8PTIwNDgsamEoOSx7ZGVzdHJveTp2b2lkIDB9LEVkLmJpbmQobnVsbCxlLHUpLG51bGwpKSxbYSxuLGxdfWZ1bmN0aW9uIEVkKGwsdCl7bC5hY3Rpb249dH1mdW5jdGlvbiB5byhsKXt2YXIgdD1UbCgpLHU9bmw7aWYodSE9PW51bGwpcmV0dXJuIG9vKHQsdSxsKTtUbCgpLHQ9dC5tZW1vaXplZFN0YXRlLHU9VGwoKTt2YXIgYT11LnF1ZXVlLmRpc3BhdGNoO3JldHVybiB1Lm1lbW9pemVkU3RhdGU9bCxbdCxhLCExXX1mdW5jdGlvbiBqYShsLHQsdSxhKXtyZXR1cm4gbD17dGFnOmwsY3JlYXRlOnUsZGVwczphLGluc3Q6dCxuZXh0Om51bGx9LHQ9US51cGRhdGVRdWV1ZSx0PT09bnVsbCYmKHQ9TG4oKSxRLnVwZGF0ZVF1ZXVlPXQpLHU9dC5sYXN0RWZmZWN0LHU9PT1udWxsP3QubGFzdEVmZmVjdD1sLm5leHQ9bDooYT11Lm5leHQsdS5uZXh0PWwsbC5uZXh0PWEsdC5sYXN0RWZmZWN0PWwpLGx9ZnVuY3Rpb24gbW8oKXtyZXR1cm4gVGwoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIEtuKGwsdCx1LGEpe3ZhciBlPXBsKCk7US5mbGFnc3w9bCxlLm1lbW9pemVkU3RhdGU9amEoMXx0LHtkZXN0cm95OnZvaWQgMH0sdSxhPT09dm9pZCAwP251bGw6YSl9ZnVuY3Rpb24gSm4obCx0LHUsYSl7dmFyIGU9VGwoKTthPWE9PT12b2lkIDA/bnVsbDphO3ZhciBuPWUubWVtb2l6ZWRTdGF0ZS5pbnN0O25sIT09bnVsbCYmYSE9PW51bGwmJkJjKGEsbmwubWVtb2l6ZWRTdGF0ZS5kZXBzKT9lLm1lbW9pemVkU3RhdGU9amEodCxuLHUsYSk6KFEuZmxhZ3N8PWwsZS5tZW1vaXplZFN0YXRlPWphKDF8dCxuLHUsYSkpfWZ1bmN0aW9uIHNvKGwsdCl7S24oODM5MDY1Niw4LGwsdCl9ZnVuY3Rpb24gS2MobCx0KXtKbigyMDQ4LDgsbCx0KX1mdW5jdGlvbiB6ZChsKXtRLmZsYWdzfD00O3ZhciB0PVEudXBkYXRlUXVldWU7aWYodD09PW51bGwpdD1MbigpLFEudXBkYXRlUXVldWU9dCx0LmV2ZW50cz1bbF07ZWxzZXt2YXIgdT10LmV2ZW50czt1PT09bnVsbD90LmV2ZW50cz1bbF06dS5wdXNoKGwpfX1mdW5jdGlvbiBobyhsKXt2YXIgdD1UbCgpLm1lbW9pemVkU3RhdGU7cmV0dXJuIHpkKHtyZWY6dCxuZXh0SW1wbDpsfSksZnVuY3Rpb24oKXtpZigoayYyKSE9PTApdGhyb3cgRXJyb3IoUyg0NDApKTtyZXR1cm4gdC5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX1mdW5jdGlvbiBnbyhsLHQpe3JldHVybiBKbig0LDIsbCx0KX1mdW5jdGlvbiBTbyhsLHQpe3JldHVybiBKbig0LDQsbCx0KX1mdW5jdGlvbiBybyhsLHQpe2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXtsPWwoKTt2YXIgdT10KGwpO3JldHVybiBmdW5jdGlvbigpe3R5cGVvZiB1PT0iZnVuY3Rpb24iP3UoKTp0KG51bGwpfX1pZih0IT1udWxsKXJldHVybiBsPWwoKSx0LmN1cnJlbnQ9bCxmdW5jdGlvbigpe3QuY3VycmVudD1udWxsfX1mdW5jdGlvbiBUbyhsLHQsdSl7dT11IT1udWxsP3UuY29uY2F0KFtsXSk6bnVsbCxKbig0LDQscm8uYmluZChudWxsLHQsbCksdSl9ZnVuY3Rpb24gSmMoKXt9ZnVuY3Rpb24gRW8obCx0KXt2YXIgdT1UbCgpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIGE9dS5tZW1vaXplZFN0YXRlO3JldHVybiB0IT09bnVsbCYmQmModCxhWzFdKT9hWzBdOih1Lm1lbW9pemVkU3RhdGU9W2wsdF0sbCl9ZnVuY3Rpb24gem8obCx0KXt2YXIgdT1UbCgpO3Q9dD09PXZvaWQgMD9udWxsOnQ7dmFyIGE9dS5tZW1vaXplZFN0YXRlO2lmKHQhPT1udWxsJiZCYyh0LGFbMV0pKXJldHVybiBhWzBdO2lmKGE9bCgpLHZhKXtTdSghMCk7dHJ5e2woKX1maW5hbGx5e1N1KCExKX19cmV0dXJuIHUubWVtb2l6ZWRTdGF0ZT1bYSx0XSxhfWZ1bmN0aW9uIHdjKGwsdCx1KXtyZXR1cm4gdT09PXZvaWQgMHx8KGN1JjEwNzM3NDE4MjQpIT09MCYmKHgmMjYxOTMwKT09PTA/bC5tZW1vaXplZFN0YXRlPXQ6KGwubWVtb2l6ZWRTdGF0ZT11LGw9UnkoKSxRLmxhbmVzfD1sLHF1fD1sLHUpfWZ1bmN0aW9uIGJvKGwsdCx1LGEpe3JldHVybiBpdCh1LHQpP3U6TXUuY3VycmVudCE9PW51bGw/KGw9d2MobCx1LGEpLGl0KGwsdCl8fChfbD0hMCksbCk6KGN1JjEwNik9PT0wfHwoY3UmMTA3Mzc0MTgyNCkhPT0wJiYoeCYyNjE5MzApPT09MD8oX2w9ITAsbC5tZW1vaXplZFN0YXRlPXUpOihsPVJ5KCksUS5sYW5lc3w9bCxxdXw9bCx0KX1mdW5jdGlvbiBfbyhsLHQsdSxhLGUpe3ZhciBuPUcucDtHLnA9biE9PTAmJjg+bj9uOjg7dmFyIGY9Ti5ULGM9e307Yy50eXBlcz1mIT09bnVsbD9mLnR5cGVzOm51bGwsTi5UPWMsRmMobCwhMSx0LHUpO3RyeXt2YXIgaT1lKCksZD1OLlM7aWYoZCE9PW51bGwmJmQoYyxpKSxpIT09bnVsbCYmdHlwZW9mIGk9PSJvYmplY3QiJiZ0eXBlb2YgaS50aGVuPT0iZnVuY3Rpb24iKXt2YXIgZz1nZChpLGEpO3FlKGwsdCxnLGR0KGwpKX1lbHNlIHFlKGwsdCxhLGR0KGwpKX1jYXRjaChFKXtxZShsLHQse3RoZW46ZnVuY3Rpb24oKXt9LHN0YXR1czoicmVqZWN0ZWQiLHJlYXNvbjpFfSxkdCgpKX1maW5hbGx5e0cucD1uLGYhPT1udWxsJiZjLnR5cGVzIT09bnVsbCYmKGYudHlwZXM9Yy50eXBlcyksTi5UPWZ9fWZ1bmN0aW9uIGJkKCl7fWZ1bmN0aW9uIFdjKGwsdCx1LGEpe2lmKGwudGFnIT09NSl0aHJvdyBFcnJvcihTKDQ3NikpO3ZhciBlPU9vKGwpLnF1ZXVlO19vKGwsZSx0LEl0LHU9PT1udWxsP2JkOmZ1bmN0aW9uKCl7cmV0dXJuIEFvKGwpLHUoYSl9KX1mdW5jdGlvbiBPbyhsKXt2YXIgdD1sLm1lbW9pemVkU3RhdGU7aWYodCE9PW51bGwpcmV0dXJuIHQ7dD17bWVtb2l6ZWRTdGF0ZTpJdCxiYXNlU3RhdGU6SXQsYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjppdSxsYXN0UmVuZGVyZWRTdGF0ZTpJdH0sbmV4dDpudWxsfTt2YXIgdT17fTtyZXR1cm4gdC5uZXh0PXttZW1vaXplZFN0YXRlOnUsYmFzZVN0YXRlOnUsYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjppdSxsYXN0UmVuZGVyZWRTdGF0ZTp1fSxuZXh0Om51bGx9LGwubWVtb2l6ZWRTdGF0ZT10LGw9bC5hbHRlcm5hdGUsbCE9PW51bGwmJihsLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBBbyhsKXt2YXIgdD1PbyhsKTt0Lm5leHQ9PT1udWxsJiYodD1sLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlKSxxZShsLHQubmV4dC5xdWV1ZSx7fSxkdCgpKX1mdW5jdGlvbiAkYygpe3JldHVybiBCbChlZSl9ZnVuY3Rpb24gTm8oKXtyZXR1cm4gVGwoKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIERvKCl7cmV0dXJuIFRsKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBfZChsKXtmb3IodmFyIHQ9bC5yZXR1cm47dCE9PW51bGw7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciB1PWR0KCk7bD1OdSh1KTt2YXIgYT1EdSh0LGwsdSk7YSE9PW51bGwmJihQbChhLHQsdSksTWUoYSx0LHUpKSx0PXtjYWNoZTpfYygpfSxsLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gT2QobCx0LHUpe3ZhciBhPWR0KCk7dT17bGFuZTphLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOnUsaGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSx3bihsKT9Vbyh0LHUpOih1PXNjKGwsdCx1LGEpLHUhPT1udWxsJiYoUGwodSxsLGEpLENvKHUsdCxhKSkpfWZ1bmN0aW9uIE1vKGwsdCx1KXt2YXIgYT1kdCgpO3FlKGwsdCx1LGEpfWZ1bmN0aW9uIHFlKGwsdCx1LGEpe3ZhciBlPXtsYW5lOmEscmV2ZXJ0TGFuZTowLGdlc3R1cmU6bnVsbCxhY3Rpb246dSxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9O2lmKHduKGwpKVVvKHQsZSk7ZWxzZXt2YXIgbj1sLmFsdGVybmF0ZTtpZihsLmxhbmVzPT09MCYmKG49PT1udWxsfHxuLmxhbmVzPT09MCkmJihuPXQubGFzdFJlbmRlcmVkUmVkdWNlcixuIT09bnVsbCkpdHJ5e3ZhciBmPXQubGFzdFJlbmRlcmVkU3RhdGUsYz1uKGYsdSk7aWYoZS5oYXNFYWdlclN0YXRlPSEwLGUuZWFnZXJTdGF0ZT1jLGl0KGMsZikpcmV0dXJuIE9uKGwsdCxlLDApLGlsPT09bnVsbCYmX24oKSwhMX1jYXRjaHt9aWYodT1zYyhsLHQsZSxhKSx1IT09bnVsbClyZXR1cm4gUGwodSxsLGEpLENvKHUsdCxhKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBGYyhsLHQsdSxhKXtpZihhPXtsYW5lOjIscmV2ZXJ0TGFuZTpaaSgpLGdlc3R1cmU6bnVsbCxhY3Rpb246YSxoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LHduKGwpKXtpZih0KXRocm93IEVycm9yKFMoNDc5KSl9ZWxzZSB0PXNjKGwsdSxhLDIpLHQhPT1udWxsJiZQbCh0LGwsMil9ZnVuY3Rpb24gd24obCl7dmFyIHQ9bC5hbHRlcm5hdGU7cmV0dXJuIGw9PT1RfHx0IT09bnVsbCYmdD09PVF9ZnVuY3Rpb24gVW8obCx0KXtYYT1abj0hMDt2YXIgdT1sLnBlbmRpbmc7dT09PW51bGw/dC5uZXh0PXQ6KHQubmV4dD11Lm5leHQsdS5uZXh0PXQpLGwucGVuZGluZz10fWZ1bmN0aW9uIENvKGwsdCx1KXtpZigodSY0MTk0MDQ4KSE9PTApe3ZhciBhPXQubGFuZXM7YSY9bC5wZW5kaW5nTGFuZXMsdXw9YSx0LmxhbmVzPXUsQzAobCx1KX19dmFyIFduPXtyZWFkQ29udGV4dDpCbCx1c2U6cG4sdXNlQ2FsbGJhY2s6U2wsdXNlQ29udGV4dDpTbCx1c2VFZmZlY3Q6U2wsdXNlSW1wZXJhdGl2ZUhhbmRsZTpTbCx1c2VMYXlvdXRFZmZlY3Q6U2wsdXNlSW5zZXJ0aW9uRWZmZWN0OlNsLHVzZU1lbW86U2wsdXNlUmVkdWNlcjpTbCx1c2VSZWY6U2wsdXNlU3RhdGU6U2wsdXNlRGVidWdWYWx1ZTpTbCx1c2VEZWZlcnJlZFZhbHVlOlNsLHVzZVRyYW5zaXRpb246U2wsdXNlU3luY0V4dGVybmFsU3RvcmU6U2wsdXNlSWQ6U2wsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6U2wsdXNlRm9ybVN0YXRlOlNsLHVzZUFjdGlvblN0YXRlOlNsLHVzZU9wdGltaXN0aWM6U2wsdXNlTWVtb0NhY2hlOlNsLHVzZUNhY2hlUmVmcmVzaDpTbCx1c2VFZmZlY3RFdmVudDpTbH0sUm89e3JlYWRDb250ZXh0OkJsLHVzZTpwbix1c2VDYWxsYmFjazpmdW5jdGlvbihsLHQpe3JldHVybiBwbCgpLm1lbW9pemVkU3RhdGU9W2wsdD09PXZvaWQgMD9udWxsOnRdLGx9LHVzZUNvbnRleHQ6QmwsdXNlRWZmZWN0OnNvLHVzZUltcGVyYXRpdmVIYW5kbGU6ZnVuY3Rpb24obCx0LHUpe3U9dSE9bnVsbD91LmNvbmNhdChbbF0pOm51bGwsS24oNDE5NDMwOCw0LHJvLmJpbmQobnVsbCx0LGwpLHUpfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24obCx0KXtyZXR1cm4gS24oNDE5NDMwOCw0LGwsdCl9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihsLHQpe0tuKDQsMixsLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGwsdCl7dmFyIHU9cGwoKTt0PXQ9PT12b2lkIDA/bnVsbDp0O3ZhciBhPWwoKTtpZih2YSl7U3UoITApO3RyeXtsKCl9ZmluYWxseXtTdSghMSl9fXJldHVybiB1Lm1lbW9pemVkU3RhdGU9W2EsdF0sYX0sdXNlUmVkdWNlcjpmdW5jdGlvbihsLHQsdSl7dmFyIGE9cGwoKTtpZih1IT09dm9pZCAwKXt2YXIgZT11KHQpO2lmKHZhKXtTdSghMCk7dHJ5e3UodCl9ZmluYWxseXtTdSghMSl9fX1lbHNlIGU9dDtyZXR1cm4gYS5tZW1vaXplZFN0YXRlPWEuYmFzZVN0YXRlPWUsbD17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOmwsbGFzdFJlbmRlcmVkU3RhdGU6ZX0sYS5xdWV1ZT1sLGw9bC5kaXNwYXRjaD1PZC5iaW5kKG51bGwsUSxsKSxbYS5tZW1vaXplZFN0YXRlLGxdfSx1c2VSZWY6ZnVuY3Rpb24obCl7dmFyIHQ9cGwoKTtyZXR1cm4gbD17Y3VycmVudDpsfSx0Lm1lbW9pemVkU3RhdGU9bH0sdXNlU3RhdGU6ZnVuY3Rpb24obCl7bD1wYyhsKTt2YXIgdD1sLnF1ZXVlLHU9TW8uYmluZChudWxsLFEsdCk7cmV0dXJuIHQuZGlzcGF0Y2g9dSxbbC5tZW1vaXplZFN0YXRlLHVdfSx1c2VEZWJ1Z1ZhbHVlOkpjLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24obCx0KXt2YXIgdT1wbCgpO3JldHVybiB3Yyh1LGwsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgbD1wYyghMSk7cmV0dXJuIGw9X28uYmluZChudWxsLFEsbC5xdWV1ZSwhMCwhMSkscGwoKS5tZW1vaXplZFN0YXRlPWwsWyExLGxdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpmdW5jdGlvbihsLHQsdSl7dmFyIGE9USxlPXBsKCk7aWYoWil7aWYodT09PXZvaWQgMCl0aHJvdyBFcnJvcihTKDQwNykpO3U9dSgpfWVsc2V7aWYodT10KCksaWw9PT1udWxsKXRocm93IEVycm9yKFMoMzQ5KSk7KHgmMTI3KSE9PTB8fEl2KGEsdCx1KX1lLm1lbW9pemVkU3RhdGU9dTt2YXIgbj17dmFsdWU6dSxnZXRTbmFwc2hvdDp0fTtyZXR1cm4gZS5xdWV1ZT1uLHNvKFB2LmJpbmQobnVsbCxhLG4sbCksW2xdKSxhLmZsYWdzfD0yMDQ4LGphKDkse2Rlc3Ryb3k6dm9pZCAwfSxrdi5iaW5kKG51bGwsYSxuLHUsdCksbnVsbCksdX0sdXNlSWQ6ZnVuY3Rpb24oKXt2YXIgbD1wbCgpLHQ9aWwuaWRlbnRpZmllclByZWZpeDtpZihaKXt2YXIgdT1WdCxhPVp0O3U9KGEmfigxPDwzMi1mdChhKS0xKSkudG9TdHJpbmcoMzIpK3UsdD0iXyIrdCsiUl8iK3UsdT1WbisrLDA8dSYmKHQrPSJIIit1LnRvU3RyaW5nKDMyKSksdCs9Il8ifWVsc2UgdT1TZCsrLHQ9Il8iK3QrInJfIit1LnRvU3RyaW5nKDMyKSsiXyI7cmV0dXJuIGwubWVtb2l6ZWRTdGF0ZT10fSx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czokYyx1c2VGb3JtU3RhdGU6aW8sdXNlQWN0aW9uU3RhdGU6aW8sdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihsKXt2YXIgdD1wbCgpO3QubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1sO3ZhciB1PXtwZW5kaW5nOm51bGwsbGFuZXM6MCxkaXNwYXRjaDpudWxsLGxhc3RSZW5kZXJlZFJlZHVjZXI6bnVsbCxsYXN0UmVuZGVyZWRTdGF0ZTpudWxsfTtyZXR1cm4gdC5xdWV1ZT11LHQ9RmMuYmluZChudWxsLFEsITAsdSksdS5kaXNwYXRjaD10LFtsLHRdfSx1c2VNZW1vQ2FjaGU6WmMsdXNlQ2FjaGVSZWZyZXNoOmZ1bmN0aW9uKCl7cmV0dXJuIHBsKCkubWVtb2l6ZWRTdGF0ZT1fZC5iaW5kKG51bGwsUSl9LHVzZUVmZmVjdEV2ZW50OmZ1bmN0aW9uKGwpe3ZhciB0PXBsKCksdT17aW1wbDpsfTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPXUsZnVuY3Rpb24oKXtpZigoayYyKSE9PTApdGhyb3cgRXJyb3IoUyg0NDApKTtyZXR1cm4gdS5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LEhvPXtyZWFkQ29udGV4dDpCbCx1c2U6cG4sdXNlQ2FsbGJhY2s6RW8sdXNlQ29udGV4dDpCbCx1c2VFZmZlY3Q6S2MsdXNlSW1wZXJhdGl2ZUhhbmRsZTpUbyx1c2VJbnNlcnRpb25FZmZlY3Q6Z28sdXNlTGF5b3V0RWZmZWN0OlNvLHVzZU1lbW86em8sdXNlUmVkdWNlcjp4bix1c2VSZWY6bW8sdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4geG4oaXUpfSx1c2VEZWJ1Z1ZhbHVlOkpjLHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24obCx0KXt2YXIgdT1UbCgpO3JldHVybiBibyh1LG5sLm1lbW9pemVkU3RhdGUsbCx0KX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbigpe3ZhciBsPXhuKGl1KVswXSx0PVRsKCkubWVtb2l6ZWRTdGF0ZTtyZXR1cm5bdHlwZW9mIGw9PSJib29sZWFuIj9sOlllKGwpLHRdfSx1c2VTeW5jRXh0ZXJuYWxTdG9yZTpGdix1c2VJZDpObyx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czokYyx1c2VGb3JtU3RhdGU6dm8sdXNlQWN0aW9uU3RhdGU6dm8sdXNlT3B0aW1pc3RpYzpmdW5jdGlvbihsLHQpe3ZhciB1PVRsKCk7cmV0dXJuIHVvKHUsbmwsbCx0KX0sdXNlTWVtb0NhY2hlOlpjLHVzZUNhY2hlUmVmcmVzaDpEbyx1c2VFZmZlY3RFdmVudDpob30sQWQ9e3JlYWRDb250ZXh0OkJsLHVzZTpwbix1c2VDYWxsYmFjazpFbyx1c2VDb250ZXh0OkJsLHVzZUVmZmVjdDpLYyx1c2VJbXBlcmF0aXZlSGFuZGxlOlRvLHVzZUluc2VydGlvbkVmZmVjdDpnbyx1c2VMYXlvdXRFZmZlY3Q6U28sdXNlTWVtbzp6byx1c2VSZWR1Y2VyOkxjLHVzZVJlZjptbyx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBMYyhpdSl9LHVzZURlYnVnVmFsdWU6SmMsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihsLHQpe3ZhciB1PVRsKCk7cmV0dXJuIG5sPT09bnVsbD93Yyh1LGwsdCk6Ym8odSxubC5tZW1vaXplZFN0YXRlLGwsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgbD1MYyhpdSlbMF0sdD1UbCgpLm1lbW9pemVkU3RhdGU7cmV0dXJuW3R5cGVvZiBsPT0iYm9vbGVhbiI/bDpZZShsKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6RnYsdXNlSWQ6Tm8sdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6JGMsdXNlRm9ybVN0YXRlOnlvLHVzZUFjdGlvblN0YXRlOnlvLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24obCx0KXt2YXIgdT1UbCgpO3JldHVybiBubCE9PW51bGw/dW8odSxubCxsLHQpOih1LmJhc2VTdGF0ZT1sLFtsLHUucXVldWUuZGlzcGF0Y2hdKX0sdXNlTWVtb0NhY2hlOlpjLHVzZUNhY2hlUmVmcmVzaDpEbyx1c2VFZmZlY3RFdmVudDpob307ZnVuY3Rpb24gSWMobCx0LHUsYSl7dD1sLm1lbW9pemVkU3RhdGUsdT11KGEsdCksdT11PT1udWxsP3Q6Vih7fSx0LHUpLGwubWVtb2l6ZWRTdGF0ZT11LGwubGFuZXM9PT0wJiYobC51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9dSl9dmFyIGtjPXtlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24obCx0LHUpe2w9bC5fcmVhY3RJbnRlcm5hbHM7dmFyIGE9ZHQoKSxlPU51KGEpO2UucGF5bG9hZD10LHUhPW51bGwmJihlLmNhbGxiYWNrPXUpLHQ9RHUobCxlLGEpLHQhPT1udWxsJiYoUGwodCxsLGEpLE1lKHQsbCxhKSl9LGVucXVldWVSZXBsYWNlU3RhdGU6ZnVuY3Rpb24obCx0LHUpe2w9bC5fcmVhY3RJbnRlcm5hbHM7dmFyIGE9ZHQoKSxlPU51KGEpO2UudGFnPTEsZS5wYXlsb2FkPXQsdSE9bnVsbCYmKGUuY2FsbGJhY2s9dSksdD1EdShsLGUsYSksdCE9PW51bGwmJihQbCh0LGwsYSksTWUodCxsLGEpKX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKGwsdCl7bD1sLl9yZWFjdEludGVybmFsczt2YXIgdT1kdCgpLGE9TnUodSk7YS50YWc9Mix0IT1udWxsJiYoYS5jYWxsYmFjaz10KSx0PUR1KGwsYSx1KSx0IT09bnVsbCYmKFBsKHQsbCx1KSxNZSh0LGwsdSkpfX07ZnVuY3Rpb24gWW8obCx0LHUsYSxlLG4sZil7cmV0dXJuIGw9bC5zdGF0ZU5vZGUsdHlwZW9mIGwuc2hvdWxkQ29tcG9uZW50VXBkYXRlPT0iZnVuY3Rpb24iP2wuc2hvdWxkQ29tcG9uZW50VXBkYXRlKGEsbixmKTp0LnByb3RvdHlwZSYmdC5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQ/IUVlKHUsYSl8fCFFZShlLG4pOiEwfWZ1bmN0aW9uIHFvKGwsdCx1LGEpe2w9dC5zdGF0ZSx0eXBlb2YgdC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzPT0iZnVuY3Rpb24iJiZ0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHModSxhKSx0eXBlb2YgdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcz09ImZ1bmN0aW9uIiYmdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh1LGEpLHQuc3RhdGUhPT1sJiZrYy5lbnF1ZXVlUmVwbGFjZVN0YXRlKHQsdC5zdGF0ZSxudWxsKX1mdW5jdGlvbiBvYShsLHQpe3ZhciB1PXQ7aWYoInJlZiJpbiB0KXt1PXt9O2Zvcih2YXIgYSBpbiB0KWEhPT0icmVmIiYmKHVbYV09dFthXSl9aWYobD1sLmRlZmF1bHRQcm9wcyl7dT09PXQmJih1PVYoe30sdSkpO2Zvcih2YXIgZSBpbiBsKXVbZV09PT12b2lkIDAmJih1W2VdPWxbZV0pfXJldHVybiB1fWZ1bmN0aW9uIEJvKGwpe2JuKGwpfWZ1bmN0aW9uIEdvKGwpe2NvbnNvbGUuZXJyb3IobCl9ZnVuY3Rpb24gWG8obCl7Ym4obCl9ZnVuY3Rpb24gJG4obCx0KXt0cnl7dmFyIHU9bC5vblVuY2F1Z2h0RXJyb3I7dSh0LnZhbHVlLHtjb21wb25lbnRTdGFjazp0LnN0YWNrfSl9Y2F0Y2goYSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGF9KX19ZnVuY3Rpb24gUW8obCx0LHUpe3RyeXt2YXIgYT1sLm9uQ2F1Z2h0RXJyb3I7YSh1LnZhbHVlLHtjb21wb25lbnRTdGFjazp1LnN0YWNrLGVycm9yQm91bmRhcnk6dC50YWc9PT0xP3Quc3RhdGVOb2RlOm51bGx9KX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfX1mdW5jdGlvbiBQYyhsLHQsdSl7cmV0dXJuIHU9TnUodSksdS50YWc9Myx1LnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH0sdS5jYWxsYmFjaz1mdW5jdGlvbigpeyRuKGwsdCl9LHV9ZnVuY3Rpb24gam8obCl7cmV0dXJuIGw9TnUobCksbC50YWc9MyxsfWZ1bmN0aW9uIFpvKGwsdCx1LGEpe3ZhciBlPXUudHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiIpe3ZhciBuPWEudmFsdWU7bC5wYXlsb2FkPWZ1bmN0aW9uKCl7cmV0dXJuIGUobil9LGwuY2FsbGJhY2s9ZnVuY3Rpb24oKXtRbyh0LHUsYSl9fXZhciBmPXUuc3RhdGVOb2RlO2YhPT1udWxsJiZ0eXBlb2YgZi5jb21wb25lbnREaWRDYXRjaD09ImZ1bmN0aW9uIiYmKGwuY2FsbGJhY2s9ZnVuY3Rpb24oKXtRbyh0LHUsYSksdHlwZW9mIGUhPSJmdW5jdGlvbiImJihCdT09PW51bGw/QnU9bmV3IFNldChbdGhpc10pOkJ1LmFkZCh0aGlzKSk7dmFyIGM9YS5zdGFjazt0aGlzLmNvbXBvbmVudERpZENhdGNoKGEudmFsdWUse2NvbXBvbmVudFN0YWNrOmMhPT1udWxsP2M6IiJ9KX0pfWZ1bmN0aW9uIE5kKGwsdCx1LGEsZSl7aWYodS5mbGFnc3w9MzI3NjgsYSE9PW51bGwmJnR5cGVvZiBhPT0ib2JqZWN0IiYmdHlwZW9mIGEudGhlbj09ImZ1bmN0aW9uIil7aWYodD11LmFsdGVybmF0ZSx0IT09bnVsbCYmdWEodCx1LGUsITApLHU9R2wuY3VycmVudCx1IT09bnVsbCl7c3dpdGNoKHUudGFnKXtjYXNlIDMxOmNhc2UgMTM6Y2FzZSAxOTpyZXR1cm4gVmw9PT1udWxsP1NmKCk6dS5hbHRlcm5hdGU9PT1udWxsJiZybD09PTAmJihybD0zKSx1LmZsYWdzJj0tMjU3LHUuZmxhZ3N8PTY1NTM2LHUubGFuZXM9ZSxhPT09Qm4/dS5mbGFnc3w9MTYzODQ6KHQ9dS51cGRhdGVRdWV1ZSx0PT09bnVsbD91LnVwZGF0ZVF1ZXVlPW5ldyBTZXQoW2FdKTp0LmFkZChhKSxYaShsLGEsZSkpLCExO2Nhc2UgMjI6cmV0dXJuIHUuZmxhZ3N8PTY1NTM2LGE9PT1Cbj91LmZsYWdzfD0xNjM4NDoodD11LnVwZGF0ZVF1ZXVlLHQ9PT1udWxsPyh0PXt0cmFuc2l0aW9uczpudWxsLG1hcmtlckluc3RhbmNlczpudWxsLHJldHJ5UXVldWU6bmV3IFNldChbYV0pfSx1LnVwZGF0ZVF1ZXVlPXQpOih1PXQucmV0cnlRdWV1ZSx1PT09bnVsbD90LnJldHJ5UXVldWU9bmV3IFNldChbYV0pOnUuYWRkKGEpKSxYaShsLGEsZSkpLCExfXRocm93IEVycm9yKFMoNDM1LHUudGFnKSl9cmV0dXJuIFhpKGwsYSxlKSxTZigpLCExfWlmKFopcmV0dXJuIHQ9R2wuY3VycmVudCx0IT09bnVsbD8oKHQuZmxhZ3MmNjU1MzYpPT09MCYmKHQuZmxhZ3N8PTI1NiksdC5mbGFnc3w9NjU1MzYsdC5sYW5lcz1lLGEhPT1UYyYmKGw9RXJyb3IoUyg0MjIpLHtjYXVzZTphfSksX2UoRXQobCx1KSkpKTooYSE9PVRjJiYodD1FcnJvcihTKDQyMykse2NhdXNlOmF9KSxfZShFdCh0LHUpKSksbD1sLmN1cnJlbnQuYWx0ZXJuYXRlLGwuZmxhZ3N8PTY1NTM2LGUmPS1lLGwubGFuZXN8PWUsYT1FdChhLHUpLGU9UGMobC5zdGF0ZU5vZGUsYSxlKSxVYyhsLGUpLHJsIT09NCYmKHJsPTIpKSwhMTt2YXIgbj1FcnJvcihTKDUyMCkse2NhdXNlOmF9KTtpZihuPUV0KG4sdSksTGU9PT1udWxsP0xlPVtuXTpMZS5wdXNoKG4pLHJsIT09NCYmKHJsPTIpLHQ9PT1udWxsKXJldHVybiEwO2E9RXQoYSx1KSx1PXQ7ZG97c3dpdGNoKHUudGFnKXtjYXNlIDM6cmV0dXJuIHUuZmxhZ3N8PTY1NTM2LGw9ZSYtZSx1LmxhbmVzfD1sLGw9UGModS5zdGF0ZU5vZGUsYSxsKSxVYyh1LGwpLCExO2Nhc2UgMTppZih0PXUudHlwZSxuPXUuc3RhdGVOb2RlLCh1LmZsYWdzJjEyOCk9PT0wJiYodHlwZW9mIHQuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yPT0iZnVuY3Rpb24ifHxuIT09bnVsbCYmdHlwZW9mIG4uY29tcG9uZW50RGlkQ2F0Y2g9PSJmdW5jdGlvbiImJihCdT09PW51bGx8fCFCdS5oYXMobikpKSlyZXR1cm4gdS5mbGFnc3w9NjU1MzYsZSY9LWUsdS5sYW5lc3w9ZSxlPWpvKGUpLFpvKGUsbCx1LGEpLFVjKHUsZSksITE7YnJlYWs7Y2FzZSAyMjppZih1Lm1lbW9pemVkU3RhdGUhPT1udWxsKXJldHVybiB1LmZsYWdzfD02NTUzNiwhMX11PXUucmV0dXJufXdoaWxlKHUhPT1udWxsKTtyZXR1cm4hMX12YXIgbGk9RXJyb3IoUyg0NjEpKSxfbD0hMTtmdW5jdGlvbiBBbChsLHQsdSxhKXt0LmNoaWxkPWw9PT1udWxsP3B2KHQsbnVsbCx1LGEpOmlhKHQsbC5jaGlsZCx1LGEpfWZ1bmN0aW9uIFZvKGwsdCx1LGEsZSl7dT11LnJlbmRlcjt2YXIgbj10LnJlZjtpZigicmVmImluIGEpe3ZhciBmPXt9O2Zvcih2YXIgYyBpbiBhKWMhPT0icmVmIiYmKGZbY109YVtjXSl9ZWxzZSBmPWE7cmV0dXJuIGFhKHQpLGE9R2MobCx0LHUsZixuLGUpLGM9WGMoKSxsIT09bnVsbCYmIV9sPyhRYyhsLHQsZSksdnUobCx0LGUpKTooWiYmYyYmTW4odCksdC5mbGFnc3w9MSxBbChsLHQsYSxlKSx0LmNoaWxkKX1mdW5jdGlvbiBMbyhsLHQsdSxhLGUpe2lmKGw9PT1udWxsKXt2YXIgbj11LnR5cGU7cmV0dXJuIHR5cGVvZiBuPT0iZnVuY3Rpb24iJiYhaGMobikmJm4uZGVmYXVsdFByb3BzPT09dm9pZCAwJiZ1LmNvbXBhcmU9PT1udWxsPyh0LnRhZz0xNSx0LnR5cGU9bixwbyhsLHQsbixhLGUpKToobD1Obih1LnR5cGUsbnVsbCxhLHQsdC5tb2RlLGUpLGwucmVmPXQucmVmLGwucmV0dXJuPXQsdC5jaGlsZD1sKX1pZihuPWwuY2hpbGQsIWlpKGwsZSkpe3ZhciBmPW4ubWVtb2l6ZWRQcm9wcztpZih1PXUuY29tcGFyZSx1PXUhPT1udWxsP3U6RWUsdShmLGEpJiZsLnJlZj09PXQucmVmKXJldHVybiB2dShsLHQsZSl9cmV0dXJuIHQuZmxhZ3N8PTEsbD1hdShuLGEpLGwucmVmPXQucmVmLGwucmV0dXJuPXQsdC5jaGlsZD1sfWZ1bmN0aW9uIHBvKGwsdCx1LGEsZSl7aWYobCE9PW51bGwpe3ZhciBuPWwubWVtb2l6ZWRQcm9wcztpZihFZShuLGEpJiZsLnJlZj09PXQucmVmKWlmKF9sPSExLHQucGVuZGluZ1Byb3BzPWE9bixpaShsLGUpKShsLmZsYWdzJjEzMTA3MikhPT0wJiYoX2w9ITApO2Vsc2UgcmV0dXJuIHQubGFuZXM9bC5sYW5lcyx2dShsLHQsZSl9cmV0dXJuIHRpKGwsdCx1LGEsZSl9ZnVuY3Rpb24geG8obCx0LHUsYSl7dmFyIGU9YS5jaGlsZHJlbixuPWwhPT1udWxsP2wubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKGw9PT1udWxsJiZ0LnN0YXRlTm9kZT09PW51bGwmJih0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksYS5tb2RlPT09ImhpZGRlbiIpe2lmKCh0LmZsYWdzJjEyOCkhPT0wKXtpZihuPW4hPT1udWxsP24uYmFzZUxhbmVzfHU6dSxsIT09bnVsbCl7Zm9yKGE9dC5jaGlsZD1sLmNoaWxkLGU9MDthIT09bnVsbDspZT1lfGEubGFuZXN8YS5jaGlsZExhbmVzLGE9YS5zaWJsaW5nO2E9ZSZ+bn1lbHNlIGE9MCx0LmNoaWxkPW51bGw7cmV0dXJuIEtvKGwsdCxuLHUsYSl9aWYoKHUmNTM2ODcwOTEyKSE9PTApdC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6MCxjYWNoZVBvb2w6bnVsbH0sbCE9PW51bGwmJlluKHQsbiE9PW51bGw/bi5jYWNoZVBvb2w6bnVsbCksbiE9PW51bGw/SnYodCxuKTpSYygpLHd2KHQpO2Vsc2UgcmV0dXJuIGE9dC5sYW5lcz01MzY4NzA5MTIsS28obCx0LG4hPT1udWxsP24uYmFzZUxhbmVzfHU6dSx1LGEpfWVsc2UgbiE9PW51bGw/KFluKHQsbi5jYWNoZVBvb2wpLEp2KHQsbiksQ3UoKSx0Lm1lbW9pemVkU3RhdGU9bnVsbCk6KGwhPT1udWxsJiZZbih0LG51bGwpLFJjKCksQ3UoKSk7cmV0dXJuIEFsKGwsdCxlLHUpLHQuY2hpbGR9ZnVuY3Rpb24gQmUobCx0KXtyZXR1cm4gbCE9PW51bGwmJmwudGFnPT09MjJ8fHQuc3RhdGVOb2RlIT09bnVsbHx8KHQuc3RhdGVOb2RlPXtfdmlzaWJpbGl0eToxLF9wZW5kaW5nTWFya2VyczpudWxsLF9yZXRyeUNhY2hlOm51bGwsX3RyYW5zaXRpb25zOm51bGx9KSx0LnNpYmxpbmd9ZnVuY3Rpb24gS28obCx0LHUsYSxlKXt2YXIgbj1BYygpO3JldHVybiBuPW49PT1udWxsP251bGw6e3BhcmVudDp6bC5fY3VycmVudFZhbHVlLHBvb2w6bn0sdC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6dSxjYWNoZVBvb2w6bn0sbCE9PW51bGwmJlluKHQsbnVsbCksUmMoKSx3dih0KSxsIT09bnVsbCYmdWEobCx0LGEsITApLHQuY2hpbGRMYW5lcz1lLG51bGx9ZnVuY3Rpb24gRm4obCx0KXtyZXR1cm4gdD1Jbih7bW9kZTp0Lm1vZGUsY2hpbGRyZW46dC5jaGlsZHJlbn0sbC5tb2RlKSx0LnJlZj1sLnJlZixsLmNoaWxkPXQsdC5yZXR1cm49bCx0fWZ1bmN0aW9uIEpvKGwsdCx1KXtyZXR1cm4gaWEodCxsLmNoaWxkLG51bGwsdSksbD1Gbih0LHQucGVuZGluZ1Byb3BzKSxsLmZsYWdzfD0yLHZ0KHQpLHQubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gRGQobCx0LHUpe3ZhciBhPXQucGVuZGluZ1Byb3BzLGU9KHQuZmxhZ3MmMTI4KSE9PTA7aWYodC5mbGFncyY9LTEyOSxsPT09bnVsbCl7aWYoWil7aWYoYS5tb2RlPT09ImhpZGRlbiIpcmV0dXJuIGw9Rm4odCxhKSx0LmxhbmVzPTUzNjg3MDkxMixsLm1lbW9pemVkU3RhdGU9e2Jhc2VMYW5lczowLGNhY2hlUG9vbDpudWxsfSxCZShudWxsLGwpO2lmKFljKHQpLChsPXlsKT8obD1ybShsLF90KSxsPWwhPT1udWxsJiZsLmRhdGE9PT0iJiI/bDpudWxsLGwhPT1udWxsJiYodC5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOmwsdHJlZUNvbnRleHQ6RXUhPT1udWxsP3tpZDpadCxvdmVyZmxvdzpWdH06bnVsbCxyZXRyeUxhbmU6NTM2ODcwOTEyLGh5ZHJhdGlvbkVycm9yczpudWxsfSx1PU12KGwpLHUucmV0dXJuPXQsdC5jaGlsZD11LFVsPXQseWw9bnVsbCkpOmw9bnVsbCxsPT09bnVsbCl0aHJvdyBidSh0KTtyZXR1cm4gdC5sYW5lcz01MzY4NzA5MTIsbnVsbH1yZXR1cm4gRm4odCxhKX12YXIgbj1sLm1lbW9pemVkU3RhdGU7aWYobiE9PW51bGwpe3ZhciBmPW4uZGVoeWRyYXRlZDtpZihZYyh0KSxlKWlmKHQuZmxhZ3MmMjU2KXQuZmxhZ3MmPS0yNTcsdD1KbyhsLHQsdSk7ZWxzZSBpZih0Lm1lbW9pemVkU3RhdGUhPT1udWxsKXQuY2hpbGQ9bC5jaGlsZCx0LmZsYWdzfD0xMjgsdD1udWxsO2Vsc2UgdGhyb3cgRXJyb3IoUyg1NTgpKTtlbHNlIGlmKF9sfHx1YShsLHQsdSwhMSksZT0odSZsLmNoaWxkTGFuZXMpIT09MCxfbHx8ZSl7aWYoTXUuY3VycmVudD09PW51bGwpe2lmKGE9aWwsYSE9PW51bGwmJihmPVIwKGEsdSksZiE9PTAmJmYhPT1uLnJldHJ5TGFuZSkpdGhyb3cgbi5yZXRyeUxhbmU9ZixrdShsLGYpLFBsKGEsbCxmKSxsaTtTZigpfXQ9Sm8obCx0LHUpfWVsc2UgbD1uLnRyZWVDb250ZXh0LHlsPUF0KGYubmV4dFNpYmxpbmcpLFVsPXQsWj0hMCx6dT1udWxsLF90PSExLGwhPT1udWxsJiZSdih0LGwpLHQ9Rm4odCxhKSx0LmZsYWdzfD0xMzQyMjE4MjQ7cmV0dXJuIHR9cmV0dXJuIGw9YXUobC5jaGlsZCx7bW9kZTphLm1vZGUsY2hpbGRyZW46YS5jaGlsZHJlbn0pLGwucmVmPXQucmVmLHQuY2hpbGQ9bCxsLnJldHVybj10LGx9ZnVuY3Rpb24gWmEobCx0KXt2YXIgdT10LnJlZjtpZih1PT09bnVsbClsIT09bnVsbCYmbC5yZWYhPT1udWxsJiYodC5mbGFnc3w9NDE5NDgxNik7ZWxzZXtpZih0eXBlb2YgdSE9ImZ1bmN0aW9uIiYmdHlwZW9mIHUhPSJvYmplY3QiKXRocm93IEVycm9yKFMoMjg0KSk7KGw9PT1udWxsfHxsLnJlZiE9PXUpJiYodC5mbGFnc3w9NDE5NDgxNil9fWZ1bmN0aW9uIHRpKGwsdCx1LGEsZSl7cmV0dXJuIGFhKHQpLHU9R2MobCx0LHUsYSx2b2lkIDAsZSksYT1YYygpLGwhPT1udWxsJiYhX2w/KFFjKGwsdCxlKSx2dShsLHQsZSkpOihaJiZhJiZNbih0KSx0LmZsYWdzfD0xLEFsKGwsdCx1LGUpLHQuY2hpbGQpfWZ1bmN0aW9uIHdvKGwsdCx1LGEsZSxuKXtyZXR1cm4gYWEodCksdC51cGRhdGVRdWV1ZT1udWxsLHU9JHYodCxhLHUsZSksV3YobCksYT1YYygpLGwhPT1udWxsJiYhX2w/KFFjKGwsdCxuKSx2dShsLHQsbikpOihaJiZhJiZNbih0KSx0LmZsYWdzfD0xLEFsKGwsdCx1LG4pLHQuY2hpbGQpfWZ1bmN0aW9uIFdvKGwsdCx1LGEsZSl7aWYoYWEodCksdC5zdGF0ZU5vZGU9PT1udWxsKXt2YXIgbj1DYSxmPXUuY29udGV4dFR5cGU7dHlwZW9mIGY9PSJvYmplY3QiJiZmIT09bnVsbCYmKG49QmwoZikpLG49bmV3IHUoYSxuKSx0Lm1lbW9pemVkU3RhdGU9bi5zdGF0ZSE9PW51bGwmJm4uc3RhdGUhPT12b2lkIDA/bi5zdGF0ZTpudWxsLG4udXBkYXRlcj1rYyx0LnN0YXRlTm9kZT1uLG4uX3JlYWN0SW50ZXJuYWxzPXQsbj10LnN0YXRlTm9kZSxuLnByb3BzPWEsbi5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsbi5yZWZzPXt9LERjKHQpLGY9dS5jb250ZXh0VHlwZSxuLmNvbnRleHQ9dHlwZW9mIGY9PSJvYmplY3QiJiZmIT09bnVsbD9CbChmKTpDYSxuLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSxmPXUuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLHR5cGVvZiBmPT0iZnVuY3Rpb24iJiYoSWModCx1LGYsYSksbi5zdGF0ZT10Lm1lbW9pemVkU3RhdGUpLHR5cGVvZiB1LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcz09ImZ1bmN0aW9uInx8dHlwZW9mIG4uZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU9PSJmdW5jdGlvbiJ8fHR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiImJnR5cGVvZiBuLmNvbXBvbmVudFdpbGxNb3VudCE9ImZ1bmN0aW9uInx8KGY9bi5zdGF0ZSx0eXBlb2Ygbi5jb21wb25lbnRXaWxsTW91bnQ9PSJmdW5jdGlvbiImJm4uY29tcG9uZW50V2lsbE1vdW50KCksdHlwZW9mIG4uVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudD09ImZ1bmN0aW9uIiYmbi5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCksZiE9PW4uc3RhdGUmJmtjLmVucXVldWVSZXBsYWNlU3RhdGUobixuLnN0YXRlLG51bGwpLENlKHQsYSxuLGUpLFVlKCksbi5zdGF0ZT10Lm1lbW9pemVkU3RhdGUpLHR5cGVvZiBuLmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NDE5NDMwOCksYT0hMH1lbHNlIGlmKGw9PT1udWxsKXtuPXQuc3RhdGVOb2RlO3ZhciBjPXQubWVtb2l6ZWRQcm9wcyxpPW9hKHUsYyk7bi5wcm9wcz1pO3ZhciBkPW4uY29udGV4dCxnPXUuY29udGV4dFR5cGU7Zj1DYSx0eXBlb2YgZz09Im9iamVjdCImJmchPT1udWxsJiYoZj1CbChnKSk7dmFyIEU9dS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7Zz10eXBlb2YgRT09ImZ1bmN0aW9uInx8dHlwZW9mIG4uZ2V0U25hcHNob3RCZWZvcmVVcGRhdGU9PSJmdW5jdGlvbiIsYz10LnBlbmRpbmdQcm9wcyE9PWMsZ3x8dHlwZW9mIG4uVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiImJnR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiJ8fChjfHxkIT09ZikmJnFvKHQsbixhLGYpLEF1PSExO3ZhciB5PXQubWVtb2l6ZWRTdGF0ZTtuLnN0YXRlPXksQ2UodCxhLG4sZSksVWUoKSxkPXQubWVtb2l6ZWRTdGF0ZSxjfHx5IT09ZHx8QXU/KHR5cGVvZiBFPT0iZnVuY3Rpb24iJiYoSWModCx1LEUsYSksZD10Lm1lbW9pemVkU3RhdGUpLChpPUF1fHxZbyh0LHUsaSxhLHksZCxmKSk/KGd8fHR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQhPSJmdW5jdGlvbiImJnR5cGVvZiBuLmNvbXBvbmVudFdpbGxNb3VudCE9ImZ1bmN0aW9uInx8KHR5cGVvZiBuLmNvbXBvbmVudFdpbGxNb3VudD09ImZ1bmN0aW9uIiYmbi5jb21wb25lbnRXaWxsTW91bnQoKSx0eXBlb2Ygbi5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50PT0iZnVuY3Rpb24iJiZuLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSksdHlwZW9mIG4uY29tcG9uZW50RGlkTW91bnQ9PSJmdW5jdGlvbiImJih0LmZsYWdzfD00MTk0MzA4KSk6KHR5cGVvZiBuLmNvbXBvbmVudERpZE1vdW50PT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9NDE5NDMwOCksdC5tZW1vaXplZFByb3BzPWEsdC5tZW1vaXplZFN0YXRlPWQpLG4ucHJvcHM9YSxuLnN0YXRlPWQsbi5jb250ZXh0PWYsYT1pKToodHlwZW9mIG4uY29tcG9uZW50RGlkTW91bnQ9PSJmdW5jdGlvbiImJih0LmZsYWdzfD00MTk0MzA4KSxhPSExKX1lbHNle249dC5zdGF0ZU5vZGUsTWMobCx0KSxmPXQubWVtb2l6ZWRQcm9wcyxnPW9hKHUsZiksbi5wcm9wcz1nLEU9dC5wZW5kaW5nUHJvcHMseT1uLmNvbnRleHQsZD11LmNvbnRleHRUeXBlLGk9Q2EsdHlwZW9mIGQ9PSJvYmplY3QiJiZkIT09bnVsbCYmKGk9QmwoZCkpLGM9dS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsKGQ9dHlwZW9mIGM9PSJmdW5jdGlvbiJ8fHR5cGVvZiBuLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24iKXx8dHlwZW9mIG4uVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiImJnR5cGVvZiBuLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMhPSJmdW5jdGlvbiJ8fChmIT09RXx8eSE9PWkpJiZxbyh0LG4sYSxpKSxBdT0hMSx5PXQubWVtb2l6ZWRTdGF0ZSxuLnN0YXRlPXksQ2UodCxhLG4sZSksVWUoKTt2YXIgaD10Lm1lbW9pemVkU3RhdGU7ZiE9PUV8fHkhPT1ofHxBdXx8bCE9PW51bGwmJmwuZGVwZW5kZW5jaWVzIT09bnVsbCYmUm4obC5kZXBlbmRlbmNpZXMpPyh0eXBlb2YgYz09ImZ1bmN0aW9uIiYmKEljKHQsdSxjLGEpLGg9dC5tZW1vaXplZFN0YXRlKSwoZz1BdXx8WW8odCx1LGcsYSx5LGgsaSl8fGwhPT1udWxsJiZsLmRlcGVuZGVuY2llcyE9PW51bGwmJlJuKGwuZGVwZW5kZW5jaWVzKSk/KGR8fHR5cGVvZiBuLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIT0iZnVuY3Rpb24iJiZ0eXBlb2Ygbi5jb21wb25lbnRXaWxsVXBkYXRlIT0iZnVuY3Rpb24ifHwodHlwZW9mIG4uY29tcG9uZW50V2lsbFVwZGF0ZT09ImZ1bmN0aW9uIiYmbi5jb21wb25lbnRXaWxsVXBkYXRlKGEsaCxpKSx0eXBlb2Ygbi5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZT09ImZ1bmN0aW9uIiYmbi5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShhLGgsaSkpLHR5cGVvZiBuLmNvbXBvbmVudERpZFVwZGF0ZT09ImZ1bmN0aW9uIiYmKHQuZmxhZ3N8PTQpLHR5cGVvZiBuLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlPT0iZnVuY3Rpb24iJiYodC5mbGFnc3w9MTAyNCkpOih0eXBlb2Ygbi5jb21wb25lbnREaWRVcGRhdGUhPSJmdW5jdGlvbiJ8fGY9PT1sLm1lbW9pemVkUHJvcHMmJnk9PT1sLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD00KSx0eXBlb2Ygbi5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSE9ImZ1bmN0aW9uInx8Zj09PWwubWVtb2l6ZWRQcm9wcyYmeT09PWwubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTEwMjQpLHQubWVtb2l6ZWRQcm9wcz1hLHQubWVtb2l6ZWRTdGF0ZT1oKSxuLnByb3BzPWEsbi5zdGF0ZT1oLG4uY29udGV4dD1pLGE9Zyk6KHR5cGVvZiBuLmNvbXBvbmVudERpZFVwZGF0ZSE9ImZ1bmN0aW9uInx8Zj09PWwubWVtb2l6ZWRQcm9wcyYmeT09PWwubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLHR5cGVvZiBuLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlIT0iZnVuY3Rpb24ifHxmPT09bC5tZW1vaXplZFByb3BzJiZ5PT09bC5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksYT0hMSl9cmV0dXJuIG49YSxaYShsLHQpLGE9KHQuZmxhZ3MmMTI4KSE9PTAsbnx8YT8obj10LnN0YXRlTm9kZSx1PWEmJnR5cGVvZiB1LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciE9ImZ1bmN0aW9uIj9udWxsOm4ucmVuZGVyKCksdC5mbGFnc3w9MSxsIT09bnVsbCYmYT8odC5jaGlsZD1pYSh0LGwuY2hpbGQsbnVsbCxlKSx0LmNoaWxkPWlhKHQsbnVsbCx1LGUpKTpBbChsLHQsdSxlKSx0Lm1lbW9pemVkU3RhdGU9bi5zdGF0ZSxsPXQuY2hpbGQpOmw9dnUobCx0LGUpLGx9ZnVuY3Rpb24gJG8obCx0LHUsYSl7cmV0dXJuIGxhKCksdC5mbGFnc3w9MjU2LEFsKGwsdCx1LGEpLHQuY2hpbGR9dmFyIHVpPXtkZWh5ZHJhdGVkOm51bGwsdHJlZUNvbnRleHQ6bnVsbCxyZXRyeUxhbmU6MCxoeWRyYXRpb25FcnJvcnM6bnVsbH07ZnVuY3Rpb24gYWkobCl7cmV0dXJue2Jhc2VMYW5lczpsLGNhY2hlUG9vbDpYdigpfX1mdW5jdGlvbiBlaShsLHQsdSl7cmV0dXJuIGw9bCE9PW51bGw/bC5jaGlsZExhbmVzJn51OjAsdCYmKGx8PW10KSxsfWZ1bmN0aW9uIEZvKGwsdCx1KXt2YXIgYT10LnBlbmRpbmdQcm9wcyxlPSExLG49KHQuZmxhZ3MmMTI4KSE9PTAsZjtpZigoZj1uKXx8KGY9bCE9PW51bGwmJmwubWVtb2l6ZWRTdGF0ZT09PW51bGw/ITE6KFhsLmN1cnJlbnQmMikhPT0wKSxmJiYoZT0hMCx0LmZsYWdzJj0tMTI5KSxmPSh0LmZsYWdzJjMyKSE9PTAsdC5mbGFncyY9LTMzLGw9PT1udWxsKXtpZihaKXtpZihlP1V1KHQpOkN1KCksKGw9eWwpPyhsPXJtKGwsX3QpLGw9bCE9PW51bGwmJmwuZGF0YSE9PSImIj9sOm51bGwsbCE9PW51bGwmJih0Lm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6bCx0cmVlQ29udGV4dDpFdSE9PW51bGw/e2lkOlp0LG92ZXJmbG93OlZ0fTpudWxsLHJldHJ5TGFuZTo1MzY4NzA5MTIsaHlkcmF0aW9uRXJyb3JzOm51bGx9LHU9TXYobCksdS5yZXR1cm49dCx0LmNoaWxkPXUsVWw9dCx5bD1udWxsKSk6bD1udWxsLGw9PT1udWxsKXRocm93IGJ1KHQpO3JldHVybiBhMChsKT90LmxhbmVzPTMyOnQubGFuZXM9NTM2ODcwOTEyLG51bGx9cmV0dXJuIG49YS5jaGlsZHJlbixhPWEuZmFsbGJhY2ssZT8oQ3UoKSxlPXQubW9kZSxuPUluKHttb2RlOiJoaWRkZW4iLGNoaWxkcmVuOm59LGUpLGE9UHUoYSxlLHUsbnVsbCksbi5yZXR1cm49dCxhLnJldHVybj10LG4uc2libGluZz1hLHQuY2hpbGQ9bixhPXQuY2hpbGQsYS5tZW1vaXplZFN0YXRlPWFpKHUpLGEuY2hpbGRMYW5lcz1laShsLGYsdSksdC5tZW1vaXplZFN0YXRlPXVpLEJlKG51bGwsYSkpOihVdSh0KSxuaSh0LG4pKX12YXIgYz1sLm1lbW9pemVkU3RhdGU7aWYoYyE9PW51bGwpe3ZhciBpPWMuZGVoeWRyYXRlZDtpZihpIT09bnVsbClyZXR1cm4gTWQobCx0LG4sZixhLGksYyx1KX1yZXR1cm4gZT8oQ3UoKSxlPWEuZmFsbGJhY2ssbj10Lm1vZGUsYz1sLmNoaWxkLGk9Yy5zaWJsaW5nLGE9YXUoYyx7bW9kZToiaGlkZGVuIixjaGlsZHJlbjphLmNoaWxkcmVufSksYS5zdWJ0cmVlRmxhZ3M9Yy5zdWJ0cmVlRmxhZ3MmMTIwNjkxMDk3NixpIT09bnVsbD9lPWF1KGksZSk6KGU9UHUoZSxuLHUsbnVsbCksZS5mbGFnc3w9MiksZS5yZXR1cm49dCxhLnJldHVybj10LGEuc2libGluZz1lLHQuY2hpbGQ9YSxCZShudWxsLGEpLGE9dC5jaGlsZCxlPWwuY2hpbGQubWVtb2l6ZWRTdGF0ZSxlPT09bnVsbD9lPWFpKHUpOihuPWUuY2FjaGVQb29sLG4hPT1udWxsPyhjPXpsLl9jdXJyZW50VmFsdWUsbj1uLnBhcmVudCE9PWM/e3BhcmVudDpjLHBvb2w6Y306bik6bj1YdigpLGU9e2Jhc2VMYW5lczplLmJhc2VMYW5lc3x1LGNhY2hlUG9vbDpufSksYS5tZW1vaXplZFN0YXRlPWUsYS5jaGlsZExhbmVzPWVpKGwsZix1KSx0Lm1lbW9pemVkU3RhdGU9dWksQmUobC5jaGlsZCxhKSk6KFV1KHQpLHU9bC5jaGlsZCxsPXUuc2libGluZyx1PWF1KHUse21vZGU6InZpc2libGUiLGNoaWxkcmVuOmEuY2hpbGRyZW59KSx1LnJldHVybj10LHUuc2libGluZz1udWxsLGwhPT1udWxsJiYoZj10LmRlbGV0aW9ucyxmPT09bnVsbD8odC5kZWxldGlvbnM9W2xdLHQuZmxhZ3N8PTE2KTpmLnB1c2gobCkpLHQuY2hpbGQ9dSx0Lm1lbW9pemVkU3RhdGU9bnVsbCx1KX1mdW5jdGlvbiBuaShsLHQpe3JldHVybiB0PUluKHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjp0fSxsLm1vZGUpLHQucmV0dXJuPWwsbC5jaGlsZD10fWZ1bmN0aW9uIEluKGwsdCl7cmV0dXJuIGw9JGwoMjIsbCxudWxsLHQpLGwubGFuZXM9MCxsfWZ1bmN0aW9uIGtuKGwsdCx1KXtyZXR1cm4gaWEodCxsLmNoaWxkLG51bGwsdSksbD1uaSh0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuKSxsLmZsYWdzfD0yLHQubWVtb2l6ZWRTdGF0ZT1udWxsLGx9ZnVuY3Rpb24gTWQobCx0LHUsYSxlLG4sZixjKXtpZih1KXJldHVybiB0LmZsYWdzJjI1Nj8oVXUodCksdC5mbGFncyY9LTI1NyxrbihsLHQsYykpOnQubWVtb2l6ZWRTdGF0ZSE9PW51bGw/KEN1KCksdC5jaGlsZD1sLmNoaWxkLHQuZmxhZ3N8PTEyOCxudWxsKTooQ3UoKSxuPWUuZmFsbGJhY2ssZj10Lm1vZGUsZT1Jbih7bW9kZToidmlzaWJsZSIsY2hpbGRyZW46ZS5jaGlsZHJlbn0sZiksbj1QdShuLGYsYyxudWxsKSxuLmZsYWdzfD0yLGUucmV0dXJuPXQsbi5yZXR1cm49dCxlLnNpYmxpbmc9bix0LmNoaWxkPWUsaWEodCxsLmNoaWxkLG51bGwsYyksZT10LmNoaWxkLGUubWVtb2l6ZWRTdGF0ZT1haShjKSxlLmNoaWxkTGFuZXM9ZWkobCxhLGMpLHQubWVtb2l6ZWRTdGF0ZT11aSxCZShudWxsLGUpKTtpZihVdSh0KSxhMChuKSl7aWYoYT1uLm5leHRTaWJsaW5nJiZuLm5leHRTaWJsaW5nLmRhdGFzZXQsYSl2YXIgaT1hLmRnc3Q7cmV0dXJuIGE9aSxhIT09IiImJihlPUVycm9yKFMoNDE5KSksZS5zdGFjaz0iIixlLmRpZ2VzdD1hLF9lKHt2YWx1ZTplLHNvdXJjZTpudWxsLHN0YWNrOm51bGx9KSksa24obCx0LGMpfWlmKF9sfHx1YShsLHQsYywhMSksYT0oYyZsLmNoaWxkTGFuZXMpIT09MCxfbHx8YSl7aWYoTXUuY3VycmVudCE9PW51bGwpcmV0dXJuIGtuKGwsdCxjKTtpZihhPWlsLGEhPT1udWxsJiYoZT1SMChhLGMpLGUhPT0wJiZlIT09Zi5yZXRyeUxhbmUpKXRocm93IGYucmV0cnlMYW5lPWUsa3UobCxlKSxQbChhLGwsZSksbGk7cmV0dXJuIHUwKG4pfHxTZigpLGtuKGwsdCxjKX1yZXR1cm4gdTAobik/KHQuZmxhZ3N8PTE5Mix0LmNoaWxkPWwuY2hpbGQsbnVsbCk6KGw9Zi50cmVlQ29udGV4dCx5bD1BdChuLm5leHRTaWJsaW5nKSxVbD10LFo9ITAsenU9bnVsbCxfdD0hMSxsIT09bnVsbCYmUnYodCxsKSx0PW5pKHQsZS5jaGlsZHJlbiksdC5mbGFnc3w9MTM0MjIxODI0LHQpfWZ1bmN0aW9uIElvKGwsdCx1KXtsLmxhbmVzfD10O3ZhciBhPWwuYWx0ZXJuYXRlO2EhPT1udWxsJiYoYS5sYW5lc3w9dCksQ24obC5yZXR1cm4sdCx1KX1mdW5jdGlvbiBrbyhsKXtmb3IodmFyIHQ9bnVsbDtsIT09bnVsbDspe3ZhciB1PWwuYWx0ZXJuYXRlO3UhPT1udWxsJiZqbih1KT09PW51bGwmJih0PWwpLGw9bC5zaWJsaW5nfXJldHVybiB0fWZ1bmN0aW9uIFBuKGwsdCx1LGEsZSxuKXt2YXIgZj1sLm1lbW9pemVkU3RhdGU7Zj09PW51bGw/bC5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6YSx0YWlsOnUsdGFpbE1vZGU6ZSx0cmVlRm9ya0NvdW50Om59OihmLmlzQmFja3dhcmRzPXQsZi5yZW5kZXJpbmc9bnVsbCxmLnJlbmRlcmluZ1N0YXJ0VGltZT0wLGYubGFzdD1hLGYudGFpbD11LGYudGFpbE1vZGU9ZSxmLnRyZWVGb3JrQ291bnQ9bil9ZnVuY3Rpb24gZmkobCl7dmFyIHQ9bC5jaGlsZDtmb3IobC5jaGlsZD1udWxsO3QhPT1udWxsOyl7dmFyIHU9dC5zaWJsaW5nO3Quc2libGluZz1sLmNoaWxkLGwuY2hpbGQ9dCx0PXV9fWZ1bmN0aW9uIGNpKGwsdCx1KXt2YXIgYT10LnBlbmRpbmdQcm9wcyxlPWEucmV2ZWFsT3JkZXIsbj1hLnRhaWw7YT1hLmNoaWxkcmVuO3ZhciBmPVhsLmN1cnJlbnQ7aWYodC5mbGFncyYxMjgpcmV0dXJuIFJlKHQsZiksbnVsbDt2YXIgYz0oZiYyKSE9PTA7aWYoYz8oZj1mJjF8Mix0LmZsYWdzfD0xMjgpOmYmPTEsUmUodCxmKSxlPT09ImJhY2t3YXJkcyImJmwhPT1udWxsPyhmaShsKSxBbChsLHQsYSx1KSxmaShsKSk6QWwobCx0LGEsdSksYT1aP2JlOjAsIWMmJmwhPT1udWxsJiYobC5mbGFncyYxMjgpIT09MClsOmZvcihsPXQuY2hpbGQ7bCE9PW51bGw7KXtpZihsLnRhZz09PTEzKWwubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJklvKGwsdSx0KTtlbHNlIGlmKGwudGFnPT09MTkpSW8obCx1LHQpO2Vsc2UgaWYobC5jaGlsZCE9PW51bGwpe2wuY2hpbGQucmV0dXJuPWwsbD1sLmNoaWxkO2NvbnRpbnVlfWlmKGw9PT10KWJyZWFrIGw7Zm9yKDtsLnNpYmxpbmc9PT1udWxsOyl7aWYobC5yZXR1cm49PT1udWxsfHxsLnJldHVybj09PXQpYnJlYWsgbDtsPWwucmV0dXJufWwuc2libGluZy5yZXR1cm49bC5yZXR1cm4sbD1sLnNpYmxpbmd9c3dpdGNoKGUpe2Nhc2UiYmFja3dhcmRzIjp1PWtvKHQuY2hpbGQpLHU9PT1udWxsPyhlPXQuY2hpbGQsdC5jaGlsZD1udWxsKTooZT11LnNpYmxpbmcsdS5zaWJsaW5nPW51bGwsZmkodCkpLFBuKHQsITAsZSxudWxsLG4sYSk7YnJlYWs7Y2FzZSJ1bnN0YWJsZV9sZWdhY3ktYmFja3dhcmRzIjpmb3IodT1udWxsLGU9dC5jaGlsZCx0LmNoaWxkPW51bGw7ZSE9PW51bGw7KXtpZihsPWUuYWx0ZXJuYXRlLGwhPT1udWxsJiZqbihsKT09PW51bGwpe3QuY2hpbGQ9ZTticmVha31sPWUuc2libGluZyxlLnNpYmxpbmc9dSx1PWUsZT1sfVBuKHQsITAsdSxudWxsLG4sYSk7YnJlYWs7Y2FzZSJ0b2dldGhlciI6UG4odCwhMSxudWxsLG51bGwsdm9pZCAwLGEpO2JyZWFrO2Nhc2UiaW5kZXBlbmRlbnQiOnQubWVtb2l6ZWRTdGF0ZT1udWxsO2JyZWFrO2RlZmF1bHQ6dT1rbyh0LmNoaWxkKSx1PT09bnVsbD8oZT10LmNoaWxkLHQuY2hpbGQ9bnVsbCk6KGU9dS5zaWJsaW5nLHUuc2libGluZz1udWxsKSxQbih0LCExLGUsdSxuLGEpfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIFBvKGwsdCx1KXt2YXIgYT10LnBlbmRpbmdQcm9wcztyZXR1cm4gX3UodCx0LnR5cGUsYS52YWx1ZSksQWwobCx0LGEuY2hpbGRyZW4sdSksdC5jaGlsZH1mdW5jdGlvbiB2dShsLHQsdSl7aWYobCE9PW51bGwmJih0LmRlcGVuZGVuY2llcz1sLmRlcGVuZGVuY2llcykscXV8PXQubGFuZXMsKHUmdC5jaGlsZExhbmVzKT09PTApaWYobCE9PW51bGwpe2lmKHVhKGwsdCx1LCExKSwodSZ0LmNoaWxkTGFuZXMpPT09MClyZXR1cm4gbnVsbH1lbHNlIHJldHVybiBudWxsO2lmKGwhPT1udWxsJiZ0LmNoaWxkIT09bC5jaGlsZCl0aHJvdyBFcnJvcihTKDE1MykpO2lmKHQuY2hpbGQhPT1udWxsKXtmb3IobD10LmNoaWxkLHU9YXUobCxsLnBlbmRpbmdQcm9wcyksdC5jaGlsZD11LHUucmV0dXJuPXQ7bC5zaWJsaW5nIT09bnVsbDspbD1sLnNpYmxpbmcsdT11LnNpYmxpbmc9YXUobCxsLnBlbmRpbmdQcm9wcyksdS5yZXR1cm49dDt1LnNpYmxpbmc9bnVsbH1yZXR1cm4gdC5jaGlsZH1mdW5jdGlvbiBpaShsLHQpe3JldHVybihsLmxhbmVzJnQpIT09MD8hMDoobD1sLmRlcGVuZGVuY2llcywhIShsIT09bnVsbCYmUm4obCkpKX1mdW5jdGlvbiBVZChsLHQsdSl7c3dpdGNoKHQudGFnKXtjYXNlIDM6YW4odCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxfdSh0LHpsLGwubWVtb2l6ZWRTdGF0ZS5jYWNoZSksbGEoKTticmVhaztjYXNlIDI3OmNhc2UgNTpCZih0KTticmVhaztjYXNlIDQ6YW4odCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOl91KHQsdC50eXBlLHQubWVtb2l6ZWRQcm9wcy52YWx1ZSk7YnJlYWs7Y2FzZSAzMTppZih0Lm1lbW9pemVkU3RhdGUhPT1udWxsKXJldHVybiB0LmZsYWdzfD0xMjgsWWModCksbnVsbDticmVhaztjYXNlIDEzOnZhciBhPXQubWVtb2l6ZWRTdGF0ZTtpZihhIT09bnVsbCl7aWYoYS5kZWh5ZHJhdGVkIT09bnVsbClyZXR1cm4gVXUodCksdC5mbGFnc3w9MTI4LG51bGw7YT11YShsLHQsdSwhMSk7dmFyIGU9dC5jaGlsZC5jaGlsZExhbmVzO3JldHVybiBhfHwodSZlKSE9PTA/Rm8obCx0LHUpOihVdSh0KSxsPXZ1KGwsdCx1KSxsIT09bnVsbD9sLnNpYmxpbmc6bnVsbCl9VXUodCk7YnJlYWs7Y2FzZSAxOTppZih0LmZsYWdzJjEyOClyZXR1cm4gY2kobCx0LHUpO2lmKGU9KGwuZmxhZ3MmMTI4KSE9PTAsYT0odSZ0LmNoaWxkTGFuZXMpIT09MCxhfHwodWEobCx0LHUsITEpLGE9KHUmdC5jaGlsZExhbmVzKSE9PTApLGUpe2lmKGEpcmV0dXJuIGNpKGwsdCx1KTt0LmZsYWdzfD0xMjh9aWYoZT10Lm1lbW9pemVkU3RhdGUsZSE9PW51bGwmJihlLnJlbmRlcmluZz1udWxsLGUudGFpbD1udWxsLGUubGFzdEVmZmVjdD1udWxsKSxSZSh0LFhsLmN1cnJlbnQpLGEpYnJlYWs7cmV0dXJuIG51bGw7Y2FzZSAyMjpyZXR1cm4gdC5sYW5lcz0wLHhvKGwsdCx1LHQucGVuZGluZ1Byb3BzKTtjYXNlIDI0Ol91KHQsemwsbC5tZW1vaXplZFN0YXRlLmNhY2hlKX1yZXR1cm4gdnUobCx0LHUpfWZ1bmN0aW9uIGx5KGwsdCx1KXtpZihsIT09bnVsbClpZihsLm1lbW9pemVkUHJvcHMhPT10LnBlbmRpbmdQcm9wcylfbD0hMDtlbHNle2lmKCFpaShsLHUpJiYodC5mbGFncyYxMjgpPT09MClyZXR1cm4gX2w9ITEsVWQobCx0LHUpO19sPShsLmZsYWdzJjEzMTA3MikhPT0wfWVsc2UgX2w9ITEsWiYmKHQuZmxhZ3MmMTA0ODU3NikhPT0wJiZDdih0LGJlLHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMTY6bDp7dmFyIGE9dC5wZW5kaW5nUHJvcHM7aWYobD1mYSh0LmVsZW1lbnRUeXBlKSx0LnR5cGU9bCx0eXBlb2YgbD09ImZ1bmN0aW9uIiloYyhsKT8oYT1vYShsLGEpLHQudGFnPTEsdD1XbyhudWxsLHQsbCxhLHUpKToodC50YWc9MCx0PXRpKG51bGwsdCxsLGEsdSkpO2Vsc2V7aWYobCE9bnVsbCl7dmFyIGU9bC4kJHR5cGVvZjtpZihlPT09Xyl7dC50YWc9MTEsdD1WbyhudWxsLHQsbCxhLHUpO2JyZWFrIGx9ZWxzZSBpZihlPT09Y2wpe3QudGFnPTE0LHQ9TG8obnVsbCx0LGwsYSx1KTticmVhayBsfWVsc2UgaWYoZT09PURsKXt0LnRhZz0xMCx0LnR5cGU9bCx0PVBvKG51bGwsdCx1KTticmVhayBsfX10aHJvdyB0PVcobCl8fGwsRXJyb3IoUygzMDYsdCwiIikpfX1yZXR1cm4gdDtjYXNlIDA6cmV0dXJuIHRpKGwsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsdSk7Y2FzZSAxOnJldHVybiBhPXQudHlwZSxlPW9hKGEsdC5wZW5kaW5nUHJvcHMpLFdvKGwsdCxhLGUsdSk7Y2FzZSAzOmw6e2lmKGFuKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbD09PW51bGwpdGhyb3cgRXJyb3IoUygzODcpKTthPXQucGVuZGluZ1Byb3BzO3ZhciBuPXQubWVtb2l6ZWRTdGF0ZTtlPW4uZWxlbWVudCxNYyhsLHQpLENlKHQsYSxudWxsLHUpO3ZhciBmPXQubWVtb2l6ZWRTdGF0ZTtpZihhPWYuY2FjaGUsX3UodCx6bCxhKSxhIT09bi5jYWNoZSYmYmModCxbemxdLHUsITApLFVlKCksYT1mLmVsZW1lbnQsbi5pc0RlaHlkcmF0ZWQpaWYobj17ZWxlbWVudDphLGlzRGVoeWRyYXRlZDohMSxjYWNoZTpmLmNhY2hlfSx0LnVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZT1uLHQubWVtb2l6ZWRTdGF0ZT1uLHQuZmxhZ3MmMjU2KXt0PSRvKGwsdCxhLHUpO2JyZWFrIGx9ZWxzZSBpZihhIT09ZSl7ZT1FdChFcnJvcihTKDQyNCkpLHQpLF9lKGUpLHQ9JG8obCx0LGEsdSk7YnJlYWsgbH1lbHNlIGZvcihsPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8sbC5ub2RlVHlwZT09PTk/bD1sLmJvZHk6bD1sLm5vZGVOYW1lPT09IkhUTUwiP2wub3duZXJEb2N1bWVudC5ib2R5OmwseWw9QXQobC5maXJzdENoaWxkKSxVbD10LFo9ITAsenU9bnVsbCxfdD0hMCx1PXB2KHQsbnVsbCxhLHUpLHQuY2hpbGQ9dTt1Oyl1LmZsYWdzPXUuZmxhZ3MmLTN8MTM0MjIxODI0LHU9dS5zaWJsaW5nO2Vsc2V7aWYobGEoKSxhPT09ZSl7dD12dShsLHQsdSk7YnJlYWsgbH1BbChsLHQsYSx1KX10PXQuY2hpbGR9cmV0dXJuIHQ7Y2FzZSAyNjpyZXR1cm4gWmEobCx0KSxsPT09bnVsbD8odT1BbSh0LnR5cGUsbnVsbCx0LnBlbmRpbmdQcm9wcyxudWxsKSk/dC5tZW1vaXplZFN0YXRlPXU6Wnx8KHQuc3RhdGVOb2RlPWVtKHQudHlwZSx0LnBlbmRpbmdQcm9wcyxodS5jdXJyZW50LHQpKTp0Lm1lbW9pemVkU3RhdGU9QW0odC50eXBlLGwubWVtb2l6ZWRQcm9wcyx0LnBlbmRpbmdQcm9wcyxsLm1lbW9pemVkU3RhdGUpLG51bGw7Y2FzZSAyNzpyZXR1cm4gQmYodCksbD09PW51bGwmJlomJihhPXQuc3RhdGVOb2RlPXptKHQudHlwZSx0LnBlbmRpbmdQcm9wcyxodS5jdXJyZW50KSxVbD10LF90PSEwLGU9eWwsUXUodC50eXBlKT8oZTA9ZSx5bD1BdChhLmZpcnN0Q2hpbGQpKTp5bD1lKSxBbChsLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdSksWmEobCx0KSxsPT09bnVsbCYmKHQuZmxhZ3N8PTQxOTQzMDQpLHQuY2hpbGQ7Y2FzZSA1OnJldHVybiBsPT09bnVsbCYmWiYmKChlPWE9eWwpJiYoYT1fcyhhLHQudHlwZSx0LnBlbmRpbmdQcm9wcyxfdCksYSE9PW51bGw/KHQuc3RhdGVOb2RlPWEsVWw9dCx5bD1BdChhLmZpcnN0Q2hpbGQpLF90PSExLGU9ITApOmU9ITEpLGV8fGJ1KHQpKSxCZih0KSxlPXQudHlwZSxuPXQucGVuZGluZ1Byb3BzLGY9bCE9PW51bGw/bC5tZW1vaXplZFByb3BzOm51bGwsYT1uLmNoaWxkcmVuLCRpKGUsbik/YT1udWxsOmYhPT1udWxsJiYkaShlLGYpJiYodC5mbGFnc3w9MzIpLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJihlPUdjKGwsdCxyZCxudWxsLG51bGwsdSksZWUuX2N1cnJlbnRWYWx1ZT1lKSxaYShsLHQpLEFsKGwsdCxhLHUpLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBsPT09bnVsbCYmWiYmKChsPXU9eWwpJiYodT1Pcyh1LHQucGVuZGluZ1Byb3BzLF90KSx1IT09bnVsbD8odC5zdGF0ZU5vZGU9dSxVbD10LHlsPW51bGwsbD0hMCk6bD0hMSksbHx8YnUodCkpLG51bGw7Y2FzZSAxMzpyZXR1cm4gRm8obCx0LHUpO2Nhc2UgNDpyZXR1cm4gYW4odCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxhPXQucGVuZGluZ1Byb3BzLGw9PT1udWxsP3QuY2hpbGQ9aWEodCxudWxsLGEsdSk6QWwobCx0LGEsdSksdC5jaGlsZDtjYXNlIDExOnJldHVybiBWbyhsLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLHUpO2Nhc2UgNzpyZXR1cm4gYT10LnBlbmRpbmdQcm9wcyxaYShsLHQpLEFsKGwsdCxhLHUpLHQuY2hpbGQ7Y2FzZSA4OnJldHVybiBBbChsLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdSksdC5jaGlsZDtjYXNlIDEyOnJldHVybiBBbChsLHQsdC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sdSksdC5jaGlsZDtjYXNlIDEwOnJldHVybiBQbyhsLHQsdSk7Y2FzZSA5OnJldHVybiBlPXQudHlwZS5fY29udGV4dCxhPXQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLGFhKHQpLGU9QmwoZSksYT1hKGUpLHQuZmxhZ3N8PTEsQWwobCx0LGEsdSksdC5jaGlsZDtjYXNlIDE0OnJldHVybiBMbyhsLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLHUpO2Nhc2UgMTU6cmV0dXJuIHBvKGwsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsdSk7Y2FzZSAxOTpyZXR1cm4gY2kobCx0LHUpO2Nhc2UgMzE6cmV0dXJuIERkKGwsdCx1KTtjYXNlIDIyOnJldHVybiB4byhsLHQsdSx0LnBlbmRpbmdQcm9wcyk7Y2FzZSAyNDpyZXR1cm4gYWEodCksYT1CbCh6bCksbD09PW51bGw/KGU9QWMoKSxlPT09bnVsbCYmKGU9aWwsbj1fYygpLGUucG9vbGVkQ2FjaGU9bixuLnJlZkNvdW50KyssbiE9PW51bGwmJihlLnBvb2xlZENhY2hlTGFuZXN8PXUpLGU9biksdC5tZW1vaXplZFN0YXRlPXtwYXJlbnQ6YSxjYWNoZTplfSxEYyh0KSxfdSh0LHpsLGUpKTooKGwubGFuZXMmdSkhPT0wJiYoTWMobCx0KSxDZSh0LG51bGwsbnVsbCx1KSxVZSgpKSxlPWwubWVtb2l6ZWRTdGF0ZSxuPXQubWVtb2l6ZWRTdGF0ZSxlLnBhcmVudCE9PWE/KGU9e3BhcmVudDphLGNhY2hlOmF9LHQubWVtb2l6ZWRTdGF0ZT1lLHQubGFuZXM9PT0wJiYodC5tZW1vaXplZFN0YXRlPXQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWUpLF91KHQsemwsYSkpOihhPW4uY2FjaGUsX3UodCx6bCxhKSxhIT09ZS5jYWNoZSYmYmModCxbemxdLHUsITApKSksQWwobCx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLHUpLHQuY2hpbGQ7Y2FzZSAzMDpyZXR1cm4gdC5zdGF0ZU5vZGU9PT1udWxsJiYodC5zdGF0ZU5vZGU9e2F1dG9OYW1lOm51bGwscGFpcmVkOm51bGwsY2xvbmVzOm51bGwscmVmOm51bGx9KSxhPXQucGVuZGluZ1Byb3BzLGEubmFtZSE9bnVsbCYmYS5uYW1lIT09ImF1dG8iP3QuZmxhZ3N8PWw9PT1udWxsPzE4ODgyNTYwOjE4ODc0MzY4OlomJk1uKHQpLGwhPT1udWxsJiZsLm1lbW9pemVkUHJvcHMubmFtZSE9PWEubmFtZT90LmZsYWdzfD00MTk0ODE2OlphKGwsdCksQWwobCx0LGEuY2hpbGRyZW4sdSksdC5jaGlsZDtjYXNlIDI5OnRocm93IHQucGVuZGluZ1Byb3BzfXRocm93IEVycm9yKFMoMTU2LHQudGFnKSl9ZnVuY3Rpb24gb3UobCl7bC5mbGFnc3w9NH1mdW5jdGlvbiB2aShsLHQsdSxhLGUpe3ZhciBuO2lmKChuPShsLm1vZGUmMzIpIT09MCkmJihuPXU9PT1udWxsP1VtKHQsYSk6VW0odCxhKSYmKGEuc3JjIT09dS5zcmN8fGEuc3JjU2V0IT09dS5zcmNTZXQpKSxuKXtpZihsLmZsYWdzfD0xNjc3NzIxNiwoZSYzMzU1NDQxMjgpPT09ZSlpZihsLnN0YXRlTm9kZS5jb21wbGV0ZSlsLmZsYWdzfD04MTkyO2Vsc2UgaWYoQnkoKSlsLmZsYWdzfD04MTkyO2Vsc2UgdGhyb3cgY2E9Qm4sTmN9ZWxzZSBsLmZsYWdzJj0tMTY3NzcyMTd9ZnVuY3Rpb24gdHkobCx0KXtpZih0LnR5cGUhPT0ic3R5bGVzaGVldCJ8fCh0LnN0YXRlLmxvYWRpbmcmNCkhPT0wKWwuZmxhZ3MmPS0xNjc3NzIxNztlbHNlIGlmKGwuZmxhZ3N8PTE2Nzc3MjE2LCFDbSh0KSlpZihCeSgpKWwuZmxhZ3N8PTgxOTI7ZWxzZSB0aHJvdyBjYT1CbixOY31mdW5jdGlvbiBsZihsLHQpe3QhPT1udWxsJiYobC5mbGFnc3w9NCksbC5mbGFncyYxNjM4NCYmKHQ9bC50YWchPT0yMj9NMCgpOjUzNjg3MDkxMixsLmxhbmVzfD10LEthfD10KX1mdW5jdGlvbiBHZShsLHQpe2lmKCFaKXN3aXRjaChsLnRhaWxNb2RlKXtjYXNlInZpc2libGUiOmJyZWFrO2Nhc2UiY29sbGFwc2VkIjpmb3IodmFyIHU9bC50YWlsLGE9bnVsbDt1IT09bnVsbDspdS5hbHRlcm5hdGUhPT1udWxsJiYoYT11KSx1PXUuc2libGluZzthPT09bnVsbD90fHxsLnRhaWw9PT1udWxsP2wudGFpbD1udWxsOmwudGFpbC5zaWJsaW5nPW51bGw6YS5zaWJsaW5nPW51bGw7YnJlYWs7ZGVmYXVsdDpmb3IodD1sLnRhaWwsdT1udWxsO3QhPT1udWxsOyl0LmFsdGVybmF0ZSE9PW51bGwmJih1PXQpLHQ9dC5zaWJsaW5nO3U9PT1udWxsP2wudGFpbD1udWxsOnUuc2libGluZz1udWxsfX1mdW5jdGlvbiBtbChsKXt2YXIgdD1sLmFsdGVybmF0ZSE9PW51bGwmJmwuYWx0ZXJuYXRlLmNoaWxkPT09bC5jaGlsZCx1PTAsYT0wO2lmKHQpZm9yKHZhciBlPWwuY2hpbGQ7ZSE9PW51bGw7KXV8PWUubGFuZXN8ZS5jaGlsZExhbmVzLGF8PWUuc3VidHJlZUZsYWdzJjEyMDY5MTA5NzYsYXw9ZS5mbGFncyYxMjA2OTEwOTc2LGUucmV0dXJuPWwsZT1lLnNpYmxpbmc7ZWxzZSBmb3IoZT1sLmNoaWxkO2UhPT1udWxsOyl1fD1lLmxhbmVzfGUuY2hpbGRMYW5lcyxhfD1lLnN1YnRyZWVGbGFncyxhfD1lLmZsYWdzLGUucmV0dXJuPWwsZT1lLnNpYmxpbmc7cmV0dXJuIGwuc3VidHJlZUZsYWdzfD1hLGwuY2hpbGRMYW5lcz11LHR9ZnVuY3Rpb24gQ2QobCx0LHUpe3ZhciBhPXQucGVuZGluZ1Byb3BzO3N3aXRjaChyYyh0KSx0LnRhZyl7Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpyZXR1cm4gbWwodCksbnVsbDtjYXNlIDE6cmV0dXJuIG1sKHQpLG51bGw7Y2FzZSAzOnJldHVybiB1PXQuc3RhdGVOb2RlLGE9bnVsbCxsIT09bnVsbCYmKGE9bC5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1hJiYodC5mbGFnc3w9MjA0OCksZnUoemwpLFNhKCksdS5wZW5kaW5nQ29udGV4dCYmKHUuY29udGV4dD11LnBlbmRpbmdDb250ZXh0LHUucGVuZGluZ0NvbnRleHQ9bnVsbCksKGw9PT1udWxsfHxsLmNoaWxkPT09bnVsbCkmJihZYSh0KT9vdSh0KTpsPT09bnVsbHx8bC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmKHQuZmxhZ3MmMjU2KT09PTB8fCh0LmZsYWdzfD0xMDI0LEVjKCkpKSxtbCh0KSxudWxsO2Nhc2UgMjY6dmFyIGU9dC50eXBlLG49dC5tZW1vaXplZFN0YXRlO3JldHVybiBsPT09bnVsbD8ob3UodCksbiE9PW51bGw/KG1sKHQpLHR5KHQsbikpOihtbCh0KSx2aSh0LGUsbnVsbCxhLHUpKSk6bj9uIT09bC5tZW1vaXplZFN0YXRlPyhvdSh0KSxtbCh0KSx0eSh0LG4pKToobWwodCksdC5mbGFncyY9LTE2Nzc3MjE3KToobD1sLm1lbW9pemVkUHJvcHMsbCE9PWEmJm91KHQpLG1sKHQpLHZpKHQsZSxsLGEsdSkpLG51bGw7Y2FzZSAyNzppZihlbih0KSx1PWh1LmN1cnJlbnQsZT10LnR5cGUsbCE9PW51bGwmJnQuc3RhdGVOb2RlIT1udWxsKWwubWVtb2l6ZWRQcm9wcyE9PWEmJm91KHQpO2Vsc2V7aWYoIWEpe2lmKHQuc3RhdGVOb2RlPT09bnVsbCl0aHJvdyBFcnJvcihTKDE2NikpO3JldHVybiBtbCh0KSx0LnN1YnRyZWVGbGFncyY9LTMzNTU0NDMzLG51bGx9bD1RdC5jdXJyZW50LFlhKHQpP0h2KHQpOihsPXptKGUsYSx1KSx0LnN0YXRlTm9kZT1sLG91KHQpKX1yZXR1cm4gbWwodCksdC5zdWJ0cmVlRmxhZ3MmPS0zMzU1NDQzMyxudWxsO2Nhc2UgNTppZihlbih0KSxlPXQudHlwZSxsIT09bnVsbCYmdC5zdGF0ZU5vZGUhPW51bGwpbC5tZW1vaXplZFByb3BzIT09YSYmb3UodCk7ZWxzZXtpZighYSl7aWYodC5zdGF0ZU5vZGU9PT1udWxsKXRocm93IEVycm9yKFMoMTY2KSk7cmV0dXJuIG1sKHQpLHQuc3VidHJlZUZsYWdzJj0tMzM1NTQ0MzMsbnVsbH1pZihuPVF0LmN1cnJlbnQsWWEodCkpSHYodCk7ZWxzZXt2YXIgZj13ZShodS5jdXJyZW50KTtzd2l0Y2gobil7Y2FzZSAxOm49Zi5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixlKTticmVhaztjYXNlIDI6bj1mLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsZSk7YnJlYWs7ZGVmYXVsdDpzd2l0Y2goZSl7Y2FzZSJzdmciOm49Zi5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixlKTticmVhaztjYXNlIm1hdGgiOm49Zi5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiLGUpO2JyZWFrO2Nhc2Uic2NyaXB0IjpuPWYuY3JlYXRlRWxlbWVudCgiZGl2Iiksbi5pbm5lckhUTUw9IjxzY3JpcHQ+PFwvc2NyaXB0PiIsbj1uLnJlbW92ZUNoaWxkKG4uZmlyc3RDaGlsZCk7YnJlYWs7Y2FzZSJzZWxlY3QiOm49dHlwZW9mIGEuaXM9PSJzdHJpbmciP2YuY3JlYXRlRWxlbWVudCgic2VsZWN0Iix7aXM6YS5pc30pOmYuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksYS5tdWx0aXBsZT9uLm11bHRpcGxlPSEwOmEuc2l6ZSYmKG4uc2l6ZT1hLnNpemUpO2JyZWFrO2RlZmF1bHQ6bj10eXBlb2YgYS5pcz09InN0cmluZyI/Zi5jcmVhdGVFbGVtZW50KGUse2lzOmEuaXN9KTpmLmNyZWF0ZUVsZW1lbnQoZSl9fW5bcWxdPXQsbltXbF09YTtsOmZvcihmPXQuY2hpbGQ7ZiE9PW51bGw7KXtpZihmLnRhZz09PTV8fGYudGFnPT09NiluLmFwcGVuZENoaWxkKGYuc3RhdGVOb2RlKTtlbHNlIGlmKGYudGFnIT09NCYmZi50YWchPT0yNyYmZi5jaGlsZCE9PW51bGwpe2YuY2hpbGQucmV0dXJuPWYsZj1mLmNoaWxkO2NvbnRpbnVlfWlmKGY9PT10KWJyZWFrIGw7Zm9yKDtmLnNpYmxpbmc9PT1udWxsOyl7aWYoZi5yZXR1cm49PT1udWxsfHxmLnJldHVybj09PXQpYnJlYWsgbDtmPWYucmV0dXJufWYuc2libGluZy5yZXR1cm49Zi5yZXR1cm4sZj1mLnNpYmxpbmd9dC5zdGF0ZU5vZGU9bjtsOnN3aXRjaChqbChuLGUsYSksZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjphPSEhYS5hdXRvRm9jdXM7YnJlYWsgbDtjYXNlImltZyI6YT0hMDticmVhayBsO2RlZmF1bHQ6YT0hMX1hJiZvdSh0KX19cmV0dXJuIG1sKHQpLHQuc3VidHJlZUZsYWdzJj0tMzM1NTQ0MzMsdmkodCx0LnR5cGUsbD09PW51bGw/bnVsbDpsLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsdSksbnVsbDtjYXNlIDY6aWYobCYmdC5zdGF0ZU5vZGUhPW51bGwpbC5tZW1vaXplZFByb3BzIT09YSYmb3UodCk7ZWxzZXtpZih0eXBlb2YgYSE9InN0cmluZyImJnQuc3RhdGVOb2RlPT09bnVsbCl0aHJvdyBFcnJvcihTKDE2NikpO2lmKGw9aHUuY3VycmVudCxZYSh0KSl7aWYobD10LnN0YXRlTm9kZSx1PXQubWVtb2l6ZWRQcm9wcyxhPW51bGwsZT1VbCxlIT09bnVsbClzd2l0Y2goZS50YWcpe2Nhc2UgMjc6Y2FzZSA1OmE9ZS5tZW1vaXplZFByb3BzfWxbcWxdPXQsbD0hIShsLm5vZGVWYWx1ZT09PXV8fGEhPT1udWxsJiZhLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZz09PSEwfHxsbShsLm5vZGVWYWx1ZSx1KSksbHx8YnUodCwhMCl9ZWxzZSBsPXdlKGwpLmNyZWF0ZVRleHROb2RlKGEpLGxbcWxdPXQsdC5zdGF0ZU5vZGU9bH1yZXR1cm4gbWwodCksbnVsbDtjYXNlIDMxOmlmKHU9dC5tZW1vaXplZFN0YXRlLGw9PT1udWxsfHxsLm1lbW9pemVkU3RhdGUhPT1udWxsKXtpZihhPVlhKHQpLHUhPT1udWxsKXtpZihsPT09bnVsbCl7aWYoIWEpdGhyb3cgRXJyb3IoUygzMTgpKTtpZihsPXQubWVtb2l6ZWRTdGF0ZSxsPWwhPT1udWxsP2wuZGVoeWRyYXRlZDpudWxsLCFsKXRocm93IEVycm9yKFMoNTU3KSk7bFtxbF09dH1lbHNlIGxhKCksKHQuZmxhZ3MmMTI4KT09PTAmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDttbCh0KSxsPSExfWVsc2UgdT1FYygpLGwhPT1udWxsJiZsLm1lbW9pemVkU3RhdGUhPT1udWxsJiYobC5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz11KSxsPSEwO2lmKCFsKXJldHVybiB0LmZsYWdzJjI1Nj8odnQodCksdCk6KHZ0KHQpLG51bGwpO2lmKCh0LmZsYWdzJjEyOCkhPT0wKXRocm93IEVycm9yKFMoNTU4KSl9cmV0dXJuIG1sKHQpLG51bGw7Y2FzZSAxMzppZihhPXQubWVtb2l6ZWRTdGF0ZSxsPT09bnVsbHx8bC5tZW1vaXplZFN0YXRlIT09bnVsbCYmbC5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQhPT1udWxsKXtpZihlPVlhKHQpLGEhPT1udWxsJiZhLmRlaHlkcmF0ZWQhPT1udWxsKXtpZihsPT09bnVsbCl7aWYoIWUpdGhyb3cgRXJyb3IoUygzMTgpKTtpZihlPXQubWVtb2l6ZWRTdGF0ZSxlPWUhPT1udWxsP2UuZGVoeWRyYXRlZDpudWxsLCFlKXRocm93IEVycm9yKFMoMzE3KSk7ZVtxbF09dH1lbHNlIGxhKCksKHQuZmxhZ3MmMTI4KT09PTAmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDttbCh0KSxlPSExfWVsc2UgZT1FYygpLGwhPT1udWxsJiZsLm1lbW9pemVkU3RhdGUhPT1udWxsJiYobC5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1lKSxlPSEwO2lmKCFlKXJldHVybiB0LmZsYWdzJjI1Nj8odnQodCksdCk6KHZ0KHQpLG51bGwpfXJldHVybiB2dCh0KSwodC5mbGFncyYxMjgpIT09MD8odC5sYW5lcz11LHQpOih1PWEhPT1udWxsLGw9bCE9PW51bGwmJmwubWVtb2l6ZWRTdGF0ZSE9PW51bGwsdSYmKGE9dC5jaGlsZCxlPW51bGwsYS5hbHRlcm5hdGUhPT1udWxsJiZhLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlIT09bnVsbCYmYS5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYoZT1hLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxuPW51bGwsYS5tZW1vaXplZFN0YXRlIT09bnVsbCYmYS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJihuPWEubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksbiE9PWUmJihhLmZsYWdzfD0yMDQ4KSksdSE9PWwmJnUmJih0LmNoaWxkLmZsYWdzfD04MTkyKSxsZih0LHQudXBkYXRlUXVldWUpLG1sKHQpLG51bGwpO2Nhc2UgNDpyZXR1cm4gU2EoKSxsPT09bnVsbCYmeGkodC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksdC5mbGFnc3w9NjcxMDg4NjQsbWwodCksbnVsbDtjYXNlIDEwOnJldHVybiBmdSh0LnR5cGUpLG1sKHQpLG51bGw7Y2FzZSAxOTppZihxYyh0KSxhPXQubWVtb2l6ZWRTdGF0ZSxhPT09bnVsbClyZXR1cm4gbWwodCksbnVsbDtpZihlPSh0LmZsYWdzJjEyOCkhPT0wLG49YS5yZW5kZXJpbmcsbj09PW51bGwpaWYoZSlHZShhLCExKTtlbHNle2lmKHJsIT09MHx8bCE9PW51bGwmJihsLmZsYWdzJjEyOCkhPT0wKWZvcihsPXQuY2hpbGQ7bCE9PW51bGw7KXtpZihuPWpuKGwpLG4hPT1udWxsKXtmb3IodC5mbGFnc3w9MTI4LEdlKGEsITEpLGw9bi51cGRhdGVRdWV1ZSx0LnVwZGF0ZVF1ZXVlPWwsbGYodCxsKSx0LnN1YnRyZWVGbGFncz0wLGw9dSx1PXQuY2hpbGQ7dSE9PW51bGw7KUR2KHUsbCksdT11LnNpYmxpbmc7cmV0dXJuIFJlKHQsWGwuY3VycmVudCYxfDIpLFomJmV1KHQsYS50cmVlRm9ya0NvdW50KSx0LmNoaWxkfWw9bC5zaWJsaW5nfWEudGFpbCE9PW51bGwmJmV0KCk+ZGYmJih0LmZsYWdzfD0xMjgsZT0hMCxHZShhLCExKSx0LmxhbmVzPTQxOTQzMDQpfWVsc2V7aWYoIWUpaWYobD1qbihuKSxsIT09bnVsbCl7aWYodC5mbGFnc3w9MTI4LGU9ITAsbD1sLnVwZGF0ZVF1ZXVlLHQudXBkYXRlUXVldWU9bCxsZih0LGwpLEdlKGEsITApLGEudGFpbD09PW51bGwmJmEudGFpbE1vZGUhPT0iY29sbGFwc2VkIiYmYS50YWlsTW9kZSE9PSJ2aXNpYmxlIiYmIW4uYWx0ZXJuYXRlJiYhWilyZXR1cm4gbWwodCksbnVsbH1lbHNlIDIqZXQoKS1hLnJlbmRlcmluZ1N0YXJ0VGltZT5kZiYmdSE9PTUzNjg3MDkxMiYmKHQuZmxhZ3N8PTEyOCxlPSEwLEdlKGEsITEpLHQubGFuZXM9NDE5NDMwNCk7YS5pc0JhY2t3YXJkcz8obi5zaWJsaW5nPXQuY2hpbGQsdC5jaGlsZD1uKToobD1hLmxhc3QsbCE9PW51bGw/bC5zaWJsaW5nPW46dC5jaGlsZD1uLGEubGFzdD1uKX1pZihhLnRhaWwhPT1udWxsKXtsPWEudGFpbDtsOntmb3IodT1sO3UhPT1udWxsOyl7aWYodS5hbHRlcm5hdGUhPT1udWxsKXt1PSExO2JyZWFrIGx9dT11LnNpYmxpbmd9dT0hMH1yZXR1cm4gYS5yZW5kZXJpbmc9bCxhLnRhaWw9bC5zaWJsaW5nLGEucmVuZGVyaW5nU3RhcnRUaW1lPWV0KCksbC5zaWJsaW5nPW51bGwsbj1YbC5jdXJyZW50LG49ZT9uJjF8MjpuJjEsYS50YWlsTW9kZT09PSJ2aXNpYmxlInx8YS50YWlsTW9kZT09PSJjb2xsYXBzZWQifHwhdXx8Wj9SZSh0LG4pOih1PW4sb2woR2wsdCksb2woWGwsdSksVmw9PT1udWxsJiYoVmw9dCkpLFomJmV1KHQsYS50cmVlRm9ya0NvdW50KSxsfXJldHVybiBtbCh0KSxudWxsO2Nhc2UgMjI6Y2FzZSAyMzpyZXR1cm4gdnQodCksSGMoKSxhPXQubWVtb2l6ZWRTdGF0ZSE9PW51bGwsbCE9PW51bGw/bC5tZW1vaXplZFN0YXRlIT09bnVsbCE9PWEmJih0LmZsYWdzfD04MTkyKTphJiYodC5mbGFnc3w9ODE5MiksYT8odSY1MzY4NzA5MTIpIT09MCYmKHQuZmxhZ3MmMTI4KT09PTAmJihtbCh0KSx0LnN1YnRyZWVGbGFncyY2JiYodC5mbGFnc3w9ODE5MikpOm1sKHQpLHU9dC51cGRhdGVRdWV1ZSx1IT09bnVsbCYmbGYodCx1LnJldHJ5UXVldWUpLHU9bnVsbCxsIT09bnVsbCYmbC5tZW1vaXplZFN0YXRlIT09bnVsbCYmbC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCE9PW51bGwmJih1PWwubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksYT1udWxsLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJnQubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYoYT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGEhPT11JiYodC5mbGFnc3w9MjA0OCksbCE9PW51bGwmJllsKG5hKSxudWxsO2Nhc2UgMjQ6cmV0dXJuIHU9bnVsbCxsIT09bnVsbCYmKHU9bC5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT11JiYodC5mbGFnc3w9MjA0OCksZnUoemwpLG1sKHQpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtjYXNlIDMwOnJldHVybiB0LmZsYWdzfD0zMzU1NDQzMixtbCh0KSxudWxsfXRocm93IEVycm9yKFMoMTU2LHQudGFnKSl9ZnVuY3Rpb24gUmQobCx0KXtzd2l0Y2gocmModCksdC50YWcpe2Nhc2UgMTpyZXR1cm4gbD10LmZsYWdzLGwmNjU1MzY/KHQuZmxhZ3M9bCYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAzOnJldHVybiBmdSh6bCksU2EoKSxsPXQuZmxhZ3MsKGwmNjU1MzYpIT09MCYmKGwmMTI4KT09PTA/KHQuZmxhZ3M9bCYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gZW4odCksbnVsbDtjYXNlIDMxOmlmKHQubWVtb2l6ZWRTdGF0ZSE9PW51bGwpe2lmKHZ0KHQpLHQuYWx0ZXJuYXRlPT09bnVsbCl0aHJvdyBFcnJvcihTKDM0MCkpO2xhKCl9cmV0dXJuIGw9dC5mbGFncyxsJjY1NTM2Pyh0LmZsYWdzPWwmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMTM6aWYodnQodCksbD10Lm1lbW9pemVkU3RhdGUsbCE9PW51bGwmJmwuZGVoeWRyYXRlZCE9PW51bGwpe2lmKHQuYWx0ZXJuYXRlPT09bnVsbCl0aHJvdyBFcnJvcihTKDM0MCkpO2xhKCl9cmV0dXJuIGw9dC5mbGFncyxsJjY1NTM2Pyh0LmZsYWdzPWwmLTY1NTM3fDEyOCx0KTpudWxsO2Nhc2UgMTk6cmV0dXJuIHFjKHQpLGw9dC5mbGFncyxsJjY1NTM2Pyh0LmZsYWdzPWwmLTY1NTM3fDEyOCxsPXQubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCYmKGwucmVuZGVyaW5nPW51bGwsbC50YWlsPW51bGwpLHQuZmxhZ3N8PTQsdCk6bnVsbDtjYXNlIDQ6cmV0dXJuIFNhKCksbnVsbDtjYXNlIDEwOnJldHVybiBmdSh0LnR5cGUpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiB2dCh0KSxIYygpLGwhPT1udWxsJiZZbChuYSksbD10LmZsYWdzLGwmNjU1MzY/KHQuZmxhZ3M9bCYtNjU1Mzd8MTI4LHQpOm51bGw7Y2FzZSAyNDpyZXR1cm4gZnUoemwpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtkZWZhdWx0OnJldHVybiBudWxsfX1mdW5jdGlvbiB1eShsLHQpe3N3aXRjaChyYyh0KSx0LnRhZyl7Y2FzZSAzOmZ1KHpsKSxTYSgpO2JyZWFrO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6ZW4odCk7YnJlYWs7Y2FzZSA0OlNhKCk7YnJlYWs7Y2FzZSAzMTp0Lm1lbW9pemVkU3RhdGUhPT1udWxsJiZ2dCh0KTticmVhaztjYXNlIDEzOnZ0KHQpO2JyZWFrO2Nhc2UgMTk6cWModCk7YnJlYWs7Y2FzZSAxMDpmdSh0LnR5cGUpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzp2dCh0KSxIYygpLGwhPT1udWxsJiZZbChuYSk7YnJlYWs7Y2FzZSAyNDpmdSh6bCl9fWZ1bmN0aW9uIFhlKGwsdCl7dHJ5e3ZhciB1PXQudXBkYXRlUXVldWUsYT11IT09bnVsbD91Lmxhc3RFZmZlY3Q6bnVsbDtpZihhIT09bnVsbCl7dmFyIGU9YS5uZXh0O3U9ZTtkb3tpZigodS50YWcmbCk9PT1sKXthPXZvaWQgMDt2YXIgbj11LmNyZWF0ZSxmPXUuaW5zdDthPW4oKSxmLmRlc3Ryb3k9YX11PXUubmV4dH13aGlsZSh1IT09ZSl9fWNhdGNoKGMpe2FsKHQsdC5yZXR1cm4sYyl9fWZ1bmN0aW9uIFJ1KGwsdCx1KXt0cnl7dmFyIGE9dC51cGRhdGVRdWV1ZSxlPWEhPT1udWxsP2EubGFzdEVmZmVjdDpudWxsO2lmKGUhPT1udWxsKXt2YXIgbj1lLm5leHQ7YT1uO2Rve2lmKChhLnRhZyZsKT09PWwpe3ZhciBmPWEuaW5zdCxjPWYuZGVzdHJveTtpZihjIT09dm9pZCAwKXtmLmRlc3Ryb3k9dm9pZCAwLGU9dDt2YXIgaT11LGQ9Yzt0cnl7ZCgpfWNhdGNoKGcpe2FsKGUsaSxnKX19fWE9YS5uZXh0fXdoaWxlKGEhPT1uKX19Y2F0Y2goZyl7YWwodCx0LnJldHVybixnKX19ZnVuY3Rpb24gYXkobCl7dmFyIHQ9bC51cGRhdGVRdWV1ZTtpZih0IT09bnVsbCl7dmFyIHU9bC5zdGF0ZU5vZGU7dHJ5e0t2KHQsdSl9Y2F0Y2goYSl7YWwobCxsLnJldHVybixhKX19fWZ1bmN0aW9uIGV5KGwsdCx1KXt1LnByb3BzPW9hKGwudHlwZSxsLm1lbW9pemVkUHJvcHMpLHUuc3RhdGU9bC5tZW1vaXplZFN0YXRlO3RyeXt1LmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2goYSl7YWwobCx0LGEpfX1mdW5jdGlvbiBMdChsLHQpe3RyeXt2YXIgdT1sLnJlZjtpZih1IT09bnVsbCl7c3dpdGNoKGwudGFnKXtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnZhciBhPWwuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMzA6dmFyIGU9bC5zdGF0ZU5vZGUsbj10dShsLm1lbW9pemVkUHJvcHMsZSk7KGUucmVmPT09bnVsbHx8ZS5yZWYubmFtZSE9PW4pJiYoZS5yZWY9eW0obikpLGE9ZS5yZWY7YnJlYWs7Y2FzZSA3OmlmKGwuc3RhdGVOb2RlPT09bnVsbCl7dmFyIGY9bmV3IHN0KGwpO1QobC5jaGlsZCwhMSx6cyxmLHZvaWQgMCx2b2lkIDApLGwuc3RhdGVOb2RlPWZ9YT1sLnN0YXRlTm9kZTticmVhaztkZWZhdWx0OmE9bC5zdGF0ZU5vZGV9dHlwZW9mIHU9PSJmdW5jdGlvbiI/bC5yZWZDbGVhbnVwPXUoYSk6dS5jdXJyZW50PWF9fWNhdGNoKGMpe2FsKGwsdCxjKX19ZnVuY3Rpb24gUWwobCx0KXt2YXIgdT1sLnJlZixhPWwucmVmQ2xlYW51cDtpZih1IT09bnVsbClpZih0eXBlb2YgYT09ImZ1bmN0aW9uIil0cnl7YSgpfWNhdGNoKGUpe2FsKGwsdCxlKX1maW5hbGx5e2wucmVmQ2xlYW51cD1udWxsLGw9bC5hbHRlcm5hdGUsbCE9bnVsbCYmKGwucmVmQ2xlYW51cD1udWxsKX1lbHNlIGlmKHR5cGVvZiB1PT0iZnVuY3Rpb24iKXRyeXt1KG51bGwpfWNhdGNoKGUpe2FsKGwsdCxlKX1lbHNlIHUuY3VycmVudD1udWxsfWZ1bmN0aW9uIHRmKGwsdCl7aWYoKGwudGFnPT09NXx8bC50YWc9PT0yN3x8bC50YWc9PT02KSYmbC5hbHRlcm5hdGU9PT1udWxsJiZ0IT09bnVsbClmb3IodmFyIHU9MDt1PHQubGVuZ3RoO3UrKylTbShsLnN0YXRlTm9kZSx0W3VdKX1mdW5jdGlvbiBueShsKXtmb3IodmFyIHQ9bC5yZXR1cm47dCE9PW51bGwmJih5aSh0KSYmU20obC5zdGF0ZU5vZGUsdC5zdGF0ZU5vZGUpLCFvaSh0KSk7KXQ9dC5yZXR1cm59ZnVuY3Rpb24gUWUobCl7Zm9yKHZhciB0PWwucmV0dXJuO3QhPT1udWxsJiYoeWkodCkmJmJzKGwuc3RhdGVOb2RlLHQuc3RhdGVOb2RlKSwhb2kodCkpOyl0PXQucmV0dXJufWZ1bmN0aW9uIG9pKGwpe3JldHVybiBsLnRhZz09PTV8fGwudGFnPT09M3x8bC50YWc9PT0yN31mdW5jdGlvbiB5aShsKXtyZXR1cm4gbCYmbC50YWc9PT03JiZsLnN0YXRlTm9kZSE9PW51bGx9ZnVuY3Rpb24gbWkobCl7dmFyIHQ9bC50eXBlLHU9bC5tZW1vaXplZFByb3BzLGE9bC5zdGF0ZU5vZGU7dHJ5e2w6c3dpdGNoKHQpe2Nhc2UiYnV0dG9uIjpjYXNlImlucHV0IjpjYXNlInNlbGVjdCI6Y2FzZSJ0ZXh0YXJlYSI6dS5hdXRvRm9jdXMmJmEuZm9jdXMoKTticmVhayBsO2Nhc2UiaW1nIjp1LnNyYz9hLnNyYz11LnNyYzp1LnNyY1NldCYmKGEuc3Jjc2V0PXUuc3JjU2V0KX19Y2F0Y2goZSl7YWwobCxsLnJldHVybixlKX19ZnVuY3Rpb24gZGkobCx0LHUpe3RyeXt2YXIgYT1sLnN0YXRlTm9kZTthcyhhLGwudHlwZSx1LHQpLGFbV2xdPXR9Y2F0Y2goZSl7YWwobCxsLnJldHVybixlKX19ZnVuY3Rpb24gZnkobCl7cmV0dXJuIGwudGFnPT09NXx8bC50YWc9PT0zfHxsLnRhZz09PTI2fHxsLnRhZz09PTI3JiZRdShsLnR5cGUpfHxsLnRhZz09PTR9ZnVuY3Rpb24gc2kobCl7bDpmb3IoOzspe2Zvcig7bC5zaWJsaW5nPT09bnVsbDspe2lmKGwucmV0dXJuPT09bnVsbHx8ZnkobC5yZXR1cm4pKXJldHVybiBudWxsO2w9bC5yZXR1cm59Zm9yKGwuc2libGluZy5yZXR1cm49bC5yZXR1cm4sbD1sLnNpYmxpbmc7bC50YWchPT01JiZsLnRhZyE9PTYmJmwudGFnIT09MTg7KXtpZihsLnRhZz09PTI3JiZRdShsLnR5cGUpfHxsLmZsYWdzJjJ8fGwuY2hpbGQ9PT1udWxsfHxsLnRhZz09PTQpY29udGludWUgbDtsLmNoaWxkLnJldHVybj1sLGw9bC5jaGlsZH1pZighKGwuZmxhZ3MmMikpcmV0dXJuIGwuc3RhdGVOb2RlfX1mdW5jdGlvbiBoaShsLHQsdSxhKXt2YXIgZT1sLnRhZztpZihlPT09NXx8ZT09PTYpZT1sLnN0YXRlTm9kZSx0Pyh1Lm5vZGVUeXBlPT09OT91LmJvZHk6dS5ub2RlTmFtZT09PSJIVE1MIj91Lm93bmVyRG9jdW1lbnQuYm9keTp1KS5pbnNlcnRCZWZvcmUoZSx0KToodD11Lm5vZGVUeXBlPT09OT91LmJvZHk6dS5ub2RlTmFtZT09PSJIVE1MIj91Lm93bmVyRG9jdW1lbnQuYm9keTp1LHQuYXBwZW5kQ2hpbGQoZSksdT11Ll9yZWFjdFJvb3RDb250YWluZXIsdSE9bnVsbHx8dC5vbmNsaWNrIT09bnVsbHx8KHQub25jbGljaz1qdCkpLHRmKGwsYSksJD0hMDtlbHNlIGlmKGUhPT00JiYoZT09PTI3JiYodGYobCxhKSxhPW51bGwsUXUobC50eXBlKSYmKHU9bC5zdGF0ZU5vZGUsdD1udWxsKSksbD1sLmNoaWxkLGwhPT1udWxsKSlmb3IoaGkobCx0LHUsYSksbD1sLnNpYmxpbmc7bCE9PW51bGw7KWhpKGwsdCx1LGEpLGw9bC5zaWJsaW5nfWZ1bmN0aW9uIHVmKGwsdCx1LGEpe3ZhciBlPWwudGFnO2lmKGU9PT01fHxlPT09NillPWwuc3RhdGVOb2RlLHQ/dS5pbnNlcnRCZWZvcmUoZSx0KTp1LmFwcGVuZENoaWxkKGUpLHRmKGwsYSksJD0hMDtlbHNlIGlmKGUhPT00JiYoZT09PTI3JiYodGYobCxhKSxhPW51bGwsUXUobC50eXBlKSYmKHU9bC5zdGF0ZU5vZGUpKSxsPWwuY2hpbGQsbCE9PW51bGwpKWZvcih1ZihsLHQsdSxhKSxsPWwuc2libGluZztsIT09bnVsbDspdWYobCx0LHUsYSksbD1sLnNpYmxpbmd9ZnVuY3Rpb24gY3kobCl7dmFyIHQ9bC5zdGF0ZU5vZGUsdT1sLm1lbW9pemVkUHJvcHM7dHJ5e2Zvcih2YXIgYT1sLnR5cGUsZT10LmF0dHJpYnV0ZXM7ZS5sZW5ndGg7KXQucmVtb3ZlQXR0cmlidXRlTm9kZShlWzBdKTtqbCh0LGEsdSksdFtxbF09bCx0W1dsXT11fWNhdGNoKG4pe2FsKGwsbC5yZXR1cm4sbil9fXZhciBhZj0hMSxvdD1udWxsO2Z1bmN0aW9uIGl5KGwpeyhsLnRhZz09PTMwfHwobC5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzIpIT09MCkmJihhZj0hMCl9dmFyIHB0PW51bGw7ZnVuY3Rpb24gdnkoKXt2YXIgbD1wdDtyZXR1cm4gcHQ9bnVsbCxsfXZhciBGbD0wO2Z1bmN0aW9uIFZhKGwsdCx1LGEsZSl7cmV0dXJuIEZsPTAsb3kobC5jaGlsZCx0LHUsYSxlKX1mdW5jdGlvbiBveShsLHQsdSxhLGUpe2Zvcih2YXIgbj0hMTtsIT09bnVsbDspe2lmKGwudGFnPT09NSl7dmFyIGY9bC5zdGF0ZU5vZGU7aWYoYSE9PW51bGwpe3ZhciBjPWtpKGYpO2EucHVzaChjKSxjLnZpZXcmJihuPSEwKX1lbHNlIG58fGtpKGYpLnZpZXcmJihuPSEwKTthZj0hMCx2bShmLEZsPT09MD90OnQrIl8iK0ZsLHUpLEZsKyt9ZWxzZShsLnRhZyE9PTIyfHxsLm1lbW9pemVkU3RhdGU9PT1udWxsKSYmKGwudGFnPT09MzAmJmV8fG95KGwuY2hpbGQsdCx1LGEsZSkmJihuPSEwKSk7bD1sLnNpYmxpbmd9cmV0dXJuIG59ZnVuY3Rpb24geHQobCx0KXtmb3IoO2whPT1udWxsOylsLnRhZz09PTU/b20obC5zdGF0ZU5vZGUsbC5tZW1vaXplZFByb3BzKToobC50YWchPT0yMnx8bC5tZW1vaXplZFN0YXRlPT09bnVsbCkmJihsLnRhZz09PTMwJiZ0fHx4dChsLmNoaWxkLHQpKSxsPWwuc2libGluZ31mdW5jdGlvbiBlZihsKXtpZigobC5zdWJ0cmVlRmxhZ3MmMTg4NzQzNjgpIT09MClmb3IobD1sLmNoaWxkO2whPT1udWxsOyl7aWYoKGwudGFnIT09MjJ8fGwubWVtb2l6ZWRTdGF0ZT09PW51bGwpJiYoZWYobCksbC50YWc9PT0zMCYmKGwuZmxhZ3MmMTg4NzQzNjgpIT09MCYmbC5zdGF0ZU5vZGUucGFpcmVkKSl7dmFyIHQ9bC5tZW1vaXplZFByb3BzO2lmKHQubmFtZT09bnVsbHx8dC5uYW1lPT09ImF1dG8iKXRocm93IEVycm9yKFMoNTQ0KSk7dmFyIHU9dC5uYW1lO3Q9dXUodC5kZWZhdWx0LHQuc2hhcmUpLHQhPT0ibm9uZSImJihWYShsLHUsdCxudWxsLCExKXx8eHQobC5jaGlsZCwhMSkpfWw9bC5zaWJsaW5nfX1mdW5jdGlvbiBnaShsLHQpe2lmKGwudGFnPT09MzApe3ZhciB1PWwuc3RhdGVOb2RlLGE9bC5tZW1vaXplZFByb3BzLGU9dHUoYSx1KSxuPXV1KGEuZGVmYXVsdCx1LnBhaXJlZD9hLnNoYXJlOmEuZW50ZXIpO24hPT0ibm9uZSI/VmEobCxlLG4sbnVsbCwhMSk/KGVmKGwpLHUucGFpcmVkfHx0fHwkYShsLGEub25FbnRlcikpOnh0KGwuY2hpbGQsITEpOmVmKGwpfWVsc2UgaWYoKGwuc3VidHJlZUZsYWdzJjMzNTU0NDMyKSE9PTApZm9yKGw9bC5jaGlsZDtsIT09bnVsbDspZ2kobCx0KSxsPWwuc2libGluZztlbHNlIGVmKGwpfWZ1bmN0aW9uIFNpKGwpe2lmKG90IT09bnVsbCYmb3Quc2l6ZSE9PTApe3ZhciB0PW90O2lmKChsLnN1YnRyZWVGbGFncyYxODg3NDM2OCkhPT0wKWZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KXtpZihsLnRhZyE9PTIyfHxsLm1lbW9pemVkU3RhdGU9PT1udWxsKXtpZihsLnRhZz09PTMwJiYobC5mbGFncyYxODg3NDM2OCkhPT0wKXt2YXIgdT1sLm1lbW9pemVkUHJvcHMsYT11Lm5hbWU7aWYoYSE9bnVsbCYmYSE9PSJhdXRvIil7dmFyIGU9dC5nZXQoYSk7aWYoZSE9PXZvaWQgMCl7dmFyIG49dXUodS5kZWZhdWx0LHUuc2hhcmUpO2lmKG4hPT0ibm9uZSImJihWYShsLGEsbixudWxsLCExKT8obj1sLnN0YXRlTm9kZSxlLnBhaXJlZD1uLG4ucGFpcmVkPWUsJGEobCx1Lm9uU2hhcmUpKTp4dChsLmNoaWxkLCExKSksdC5kZWxldGUoYSksdC5zaXplPT09MClicmVha319fVNpKGwpfWw9bC5zaWJsaW5nfX19ZnVuY3Rpb24gcmkobCl7aWYobC50YWc9PT0zMCl7dmFyIHQ9bC5tZW1vaXplZFByb3BzLHU9dHUodCxsLnN0YXRlTm9kZSksYT1vdCE9PW51bGw/b3QuZ2V0KHUpOnZvaWQgMCxlPXV1KHQuZGVmYXVsdCxhIT09dm9pZCAwP3Quc2hhcmU6dC5leGl0KTtlIT09Im5vbmUiJiYoVmEobCx1LGUsbnVsbCwhMSk/YSE9PXZvaWQgMD8oZT1sLnN0YXRlTm9kZSxhLnBhaXJlZD1lLGUucGFpcmVkPWEsb3QuZGVsZXRlKHUpLCRhKGwsdC5vblNoYXJlKSk6JGEobCx0Lm9uRXhpdCk6eHQobC5jaGlsZCwhMSkpLG90IT09bnVsbCYmU2kobCl9ZWxzZSBpZigobC5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzIpIT09MClmb3IobD1sLmNoaWxkO2whPT1udWxsOylyaShsKSxsPWwuc2libGluZztlbHNlIG90IT09bnVsbCYmU2kobCl9ZnVuY3Rpb24geXkobCl7Zm9yKGw9bC5jaGlsZDtsIT09bnVsbDspe2lmKGwudGFnPT09MzApe3ZhciB0PWwubWVtb2l6ZWRQcm9wcyx1PXR1KHQsbC5zdGF0ZU5vZGUpO3Q9dXUodC5kZWZhdWx0LHQudXBkYXRlKSxsLmZsYWdzJj0tNSx0IT09Im5vbmUiJiZWYShsLHUsdCxsLm1lbW9pemVkU3RhdGU9W10sITEpfWVsc2UobC5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzIpIT09MCYmeXkobCk7bD1sLnNpYmxpbmd9fWZ1bmN0aW9uIFRpKGwpe2lmKChsLnN1YnRyZWVGbGFncyYxODg3NDM2OCkhPT0wKWZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KXtpZihsLnRhZyE9PTIyfHxsLm1lbW9pemVkU3RhdGU9PT1udWxsKXtpZihsLnRhZz09PTMwJiYobC5mbGFncyYxODg3NDM2OCkhPT0wKXt2YXIgdD1sLnN0YXRlTm9kZTt0LnBhaXJlZCE9PW51bGwmJih0LnBhaXJlZD1udWxsLHh0KGwuY2hpbGQsITEpKX1UaShsKX1sPWwuc2libGluZ319ZnVuY3Rpb24gbmYobCl7aWYobC50YWc9PT0zMClsLnN0YXRlTm9kZS5wYWlyZWQ9bnVsbCx4dChsLmNoaWxkLCExKSxUaShsKTtlbHNlIGlmKChsLnN1YnRyZWVGbGFncyYzMzU1NDQzMikhPT0wKWZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KW5mKGwpLGw9bC5zaWJsaW5nO2Vsc2UgVGkobCl9ZnVuY3Rpb24gbXkobCl7Zm9yKGw9bC5jaGlsZDtsIT09bnVsbDspbC50YWc9PT0zMD94dChsLmNoaWxkLCExKToobC5zdWJ0cmVlRmxhZ3MmMzM1NTQ0MzIpIT09MCYmbXkobCksbD1sLnNpYmxpbmd9ZnVuY3Rpb24gRWkobCx0LHUsYSxlLG4sZil7Zm9yKHZhciBjPSExO3QhPT1udWxsOyl7aWYodC50YWc9PT01KXt2YXIgaT10LnN0YXRlTm9kZTtpZihuIT09bnVsbCYmRmw8bi5sZW5ndGgpe3ZhciBkPW5bRmxdLGc9a2koaSk7KGQudmlld3x8Zy52aWV3KSYmKGM9ITApO3ZhciBFO2lmKEU9KGwuZmxhZ3MmNCk9PT0wKWlmKGcuY2xpcClFPSEwO2Vsc2V7RT1kLnJlY3Q7dmFyIHk9Zy5yZWN0O0U9RS55IT09eS55fHxFLnghPT15Lnh8fEUuaGVpZ2h0IT09eS5oZWlnaHR8fEUud2lkdGghPT15LndpZHRofUUmJihsLmZsYWdzfD00KSxnLmFicz9nPSFkLmFiczooZD1kLnJlY3QsZz1nLnJlY3QsZz1kLmhlaWdodCE9PWcuaGVpZ2h0fHxkLndpZHRoIT09Zy53aWR0aCksZyYmKGwuZmxhZ3N8PTMyKX1lbHNlIGwuZmxhZ3N8PTMyOyhsLmZsYWdzJjQpIT09MCYmdm0oaSxGbD09PTA/dTp1KyJfIitGbCxlKSxjJiYobC5mbGFncyY0KSE9PTB8fChwdD09PW51bGwmJihwdD1bXSkscHQucHVzaChpLEZsPT09MD9hOmErIl8iK0ZsLHQubWVtb2l6ZWRQcm9wcykpLEZsKyt9ZWxzZSh0LnRhZyE9PTIyfHx0Lm1lbW9pemVkU3RhdGU9PT1udWxsKSYmKHQudGFnPT09MzAmJmY/bC5mbGFnc3w9dC5mbGFncyYzMjpFaShsLHQuY2hpbGQsdSxhLGUsbixmKSYmKGM9ITApKTt0PXQuc2libGluZ31yZXR1cm4gY31mdW5jdGlvbiBkeShsLHQpe2ZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KXtpZihsLnRhZz09PTMwKXt2YXIgdT1sLm1lbW9pemVkUHJvcHMsYT1sLnN0YXRlTm9kZSxlPXR1KHUsYSksbj11dSh1LmRlZmF1bHQsdS51cGRhdGUpLGY7Zj1sLm1lbW9pemVkU3RhdGUsbC5tZW1vaXplZFN0YXRlPW51bGwsYT1sO3ZhciBjPWwuY2hpbGQ7Rmw9MCxlPUVpKGEsYyxlLGUsbixmLCExKSwobC5mbGFncyY0KSE9PTAmJmUmJiRhKGwsdS5vblVwZGF0ZSl9ZWxzZShsLnN1YnRyZWVGbGFncyYzMzU1NDQzMikhPT0wJiZkeShsKTtsPWwuc2libGluZ319dmFyIENsPSExLGxsPSExLEt0PSExLHppPSExLHN5PXR5cGVvZiBXZWFrU2V0PT0iZnVuY3Rpb24iP1dlYWtTZXQ6U2V0LFJsPW51bGwsSnQ9ITEsamU9ITEsZmY9ITEsYmk9ITE7ZnVuY3Rpb24gSGQobCx0LHUpe2lmKGw9bC5jb250YWluZXJJbmZvLHdpPW5lLGw9U3YobCksaWMobCkpe2lmKCJzZWxlY3Rpb25TdGFydCJpbiBsKXZhciBhPXtzdGFydDpsLnNlbGVjdGlvblN0YXJ0LGVuZDpsLnNlbGVjdGlvbkVuZH07ZWxzZSBsOnthPShhPWwub3duZXJEb2N1bWVudCkmJmEuZGVmYXVsdFZpZXd8fHdpbmRvdzt2YXIgZT1hLmdldFNlbGVjdGlvbiYmYS5nZXRTZWxlY3Rpb24oKTtpZihlJiZlLnJhbmdlQ291bnQhPT0wKXthPWUuYW5jaG9yTm9kZTt2YXIgbj1lLmFuY2hvck9mZnNldCxmPWUuZm9jdXNOb2RlO2U9ZS5mb2N1c09mZnNldDt0cnl7YS5ub2RlVHlwZSxmLm5vZGVUeXBlfWNhdGNoe2E9bnVsbDticmVhayBsfXZhciBjPTAsaT0tMSxkPS0xLGc9MCxFPTAseT1sLGg9bnVsbDt0OmZvcig7Oyl7Zm9yKHZhciBiO3khPT1hfHxuIT09MCYmeS5ub2RlVHlwZSE9PTN8fChpPWMrbikseSE9PWZ8fGUhPT0wJiZ5Lm5vZGVUeXBlIT09M3x8KGQ9YytlKSx5Lm5vZGVUeXBlPT09MyYmKGMrPXkubm9kZVZhbHVlLmxlbmd0aCksKGI9eS5maXJzdENoaWxkKSE9PW51bGw7KWg9eSx5PWI7Zm9yKDs7KXtpZih5PT09bClicmVhayB0O2lmKGg9PT1hJiYrK2c9PT1uJiYoaT1jKSxoPT09ZiYmKytFPT09ZSYmKGQ9YyksKGI9eS5uZXh0U2libGluZykhPT1udWxsKWJyZWFrO3k9aCxoPXkucGFyZW50Tm9kZX15PWJ9YT1pPT09LTF8fGQ9PT0tMT9udWxsOntzdGFydDppLGVuZDpkfX1lbHNlIGE9bnVsbH1hPWF8fHtzdGFydDowLGVuZDowfX1lbHNlIGE9bnVsbDtmb3IoV2k9e2ZvY3VzZWRFbGVtOmwsc2VsZWN0aW9uUmFuZ2U6YX0sbmU9ITEsdT0odSYzMzU1NDQwNjQpPT09dSxSbD10LHQ9dT85MjcwOjEwMjQ7UmwhPT1udWxsOyl7aWYobD1SbCx1JiYoYT1sLmRlbGV0aW9ucyxhIT09bnVsbCkpZm9yKG49MDtuPGEubGVuZ3RoO24rKyl1JiZyaShhW25dKTtpZihsLmFsdGVybmF0ZT09PW51bGwmJihsLmZsYWdzJjIpIT09MCl1JiZpeShsKSxjZih1KTtlbHNle2lmKGwudGFnPT09MjIpe2lmKGE9bC5hbHRlcm5hdGUsbC5tZW1vaXplZFN0YXRlIT09bnVsbCl7YSE9PW51bGwmJmEubWVtb2l6ZWRTdGF0ZT09PW51bGwmJnUmJnJpKGEpLGNmKHUpO2NvbnRpbnVlfWVsc2UgaWYoYSE9PW51bGwmJmEubWVtb2l6ZWRTdGF0ZSE9PW51bGwpe3UmJml5KGwpLGNmKHUpO2NvbnRpbnVlfX1hPWwuY2hpbGQsKGwuc3VidHJlZUZsYWdzJnQpIT09MCYmYSE9PW51bGw/KGEucmV0dXJuPWwsUmw9YSk6KHUmJnl5KGwpLGNmKHUpKX19b3Q9bnVsbH1mdW5jdGlvbiBjZihsKXtmb3IoO1JsIT09bnVsbDspe3ZhciB0PVJsLHU9bCxhPXQuYWx0ZXJuYXRlLGU9dC5mbGFncztzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6YnJlYWs7Y2FzZSAxOmlmKChlJjEwMjQpIT09MCYmYSE9PW51bGwpe3U9dm9pZCAwLGU9YS5tZW1vaXplZFByb3BzLGE9YS5tZW1vaXplZFN0YXRlO3ZhciBuPXQuc3RhdGVOb2RlO3RyeXt2YXIgZj1vYSh0LnR5cGUsZSk7dT1uLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKGYsYSksbi5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT11fWNhdGNoKGMpe2FsKHQsdC5yZXR1cm4sYyl9fWJyZWFrO2Nhc2UgMzppZigoZSYxMDI0KSE9PTApe2lmKGE9dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyx1PWEubm9kZVR5cGUsdT09PTkpdDAoYSk7ZWxzZSBpZih1PT09MSlzd2l0Y2goYS5ub2RlTmFtZSl7Y2FzZSJIRUFEIjpjYXNlIkhUTUwiOmNhc2UiQk9EWSI6dDAoYSk7YnJlYWs7ZGVmYXVsdDphLnRleHRDb250ZW50PSIifX1icmVhaztjYXNlIDU6Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNjpjYXNlIDQ6Y2FzZSAxNzpicmVhaztjYXNlIDMwOnUmJmEhPT1udWxsJiYodT10dShhLm1lbW9pemVkUHJvcHMsYS5zdGF0ZU5vZGUpLGU9dC5tZW1vaXplZFByb3BzLGU9dXUoZS5kZWZhdWx0LGUudXBkYXRlKSxlIT09Im5vbmUiJiZWYShhLHUsZSxhLm1lbW9pemVkU3RhdGU9W10sITApKTticmVhaztkZWZhdWx0OmlmKChlJjEwMjQpIT09MCl0aHJvdyBFcnJvcihTKDE2MykpfWlmKGE9dC5zaWJsaW5nLGEhPT1udWxsKXthLnJldHVybj10LnJldHVybixSbD1hO2JyZWFrfVJsPXQucmV0dXJufX1mdW5jdGlvbiBoeShsLHQsdSl7dmFyIGE9dS5mbGFncztzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6d3QobCx1KSxhJjQmJlhlKDUsdSk7YnJlYWs7Y2FzZSAxOmlmKHd0KGwsdSksYSY0KWlmKGw9dS5zdGF0ZU5vZGUsdD09PW51bGwpdHJ5e2wuY29tcG9uZW50RGlkTW91bnQoKX1jYXRjaChmKXthbCh1LHUucmV0dXJuLGYpfWVsc2V7dmFyIGU9b2EodS50eXBlLHQubWVtb2l6ZWRQcm9wcyk7dD10Lm1lbW9pemVkU3RhdGU7dHJ5e2wuY29tcG9uZW50RGlkVXBkYXRlKGUsdCxsLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKX1jYXRjaChmKXthbCh1LHUucmV0dXJuLGYpfX1hJjY0JiZheSh1KSxhJjUxMiYmTHQodSx1LnJldHVybik7YnJlYWs7Y2FzZSAzOmlmKHd0KGwsdSksYSY2NCYmKGw9dS51cGRhdGVRdWV1ZSxsIT09bnVsbCkpe2lmKHQ9bnVsbCx1LmNoaWxkIT09bnVsbClzd2l0Y2godS5jaGlsZC50YWcpe2Nhc2UgMjc6Y2FzZSA1OnQ9dS5jaGlsZC5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAxOnQ9dS5jaGlsZC5zdGF0ZU5vZGV9dHJ5e0t2KGwsdCl9Y2F0Y2goZil7YWwodSx1LnJldHVybixmKX19YnJlYWs7Y2FzZSAyNzp0PT09bnVsbCYmYSY0JiZjeSh1KTtjYXNlIDI2OmNhc2UgNTp3dChsLHUpLHQ9PT1udWxsJiZhJjQmJm1pKHUpLGEmNTEyJiZMdCh1LHUucmV0dXJuKTticmVhaztjYXNlIDEyOnd0KGwsdSk7YnJlYWs7Y2FzZSAzMTp3dChsLHUpLGEmNCYmVHkobCx1KTticmVhaztjYXNlIDEzOnd0KGwsdSksYSY0JiZFeShsLHUpLGEmNjQmJihsPXUubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCYmKGw9bC5kZWh5ZHJhdGVkLGwhPT1udWxsJiYodT14ZC5iaW5kKG51bGwsdSksQXMobCx1KSkpKTticmVhaztjYXNlIDIyOmlmKGE9dS5tZW1vaXplZFN0YXRlIT09bnVsbHx8Q2wsIWEpe3ZhciBuPXQhPT1udWxsJiZ0Lm1lbW9pemVkU3RhdGUhPT1udWxsfHxsbDt0PUNsLGU9bGwsQ2w9YSwobGw9bikmJiFlPyhhPTIsKHUuc3VidHJlZUZsYWdzJjg3NzIpIT09MCYmKGF8PTEpLFJ0KGwsdSxhKSk6d3QobCx1KSxDbD10LGxsPWV9YnJlYWs7Y2FzZSAzMDp3dChsLHUpLGEmNTEyJiZMdCh1LHUucmV0dXJuKTticmVhaztjYXNlIDc6YSY1MTImJkx0KHUsdS5yZXR1cm4pO2RlZmF1bHQ6d3QobCx1KX19ZnVuY3Rpb24gX2kobCx0KXtmb3IobD1sLmNoaWxkO2whPT1udWxsOylneShsLHQpLGw9bC5zaWJsaW5nfWZ1bmN0aW9uIGd5KGwsdCl7c3dpdGNoKGwudGFnKXtjYXNlIDU6Y2FzZSAyNjp0cnl7dmFyIHU9bC5zdGF0ZU5vZGU7aWYodCl7dmFyIGE9dS5zdHlsZTt0eXBlb2YgYS5zZXRQcm9wZXJ0eT09ImZ1bmN0aW9uIj9hLnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOmEuZGlzcGxheT0ibm9uZSJ9ZWxzZXt2YXIgZT1sLnN0YXRlTm9kZSxuPWwubWVtb2l6ZWRQcm9wcy5zdHlsZSxmPW4hPW51bGwmJm4uaGFzT3duUHJvcGVydHkoImRpc3BsYXkiKT9uLmRpc3BsYXk6bnVsbDtlLnN0eWxlLmRpc3BsYXk9Zj09bnVsbHx8dHlwZW9mIGY9PSJib29sZWFuIj8iIjooIiIrZikudHJpbSgpfX1jYXRjaChpKXthbChsLGwucmV0dXJuLGkpfU9pKGwsdCk7YnJlYWs7Y2FzZSA2OnRyeXtsLnN0YXRlTm9kZS5ub2RlVmFsdWU9dD8iIjpsLm1lbW9pemVkUHJvcHMsJD0hMH1jYXRjaChpKXthbChsLGwucmV0dXJuLGkpfWJyZWFrO2Nhc2UgMTg6dHJ5e3ZhciBjPWwuc3RhdGVOb2RlO3Q/aW0oYywhMCk6aW0obC5zdGF0ZU5vZGUsITEpfWNhdGNoKGkpe2FsKGwsbC5yZXR1cm4saSl9YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOmwubWVtb2l6ZWRTdGF0ZT09PW51bGwmJl9pKGwsdCk7YnJlYWs7ZGVmYXVsdDpfaShsLHQpfX1mdW5jdGlvbiBPaShsLHQpe2lmKGwuc3VidHJlZUZsYWdzJjY3MTA4ODY0KWZvcihsPWwuY2hpbGQ7bCE9PW51bGw7KXtsOnt2YXIgdT1sLGE9dDtzd2l0Y2godS50YWcpe2Nhc2UgNDpneSh1LGEpO2JyZWFrIGw7Y2FzZSAyMjp1Lm1lbW9pemVkU3RhdGU9PT1udWxsJiZPaSh1LGEpO2JyZWFrIGw7ZGVmYXVsdDpPaSh1LGEpfX1sPWwuc2libGluZ319ZnVuY3Rpb24gU3kobCl7dmFyIHQ9bC5hbHRlcm5hdGU7dCE9PW51bGwmJihsLmFsdGVybmF0ZT1udWxsLFN5KHQpKSxsLmNoaWxkPW51bGwsbC5kZWxldGlvbnM9bnVsbCxsLnNpYmxpbmc9bnVsbCxsLnRhZz09PTUmJih0PWwuc3RhdGVOb2RlLHQhPT1udWxsJiZtbih0KSksbC5zdGF0ZU5vZGU9bnVsbCxsLnJldHVybj1udWxsLGwuZGVwZW5kZW5jaWVzPW51bGwsbC5tZW1vaXplZFByb3BzPW51bGwsbC5tZW1vaXplZFN0YXRlPW51bGwsbC5wZW5kaW5nUHJvcHM9bnVsbCxsLnN0YXRlTm9kZT1udWxsLGwudXBkYXRlUXVldWU9bnVsbH12YXIgZGw9bnVsbCxJbD0hMTtmdW5jdGlvbiBVdChsLHQsdSl7Zm9yKHU9dS5jaGlsZDt1IT09bnVsbDspcnkobCx0LHUpLHU9dS5zaWJsaW5nfWZ1bmN0aW9uIHJ5KGwsdCx1KXtpZihudCYmdHlwZW9mIG50Lm9uQ29tbWl0RmliZXJVbm1vdW50PT0iZnVuY3Rpb24iKXRyeXtudC5vbkNvbW1pdEZpYmVyVW5tb3VudChpZSx1KX1jYXRjaHt9c3dpdGNoKHUudGFnKXtjYXNlIDI2OmxsfHxRbCh1LHQpLFV0KGwsdCx1KSx1Lm1lbW9pemVkU3RhdGU/dS5tZW1vaXplZFN0YXRlLmNvdW50LS06dS5zdGF0ZU5vZGUmJiFsbCYmKHU9dS5zdGF0ZU5vZGUsdS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHUpKTticmVhaztjYXNlIDI3OmxsfHxRbCh1LHQpLFFlKHUpO3ZhciBhPWRsLGU9SWw7UXUodS50eXBlKSYmKGRsPXUuc3RhdGVOb2RlLElsPSExKSxVdChsLHQsdSksYm0odS5zdGF0ZU5vZGUsdS50eXBlLHUubWVtb2l6ZWRQcm9wcyksZGw9YSxJbD1lO2JyZWFrO2Nhc2UgNTpsbHx8UWwodSx0KSxRZSh1KTtjYXNlIDY6aWYodS50YWc9PT02JiZRZSh1KSxhPWRsLGU9SWwsZGw9bnVsbCxVdChsLHQsdSksZGw9YSxJbD1lLGRsIT09bnVsbClpZihJbCl0cnl7KGRsLm5vZGVUeXBlPT09OT9kbC5ib2R5OmRsLm5vZGVOYW1lPT09IkhUTUwiP2RsLm93bmVyRG9jdW1lbnQuYm9keTpkbCkucmVtb3ZlQ2hpbGQodS5zdGF0ZU5vZGUpLCQ9ITB9Y2F0Y2gobil7YWwodSx0LG4pfWVsc2UgdHJ5e2RsLnJlbW92ZUNoaWxkKHUuc3RhdGVOb2RlKSwkPSEwfWNhdGNoKG4pe2FsKHUsdCxuKX1icmVhaztjYXNlIDE4OmRsIT09bnVsbCYmKElsPyhsPWRsLGNtKGwubm9kZVR5cGU9PT05P2wuYm9keTpsLm5vZGVOYW1lPT09IkhUTUwiP2wub3duZXJEb2N1bWVudC5ib2R5OmwsdS5zdGF0ZU5vZGUpLGZlKGwpKTpjbShkbCx1LnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDphPWRsLGU9SWwsZGw9dS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxJbD0hMCxVdChsLHQsdSksZGw9YSxJbD1lO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTpSdSgyLHUsdCksbGx8fFJ1KDQsdSx0KSxVdChsLHQsdSk7YnJlYWs7Y2FzZSAxOmxsfHwoUWwodSx0KSxhPXUuc3RhdGVOb2RlLHR5cGVvZiBhLmNvbXBvbmVudFdpbGxVbm1vdW50PT0iZnVuY3Rpb24iJiZleSh1LHQsYSkpLFV0KGwsdCx1KTticmVhaztjYXNlIDIxOlV0KGwsdCx1KTticmVhaztjYXNlIDIyOmxsPShhPWxsKXx8dS5tZW1vaXplZFN0YXRlIT09bnVsbCxVdChsLHQsdSksbGw9YTticmVhaztjYXNlIDMwOlFsKHUsdCksVXQobCx0LHUpO2JyZWFrO2Nhc2UgNzpsbHx8UWwodSx0KSxVdChsLHQsdSk7YnJlYWs7ZGVmYXVsdDpVdChsLHQsdSl9fWZ1bmN0aW9uIFR5KGwsdCl7aWYodC5tZW1vaXplZFN0YXRlPT09bnVsbCYmKGw9dC5hbHRlcm5hdGUsbCE9PW51bGwmJihsPWwubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCkpKXtsPWwuZGVoeWRyYXRlZDt0cnl7ZmUobCl9Y2F0Y2godSl7YWwodCx0LnJldHVybix1KX19fWZ1bmN0aW9uIEV5KGwsdCl7aWYodC5tZW1vaXplZFN0YXRlPT09bnVsbCYmKGw9dC5hbHRlcm5hdGUsbCE9PW51bGwmJihsPWwubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCYmKGw9bC5kZWh5ZHJhdGVkLGwhPT1udWxsKSkpKXRyeXtmZShsKX1jYXRjaCh1KXthbCh0LHQucmV0dXJuLHUpfX1mdW5jdGlvbiBZZChsKXtzd2l0Y2gobC50YWcpe2Nhc2UgMzE6Y2FzZSAxMzpjYXNlIDE5OnZhciB0PWwuc3RhdGVOb2RlO3JldHVybiB0PT09bnVsbCYmKHQ9bC5zdGF0ZU5vZGU9bmV3IHN5KSx0O2Nhc2UgMjI6cmV0dXJuIGw9bC5zdGF0ZU5vZGUsdD1sLl9yZXRyeUNhY2hlLHQ9PT1udWxsJiYodD1sLl9yZXRyeUNhY2hlPW5ldyBzeSksdDtkZWZhdWx0OnRocm93IEVycm9yKFMoNDM1LGwudGFnKSl9fWZ1bmN0aW9uIHZmKGwsdCl7dmFyIHU9WWQobCk7dC5mb3JFYWNoKGZ1bmN0aW9uKGEpe2lmKCF1LmhhcyhhKSl7dS5hZGQoYSk7dmFyIGU9S2QuYmluZChudWxsLGwsYSk7YS50aGVuKGUsZSl9fSl9ZnVuY3Rpb24geGwobCx0LHUpe3ZhciBhPXQuZGVsZXRpb25zO2lmKGEhPT1udWxsKWZvcih2YXIgZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgbj1hW2VdLGY9bCxjPXQsaT1jO2w6Zm9yKDtpIT09bnVsbDspe3N3aXRjaChpLnRhZyl7Y2FzZSAyNzppZihRdShpLnR5cGUpKXtkbD1pLnN0YXRlTm9kZSxJbD0hMTticmVhayBsfWJyZWFrO2Nhc2UgNTpkbD1pLnN0YXRlTm9kZSxJbD0hMTticmVhayBsO2Nhc2UgMzpjYXNlIDQ6ZGw9aS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxJbD0hMDticmVhayBsfWk9aS5yZXR1cm59aWYoZGw9PT1udWxsKXRocm93IEVycm9yKFMoMTYwKSk7cnkoZixjLG4pLGRsPW51bGwsSWw9ITEsZj1uLmFsdGVybmF0ZSxmIT09bnVsbCYmKGYucmV0dXJuPW51bGwpLG4ucmV0dXJuPW51bGx9aWYodC5zdWJ0cmVlRmxhZ3MmMTM4ODYpZm9yKHQ9dC5jaGlsZDt0IT09bnVsbDspenkodCxsLHUpLHQ9dC5zaWJsaW5nfXZhciBDdD1udWxsO2Z1bmN0aW9uIHp5KGwsdCx1KXt2YXIgYT1sLmFsdGVybmF0ZSxlPWwuZmxhZ3M7c3dpdGNoKGwudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWYoZSY0JiYoYT1sLnVwZGF0ZVF1ZXVlLGE9YSE9PW51bGw/YS5ldmVudHM6bnVsbCxhIT09bnVsbCkpZm9yKHZhciBuPTA7bjxhLmxlbmd0aDtuKyspe3ZhciBmPWFbbl07Zi5yZWYuaW1wbD1mLm5leHRJbXBsfXhsKHQsbCx1KSxLbChsKSxlJjQmJihSdSgzLGwsbC5yZXR1cm4pLFhlKDMsbCksUnUoNSxsLGwucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOnhsKHQsbCx1KSxLbChsKSxlJjUxMiYmKGxsfHxhPT09bnVsbHx8UWwoYSxhLnJldHVybikpLGUmNjQmJkNsJiYobD1sLnVwZGF0ZVF1ZXVlLGwhPT1udWxsJiYodD1sLmNhbGxiYWNrcyx0IT09bnVsbCYmKHU9bC5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzLGwuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcz11PT09bnVsbD90OnUuY29uY2F0KHQpKSkpO2JyZWFrO2Nhc2UgMjY6aWYobj1DdCx4bCh0LGwsdSksS2wobCksZSY1MTImJihsbHx8YT09PW51bGx8fFFsKGEsYS5yZXR1cm4pKSxlJjQpaWYoZT1hIT09bnVsbD9hLm1lbW9pemVkU3RhdGU6bnVsbCx1PWwubWVtb2l6ZWRTdGF0ZSxhPT09bnVsbClpZih1PT09bnVsbClpZihsLnN0YXRlTm9kZT09PW51bGwpaWYoQ2wpbC5zdGF0ZU5vZGU9ZW0obC50eXBlLGwubWVtb2l6ZWRQcm9wcyx0LmNvbnRhaW5lckluZm8sbCk7ZWxzZXtsOnt0PWwudHlwZSx1PWwubWVtb2l6ZWRQcm9wcyxlPW4ub3duZXJEb2N1bWVudHx8bjt0OnN3aXRjaCh0KXtjYXNlInRpdGxlIjphPWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRpdGxlIilbMF0sKCFhfHxhW3llXXx8YVtxbF18fGEubmFtZXNwYWNlVVJJPT09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnInx8YS5oYXNBdHRyaWJ1dGUoIml0ZW1wcm9wIikpJiYoYT1lLmNyZWF0ZUVsZW1lbnQodCksZS5oZWFkLmluc2VydEJlZm9yZShhLGUucXVlcnlTZWxlY3RvcigiaGVhZCA+IHRpdGxlIikpKSxqbChhLHQsdSksYVtxbF09bCxNbChhKSx0PWE7YnJlYWsgbDtjYXNlImxpbmsiOmlmKG49TW0oImxpbmsiLCJocmVmIixlKS5nZXQodCsodS5ocmVmfHwiIikpKXtmb3IoZj0wO2Y8bi5sZW5ndGg7ZisrKWlmKGE9bltmXSxhLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09KHUuaHJlZj09bnVsbHx8dS5ocmVmPT09IiI/bnVsbDp1LmhyZWYpJiZhLmdldEF0dHJpYnV0ZSgicmVsIik9PT0odS5yZWw9PW51bGw/bnVsbDp1LnJlbCkmJmEuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpPT09KHUudGl0bGU9PW51bGw/bnVsbDp1LnRpdGxlKSYmYS5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik9PT0odS5jcm9zc09yaWdpbj09bnVsbD9udWxsOnUuY3Jvc3NPcmlnaW4pKXtuLnNwbGljZShmLDEpO2JyZWFrIHR9fWE9ZS5jcmVhdGVFbGVtZW50KHQpLGpsKGEsdCx1KSxlLmhlYWQuYXBwZW5kQ2hpbGQoYSk7YnJlYWs7Y2FzZSJtZXRhIjppZihuPU1tKCJtZXRhIiwiY29udGVudCIsZSkuZ2V0KHQrKHUuY29udGVudHx8IiIpKSl7Zm9yKGY9MDtmPG4ubGVuZ3RoO2YrKylpZihhPW5bZl0sYS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKT09PSh1LmNvbnRlbnQ9PW51bGw/bnVsbDoiIit1LmNvbnRlbnQpJiZhLmdldEF0dHJpYnV0ZSgibmFtZSIpPT09KHUubmFtZT09bnVsbD9udWxsOnUubmFtZSkmJmEuZ2V0QXR0cmlidXRlKCJwcm9wZXJ0eSIpPT09KHUucHJvcGVydHk9PW51bGw/bnVsbDp1LnByb3BlcnR5KSYmYS5nZXRBdHRyaWJ1dGUoImh0dHAtZXF1aXYiKT09PSh1Lmh0dHBFcXVpdj09bnVsbD9udWxsOnUuaHR0cEVxdWl2KSYmYS5nZXRBdHRyaWJ1dGUoImNoYXJzZXQiKT09PSh1LmNoYXJTZXQ9PW51bGw/bnVsbDp1LmNoYXJTZXQpKXtuLnNwbGljZShmLDEpO2JyZWFrIHR9fWE9ZS5jcmVhdGVFbGVtZW50KHQpLGpsKGEsdCx1KSxlLmhlYWQuYXBwZW5kQ2hpbGQoYSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihTKDQ2OCx0KSl9YVtxbF09bCxNbChhKSx0PWF9bC5zdGF0ZU5vZGU9dH1lbHNlIENsfHxpMChuLGwudHlwZSxsLnN0YXRlTm9kZSk7ZWxzZSBsLnN0YXRlTm9kZT1EbShuLHUsbC5tZW1vaXplZFByb3BzKTtlbHNlIGUhPT11PyhlPT09bnVsbD8odD1hLnN0YXRlTm9kZSx0PT09bnVsbHx8bGx8fHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSk6ZS5jb3VudC0tLHU9PT1udWxsP0NsfHxpMChuLGwudHlwZSxsLnN0YXRlTm9kZSk6RG0obix1LGwubWVtb2l6ZWRQcm9wcykpOnU9PT1udWxsJiZsLnN0YXRlTm9kZSE9PW51bGwmJmRpKGwsbC5tZW1vaXplZFByb3BzLGEubWVtb2l6ZWRQcm9wcyk7YnJlYWs7Y2FzZSAyNzp4bCh0LGwsdSksS2wobCksZSY1MTImJihsbHx8YT09PW51bGx8fFFsKGEsYS5yZXR1cm4pKSxhIT09bnVsbCYmZSY0JiZkaShsLGwubWVtb2l6ZWRQcm9wcyxhLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgNTppZihuPUt0LEt0PSExLHhsKHQsbCx1KSxLdD1uLEtsKGwpLGUmNTEyJiYobGx8fGE9PT1udWxsfHxRbChhLGEucmV0dXJuKSksbC5mbGFncyYzMil7dD1sLnN0YXRlTm9kZTt0cnl7X2EodCwiIiksJD0hMH1jYXRjaChnKXthbChsLGwucmV0dXJuLGcpfX1lJjQmJmwuc3RhdGVOb2RlIT1udWxsJiYodD1sLm1lbW9pemVkUHJvcHMsZGkobCx0LGEhPT1udWxsP2EubWVtb2l6ZWRQcm9wczp0KSksZSYxMDI0JiYoemk9ITApO2JyZWFrO2Nhc2UgNjppZih4bCh0LGwsdSksS2wobCksZSY0KXtpZihsLnN0YXRlTm9kZT09PW51bGwpdGhyb3cgRXJyb3IoUygxNjIpKTt0PWwubWVtb2l6ZWRQcm9wcyx1PWwuc3RhdGVOb2RlO3RyeXt1Lm5vZGVWYWx1ZT10LCQ9ITB9Y2F0Y2goZyl7YWwobCxsLnJldHVybixnKX19YnJlYWs7Y2FzZSAzOmlmKCQ9ITEsT2Y9bnVsbCxuPUN0LEN0PVdlKHQuY29udGFpbmVySW5mbykseGwodCxsLHUpLEN0PW4sS2wobCksZSY0JiZhIT09bnVsbCYmYS5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl0cnl7ZmUodC5jb250YWluZXJJbmZvKX1jYXRjaChnKXthbChsLGwucmV0dXJuLGcpfXppJiYoemk9ITEsYnkobCkpLCQ9ITE7YnJlYWs7Y2FzZSA0OmU9S3QsS3Q9Q2wsYT1WMCgpLG49Q3QsQ3Q9V2UobC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykseGwodCxsLHUpLEtsKGwpLEN0PW4sJCYmamUmJihmZj0hMCksJD1hLEt0PWU7YnJlYWs7Y2FzZSAxMjp4bCh0LGwsdSksS2wobCk7YnJlYWs7Y2FzZSAzMTp4bCh0LGwsdSksS2wobCksZSY0JiYodD1sLnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYobC51cGRhdGVRdWV1ZT1udWxsLHZmKGwsdCkpKTticmVhaztjYXNlIDEzOnhsKHQsbCx1KSxLbChsKSxsLmNoaWxkLmZsYWdzJjgxOTImJmwubWVtb2l6ZWRTdGF0ZSE9PW51bGwhPShhIT09bnVsbCYmYS5tZW1vaXplZFN0YXRlIT09bnVsbCkmJihtZj1ldCgpKSxlJjQmJih0PWwudXBkYXRlUXVldWUsdCE9PW51bGwmJihsLnVwZGF0ZVF1ZXVlPW51bGwsdmYobCx0KSkpO2JyZWFrO2Nhc2UgMjI6bj1sLm1lbW9pemVkU3RhdGUhPT1udWxsLGY9YSE9PW51bGwmJmEubWVtb2l6ZWRTdGF0ZSE9PW51bGw7dmFyIGM9Q2wsaT1sbCxkPUt0O0NsPWN8fG4sS3Q9ZHx8bixsbD1pfHxmLHhsKHQsbCx1KSxsbD1pLEt0PWQsQ2w9YyxLbChsKSxlJjgxOTImJih0PWwuc3RhdGVOb2RlLHQuX3Zpc2liaWxpdHk9bj90Ll92aXNpYmlsaXR5Ji0yOnQuX3Zpc2liaWxpdHl8MSwhbnx8YT09PW51bGx8fGZ8fENsfHxsbHx8KHQ9Znx8bGwsdT1DbCxhPWxsLENsPW58fENsLGxsPXQsSHUobCwyKSxDbD11LGxsPWEpLCFuJiZLdHx8X2kobCxuKSksZSY0JiYodD1sLnVwZGF0ZVF1ZXVlLHQhPT1udWxsJiYodT10LnJldHJ5UXVldWUsdSE9PW51bGwmJih0LnJldHJ5UXVldWU9bnVsbCx2ZihsLHUpKSkpO2JyZWFrO2Nhc2UgMTk6eGwodCxsLHUpLEtsKGwpLGUmNCYmKHQ9bC51cGRhdGVRdWV1ZSx0IT09bnVsbCYmKGwudXBkYXRlUXVldWU9bnVsbCx2ZihsLHQpKSk7YnJlYWs7Y2FzZSAzMDplJjUxMiYmKGxsfHxhPT09bnVsbHx8UWwoYSxhLnJldHVybikpLGU9VjAoKSxuPWplLGY9KHUmMzM1NTQ0MDY0KT09PXUsYz1sLm1lbW9pemVkUHJvcHMsamU9ZiYmdXUoYy5kZWZhdWx0LGMudXBkYXRlKSE9PSJub25lIix4bCh0LGwsdSksS2wobCksZiYmYSE9PW51bGwmJiQmJihsLmZsYWdzfD00KSxqZT1uLCQ9ZTticmVhaztjYXNlIDIxOmJyZWFrO2Nhc2UgNzplJjUxMiYmKGxsfHxhPT09bnVsbHx8UWwoYSxhLnJldHVybikpLGEmJmEuc3RhdGVOb2RlIT09bnVsbCYmKGEuc3RhdGVOb2RlLl9mcmFnbWVudEZpYmVyPWwpO2RlZmF1bHQ6eGwodCxsLHUpLEtsKGwpfX1mdW5jdGlvbiBLbChsKXt2YXIgdD1sLmZsYWdzO2lmKHQmMil7dHJ5e2Zvcih2YXIgdSxhPWwucmV0dXJuO2EhPT1udWxsOyl7aWYoZnkoYSkpe3U9YTticmVha31hPWEucmV0dXJufWE9bnVsbDtmb3IodmFyIGU9bC5yZXR1cm47ZSE9PW51bGw7KXtpZih5aShlKSl7dmFyIG49ZS5zdGF0ZU5vZGU7YT09PW51bGw/YT1bbl06YS5wdXNoKG4pfWlmKG9pKGUpKWJyZWFrO2U9ZS5yZXR1cm59dmFyIGY9YTtpZih1PT1udWxsKXRocm93IEVycm9yKFMoMTYwKSk7c3dpdGNoKHUudGFnKXtjYXNlIDI3OnZhciBjPXUuc3RhdGVOb2RlLGk9c2kobCk7dWYobCxpLGMsZik7YnJlYWs7Y2FzZSA1OnZhciBkPXUuc3RhdGVOb2RlO3UuZmxhZ3MmMzImJihfYShkLCIiKSx1LmZsYWdzJj0tMzMpO3ZhciBnPXNpKGwpO3VmKGwsZyxkLGYpO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6dmFyIEU9dS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyx5PXNpKGwpO2hpKGwseSxFLGYpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoUygxNjEpKX19Y2F0Y2goaCl7YWwobCxsLnJldHVybixoKX1sLmZsYWdzJj0tM310JjQwOTYmJihsLmZsYWdzJj0tNDA5Nyl9ZnVuY3Rpb24gYnkobCl7aWYobC5zdWJ0cmVlRmxhZ3MmMTAyNClmb3IobD1sLmNoaWxkO2whPT1udWxsOyl7dmFyIHQ9bDtieSh0KSx0LnRhZz09PTUmJnQuZmxhZ3MmMTAyNCYmKHQ9dC5zdGF0ZU5vZGUsbmU9ITAsdC5yZXNldCgpLG5lPSExKSxsPWwuc2libGluZ319ZnVuY3Rpb24gTGEobCx0KXtpZih0LnN1YnRyZWVGbGFncyY5MjcwKWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KV95KHQsbCksdD10LnNpYmxpbmc7ZWxzZSBkeSh0KX1mdW5jdGlvbiBfeShsLHQpe3ZhciB1PWwuYWx0ZXJuYXRlO2lmKHU9PT1udWxsKWdpKGwsITEpO2Vsc2Ugc3dpdGNoKGwudGFnKXtjYXNlIDM6aWYoYmk9SnQ9ITEsdnkoKSxMYSh0LGwpLCFKdCYmIWZmKXtpZihsPXB0LGwhPT1udWxsKWZvcih2YXIgYT0wO2E8bC5sZW5ndGg7YSs9Myl7dT1sW2FdO3ZhciBlPWxbYSsxXTtvbSh1LGxbYSsyXSksdT11Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHUhPT1udWxsJiZ1LmFuaW1hdGUoe29wYWNpdHk6WzAsMF0scG9pbnRlckV2ZW50czpbIm5vbmUiLCJub25lIl19LHtkdXJhdGlvbjowLGZpbGw6ImZvcndhcmRzIixwc2V1ZG9FbGVtZW50OiI6OnZpZXctdHJhbnNpdGlvbi1ncm91cCgiK2UrIikifSl9bD10LmNvbnRhaW5lckluZm8sbD1sLm5vZGVUeXBlPT09OT9sLmRvY3VtZW50RWxlbWVudDpsLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGwhPT1udWxsJiZsLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT09PSIiJiYobC5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9Im5vbmUiLGwuYW5pbWF0ZSh7b3BhY2l0eTpbMCwwXSxwb2ludGVyRXZlbnRzOlsibm9uZSIsIm5vbmUiXX0se2R1cmF0aW9uOjAsZmlsbDoiZm9yd2FyZHMiLHBzZXVkb0VsZW1lbnQ6Ijo6dmlldy10cmFuc2l0aW9uLWdyb3VwKHJvb3QpIn0pLGwuYW5pbWF0ZSh7d2lkdGg6WzAsMF0saGVpZ2h0OlswLDBdfSx7ZHVyYXRpb246MCxmaWxsOiJmb3J3YXJkcyIscHNldWRvRWxlbWVudDoiOjp2aWV3LXRyYW5zaXRpb24ifSkpLGJpPSEwfXB0PW51bGw7YnJlYWs7Y2FzZSA1OkxhKHQsbCk7YnJlYWs7Y2FzZSA0OmE9SnQsSnQ9ITEsTGEodCxsKSxKdCYmKGZmPSEwKSxKdD1hO2JyZWFrO2Nhc2UgMjI6bC5tZW1vaXplZFN0YXRlPT09bnVsbCYmKHUubWVtb2l6ZWRTdGF0ZSE9PW51bGw/Z2kobCwhMSk6TGEodCxsKSk7YnJlYWs7Y2FzZSAzMDphPUp0LGU9dnkoKSxKdD0hMSxMYSh0LGwpLEp0JiYobC5mbGFnc3w9NCk7dmFyIG49bC5tZW1vaXplZFByb3BzLGY9bC5zdGF0ZU5vZGU7dD10dShuLGYpLGY9dHUodS5tZW1vaXplZFByb3BzLGYpO3ZhciBjPXV1KG4uZGVmYXVsdCxuLnVwZGF0ZSk7Yz09PSJub25lIj90PSExOihuPXUubWVtb2l6ZWRTdGF0ZSx1Lm1lbW9pemVkU3RhdGU9bnVsbCx1PWwuY2hpbGQsRmw9MCx0PUVpKGwsdSx0LGYsYyxuLCEwKSxGbCE9PShuPT09bnVsbD8wOm4ubGVuZ3RoKSYmKGwuZmxhZ3N8PTMyKSksKGwuZmxhZ3MmNCkhPT0wJiZ0PygkYShsLGwubWVtb2l6ZWRQcm9wcy5vblVwZGF0ZSkscHQ9ZSk6ZSE9PW51bGwmJihlLnB1c2guYXBwbHkoZSxwdCkscHQ9ZSksSnQ9KGwuZmxhZ3MmMzIpIT09MD8hMDphO2JyZWFrO2RlZmF1bHQ6TGEodCxsKX19ZnVuY3Rpb24gd3QobCx0KXtpZih0LnN1YnRyZWVGbGFncyY4NzcyKWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KWh5KGwsdC5hbHRlcm5hdGUsdCksdD10LnNpYmxpbmd9ZnVuY3Rpb24gSHUobCx0KXtmb3IobD1sLmNoaWxkO2whPT1udWxsOyl7dmFyIHU9bCxhPXQ7c3dpdGNoKHUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6UnUoNCx1LHUucmV0dXJuKSxIdSh1LGEpO2JyZWFrO2Nhc2UgMTpRbCh1LHUucmV0dXJuKTt2YXIgZT11LnN0YXRlTm9kZTt0eXBlb2YgZS5jb21wb25lbnRXaWxsVW5tb3VudD09ImZ1bmN0aW9uIiYmZXkodSx1LnJldHVybixlKSxIdSh1LGEpO2JyZWFrO2Nhc2UgMjc6KGEmMikhPT0wJiZibSh1LnN0YXRlTm9kZSx1LnR5cGUsdS5tZW1vaXplZFByb3BzKTtjYXNlIDU6UWwodSx1LnJldHVybiksdS50YWchPT01JiZ1LnRhZyE9PTI3fHxRZSh1KSxIdSh1LGEpO2JyZWFrO2Nhc2UgNjpRZSh1KTticmVhaztjYXNlIDI2OlFsKHUsdS5yZXR1cm4pLGU9dS5zdGF0ZU5vZGUsdS5tZW1vaXplZFN0YXRlIT09bnVsbHx8ZT09PW51bGx8fGxsfHxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZSksSHUodSxhKTticmVhaztjYXNlIDIyOnUubWVtb2l6ZWRTdGF0ZT09PW51bGwmJkh1KHUsYSk7YnJlYWs7Y2FzZSAzMDpRbCh1LHUucmV0dXJuKSxIdSh1LGEpO2JyZWFrO2Nhc2UgNzpRbCh1LHUucmV0dXJuKTtkZWZhdWx0Okh1KHUsYSl9bD1sLnNpYmxpbmd9fWZ1bmN0aW9uIFJ0KGwsdCx1KXtmb3IodT0odC5zdWJ0cmVlRmxhZ3MmODc3MikhPT0wP3U6dSYtMix0PXQuY2hpbGQ7dCE9PW51bGw7KXt2YXIgYT10LmFsdGVybmF0ZSxlPWwsbj10LGY9bi5mbGFncyxjPSh1JjEpIT09MDtzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UnQoZSxuLHUpLFhlKDQsbik7YnJlYWs7Y2FzZSAxOmlmKFJ0KGUsbix1KSxhPW4sZT1hLnN0YXRlTm9kZSx0eXBlb2YgZS5jb21wb25lbnREaWRNb3VudD09ImZ1bmN0aW9uIil0cnl7ZS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGcpe2FsKGEsYS5yZXR1cm4sZyl9aWYoYT1uLGU9YS51cGRhdGVRdWV1ZSxlIT09bnVsbCl7dmFyIGk9YS5zdGF0ZU5vZGU7dHJ5e3ZhciBkPWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihkIT09bnVsbClmb3IoZS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsZT0wO2U8ZC5sZW5ndGg7ZSsrKXh2KGRbZV0saSl9Y2F0Y2goZyl7YWwoYSxhLnJldHVybixnKX19YyYmZiY2NCYmYXkobiksTHQobixuLnJldHVybik7YnJlYWs7Y2FzZSAyNzoodSYyKSE9PTAmJmN5KG4pO2Nhc2UgNTpuLnRhZyE9PTUmJm4udGFnIT09Mjd8fG55KG4pLFJ0KGUsbix1KSxjJiZhPT09bnVsbCYmZiY0JiZtaShuKSxMdChuLG4ucmV0dXJuKTticmVhaztjYXNlIDY6bnkobik7YnJlYWs7Y2FzZSAyNjppPW4uc3RhdGVOb2RlLG4ubWVtb2l6ZWRTdGF0ZSE9PW51bGx8fGk9PT1udWxsfHxDbHx8aTAoV2UoaS5vd25lckRvY3VtZW50KSxuLnR5cGUsaSksUnQoZSxuLHUpLGMmJmE9PT1udWxsJiZmJjQmJm1pKG4pLEx0KG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMTI6UnQoZSxuLHUpO2JyZWFrO2Nhc2UgMzE6UnQoZSxuLHUpLGMmJmYmNCYmVHkoZSxuKTticmVhaztjYXNlIDEzOlJ0KGUsbix1KSxjJiZmJjQmJkV5KGUsbik7YnJlYWs7Y2FzZSAyMjpuLm1lbW9pemVkU3RhdGU9PT1udWxsJiZSdChlLG4sdSksTHQobixuLnJldHVybik7YnJlYWs7Y2FzZSAzMDpSdChlLG4sdSksTHQobixuLnJldHVybik7YnJlYWs7Y2FzZSA3Okx0KG4sbi5yZXR1cm4pO2RlZmF1bHQ6UnQoZSxuLHUpfXQ9dC5zaWJsaW5nfX1mdW5jdGlvbiBBaShsLHQpe3ZhciB1PW51bGw7bCE9PW51bGwmJmwubWVtb2l6ZWRTdGF0ZSE9PW51bGwmJmwubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2whPT1udWxsJiYodT1sLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGw9bnVsbCx0Lm1lbW9pemVkU3RhdGUhPT1udWxsJiZ0Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCYmKGw9dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxsIT09dSYmKGwhPW51bGwmJmwucmVmQ291bnQrKyx1IT1udWxsJiZPZSh1KSl9ZnVuY3Rpb24gTmkobCx0KXtsPW51bGwsdC5hbHRlcm5hdGUhPT1udWxsJiYobD10LmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSx0IT09bCYmKHQucmVmQ291bnQrKyxsIT1udWxsJiZPZShsKSl9ZnVuY3Rpb24gT3QobCx0LHUsYSl7dmFyIGU9KHUmMzM1NTQ0MDY0KT09PXU7aWYodC5zdWJ0cmVlRmxhZ3MmKGU/MTAyNjI6MTAyNTYpKWZvcih0PXQuY2hpbGQ7dCE9PW51bGw7KU95KGwsdCx1LGEpLHQ9dC5zaWJsaW5nO2Vsc2UgZSYmbXkodCl9ZnVuY3Rpb24gT3kobCx0LHUsYSl7dmFyIGU9KHUmMzM1NTQ0MDY0KT09PXU7ZSYmdC5hbHRlcm5hdGU9PT1udWxsJiZ0LnJldHVybiE9PW51bGwmJnQucmV0dXJuLmFsdGVybmF0ZSE9PW51bGwmJm5mKHQpO3ZhciBuPXQuZmxhZ3M7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1Ok90KGwsdCx1LGEpLG4mMjA0OCYmWGUoOSx0KTticmVhaztjYXNlIDE6T3QobCx0LHUsYSk7YnJlYWs7Y2FzZSAzOk90KGwsdCx1LGEpLGUmJmJpJiYobD1sLmNvbnRhaW5lckluZm8sbD1sLm5vZGVUeXBlPT09OT9sLmJvZHk6bC5ub2RlTmFtZT09PSJIVE1MIj9sLm93bmVyRG9jdW1lbnQuYm9keTpsLGwuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPT09InJvb3QiJiYobC5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9IiIpLGw9bC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxsIT09bnVsbCYmbC5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9PT0ibm9uZSImJihsLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT0iIikpLG4mMjA0OCYmKG49bnVsbCx0LmFsdGVybmF0ZSE9PW51bGwmJihuPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHQ9dC5tZW1vaXplZFN0YXRlLmNhY2hlLHQhPT1uJiYodC5yZWZDb3VudCsrLG4hPW51bGwmJk9lKG4pKSk7YnJlYWs7Y2FzZSAxMjppZihuJjIwNDgpe090KGwsdCx1LGEpLG49dC5zdGF0ZU5vZGU7dHJ5e3ZhciBmPXQubWVtb2l6ZWRQcm9wcyxjPWYuaWQsaT1mLm9uUG9zdENvbW1pdDt0eXBlb2YgaT09ImZ1bmN0aW9uIiYmaShjLHQuYWx0ZXJuYXRlPT09bnVsbD8ibW91bnQiOiJ1cGRhdGUiLG4ucGFzc2l2ZUVmZmVjdER1cmF0aW9uLC0wKX1jYXRjaChkKXthbCh0LHQucmV0dXJuLGQpfX1lbHNlIE90KGwsdCx1LGEpO2JyZWFrO2Nhc2UgMzE6T3QobCx0LHUsYSk7YnJlYWs7Y2FzZSAxMzpPdChsLHQsdSxhKTticmVhaztjYXNlIDIzOmJyZWFrO2Nhc2UgMjI6Zj10LnN0YXRlTm9kZSxjPXQuYWx0ZXJuYXRlLHQubWVtb2l6ZWRTdGF0ZSE9PW51bGw/KGUmJmMhPT1udWxsJiZjLm1lbW9pemVkU3RhdGU9PT1udWxsJiZuZihjKSxmLl92aXNpYmlsaXR5JjI/T3QobCx0LHUsYSk6WmUobCx0KSk6KGUmJmMhPT1udWxsJiZjLm1lbW9pemVkU3RhdGUhPT1udWxsJiZuZih0KSxmLl92aXNpYmlsaXR5JjI/T3QobCx0LHUsYSk6KGYuX3Zpc2liaWxpdHl8PTIscGEobCx0LHUsYSwodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MHx8ITEpKSksbiYyMDQ4JiZBaShjLHQpO2JyZWFrO2Nhc2UgMjQ6T3QobCx0LHUsYSksbiYyMDQ4JiZOaSh0LmFsdGVybmF0ZSx0KTticmVhaztjYXNlIDMwOmUmJihuPXQuYWx0ZXJuYXRlLG4hPT1udWxsJiYoeHQobi5jaGlsZCwhMCkseHQodC5jaGlsZCwhMCkpKSxPdChsLHQsdSxhKTticmVhaztkZWZhdWx0Ok90KGwsdCx1LGEpfX1mdW5jdGlvbiBwYShsLHQsdSxhLGUpe2ZvcihlPWUmJigodC5zdWJ0cmVlRmxhZ3MmMTAyNTYpIT09MHx8ITEpLHQ9dC5jaGlsZDt0IT09bnVsbDspe3ZhciBuPWwsZj10LGM9dSxpPWEsZD1mLmZsYWdzO3N3aXRjaChmLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNTpwYShuLGYsYyxpLGUpLFhlKDgsZik7YnJlYWs7Y2FzZSAyMzpicmVhaztjYXNlIDIyOnZhciBnPWYuc3RhdGVOb2RlO2YubWVtb2l6ZWRTdGF0ZSE9PW51bGw/Zy5fdmlzaWJpbGl0eSYyP3BhKG4sZixjLGksZSk6WmUobixmKTooZy5fdmlzaWJpbGl0eXw9MixwYShuLGYsYyxpLGUpKSxlJiZkJjIwNDgmJkFpKGYuYWx0ZXJuYXRlLGYpO2JyZWFrO2Nhc2UgMjQ6cGEobixmLGMsaSxlKSxlJiZkJjIwNDgmJk5pKGYuYWx0ZXJuYXRlLGYpO2JyZWFrO2RlZmF1bHQ6cGEobixmLGMsaSxlKX10PXQuc2libGluZ319ZnVuY3Rpb24gWmUobCx0KXtpZih0LnN1YnRyZWVGbGFncyYxMDI1Nilmb3IodD10LmNoaWxkO3QhPT1udWxsOyl7dmFyIHU9bCxhPXQsZT1hLmZsYWdzO3N3aXRjaChhLnRhZyl7Y2FzZSAyMjpaZSh1LGEpLGUmMjA0OCYmQWkoYS5hbHRlcm5hdGUsYSk7YnJlYWs7Y2FzZSAyNDpaZSh1LGEpLGUmMjA0OCYmTmkoYS5hbHRlcm5hdGUsYSk7YnJlYWs7ZGVmYXVsdDpaZSh1LGEpfXQ9dC5zaWJsaW5nfX12YXIgeWE9ODE5MjtmdW5jdGlvbiBtYShsLHQsdSl7aWYobC5zdWJ0cmVlRmxhZ3MmeWEpZm9yKGw9bC5jaGlsZDtsIT09bnVsbDspQXkobCx0LHUpLGw9bC5zaWJsaW5nfWZ1bmN0aW9uIEF5KGwsdCx1KXtzd2l0Y2gobC50YWcpe2Nhc2UgMjY6bWEobCx0LHUpLGwuZmxhZ3MmeWEmJihsLm1lbW9pemVkU3RhdGUhPT1udWxsP2pzKHUsQ3QsbC5tZW1vaXplZFN0YXRlLGwubWVtb2l6ZWRQcm9wcyk6KGw9bC5zdGF0ZU5vZGUsKHQmMzM1NTQ0MTI4KT09PXQmJkhtKHUsbCkpKTticmVhaztjYXNlIDU6bWEobCx0LHUpLGwuZmxhZ3MmeWEmJihsPWwuc3RhdGVOb2RlLCh0JjMzNTU0NDEyOCk9PT10JiZIbSh1LGwpKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciBhPUN0O0N0PVdlKGwuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLG1hKGwsdCx1KSxDdD1hO2JyZWFrO2Nhc2UgMjI6bC5tZW1vaXplZFN0YXRlPT09bnVsbCYmKGE9bC5hbHRlcm5hdGUsYSE9PW51bGwmJmEubWVtb2l6ZWRTdGF0ZSE9PW51bGw/KGE9eWEseWE9MTY3NzcyMTYsbWEobCx0LHUpLHlhPWEpOm1hKGwsdCx1KSk7YnJlYWs7Y2FzZSAzMDppZigobC5mbGFncyZ5YSkhPT0wJiYoYT1sLm1lbW9pemVkUHJvcHMubmFtZSxhIT1udWxsJiZhIT09ImF1dG8iKSl7dmFyIGU9bC5zdGF0ZU5vZGU7ZS5wYWlyZWQ9bnVsbCxvdD09PW51bGwmJihvdD1uZXcgTWFwKSxvdC5zZXQoYSxlKX1tYShsLHQsdSk7YnJlYWs7ZGVmYXVsdDptYShsLHQsdSl9fWZ1bmN0aW9uIE55KGwpe3ZhciB0PWwuYWx0ZXJuYXRlO2lmKHQhPT1udWxsJiYobD10LmNoaWxkLGwhPT1udWxsKSl7dC5jaGlsZD1udWxsO2RvIHQ9bC5zaWJsaW5nLGwuc2libGluZz1udWxsLGw9dDt3aGlsZShsIT09bnVsbCl9fWZ1bmN0aW9uIFZlKGwpe3ZhciB0PWwuZGVsZXRpb25zO2lmKChsLmZsYWdzJjE2KSE9PTApe2lmKHQhPT1udWxsKWZvcih2YXIgdT0wO3U8dC5sZW5ndGg7dSsrKXt2YXIgYT10W3VdO1JsPWEsTXkoYSxsKX1OeShsKX1pZihsLnN1YnRyZWVGbGFncyYxMDI1Nilmb3IobD1sLmNoaWxkO2whPT1udWxsOylEeShsKSxsPWwuc2libGluZ31mdW5jdGlvbiBEeShsKXtzd2l0Y2gobC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6VmUobCksbC5mbGFncyYyMDQ4JiZSdSg5LGwsbC5yZXR1cm4pO2JyZWFrO2Nhc2UgMzpWZShsKTticmVhaztjYXNlIDEyOlZlKGwpO2JyZWFrO2Nhc2UgMjI6dmFyIHQ9bC5zdGF0ZU5vZGU7bC5tZW1vaXplZFN0YXRlIT09bnVsbCYmdC5fdmlzaWJpbGl0eSYyJiYobC5yZXR1cm49PT1udWxsfHxsLnJldHVybi50YWchPT0xMyk/KHQuX3Zpc2liaWxpdHkmPS0zLG9mKGwpKTpWZShsKTticmVhaztkZWZhdWx0OlZlKGwpfX1mdW5jdGlvbiBvZihsKXt2YXIgdD1sLmRlbGV0aW9ucztpZigobC5mbGFncyYxNikhPT0wKXtpZih0IT09bnVsbClmb3IodmFyIHU9MDt1PHQubGVuZ3RoO3UrKyl7dmFyIGE9dFt1XTtSbD1hLE15KGEsbCl9TnkobCl9Zm9yKGw9bC5jaGlsZDtsIT09bnVsbDspe3N3aXRjaCh0PWwsdC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UnUoOCx0LHQucmV0dXJuKSxvZih0KTticmVhaztjYXNlIDIyOnU9dC5zdGF0ZU5vZGUsdS5fdmlzaWJpbGl0eSYyJiYodS5fdmlzaWJpbGl0eSY9LTMsb2YodCkpO2JyZWFrO2RlZmF1bHQ6b2YodCl9bD1sLnNpYmxpbmd9fWZ1bmN0aW9uIE15KGwsdCl7Zm9yKDtSbCE9PW51bGw7KXt2YXIgdT1SbDtzd2l0Y2godS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6UnUoOCx1LHQpO2JyZWFrO2Nhc2UgMjM6Y2FzZSAyMjppZih1Lm1lbW9pemVkU3RhdGUhPT1udWxsJiZ1Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sIT09bnVsbCl7dmFyIGE9dS5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sO2EhPW51bGwmJmEucmVmQ291bnQrK31icmVhaztjYXNlIDI0Ok9lKHUubWVtb2l6ZWRTdGF0ZS5jYWNoZSl9aWYoYT11LmNoaWxkLGEhPT1udWxsKWEucmV0dXJuPXUsUmw9YTtlbHNlIGw6Zm9yKHU9bDtSbCE9PW51bGw7KXthPVJsO3ZhciBlPWEuc2libGluZyxuPWEucmV0dXJuO2lmKFN5KGEpLGE9PT11KXtSbD1udWxsO2JyZWFrIGx9aWYoZSE9PW51bGwpe2UucmV0dXJuPW4sUmw9ZTticmVhayBsfVJsPW59fX12YXIgcWQ9e2dldENhY2hlRm9yVHlwZTpmdW5jdGlvbihsKXt2YXIgdD1CbCh6bCksdT10LmRhdGEuZ2V0KGwpO3JldHVybiB1PT09dm9pZCAwJiYodT1sKCksdC5kYXRhLnNldChsLHUpKSx1fSxjYWNoZVNpZ25hbDpmdW5jdGlvbigpe3JldHVybiBCbCh6bCkuY29udHJvbGxlci5zaWduYWx9fSxCZD10eXBlb2YgV2Vha01hcD09ImZ1bmN0aW9uIj9XZWFrTWFwOk1hcCxrPTAsaWw9bnVsbCxMPW51bGwseD0wLHVsPTAseXQ9bnVsbCxZdT0hMSx4YT0hMSxEaT0hMSx5dT0wLHJsPTAscXU9MCxkYT0wLHlmPTAsbXQ9MCxLYT0wLExlPW51bGwsa2w9bnVsbCxNaT0hMSxtZj0wLFV5PTAsZGY9MS8wLHNmPW51bGwsQnU9bnVsbCxobD0wLEh0PW51bGwsc2E9bnVsbCxXdD0wLFVpPTAsQ2k9bnVsbCxDeT1udWxsLEphPW51bGwsd2E9bnVsbCxXYT1udWxsLHBlPTAsaGY9bnVsbDtmdW5jdGlvbiBkdCgpe3JldHVybihrJjIpIT09MCYmeCE9PTA/eCYteDpOLlQhPT1udWxsP1ppKCk6SDAoKX1mdW5jdGlvbiBSeSgpe2lmKG10PT09MClpZigoeCY1MzY4NzA5MTIpPT09MHx8Wil7dmFyIGw9Y247Y248PD0xLChjbiYzOTMyMTYwKT09PTAmJihjbj0yNjIxNDQpLG10PWx9ZWxzZSBtdD01MzY4NzA5MTI7cmV0dXJuIGw9R2wuY3VycmVudCxsIT09bnVsbCYmKGwuZmxhZ3N8PTMyKSxtdH1mdW5jdGlvbiAkYShsLHQpe2lmKHQhPW51bGwpe3ZhciB1PWwuc3RhdGVOb2RlLGE9dS5yZWY7YT09PW51bGwmJihhPXUucmVmPXltKHR1KGwubWVtb2l6ZWRQcm9wcyx1KSkpLHdhPT09bnVsbCYmKHdhPVtdKSx3YS5wdXNoKHQuYmluZChudWxsLGEpKX19ZnVuY3Rpb24gUGwobCx0LHUpeyhsPT09aWwmJih1bD09PTJ8fHVsPT09OSl8fGwuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGwpJiYoRmEobCwwKSxHdShsLHgsbXQsITEpKSxvZShsLHUpLCgoayYyKT09PTB8fGwhPT1pbCkmJihsPT09aWwmJigoayYyKT09PTAmJihkYXw9dSkscmw9PT00JiZHdShsLHgsbXQsITEpKSwkdChsKSl9ZnVuY3Rpb24gSHkobCx0LHUpe2lmKChrJjYpIT09MCl0aHJvdyBFcnJvcihTKDMyNykpO3ZhciBhPSF1JiYodCYxMjcpPT09MCYmKHQmbC5leHBpcmVkTGFuZXMpPT09MHx8dmUobCx0KSxlPWE/UWQobCx0KTpIaShsLHQsITApLG49YTtkb3tpZihlPT09MCl7eGEmJiFhJiZHdShsLHQsMCwhMSk7YnJlYWt9ZWxzZXtpZih1PWwuY3VycmVudC5hbHRlcm5hdGUsbiYmIUdkKHUpKXtlPUhpKGwsdCwhMSksbj0hMTtjb250aW51ZX1pZihlPT09Mil7aWYobj10LGwuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXMmbil2YXIgZj0wO2Vsc2UgZj1sLnBlbmRpbmdMYW5lcyYtNTM2ODcwOTEzLGY9ZiE9PTA/ZjpmJjUzNjg3MDkxMj81MzY4NzA5MTI6MDtpZihmIT09MCl7dD1mO2w6e3ZhciBjPWw7ZT1MZTt2YXIgaT1jLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQ7aWYoaSYmKEZhKGMsZikuZmxhZ3N8PTI1NiksZj1IaShjLGYsITEpLGYhPT0yJiZmIT09Nil7aWYoRGkmJiFpKXtjLmVycm9yUmVjb3ZlcnlEaXNhYmxlZExhbmVzfD1uLGRhfD1uLGU9NDticmVhayBsfW49a2wsa2w9ZSxuIT09bnVsbCYmKGtsPT09bnVsbD9rbD1uOmtsLnB1c2guYXBwbHkoa2wsbikpfWU9Zn1pZihuPSExLGUhPT0yKWNvbnRpbnVlfX1pZihlPT09MSl7RmEobCwwKSxHdShsLHQsMCwhMCk7YnJlYWt9bDp7c3dpdGNoKGE9bCxuPWUsbil7Y2FzZSAwOmNhc2UgMTp0aHJvdyBFcnJvcihTKDM0NSkpO2Nhc2UgNDppZigodCY0MTk0MDQ4KSE9PXQmJih0JjYyOTE0NTYwKSE9PXQpYnJlYWs7Y2FzZSA2Okd1KGEsdCxtdCwhWXUpO2JyZWFrIGw7Y2FzZSAyOmtsPW51bGw7YnJlYWs7Y2FzZSAzOmNhc2UgNTpicmVhaztkZWZhdWx0OnRocm93IEVycm9yKFMoMzI5KSl9aWYoKHQmNjI5MTQ1NjApPT09dCYmKGU9bWYrMzAwLWV0KCksMTA8ZSkpe2lmKEd1KGEsdCxtdCwhWXUpLG9uKGEsMCwhMCkhPT0wKWJyZWFrIGw7V3Q9dCxhLnRpbWVvdXRIYW5kbGU9SWkoWXkuYmluZChudWxsLGEsdSxrbCxzZixNaSx0LG10LGRhLEthLFl1LG4sIlRocm90dGxlZCIsLTAsMCksZSk7YnJlYWsgbH1ZeShhLHUsa2wsc2YsTWksdCxtdCxkYSxLYSxZdSxuLG51bGwsLTAsMCl9fWJyZWFrfXdoaWxlKCEwKTskdChsKX1mdW5jdGlvbiBZeShsLHQsdSxhLGUsbixmLGMsaSxkLGcsRSx5LGgpe2wudGltZW91dEhhbmRsZT0tMTt2YXIgYj10LnN1YnRyZWVGbGFncyxBPShuJjMzNTU0NDA2NCk9PT1uO2lmKEU9bnVsbCwoQXx8YiY4MTkyfHwoYiYxNjc4NTQwOCk9PT0xNjc4NTQwOCkmJihFPXtzdHlsZXNoZWV0czpudWxsLGNvdW50OjAsaW1nQ291bnQ6MCxpbWdCeXRlczowLHN1c3BlbnNleUltYWdlczpbXSx3YWl0aW5nRm9ySW1hZ2VzOiEwLHdhaXRpbmdGb3JWaWV3VHJhbnNpdGlvbjohMSx1bnN1c3BlbmQ6anR9LG90PW51bGwsQXkodCxuLEUpLEEmJihiPUUsQT1sLmNvbnRhaW5lckluZm8sQT0oQS5ub2RlVHlwZT09PTk/QTpBLm93bmVyRG9jdW1lbnQpLl9fcmVhY3RWaWV3VHJhbnNpdGlvbixBIT1udWxsJiYoYi5jb3VudCsrLGIud2FpdGluZ0ZvclZpZXdUcmFuc2l0aW9uPSEwLGI9SWUuYmluZChiKSxBLmZpbmlzaGVkLnRoZW4oYixiKSkpLGI9KG4mNjI5MTQ1NjApPT09bj9tZi1ldCgpOihuJjQxOTQwNDgpPT09bj9VeS1ldCgpOjAsYj1acyhFLGIpLGIhPT1udWxsKSl7V3Q9bixsLmNhbmNlbFBlbmRpbmdDb21taXQ9YihWeS5iaW5kKG51bGwsbCx0LG4sdSxhLGUsZixjLGksZCxnLEUsbnVsbCx5LGgpKSxHdShsLG4sZiwhZCk7cmV0dXJufVZ5KGwsdCxuLHUsYSxlLGYsYyxpLGQsZyxFKX1mdW5jdGlvbiBHZChsKXtmb3IodmFyIHQ9bDs7KXt2YXIgdT10LnRhZztpZigodT09PTB8fHU9PT0xMXx8dT09PTE1KSYmdC5mbGFncyYxNjM4NCYmKHU9dC51cGRhdGVRdWV1ZSx1IT09bnVsbCYmKHU9dS5zdG9yZXMsdSE9PW51bGwpKSlmb3IodmFyIGE9MDthPHUubGVuZ3RoO2ErKyl7dmFyIGU9dVthXSxuPWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXtpZighaXQobigpLGUpKXJldHVybiExfWNhdGNoe3JldHVybiExfX1pZih1PXQuY2hpbGQsdC5zdWJ0cmVlRmxhZ3MmMTYzODQmJnUhPT1udWxsKXUucmV0dXJuPXQsdD11O2Vsc2V7aWYodD09PWwpYnJlYWs7Zm9yKDt0LnNpYmxpbmc9PT1udWxsOyl7aWYodC5yZXR1cm49PT1udWxsfHx0LnJldHVybj09PWwpcmV0dXJuITA7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX1yZXR1cm4hMH1mdW5jdGlvbiBHdShsLHQsdSxhKXt0PUQwKGwsdCksdCY9fnlmLHQmPX5kYSxsLnN1c3BlbmRlZExhbmVzfD10LGwucGluZ2VkTGFuZXMmPX50LGEmJihsLndhcm1MYW5lc3w9dCksYT1sLmV4cGlyYXRpb25UaW1lcztmb3IodmFyIGU9dDswPGU7KXt2YXIgbj0zMS1mdChlKSxmPTE8PG47YVtuXT0tMSxlJj1+Zn11IT09MCYmVTAobCx1LHQpfWZ1bmN0aW9uIGdmKCl7cmV0dXJuKGsmNik9PT0wPyh4ZSgwKSwhMSk6ITB9ZnVuY3Rpb24gUmkoKXtpZihMIT09bnVsbCl7aWYodWw9PT0wKXZhciBsPUwucmV0dXJuO2Vsc2UgbD1MLG51PXRhPW51bGwsamMobCksR2E9bnVsbCxEZT0wLGw9TDtmb3IoO2whPT1udWxsOyl1eShsLmFsdGVybmF0ZSxsKSxsPWwucmV0dXJuO0w9bnVsbH19ZnVuY3Rpb24gRmEobCx0KXt2YXIgdT1sLnRpbWVvdXRIYW5kbGU7cmV0dXJuIHUhPT0tMSYmKGwudGltZW91dEhhbmRsZT0tMSxmcyh1KSksdT1sLmNhbmNlbFBlbmRpbmdDb21taXQsdSE9PW51bGwmJihsLmNhbmNlbFBlbmRpbmdDb21taXQ9bnVsbCx1KCkpLFd0PTAsUmkoKSxpbD1sLEw9dT1hdShsLmN1cnJlbnQsbnVsbCkseD10LHVsPTAseXQ9bnVsbCxZdT0hMSx4YT12ZShsLHQpLERpPSExLEthPW10PXlmPWRhPXF1PXJsPTAsa2w9TGU9bnVsbCxNaT0hMSx5dT1EMChsLHQpLF9uKCksdX1mdW5jdGlvbiBxeShsLHQpe1E9bnVsbCxOLkg9V24sdD09PUJhfHx0PT09cW4/KHQ9WnYoKSx1bD0zKTp0PT09TmM/KHQ9WnYoKSx1bD00KTp1bD10PT09bGk/ODp0IT09bnVsbCYmdHlwZW9mIHQ9PSJvYmplY3QiJiZ0eXBlb2YgdC50aGVuPT0iZnVuY3Rpb24iPzY6MSx5dD10LEw9PT1udWxsJiYocmw9MSwkbihsLEV0KHQsbC5jdXJyZW50KSkpfWZ1bmN0aW9uIEJ5KCl7dmFyIGw9R2wuY3VycmVudDtyZXR1cm4gbD09PW51bGw/ITA6KHgmNDE5NDA0OCk9PT14P1ZsPT09bnVsbDooeCY2MjkxNDU2MCk9PT14fHwoeCY1MzY4NzA5MTIpIT09MD9sPT09Vmw6ITF9ZnVuY3Rpb24gR3koKXt2YXIgbD1OLkg7cmV0dXJuIE4uSD1XbixsPT09bnVsbD9XbjpsfWZ1bmN0aW9uIFh5KCl7dmFyIGw9Ti5BO3JldHVybiBOLkE9cWQsbH1mdW5jdGlvbiBTZigpe3JsPTQsWXV8fCh4JjQxOTQwNDgpIT09eCYmR2wuY3VycmVudCE9PW51bGx8fCh4YT0hMCksKHF1JjEzNDIxNzcyNyk9PT0wJiYoZGEmMTM0MjE3NzI3KT09PTB8fGlsPT09bnVsbHx8R3UoaWwseCxtdCwhMSl9ZnVuY3Rpb24gSGkobCx0LHUpe3ZhciBhPWs7a3w9Mjt2YXIgZT1HeSgpLG49WHkoKTsoaWwhPT1sfHx4IT09dCkmJihzZj1udWxsLEZhKGwsdCkpLHQ9ITE7dmFyIGY9cmw7bDpkbyB0cnl7aWYodWwhPT0wJiZMIT09bnVsbCl7dmFyIGM9TCxpPXl0O3N3aXRjaCh1bCl7Y2FzZSA4OlJpKCksZj02O2JyZWFrIGw7Y2FzZSAzOmNhc2UgMjpjYXNlIDk6Y2FzZSA2OkdsLmN1cnJlbnQ9PT1udWxsJiYodD0hMCk7dmFyIGQ9dWw7aWYodWw9MCx5dD1udWxsLElhKGwsYyxpLGQpLHUmJnhhKXtmPTA7YnJlYWsgbH1icmVhaztkZWZhdWx0OmQ9dWwsdWw9MCx5dD1udWxsLElhKGwsYyxpLGQpfX1YZCgpLGY9cmw7YnJlYWt9Y2F0Y2goZyl7cXkobCxnKX13aGlsZSghMCk7cmV0dXJuIHQmJmwuc2hlbGxTdXNwZW5kQ291bnRlcisrLG51PXRhPW51bGwsaz1hLE4uSD1lLE4uQT1uLEw9PT1udWxsJiYoaWw9bnVsbCx4PTAsX24oKSksZn1mdW5jdGlvbiBYZCgpe2Zvcig7TCE9PW51bGw7KVF5KEwpfWZ1bmN0aW9uIFFkKGwsdCl7dmFyIHU9aztrfD0yO3ZhciBhPUd5KCksZT1YeSgpO2lsIT09bHx8eCE9PXQ/KHNmPW51bGwsZGY9ZXQoKSs1MDAsRmEobCx0KSk6eGE9dmUobCx0KTtsOmRvIHRyeXtpZih1bCE9PTAmJkwhPT1udWxsKXt0PUw7dmFyIG49eXQ7dDpzd2l0Y2godWwpe2Nhc2UgMTp1bD0wLHl0PW51bGwsSWEobCx0LG4sMSk7YnJlYWs7Y2FzZSAyOmNhc2UgOTppZihRdihuKSl7dWw9MCx5dD1udWxsLGp5KHQpO2JyZWFrfXQ9ZnVuY3Rpb24oKXt1bCE9PTImJnVsIT09OXx8aWwhPT1sfHwodWw9NyksJHQobCl9LG4udGhlbih0LHQpO2JyZWFrIGw7Y2FzZSAzOnVsPTc7YnJlYWsgbDtjYXNlIDQ6dWw9NTticmVhayBsO2Nhc2UgNzpRdihuKT8odWw9MCx5dD1udWxsLGp5KHQpKToodWw9MCx5dD1udWxsLElhKGwsdCxuLDcpKTticmVhaztjYXNlIDU6dmFyIGY9bnVsbDtzd2l0Y2goTC50YWcpe2Nhc2UgMjY6Zj1MLm1lbW9pemVkU3RhdGU7Y2FzZSA1OmNhc2UgMjc6dmFyIGM9TDtpZihmP0NtKGYpOmMuc3RhdGVOb2RlLmNvbXBsZXRlKXt1bD0wLHl0PW51bGw7dmFyIGk9Yy5zaWJsaW5nO2lmKGkhPT1udWxsKUw9aTtlbHNle3ZhciBkPWMucmV0dXJuO2QhPT1udWxsPyhMPWQscmYoZCkpOkw9bnVsbH1icmVhayB0fX11bD0wLHl0PW51bGwsSWEobCx0LG4sNSk7YnJlYWs7Y2FzZSA2OnVsPTAseXQ9bnVsbCxJYShsLHQsbiw2KTticmVhaztjYXNlIDg6UmkoKSxybD02O2JyZWFrIGw7ZGVmYXVsdDp0aHJvdyBFcnJvcihTKDQ2MikpfX1qZCgpO2JyZWFrfWNhdGNoKGcpe3F5KGwsZyl9d2hpbGUoITApO3JldHVybiBudT10YT1udWxsLE4uSD1hLE4uQT1lLGs9dSxMIT09bnVsbD8wOihpbD1udWxsLHg9MCxfbigpLHJsKX1mdW5jdGlvbiBqZCgpe2Zvcig7TCE9PW51bGwmJiF1MSgpOylReShMKX1mdW5jdGlvbiBReShsKXt2YXIgdD1seShsLmFsdGVybmF0ZSxsLHl1KTtsLm1lbW9pemVkUHJvcHM9bC5wZW5kaW5nUHJvcHMsdD09PW51bGw/cmYobCk6TD10fWZ1bmN0aW9uIGp5KGwpe3ZhciB0PWwsdT10LmFsdGVybmF0ZTtzd2l0Y2godC50YWcpe2Nhc2UgMTU6Y2FzZSAwOnQ9d28odSx0LHQucGVuZGluZ1Byb3BzLHQudHlwZSx2b2lkIDAseCk7YnJlYWs7Y2FzZSAxMTp0PXdvKHUsdCx0LnBlbmRpbmdQcm9wcyx0LnR5cGUucmVuZGVyLHQucmVmLHgpO2JyZWFrO2Nhc2UgNTpqYyh0KTt2YXIgYT10O2E9PT1VbCYmKFo/KFVuKGEpLGEudGFnPT09NSYmYS5zdGF0ZU5vZGUhPW51bGwmJih5bD1hLnN0YXRlTm9kZSkpOihVbihhKSxaPSEwKSk7ZGVmYXVsdDp1eSh1LHQpLHQ9TD1Edih0LHl1KSx0PWx5KHUsdCx5dSl9bC5tZW1vaXplZFByb3BzPWwucGVuZGluZ1Byb3BzLHQ9PT1udWxsP3JmKGwpOkw9dH1mdW5jdGlvbiBJYShsLHQsdSxhKXtudT10YT1udWxsLGpjKHQpLEdhPW51bGwsRGU9MDt2YXIgZT10LnJldHVybjt0cnl7aWYoTmQobCxlLHQsdSx4KSl7cmw9MSwkbihsLEV0KHUsbC5jdXJyZW50KSksTD1udWxsO3JldHVybn19Y2F0Y2gobil7aWYoZSE9PW51bGwpdGhyb3cgTD1lLG47cmw9MSwkbihsLEV0KHUsbC5jdXJyZW50KSksTD1udWxsO3JldHVybn10LmZsYWdzJjMyNzY4PyhafHxhPT09MT9sPSEwOnhhfHwoeCY1MzY4NzA5MTIpIT09MD9sPSExOihZdT1sPSEwLChhPT09Mnx8YT09PTl8fGE9PT0zfHxhPT09NikmJihhPUdsLmN1cnJlbnQsYSE9PW51bGwmJmEudGFnPT09MTMmJihhLmZsYWdzfD0xNjM4NCkpKSxaeSh0LGwpKTpyZih0KX1mdW5jdGlvbiByZihsKXt2YXIgdD1sO2Rve2lmKCh0LmZsYWdzJjMyNzY4KSE9PTApe1p5KHQsWXUpO3JldHVybn1sPXQucmV0dXJuO3ZhciB1PUNkKHQuYWx0ZXJuYXRlLHQseXUpO2lmKHUhPT1udWxsKXtMPXU7cmV0dXJufWlmKHQ9dC5zaWJsaW5nLHQhPT1udWxsKXtMPXQ7cmV0dXJufUw9dD1sfXdoaWxlKHQhPT1udWxsKTtybD09PTAmJihybD01KX1mdW5jdGlvbiBaeShsLHQpe2Rve3ZhciB1PVJkKGwuYWx0ZXJuYXRlLGwpO2lmKHUhPT1udWxsKXt1LmZsYWdzJj0zMjc2NyxMPXU7cmV0dXJufWlmKHU9bC5yZXR1cm4sdSE9PW51bGwmJih1LmZsYWdzfD0zMjc2OCx1LnN1YnRyZWVGbGFncz0wLHUuZGVsZXRpb25zPW51bGwpLCF0JiYobD1sLnNpYmxpbmcsbCE9PW51bGwpKXtMPWw7cmV0dXJufUw9bD11fXdoaWxlKGwhPT1udWxsKTtybD02LEw9bnVsbH1mdW5jdGlvbiBWeShsLHQsdSxhLGUsbixmLGMsaSxkLGcsRSl7bC5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGw7ZG8gVGYoKTt3aGlsZShobCE9PTApO2lmKChrJjYpIT09MCl0aHJvdyBFcnJvcihTKDMyNykpO2lmKHQhPT1udWxsKXtpZih0PT09bC5jdXJyZW50KXRocm93IEVycm9yKFMoMTc3KSk7bD09PWlsJiYoTD1pbD1udWxsLHg9MCksc2E9dCxIdD1sLFd0PXUsQ2k9ZSxDeT1hLFpkKGwsdCx1LGYsYyxpLEUpfX1mdW5jdGlvbiBaZChsLHQsdSxhLGUsbixmKXt2YXIgYz10LmxhbmVzfHQuY2hpbGRMYW5lcztpZihVaT1jLGN8PWRjLG0xKGwsdSxjLGEsZSxuKSx3YT1udWxsLCh1JjMzNTU0NDA2NCk9PT11PyhXYT1zZChsKSxhPTEwMjYyKTooV2E9bnVsbCxhPTEwMjU2KSwodC5zdWJ0cmVlRmxhZ3MmYSkhPT0wfHwodC5mbGFncyZhKSE9PTA/KGwuY2FsbGJhY2tOb2RlPW51bGwsbC5jYWxsYmFja1ByaW9yaXR5PTAsSmQobm4sZnVuY3Rpb24oKXtyZXR1cm4gR2koKSxudWxsfSkpOihsLmNhbGxiYWNrTm9kZT1udWxsLGwuY2FsbGJhY2tQcmlvcml0eT0wKSxhZj0hMSxhPSh0LmZsYWdzJjEzODc4KSE9PTAsKHQuc3VidHJlZUZsYWdzJjEzODc4KSE9PTB8fGEpe2E9Ti5ULE4uVD1udWxsLGU9Ry5wLEcucD0yLG49ayxrfD00O3RyeXtIZChsLHQsdSl9ZmluYWxseXtrPW4sRy5wPWUsTi5UPWF9fWhsPTEsYWY/SmE9bXMoZixsLmNvbnRhaW5lckluZm8sV2EsWWkscWksTGQsQmksR2ksVmQpOihZaSgpLHFpKCksQmkoKSl9ZnVuY3Rpb24gVmQobCl7aWYoaGwhPT0wKXt2YXIgdD1IdC5vblJlY292ZXJhYmxlRXJyb3I7dChsLHtjb21wb25lbnRTdGFjazpudWxsfSl9fWZ1bmN0aW9uIExkKCl7aGw9PT0zJiYoaGw9MCxfeShzYSxIdCksaGw9NCl9ZnVuY3Rpb24gWWkoKXtpZihobD09PTEpe2hsPTA7dmFyIGw9SHQsdD1zYSx1PVd0LGE9KHQuZmxhZ3MmMTM4NzgpIT09MDtpZigodC5zdWJ0cmVlRmxhZ3MmMTM4NzgpIT09MHx8YSl7YT1OLlQsTi5UPW51bGw7dmFyIGU9Ry5wO0cucD0yO3ZhciBuPWs7a3w9NDt0cnl7amU9ZmY9ITEsenkodCxsLHUpLHU9V2k7dmFyIGY9U3YobC5jb250YWluZXJJbmZvKSxjPXUuZm9jdXNlZEVsZW0saT11LnNlbGVjdGlvblJhbmdlO2lmKGYhPT1jJiZjJiZjLm93bmVyRG9jdW1lbnQmJmd2KGMub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsYykpe2lmKGkhPT1udWxsJiZpYyhjKSl7dmFyIGQ9aS5zdGFydCxnPWkuZW5kO2lmKGc9PT12b2lkIDAmJihnPWQpLCJzZWxlY3Rpb25TdGFydCJpbiBjKWMuc2VsZWN0aW9uU3RhcnQ9ZCxjLnNlbGVjdGlvbkVuZD1NYXRoLm1pbihnLGMudmFsdWUubGVuZ3RoKTtlbHNle3ZhciBFPWMub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQseT1FJiZFLmRlZmF1bHRWaWV3fHx3aW5kb3c7aWYoeS5nZXRTZWxlY3Rpb24pe3ZhciBoPXkuZ2V0U2VsZWN0aW9uKCksYj1jLnRleHRDb250ZW50Lmxlbmd0aCxBPU1hdGgubWluKGkuc3RhcnQsYiksaj1pLmVuZD09PXZvaWQgMD9BOk1hdGgubWluKGkuZW5kLGIpOyFoLmV4dGVuZCYmQT5qJiYoZj1qLGo9QSxBPWYpO3ZhciBtPWh2KGMsQSksdj1odihjLGopO2lmKG0mJnYmJihoLnJhbmdlQ291bnQhPT0xfHxoLmFuY2hvck5vZGUhPT1tLm5vZGV8fGguYW5jaG9yT2Zmc2V0IT09bS5vZmZzZXR8fGguZm9jdXNOb2RlIT09di5ub2RlfHxoLmZvY3VzT2Zmc2V0IT09di5vZmZzZXQpKXt2YXIgcz1FLmNyZWF0ZVJhbmdlKCk7cy5zZXRTdGFydChtLm5vZGUsbS5vZmZzZXQpLGgucmVtb3ZlQWxsUmFuZ2VzKCksQT5qPyhoLmFkZFJhbmdlKHMpLGguZXh0ZW5kKHYubm9kZSx2Lm9mZnNldCkpOihzLnNldEVuZCh2Lm5vZGUsdi5vZmZzZXQpLGguYWRkUmFuZ2UocykpfX19fWZvcihFPVtdLGg9YztoPWgucGFyZW50Tm9kZTspaC5ub2RlVHlwZT09PTEmJkUucHVzaCh7ZWxlbWVudDpoLGxlZnQ6aC5zY3JvbGxMZWZ0LHRvcDpoLnNjcm9sbFRvcH0pO2Zvcih0eXBlb2YgYy5mb2N1cz09ImZ1bmN0aW9uIiYmYy5mb2N1cygpLGM9MDtjPEUubGVuZ3RoO2MrKyl7dmFyIHI9RVtjXTtyLmVsZW1lbnQuc2Nyb2xsTGVmdD1yLmxlZnQsci5lbGVtZW50LnNjcm9sbFRvcD1yLnRvcH19bmU9ISF3aSxXaT13aT1udWxsfWZpbmFsbHl7az1uLEcucD1lLE4uVD1hfX1sLmN1cnJlbnQ9dCxobD0yfX1mdW5jdGlvbiBxaSgpe2lmKGhsPT09Mil7aGw9MDt2YXIgbD1IdCx0PXNhLHU9KHQuZmxhZ3MmODc3MikhPT0wO2lmKCh0LnN1YnRyZWVGbGFncyY4NzcyKSE9PTB8fHUpe3U9Ti5ULE4uVD1udWxsO3ZhciBhPUcucDtHLnA9Mjt2YXIgZT1rO2t8PTQ7dHJ5e2h5KGwsdC5hbHRlcm5hdGUsdCl9ZmluYWxseXtrPWUsRy5wPWEsTi5UPXV9fWhsPTN9fWZ1bmN0aW9uIEJpKCl7aWYoaGw9PT00fHxobD09PTMpe2hsPTA7dmFyIGw9SmE7SmE9bnVsbCxhMSgpO3ZhciB0PUh0LHU9c2EsYT1XdCxlPUN5LG49KGEmMzM1NTQ0MDY0KT09PWE/MTAyNjI6MTAyNTY7aWYoKHUuc3VidHJlZUZsYWdzJm4pIT09MHx8KHUuZmxhZ3MmbikhPT0wP2hsPTU6KGhsPTAsc2E9SHQ9bnVsbCxMeSh0LHQucGVuZGluZ0xhbmVzKSksbj10LnBlbmRpbmdMYW5lcyxuPT09MCYmKEJ1PW51bGwpLHhmKGEpLHU9dS5zdGF0ZU5vZGUsbnQmJnR5cGVvZiBudC5vbkNvbW1pdEZpYmVyUm9vdD09ImZ1bmN0aW9uIil0cnl7bnQub25Db21taXRGaWJlclJvb3QoaWUsdSx2b2lkIDAsKHUuY3VycmVudC5mbGFncyYxMjgpPT09MTI4KX1jYXRjaHt9aWYoZSE9PW51bGwpe3U9Ti5ULG49Ry5wLEcucD0yLE4uVD1udWxsO3RyeXtmb3IodmFyIGY9dC5vblJlY292ZXJhYmxlRXJyb3IsYz0wO2M8ZS5sZW5ndGg7YysrKXt2YXIgaT1lW2NdO2YoaS52YWx1ZSx7Y29tcG9uZW50U3RhY2s6aS5zdGFja30pfX1maW5hbGx5e04uVD11LEcucD1ufX1pZihlPXdhLGY9V2EsV2E9bnVsbCxlIT09bnVsbCYmKHdhPW51bGwsZj09PW51bGwmJihmPVtdKSxsIT09bnVsbCkpZm9yKGk9MDtpPGUubGVuZ3RoO2krKyl1PSgwLGVbaV0pKGYpLHUhPT12b2lkIDAmJmwuZmluaXNoZWQuZmluYWxseSh1KTsoV3QmMykhPT0wJiZUZigpLCR0KHQpLG49dC5wZW5kaW5nTGFuZXMsKGEmMjYxOTMwKSE9PTAmJihuJjQyKSE9PTA/dD09PWhmP3BlKys6KHBlPTAsaGY9dCk6KHBlPTAsaGY9bnVsbCkseGUoMCl9fWZ1bmN0aW9uIEx5KGwsdCl7KGwucG9vbGVkQ2FjaGVMYW5lcyY9dCk9PT0wJiYodD1sLnBvb2xlZENhY2hlLHQhPW51bGwmJihsLnBvb2xlZENhY2hlPW51bGwsT2UodCkpKX1mdW5jdGlvbiBUZigpe3JldHVybiBKYSE9PW51bGwmJihKYS5za2lwVHJhbnNpdGlvbigpLEphPW51bGwpLFlpKCkscWkoKSxCaSgpLEdpKCl9ZnVuY3Rpb24gR2koKXtpZihobCE9PTUpcmV0dXJuITE7dmFyIGw9SHQsdD1VaTtVaT0wO3ZhciB1PXhmKFd0KSxhPU4uVCxlPUcucDt0cnl7Ry5wPTMyPnU/MzI6dSxOLlQ9bnVsbCx1PUNpLENpPW51bGw7dmFyIG49SHQsZj1XdDtpZihobD0wLHNhPUh0PW51bGwsV3Q9MCwoayY2KSE9PTApdGhyb3cgRXJyb3IoUygzMzEpKTt2YXIgYz1rO2lmKGt8PTQsRHkobi5jdXJyZW50KSxPeShuLG4uY3VycmVudCxmLHUpLGs9Yyx4ZSgwLCExKSxudCYmdHlwZW9mIG50Lm9uUG9zdENvbW1pdEZpYmVyUm9vdD09ImZ1bmN0aW9uIil0cnl7bnQub25Qb3N0Q29tbWl0RmliZXJSb290KGllLG4pfWNhdGNoe31yZXR1cm4hMH1maW5hbGx5e0cucD1lLE4uVD1hLEx5KGwsdCl9fWZ1bmN0aW9uIHB5KGwsdCx1KXt0PUV0KHUsdCksdD1QYyhsLnN0YXRlTm9kZSx0LDIpLGw9RHUobCx0LDIpLGwhPT1udWxsJiYob2UobCwyKSwkdChsKSl9ZnVuY3Rpb24gYWwobCx0LHUpe2lmKGwudGFnPT09MylweShsLGwsdSk7ZWxzZSBmb3IoO3QhPT1udWxsOyl7aWYodC50YWc9PT0zKXtweSh0LGwsdSk7YnJlYWt9ZWxzZSBpZih0LnRhZz09PTEpe3ZhciBhPXQuc3RhdGVOb2RlO2lmKHR5cGVvZiB0LnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yPT0iZnVuY3Rpb24ifHx0eXBlb2YgYS5jb21wb25lbnREaWRDYXRjaD09ImZ1bmN0aW9uIiYmKEJ1PT09bnVsbHx8IUJ1LmhhcyhhKSkpe2w9RXQodSxsKSx1PWpvKDIpLGE9RHUodCx1LDIpLGEhPT1udWxsJiYoWm8odSxhLHQsbCksb2UoYSwyKSwkdChhKSk7YnJlYWt9fXQ9dC5yZXR1cm59fWZ1bmN0aW9uIFhpKGwsdCx1KXt2YXIgYT1sLnBpbmdDYWNoZTtpZihhPT09bnVsbCl7YT1sLnBpbmdDYWNoZT1uZXcgQmQ7dmFyIGU9bmV3IFNldDthLnNldCh0LGUpfWVsc2UgZT1hLmdldCh0KSxlPT09dm9pZCAwJiYoZT1uZXcgU2V0LGEuc2V0KHQsZSkpO2UuaGFzKHUpfHwoRGk9ITAsZS5hZGQodSksbD1wZC5iaW5kKG51bGwsbCx0LHUpLHQudGhlbihsLGwpKX1mdW5jdGlvbiBwZChsLHQsdSl7dmFyIGE9bC5waW5nQ2FjaGU7YSE9PW51bGwmJmEuZGVsZXRlKHQpLGwucGluZ2VkTGFuZXN8PWwuc3VzcGVuZGVkTGFuZXMmdSxsLndhcm1MYW5lcyY9fnUsaWw9PT1sJiYoeCZ1KT09PXUmJigocmw9PT00fHxybD09PTMmJih4JjYyOTE0NTYwKT09PXgmJjMwMD5ldCgpLW1mKSYmKGsmMik9PT0wP0ZhKGwsMCk6eWZ8PXUsS2E9PT14JiYoS2E9MCkpLCR0KGwpfWZ1bmN0aW9uIHh5KGwsdCl7dD09PTAmJih0PU0wKCkpLGw9a3UobCx0KSxsIT09bnVsbCYmKG9lKGwsdCksJHQobCkpfWZ1bmN0aW9uIHhkKGwpe3ZhciB0PWwubWVtb2l6ZWRTdGF0ZSx1PTA7dCE9PW51bGwmJih1PXQucmV0cnlMYW5lKSx4eShsLHUpfWZ1bmN0aW9uIEtkKGwsdCl7dmFyIHU9MDtzd2l0Y2gobC50YWcpe2Nhc2UgMzE6Y2FzZSAxMzp2YXIgYT1sLnN0YXRlTm9kZSxlPWwubWVtb2l6ZWRTdGF0ZTtlIT09bnVsbCYmKHU9ZS5yZXRyeUxhbmUpO2JyZWFrO2Nhc2UgMTk6YT1sLnN0YXRlTm9kZTticmVhaztjYXNlIDIyOmE9bC5zdGF0ZU5vZGUuX3JldHJ5Q2FjaGU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcihTKDMxNCkpfWEhPT1udWxsJiZhLmRlbGV0ZSh0KSx4eShsLHUpfWZ1bmN0aW9uIEpkKGwsdCl7cmV0dXJuIFpmKGwsdCl9dmFyIGthPW51bGwsUGE9bnVsbCxRaT0hMSxFZj0hMSxqaT0hMSxYdT0wO2Z1bmN0aW9uICR0KGwpe2whPT1QYSYmbC5uZXh0PT09bnVsbCYmKFBhPT09bnVsbD9rYT1QYT1sOlBhPVBhLm5leHQ9bCksRWY9ITAsUWl8fChRaT0hMCxXZCgpKX1mdW5jdGlvbiB4ZShsLHQpe2lmKCFqaSYmRWYpe2ppPSEwO2RvIGZvcih2YXIgdT0hMSxhPWthO2EhPT1udWxsOyl7aWYobCE9PTApe3ZhciBlPWEucGVuZGluZ0xhbmVzO2lmKGU9PT0wKXZhciBuPTA7ZWxzZXt2YXIgZj1hLnN1c3BlbmRlZExhbmVzLGM9YS5waW5nZWRMYW5lcztuPSgxPDwzMS1mdCg0MnxsKSsxKS0xLG4mPWUmfihmJn5jKSxuPW4mMjAxMzI2NzQxP24mMjAxMzI2NzQxfDE6bj9ufDI6MH1uIT09MCYmKHU9ITAsV3koYSxuKSl9ZWxzZSBuPXgsbj1vbihhLGE9PT1pbD9uOjAsYS5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbHx8YS50aW1lb3V0SGFuZGxlIT09LTEpLChuJjMpPT09MHx8dmUoYSxuKXx8KHU9ITAsV3koYSxuKSk7YT1hLm5leHR9d2hpbGUodSk7amk9ITF9fWZ1bmN0aW9uIHdkKCl7S3koKX1mdW5jdGlvbiBLeSgpe0VmPVFpPSExO3ZhciBsPTA7WHUhPT0wJiZucygpJiYobD1YdSk7Zm9yKHZhciB0PWV0KCksdT1udWxsLGE9a2E7YSE9PW51bGw7KXt2YXIgZT1hLm5leHQsbj1KeShhLHQpO249PT0wPyhhLm5leHQ9bnVsbCx1PT09bnVsbD9rYT1lOnUubmV4dD1lLGU9PT1udWxsJiYoUGE9dSkpOih1PWEsKGwhPT0wfHwobiYzKSE9PTApJiYoRWY9ITApKSxhPWV9aGwhPT0wJiZobCE9PTV8fHhlKGwpLFh1IT09MCYmKFh1PTApfWZ1bmN0aW9uIEp5KGwsdCl7Zm9yKHZhciB1PWwuc3VzcGVuZGVkTGFuZXMsYT1sLnBpbmdlZExhbmVzLGU9bC5leHBpcmF0aW9uVGltZXMsbj1sLnBlbmRpbmdMYW5lcyYtNjI5MTQ1NjE7MDxuOyl7dmFyIGY9MzEtZnQobiksYz0xPDxmLGk9ZVtmXTtpPT09LTE/KChjJnUpPT09MHx8KGMmYSkhPT0wKSYmKGVbZl09eTEoYyx0KSk6aTw9dCYmKGwuZXhwaXJlZExhbmVzfD1jKSxuJj1+Y31pZih0PWlsLHU9eCx1PW9uKGwsbD09PXQ/dTowLGwuY2FuY2VsUGVuZGluZ0NvbW1pdCE9PW51bGx8fGwudGltZW91dEhhbmRsZSE9PS0xKSxhPWwuY2FsbGJhY2tOb2RlLHU9PT0wfHxsPT09dCYmKHVsPT09Mnx8dWw9PT05KXx8bC5jYW5jZWxQZW5kaW5nQ29tbWl0IT09bnVsbClyZXR1cm4gYSE9PW51bGwmJmEhPT1udWxsJiZWZihhKSxsLmNhbGxiYWNrTm9kZT1udWxsLGwuY2FsbGJhY2tQcmlvcml0eT0wO2lmKCh1JjMpPT09MHx8dmUobCx1KSl7aWYodD11Ji11LHQ9PT1sLmNhbGxiYWNrUHJpb3JpdHkpcmV0dXJuIHQ7c3dpdGNoKGEhPT1udWxsJiZWZihhKSx4Zih1KSl7Y2FzZSAyOmNhc2UgODp1PUEwO2JyZWFrO2Nhc2UgMzI6dT1ubjticmVhaztjYXNlIDI2ODQzNTQ1Njp1PU4wO2JyZWFrO2RlZmF1bHQ6dT1ubn1yZXR1cm4gYT13eS5iaW5kKG51bGwsbCksdT1aZih1LGEpLGwuY2FsbGJhY2tQcmlvcml0eT10LGwuY2FsbGJhY2tOb2RlPXUsdH1yZXR1cm4gYSE9PW51bGwmJmEhPT1udWxsJiZWZihhKSxsLmNhbGxiYWNrUHJpb3JpdHk9MixsLmNhbGxiYWNrTm9kZT1udWxsLDJ9ZnVuY3Rpb24gd3kobCx0KXtpZihobCE9PTAmJmhsIT09NSlyZXR1cm4gbC5jYWxsYmFja05vZGU9bnVsbCxsLmNhbGxiYWNrUHJpb3JpdHk9MCxudWxsO3ZhciB1PWwuY2FsbGJhY2tOb2RlO2lmKFRmKCkmJmwuY2FsbGJhY2tOb2RlIT09dSlyZXR1cm4gbnVsbDt2YXIgYT14O3JldHVybiBhPW9uKGwsbD09PWlsP2E6MCxsLmNhbmNlbFBlbmRpbmdDb21taXQhPT1udWxsfHxsLnRpbWVvdXRIYW5kbGUhPT0tMSksYT09PTA/bnVsbDooSHkobCxhLHQpLEp5KGwsZXQoKSksbC5jYWxsYmFja05vZGUhPW51bGwmJmwuY2FsbGJhY2tOb2RlPT09dT93eS5iaW5kKG51bGwsbCk6bnVsbCl9ZnVuY3Rpb24gV3kobCx0KXtpZihUZigpKXJldHVybiBudWxsO0h5KGwsdCwhMCl9ZnVuY3Rpb24gV2QoKXtjcyhmdW5jdGlvbigpeyhrJjYpIT09MD9aZihPMCx3ZCk6S3koKX0pfWZ1bmN0aW9uIFppKCl7aWYoWHU9PT0wKXt2YXIgbD1lYTtsPT09MCYmKGw9Zm4sZm48PD0xLChmbiYyNjE4ODgpPT09MCYmKGZuPTI1NikpLFh1PWx9cmV0dXJuIFh1fWZ1bmN0aW9uICR5KGwpe3JldHVybiBsPT1udWxsfHx0eXBlb2YgbD09InN5bWJvbCJ8fHR5cGVvZiBsPT0iYm9vbGVhbiI/bnVsbDp0eXBlb2YgbD09ImZ1bmN0aW9uIj9sOmhuKGwpfWZ1bmN0aW9uICRkKGwsdCx1LGEsZSl7aWYodD09PSJzdWJtaXQiJiZ1JiZ1LnN0YXRlTm9kZT09PWUpe3ZhciBuPSR5KChlW1dsXXx8bnVsbCkuYWN0aW9uKSxmPWEuc3VibWl0dGVyO2YmJih0PSh0PWZbV2xdfHxudWxsKT8keSh0LmZvcm1BY3Rpb24pOmYuZ2V0QXR0cmlidXRlKCJmb3JtQWN0aW9uIiksdCE9PW51bGwmJihuPXQsZj1udWxsKSk7dmFyIGM9bmV3IFRuKCJhY3Rpb24iLCJhY3Rpb24iLG51bGwsYSxlKTtsLnB1c2goe2V2ZW50OmMsbGlzdGVuZXJzOlt7aW5zdGFuY2U6bnVsbCxsaXN0ZW5lcjpmdW5jdGlvbigpe2lmKGEuZGVmYXVsdFByZXZlbnRlZCl7aWYoWHUhPT0wKXt2YXIgaT1uZXcgRm9ybURhdGEoZSxmKTtXYyh1LHtwZW5kaW5nOiEwLGRhdGE6aSxtZXRob2Q6ZS5tZXRob2QsYWN0aW9uOm59LG51bGwsaSl9fWVsc2UgdHlwZW9mIG49PSJmdW5jdGlvbiImJihjLnByZXZlbnREZWZhdWx0KCksaT1uZXcgRm9ybURhdGEoZSxmKSxXYyh1LHtwZW5kaW5nOiEwLGRhdGE6aSxtZXRob2Q6ZS5tZXRob2QsYWN0aW9uOm59LG4saSkpfSxjdXJyZW50VGFyZ2V0OmV9XX0pfX1mb3IodmFyIFZpPTA7Vmk8bWMubGVuZ3RoO1ZpKyspe3ZhciBMaT1tY1tWaV0sRmQ9TGkudG9Mb3dlckNhc2UoKSxJZD1MaVswXS50b1VwcGVyQ2FzZSgpK0xpLnNsaWNlKDEpO010KEZkLCJvbiIrSWQpfU10KEV2LCJvbkFuaW1hdGlvbkVuZCIpLE10KHp2LCJvbkFuaW1hdGlvbkl0ZXJhdGlvbiIpLE10KGJ2LCJvbkFuaW1hdGlvblN0YXJ0IiksTXQoImRibGNsaWNrIiwib25Eb3VibGVDbGljayIpLE10KCJmb2N1c2luIiwib25Gb2N1cyIpLE10KCJmb2N1c291dCIsIm9uQmx1ciIpLE10KGZkLCJvblRyYW5zaXRpb25SdW4iKSxNdChjZCwib25UcmFuc2l0aW9uU3RhcnQiKSxNdChpZCwib25UcmFuc2l0aW9uQ2FuY2VsIiksTXQoX3YsIm9uVHJhbnNpdGlvbkVuZCIpLHphKCJvbk1vdXNlRW50ZXIiLFsibW91c2VvdXQiLCJtb3VzZW92ZXIiXSksemEoIm9uTW91c2VMZWF2ZSIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSx6YSgib25Qb2ludGVyRW50ZXIiLFsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl0pLHphKCJvblBvaW50ZXJMZWF2ZSIsWyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXSksJHUoIm9uQ2hhbmdlIiwiY2hhbmdlIGNsaWNrIGZvY3VzaW4gZm9jdXNvdXQgaW5wdXQga2V5ZG93biBrZXl1cCBzZWxlY3Rpb25jaGFuZ2UiLnNwbGl0KCIgIikpLCR1KCJvblNlbGVjdCIsImZvY3Vzb3V0IGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXNpbiBrZXlkb3duIGtleXVwIG1vdXNlZG93biBtb3VzZXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksJHUoIm9uQmVmb3JlSW5wdXQiLFsiY29tcG9zaXRpb25lbmQiLCJrZXlwcmVzcyIsInRleHRJbnB1dCIsInBhc3RlIl0pLCR1KCJvbkNvbXBvc2l0aW9uRW5kIiwiY29tcG9zaXRpb25lbmQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpLCR1KCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJjb21wb3NpdGlvbnN0YXJ0IGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKSwkdSgib25Db21wb3NpdGlvblVwZGF0ZSIsImNvbXBvc2l0aW9udXBkYXRlIGZvY3Vzb3V0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpKTt2YXIgS2U9ImFib3J0IGNhbnBsYXkgY2FucGxheXRocm91Z2ggZHVyYXRpb25jaGFuZ2UgZW1wdGllZCBlbmNyeXB0ZWQgZW5kZWQgZXJyb3IgbG9hZGVkZGF0YSBsb2FkZWRtZXRhZGF0YSBsb2Fkc3RhcnQgcGF1c2UgcGxheSBwbGF5aW5nIHByb2dyZXNzIHJhdGVjaGFuZ2UgcmVzaXplIHNlZWtlZCBzZWVraW5nIHN0YWxsZWQgc3VzcGVuZCB0aW1ldXBkYXRlIHZvbHVtZWNoYW5nZSB3YWl0aW5nIi5zcGxpdCgiICIpLGtkPW5ldyBTZXQoImJlZm9yZXRvZ2dsZSBjYW5jZWwgY2xvc2UgaW52YWxpZCBsb2FkIHNjcm9sbCBzY3JvbGxlbmQgdG9nZ2xlIi5zcGxpdCgiICIpLmNvbmNhdChLZSkpO2Z1bmN0aW9uIEZ5KGwsdCl7dD0odCY0KSE9PTA7Zm9yKHZhciB1PTA7dTxsLmxlbmd0aDt1Kyspe3ZhciBhPWxbdV0sZT1hLmV2ZW50O2E9YS5saXN0ZW5lcnM7bDp7dmFyIG49dm9pZCAwO2lmKHQpZm9yKHZhciBmPWEubGVuZ3RoLTE7MDw9ZjtmLS0pe3ZhciBjPWFbZl0saT1jLmluc3RhbmNlLGQ9Yy5jdXJyZW50VGFyZ2V0O2lmKGM9Yy5saXN0ZW5lcixpIT09biYmZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGw7bj1jLGUuY3VycmVudFRhcmdldD1kO3RyeXtuKGUpfWNhdGNoKGcpe2JuKGcpfWUuY3VycmVudFRhcmdldD1udWxsLG49aX1lbHNlIGZvcihmPTA7ZjxhLmxlbmd0aDtmKyspe2lmKGM9YVtmXSxpPWMuaW5zdGFuY2UsZD1jLmN1cnJlbnRUYXJnZXQsYz1jLmxpc3RlbmVyLGkhPT1uJiZlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYnJlYWsgbDtuPWMsZS5jdXJyZW50VGFyZ2V0PWQ7dHJ5e24oZSl9Y2F0Y2goZyl7Ym4oZyl9ZS5jdXJyZW50VGFyZ2V0PW51bGwsbj1pfX19fWZ1bmN0aW9uIHAobCx0KXt2YXIgdT10W3EwXTt1PT09dm9pZCAwJiYodT10W3EwXT1uZXcgU2V0KTt2YXIgYT1sKyJfX2J1YmJsZSI7dS5oYXMoYSl8fChJeSh0LGwsMiwhMSksdS5hZGQoYSkpfWZ1bmN0aW9uIHBpKGwsdCx1KXt2YXIgYT0wO3QmJihhfD00KSxJeSh1LGwsYSx0KX12YXIgemY9Il9yZWFjdExpc3RlbmluZyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMik7ZnVuY3Rpb24geGkobCl7aWYoIWxbemZdKXtsW3pmXT0hMCxYMC5mb3JFYWNoKGZ1bmN0aW9uKHUpe3UhPT0ic2VsZWN0aW9uY2hhbmdlIiYmKGtkLmhhcyh1KXx8cGkodSwhMSxsKSxwaSh1LCEwLGwpKX0pO3ZhciB0PWwubm9kZVR5cGU9PT05P2w6bC5vd25lckRvY3VtZW50O3Q9PT1udWxsfHx0W3pmXXx8KHRbemZdPSEwLHBpKCJzZWxlY3Rpb25jaGFuZ2UiLCExLHQpKX19ZnVuY3Rpb24gSXkobCx0LHUsYSl7c3dpdGNoKFptKHQpKXtjYXNlIDI6dmFyIGU9eHM7YnJlYWs7Y2FzZSA4OmU9S3M7YnJlYWs7ZGVmYXVsdDplPW8wfXU9ZS5iaW5kKG51bGwsdCx1LGwpLGU9dm9pZCAwLCFrZnx8dCE9PSJ0b3VjaHN0YXJ0IiYmdCE9PSJ0b3VjaG1vdmUiJiZ0IT09IndoZWVsInx8KGU9ITApLGE/ZSE9PXZvaWQgMD9sLmFkZEV2ZW50TGlzdGVuZXIodCx1LHtjYXB0dXJlOiEwLHBhc3NpdmU6ZX0pOmwuYWRkRXZlbnRMaXN0ZW5lcih0LHUsITApOmUhPT12b2lkIDA/bC5hZGRFdmVudExpc3RlbmVyKHQsdSx7cGFzc2l2ZTplfSk6bC5hZGRFdmVudExpc3RlbmVyKHQsdSwhMSl9ZnVuY3Rpb24gS2kobCx0LHUsYSxlKXt2YXIgbj1hO2lmKCh0JjEpPT09MCYmKHQmMik9PT0wJiZhIT09bnVsbClsOmZvcig7Oyl7aWYoYT09PW51bGwpcmV0dXJuO3ZhciBmPWEudGFnO2lmKGY9PT0zfHxmPT09NCl7dmFyIGM9YS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbztpZihjPT09ZSlicmVhaztpZihmPT09NClmb3IoZj1hLnJldHVybjtmIT09bnVsbDspe3ZhciBpPWYudGFnO2lmKChpPT09M3x8aT09PTQpJiZmLnN0YXRlTm9kZS5jb250YWluZXJJbmZvPT09ZSlyZXR1cm47Zj1mLnJldHVybn1mb3IoO2MhPT1udWxsOyl7aWYoZj1XdShjKSxmPT09bnVsbClyZXR1cm47aWYoaT1mLnRhZyxpPT09NXx8aT09PTZ8fGk9PT0yNnx8aT09PTI3KXthPW49Zjtjb250aW51ZSBsfWM9Yy5wYXJlbnROb2RlfX1hPWEucmV0dXJufUYwKGZ1bmN0aW9uKCl7dmFyIGQ9bixnPUZmKHUpLEU9W107bDp7dmFyIHk9T3YuZ2V0KGwpO2lmKHkhPT12b2lkIDApe3ZhciBoPVRuLGI9bDtzd2l0Y2gobCl7Y2FzZSJrZXlwcmVzcyI6aWYoU24odSk9PT0wKWJyZWFrIGw7Y2FzZSJrZXlkb3duIjpjYXNlImtleXVwIjpoPUcxO2JyZWFrO2Nhc2UiZm9jdXNpbiI6Yj0iZm9jdXMiLGg9dWM7YnJlYWs7Y2FzZSJmb2N1c291dCI6Yj0iYmx1ciIsaD11YzticmVhaztjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjpoPXVjO2JyZWFrO2Nhc2UiY2xpY2siOmlmKHUuYnV0dG9uPT09MilicmVhayBsO2Nhc2UiYXV4Y2xpY2siOmNhc2UiZGJsY2xpY2siOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZXVwIjpjYXNlIm1vdXNlb3V0IjpjYXNlIm1vdXNlb3ZlciI6Y2FzZSJjb250ZXh0bWVudSI6aD1QMDticmVhaztjYXNlImRyYWciOmNhc2UiZHJhZ2VuZCI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpoPU8xO2JyZWFrO2Nhc2UidG91Y2hjYW5jZWwiOmNhc2UidG91Y2hlbmQiOmNhc2UidG91Y2htb3ZlIjpjYXNlInRvdWNoc3RhcnQiOmg9VjE7YnJlYWs7Y2FzZSBFdjpjYXNlIHp2OmNhc2UgYnY6aD1EMTticmVhaztjYXNlIF92Omg9cDE7YnJlYWs7Y2FzZSJzY3JvbGwiOmNhc2Uic2Nyb2xsZW5kIjpoPWIxO2JyZWFrO2Nhc2Uid2hlZWwiOmg9SzE7YnJlYWs7Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJwYXN0ZSI6aD1VMTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlInBvaW50ZXJvdXQiOmNhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcnVwIjpoPXR2O2JyZWFrO2Nhc2Uic3VibWl0IjpoPWoxO2JyZWFrO2Nhc2UidG9nZ2xlIjpjYXNlImJlZm9yZXRvZ2dsZSI6aD13MX12YXIgQT0odCY0KSE9PTAsaj0hQSYmKGw9PT0ic2Nyb2xsInx8bD09PSJzY3JvbGxlbmQiKSxtPUE/eSE9PW51bGw/eSsiQ2FwdHVyZSI6bnVsbDp5O0E9W107Zm9yKHZhciB2PWQsczt2IT09bnVsbDspe3ZhciByPXY7aWYocz1yLnN0YXRlTm9kZSxyPXIudGFnLHIhPT01JiZyIT09MjYmJnIhPT0yN3x8cz09PW51bGx8fG09PT1udWxsfHwocj1kZSh2LG0pLHIhPW51bGwmJkEucHVzaChKZSh2LHIscykpKSxqKWJyZWFrO3Y9di5yZXR1cm59MDxBLmxlbmd0aCYmKHk9bmV3IGgoeSxiLG51bGwsdSxnKSxFLnB1c2goe2V2ZW50OnksbGlzdGVuZXJzOkF9KSl9fWlmKCh0JjcpPT09MCl7bDp7aWYoaD1sPT09Im1vdXNlb3ZlciJ8fGw9PT0icG9pbnRlcm92ZXIiLHk9bD09PSJtb3VzZW91dCJ8fGw9PT0icG9pbnRlcm91dCIsaCYmdSE9PSRmJiYoYj11LnJlbGF0ZWRUYXJnZXR8fHUuZnJvbUVsZW1lbnQpJiYoV3UoYil8fGJbcmFdKSlicmVhayBsOyh5fHxoKSYmKGI9Zy53aW5kb3c9PT1nP2c6KGg9Zy5vd25lckRvY3VtZW50KT9oLmRlZmF1bHRWaWV3fHxoLnBhcmVudFdpbmRvdzp3aW5kb3cseT8oaD11LnJlbGF0ZWRUYXJnZXR8fHUudG9FbGVtZW50LHk9ZCxoPWg/V3UoaCk6bnVsbCxoIT09bnVsbCYmKGo9c2woaCksQT1oLnRhZyxoIT09anx8QSE9PTUmJkEhPT0yNyYmQSE9PTYpJiYoaD1udWxsKSk6KHk9bnVsbCxoPWQpLHkhPT1oJiYoQT1QMCxyPSJvbk1vdXNlTGVhdmUiLG09Im9uTW91c2VFbnRlciIsdj0ibW91c2UiLChsPT09InBvaW50ZXJvdXQifHxsPT09InBvaW50ZXJvdmVyIikmJihBPXR2LHI9Im9uUG9pbnRlckxlYXZlIixtPSJvblBvaW50ZXJFbnRlciIsdj0icG9pbnRlciIpLGo9eT09bnVsbD9iOm1lKHkpLHM9aD09bnVsbD9iOm1lKGgpLGI9bmV3IEEocix2KyJsZWF2ZSIseSx1LGcpLGIudGFyZ2V0PWosYi5yZWxhdGVkVGFyZ2V0PXMscj1udWxsLFd1KGcpPT09ZCYmKEE9bmV3IEEobSx2KyJlbnRlciIsaCx1LGcpLEEudGFyZ2V0PXMsQS5yZWxhdGVkVGFyZ2V0PWoscj1BKSxqPXIsQT15JiZoP3V0KHksaCxQZCk6bnVsbCx5IT09bnVsbCYma3koRSxiLHksQSwhMSksaCE9PW51bGwmJmohPT1udWxsJiZreShFLGosaCxBLCEwKSkpfWw6e2lmKHk9ZD9tZShkKTp3aW5kb3csaD15Lm5vZGVOYW1lJiZ5Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksaD09PSJzZWxlY3QifHxoPT09ImlucHV0IiYmeS50eXBlPT09ImZpbGUiKXZhciBPPXZ2O2Vsc2UgaWYoY3YoeSkpaWYob3YpTz1hZDtlbHNle089dGQ7dmFyIEs9bGR9ZWxzZSBoPXkubm9kZU5hbWUsIWh8fGgudG9Mb3dlckNhc2UoKSE9PSJpbnB1dCJ8fHkudHlwZSE9PSJjaGVja2JveCImJnkudHlwZSE9PSJyYWRpbyI/ZCYmV2YoZC5lbGVtZW50VHlwZSkmJihPPXZ2KTpPPXVkO2lmKE8mJihPPU8obCxkKSkpe2l2KEUsTyx1LGcpO2JyZWFrIGx9SyYmSyhsLHksZCl9c3dpdGNoKEs9ZD9tZShkKTp3aW5kb3csbCl7Y2FzZSJmb2N1c2luIjooY3YoSyl8fEsuY29udGVudEVkaXRhYmxlPT09InRydWUiKSYmKERhPUssdmM9ZCx6ZT1udWxsKTticmVhaztjYXNlImZvY3Vzb3V0Ijp6ZT12Yz1EYT1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpvYz0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6b2M9ITEscnYoRSx1LGcpO2JyZWFrO2Nhc2Uic2VsZWN0aW9uY2hhbmdlIjppZihuZClicmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOnJ2KEUsdSxnKX12YXIgTTtpZihlYylsOntzd2l0Y2gobCl7Y2FzZSJjb21wb3NpdGlvbnN0YXJ0Ijp2YXIgUj0ib25Db21wb3NpdGlvblN0YXJ0IjticmVhayBsO2Nhc2UiY29tcG9zaXRpb25lbmQiOlI9Im9uQ29tcG9zaXRpb25FbmQiO2JyZWFrIGw7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6Uj0ib25Db21wb3NpdGlvblVwZGF0ZSI7YnJlYWsgbH1SPXZvaWQgMH1lbHNlIE5hP252KGwsdSkmJihSPSJvbkNvbXBvc2l0aW9uRW5kIik6bD09PSJrZXlkb3duIiYmdS5rZXlDb2RlPT09MjI5JiYoUj0ib25Db21wb3NpdGlvblN0YXJ0Iik7UiYmKHV2JiZ1LmxvY2FsZSE9PSJrbyImJihOYXx8UiE9PSJvbkNvbXBvc2l0aW9uU3RhcnQiP1I9PT0ib25Db21wb3NpdGlvbkVuZCImJk5hJiYoTT1JMCgpKToocnU9ZyxQZj0idmFsdWUiaW4gcnU/cnUudmFsdWU6cnUudGV4dENvbnRlbnQsTmE9ITApKSxLPWJmKGQsUiksMDxLLmxlbmd0aCYmKFI9bmV3IGx2KFIsbCxudWxsLHUsZyksRS5wdXNoKHtldmVudDpSLGxpc3RlbmVyczpLfSksTT9SLmRhdGE9TTooTT1mdih1KSxNIT09bnVsbCYmKFIuZGF0YT1NKSkpKSwoTT0kMT9GMShsLHUpOkkxKGwsdSkpJiYoUj1iZihkLCJvbkJlZm9yZUlucHV0IiksMDxSLmxlbmd0aCYmKEs9bmV3IGx2KCJvbkJlZm9yZUlucHV0IiwiYmVmb3JlaW5wdXQiLG51bGwsdSxnKSxFLnB1c2goe2V2ZW50OkssbGlzdGVuZXJzOlJ9KSxLLmRhdGE9TSkpLCRkKEUsbCxkLHUsZyl9RnkoRSx0KX0pfWZ1bmN0aW9uIEplKGwsdCx1KXtyZXR1cm57aW5zdGFuY2U6bCxsaXN0ZW5lcjp0LGN1cnJlbnRUYXJnZXQ6dX19ZnVuY3Rpb24gYmYobCx0KXtmb3IodmFyIHU9dCsiQ2FwdHVyZSIsYT1bXTtsIT09bnVsbDspe3ZhciBlPWwsbj1lLnN0YXRlTm9kZTtpZihlPWUudGFnLGUhPT01JiZlIT09MjYmJmUhPT0yN3x8bj09PW51bGx8fChlPWRlKGwsdSksZSE9bnVsbCYmYS51bnNoaWZ0KEplKGwsZSxuKSksZT1kZShsLHQpLGUhPW51bGwmJmEucHVzaChKZShsLGUsbikpKSxsLnRhZz09PTMpcmV0dXJuIGE7bD1sLnJldHVybn1yZXR1cm5bXX1mdW5jdGlvbiBQZChsKXtpZihsPT09bnVsbClyZXR1cm4gbnVsbDtkbyBsPWwucmV0dXJuO3doaWxlKGwmJmwudGFnIT09NSYmbC50YWchPT0yNyk7cmV0dXJuIGx8fG51bGx9ZnVuY3Rpb24ga3kobCx0LHUsYSxlKXtmb3IodmFyIG49dC5fcmVhY3ROYW1lLGY9W107dSE9PW51bGwmJnUhPT1hOyl7dmFyIGM9dSxpPWMuYWx0ZXJuYXRlLGQ9Yy5zdGF0ZU5vZGU7aWYoYz1jLnRhZyxpIT09bnVsbCYmaT09PWEpYnJlYWs7YyE9PTUmJmMhPT0yNiYmYyE9PTI3fHxkPT09bnVsbHx8KGk9ZCxlPyhkPWRlKHUsbiksZCE9bnVsbCYmZi51bnNoaWZ0KEplKHUsZCxpKSkpOmV8fChkPWRlKHUsbiksZCE9bnVsbCYmZi5wdXNoKEplKHUsZCxpKSkpKSx1PXUucmV0dXJufWYubGVuZ3RoIT09MCYmbC5wdXNoKHtldmVudDp0LGxpc3RlbmVyczpmfSl9dmFyIGxzPS9cclxuPy9nLHRzPS9cdTAwMDB8XHVGRkZEL2c7ZnVuY3Rpb24gUHkobCl7cmV0dXJuKHR5cGVvZiBsPT0ic3RyaW5nIj9sOiIiK2wpLnJlcGxhY2UobHMsYApgKS5yZXBsYWNlKHRzLCIiKX1mdW5jdGlvbiBsbShsLHQpe3JldHVybiB0PVB5KHQpLFB5KGwpPT09dH1mdW5jdGlvbiBlbChsLHQsdSxhLGUsbil7c3dpdGNoKHUpe2Nhc2UiY2hpbGRyZW4iOmlmKHR5cGVvZiBhPT0ic3RyaW5nIil0PT09ImJvZHkifHx0PT09InRleHRhcmVhIiYmYT09PSIifHxfYShsLGEpO2Vsc2UgaWYodHlwZW9mIGE9PSJudW1iZXIifHx0eXBlb2YgYT09ImJpZ2ludCIpdCE9PSJib2R5IiYmX2EobCwiIithKTtlbHNlIHJldHVybjticmVhaztjYXNlImNsYXNzTmFtZSI6c24obCwiY2xhc3MiLGEpO2JyZWFrO2Nhc2UidGFiSW5kZXgiOnNuKGwsInRhYmluZGV4IixhKTticmVhaztjYXNlImRpciI6Y2FzZSJyb2xlIjpjYXNlInZpZXdCb3giOmNhc2Uid2lkdGgiOmNhc2UiaGVpZ2h0IjpzbihsLHUsYSk7YnJlYWs7Y2FzZSJzdHlsZSI6VzAobCxhLG4pO3JldHVybjtjYXNlImRhdGEiOmlmKHQhPT0ib2JqZWN0Iil7c24obCwiZGF0YSIsYSk7YnJlYWt9Y2FzZSJzcmMiOmNhc2UiaHJlZiI6aWYoYT09PSIiJiYodCE9PSJhInx8dSE9PSJocmVmIikpe2wucmVtb3ZlQXR0cmlidXRlKHUpO2JyZWFrfWlmKGE9PW51bGx8fHR5cGVvZiBhPT0iZnVuY3Rpb24ifHx0eXBlb2YgYT09InN5bWJvbCJ8fHR5cGVvZiBhPT0iYm9vbGVhbiIpe2wucmVtb3ZlQXR0cmlidXRlKHUpO2JyZWFrfWE9aG4oYSksbC5zZXRBdHRyaWJ1dGUodSxhKTticmVhaztjYXNlImFjdGlvbiI6Y2FzZSJmb3JtQWN0aW9uIjppZih0eXBlb2YgYT09ImZ1bmN0aW9uIil7bC5zZXRBdHRyaWJ1dGUodSwiamF2YXNjcmlwdDp0aHJvdyBuZXcgRXJyb3IoJ0EgUmVhY3QgZm9ybSB3YXMgdW5leHBlY3RlZGx5IHN1Ym1pdHRlZC4gSWYgeW91IGNhbGxlZCBmb3JtLnN1Ym1pdCgpIG1hbnVhbGx5LCBjb25zaWRlciB1c2luZyBmb3JtLnJlcXVlc3RTdWJtaXQoKSBpbnN0ZWFkLiBJZiB5b3VcXCdyZSB0cnlpbmcgdG8gdXNlIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpIGluIGEgc3VibWl0IGV2ZW50IGhhbmRsZXIsIGNvbnNpZGVyIGFsc28gY2FsbGluZyBldmVudC5wcmV2ZW50RGVmYXVsdCgpLicpIik7YnJlYWt9ZWxzZSB0eXBlb2Ygbj09ImZ1bmN0aW9uIiYmKHU9PT0iZm9ybUFjdGlvbiI/KHQhPT0iaW5wdXQiJiZlbChsLHQsIm5hbWUiLGUubmFtZSxlLG51bGwpLGVsKGwsdCwiZm9ybUVuY1R5cGUiLGUuZm9ybUVuY1R5cGUsZSxudWxsKSxlbChsLHQsImZvcm1NZXRob2QiLGUuZm9ybU1ldGhvZCxlLG51bGwpLGVsKGwsdCwiZm9ybVRhcmdldCIsZS5mb3JtVGFyZ2V0LGUsbnVsbCkpOihlbChsLHQsImVuY1R5cGUiLGUuZW5jVHlwZSxlLG51bGwpLGVsKGwsdCwibWV0aG9kIixlLm1ldGhvZCxlLG51bGwpLGVsKGwsdCwidGFyZ2V0IixlLnRhcmdldCxlLG51bGwpKSk7aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJzeW1ib2wifHx0eXBlb2YgYT09ImJvb2xlYW4iKXtsLnJlbW92ZUF0dHJpYnV0ZSh1KTticmVha31hPWhuKGEpLGwuc2V0QXR0cmlidXRlKHUsYSk7YnJlYWs7Y2FzZSJvbkNsaWNrIjphIT1udWxsJiYobC5vbmNsaWNrPWp0KTtyZXR1cm47Y2FzZSJvblNjcm9sbCI6YSE9bnVsbCYmcCgic2Nyb2xsIixsKTtyZXR1cm47Y2FzZSJvblNjcm9sbEVuZCI6YSE9bnVsbCYmcCgic2Nyb2xsZW5kIixsKTtyZXR1cm47Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoYSE9bnVsbCl7aWYodHlwZW9mIGEhPSJvYmplY3QifHwhKCJfX2h0bWwiaW4gYSkpdGhyb3cgRXJyb3IoUyg2MSkpO2lmKHU9YS5fX2h0bWwsdSE9bnVsbCl7aWYoZS5jaGlsZHJlbiE9bnVsbCl0aHJvdyBFcnJvcihTKDYwKSk7bj8uX19odG1sIT09dSYmKGwuaW5uZXJIVE1MPXUpfX1icmVhaztjYXNlIm11bHRpcGxlIjpsLm11bHRpcGxlPWEmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI7YnJlYWs7Y2FzZSJtdXRlZCI6bC5tdXRlZD1hJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJzeW1ib2wiO2JyZWFrO2Nhc2Uic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIjpjYXNlInN1cHByZXNzSHlkcmF0aW9uV2FybmluZyI6Y2FzZSJkZWZhdWx0VmFsdWUiOmNhc2UiZGVmYXVsdENoZWNrZWQiOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6YnJlYWs7Y2FzZSJhdXRvRm9jdXMiOmJyZWFrO2Nhc2UieGxpbmtIcmVmIjppZihhPT1udWxsfHx0eXBlb2YgYT09ImZ1bmN0aW9uInx8dHlwZW9mIGE9PSJib29sZWFuInx8dHlwZW9mIGE9PSJzeW1ib2wiKXtsLnJlbW92ZUF0dHJpYnV0ZSgieGxpbms6aHJlZiIpO2JyZWFrfXU9aG4oYSksbC5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmhyZWYiLHUpO2JyZWFrO2Nhc2UiY29udGVudEVkaXRhYmxlIjpjYXNlInNwZWxsQ2hlY2siOmNhc2UiZHJhZ2dhYmxlIjpjYXNlInZhbHVlIjpjYXNlImF1dG9SZXZlcnNlIjpjYXNlImV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQiOmNhc2UiZm9jdXNhYmxlIjpjYXNlInByZXNlcnZlQWxwaGEiOmEhPW51bGwmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI/bC5zZXRBdHRyaWJ1dGUodSxhKTpsLnJlbW92ZUF0dHJpYnV0ZSh1KTticmVhaztjYXNlImluZXJ0IjpjYXNlImFsbG93RnVsbFNjcmVlbiI6Y2FzZSJhc3luYyI6Y2FzZSJhdXRvUGxheSI6Y2FzZSJjb250cm9scyI6Y2FzZSJjcmVkZW50aWFsbGVzcyI6Y2FzZSJkZWZhdWx0IjpjYXNlImRlZmVyIjpjYXNlImRpc2FibGVkIjpjYXNlImRpc2FibGVQaWN0dXJlSW5QaWN0dXJlIjpjYXNlImRpc2FibGVSZW1vdGVQbGF5YmFjayI6Y2FzZSJmb3JtTm9WYWxpZGF0ZSI6Y2FzZSJoaWRkZW4iOmNhc2UibG9vcCI6Y2FzZSJub01vZHVsZSI6Y2FzZSJub1ZhbGlkYXRlIjpjYXNlIm9wZW4iOmNhc2UicGxheXNJbmxpbmUiOmNhc2UicmVhZE9ubHkiOmNhc2UicmVxdWlyZWQiOmNhc2UicmV2ZXJzZWQiOmNhc2Uic2NvcGVkIjpjYXNlInNlYW1sZXNzIjpjYXNlIml0ZW1TY29wZSI6YSYmdHlwZW9mIGEhPSJmdW5jdGlvbiImJnR5cGVvZiBhIT0ic3ltYm9sIj9sLnNldEF0dHJpYnV0ZSh1LCIiKTpsLnJlbW92ZUF0dHJpYnV0ZSh1KTticmVhaztjYXNlImNhcHR1cmUiOmNhc2UiZG93bmxvYWQiOmE9PT0hMD9sLnNldEF0dHJpYnV0ZSh1LCIiKTphIT09ITEmJmEhPW51bGwmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI/bC5zZXRBdHRyaWJ1dGUodSxhKTpsLnJlbW92ZUF0dHJpYnV0ZSh1KTticmVhaztjYXNlImNvbHMiOmNhc2Uicm93cyI6Y2FzZSJzaXplIjpjYXNlInNwYW4iOmEhPW51bGwmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCImJiFpc05hTihhKSYmMTw9YT9sLnNldEF0dHJpYnV0ZSh1LGEpOmwucmVtb3ZlQXR0cmlidXRlKHUpO2JyZWFrO2Nhc2Uicm93U3BhbiI6Y2FzZSJzdGFydCI6YT09bnVsbHx8dHlwZW9mIGE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBhPT0ic3ltYm9sInx8aXNOYU4oYSk/bC5yZW1vdmVBdHRyaWJ1dGUodSk6bC5zZXRBdHRyaWJ1dGUodSxhKTticmVhaztjYXNlInBvcG92ZXIiOnAoImJlZm9yZXRvZ2dsZSIsbCkscCgidG9nZ2xlIixsKSxkbihsLCJwb3BvdmVyIixhKTticmVhaztjYXNlInhsaW5rQWN0dWF0ZSI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmFjdHVhdGUiLGEpO2JyZWFrO2Nhc2UieGxpbmtBcmNyb2xlIjpQdChsLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6YXJjcm9sZSIsYSk7YnJlYWs7Y2FzZSJ4bGlua1JvbGUiOlB0KGwsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpyb2xlIixhKTticmVhaztjYXNlInhsaW5rU2hvdyI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnNob3ciLGEpO2JyZWFrO2Nhc2UieGxpbmtUaXRsZSI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnRpdGxlIixhKTticmVhaztjYXNlInhsaW5rVHlwZSI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOnR5cGUiLGEpO2JyZWFrO2Nhc2UieG1sQmFzZSI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwieG1sOmJhc2UiLGEpO2JyZWFrO2Nhc2UieG1sTGFuZyI6UHQobCwiaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIiwieG1sOmxhbmciLGEpO2JyZWFrO2Nhc2UieG1sU3BhY2UiOlB0KGwsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpzcGFjZSIsYSk7YnJlYWs7Y2FzZSJpcyI6ZG4obCwiaXMiLGEpO2JyZWFrO2Nhc2UiaW5uZXJUZXh0IjpjYXNlInRleHRDb250ZW50IjpyZXR1cm47ZGVmYXVsdDppZighKDI8dS5sZW5ndGgpfHx1WzBdIT09Im8iJiZ1WzBdIT09Ik8ifHx1WzFdIT09Im4iJiZ1WzFdIT09Ik4iKXU9RTEuZ2V0KHUpfHx1LGRuKGwsdSxhKTtlbHNlIHJldHVybn0kPSEwfWZ1bmN0aW9uIEppKGwsdCx1LGEsZSxuKXtzd2l0Y2godSl7Y2FzZSJzdHlsZSI6VzAobCxhLG4pO3JldHVybjtjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihhIT1udWxsKXtpZih0eXBlb2YgYSE9Im9iamVjdCJ8fCEoIl9faHRtbCJpbiBhKSl0aHJvdyBFcnJvcihTKDYxKSk7aWYodT1hLl9faHRtbCx1IT1udWxsKXtpZihlLmNoaWxkcmVuIT1udWxsKXRocm93IEVycm9yKFMoNjApKTtuPy5fX2h0bWwhPT11JiYobC5pbm5lckhUTUw9dSl9fWJyZWFrO2Nhc2UiY2hpbGRyZW4iOmlmKHR5cGVvZiBhPT0ic3RyaW5nIilfYShsLGEpO2Vsc2UgaWYodHlwZW9mIGE9PSJudW1iZXIifHx0eXBlb2YgYT09ImJpZ2ludCIpX2EobCwiIithKTtlbHNlIHJldHVybjticmVhaztjYXNlIm9uU2Nyb2xsIjphIT1udWxsJiZwKCJzY3JvbGwiLGwpO3JldHVybjtjYXNlIm9uU2Nyb2xsRW5kIjphIT1udWxsJiZwKCJzY3JvbGxlbmQiLGwpO3JldHVybjtjYXNlIm9uQ2xpY2siOmEhPW51bGwmJihsLm9uY2xpY2s9anQpO3JldHVybjtjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6cmV0dXJuO2Nhc2UiaW5uZXJUZXh0IjpjYXNlInRleHRDb250ZW50IjpyZXR1cm47ZGVmYXVsdDppZighUTAuaGFzT3duUHJvcGVydHkodSkpbDp7aWYodVswXT09PSJvIiYmdVsxXT09PSJuIiYmKGU9dS5lbmRzV2l0aCgiQ2FwdHVyZSIpLG49dS5zbGljZSgyLGU/dS5sZW5ndGgtNzp2b2lkIDApLHQ9bFtXbF18fG51bGwsdD10IT1udWxsP3RbdV06bnVsbCx0eXBlb2YgdD09ImZ1bmN0aW9uIiYmbC5yZW1vdmVFdmVudExpc3RlbmVyKG4sdCxlKSx0eXBlb2YgYT09ImZ1bmN0aW9uIikpe3R5cGVvZiB0IT0iZnVuY3Rpb24iJiZ0IT09bnVsbCYmKHUgaW4gbD9sW3VdPW51bGw6bC5oYXNBdHRyaWJ1dGUodSkmJmwucmVtb3ZlQXR0cmlidXRlKHUpKSxsLmFkZEV2ZW50TGlzdGVuZXIobixhLGUpO2JyZWFrIGx9JD0hMCx1IGluIGw/bFt1XT1hOmE9PT0hMD9sLnNldEF0dHJpYnV0ZSh1LCIiKTpkbihsLHUsYSl9cmV0dXJufSQ9ITB9ZnVuY3Rpb24gamwobCx0LHUpe3N3aXRjaCh0KXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImltZyI6cCgiZXJyb3IiLGwpLHAoImxvYWQiLGwpO3ZhciBhPSExLGU9ITEsbjtmb3IobiBpbiB1KWlmKHUuaGFzT3duUHJvcGVydHkobikpe3ZhciBmPXVbbl07aWYoZiE9bnVsbClzd2l0Y2gobil7Y2FzZSJzcmMiOmE9ITA7YnJlYWs7Y2FzZSJzcmNTZXQiOmU9ITA7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6dGhyb3cgRXJyb3IoUygxMzcsdCkpO2RlZmF1bHQ6ZWwobCx0LG4sZix1LG51bGwpfX1lJiZlbChsLHQsInNyY1NldCIsdS5zcmNTZXQsdSxudWxsKSxhJiZlbChsLHQsInNyYyIsdS5zcmMsdSxudWxsKTtyZXR1cm47Y2FzZSJpbnB1dCI6cCgiaW52YWxpZCIsbCk7dmFyIGM9bj1mPWU9bnVsbCxpPW51bGwsZD1udWxsO2ZvcihhIGluIHUpaWYodS5oYXNPd25Qcm9wZXJ0eShhKSl7dmFyIGc9dVthXTtpZihnIT1udWxsKXN3aXRjaChhKXtjYXNlIm5hbWUiOmU9ZzticmVhaztjYXNlInR5cGUiOmY9ZzticmVhaztjYXNlImNoZWNrZWQiOmk9ZzticmVhaztjYXNlImRlZmF1bHRDaGVja2VkIjpkPWc7YnJlYWs7Y2FzZSJ2YWx1ZSI6bj1nO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpjPWc7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoZyE9bnVsbCl0aHJvdyBFcnJvcihTKDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDplbChsLHQsYSxnLHUsbnVsbCl9fXgwKGwsbixjLGksZCxmLGUsITEpO3JldHVybjtjYXNlInNlbGVjdCI6cCgiaW52YWxpZCIsbCksYT1mPW49bnVsbDtmb3IoZSBpbiB1KWlmKHUuaGFzT3duUHJvcGVydHkoZSkmJihjPXVbZV0sYyE9bnVsbCkpc3dpdGNoKGUpe2Nhc2UidmFsdWUiOm49YzticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6Zj1jO2JyZWFrO2Nhc2UibXVsdGlwbGUiOmE9YztkZWZhdWx0OmVsKGwsdCxlLGMsdSxudWxsKX10PW4sdT1mLGwubXVsdGlwbGU9ISFhLHQhPW51bGw/YmEobCwhIWEsdCwhMSk6dSE9bnVsbCYmYmEobCwhIWEsdSwhMCk7cmV0dXJuO2Nhc2UidGV4dGFyZWEiOnAoImludmFsaWQiLGwpLG49ZT1hPW51bGw7Zm9yKGYgaW4gdSlpZih1Lmhhc093blByb3BlcnR5KGYpJiYoYz11W2ZdLGMhPW51bGwpKXN3aXRjaChmKXtjYXNlInZhbHVlIjphPWM7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmU9YzticmVhaztjYXNlImNoaWxkcmVuIjpuPWM7YnJlYWs7Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoYyE9bnVsbCl0aHJvdyBFcnJvcihTKDkxKSk7YnJlYWs7ZGVmYXVsdDplbChsLHQsZixjLHUsbnVsbCl9SjAobCxhLGUsbik7cmV0dXJuO2Nhc2Uib3B0aW9uIjpmb3IoaSBpbiB1KXUuaGFzT3duUHJvcGVydHkoaSkmJihhPXVbaV0sYSE9bnVsbCkmJihpPT09InNlbGVjdGVkIj9sLnNlbGVjdGVkPWEmJnR5cGVvZiBhIT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9InN5bWJvbCI6ZWwobCx0LGksYSx1LG51bGwpKTtyZXR1cm47Y2FzZSJkaWFsb2ciOnAoImJlZm9yZXRvZ2dsZSIsbCkscCgidG9nZ2xlIixsKSxwKCJjYW5jZWwiLGwpLHAoImNsb3NlIixsKTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOnAoImxvYWQiLGwpO2JyZWFrO2Nhc2UidmlkZW8iOmNhc2UiYXVkaW8iOmZvcihhPTA7YTxLZS5sZW5ndGg7YSsrKXAoS2VbYV0sbCk7YnJlYWs7Y2FzZSJpbWFnZSI6cCgiZXJyb3IiLGwpLHAoImxvYWQiLGwpO2JyZWFrO2Nhc2UiZGV0YWlscyI6cCgidG9nZ2xlIixsKTticmVhaztjYXNlImVtYmVkIjpjYXNlInNvdXJjZSI6Y2FzZSJsaW5rIjpwKCJlcnJvciIsbCkscCgibG9hZCIsbCk7Y2FzZSJhcmVhIjpjYXNlImJhc2UiOmNhc2UiYnIiOmNhc2UiY29sIjpjYXNlImhyIjpjYXNlImtleWdlbiI6Y2FzZSJtZXRhIjpjYXNlInBhcmFtIjpjYXNlInRyYWNrIjpjYXNlIndiciI6Y2FzZSJtZW51aXRlbSI6Zm9yKGQgaW4gdSlpZih1Lmhhc093blByb3BlcnR5KGQpJiYoYT11W2RdLGEhPW51bGwpKXN3aXRjaChkKXtjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjp0aHJvdyBFcnJvcihTKDEzNyx0KSk7ZGVmYXVsdDplbChsLHQsZCxhLHUsbnVsbCl9cmV0dXJuO2RlZmF1bHQ6aWYoV2YodCkpe2ZvcihnIGluIHUpdS5oYXNPd25Qcm9wZXJ0eShnKSYmKGE9dVtnXSxhIT09dm9pZCAwJiZKaShsLHQsZyxhLHUsdm9pZCAwKSk7cmV0dXJufX1mb3IoYyBpbiB1KXUuaGFzT3duUHJvcGVydHkoYykmJihhPXVbY10sYSE9bnVsbCYmZWwobCx0LGMsYSx1LG51bGwpKX12YXIgdXM9e307ZnVuY3Rpb24gYXMobCx0LHUsYSl7c3dpdGNoKHQpe2Nhc2UiZGl2IjpjYXNlInNwYW4iOmNhc2Uic3ZnIjpjYXNlInBhdGgiOmNhc2UiYSI6Y2FzZSJnIjpjYXNlInAiOmNhc2UibGkiOmJyZWFrO2Nhc2UiaW5wdXQiOnZhciBlPW51bGwsbj1udWxsLGY9bnVsbCxjPW51bGwsaT1udWxsLGQ9bnVsbCxnPW51bGw7Zm9yKGggaW4gdSl7dmFyIEU9dVtoXTtpZih1Lmhhc093blByb3BlcnR5KGgpJiZFIT1udWxsKXN3aXRjaChoKXtjYXNlImNoZWNrZWQiOmJyZWFrO2Nhc2UidmFsdWUiOmJyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjppPUU7ZGVmYXVsdDphLmhhc093blByb3BlcnR5KGgpfHxlbChsLHQsaCxudWxsLGEsRSl9fWZvcih2YXIgeSBpbiBhKXt2YXIgaD1hW3ldO2lmKEU9dVt5XSxhLmhhc093blByb3BlcnR5KHkpJiYoaCE9bnVsbHx8RSE9bnVsbCkpc3dpdGNoKHkpe2Nhc2UidHlwZSI6aCE9PUUmJigkPSEwKSxuPWg7YnJlYWs7Y2FzZSJuYW1lIjpoIT09RSYmKCQ9ITApLGU9aDticmVhaztjYXNlImNoZWNrZWQiOmghPT1FJiYoJD0hMCksZD1oO2JyZWFrO2Nhc2UiZGVmYXVsdENoZWNrZWQiOmghPT1FJiYoJD0hMCksZz1oO2JyZWFrO2Nhc2UidmFsdWUiOmghPT1FJiYoJD0hMCksZj1oO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpoIT09RSYmKCQ9ITApLGM9aDticmVhaztjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihoIT1udWxsKXRocm93IEVycm9yKFMoMTM3LHQpKTticmVhaztkZWZhdWx0OmghPT1FJiZlbChsLHQseSxoLGEsRSl9fUpmKGwsZixjLGksZCxnLG4sZSk7cmV0dXJuO2Nhc2Uic2VsZWN0IjpoPWY9Yz15PW51bGw7Zm9yKG4gaW4gdSlpZihpPXVbbl0sdS5oYXNPd25Qcm9wZXJ0eShuKSYmaSE9bnVsbClzd2l0Y2gobil7Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJtdWx0aXBsZSI6aD1pO2RlZmF1bHQ6YS5oYXNPd25Qcm9wZXJ0eShuKXx8ZWwobCx0LG4sbnVsbCxhLGkpfWZvcihlIGluIGEpaWYobj1hW2VdLGk9dVtlXSxhLmhhc093blByb3BlcnR5KGUpJiYobiE9bnVsbHx8aSE9bnVsbCkpc3dpdGNoKGUpe2Nhc2UidmFsdWUiOm4hPT1pJiYoJD0hMCkseT1uO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpuIT09aSYmKCQ9ITApLGM9bjticmVhaztjYXNlIm11bHRpcGxlIjpuIT09aSYmKCQ9ITApLGY9bjtkZWZhdWx0Om4hPT1pJiZlbChsLHQsZSxuLGEsaSl9dD1jLHU9ZixhPWgseSE9bnVsbD9iYShsLCEhdSx5LCExKTohIWEhPSEhdSYmKHQhPW51bGw/YmEobCwhIXUsdCwhMCk6YmEobCwhIXUsdT9bXToiIiwhMSkpO3JldHVybjtjYXNlInRleHRhcmVhIjpoPXk9bnVsbDtmb3IoYyBpbiB1KWlmKGU9dVtjXSx1Lmhhc093blByb3BlcnR5KGMpJiZlIT1udWxsJiYhYS5oYXNPd25Qcm9wZXJ0eShjKSlzd2l0Y2goYyl7Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJjaGlsZHJlbiI6YnJlYWs7ZGVmYXVsdDplbChsLHQsYyxudWxsLGEsZSl9Zm9yKGYgaW4gYSlpZihlPWFbZl0sbj11W2ZdLGEuaGFzT3duUHJvcGVydHkoZikmJihlIT1udWxsfHxuIT1udWxsKSlzd2l0Y2goZil7Y2FzZSJ2YWx1ZSI6ZSE9PW4mJigkPSEwKSx5PWU7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmUhPT1uJiYoJD0hMCksaD1lO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmJyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKGUhPW51bGwpdGhyb3cgRXJyb3IoUyg5MSkpO2JyZWFrO2RlZmF1bHQ6ZSE9PW4mJmVsKGwsdCxmLGUsYSxuKX1LMChsLHksaCk7cmV0dXJuO2Nhc2Uib3B0aW9uIjpmb3IodmFyIGIgaW4gdSl5PXVbYl0sdS5oYXNPd25Qcm9wZXJ0eShiKSYmeSE9bnVsbCYmIWEuaGFzT3duUHJvcGVydHkoYikmJihiPT09InNlbGVjdGVkIj9sLnNlbGVjdGVkPSExOmVsKGwsdCxiLG51bGwsYSx5KSk7Zm9yKGkgaW4gYSl5PWFbaV0saD11W2ldLGEuaGFzT3duUHJvcGVydHkoaSkmJnkhPT1oJiYoeSE9bnVsbHx8aCE9bnVsbCkmJihpPT09InNlbGVjdGVkIj8oeSE9PWgmJigkPSEwKSxsLnNlbGVjdGVkPXkmJnR5cGVvZiB5IT0iZnVuY3Rpb24iJiZ0eXBlb2YgeSE9InN5bWJvbCIpOmVsKGwsdCxpLHksYSxoKSk7cmV0dXJuO2Nhc2UiaW1nIjpjYXNlImxpbmsiOmNhc2UiYXJlYSI6Y2FzZSJiYXNlIjpjYXNlImJyIjpjYXNlImNvbCI6Y2FzZSJlbWJlZCI6Y2FzZSJociI6Y2FzZSJrZXlnZW4iOmNhc2UibWV0YSI6Y2FzZSJwYXJhbSI6Y2FzZSJzb3VyY2UiOmNhc2UidHJhY2siOmNhc2Uid2JyIjpjYXNlIm1lbnVpdGVtIjpmb3IodmFyIEEgaW4gdSl5PXVbQV0sdS5oYXNPd25Qcm9wZXJ0eShBKSYmeSE9bnVsbCYmIWEuaGFzT3duUHJvcGVydHkoQSkmJmVsKGwsdCxBLG51bGwsYSx5KTtmb3IoZCBpbiBhKWlmKHk9YVtkXSxoPXVbZF0sYS5oYXNPd25Qcm9wZXJ0eShkKSYmeSE9PWgmJih5IT1udWxsfHxoIT1udWxsKSlzd2l0Y2goZCl7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYoeSE9bnVsbCl0aHJvdyBFcnJvcihTKDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDplbChsLHQsZCx5LGEsaCl9cmV0dXJuO2RlZmF1bHQ6aWYoV2YodCkpe2Zvcih2YXIgaiBpbiB1KXk9dVtqXSx1Lmhhc093blByb3BlcnR5KGopJiZ5IT09dm9pZCAwJiYhYS5oYXNPd25Qcm9wZXJ0eShqKSYmSmkobCx0LGosdm9pZCAwLGEseSk7Zm9yKGcgaW4gYSl5PWFbZ10saD11W2ddLCFhLmhhc093blByb3BlcnR5KGcpfHx5PT09aHx8eT09PXZvaWQgMCYmaD09PXZvaWQgMHx8SmkobCx0LGcseSxhLGgpO3JldHVybn19Zm9yKHZhciBtIGluIHUpeT11W21dLHUuaGFzT3duUHJvcGVydHkobSkmJnkhPW51bGwmJiFhLmhhc093blByb3BlcnR5KG0pJiZlbChsLHQsbSxudWxsLGEseSk7Zm9yKEUgaW4gYSl5PWFbRV0saD11W0VdLCFhLmhhc093blByb3BlcnR5KEUpfHx5PT09aHx8eT09bnVsbCYmaD09bnVsbHx8ZWwobCx0LEUseSxhLGgpfWZ1bmN0aW9uIHRtKGwpe3N3aXRjaChsKXtjYXNlImNzcyI6Y2FzZSJzY3JpcHQiOmNhc2UiZm9udCI6Y2FzZSJpbWciOmNhc2UiaW1hZ2UiOmNhc2UiaW5wdXQiOmNhc2UibGluayI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gZXMoKXtpZih0eXBlb2YgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZT09ImZ1bmN0aW9uIil7Zm9yKHZhciBsPTAsdD0wLHU9cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKSxhPTA7YTx1Lmxlbmd0aDthKyspe3ZhciBlPXVbYV0sbj1lLnRyYW5zZmVyU2l6ZSxmPWUuaW5pdGlhdG9yVHlwZSxjPWUuZHVyYXRpb247aWYobiYmYyYmdG0oZikpe2ZvcihmPTAsYz1lLnJlc3BvbnNlRW5kLGErPTE7YTx1Lmxlbmd0aDthKyspe3ZhciBpPXVbYV0sZD1pLnN0YXJ0VGltZTtpZihkPmMpYnJlYWs7dmFyIGc9aS50cmFuc2ZlclNpemUsRT1pLmluaXRpYXRvclR5cGU7ZyYmdG0oRSkmJihpPWkucmVzcG9uc2VFbmQsZis9ZyooaTxjPzE6KGMtZCkvKGktZCkpKX1pZigtLWEsdCs9OCoobitmKS8oZS5kdXJhdGlvbi8xZTMpLGwrKywxMDxsKWJyZWFrfX1pZigwPGwpcmV0dXJuIHQvbC8xZTZ9cmV0dXJuIG5hdmlnYXRvci5jb25uZWN0aW9uJiYobD1uYXZpZ2F0b3IuY29ubmVjdGlvbi5kb3dubGluayx0eXBlb2YgbD09Im51bWJlciIpP2w6NX12YXIgd2k9bnVsbCxXaT1udWxsO2Z1bmN0aW9uIHdlKGwpe3JldHVybiBsLm5vZGVUeXBlPT09OT9sOmwub3duZXJEb2N1bWVudH1mdW5jdGlvbiB1bShsKXtzd2l0Y2gobCl7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6cmV0dXJuIDE7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBhbShsLHQpe2lmKGw9PT0wKXN3aXRjaCh0KXtjYXNlInN2ZyI6cmV0dXJuIDE7Y2FzZSJtYXRoIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfXJldHVybiBsPT09MSYmdD09PSJmb3JlaWduT2JqZWN0Ij8wOmx9ZnVuY3Rpb24gZW0obCx0LHUsYSl7cmV0dXJuIHU9d2UodSkuY3JlYXRlRWxlbWVudChsKSx1W3FsXT1hLHVbV2xdPXQsamwodSxsLHQpLE1sKHUpLHV9ZnVuY3Rpb24gJGkobCx0KXtyZXR1cm4gbD09PSJ0ZXh0YXJlYSJ8fGw9PT0ibm9zY3JpcHQifHx0eXBlb2YgdC5jaGlsZHJlbj09InN0cmluZyJ8fHR5cGVvZiB0LmNoaWxkcmVuPT0ibnVtYmVyInx8dHlwZW9mIHQuY2hpbGRyZW49PSJiaWdpbnQifHx0eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTD09Im9iamVjdCImJnQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwhPT1udWxsJiZ0LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCE9bnVsbH12YXIgRmk9bnVsbDtmdW5jdGlvbiBucygpe3ZhciBsPXdpbmRvdy5ldmVudDtyZXR1cm4gbCYmbC50eXBlPT09InBvcHN0YXRlIj9sPT09Rmk/ITE6KEZpPWwsITApOihGaT1udWxsLCExKX12YXIgSWk9dHlwZW9mIHNldFRpbWVvdXQ9PSJmdW5jdGlvbiI/c2V0VGltZW91dDp2b2lkIDAsZnM9dHlwZW9mIGNsZWFyVGltZW91dD09ImZ1bmN0aW9uIj9jbGVhclRpbWVvdXQ6dm9pZCAwLG5tPXR5cGVvZiBQcm9taXNlPT0iZnVuY3Rpb24iP1Byb21pc2U6dm9pZCAwLGZtPXR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU9PSJmdW5jdGlvbiI/cmVxdWVzdEFuaW1hdGlvbkZyYW1lOklpLGNzPXR5cGVvZiBxdWV1ZU1pY3JvdGFzaz09ImZ1bmN0aW9uIj9xdWV1ZU1pY3JvdGFzazp0eXBlb2Ygbm08InUiP2Z1bmN0aW9uKGwpe3JldHVybiBubS5yZXNvbHZlKG51bGwpLnRoZW4obCkuY2F0Y2goaXMpfTpJaTtmdW5jdGlvbiBpcyhsKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgbH0pfWZ1bmN0aW9uIFF1KGwpe3JldHVybiBsPT09ImhlYWQifWZ1bmN0aW9uIGNtKGwsdCl7dmFyIHU9dCxhPTA7ZG97dmFyIGU9dS5uZXh0U2libGluZztpZihsLnJlbW92ZUNoaWxkKHUpLGUmJmUubm9kZVR5cGU9PT04KWlmKHU9ZS5kYXRhLHU9PT0iLyQifHx1PT09Ii8mIil7aWYoYT09PTApe2wucmVtb3ZlQ2hpbGQoZSksZmUodCk7cmV0dXJufWEtLX1lbHNlIGlmKHU9PT0iJCJ8fHU9PT0iJD8ifHx1PT09IiR+Inx8dT09PSIkISJ8fHU9PT0iJiIpYSsrO2Vsc2UgaWYodT09PSJodG1sIiluMChsLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KTtlbHNlIGlmKHU9PT0iaGVhZCIpe3U9bC5vd25lckRvY3VtZW50LmhlYWQsbjAodSk7Zm9yKHZhciBuPXUuZmlyc3RDaGlsZDtuOyl7dmFyIGY9bi5uZXh0U2libGluZyxjPW4ubm9kZU5hbWU7blt5ZV18fGM9PT0iU0NSSVBUInx8Yz09PSJTVFlMRSJ8fGM9PT0iTElOSyImJm4ucmVsLnRvTG93ZXJDYXNlKCk9PT0ic3R5bGVzaGVldCJ8fHUucmVtb3ZlQ2hpbGQobiksbj1mfX1lbHNlIHU9PT0iYm9keSImJm4wKGwub3duZXJEb2N1bWVudC5ib2R5KTt1PWV9d2hpbGUodSk7ZmUodCl9ZnVuY3Rpb24gaW0obCx0KXt2YXIgdT1sO2w9MDtkb3t2YXIgYT11Lm5leHRTaWJsaW5nO2lmKHUubm9kZVR5cGU9PT0xP3Q/KHUuX3N0YXNoZWREaXNwbGF5PXUuc3R5bGUuZGlzcGxheSx1LnN0eWxlLmRpc3BsYXk9Im5vbmUiKToodS5zdHlsZS5kaXNwbGF5PXUuX3N0YXNoZWREaXNwbGF5fHwiIix1LmdldEF0dHJpYnV0ZSgic3R5bGUiKT09PSIiJiZ1LnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKSk6dS5ub2RlVHlwZT09PTMmJih0Pyh1Ll9zdGFzaGVkVGV4dD11Lm5vZGVWYWx1ZSx1Lm5vZGVWYWx1ZT0iIik6dS5ub2RlVmFsdWU9dS5fc3Rhc2hlZFRleHR8fCIiKSxhJiZhLm5vZGVUeXBlPT09OClpZih1PWEuZGF0YSx1PT09Ii8kIil7aWYobD09PTApYnJlYWs7bC0tfWVsc2UgdSE9PSIkIiYmdSE9PSIkPyImJnUhPT0iJH4iJiZ1IT09IiQhInx8bCsrO3U9YX13aGlsZSh1KX1mdW5jdGlvbiB2bShsLHQsdSl7aWYodD1DU1MuZXNjYXBlKHQpIT09dD8ici0iK2J0b2EodCkucmVwbGFjZSgvPS9nLCIiKTp0LGwuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPXQsdSE9bnVsbCYmKGwuc3R5bGUudmlld1RyYW5zaXRpb25DbGFzcz11KSx1PWdldENvbXB1dGVkU3R5bGUobCksdS5kaXNwbGF5PT09ImlubGluZSIpe2lmKHQ9bC5nZXRDbGllbnRSZWN0cygpLHQubGVuZ3RoPT09MSl2YXIgYT0xO2Vsc2UgZm9yKHZhciBlPWE9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIG49dFtlXTswPG4ud2lkdGgmJjA8bi5oZWlnaHQmJmErK31hPT09MSYmKGw9bC5zdHlsZSxsLmRpc3BsYXk9dC5sZW5ndGg9PT0xPyJpbmxpbmUtYmxvY2siOiJibG9jayIsbC5tYXJnaW5Ub3A9Ii0iK3UucGFkZGluZ1RvcCxsLm1hcmdpbkJvdHRvbT0iLSIrdS5wYWRkaW5nQm90dG9tKX19ZnVuY3Rpb24gb20obCx0KXtsPWwuc3R5bGUsdD10LnN0eWxlO3ZhciB1PXQhPW51bGw/dC5oYXNPd25Qcm9wZXJ0eSgidmlld1RyYW5zaXRpb25OYW1lIik/dC52aWV3VHJhbnNpdGlvbk5hbWU6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLW5hbWUiKT90WyJ2aWV3LXRyYW5zaXRpb24tbmFtZSJdOm51bGw6bnVsbDtsLnZpZXdUcmFuc2l0aW9uTmFtZT11PT1udWxsfHx0eXBlb2YgdT09ImJvb2xlYW4iPyIiOigiIit1KS50cmltKCksdT10IT1udWxsP3QuaGFzT3duUHJvcGVydHkoInZpZXdUcmFuc2l0aW9uQ2xhc3MiKT90LnZpZXdUcmFuc2l0aW9uQ2xhc3M6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLWNsYXNzIik/dFsidmlldy10cmFuc2l0aW9uLWNsYXNzIl06bnVsbDpudWxsLGwudmlld1RyYW5zaXRpb25DbGFzcz11PT1udWxsfHx0eXBlb2YgdT09ImJvb2xlYW4iPyIiOigiIit1KS50cmltKCksbC5kaXNwbGF5PT09ImlubGluZS1ibG9jayImJih0PT1udWxsP2wuZGlzcGxheT1sLm1hcmdpbj0iIjoodT10LmRpc3BsYXksbC5kaXNwbGF5PXU9PW51bGx8fHR5cGVvZiB1PT0iYm9vbGVhbiI/IiI6dSx1PXQubWFyZ2luLHUhPW51bGw/bC5tYXJnaW49dToodT10Lmhhc093blByb3BlcnR5KCJtYXJnaW5Ub3AiKT90Lm1hcmdpblRvcDp0WyJtYXJnaW4tdG9wIl0sbC5tYXJnaW5Ub3A9dT09bnVsbHx8dHlwZW9mIHU9PSJib29sZWFuIj8iIjp1LHQ9dC5oYXNPd25Qcm9wZXJ0eSgibWFyZ2luQm90dG9tIik/dC5tYXJnaW5Cb3R0b206dFsibWFyZ2luLWJvdHRvbSJdLGwubWFyZ2luQm90dG9tPXQ9PW51bGx8fHR5cGVvZiB0PT0iYm9vbGVhbiI/IiI6dCkpKX1mdW5jdGlvbiB2cyhsLHQsdSl7cmV0dXJuIHU9dS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHtyZWN0OmwsYWJzOnQucG9zaXRpb249PT0iYWJzb2x1dGUifHx0LnBvc2l0aW9uPT09ImZpeGVkIixjbGlwOnQuY2xpcFBhdGghPT0ibm9uZSJ8fHQub3ZlcmZsb3chPT0idmlzaWJsZSJ8fHQuZmlsdGVyIT09Im5vbmUifHx0Lm1hc2shPT0ibm9uZSJ8fHQubWFzayE9PSJub25lInx8dC5ib3JkZXJSYWRpdXMhPT0iMHB4Iix2aWV3OjA8PWwuYm90dG9tJiYwPD1sLnJpZ2h0JiZsLnRvcDw9dS5pbm5lckhlaWdodCYmbC5sZWZ0PD11LmlubmVyV2lkdGh9fWZ1bmN0aW9uIGtpKGwpe3ZhciB0PWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdT1nZXRDb21wdXRlZFN0eWxlKGwpO3JldHVybiB2cyh0LHUsbCl9ZnVuY3Rpb24gb3MobCl7cmV0dXJuIGwuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodH1mdW5jdGlvbiB5cyhsKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGwpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGwpfWZ1bmN0aW9uIG1zKGwsdCx1LGEsZSxuLGYsYyxpKXt2YXIgZD10Lm5vZGVUeXBlPT09OT90OnQub3duZXJEb2N1bWVudDt0cnl7dmFyIGc9ZC5zdGFydFZpZXdUcmFuc2l0aW9uKHt1cGRhdGU6ZnVuY3Rpb24oKXt2YXIgeT1kLmRlZmF1bHRWaWV3LGg9eS5uYXZpZ2F0aW9uJiZ5Lm5hdmlnYXRpb24udHJhbnNpdGlvbixiPWQuZm9udHMuc3RhdHVzO2EoKTt2YXIgQT1bXTtpZihiPT09ImxvYWRlZCImJihvcyhkKSxkLmZvbnRzLnN0YXR1cz09PSJsb2FkaW5nIiYmQS5wdXNoKGQuZm9udHMucmVhZHkpKSxiPUEubGVuZ3RoLGwhPT1udWxsKWZvcih2YXIgaj1sLnN1c3BlbnNleUltYWdlcyxtPTAsdj0wO3Y8ai5sZW5ndGg7disrKXt2YXIgcz1qW3ZdO2lmKCFzLmNvbXBsZXRlKXt2YXIgcj1zLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKDA8ci5ib3R0b20mJjA8ci5yaWdodCYmci50b3A8eS5pbm5lckhlaWdodCYmci5sZWZ0PHkuaW5uZXJXaWR0aCl7aWYobSs9Um0ocyksbT5BZil7QS5sZW5ndGg9YjticmVha31zPW5ldyBQcm9taXNlKHlzLmJpbmQocykpLEEucHVzaChzKX19fWlmKDA8QS5sZW5ndGgpcmV0dXJuIHk9UHJvbWlzZS5yYWNlKFtQcm9taXNlLmFsbChBKSxuZXcgUHJvbWlzZShmdW5jdGlvbihPKXtyZXR1cm4gc2V0VGltZW91dChPLDUwMCl9KV0pLnRoZW4oZSxlKSwoaD9Qcm9taXNlLmFsbFNldHRsZWQoW2guZmluaXNoZWQseV0pOnkpLnRoZW4obixuKTtpZihlKCksaClyZXR1cm4gaC5maW5pc2hlZC50aGVuKG4sbik7bigpfSx0eXBlczp1fSk7ZC5fX3JlYWN0Vmlld1RyYW5zaXRpb249Zzt2YXIgRT1bXTtyZXR1cm4gZy5yZWFkeS50aGVuKGZ1bmN0aW9uKCl7Zm9yKHZhciB5PWQuZG9jdW1lbnRFbGVtZW50LmdldEFuaW1hdGlvbnMoe3N1YnRyZWU6ITB9KSxoPTA7aDx5Lmxlbmd0aDtoKyspe3ZhciBiPXlbaF0sQT1iLmVmZmVjdCxqPUEucHNldWRvRWxlbWVudDtpZihqIT1udWxsJiZqLnN0YXJ0c1dpdGgoIjo6dmlldy10cmFuc2l0aW9uIikpe0UucHVzaChiKSxiPUEuZ2V0S2V5ZnJhbWVzKCk7Zm9yKHZhciBtPWo9dm9pZCAwLHY9ITAscz0wO3M8Yi5sZW5ndGg7cysrKXt2YXIgcj1iW3NdLE89ci53aWR0aDtpZihqPT09dm9pZCAwKWo9TztlbHNlIGlmKGohPT1PKXt2PSExO2JyZWFrfWlmKE89ci5oZWlnaHQsbT09PXZvaWQgMCltPU87ZWxzZSBpZihtIT09Tyl7dj0hMTticmVha31kZWxldGUgci53aWR0aCxkZWxldGUgci5oZWlnaHQsci50cmFuc2Zvcm09PT0ibm9uZSImJmRlbGV0ZSByLnRyYW5zZm9ybX12JiZqIT09dm9pZCAwJiZtIT09dm9pZCAwJiYoQS5zZXRLZXlmcmFtZXMoYiksdj1nZXRDb21wdXRlZFN0eWxlKEEudGFyZ2V0LEEucHNldWRvRWxlbWVudCksdi53aWR0aCE9PWp8fHYuaGVpZ2h0IT09bSkmJih2PWJbMF0sdi53aWR0aD1qLHYuaGVpZ2h0PW0sdj1iW2IubGVuZ3RoLTFdLHYud2lkdGg9aix2LmhlaWdodD1tLEEuc2V0S2V5ZnJhbWVzKGIpKX19ZigpfSxmdW5jdGlvbih5KXtkLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj09PWcmJihkLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1udWxsKTt0cnl7dHlwZW9mIHk9PSJvYmplY3QiJiZ5IT09bnVsbCYmeS5uYW1lPT09IkludmFsaWRTdGF0ZUVycm9yIiYmKHkubWVzc2FnZT09PSJWaWV3IHRyYW5zaXRpb24gd2FzIHNraXBwZWQgYmVjYXVzZSBkb2N1bWVudCB2aXNpYmlsaXR5IHN0YXRlIGlzIGhpZGRlbi4ifHx5Lm1lc3NhZ2U9PT0iU2tpcHBpbmcgdmlldyB0cmFuc2l0aW9uIGJlY2F1c2UgZG9jdW1lbnQgdmlzaWJpbGl0eSBzdGF0ZSBoYXMgYmVjb21lIGhpZGRlbi4ifHx5Lm1lc3NhZ2U9PT0iU2tpcHBpbmcgdmlldyB0cmFuc2l0aW9uIGJlY2F1c2Ugdmlld3BvcnQgc2l6ZSBjaGFuZ2VkLiJ8fHkubWVzc2FnZT09PSJUcmFuc2l0aW9uIHdhcyBhYm9ydGVkIGJlY2F1c2Ugb2YgaW52YWxpZCBzdGF0ZSIpJiYoeT1udWxsKSx5IT09bnVsbCYmaSh5KX1maW5hbGx5e2EoKSxlKCksZigpfX0pLGcuZmluaXNoZWQuZmluYWxseShmdW5jdGlvbigpe2Zvcih2YXIgeT0wO3k8RS5sZW5ndGg7eSsrKUVbeV0uY2FuY2VsKCk7ZC5fX3JlYWN0Vmlld1RyYW5zaXRpb249PT1nJiYoZC5fX3JlYWN0Vmlld1RyYW5zaXRpb249bnVsbCksYygpfSksZ31jYXRjaHtyZXR1cm4gYSgpLGUoKSxmKCksbnVsbH19ZnVuY3Rpb24gaGEobCx0KXt0aGlzLl9zY29wZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy5fc2VsZWN0b3I9Ijo6dmlldy10cmFuc2l0aW9uLSIrbCsiKCIrdCsiKSJ9aGEucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24obCx0KXtyZXR1cm4gdD10eXBlb2YgdD09Im51bWJlciI/e2R1cmF0aW9uOnR9OlYoe30sdCksdC5wc2V1ZG9FbGVtZW50PXRoaXMuX3NlbGVjdG9yLHRoaXMuX3Njb3BlLmFuaW1hdGUobCx0KX0saGEucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIGw9dGhpcy5fc2NvcGUsdD10aGlzLl9zZWxlY3Rvcix1PWwuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLGE9W10sZT0wO2U8dS5sZW5ndGg7ZSsrKXt2YXIgbj11W2VdLmVmZmVjdDtuIT09bnVsbCYmbi50YXJnZXQ9PT1sJiZuLnBzZXVkb0VsZW1lbnQ9PT10JiZhLnB1c2godVtlXSl9cmV0dXJuIGF9LGhhLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5fc2NvcGUsdGhpcy5fc2VsZWN0b3IpfTtmdW5jdGlvbiB5bShsKXtyZXR1cm57bmFtZTpsLGdyb3VwOm5ldyBoYSgiZ3JvdXAiLGwpLGltYWdlUGFpcjpuZXcgaGEoImltYWdlLXBhaXIiLGwpLG9sZDpuZXcgaGEoIm9sZCIsbCksbmV3Om5ldyBoYSgibmV3IixsKX19ZnVuY3Rpb24gc3QobCl7dGhpcy5fZnJhZ21lbnRGaWJlcj1sLHRoaXMuX29ic2VydmVycz10aGlzLl9ldmVudExpc3RlbmVycz1udWxsfXN0LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGwsdCx1KXt2YXIgYT1udWxsLGU9bnVsbDtpZighKHUhPW51bGwmJnR5cGVvZiB1IT0iYm9vbGVhbiImJihhPXUuc2lnbmFsfHxudWxsLGEhPT1udWxsJiZhLmFib3J0ZWQpKSl7dGhpcy5fZXZlbnRMaXN0ZW5lcnM9PT1udWxsJiYodGhpcy5fZXZlbnRMaXN0ZW5lcnM9W10pO3ZhciBuPXRoaXMuX2V2ZW50TGlzdGVuZXJzO2lmKGRtKG4sbCx0LHUpPT09LTEpe3ZhciBmPXRoaXMsYz10O3UhPW51bGwmJnR5cGVvZiB1IT0iYm9vbGVhbiImJnUub25jZT09PSEwJiYoYz1mdW5jdGlvbihpKXtmLnJlbW92ZUV2ZW50TGlzdGVuZXIobCx0LHUpLHR5cGVvZiB0PT0iZnVuY3Rpb24iP3QuY2FsbCh0aGlzLGkpOnQuaGFuZGxlRXZlbnQoaSl9KSxhIT09bnVsbCYmKGU9Zi5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQoZixsLHQsdSksYS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsZSx7b25jZTohMH0pLGU9YS5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQoYSwiYWJvcnQiLGUpKSxhPWxlKHUpLG4ucHVzaCh7dHlwZTpsLGxpc3RlbmVyOnQsb3B0aW9uc09yVXNlQ2FwdHVyZTp1LGF0dGFjaGVkTGlzdGVuZXI6YyxjbGVhbnVwOmV9KSxUKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsZHMsbCxjLGEpfXRoaXMuX2V2ZW50TGlzdGVuZXJzPW59fTtmdW5jdGlvbiBkcyhsLHQsdSxhKXtyZXR1cm4gdmwobCkuYWRkRXZlbnRMaXN0ZW5lcih0LHUsYSksITF9c3QucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24obCx0LHUpe3ZhciBhPXRoaXMuX2V2ZW50TGlzdGVuZXJzO2lmKGEhPT1udWxsJiYodD1kbShhLGwsdCx1KSx0IT09LTEpKXt2YXIgZT1hW3RdO3U9ZS5hdHRhY2hlZExpc3RlbmVyO3ZhciBuPWUuY2xlYW51cDtlPWxlKGUub3B0aW9uc09yVXNlQ2FwdHVyZSksVCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLHNzLGwsdSxlKSxhLnNwbGljZSh0LDEpLG4hPT1udWxsJiZuKCl9fTtmdW5jdGlvbiBzcyhsLHQsdSxhKXtyZXR1cm4gdmwobCkucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LHUsYSksITF9ZnVuY3Rpb24gbGUobCl7cmV0dXJuIGwhPW51bGwmJnR5cGVvZiBsIT0iYm9vbGVhbiImJihsLm9uY2U9PT0hMHx8bC5zaWduYWwgaW5zdGFuY2VvZiBBYm9ydFNpZ25hbCk/e2NhcHR1cmU6bC5jYXB0dXJlLHBhc3NpdmU6bC5wYXNzaXZlfTpsfWZ1bmN0aW9uIG1tKGwpe3JldHVybiBsPT1udWxsPyJjPTAiOnR5cGVvZiBsPT0iYm9vbGVhbiI/ImM9IisobD8iMSI6IjAiKToiYz0iKyhsLmNhcHR1cmU/IjEiOiIwIil9ZnVuY3Rpb24gZG0obCx0LHUsYSl7aWYobC5sZW5ndGg9PT0wKXJldHVybi0xO2E9bW0oYSk7Zm9yKHZhciBlPTA7ZTxsLmxlbmd0aDtlKyspe3ZhciBuPWxbZV07aWYobi50eXBlPT09dCYmbi5saXN0ZW5lcj09PXUmJm1tKG4ub3B0aW9uc09yVXNlQ2FwdHVyZSk9PT1hKXJldHVybiBlfXJldHVybi0xfXN0LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGwpe3ZhciB0PUgodGhpcy5fZnJhZ21lbnRGaWJlcik7aWYodD09PW51bGwpcmV0dXJuITA7dD12bCh0KTt2YXIgdT10aGlzLl9ldmVudExpc3RlbmVycztpZih1IT09bnVsbCYmMDx1Lmxlbmd0aHx8IWwuYnViYmxlcyl7dmFyIGE9dC5ub2RlVHlwZT09PTk/dC5jcmVhdGVDb21tZW50KCIiKTpkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIik7aWYodSlmb3IodmFyIGU9MDtlPHUubGVuZ3RoO2UrKyl7dmFyIG49dVtlXTthLmFkZEV2ZW50TGlzdGVuZXIobi50eXBlLG4uYXR0YWNoZWRMaXN0ZW5lcixsZShuLm9wdGlvbnNPclVzZUNhcHR1cmUpKX1pZih0LmFwcGVuZENoaWxkKGEpLGw9YS5kaXNwYXRjaEV2ZW50KGwpLHUpZm9yKGU9MDtlPHUubGVuZ3RoO2UrKyluPXVbZV0sYS5yZW1vdmVFdmVudExpc3RlbmVyKG4udHlwZSxuLmF0dGFjaGVkTGlzdGVuZXIsbGUobi5vcHRpb25zT3JVc2VDYXB0dXJlKSk7cmV0dXJuIHQucmVtb3ZlQ2hpbGQoYSksbH1yZXR1cm4gdC5kaXNwYXRjaEV2ZW50KGwpfSxzdC5wcm90b3R5cGUuZm9jdXM9ZnVuY3Rpb24obCl7VCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCEwLHNtLGwsdm9pZCAwLHZvaWQgMCl9O2Z1bmN0aW9uIHNtKGwsdCl7cmV0dXJuIGwudGFnPT09Nj8hMToobD12bChsKSxOcyhsLHQpKX1zdC5wcm90b3R5cGUuZm9jdXNMYXN0PWZ1bmN0aW9uKGwpe3ZhciB0PVtdO1QodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxQaSx0LHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgdT10Lmxlbmd0aC0xOzA8PXUmJiFzbSh0W3VdLGwpO3UtLSk7fTtmdW5jdGlvbiBQaShsLHQpe3JldHVybiB0LnB1c2gobCksITF9c3QucHJvdG90eXBlLmJsdXI9ZnVuY3Rpb24oKXt2YXIgbD1IKHRoaXMuX2ZyYWdtZW50RmliZXIpO2whPT1udWxsJiYobD12bChsKSxsPXdlKGwpLmFjdGl2ZUVsZW1lbnQsbCE9PW51bGwmJlQodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxocyxsLHZvaWQgMCx2b2lkIDApKX07ZnVuY3Rpb24gaHMobCx0KXtyZXR1cm4gbC50YWc9PT02PyExOihsPXZsKGwpLGw9PT10fHxsLmNvbnRhaW5zKHQpPyh0LmJsdXIoKSwhMCk6ITEpfXN0LnByb3RvdHlwZS5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24obCl7dGhpcy5fb2JzZXJ2ZXJzPT09bnVsbCYmKHRoaXMuX29ic2VydmVycz1uZXcgU2V0KSx0aGlzLl9vYnNlcnZlcnMuYWRkKGwpLFQodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxncyxsLHZvaWQgMCx2b2lkIDApfTtmdW5jdGlvbiBncyhsLHQpe3JldHVybiBsLnRhZz09PTZ8fChsPXZsKGwpLHQub2JzZXJ2ZShsKSksITF9c3QucHJvdG90eXBlLnVub2JzZXJ2ZVVzaW5nPWZ1bmN0aW9uKGwpe3ZhciB0PXRoaXMuX29ic2VydmVycztpZih0IT09bnVsbCYmdC5oYXMobCkpe3QuZGVsZXRlKGwpLFQodGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxTcyxsLHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgdT10PTA7dTxZdC5sZW5ndGg7dSsrKXt2YXIgYT1ZdFt1XTthLmZyYWdtZW50SW5zdGFuY2U9PT10aGlzJiZhLm9ic2VydmVyPT09bD9sLnVub2JzZXJ2ZShhLmluc3RhbmNlKTpZdFt0KytdPWF9WXQubGVuZ3RoPXR9fTtmdW5jdGlvbiBTcyhsLHQpe3JldHVybiBsLnRhZz09PTZ8fChsPXZsKGwpLHQudW5vYnNlcnZlKGwpKSwhMX12YXIgWXQ9W10sbDA9ITE7ZnVuY3Rpb24gcnMobCx0LHUpe1l0LnB1c2goe2ZyYWdtZW50SW5zdGFuY2U6bCxvYnNlcnZlcjp0LGluc3RhbmNlOnV9KSxsMHx8KGwwPSEwLERzKGZ1bmN0aW9uKCl7bDA9ITE7dmFyIGE9WXQ7WXQ9W107Zm9yKHZhciBlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBuPWFbZV07bi5vYnNlcnZlci51bm9ic2VydmUobi5pbnN0YW5jZSl9fSkpfXN0LnByb3RvdHlwZS5nZXRDbGllbnRSZWN0cz1mdW5jdGlvbigpe3ZhciBsPVtdO3JldHVybiBUKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsVHMsbCx2b2lkIDAsdm9pZCAwKSxsfTtmdW5jdGlvbiBUcyhsLHQpe2lmKGwudGFnPT09Nil7bD1sLnN0YXRlTm9kZTt2YXIgdT1sLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt1LnNlbGVjdE5vZGVDb250ZW50cyhsKSx0LnB1c2guYXBwbHkodCx1LmdldENsaWVudFJlY3RzKCkpfWVsc2UgbD12bChsKSx0LnB1c2guYXBwbHkodCxsLmdldENsaWVudFJlY3RzKCkpO3JldHVybiExfXN0LnByb3RvdHlwZS5nZXRSb290Tm9kZT1mdW5jdGlvbihsKXt2YXIgdD1IKHRoaXMuX2ZyYWdtZW50RmliZXIpO3JldHVybiB0PT09bnVsbD90aGlzOnZsKHQpLmdldFJvb3ROb2RlKGwpfSxzdC5wcm90b3R5cGUuY29tcGFyZURvY3VtZW50UG9zaXRpb249ZnVuY3Rpb24obCl7dmFyIHQ9SCh0aGlzLl9mcmFnbWVudEZpYmVyKTtpZih0PT09bnVsbClyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7dmFyIHU9W107VCh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLFBpLHUsdm9pZCAwLHZvaWQgMCk7dmFyIGE9dmwodCk7aWYodS5sZW5ndGg9PT0wKXtpZih1PWEsTmwodGhpcy5fZnJhZ21lbnRGaWJlcikpe2w6e2Zvcih0PXRoaXMuX2ZyYWdtZW50RmliZXIucmV0dXJuO3QhPT1udWxsOyl7aWYodC50YWc9PT00KXt0PXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87YnJlYWsgbH1pZih0LnRhZz09PTN8fHQudGFnPT09NXx8dC50YWc9PT0yNylicmVhazt0PXQucmV0dXJufXQ9bnVsbH10IT1udWxsJiYodT10KX10PXRoaXMuX2ZyYWdtZW50RmliZXI7dmFyIGU9YT11LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGwpO3JldHVybiB1PT09bD9lPU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlM6YSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSYmKHU9bHQodClbMV0sdT09PW51bGw/ZT1Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORzoobD12bCh1KS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSxlPWw9PT0wfHxsJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HP05vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HOk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HKSksZXw9Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ310PXZsKHVbMF0pLGU9dmwodVt1Lmxlbmd0aC0xXSk7dmFyIG49TmwodGhpcy5fZnJhZ21lbnRGaWJlcik/dC5wYXJlbnRFbGVtZW50OmE7aWYobj09bnVsbClyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7YT1uLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLG49bi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWTt2YXIgZj10LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGwpLGM9ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSxpPWYmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQll8fGMmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlk7cmV0dXJuIGM9YSYmbiYmZiZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyYmYyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORyx0PWEmJnQ9PT1sfHxuJiZlPT09bHx8aXx8Yz9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWTohYSYmdD09PWx8fCFuJiZlPT09bD9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDOmYsdCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRHx8dCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0lNUExFTUVOVEFUSU9OX1NQRUNJRklDfHxFcyh0LHRoaXMuX2ZyYWdtZW50RmliZXIsdVswXSx1W3UubGVuZ3RoLTFdLGwpP3Q6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ307ZnVuY3Rpb24gRXMobCx0LHUsYSxlKXt2YXIgbj1XdShlKTtpZihsJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZKXtpZih1PSEhbilsOntmb3IoO24hPT1udWxsOyl7aWYobi50YWc9PT03JiYobj09PXR8fG4uYWx0ZXJuYXRlPT09dCkpe3U9ITA7YnJlYWsgbH1uPW4ucmV0dXJufXU9ITF9cmV0dXJuIHV9aWYobCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5TKXtpZihuPT09bnVsbClyZXR1cm4gbj1lLm93bmVyRG9jdW1lbnQsZT09PW58fGU9PT1uLmRvY3VtZW50RWxlbWVudHx8ZT09PW4uYm9keTtsOntmb3Iobj10LHQ9SCh0KTtuIT09bnVsbDspe2lmKCEobi50YWchPT01JiZuLnRhZyE9PTMmJm4udGFnIT09Mjd8fG4hPT10JiZuLmFsdGVybmF0ZSE9PXQpKXtuPSEwO2JyZWFrIGx9bj1uLnJldHVybn1uPSExfXJldHVybiBufXJldHVybiBsJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPygodD0hIW4pJiYhKHQ9bj09PXUpJiYodD11dCh1LG4sQnQpLHQ9PT1udWxsP3Q9ITE6KFQodCwhMCx4dSxuLHUpLG49aHQsaHQ9bnVsbCx0PW4hPT1udWxsKSksdCk6bCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORz8oKHQ9ISFuKSYmISh0PW49PT1hKSYmKHQ9dXQoYSxuLEJ0KSx0PT09bnVsbD90PSExOihUKHQsITAscXQsbixhKSxuPWh0LHR0PWh0PW51bGwsdD1uIT09bnVsbCkpLHQpOiExfWZ1bmN0aW9uIGhtKGwsdCl7dmFyIHU9bC5vd25lckRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7dS5zZWxlY3ROb2RlQ29udGVudHMobCksbD11LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHdpbmRvdy5zY3JvbGxUbyh3aW5kb3cuc2Nyb2xsWCtsLmxlZnQsdD93aW5kb3cuc2Nyb2xsWStsLnRvcDp3aW5kb3cuc2Nyb2xsWStsLmJvdHRvbS13aW5kb3cuaW5uZXJIZWlnaHQpfXN0LnByb3RvdHlwZS5zY3JvbGxJbnRvVmlldz1mdW5jdGlvbihsKXtpZih0eXBlb2YgbD09Im9iamVjdCIpdGhyb3cgRXJyb3IoUyg1NjYpKTt2YXIgdD1bXTtUKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsUGksdCx2b2lkIDAsdm9pZCAwKTt2YXIgdT1sIT09ITE7aWYodC5sZW5ndGg9PT0wKXt2YXIgYT1sdCh0aGlzLl9mcmFnbWVudEZpYmVyKTtpZihhPXU/YVsxXXx8YVswXXx8SCh0aGlzLl9mcmFnbWVudEZpYmVyKTphWzBdfHxhWzFdLGE9PT1udWxsKXJldHVybjtpZihhLnRhZz09PTYpe2w9dmwoYSksaG0obCx1KTtyZXR1cm59aWYoYT12bChhKSxhLm5vZGVUeXBlIT09OSl7aWYoYS5ub2RlVHlwZT09PTExKXt1PSJob3N0ImluIGE/YS5ob3N0Om51bGwsdSE9PW51bGwmJnUuc2Nyb2xsSW50b1ZpZXcobCk7cmV0dXJufWEuc2Nyb2xsSW50b1ZpZXcobCl9fWZvcihhPXU/dC5sZW5ndGgtMTowO2EhPT0odT8tMTp0Lmxlbmd0aCk7KXt2YXIgZT10W2FdO2UudGFnPT09Nj8oZT12bChlKSxobShlLHUpKTp2bChlKS5zY3JvbGxJbnRvVmlldyhsKSxhKz11Py0xOjF9fTtmdW5jdGlvbiB6cyhsLHQpe3JldHVybiBsPXZsKGwpLGdtKGwsdCksITF9ZnVuY3Rpb24gZ20obCx0KXtsLnJlYWN0RnJhZ21lbnRzPT1udWxsJiYobC5yZWFjdEZyYWdtZW50cz1uZXcgU2V0KSxsLnJlYWN0RnJhZ21lbnRzLmFkZCh0KX1mdW5jdGlvbiBTbShsLHQpe3ZhciB1PXQuX2V2ZW50TGlzdGVuZXJzO2lmKHUhPT1udWxsKWZvcih2YXIgYT0wO2E8dS5sZW5ndGg7YSsrKXt2YXIgZT11W2FdO2wuYWRkRXZlbnRMaXN0ZW5lcihlLnR5cGUsZS5hdHRhY2hlZExpc3RlbmVyLGxlKGUub3B0aW9uc09yVXNlQ2FwdHVyZSkpfWwubm9kZVR5cGUhPT0zJiYodT10Ll9vYnNlcnZlcnMsdSE9PW51bGwmJnUuZm9yRWFjaChmdW5jdGlvbihuKXtmb3IodmFyIGY9MCxjPTA7YzxZdC5sZW5ndGg7YysrKXt2YXIgaT1ZdFtjXTsoaS5mcmFnbWVudEluc3RhbmNlIT09dHx8aS5vYnNlcnZlciE9PW58fGkuaW5zdGFuY2UhPT1sKSYmKFl0W2YrK109aSl9WXQubGVuZ3RoPWYsbi5vYnNlcnZlKGwpfSksZ20obCx0KSl9ZnVuY3Rpb24gYnMobCx0KXt2YXIgdT10Ll9ldmVudExpc3RlbmVycztpZih1IT09bnVsbClmb3IodmFyIGE9MDthPHUubGVuZ3RoO2ErKyl7dmFyIGU9dVthXTtsLnJlbW92ZUV2ZW50TGlzdGVuZXIoZS50eXBlLGUuYXR0YWNoZWRMaXN0ZW5lcixsZShlLm9wdGlvbnNPclVzZUNhcHR1cmUpKX1sLm5vZGVUeXBlIT09MyYmKHU9dC5fb2JzZXJ2ZXJzLHUhPT1udWxsJiZ1LmZvckVhY2goZnVuY3Rpb24obil7dHlwZW9mIG4ucm9vdE1hcmdpbj09InN0cmluZyI/cnModCxuLGwpOm4udW5vYnNlcnZlKGwpfSksbC5yZWFjdEZyYWdtZW50cyE9bnVsbCYmbC5yZWFjdEZyYWdtZW50cy5kZWxldGUodCkpfWZ1bmN0aW9uIHQwKGwpe3ZhciB0PWwuZmlyc3RDaGlsZDtmb3IodCYmdC5ub2RlVHlwZT09PTEwJiYodD10Lm5leHRTaWJsaW5nKTt0Oyl7dmFyIHU9dDtzd2l0Y2godD10Lm5leHRTaWJsaW5nLHUubm9kZU5hbWUpe2Nhc2UiSFRNTCI6Y2FzZSJIRUFEIjpjYXNlIkJPRFkiOnQwKHUpLG1uKHUpO2NvbnRpbnVlO2Nhc2UiU0NSSVBUIjpjYXNlIlNUWUxFIjpjb250aW51ZTtjYXNlIkxJTksiOmlmKHUucmVsLnRvTG93ZXJDYXNlKCk9PT0ic3R5bGVzaGVldCIpY29udGludWV9bC5yZW1vdmVDaGlsZCh1KX19ZnVuY3Rpb24gX3MobCx0LHUsYSl7Zm9yKDtsLm5vZGVUeXBlPT09MTspe3ZhciBlPXU7aWYobC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpIT09dC50b0xvd2VyQ2FzZSgpKXtpZighYSYmKGwubm9kZU5hbWUhPT0iSU5QVVQifHxsLnR5cGUhPT0iaGlkZGVuIikpYnJlYWt9ZWxzZSBpZihhKXtpZighbFt5ZV0pc3dpdGNoKHQpe2Nhc2UibWV0YSI6aWYoIWwuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBsO2Nhc2UibGluayI6aWYobj1sLmdldEF0dHJpYnV0ZSgicmVsIiksbj09PSJzdHlsZXNoZWV0IiYmbC5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO2lmKG4hPT1lLnJlbHx8bC5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShlLmhyZWY9PW51bGx8fGUuaHJlZj09PSIiP251bGw6ZS5ocmVmKXx8bC5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0oZS5jcm9zc09yaWdpbj09bnVsbD9udWxsOmUuY3Jvc3NPcmlnaW4pfHxsLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShlLnRpdGxlPT1udWxsP251bGw6ZS50aXRsZSkpYnJlYWs7cmV0dXJuIGw7Y2FzZSJzdHlsZSI6aWYobC5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBsO2Nhc2Uic2NyaXB0IjppZihuPWwuZ2V0QXR0cmlidXRlKCJzcmMiKSwobiE9PShlLnNyYz09bnVsbD9udWxsOmUuc3JjKXx8bC5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShlLnR5cGU9PW51bGw/bnVsbDplLnR5cGUpfHxsLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShlLmNyb3NzT3JpZ2luPT1udWxsP251bGw6ZS5jcm9zc09yaWdpbikpJiZuJiZsLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIWwuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBsO2RlZmF1bHQ6cmV0dXJuIGx9fWVsc2UgaWYodD09PSJpbnB1dCImJmwudHlwZT09PSJoaWRkZW4iKXt2YXIgbj1lLm5hbWU9PW51bGw/bnVsbDoiIitlLm5hbWU7aWYoZS50eXBlPT09ImhpZGRlbiImJmwuZ2V0QXR0cmlidXRlKCJuYW1lIik9PT1uKXJldHVybiBsfWVsc2UgcmV0dXJuIGw7aWYobD1BdChsLm5leHRTaWJsaW5nKSxsPT09bnVsbClicmVha31yZXR1cm4gbnVsbH1mdW5jdGlvbiBPcyhsLHQsdSl7aWYodD09PSIiKXJldHVybiBudWxsO2Zvcig7bC5ub2RlVHlwZSE9PTM7KWlmKChsLm5vZGVUeXBlIT09MXx8bC5ub2RlTmFtZSE9PSJJTlBVVCJ8fGwudHlwZSE9PSJoaWRkZW4iKSYmIXV8fChsPUF0KGwubmV4dFNpYmxpbmcpLGw9PT1udWxsKSlyZXR1cm4gbnVsbDtyZXR1cm4gbH1mdW5jdGlvbiBybShsLHQpe2Zvcig7bC5ub2RlVHlwZSE9PTg7KWlmKChsLm5vZGVUeXBlIT09MXx8bC5ub2RlTmFtZSE9PSJJTlBVVCJ8fGwudHlwZSE9PSJoaWRkZW4iKSYmIXR8fChsPUF0KGwubmV4dFNpYmxpbmcpLGw9PT1udWxsKSlyZXR1cm4gbnVsbDtyZXR1cm4gbH1mdW5jdGlvbiB1MChsKXtyZXR1cm4gbC5kYXRhPT09IiQ/Inx8bC5kYXRhPT09IiR+In1mdW5jdGlvbiBhMChsKXtyZXR1cm4gbC5kYXRhPT09IiQhInx8bC5kYXRhPT09IiQ/IiYmbC5vd25lckRvY3VtZW50LnJlYWR5U3RhdGUhPT0ibG9hZGluZyJ9ZnVuY3Rpb24gQXMobCx0KXt2YXIgdT1sLm93bmVyRG9jdW1lbnQ7aWYobC5kYXRhPT09IiR+IilsLl9yZWFjdFJldHJ5PXQ7ZWxzZSBpZihsLmRhdGEhPT0iJD8ifHx1LnJlYWR5U3RhdGUhPT0ibG9hZGluZyIpdCgpO2Vsc2V7dmFyIGE9ZnVuY3Rpb24oKXt0KCksdS5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixhKX07dS5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixhKSxsLl9yZWFjdFJldHJ5PWF9fWZ1bmN0aW9uIEF0KGwpe2Zvcig7bCE9bnVsbDtsPWwubmV4dFNpYmxpbmcpe3ZhciB0PWwubm9kZVR5cGU7aWYodD09PTF8fHQ9PT0zKWJyZWFrO2lmKHQ9PT04KXtpZih0PWwuZGF0YSx0PT09IiQifHx0PT09IiQhInx8dD09PSIkPyJ8fHQ9PT0iJH4ifHx0PT09IiYifHx0PT09IkYhInx8dD09PSJGIilicmVhaztpZih0PT09Ii8kInx8dD09PSIvJiIpcmV0dXJuIG51bGx9fXJldHVybiBsfXZhciBlMD1udWxsO2Z1bmN0aW9uIFRtKGwpe2w9bC5uZXh0U2libGluZztmb3IodmFyIHQ9MDtsOyl7aWYobC5ub2RlVHlwZT09PTgpe3ZhciB1PWwuZGF0YTtpZih1PT09Ii8kInx8dT09PSIvJiIpe2lmKHQ9PT0wKXJldHVybiBBdChsLm5leHRTaWJsaW5nKTt0LS19ZWxzZSB1IT09IiQiJiZ1IT09IiQhIiYmdSE9PSIkPyImJnUhPT0iJH4iJiZ1IT09IiYifHx0Kyt9bD1sLm5leHRTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIEVtKGwpe2w9bC5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciB0PTA7bDspe2lmKGwubm9kZVR5cGU9PT04KXt2YXIgdT1sLmRhdGE7aWYodT09PSIkInx8dT09PSIkISJ8fHU9PT0iJD8ifHx1PT09IiR+Inx8dT09PSImIil7aWYodD09PTApcmV0dXJuIGw7dC0tfWVsc2UgdSE9PSIvJCImJnUhPT0iLyYifHx0Kyt9bD1sLnByZXZpb3VzU2libGluZ31yZXR1cm4gbnVsbH1mdW5jdGlvbiBOcyhsLHQpe2Z1bmN0aW9uIHUoKXthPSEwfWlmKGwub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50PT09bClyZXR1cm4hMDt2YXIgYT0hMTt0cnl7bC5vd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIix1LCEwKSwobC5mb2N1c3x8SFRNTEVsZW1lbnQucHJvdG90eXBlLmZvY3VzKS5jYWxsKGwsdCl9ZmluYWxseXtsLm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLHUsITApfXJldHVybiBhfWZ1bmN0aW9uIERzKGwpe2ZtKGZ1bmN0aW9uKCl7Zm0oZnVuY3Rpb24odCl7cmV0dXJuIGwodCl9KX0pfWZ1bmN0aW9uIHptKGwsdCx1KXtzd2l0Y2godD13ZSh1KSxsKXtjYXNlImh0bWwiOmlmKGw9dC5kb2N1bWVudEVsZW1lbnQsIWwpdGhyb3cgRXJyb3IoUyg0NTIpKTtyZXR1cm4gbDtjYXNlImhlYWQiOmlmKGw9dC5oZWFkLCFsKXRocm93IEVycm9yKFMoNDUzKSk7cmV0dXJuIGw7Y2FzZSJib2R5IjppZihsPXQuYm9keSwhbCl0aHJvdyBFcnJvcihTKDQ1NCkpO3JldHVybiBsO2RlZmF1bHQ6dGhyb3cgRXJyb3IoUyg0NTEpKX19ZnVuY3Rpb24gYm0obCx0LHUpe2Zvcih2YXIgYSBpbiB1KXt2YXIgZT11W2FdO3UuaGFzT3duUHJvcGVydHkoYSkmJmUhPW51bGwmJmVsKGwsdCxhLG51bGwsdXMsZSl9dS5kYW5nZXJvdXNseVNldElubmVySFRNTCE9bnVsbCYmKGwudGV4dENvbnRlbnQ9IiIpLGwub25jbGljaz09PWp0JiYobC5vbmNsaWNrPW51bGwpLG1uKGwpfWZ1bmN0aW9uIG4wKGwpe2Zvcih2YXIgdD1sLmF0dHJpYnV0ZXM7dC5sZW5ndGg7KWwucmVtb3ZlQXR0cmlidXRlTm9kZSh0WzBdKTttbihsKX12YXIgTnQ9bmV3IE1hcCxfbT1uZXcgU2V0O2Z1bmN0aW9uIFdlKGwpe2lmKHR5cGVvZiBsLmdldFJvb3ROb2RlPT0iZnVuY3Rpb24iKXt2YXIgdD1sLmdldFJvb3ROb2RlKCk7aWYodC5ub2RlVHlwZT09PTl8fHQubm9kZVR5cGU9PT0xMSlyZXR1cm4gdH1yZXR1cm4gbC5ub2RlVHlwZT09PTk/bDpsLm93bmVyRG9jdW1lbnR9dmFyIG11PUcuZDtHLmQ9e2Y6TXMscjpVcyxEOkNzLEM6UnMsTDpIcyxtOllzLFg6QnMsUzpxcyxNOkdzfTtmdW5jdGlvbiBNcygpe3ZhciBsPW11LmYoKSx0PWdmKCk7cmV0dXJuIGx8fHR9ZnVuY3Rpb24gVXMobCl7dmFyIHQ9VGEobCk7dCE9PW51bGwmJnQudGFnPT09NSYmdC50eXBlPT09ImZvcm0iP0FvKHQpOm11LnIobCl9dmFyIHRlPXR5cGVvZiBkb2N1bWVudD4idSI/bnVsbDpkb2N1bWVudDtmdW5jdGlvbiBPbShsLHQsdSl7dmFyIGE9dGU7aWYoYSYmdHlwZW9mIHQ9PSJzdHJpbmciJiZ0KXt2YXIgZT1ydCh0KTtlPSdsaW5rW3JlbD0iJytsKyciXVtocmVmPSInK2UrJyJdJyx0eXBlb2YgdT09InN0cmluZyImJihlKz0nW2Nyb3Nzb3JpZ2luPSInK3UrJyJdJyksX20uaGFzKGUpfHwoX20uYWRkKGUpLGw9e3JlbDpsLGNyb3NzT3JpZ2luOnUsaHJlZjp0fSxhLnF1ZXJ5U2VsZWN0b3IoZSk9PT1udWxsJiYodD1hLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxqbCh0LCJsaW5rIixsKSxNbCh0KSxhLmhlYWQuYXBwZW5kQ2hpbGQodCkpKX19ZnVuY3Rpb24gQ3MobCl7bXUuRChsKSxPbSgiZG5zLXByZWZldGNoIixsLG51bGwpfWZ1bmN0aW9uIFJzKGwsdCl7bXUuQyhsLHQpLE9tKCJwcmVjb25uZWN0IixsLHQpfWZ1bmN0aW9uIEhzKGwsdCx1KXttdS5MKGwsdCx1KTt2YXIgYT10ZTtpZihhJiZsJiZ0KXt2YXIgZT0nbGlua1tyZWw9InByZWxvYWQiXVthcz0iJytydCh0KSsnIl0nO3Q9PT0iaW1hZ2UiJiZ1JiZ1LmltYWdlU3JjU2V0PyhlKz0nW2ltYWdlc3Jjc2V0PSInK3J0KHUuaW1hZ2VTcmNTZXQpKyciXScsdHlwZW9mIHUuaW1hZ2VTaXplcz09InN0cmluZyImJihlKz0nW2ltYWdlc2l6ZXM9IicrcnQodS5pbWFnZVNpemVzKSsnIl0nKSk6ZSs9J1tocmVmPSInK3J0KGwpKyciXSc7dmFyIG49ZTtzd2l0Y2godCl7Y2FzZSJzdHlsZSI6bj11ZShsKTticmVhaztjYXNlInNjcmlwdCI6bj1hZShsKX1pZighKE50LmhhcyhuKXx8KGw9Vih7cmVsOiJwcmVsb2FkIixocmVmOnQ9PT0iaW1hZ2UiJiZ1JiZ1LmltYWdlU3JjU2V0P3ZvaWQgMDpsLGFzOnR9LHUpLE50LnNldChuLGwpLGEucXVlcnlTZWxlY3RvcihlKSE9PW51bGx8fHQ9PT0ic3R5bGUiJiZhLnF1ZXJ5U2VsZWN0b3IoJGUobikpfHx0PT09InNjcmlwdCImJmEucXVlcnlTZWxlY3RvcihGZShuKSkpKSl7dmFyIGY9YS5jcmVhdGVFbGVtZW50KCJsaW5rIik7amwoZiwibGluayIsbCksdD09PSJzdHlsZSImJihmW3luXT0hMCxmLm9ubG9hZD1mLm9uZXJyb3I9ZnVuY3Rpb24oKXtHMChmKX0pLE1sKGYpLGEuaGVhZC5hcHBlbmRDaGlsZChmKX19fWZ1bmN0aW9uIFlzKGwsdCl7bXUubShsLHQpO3ZhciB1PXRlO2lmKHUmJmwpe3ZhciBhPXQmJnR5cGVvZiB0LmFzPT0ic3RyaW5nIj90LmFzOiJzY3JpcHQiLGU9J2xpbmtbcmVsPSJtb2R1bGVwcmVsb2FkIl1bYXM9IicrcnQoYSkrJyJdW2hyZWY9IicrcnQobCkrJyJdJyxuPWU7c3dpdGNoKGEpe2Nhc2UiYXVkaW93b3JrbGV0IjpjYXNlInBhaW50d29ya2xldCI6Y2FzZSJzZXJ2aWNld29ya2VyIjpjYXNlInNoYXJlZHdvcmtlciI6Y2FzZSJ3b3JrZXIiOmNhc2Uic2NyaXB0IjpuPWFlKGwpfWlmKCFOdC5oYXMobikmJihsPVYoe3JlbDoibW9kdWxlcHJlbG9hZCIsaHJlZjpsfSx0KSxOdC5zZXQobixsKSx1LnF1ZXJ5U2VsZWN0b3IoZSk9PT1udWxsKSl7c3dpdGNoKGEpe2Nhc2UiYXVkaW93b3JrbGV0IjpjYXNlInBhaW50d29ya2xldCI6Y2FzZSJzZXJ2aWNld29ya2VyIjpjYXNlInNoYXJlZHdvcmtlciI6Y2FzZSJ3b3JrZXIiOmNhc2Uic2NyaXB0IjppZih1LnF1ZXJ5U2VsZWN0b3IoRmUobikpKXJldHVybn1hPXUuY3JlYXRlRWxlbWVudCgibGluayIpLGpsKGEsImxpbmsiLGwpLE1sKGEpLHUuaGVhZC5hcHBlbmRDaGlsZChhKX19fWZ1bmN0aW9uIHFzKGwsdCx1KXttdS5TKGwsdCx1KTt2YXIgYT10ZTtpZihhJiZsKXt2YXIgZT1FYShhKS5ob2lzdGFibGVTdHlsZXMsbj11ZShsKTt0PXR8fCJkZWZhdWx0Ijt2YXIgZj1lLmdldChuKTtpZighZil7dmFyIGM9e2xvYWRpbmc6MCxwcmVsb2FkOm51bGx9O2lmKGY9YS5xdWVyeVNlbGVjdG9yKCRlKG4pKSljLmxvYWRpbmc9NTtlbHNle2w9Vih7cmVsOiJzdHlsZXNoZWV0IixocmVmOmwsImRhdGEtcHJlY2VkZW5jZSI6dH0sdSksKHU9TnQuZ2V0KG4pKSYmZjAobCx1KTt2YXIgaT1mPWEuY3JlYXRlRWxlbWVudCgibGluayIpO01sKGkpLGpsKGksImxpbmsiLGwpLGkuX3A9bmV3IFByb21pc2UoZnVuY3Rpb24oZCxnKXtpLm9ubG9hZD1kLGkub25lcnJvcj1nfSksaS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe2MubG9hZGluZ3w9MX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7Yy5sb2FkaW5nfD0yfSksYy5sb2FkaW5nfD00LF9mKGYsdCxhKX1mPXt0eXBlOiJzdHlsZXNoZWV0IixpbnN0YW5jZTpmLGNvdW50OjEsc3RhdGU6Y30sZS5zZXQobixmKX19fWZ1bmN0aW9uIEJzKGwsdCl7bXUuWChsLHQpO3ZhciB1PXRlO2lmKHUmJmwpe3ZhciBhPUVhKHUpLmhvaXN0YWJsZVNjcmlwdHMsZT1hZShsKSxuPWEuZ2V0KGUpO258fChuPXUucXVlcnlTZWxlY3RvcihGZShlKSksbnx8KGw9Vih7c3JjOmwsYXN5bmM6ITB9LHQpLCh0PU50LmdldChlKSkmJmMwKGwsdCksbj11LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLE1sKG4pLGpsKG4sImxpbmsiLGwpLHUuaGVhZC5hcHBlbmRDaGlsZChuKSksbj17dHlwZToic2NyaXB0IixpbnN0YW5jZTpuLGNvdW50OjEsc3RhdGU6bnVsbH0sYS5zZXQoZSxuKSl9fWZ1bmN0aW9uIEdzKGwsdCl7bXUuTShsLHQpO3ZhciB1PXRlO2lmKHUmJmwpe3ZhciBhPUVhKHUpLmhvaXN0YWJsZVNjcmlwdHMsZT1hZShsKSxuPWEuZ2V0KGUpO258fChuPXUucXVlcnlTZWxlY3RvcihGZShlKSksbnx8KGw9Vih7c3JjOmwsYXN5bmM6ITAsdHlwZToibW9kdWxlIn0sdCksKHQ9TnQuZ2V0KGUpKSYmYzAobCx0KSxuPXUuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksTWwobiksamwobiwibGluayIsbCksdS5oZWFkLmFwcGVuZENoaWxkKG4pKSxuPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOm4sY291bnQ6MSxzdGF0ZTpudWxsfSxhLnNldChlLG4pKX19ZnVuY3Rpb24gQW0obCx0LHUsYSl7dmFyIGU9KGU9aHUuY3VycmVudCk/V2UoZSk6bnVsbDtpZighZSl0aHJvdyBFcnJvcihTKDQ0NikpO3N3aXRjaChsKXtjYXNlIm1ldGEiOmNhc2UidGl0bGUiOnJldHVybiBudWxsO2Nhc2Uic3R5bGUiOnJldHVybiB0eXBlb2YgdS5wcmVjZWRlbmNlPT0ic3RyaW5nIiYmdHlwZW9mIHUuaHJlZj09InN0cmluZyI/KHU9dWUodS5ocmVmKSx0PUVhKGUpLmhvaXN0YWJsZVN0eWxlcyxhPXQuZ2V0KHUpLGF8fChhPXt0eXBlOiJzdHlsZSIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LHQuc2V0KHUsYSkpLGEpOnt0eXBlOiJ2b2lkIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07Y2FzZSJsaW5rIjppZih1LnJlbD09PSJzdHlsZXNoZWV0IiYmdHlwZW9mIHUuaHJlZj09InN0cmluZyImJnR5cGVvZiB1LnByZWNlZGVuY2U9PSJzdHJpbmciKXtsPXVlKHUuaHJlZik7dmFyIG49RWEoZSkuaG9pc3RhYmxlU3R5bGVzLGY9bi5nZXQobCk7aWYoZnx8KGU9ZS5vd25lckRvY3VtZW50fHxlLGY9e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LG4uc2V0KGwsZiksKG49ZS5xdWVyeVNlbGVjdG9yKCRlKGwpKSk/bi5fcHx8KGYuaW5zdGFuY2U9bixmLnN0YXRlLmxvYWRpbmc9NSk6KG49TnQuZ2V0KGwpLG58fChuPXtyZWw6InByZWxvYWQiLGFzOiJzdHlsZSIsaHJlZjp1LmhyZWYsY3Jvc3NPcmlnaW46dS5jcm9zc09yaWdpbixpbnRlZ3JpdHk6dS5pbnRlZ3JpdHksbWVkaWE6dS5tZWRpYSxocmVmTGFuZzp1LmhyZWZMYW5nLHJlZmVycmVyUG9saWN5OnUucmVmZXJyZXJQb2xpY3l9LE50LnNldChsLG4pKSxYcyhlLGwsbixmLnN0YXRlKSkpLHQmJmE9PT1udWxsKXRocm93IEVycm9yKFMoNTI4LCIiKSk7cmV0dXJuIGZ9aWYodCYmYSE9PW51bGwpdGhyb3cgRXJyb3IoUyg1MjksIiIpKTtyZXR1cm4gbnVsbDtjYXNlInNjcmlwdCI6cmV0dXJuIHQ9dS5hc3luYyx1PXUuc3JjLHR5cGVvZiB1PT0ic3RyaW5nIiYmdCYmdHlwZW9mIHQhPSJmdW5jdGlvbiImJnR5cGVvZiB0IT0ic3ltYm9sIj8odT1hZSh1KSx0PUVhKGUpLmhvaXN0YWJsZVNjcmlwdHMsYT10LmdldCh1KSxhfHwoYT17dHlwZToic2NyaXB0IixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH0sdC5zZXQodSxhKSksYSk6e3R5cGU6InZvaWQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfTtkZWZhdWx0OnRocm93IEVycm9yKFMoNDQ0LGwpKX19ZnVuY3Rpb24gdWUobCl7cmV0dXJuJ2hyZWY9IicrcnQobCkrJyInfWZ1bmN0aW9uICRlKGwpe3JldHVybidsaW5rW3JlbD0ic3R5bGVzaGVldCJdWycrbCsiXSJ9ZnVuY3Rpb24gTm0obCl7cmV0dXJuIFYoe30sbCx7ImRhdGEtcHJlY2VkZW5jZSI6bC5wcmVjZWRlbmNlLHByZWNlZGVuY2U6bnVsbH0pfWZ1bmN0aW9uIFhzKGwsdCx1LGEpe2lmKHQ9bC5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdWycrdCsiXSIpKXtpZih0W3luXSE9PSEwKXthLmxvYWRpbmc9MTtyZXR1cm59fWVsc2UgdD1sLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSx0W3luXT0hMCx0Lm9ubG9hZD10Lm9uZXJyb3I9RzAuYmluZChudWxsLHQpLGpsKHQsImxpbmsiLHUpLE1sKHQpLGwuaGVhZC5hcHBlbmRDaGlsZCh0KTthLnByZWxvYWQ9dCx0LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIGEubG9hZGluZ3w9MX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7cmV0dXJuIGEubG9hZGluZ3w9Mn0pfWZ1bmN0aW9uIGFlKGwpe3JldHVybidbc3JjPSInK3J0KGwpKyciXSd9ZnVuY3Rpb24gRmUobCl7cmV0dXJuInNjcmlwdFthc3luY10iK2x9ZnVuY3Rpb24gRG0obCx0LHUpe2lmKHQuY291bnQrKyx0Lmluc3RhbmNlPT09bnVsbClzd2l0Y2godC50eXBlKXtjYXNlInN0eWxlIjp2YXIgYT1sLnF1ZXJ5U2VsZWN0b3IoJ3N0eWxlW2RhdGEtaHJlZn49IicrcnQodS5ocmVmKSsnIl0nKTtpZihhKXJldHVybiB0Lmluc3RhbmNlPWEsTWwoYSksYTt2YXIgZT1WKHt9LHUseyJkYXRhLWhyZWYiOnUuaHJlZiwiZGF0YS1wcmVjZWRlbmNlIjp1LnByZWNlZGVuY2UsaHJlZjpudWxsLHByZWNlZGVuY2U6bnVsbH0pO3JldHVybiBhPShsLm93bmVyRG9jdW1lbnR8fGwpLmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksTWwoYSksamwoYSwic3R5bGUiLGUpLF9mKGEsdS5wcmVjZWRlbmNlLGwpLHQuaW5zdGFuY2U9YTtjYXNlInN0eWxlc2hlZXQiOmU9dWUodS5ocmVmKTt2YXIgbj1sLnF1ZXJ5U2VsZWN0b3IoJGUoZSkpO2lmKG4pcmV0dXJuIHQuc3RhdGUubG9hZGluZ3w9NCx0Lmluc3RhbmNlPW4sTWwobiksbjthPU5tKHUpLChlPU50LmdldChlKSkmJmYwKGEsZSksbj0obC5vd25lckRvY3VtZW50fHxsKS5jcmVhdGVFbGVtZW50KCJsaW5rIiksTWwobik7dmFyIGY9bjtyZXR1cm4gZi5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihjLGkpe2Yub25sb2FkPWMsZi5vbmVycm9yPWl9KSxqbChuLCJsaW5rIixhKSx0LnN0YXRlLmxvYWRpbmd8PTQsX2Yobix1LnByZWNlZGVuY2UsbCksdC5pbnN0YW5jZT1uO2Nhc2Uic2NyaXB0IjpyZXR1cm4gbj1hZSh1LnNyYyksKGU9bC5xdWVyeVNlbGVjdG9yKEZlKG4pKSk/KHQuaW5zdGFuY2U9ZSxNbChlKSxlKTooYT11LChlPU50LmdldChuKSkmJihhPVYoe30sdSksYzAoYSxlKSksbD1sLm93bmVyRG9jdW1lbnR8fGwsZT1sLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLE1sKGUpLGpsKGUsImxpbmsiLGEpLGwuaGVhZC5hcHBlbmRDaGlsZChlKSx0Lmluc3RhbmNlPWUpO2Nhc2Uidm9pZCI6cmV0dXJuIG51bGw7ZGVmYXVsdDp0aHJvdyBFcnJvcihTKDQ0Myx0LnR5cGUpKX1lbHNlIHQudHlwZT09PSJzdHlsZXNoZWV0IiYmKHQuc3RhdGUubG9hZGluZyY0KT09PTAmJihhPXQuaW5zdGFuY2UsdC5zdGF0ZS5sb2FkaW5nfD00LF9mKGEsdS5wcmVjZWRlbmNlLGwpKTtyZXR1cm4gdC5pbnN0YW5jZX1mdW5jdGlvbiBfZihsLHQsdSl7Zm9yKHZhciBhPXUucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0nKSxlPWEubGVuZ3RoP2FbYS5sZW5ndGgtMV06bnVsbCxuPWUsZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgYz1hW2ZdO2lmKGMuZGF0YXNldC5wcmVjZWRlbmNlPT09dCluPWM7ZWxzZSBpZihuIT09ZSlicmVha31uP24ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxuLm5leHRTaWJsaW5nKToodD11Lm5vZGVUeXBlPT09OT91LmhlYWQ6dSx0Lmluc2VydEJlZm9yZShsLHQuZmlyc3RDaGlsZCkpfWZ1bmN0aW9uIGYwKGwsdCl7bC5jcm9zc09yaWdpbj09bnVsbCYmKGwuY3Jvc3NPcmlnaW49dC5jcm9zc09yaWdpbiksbC5yZWZlcnJlclBvbGljeT09bnVsbCYmKGwucmVmZXJyZXJQb2xpY3k9dC5yZWZlcnJlclBvbGljeSksbC50aXRsZT09bnVsbCYmKGwudGl0bGU9dC50aXRsZSl9ZnVuY3Rpb24gYzAobCx0KXtsLmNyb3NzT3JpZ2luPT1udWxsJiYobC5jcm9zc09yaWdpbj10LmNyb3NzT3JpZ2luKSxsLnJlZmVycmVyUG9saWN5PT1udWxsJiYobC5yZWZlcnJlclBvbGljeT10LnJlZmVycmVyUG9saWN5KSxsLmludGVncml0eT09bnVsbCYmKGwuaW50ZWdyaXR5PXQuaW50ZWdyaXR5KX12YXIgT2Y9bnVsbDtmdW5jdGlvbiBNbShsLHQsdSl7aWYoT2Y9PT1udWxsKXt2YXIgYT1uZXcgTWFwLGU9T2Y9bmV3IE1hcDtlLnNldCh1LGEpfWVsc2UgZT1PZixhPWUuZ2V0KHUpLGF8fChhPW5ldyBNYXAsZS5zZXQodSxhKSk7aWYoYS5oYXMobCkpcmV0dXJuIGE7Zm9yKGEuc2V0KGwsbnVsbCksdT11LmdldEVsZW1lbnRzQnlUYWdOYW1lKGwpLGU9MDtlPHUubGVuZ3RoO2UrKyl7dmFyIG49dVtlXTtpZighKG5beWVdfHxuW3FsXXx8bD09PSJsaW5rIiYmbi5nZXRBdHRyaWJ1dGUoInJlbCIpPT09InN0eWxlc2hlZXQiKSYmbi5uYW1lc3BhY2VVUkkhPT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciKXt2YXIgZj1uLmdldEF0dHJpYnV0ZSh0KXx8IiI7Zj1sK2Y7dmFyIGM9YS5nZXQoZik7Yz9jLnB1c2gobik6YS5zZXQoZixbbl0pfX1yZXR1cm4gYX1mdW5jdGlvbiBpMChsLHQsdSl7bD1sLm93bmVyRG9jdW1lbnR8fGwsbC5oZWFkLmluc2VydEJlZm9yZSh1LHQ9PT0idGl0bGUiP2wucXVlcnlTZWxlY3RvcigiaGVhZCA+IHRpdGxlIik6bnVsbCl9ZnVuY3Rpb24gUXMobCx0LHUpe2lmKHU9PT0xfHx0Lml0ZW1Qcm9wIT1udWxsKXJldHVybiExO3N3aXRjaChsKXtjYXNlIm1ldGEiOmNhc2UidGl0bGUiOnJldHVybiEwO2Nhc2Uic3R5bGUiOmlmKHR5cGVvZiB0LnByZWNlZGVuY2UhPSJzdHJpbmcifHx0eXBlb2YgdC5ocmVmIT0ic3RyaW5nInx8dC5ocmVmPT09IiIpYnJlYWs7cmV0dXJuITA7Y2FzZSJsaW5rIjppZih0eXBlb2YgdC5yZWwhPSJzdHJpbmcifHx0eXBlb2YgdC5ocmVmIT0ic3RyaW5nInx8dC5ocmVmPT09IiJ8fHQub25Mb2FkfHx0Lm9uRXJyb3IpYnJlYWs7cmV0dXJuIHQucmVsPT09InN0eWxlc2hlZXQiPyhsPXQuZGlzYWJsZWQsdHlwZW9mIHQucHJlY2VkZW5jZT09InN0cmluZyImJmw9PW51bGwpOiEwO2Nhc2Uic2NyaXB0IjppZih0LmFzeW5jJiZ0eXBlb2YgdC5hc3luYyE9ImZ1bmN0aW9uIiYmdHlwZW9mIHQuYXN5bmMhPSJzeW1ib2wiJiYhdC5vbkxvYWQmJiF0Lm9uRXJyb3ImJnQuc3JjJiZ0eXBlb2YgdC5zcmM9PSJzdHJpbmciKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIFVtKGwsdCl7cmV0dXJuIGw9PT0iaW1nIiYmdC5zcmMhPW51bGwmJnQuc3JjIT09IiImJnQub25Mb2FkPT1udWxsJiZ0LmxvYWRpbmchPT0ibGF6eSJ9ZnVuY3Rpb24gQ20obCl7cmV0dXJuIShsLnR5cGU9PT0ic3R5bGVzaGVldCImJihsLnN0YXRlLmxvYWRpbmcmMyk9PT0wKX1mdW5jdGlvbiBSbShsKXtyZXR1cm4obC53aWR0aHx8MTAwKSoobC5oZWlnaHR8fDEwMCkqKHR5cGVvZiBkZXZpY2VQaXhlbFJhdGlvPT0ibnVtYmVyIj9kZXZpY2VQaXhlbFJhdGlvOjEpKi4yNX1mdW5jdGlvbiBIbShsLHQpe3R5cGVvZiB0LmRlY29kZT09ImZ1bmN0aW9uIiYmKGwuaW1nQ291bnQrKyx0LmNvbXBsZXRlfHwobC5pbWdCeXRlcys9Um0odCksbC5zdXNwZW5zZXlJbWFnZXMucHVzaCh0KSksbD1Wcy5iaW5kKGwpLHQuZGVjb2RlKCkudGhlbihsLGwpKX1mdW5jdGlvbiBqcyhsLHQsdSxhKXtpZih1LnR5cGU9PT0ic3R5bGVzaGVldCImJih0eXBlb2YgYS5tZWRpYSE9InN0cmluZyJ8fG1hdGNoTWVkaWEoYS5tZWRpYSkubWF0Y2hlcyE9PSExKSYmKHUuc3RhdGUubG9hZGluZyY0KT09PTApe2lmKHUuaW5zdGFuY2U9PT1udWxsKXt2YXIgZT11ZShhLmhyZWYpLG49dC5xdWVyeVNlbGVjdG9yKCRlKGUpKTtpZihuKXt0PW4uX3AsdCE9PW51bGwmJnR5cGVvZiB0PT0ib2JqZWN0IiYmdHlwZW9mIHQudGhlbj09ImZ1bmN0aW9uIiYmKGwuY291bnQrKyxsPUllLmJpbmQobCksdC50aGVuKGwsbCkpLHUuc3RhdGUubG9hZGluZ3w9NCx1Lmluc3RhbmNlPW4sTWwobik7cmV0dXJufW49dC5vd25lckRvY3VtZW50fHx0LGE9Tm0oYSksKGU9TnQuZ2V0KGUpKSYmZjAoYSxlKSxuPW4uY3JlYXRlRWxlbWVudCgibGluayIpLE1sKG4pO3ZhciBmPW47Zi5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihjLGkpe2Yub25sb2FkPWMsZi5vbmVycm9yPWl9KSxqbChuLCJsaW5rIixhKSx1Lmluc3RhbmNlPW59bC5zdHlsZXNoZWV0cz09PW51bGwmJihsLnN0eWxlc2hlZXRzPW5ldyBNYXApLGwuc3R5bGVzaGVldHMuc2V0KHUsdCksKHQ9dS5zdGF0ZS5wcmVsb2FkKSYmKHUuc3RhdGUubG9hZGluZyYzKT09PTAmJihsLmNvdW50KyssdT1JZS5iaW5kKGwpLHQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdSksdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdSkpfX12YXIgQWY9MDtmdW5jdGlvbiBacyhsLHQpe3JldHVybiBsLnN0eWxlc2hlZXRzJiZsLmNvdW50PT09MCYmRGYobCxsLnN0eWxlc2hlZXRzKSwwPGwuY291bnR8fDA8bC5pbWdDb3VudD9mdW5jdGlvbih1KXt2YXIgYT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobC5zdHlsZXNoZWV0cyYmRGYobCxsLnN0eWxlc2hlZXRzKSxsLnVuc3VzcGVuZCl7dmFyIG49bC51bnN1c3BlbmQ7bC51bnN1c3BlbmQ9bnVsbCxuKCl9fSw2ZTQrdCk7MDxsLmltZ0J5dGVzJiZBZj09PTAmJihBZj02MjUwMCplcygpKTt2YXIgZT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobC53YWl0aW5nRm9ySW1hZ2VzPSExLGwuY291bnQ9PT0wJiYobC5zdHlsZXNoZWV0cyYmRGYobCxsLnN0eWxlc2hlZXRzKSxsLnVuc3VzcGVuZCkpe3ZhciBuPWwudW5zdXNwZW5kO2wudW5zdXNwZW5kPW51bGwsbigpfX0sKGwuaW1nQnl0ZXM+QWY/NTA6ODAwKSt0KTtyZXR1cm4gbC51bnN1c3BlbmQ9dSxmdW5jdGlvbigpe2wudW5zdXNwZW5kPW51bGwsY2xlYXJUaW1lb3V0KGEpLGNsZWFyVGltZW91dChlKX19Om51bGx9ZnVuY3Rpb24gWW0obCl7aWYobC5jb3VudD09PTAmJihsLmltZ0NvdW50PT09MHx8IWwud2FpdGluZ0ZvckltYWdlcykpe2lmKGwuc3R5bGVzaGVldHMpRGYobCxsLnN0eWxlc2hlZXRzKTtlbHNlIGlmKGwudW5zdXNwZW5kKXt2YXIgdD1sLnVuc3VzcGVuZDtsLnVuc3VzcGVuZD1udWxsLHQoKX19fWZ1bmN0aW9uIEllKCl7dGhpcy5jb3VudC0tLFltKHRoaXMpfWZ1bmN0aW9uIFZzKCl7dGhpcy5pbWdDb3VudC0tLFltKHRoaXMpfXZhciBOZj1udWxsO2Z1bmN0aW9uIERmKGwsdCl7bC5zdHlsZXNoZWV0cz1udWxsLGwudW5zdXNwZW5kIT09bnVsbCYmKGwuY291bnQrKyxOZj1uZXcgTWFwLHQuZm9yRWFjaChMcyxsKSxOZj1udWxsLEllLmNhbGwobCkpfWZ1bmN0aW9uIExzKGwsdCl7aWYoISh0LnN0YXRlLmxvYWRpbmcmNCkpe3ZhciB1PU5mLmdldChsKTtpZih1KXZhciBhPXUuZ2V0KG51bGwpO2Vsc2V7dT1uZXcgTWFwLE5mLnNldChsLHUpO2Zvcih2YXIgZT1sLnF1ZXJ5U2VsZWN0b3JBbGwoImxpbmtbZGF0YS1wcmVjZWRlbmNlXSxzdHlsZVtkYXRhLXByZWNlZGVuY2VdIiksbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgZj1lW25dOyhmLm5vZGVOYW1lPT09IkxJTksifHxmLmdldEF0dHJpYnV0ZSgibWVkaWEiKSE9PSJub3QgYWxsIikmJih1LnNldChmLmRhdGFzZXQucHJlY2VkZW5jZSxmKSxhPWYpfWEmJnUuc2V0KG51bGwsYSl9ZT10Lmluc3RhbmNlLGY9ZS5nZXRBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpLG49dS5nZXQoZil8fGEsbj09PWEmJnUuc2V0KG51bGwsZSksdS5zZXQoZixlKSx0aGlzLmNvdW50KyssYT1JZS5iaW5kKHRoaXMpLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYSksZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsYSksbj9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsbi5uZXh0U2libGluZyk6KGw9bC5ub2RlVHlwZT09PTk/bC5oZWFkOmwsbC5pbnNlcnRCZWZvcmUoZSxsLmZpcnN0Q2hpbGQpKSx0LnN0YXRlLmxvYWRpbmd8PTR9fXZhciBlZT17JCR0eXBlb2Y6RGwsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsLF9jdXJyZW50VmFsdWU6SXQsX2N1cnJlbnRWYWx1ZTI6SXQsX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uIHBzKGwsdCx1LGEsZSxuLGYsYyxpKXt0aGlzLnRhZz0xLHRoaXMuY29udGFpbmVySW5mbz1sLHRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMudGltZW91dEhhbmRsZT0tMSx0aGlzLmNhbGxiYWNrTm9kZT10aGlzLm5leHQ9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9dGhpcy5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsdGhpcy5jYWxsYmFja1ByaW9yaXR5PTAsdGhpcy5leHBpcmF0aW9uVGltZXM9TGYoLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5zaGVsbFN1c3BlbmRDb3VudGVyPXRoaXMuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXM9dGhpcy5leHBpcmVkTGFuZXM9dGhpcy53YXJtTGFuZXM9dGhpcy5waW5nZWRMYW5lcz10aGlzLnN1c3BlbmRlZExhbmVzPXRoaXMucGVuZGluZ0xhbmVzPTAsdGhpcy5lbnRhbmdsZW1lbnRzPUxmKDApLHRoaXMuaGlkZGVuVXBkYXRlcz1MZihudWxsKSx0aGlzLmlkZW50aWZpZXJQcmVmaXg9YSx0aGlzLm9uVW5jYXVnaHRFcnJvcj1lLHRoaXMub25DYXVnaHRFcnJvcj1uLHRoaXMub25SZWNvdmVyYWJsZUVycm9yPWYsdGhpcy5wb29sZWRDYWNoZT1udWxsLHRoaXMucG9vbGVkQ2FjaGVMYW5lcz0wLHRoaXMuZm9ybVN0YXRlPWksdGhpcy50cmFuc2l0aW9uVHlwZXM9bnVsbCx0aGlzLmluY29tcGxldGVUcmFuc2l0aW9ucz1uZXcgTWFwfWZ1bmN0aW9uIHFtKGwsdCx1LGEsZSxuLGYsYyxpLGQsZyxFKXtyZXR1cm4gbD1uZXcgcHMobCx0LHUsZixpLGQsZyxFLGMpLHQ9MSxuPT09ITAmJih0fD0yNCksbj0kbCgzLG51bGwsbnVsbCx0KSxsLmN1cnJlbnQ9bixuLnN0YXRlTm9kZT1sLHQ9X2MoKSx0LnJlZkNvdW50KyssbC5wb29sZWRDYWNoZT10LHQucmVmQ291bnQrKyxuLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6YSxpc0RlaHlkcmF0ZWQ6dSxjYWNoZTp0fSxEYyhuKSxsfWZ1bmN0aW9uIEJtKGwpe3JldHVybiBsPyhsPUNhLGwpOkNhfWZ1bmN0aW9uIEdtKGwsdCx1LGEsZSxuKXtlPUJtKGUpLGEuY29udGV4dD09PW51bGw/YS5jb250ZXh0PWU6YS5wZW5kaW5nQ29udGV4dD1lLGE9TnUodCksYS5wYXlsb2FkPXtlbGVtZW50OnV9LG49bj09PXZvaWQgMD9udWxsOm4sbiE9PW51bGwmJihhLmNhbGxiYWNrPW4pLHU9RHUobCxhLHQpLHUhPT1udWxsJiYoUGwodSxsLHQpLE1lKHUsbCx0KSl9ZnVuY3Rpb24gWG0obCx0KXtpZihsPWwubWVtb2l6ZWRTdGF0ZSxsIT09bnVsbCYmbC5kZWh5ZHJhdGVkIT09bnVsbCl7dmFyIHU9bC5yZXRyeUxhbmU7bC5yZXRyeUxhbmU9dSE9PTAmJnU8dD91OnR9fWZ1bmN0aW9uIHYwKGwsdCl7WG0obCx0KSwobD1sLmFsdGVybmF0ZSkmJlhtKGwsdCl9ZnVuY3Rpb24gUW0obCl7aWYobC50YWc9PT0xM3x8bC50YWc9PT0zMSl7dmFyIHQ9a3UobCw2NzEwODg2NCk7dCE9PW51bGwmJlBsKHQsbCw2NzEwODg2NCksdjAobCw2NzEwODg2NCl9fWZ1bmN0aW9uIGptKGwpe2lmKGwudGFnPT09MTN8fGwudGFnPT09MzEpe3ZhciB0PWR0KCk7dD1wZih0KTt2YXIgdT1rdShsLHQpO3UhPT1udWxsJiZQbCh1LGwsdCksdjAobCx0KX19dmFyIG5lPSEwO2Z1bmN0aW9uIHhzKGwsdCx1LGEpe3ZhciBlPU4uVDtOLlQ9bnVsbDt2YXIgbj1HLnA7dHJ5e0cucD0yLG8wKGwsdCx1LGEpfWZpbmFsbHl7Ry5wPW4sTi5UPWV9fWZ1bmN0aW9uIEtzKGwsdCx1LGEpe3ZhciBlPU4uVDtOLlQ9bnVsbDt2YXIgbj1HLnA7dHJ5e0cucD04LG8wKGwsdCx1LGEpfWZpbmFsbHl7Ry5wPW4sTi5UPWV9fWZ1bmN0aW9uIG8wKGwsdCx1LGEpe2lmKG5lKXt2YXIgZT15MChhKTtpZihlPT09bnVsbClLaShsLHQsYSxNZix1KSxWbShsLGEpO2Vsc2UgaWYod3MoZSxsLHQsdSxhKSlhLnN0b3BQcm9wYWdhdGlvbigpO2Vsc2UgaWYoVm0obCxhKSx0JjQmJi0xPEpzLmluZGV4T2YobCkpe2Zvcig7ZSE9PW51bGw7KXt2YXIgbj1UYShlKTtpZihuIT09bnVsbClzd2l0Y2gobi50YWcpe2Nhc2UgMzppZihuPW4uc3RhdGVOb2RlLG4uY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCl7dmFyIGY9d3Uobi5wZW5kaW5nTGFuZXMpO2lmKGYhPT0wKXt2YXIgYz1uO2ZvcihjLnBlbmRpbmdMYW5lc3w9MixjLmVudGFuZ2xlZExhbmVzfD0yO2Y7KXt2YXIgaT0xPDwzMS1mdChmKTtjLmVudGFuZ2xlbWVudHNbMV18PWksZiY9fml9JHQobiksKGsmNik9PT0wJiYoZGY9ZXQoKSs1MDAseGUoMCkpfX1icmVhaztjYXNlIDMxOmNhc2UgMTM6Yz1rdShuLDIpLGMhPT1udWxsJiZQbChjLG4sMiksZ2YoKSx2MChuLDIpfWlmKG49eTAoYSksbj09PW51bGwmJktpKGwsdCxhLE1mLHUpLG49PT1lKWJyZWFrO2U9bn1lIT09bnVsbCYmYS5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIEtpKGwsdCxhLG51bGwsdSl9fWZ1bmN0aW9uIHkwKGwpe3JldHVybiBsPUZmKGwpLG0wKGwpfXZhciBNZj1udWxsO2Z1bmN0aW9uIG0wKGwpe2lmKE1mPW51bGwsbD1XdShsKSxsIT09bnVsbCl7dmFyIHQ9c2wobCk7aWYodD09PW51bGwpbD1udWxsO2Vsc2V7dmFyIHU9dC50YWc7aWYodT09PTEzKXtpZihsPUpsKHQpLGwhPT1udWxsKXJldHVybiBsO2w9bnVsbH1lbHNlIGlmKHU9PT0zMSl7aWYobD1kdSh0KSxsIT09bnVsbClyZXR1cm4gbDtsPW51bGx9ZWxzZSBpZih1PT09Myl7aWYodC5zdGF0ZU5vZGUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZClyZXR1cm4gdC50YWc9PT0zP3Quc3RhdGVOb2RlLmNvbnRhaW5lckluZm86bnVsbDtsPW51bGx9ZWxzZSB0IT09bCYmKGw9bnVsbCl9fXJldHVybiBNZj1sLG51bGx9ZnVuY3Rpb24gWm0obCl7c3dpdGNoKGwpe2Nhc2UiYmVmb3JldG9nZ2xlIjpjYXNlImNhbmNlbCI6Y2FzZSJjbGljayI6Y2FzZSJjbG9zZSI6Y2FzZSJjb250ZXh0bWVudSI6Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJhdXhjbGljayI6Y2FzZSJkYmxjbGljayI6Y2FzZSJkcmFnZW5kIjpjYXNlImRyYWdzdGFydCI6Y2FzZSJkcm9wIjpjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmNhc2UiaW5wdXQiOmNhc2UiaW52YWxpZCI6Y2FzZSJrZXlkb3duIjpjYXNlImtleXByZXNzIjpjYXNlImtleXVwIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZXVwIjpjYXNlInBhc3RlIjpjYXNlInBhdXNlIjpjYXNlInBsYXkiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVydXAiOmNhc2UicmF0ZWNoYW5nZSI6Y2FzZSJyZXNldCI6Y2FzZSJzZWVrZWQiOmNhc2Uic3VibWl0IjpjYXNlInRvZ2dsZSI6Y2FzZSJ0b3VjaGNhbmNlbCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJ0b3VjaHN0YXJ0IjpjYXNlInZvbHVtZWNoYW5nZSI6Y2FzZSJjaGFuZ2UiOmNhc2Uic2VsZWN0aW9uY2hhbmdlIjpjYXNlInRleHRJbnB1dCI6Y2FzZSJjb21wb3NpdGlvbnN0YXJ0IjpjYXNlImNvbXBvc2l0aW9uZW5kIjpjYXNlImNvbXBvc2l0aW9udXBkYXRlIjpjYXNlImJlZm9yZWJsdXIiOmNhc2UiYWZ0ZXJibHVyIjpjYXNlImJlZm9yZWlucHV0IjpjYXNlImJsdXIiOmNhc2UiZnVsbHNjcmVlbmNoYW5nZSI6Y2FzZSJmdWxsc2NyZWVuZXJyb3IiOmNhc2UiZm9jdXMiOmNhc2UiaGFzaGNoYW5nZSI6Y2FzZSJwb3BzdGF0ZSI6Y2FzZSJzZWxlY3QiOmNhc2Uic2VsZWN0c3RhcnQiOnJldHVybiAyO2Nhc2UiZHJhZyI6Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2V4aXQiOmNhc2UiZHJhZ2xlYXZlIjpjYXNlImRyYWdvdmVyIjpjYXNlIm1vdXNlbW92ZSI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJwb2ludGVyb3ZlciI6Y2FzZSJyZXNpemUiOmNhc2Uic2Nyb2xsIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ3aGVlbCI6Y2FzZSJtb3VzZWVudGVyIjpjYXNlIm1vdXNlbGVhdmUiOmNhc2UicG9pbnRlcmVudGVyIjpjYXNlInBvaW50ZXJsZWF2ZSI6cmV0dXJuIDg7Y2FzZSJtZXNzYWdlIjpzd2l0Y2goZTEoKSl7Y2FzZSBPMDpyZXR1cm4gMjtjYXNlIEEwOnJldHVybiA4O2Nhc2Ugbm46Y2FzZSBuMTpyZXR1cm4gMzI7Y2FzZSBOMDpyZXR1cm4gMjY4NDM1NDU2O2RlZmF1bHQ6cmV0dXJuIDMyfWRlZmF1bHQ6cmV0dXJuIDMyfX12YXIgZDA9ITEsanU9bnVsbCxadT1udWxsLFZ1PW51bGwsa2U9bmV3IE1hcCxQZT1uZXcgTWFwLEx1PVtdLEpzPSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjb3B5IGN1dCBwYXN0ZSBjbGljayBjaGFuZ2UgY29udGV4dG1lbnUgcmVzZXQiLnNwbGl0KCIgIik7ZnVuY3Rpb24gVm0obCx0KXtzd2l0Y2gobCl7Y2FzZSJmb2N1c2luIjpjYXNlImZvY3Vzb3V0IjpqdT1udWxsO2JyZWFrO2Nhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdsZWF2ZSI6WnU9bnVsbDticmVhaztjYXNlIm1vdXNlb3ZlciI6Y2FzZSJtb3VzZW91dCI6VnU9bnVsbDticmVhaztjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJvdXQiOmtlLmRlbGV0ZSh0LnBvaW50ZXJJZCk7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOlBlLmRlbGV0ZSh0LnBvaW50ZXJJZCl9fWZ1bmN0aW9uIGxuKGwsdCx1LGEsZSxuKXtyZXR1cm4gbD09PW51bGx8fGwubmF0aXZlRXZlbnQhPT1uPyhsPXtibG9ja2VkT246dCxkb21FdmVudE5hbWU6dSxldmVudFN5c3RlbUZsYWdzOmEsbmF0aXZlRXZlbnQ6bix0YXJnZXRDb250YWluZXJzOltlXX0sdCE9PW51bGwmJih0PVRhKHQpLHQhPT1udWxsJiZRbSh0KSksbCk6KGwuZXZlbnRTeXN0ZW1GbGFnc3w9YSx0PWwudGFyZ2V0Q29udGFpbmVycyxlIT09bnVsbCYmdC5pbmRleE9mKGUpPT09LTEmJnQucHVzaChlKSxsKX1mdW5jdGlvbiB3cyhsLHQsdSxhLGUpe3N3aXRjaCh0KXtjYXNlImZvY3VzaW4iOnJldHVybiBqdT1sbihqdSxsLHQsdSxhLGUpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gWnU9bG4oWnUsbCx0LHUsYSxlKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIFZ1PWxuKFZ1LGwsdCx1LGEsZSksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIG49ZS5wb2ludGVySWQ7cmV0dXJuIGtlLnNldChuLGxuKGtlLmdldChuKXx8bnVsbCxsLHQsdSxhLGUpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gbj1lLnBvaW50ZXJJZCxQZS5zZXQobixsbihQZS5nZXQobil8fG51bGwsbCx0LHUsYSxlKSksITB9cmV0dXJuITF9ZnVuY3Rpb24gTG0obCl7dmFyIHQ9V3UobC50YXJnZXQpO2lmKHQhPT1udWxsKXt2YXIgdT1zbCh0KTtpZih1IT09bnVsbCl7aWYodD11LnRhZyx0PT09MTMpe2lmKHQ9SmwodSksdCE9PW51bGwpe2wuYmxvY2tlZE9uPXQsWTAobC5wcmlvcml0eSxmdW5jdGlvbigpe2ptKHUpfSk7cmV0dXJufX1lbHNlIGlmKHQ9PT0zMSl7aWYodD1kdSh1KSx0IT09bnVsbCl7bC5ibG9ja2VkT249dCxZMChsLnByaW9yaXR5LGZ1bmN0aW9uKCl7am0odSl9KTtyZXR1cm59fWVsc2UgaWYodD09PTMmJnUuc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2wuYmxvY2tlZE9uPXUudGFnPT09Mz91LnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19bC5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBVZihsKXtpZihsLmJsb2NrZWRPbiE9PW51bGwpcmV0dXJuITE7Zm9yKHZhciB0PWwudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIHU9eTAobC5uYXRpdmVFdmVudCk7aWYodT09PW51bGwpe3U9bC5uYXRpdmVFdmVudDt2YXIgYT1uZXcgdS5jb25zdHJ1Y3Rvcih1LnR5cGUsdSk7JGY9YSx1LnRhcmdldC5kaXNwYXRjaEV2ZW50KGEpLCRmPW51bGx9ZWxzZSByZXR1cm4gdD1UYSh1KSx0IT09bnVsbCYmUW0odCksbC5ibG9ja2VkT249dSwhMTt0LnNoaWZ0KCl9cmV0dXJuITB9ZnVuY3Rpb24gcG0obCx0LHUpe1VmKGwpJiZ1LmRlbGV0ZSh0KX1mdW5jdGlvbiBXcygpe2QwPSExLGp1IT09bnVsbCYmVWYoanUpJiYoanU9bnVsbCksWnUhPT1udWxsJiZVZihadSkmJihadT1udWxsKSxWdSE9PW51bGwmJlVmKFZ1KSYmKFZ1PW51bGwpLGtlLmZvckVhY2gocG0pLFBlLmZvckVhY2gocG0pfWZ1bmN0aW9uIENmKGwsdCl7bC5ibG9ja2VkT249PT10JiYobC5ibG9ja2VkT249bnVsbCxkMHx8KGQwPSEwLEQudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayhELnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LFdzKSkpfXZhciBSZj1udWxsO2Z1bmN0aW9uIHhtKGwpe1JmIT09bCYmKFJmPWwsRC51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKEQudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZnVuY3Rpb24oKXtSZj09PWwmJihSZj1udWxsKTtmb3IodmFyIHQ9MDt0PGwubGVuZ3RoO3QrPTMpe3ZhciB1PWxbdF0sYT1sW3QrMV0sZT1sW3QrMl07aWYodHlwZW9mIGEhPSJmdW5jdGlvbiIpe2lmKG0wKGF8fHUpPT09bnVsbCljb250aW51ZTticmVha312YXIgbj1UYSh1KTtuIT09bnVsbCYmKGwuc3BsaWNlKHQsMyksdC09MyxXYyhuLHtwZW5kaW5nOiEwLGRhdGE6ZSxtZXRob2Q6dS5tZXRob2QsYWN0aW9uOmF9LGEsZSkpfX0pKX1mdW5jdGlvbiBmZShsKXtmdW5jdGlvbiB0KGkpe3JldHVybiBDZihpLGwpfWp1IT09bnVsbCYmQ2YoanUsbCksWnUhPT1udWxsJiZDZihadSxsKSxWdSE9PW51bGwmJkNmKFZ1LGwpLGtlLmZvckVhY2godCksUGUuZm9yRWFjaCh0KTtmb3IodmFyIHU9MDt1PEx1Lmxlbmd0aDt1Kyspe3ZhciBhPUx1W3VdO2EuYmxvY2tlZE9uPT09bCYmKGEuYmxvY2tlZE9uPW51bGwpfWZvcig7MDxMdS5sZW5ndGgmJih1PUx1WzBdLHUuYmxvY2tlZE9uPT09bnVsbCk7KUxtKHUpLHUuYmxvY2tlZE9uPT09bnVsbCYmTHUuc2hpZnQoKTtpZih1PShsLm93bmVyRG9jdW1lbnR8fGwpLiQkcmVhY3RGb3JtUmVwbGF5LHUhPW51bGwpZm9yKGE9MDthPHUubGVuZ3RoO2ErPTMpe3ZhciBlPXVbYV0sbj11W2ErMV0sZj1lW1dsXXx8bnVsbDtpZih0eXBlb2Ygbj09ImZ1bmN0aW9uIilmfHx4bSh1KTtlbHNlIGlmKGYpe3ZhciBjPW51bGw7aWYobiYmbi5oYXNBdHRyaWJ1dGUoImZvcm1BY3Rpb24iKSl7aWYoZT1uLGY9bltXbF18fG51bGwpYz1mLmZvcm1BY3Rpb247ZWxzZSBpZihtMChlKSE9PW51bGwpY29udGludWV9ZWxzZSBjPWYuYWN0aW9uO3R5cGVvZiBjPT0iZnVuY3Rpb24iP3VbYSsxXT1jOih1LnNwbGljZShhLDMpLGEtPTMpLHhtKHUpfX19ZnVuY3Rpb24gS20oKXtmdW5jdGlvbiBsKG4pe24uY2FuSW50ZXJjZXB0JiZuLmluZm89PT0icmVhY3QtdHJhbnNpdGlvbiImJm4uaW50ZXJjZXB0KHtoYW5kbGVyOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGYpe3JldHVybiBlPWZ9KX0sZm9jdXNSZXNldDoibWFudWFsIixzY3JvbGw6Im1hbnVhbCJ9KX1mdW5jdGlvbiB0KCl7ZSE9PW51bGwmJihlKCksZT1udWxsKSxhfHxzZXRUaW1lb3V0KHUsMjApfWZ1bmN0aW9uIHUoKXtpZighYSYmIW5hdmlnYXRpb24udHJhbnNpdGlvbil7dmFyIG49bmF2aWdhdGlvbi5jdXJyZW50RW50cnk7biYmbi51cmwhPW51bGwmJm5hdmlnYXRpb24ubmF2aWdhdGUobi51cmwse3N0YXRlOm4uZ2V0U3RhdGUoKSxpbmZvOiJyZWFjdC10cmFuc2l0aW9uIixoaXN0b3J5OiJyZXBsYWNlIn0pfX1pZih0eXBlb2YgbmF2aWdhdGlvbj09Im9iamVjdCIpe3ZhciBhPSExLGU9bnVsbDtyZXR1cm4gbmF2aWdhdGlvbi5hZGRFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZSIsbCksbmF2aWdhdGlvbi5hZGRFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZXN1Y2Nlc3MiLHQpLG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVlcnJvciIsdCksc2V0VGltZW91dCh1LDEwMCksZnVuY3Rpb24oKXthPSEwLG5hdmlnYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibmF2aWdhdGUiLGwpLG5hdmlnYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVzdWNjZXNzIix0KSxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlZXJyb3IiLHQpLGUhPT1udWxsJiYoZSgpLGU9bnVsbCl9fX1mdW5jdGlvbiBzMChsKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bH1IZi5wcm90b3R5cGUucmVuZGVyPXMwLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24obCl7dmFyIHQ9dGhpcy5faW50ZXJuYWxSb290O2lmKHQ9PT1udWxsKXRocm93IEVycm9yKFMoNDA5KSk7dmFyIHU9dC5jdXJyZW50LGE9ZHQoKTtHbSh1LGEsbCx0LG51bGwsbnVsbCl9LEhmLnByb3RvdHlwZS51bm1vdW50PXMwLnByb3RvdHlwZS51bm1vdW50PWZ1bmN0aW9uKCl7dmFyIGw9dGhpcy5faW50ZXJuYWxSb290O2lmKGwhPT1udWxsKXt0aGlzLl9pbnRlcm5hbFJvb3Q9bnVsbDt2YXIgdD1sLmNvbnRhaW5lckluZm87R20obC5jdXJyZW50LDIsbnVsbCxsLG51bGwsbnVsbCksZ2YoKSx0W3JhXT1udWxsfX07ZnVuY3Rpb24gSGYobCl7dGhpcy5faW50ZXJuYWxSb290PWx9SGYucHJvdG90eXBlLnVuc3RhYmxlX3NjaGVkdWxlSHlkcmF0aW9uPWZ1bmN0aW9uKGwpe2lmKGwpe3ZhciB0PUgwKCk7bD17YmxvY2tlZE9uOm51bGwsdGFyZ2V0OmwscHJpb3JpdHk6dH07Zm9yKHZhciB1PTA7dTxMdS5sZW5ndGgmJnQhPT0wJiZ0PEx1W3VdLnByaW9yaXR5O3UrKyk7THUuc3BsaWNlKHUsMCxsKSx1PT09MCYmTG0obCl9fTt2YXIgSm09Z2wudmVyc2lvbjtpZihKbSE9PSIxOS4zLjEiKXRocm93IEVycm9yKFMoNTI3LEptLCIxOS4zLjEiKSk7Ry5maW5kRE9NTm9kZT1mdW5jdGlvbihsKXt2YXIgdD1sLl9yZWFjdEludGVybmFscztpZih0PT09dm9pZCAwKXRocm93IHR5cGVvZiBsLnJlbmRlcj09ImZ1bmN0aW9uIj9FcnJvcihTKDE4OCkpOihsPU9iamVjdC5rZXlzKGwpLmpvaW4oIiwiKSxFcnJvcihTKDI2OCxsKSkpO3JldHVybiBsPUhsKHQpLGw9bCE9PW51bGw/WShsKTpudWxsLGw9bD09PW51bGw/bnVsbDpsLnN0YXRlTm9kZSxsfTt2YXIgJHM9e2J1bmRsZVR5cGU6MCx2ZXJzaW9uOiIxOS4zLjEiLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSIsY3VycmVudERpc3BhdGNoZXJSZWY6TixyZWNvbmNpbGVyVmVyc2lvbjoiMTkuMy4xIn07aWYodHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXzwidSIpe3ZhciBZZj1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYoIVlmLmlzRGlzYWJsZWQmJllmLnN1cHBvcnRzRmliZXIpdHJ5e2llPVlmLmluamVjdCgkcyksbnQ9WWZ9Y2F0Y2h7fX1yZXR1cm4gdG4uY3JlYXRlUm9vdD1mdW5jdGlvbihsLHQpe2lmKCFmbChsKSl0aHJvdyBFcnJvcihTKDI5OSkpO3ZhciB1PSExLGE9IiIsZT1CbyxuPUdvLGY9WG87cmV0dXJuIHQhPW51bGwmJih0LnVuc3RhYmxlX3N0cmljdE1vZGU9PT0hMCYmKHU9ITApLHQuaWRlbnRpZmllclByZWZpeCE9PXZvaWQgMCYmKGE9dC5pZGVudGlmaWVyUHJlZml4KSx0Lm9uVW5jYXVnaHRFcnJvciE9PXZvaWQgMCYmKGU9dC5vblVuY2F1Z2h0RXJyb3IpLHQub25DYXVnaHRFcnJvciE9PXZvaWQgMCYmKG49dC5vbkNhdWdodEVycm9yKSx0Lm9uUmVjb3ZlcmFibGVFcnJvciE9PXZvaWQgMCYmKGY9dC5vblJlY292ZXJhYmxlRXJyb3IpKSx0PXFtKGwsMSwhMSxudWxsLG51bGwsdSxhLG51bGwsZSxuLGYsS20pLGxbcmFdPXQuY3VycmVudCx4aShsKSxuZXcgczAodCl9LHRuLmh5ZHJhdGVSb290PWZ1bmN0aW9uKGwsdCx1KXtpZighZmwobCkpdGhyb3cgRXJyb3IoUygyOTkpKTt2YXIgYT0hMSxlPSIiLG49Qm8sZj1HbyxjPVhvLGk9bnVsbDtyZXR1cm4gdSE9bnVsbCYmKHUudW5zdGFibGVfc3RyaWN0TW9kZT09PSEwJiYoYT0hMCksdS5pZGVudGlmaWVyUHJlZml4IT09dm9pZCAwJiYoZT11LmlkZW50aWZpZXJQcmVmaXgpLHUub25VbmNhdWdodEVycm9yIT09dm9pZCAwJiYobj11Lm9uVW5jYXVnaHRFcnJvciksdS5vbkNhdWdodEVycm9yIT09dm9pZCAwJiYoZj11Lm9uQ2F1Z2h0RXJyb3IpLHUub25SZWNvdmVyYWJsZUVycm9yIT09dm9pZCAwJiYoYz11Lm9uUmVjb3ZlcmFibGVFcnJvciksdS5mb3JtU3RhdGUhPT12b2lkIDAmJihpPXUuZm9ybVN0YXRlKSksdD1xbShsLDEsITAsdCx1Pz9udWxsLGEsZSxpLG4sZixjLEttKSx0LmNvbnRleHQ9Qm0obnVsbCksdT10LmN1cnJlbnQsYT1kdCgpLGE9cGYoYSksZT1OdShhKSxlLmNhbGxiYWNrPW51bGwsRHUodSxlLGEpLHU9YSx0LmN1cnJlbnQubGFuZXM9dSxvZSh0LHUpLCR0KHQpLGxbcmFdPXQuY3VycmVudCx4aShsKSxuZXcgSGYodCl9LHRuLnZlcnNpb249IjE5LjMuMSIsdG59dmFyIGwxO2Z1bmN0aW9uIGFoKCl7aWYobDEpcmV0dXJuIGcwLmV4cG9ydHM7bDE9MTtmdW5jdGlvbiBEKCl7aWYoISh0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fPiJ1Inx8dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSE9ImZ1bmN0aW9uIikpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShEKX1jYXRjaChnbCl7Y29uc29sZS5lcnJvcihnbCl9fXJldHVybiBEKCksZzAuZXhwb3J0cz11aCgpLGcwLmV4cG9ydHN9dmFyIGVoPWFoKCk7ZnVuY3Rpb24gbmgoKXtjb25zdFtELGdsXT1FMC51c2VTdGF0ZSgibG9hZGluZ+KApiIpO3JldHVybiBFMC51c2VFZmZlY3QoKCk9PntmZXRjaCgiL2FwaS9oZWxsbyIpLnRoZW4odGw9PnRsLmpzb24oKSkudGhlbih0bD0+Z2wodGwubWVzc2FnZSkpLmNhdGNoKCgpPT5nbCgiYXBpIHVucmVhY2hhYmxlIikpfSxbXSksUmVhY3QuY3JlYXRlRWxlbWVudCgibWFpbiIsbnVsbCxSZWFjdC5jcmVhdGVFbGVtZW50KCJoMSIsbnVsbCwiY2h0dHAgKyBSZWFjdCIpLFJlYWN0LmNyZWF0ZUVsZW1lbnQoInAiLG51bGwsIlNlcnZlciBzYXlzOiAiLFJlYWN0LmNyZWF0ZUVsZW1lbnQoInN0cm9uZyIsbnVsbCxEKSkpfWVoLmNyZWF0ZVJvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJvb3QiKSkucmVuZGVyKFJlYWN0LmNyZWF0ZUVsZW1lbnQoRTAuU3RyaWN0TW9kZSxudWxsLFJlYWN0LmNyZWF0ZUVsZW1lbnQobmgsbnVsbCkpKTsK\00" }
+@sc_lit_3371793288775401 = internal global { i64, i64, i64, [41 x i8] } { i64 -1, i64 40, i64 -3332139358139449304, [41 x i8] c"00507fc72189741d84023762b6b0e6f1e1ed901f\00" }
+@sc_lit_4437836837228547 = internal global { i64, i64, i64, [26 x i8] } { i64 -1, i64 25, i64 -540228818363744231, [26 x i8] c"assets/index-DnZghQs_.css\00" }
+@sc_lit_3506423068082710 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -931196306884394985, [24 x i8] c"text/css; charset=utf-8\00" }
+@sc_lit_3782952502569504 = internal global { i64, i64, i64, [217 x i8] } { i64 -1, i64 216, i64 -7904026242507079464, [217 x i8] c"OnJvb3R7Y29sb3Itc2NoZW1lOmxpZ2h0IGRhcms7Zm9udC1mYW1pbHk6c3lzdGVtLXVpLHNhbnMtc2VyaWZ9Ym9keXttYXJnaW46MDtkaXNwbGF5OmdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6MTAwdmh9bWFpbnttYXgtd2lkdGg6NDByZW07cGFkZGluZzoycmVtfQo=\00" }
+@sc_lit_1463982050217829 = internal global { i64, i64, i64, [41 x i8] } { i64 -1, i64 40, i64 -5024633107312017368, [41 x i8] c"ac1c8e3557b7fedf31cb0d85d6f11106007f2405\00" }
+@sc_lit_2088695026021282 = internal global { i64, i64, i64, [533 x i8] } { i64 -1, i64 532, i64 -6217581997720600044, [533 x i8] c"PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04IiAvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiIC8+CiAgICA8dGl0bGU+Y2h0dHAgKyBSZWFjdDwvdGl0bGU+CiAgICA8c2NyaXB0IHR5cGU9Im1vZHVsZSIgY3Jvc3NvcmlnaW4gc3JjPSIvYXNzZXRzL2luZGV4LUJGM1NBMjl2LmpzIj48L3NjcmlwdD4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgY3Jvc3NvcmlnaW4gaHJlZj0iL2Fzc2V0cy9pbmRleC1EblpnaFFzXy5jc3MiPgogIDwvaGVhZD4KICA8Ym9keT4KICAgIDxkaXYgaWQ9InJvb3QiPjwvZGl2PgogIDwvYm9keT4KPC9odG1sPgo=\00" }
+@sc_lit_2698600211138329 = internal global { i64, i64, i64, [41 x i8] } { i64 -1, i64 40, i64 -6266684417490550744, [41 x i8] c"f032cb88b0bd178759a5de7ae98ecfcc62da7090\00" }
+@sc_lit_4377402653539513 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -7467582987421351932, [5 x i8] c"port\00" }
+@sc_lit_3610950885518037 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -5244146523578564603, [6 x i8] c"value\00" }
+@sc_lit_1948131179100861 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -5626912157867180024, [9 x i8] c"writable\00" }
+@sc_lit_3198935257758645 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 2930475562805755916, [13 x i8] c"configurable\00" }
+@sc_lit_2007918756741504 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 773072142374797316, [5 x i8] c"post\00" }
+@sc_lit_971741391048674 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 6319612257256865795, [4 x i8] c"put\00" }
+@sc_lit_1716842667196161 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 775303794496897030, [7 x i8] c"delete\00" }
+@sc_lit_2894558501580739 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 7549222945554432005, [6 x i8] c"patch\00" }
+@sc_lit_2800347990603543 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -8760270965587312636, [5 x i8] c"head\00" }
+@sc_lit_2948042885743279 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 4106133430276718599, [8 x i8] c"options\00" }
+@sc_lit_1670565919607657 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 658964550766297091, [4 x i8] c"all\00" }
+@sc_lit_3251470234448474 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 8608409005129203714, [3 x i8] c"on\00" }
+@sc_lit_2879707573315964 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 1232891285249982467, [4 x i8] c"use\00" }
+@sc_lit_3111096729023658 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -1319955748423204856, [9 x i8] c"notFound\00" }
+@sc_lit_668712189700762 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -8247349431179935737, [8 x i8] c"onError\00" }
+@sc_lit_2436853855422636 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -12941348495687675, [6 x i8] c"route\00" }
+@sc_lit_2466306126986778 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 1640367674573717516, [13 x i8] c"withDispatch\00" }
+@sc_lit_1389753027152399 = internal global { i64, i64, i64, [18 x i8] } { i64 -1, i64 17, i64 -245260630662053871, [18 x i8] c"withFetchDispatch\00" }
+@sc_lit_1148437194389594 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 5245323585135837195, [12 x i8] c"withUpgrade\00" }
+@sc_lit_4192469624085056 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 163020863166218254, [15 x i8] c"upgradeHandler\00" }
+@sc_lit_864781090888737 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -5200932156079079417, [8 x i8] c"handler\00" }
+@sc_lit_603267670272610 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 9216652481063288843, [12 x i8] c"fetchBridge\00" }
+@sc_lit_646811555153625 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 929118865563058181, [6 x i8] c"serve\00" }
+@sc_lit_4391217941138845 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -3141871061386133494, [11 x i8] c"serveFetch\00" }
+@sc_lit_2014847608589337 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 3003397398752919558, [7 x i8] c"_regFn\00" }
+@sc_lit_405767859507088 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -3749413933664960508, [5 x i8] c"_add\00" }
+@sc_lit_4078327433052319 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -234987360947798011, [6 x i8] c"fetch\00" }
+@sc_lit_156708963710691 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -1234021304030461943, [10 x i8] c"fetchShim\00" }
+@sc_lit_1093190805819680 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -6321365621820882931, [14 x i8] c"_dispatchPrim\00" }
+@sc_lit_3899522094323235 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 6555200662370517001, [10 x i8] c"_dispatch\00" }
+@sc_lit_21424698936986 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 8723841972105641998, [15 x i8] c"object:%m5.App\00" }
+@sc_lit_1746033898805369 = internal global { i64, i64, i64, [22 x i8] } { i64 -1, i64 21, i64 1368648634471546901, [22 x i8] c"object:%m5.CtxResCore\00" }
+@sc_lit_3456310594719780 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 -8302624779811160040, [25 x i8] c"object:%m4.MemoryStorage\00" }
+@sc_lit_3728566007289652 = internal global { i64, i64, i64, [26 x i8] } { i64 -1, i64 25, i64 -6215373955033726951, [26 x i8] c"object:%m4.MemoryFileSink\00" }
+@sc_lit_4041255434968695 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 4231544263411761174, [23 x i8] c"object:%m3.LiteRequest\00" }
+@sc_lit_3326437563644705 = internal global { i64, i64, i64, [28 x i8] } { i64 -1, i64 27, i64 5496302301180067867, [28 x i8] c"object:%m2.NodeResponseSink\00" }
+@sc_lit_3870085012327510 = internal global { i64, i64, i64, [27 x i8] } { i64 -1, i64 26, i64 4873244323400908826, [27 x i8] c"object:%m1.UpgradeDispatch\00" }
+@sc_lit_2798802470260116 = internal global { i64, i64, i64, [20 x i8] } { i64 -1, i64 19, i64 -4743013162570219501, [20 x i8] c"object:%m0.GenFetch\00" }
+@sc_lit_2165660704272757 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 1792452195942137878, [23 x i8] c"object:%m0.GenDispatch\00" }
+@sc_lit_2072202777142634 = internal global { i64, i64, i64, [29 x i8] } { i64 -1, i64 28, i64 3820934197229387804, [29 x i8] c"object:%m4.MultipartFileSink\00" }
+@sc_lit_3314970835853795 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 1601544460162826262, [23 x i8] c"object:%m6.AssetSource\00" }
+@sc_lit_864190948149583 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 -7861201600340033512, [25 x i8] c"object:%m11.StaticServer\00" }
+@sc_lit_4074974279575818 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -296722138528743401, [24 x i8] c"object:%m3.LiteResponse\00" }
+@sc_lit_4408523527888294 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -5485497997414367209, [24 x i8] c"object:%m4.UploadedFile\00" }
+@sc_lit_3163508115280491 = internal global { i64, i64, i64, [27 x i8] } { i64 -1, i64 26, i64 -8674397930636967910, [27 x i8] c"object:%m4.MultipartParser\00" }
+@sc_lit_1875086966829314 = internal global { i64, i64, i64, [33 x i8] } { i64 -1, i64 32, i64 7386250679943200, [33 x i8] c"object:%m5.MethodNotAllowedError\00" }
+@sc_lit_2434838942941195 = internal global { i64, i64, i64, [29 x i8] } { i64 -1, i64 28, i64 -88077837084393444, [29 x i8] c"object:%m2.FetchResponseSink\00" }
+@sc_lit_67546268704151 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 -8336396601580847082, [23 x i8] c"object:%m3.LiteHeaders\00" }
+@sc_lit_2519527309428716 = internal global { i64, i64, i64, [26 x i8] } { i64 -1, i64 25, i64 2384454476384698393, [26 x i8] c"object:%m9.EmbeddedAssets\00" }
+@sc_lit_629517122853751 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -3394493693342777321, [24 x i8] c"object:%m2.ResponseSink\00" }
+@sc_lit_660811353369478 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 7246996344726880278, [23 x i8] c"object:%m5.ReqViewCore\00" }
+@sc_lit_4336131790391205 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 -1458752774849167344, [17 x i8] c"object:%m5.MpCfg\00" }
+@sc_lit_3635319175845957 = internal global { i64, i64, i64, [28 x i8] } { i64 -1, i64 27, i64 -5373742755098918885, [28 x i8] c"object:%m4.MultipartStorage\00" }
+@sc_lit_4143564844538255 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 1031873514283466775, [24 x i8] c"object:%m14.BakedAssets\00" }
+@sc_lit_2875643240706496 = internal global { i64, i64, i64, [19 x i8] } { i64 -1, i64 18, i64 5500984979468845074, [19 x i8] c"object:%m5.CtxCore\00" }
+@sc_lit_161925136240866 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 4077583657378775048, [9 x i8] c"redirect\00" }
+@sc_lit_2677147133778287 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 7391083198903484420, [5 x i8] c"text\00" }
+@sc_lit_528144782449140 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 5696922053232295942, [7 x i8] c"header\00" }
+@sc_lit_1950596786618243 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 8679494038182690819, [4 x i8] c"set\00" }
+@sc_lit_48178627029362 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4694749854855856124, [5 x i8] c"json\00" }
+@sc_lit_4044156596960274 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -7687376169267625980, [5 x i8] c"html\00" }
+@sc_lit_693828840439997 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -801259458687664123, [6 x i8] c"bytes\00" }
+@sc_lit_587707337530151 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -7997157707763154939, [6 x i8] c"_send\00" }
+@sc_lit_23007219113608 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 7658393283277619216, [17 x i8] c"hello from chttp\00" }
+@sc_lit_3013970235377041 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -6125969705346793465, [8 x i8] c"message\00" }
+@sc_lit_3595188456357610 = internal global { i64, i64, i64, [22 x i8] } { i64 -1, i64 21, i64 -1667341297553244139, [22 x i8] c"object:%m8.DiskAssets\00" }
+@sc_lit_2227497482646049 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -1643562056500117501, [4 x i8] c"add\00" }
+@sc_lit_228045523956680 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -2680372238405861372, [5 x i8] c"load\00" }
+@sc_lit_464947614242071 = internal global { i64, i64, i64, [43 x i8] } { i64 -1, i64 42, i64 -1393444017542266838, [43 x i8] c"scriptc: internal error: invalid union tag\00" }
+@sc_lit_3862385552412238 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 5866844209436164104, [9 x i8] c"dispatch\00" }
+@sc_lit_437194258546139 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 397287711137857549, [14 x i8] c"dispatchFetch\00" }
+@sc_lit_2250671438728133 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 4268184376010866695, [8 x i8] c"upgrade\00" }
+@sc_lit_1207708014012541 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 6924761990938230795, [12 x i8] c"arrayBuffer\00" }
+@sc_lit_551454763233869 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 8126379473969872903, [8 x i8] c"request\00" }
+@sc_lit_2408580547322579 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 5423738012670361614, [15 x i8] c"ReferenceError\00" }
+@sc_lit_874990306745984 = internal global { i64, i64, i64, [43 x i8] } { i64 -1, i64 42, i64 1877734848982941738, [43 x i8] c"Cannot access 'step' before initialization\00" }
+@sc_lit_3752021314181142 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 1705857061025218569, [10 x i8] c"setStatus\00" }
+@sc_lit_2364278031517622 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 3692170609543872521, [10 x i8] c"setHeader\00" }
+@sc_lit_470306239805907 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 -6682499013373067252, [13 x i8] c"appendHeader\00" }
+@sc_lit_4133069531575059 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -8585197004701827063, [10 x i8] c"writeBody\00" }
+@sc_lit_2253648670486996 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -7483586821545263095, [10 x i8] c"bodyBytes\00" }
+@sc_lit_4085448292571548 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 8161216340254785545, [10 x i8] c"writeHead\00" }
+@sc_lit_3561861343106386 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -272550526443323383, [10 x i8] c"endStream\00" }
+@sc_lit_3108123016971750 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -3449615943569768443, [6 x i8] c"adopt\00" }
+@sc_lit_2529432852777196 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 4530684552280014854, [7 x i8] c"isSent\00" }
+@sc_lit_4297539476301093 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 2893883072804028429, [14 x i8] c"isHeadersSent\00" }
+@sc_lit_1959461887910059 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 8704004931209658375, [8 x i8] c"destroy\00" }
+@sc_lit_181663572509014 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -2632056209967939576, [9 x i8] c"statusOf\00" }
+@sc_lit_992600386266231 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 5892683449948438536, [9 x i8] c"headerOf\00" }
+@sc_lit_4198614539576238 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -59915014970015734, [11 x i8] c"headersMap\00" }
+@sc_lit_3908714124573206 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 1939288220030205959, [8 x i8] c"nodeRes\00" }
+@sc_lit_4028208071947570 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 4212190333322133514, [11 x i8] c"toResponse\00" }
+@sc_lit_2856513345585464 = internal global { i64, i64, i64, [16 x i8] } { i64 -1, i64 15, i64 7393407497765126159, [16 x i8] c"req.headers.get\00" }
+@sc_lit_3359878076732110 = internal global { i64, i64, i64, [16 x i8] } { i64 -1, i64 15, i64 8420618715527118863, [16 x i8] c"req.arrayBuffer\00" }
+@sc_lit_308138762104264 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -5809707469223493626, [7 x i8] c"rawReq\00" }
+@sc_lit_2356143898347316 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 5243793593230950407, [8 x i8] c"_setWeb\00" }
+@sc_lit_3600534565598564 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -4000782048624115707, [6 x i8] c"param\00" }
+@sc_lit_1621825757343351 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -2558109659248459769, [8 x i8] c"_seedPm\00" }
+@sc_lit_2827456990858395 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 7971395987115606022, [7 x i8] c"_pmNow\00" }
+@sc_lit_2968093406050353 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 754597911781703685, [6 x i8] c"query\00" }
+@sc_lit_3529749794644284 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -2774438666502668280, [9 x i8] c"queryAll\00" }
+@sc_lit_124879919648070 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -180267381652717561, [8 x i8] c"queries\00" }
+@sc_lit_40786511283622 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 8767470975747883016, [9 x i8] c"_setBody\00" }
+@sc_lit_1081761464356753 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 4766812302206828549, [6 x i8] c"files\00" }
+@sc_lit_3392166625234189 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -8386357722752221179, [6 x i8] c"field\00" }
+@sc_lit_3375901898269401 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 5920003023953723398, [7 x i8] c"fields\00" }
+@sc_lit_3532714511332900 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -8093970127495626739, [14 x i8] c"_setMultipart\00" }
+@sc_lit_3624217920823549 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 1831423960386895879, [8 x i8] c"_parsed\00" }
+@sc_lit_1580796233797134 = internal global { i64, i64, i64, [18 x i8] } { i64 -1, i64 17, i64 2902560336966058001, [18 x i8] c"Payload Too Large\00" }
+@sc_lit_960209946846820 = internal global { i64, i64, i64, [25 x i8] } { i64 -1, i64 24, i64 -3339399854324449256, [25 x i8] c"Malformed multipart body\00" }
+@sc_lit_2232031524457002 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 4579616732431253509, [6 x i8] c"isApi\00" }
+@sc_lit_3423954012803281 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 760634441071591430, [7 x i8] c"handle\00" }
+@sc_lit_700259281879664 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4471244842013294588, [5 x i8] c"send\00" }
+@sc_lit_2478521587363481 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4500759934580817924, [5 x i8] c"pick\00" }
+@sc_lit_442512110453159 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 5483446244292427792, [17 x i8] c"__defineGetter__\00" }
+@sc_lit_3044709983387393 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 -7577868822640590832, [17 x i8] c"__defineSetter__\00" }
+@sc_lit_4327941486179142 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 5316717984683655182, [15 x i8] c"hasOwnProperty\00" }
+@sc_lit_900273229759677 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 2233162445201866768, [17 x i8] c"__lookupGetter__\00" }
+@sc_lit_2545601642886305 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 3305169476076437520, [17 x i8] c"__lookupSetter__\00" }
+@sc_lit_3038471479600896 = internal global { i64, i64, i64, [14 x i8] } { i64 -1, i64 13, i64 -6269086858987175923, [14 x i8] c"isPrototypeOf\00" }
+@sc_lit_327813112294278 = internal global { i64, i64, i64, [21 x i8] } { i64 -1, i64 20, i64 -2130947768359845868, [21 x i8] c"propertyIsEnumerable\00" }
+@sc_lit_3302186402337583 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -8391180829291708408, [9 x i8] c"toString\00" }
+@sc_lit_2653701574536716 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -2570243435780898809, [8 x i8] c"valueOf\00" }
+@sc_lit_860002567067755 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -1816803337660530679, [10 x i8] c"__proto__\00" }
+@sc_lit_619980451361384 = internal global { i64, i64, i64, [15 x i8] } { i64 -1, i64 14, i64 8462928674583216142, [15 x i8] c"toLocaleString\00" }
+@sc_lit_3089543219260295 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 -5248842529150861289, [24 x i8] c"inner is not a function\00" }
+@sc_lit_1111686955211598 = internal global { i64, i64, i64, [21 x i8] } { i64 -1, i64 20, i64 -8019342317653589996, [21 x i8] c"fn is not a function\00" }
+@sc_lit_2215425661348163 = internal global { i64, i64, i64, [109 x i8] } { i64 -1, i64 108, i64 -5311443017519857556, [109 x i8] c"undefined is not representable in a 'number' slot (a value narrowed or asserted past the type still held it)\00" }
+@sc_lit_1195707203851697 = internal global { i64, i64, i64, [180 x i8] } { i64 -1, i64 179, i64 -617665356428738381, [180 x i8] c"undefined is not representable in a '{ children: number[]; hf: number[]; hm: string[]; kind: number; seg: string }' slot (a value narrowed or asserted past the type still held it)\00" }
+@sc_lit_3628675094055315 = internal global { i64, i64, i64, [113 x i8] } { i64 -1, i64 112, i64 1064500362196549744, [113 x i8] c"undefined is not representable in a 'Uint8Array' slot (a value narrowed or asserted past the type still held it)\00" }
+@sc_lit_3531366543973767 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 1750597576433860612, [5 x i8] c"feed\00" }
+@sc_lit_1173128410961643 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -5699942312889548794, [7 x i8] c"finish\00" }
+@sc_lit_1900193337948069 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -1014192465365696502, [11 x i8] c"_malformed\00" }
+@sc_lit_3922224781708262 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -4537783450320502778, [7 x i8] c"_limit\00" }
+@sc_lit_1360183775732063 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 7970213651338493962, [11 x i8] c"_abortPart\00" }
+@sc_lit_142546227685363 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -409869512888811510, [11 x i8] c"_startPart\00" }
+@sc_lit_2281930073577937 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -8873858471016005627, [6 x i8] c"_emit\00" }
+@sc_lit_1113582459875923 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 3808637675796168712, [9 x i8] c"_endPart\00" }
+@sc_lit_3573893819363590 = internal global { i64, i64, i64, [24 x i8] } { i64 -1, i64 23, i64 861501103773057047, [24 x i8] c"object:%m4.DiskFileSink\00" }
+@sc_lit_2020403498516894 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 -5358060403572080618, [23 x i8] c"object:%m4.DiskStorage\00" }
+@sc_lit_719487464480143 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 4881612538896187395, [4 x i8] c"url\00" }
+@sc_lit_1253490067536641 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -3049508425340813308, [5 x i8] c"host\00" }
+@sc_lit_145319249654683 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 5578679962895908871, [8 x i8] c"forEach\00" }
+@sc_lit_3447500980845638 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -2884368599256924157, [4 x i8] c"req\00" }
+@sc_lit_3084154227263888 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -8798482263122640888, [9 x i8] c"_nodeRes\00" }
+@sc_lit_2163543391075186 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -1013299679103811580, [5 x i8] c"sent\00" }
+@sc_lit_592597863501714 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -7011748311476469756, [5 x i8] c"then\00" }
+@sc_lit_2556418033318189 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 8700415253378236419, [4 x i8] c"has\00" }
+@sc_lit_2782259059515958 = internal global { i64, i64, i64, [13 x i8] } { i64 -1, i64 12, i64 -4869076418417393652, [13 x i8] c"getSetCookie\00" }
+@sc_lit_3038119887745057 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 5492123392490340358, [7 x i8] c"_nodes\00" }
+@sc_lit_2387748979716321 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -5113135297902673917, [4 x i8] c"_mw\00" }
+@sc_lit_4074236996717255 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 1488210516718387204, [5 x i8] c"_fns\00" }
+@sc_lit_3834689050502795 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 5602902023667187716, [5 x i8] c"_mws\00" }
+@sc_lit_772714621079184 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 464755982296154115, [4 x i8] c"_nf\00" }
+@sc_lit_1253948269358290 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -5196947010543943675, [6 x i8] c"_nfmw\00" }
+@sc_lit_872249802202544 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -5542468234629873660, [5 x i8] c"_oef\00" }
+@sc_lit_3257120253469437 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 2541928412910452743, [8 x i8] c"_chains\00" }
+@sc_lit_3782354537448346 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 663936864469647368, [9 x i8] c"_nfchain\00" }
+@sc_lit_886324725696546 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 7800334882894249987, [4 x i8] c"_pn\00" }
+@sc_lit_535630044833136 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 6095354976597442563, [4 x i8] c"_pi\00" }
+@sc_lit_4400741686745380 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -7118851481440092157, [4 x i8] c"_sp\00" }
+@sc_lit_1668606746601237 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 8302509885141024774, [7 x i8] c"_bodyF\00" }
+@sc_lit_1388999587933298 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 7127018310213828611, [4 x i8] c"_mp\00" }
+@sc_lit_1094398669481625 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4708669057883176964, [5 x i8] c"_gen\00" }
+@sc_lit_1345623861448315 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 3230424838828982281, [10 x i8] c"_genFetch\00" }
+@sc_lit_3774229428846185 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 7923159737695207427, [4 x i8] c"_up\00" }
+@sc_lit_448101171860799 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -169121808375611388, [5 x i8] c"sink\00" }
+@sc_lit_4141049404401276 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -7462449608149434360, [9 x i8] c"_resView\00" }
+@sc_lit_3621289080171698 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 5923969348942168071, [8 x i8] c"_status\00" }
+@sc_lit_4022150258959820 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -3159413314140766203, [6 x i8] c"_vars\00" }
+@sc_lit_1951312618348557 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 2348899195215151107, [4 x i8] c"res\00" }
+@sc_lit_1334122099411014 = internal global { i64, i64, i64, [62 x i8] } { i64 -1, i64 61, i64 5483051828855701565, [62 x i8] c"Cannot set property res of # which has only a getter\00" }
+@sc_lit_3804612928743770 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 4680254224267739140, [5 x i8] c"_idx\00" }
+@sc_lit_1810373001322451 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -8208232711588937721, [8 x i8] c"_assets\00" }
+@sc_lit_3528980137111930 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 3204198815036866565, [6 x i8] c"maxFB\00" }
+@sc_lit_4476522814667484 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 2287935785170632709, [6 x i8] c"maxNF\00" }
+@sc_lit_3328648022724882 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -2670975777675149305, [8 x i8] c"maxFldB\00" }
+@sc_lit_1287587581000978 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -5669194951255130108, [5 x i8] c"_raw\00" }
+@sc_lit_1774444802243527 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 8154335721042214916, [5 x i8] c"_web\00" }
+@sc_lit_964469684973146 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 4235438196726431752, [9 x i8] c"_headers\00" }
+@sc_lit_1867568051177534 = internal global { i64, i64, i64, [17 x i8] } { i64 -1, i64 16, i64 -7185532948949499888, [17 x i8] c"_headersDistinct\00" }
+@sc_lit_2528619671045714 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -2021088187169898493, [4 x i8] c"_qs\00" }
+@sc_lit_4247546884021115 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -6775664602144309245, [4 x i8] c"_qp\00" }
+@sc_lit_3282989543243776 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 3338107691938611203, [4 x i8] c"_pm\00" }
+@sc_lit_4347805238344460 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 1845346174186291205, [6 x i8] c"_body\00" }
+@sc_lit_3191748704064557 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -4110597511909998584, [9 x i8] c"_mpFiles\00" }
+@sc_lit_232607068610214 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -7633362737862541303, [10 x i8] c"_mpFields\00" }
+@sc_lit_3786966061696883 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 3968215669555593219, [4 x i8] c"raw\00" }
+@sc_lit_2655222345707125 = internal global { i64, i64, i64, [66 x i8] } { i64 -1, i64 65, i64 -1299157584040689599, [66 x i8] c"Cannot set property raw of # which has only a getter\00" }
+@sc_lit_3953364176447457 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 935435018698752004, [5 x i8] c"_set\00" }
+@sc_lit_3231205774586710 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 2094656587493801991, [8 x i8] c"hdrKeys\00" }
+@sc_lit_538032548850790 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -2495879624693645305, [8 x i8] c"hdrVals\00" }
+@sc_lit_4231320391602270 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 7969248847064989703, [8 x i8] c"hdrList\00" }
+@sc_lit_2537232771826273 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -5369209919629164538, [7 x i8] c"chunks\00" }
+@sc_lit_1579912071364319 = internal global { i64, i64, i64, [12 x i8] } { i64 -1, i64 11, i64 -450519333941018613, [12 x i8] c"headersSent\00" }
+@sc_lit_1640919894513317 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 4849795519951667207, [8 x i8] c"adopted\00" }
+@sc_lit_4191962028163388 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 3138823386952630282, [11 x i8] c"_streaming\00" }
+@sc_lit_2098081682588801 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -3493352158185652220, [5 x i8] c"_ctl\00" }
+@sc_lit_4448851817182856 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -4818678426057572344, [9 x i8] c"_endSeen\00" }
+@sc_lit_2171724267474130 = internal global { i64, i64, i64, [5 x i8] } { i64 -1, i64 4, i64 -4374440814646919164, [5 x i8] c"_res\00" }
+@sc_lit_1515898915129638 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -1614303583933562877, [4 x i8] c"_im\00" }
+@sc_lit_4331231100667432 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 6902609838115651590, [7 x i8] c"_delim\00" }
+@sc_lit_1497623537730125 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 3902799950383153158, [7 x i8] c"_cterm\00" }
+@sc_lit_3626652862359804 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -5168764861076733949, [4 x i8] c"_st\00" }
+@sc_lit_3767316427932713 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 7143389570199977989, [6 x i8] c"_pend\00" }
+@sc_lit_270650669493903 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -4195371924290797560, [9 x i8] c"_storage\00" }
+@sc_lit_1904556107358822 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -3167804198473433079, [10 x i8] c"_maxFileB\00" }
+@sc_lit_3347257245794453 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -8108847035215511543, [10 x i8] c"_maxFiles\00" }
+@sc_lit_51498970823486 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -8162431193229295606, [11 x i8] c"_maxFieldB\00" }
+@sc_lit_3871774119671975 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 169903445178843141, [6 x i8] c"_skip\00" }
+@sc_lit_1511541293423217 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -214315885215612921, [8 x i8] c"_isFile\00" }
+@sc_lit_3537803200604019 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -5711260208844505082, [7 x i8] c"_field\00" }
+@sc_lit_2438149604853393 = internal global { i64, i64, i64, [10 x i8] } { i64 -1, i64 9, i64 -3036803959323885559, [10 x i8] c"_filename\00" }
+@sc_lit_87265031005560 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -8548646721343717371, [6 x i8] c"_mime\00" }
+@sc_lit_2620371357038102 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 -4520426740153057275, [6 x i8] c"_sink\00" }
+@sc_lit_1445273163400741 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -1018734397576183801, [8 x i8] c"_fbytes\00" }
+@sc_lit_3078220272172636 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -5500134614598942714, [7 x i8] c"_fsize\00" }
+@sc_lit_3003865410260240 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -9154079385995706361, [8 x i8] c"_nfiles\00" }
+@sc_lit_3833663445821831 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 5582639866908246019, [4 x i8] c"err\00" }
+@sc_lit_595629019077013 = internal global { i64, i64, i64, [9 x i8] } { i64 -1, i64 8, i64 -400406192402202616, [9 x i8] c"mimeType\00" }
+@sc_lit_662344961506331 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 7068152519247003651, [4 x i8] c"src\00" }
+@sc_lit_24845548896369 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 -2194214440516190205, [4 x i8] c"spa\00" }
+@sc_lit_365197477495960 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 2691380832290996227, [4 x i8] c"api\00" }
+@sc_lit_488203381972006 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 6578845264788848645, [6 x i8] c"index\00" }
+@sc_lit_938646781597298 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 -1652514765504774142, [3 x i8] c"cc\00" }
+@sc_lit_201462833315591 = internal global { i64, i64, i64, [8 x i8] } { i64 -1, i64 7, i64 -795010186782703609, [8 x i8] c"_chunks\00" }
+@sc_lit_1008105371634015 = internal global { i64, i64, i64, [6 x i8] } { i64 -1, i64 5, i64 4567306823584972805, [6 x i8] c"_size\00" }
+@sc_lit_2251933729900935 = internal global { i64, i64, i64, [23 x i8] } { i64 -1, i64 22, i64 4999603614163927062, [23 x i8] c"ROUTE_CONTRACT_VERSION\00" }
+@sc_lit_2951457732402023 = internal global { i64, i64, i64, [4 x i8] } { i64 -1, i64 3, i64 4185794533767774211, [4 x i8] c"_hs\00" }
+@sc_lit_4297677228401092 = internal global { i64, i64, i64, [3 x i8] } { i64 -1, i64 2, i64 9113384828564144130, [3 x i8] c"_t\00" }
+@sc_lit_1347488745603967 = internal global { i64, i64, i64, [7 x i8] } { i64 -1, i64 6, i64 -3671864588283936762, [7 x i8] c"_ended\00" }
+@sc_lit_896668667053370 = internal global { i64, i64, i64, [67 x i8] } { i64 -1, i64 66, i64 1516849697950531650, [67 x i8] c"Cannot set property body of # which has only a getter\00" }
+@sc_lit_2207081674697931 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 -1147976865525268470, [11 x i8] c"set-cookie\00" }
+@sc_lit_3979096087517462 = internal global { i64, i64, i64, [68 x i8] } { i64 -1, i64 67, i64 6160658489749274691, [68 x i8] c"Cannot set property status of # which has only a getter\00" }
+@sc_lit_3196313521755681 = internal global { i64, i64, i64, [11 x i8] } { i64 -1, i64 10, i64 2388450793129771018, [11 x i8] c"statusCode\00" }
+@sc_lit_4228407369832655 = internal global { i64, i64, i64, [72 x i8] } { i64 -1, i64 71, i64 658311406499659847, [72 x i8] c"Cannot set property statusCode of # which has only a getter\00" }
+@sc_lit_2679078544804610 = internal global { i64, i64, i64, [69 x i8] } { i64 -1, i64 68, i64 4266532312545493060, [69 x i8] c"Cannot set property headers of # which has only a getter\00" }
+
+@sc_unit_0 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u3 unit arm
+@sc_unit_1 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u8 unit arm
+@sc_unit_2 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u1 unit arm
+@sc_unit_3 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u15 unit arm
+@sc_unit_4 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u17 unit arm
+@sc_unit_5 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u13 unit arm
+@sc_unit_6 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u27 unit arm
+@sc_unit_7 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u37 unit arm
+@sc_unit_8 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 0 } ; u39 unit arm
+
+@sc_retype_guard_0 = internal global i8 0 ; u3 boxes in a cast cache
+@sc_retype_guard_1 = internal global i8 0 ; u8 boxes in a cast cache
+@sc_retype_guard_2 = internal global i8 0 ; u1 boxes in a cast cache
+@sc_retype_guard_3 = internal global i8 0 ; u17 boxes in a cast cache
+@sc_retype_guard_4 = internal global i8 0 ; u13 boxes in a cast cache
+@sc_retype_guard_5 = internal global i8 0 ; u15 boxes in a cast cache
+@sc_retype_guard_6 = internal global i8 0 ; u21 boxes in a cast cache
+@sc_retype_guard_7 = internal global i8 0 ; u27 boxes in a cast cache
+@sc_retype_guard_8 = internal global i8 0 ; u37 boxes in a cast cache
+
+@sc_absent_0 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 1 } ; u13 absent field
+@sc_absent_1 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 1 } ; u15 absent field
+@sc_absent_2 = internal global %ScrUnion { i64 -1, i32 1, ptr null, ptr null, ptr null, i64 1 } ; u37 absent field
+
+@sc_union_none = internal constant %ScrUnion zeroinitializer ; NULL union dummy read by inline stores
+
+@sc_nullable_null = internal global { i64, i64, i64, i64 } { i64 -1, i64 0, i64 0, i64 0 } ; nullable null arm
+
+@sc_nullable_absent = internal global { i64, i64, i64, i64 } { i64 -1, i64 0, i64 0, i64 0 } ; nullable absent field
+
+@sc_cs_1252517681993947 = internal constant [7 x i8] c"string\00"
+@sc_cs_3868368797548903 = internal constant [6 x i8] c"array\00"
+@sc_cs_391578306055374 = internal constant [14 x i8] c"array\00"
+@sc_cs_127274431826284 = internal constant [7 x i8] c"status\00"
+@sc_cs_326035158597717 = internal constant [7 x i8] c"number\00"
+@sc_cs_3231205774586710 = internal constant [8 x i8] c"hdrKeys\00"
+@sc_cs_538032548850790 = internal constant [8 x i8] c"hdrVals\00"
+@sc_cs_4231320391602270 = internal constant [8 x i8] c"hdrList\00"
+@sc_cs_2537232771826273 = internal constant [7 x i8] c"chunks\00"
+@sc_cs_2163543391075186 = internal constant [5 x i8] c"sent\00"
+@sc_cs_3369235369748796 = internal constant [8 x i8] c"boolean\00"
+@sc_cs_1579912071364319 = internal constant [12 x i8] c"headersSent\00"
+@sc_cs_1640919894513317 = internal constant [8 x i8] c"adopted\00"
+@sc_cs_1247828793356534 = internal constant [14 x i8] c"null | object\00"
+@sc_cs_2645883945401328 = internal constant [9 x i8] c"union:u4\00"
+@sc_cs_2073431270519518 = internal constant [10 x i8] c"record:r1\00"
+@sc_cs_727383874013354 = internal constant [7 x i8] c"object\00"
+@sc_cs_616655122974952 = internal constant [5 x i8] c"body\00"
+@sc_cs_3135423438363661 = internal constant [8 x i8] c"unknown\00"
+@sc_cs_977412068193087 = internal constant [8 x i8] c"headers\00"
+@sc_cs_4191962028163388 = internal constant [11 x i8] c"_streaming\00"
+@sc_cs_2098081682588801 = internal constant [5 x i8] c"_ctl\00"
+@sc_cs_3823276195442570 = internal constant [9 x i8] c"union:u5\00"
+@sc_cs_4309965218388288 = internal constant [10 x i8] c"record:r2\00"
+@sc_cs_863112869792180 = internal constant [6 x i8] c"close\00"
+@sc_cs_1577281003310918 = internal constant [13 x i8] c"func()=>void\00"
+@sc_cs_3739322700708094 = internal constant [8 x i8] c"enqueue\00"
+@sc_cs_2962741746049877 = internal constant [22 x i8] c"func(bytes)=>void\00"
+@sc_cs_2128219647567188 = internal constant [9 x i8] c"function\00"
+@sc_cs_3610950885518037 = internal constant [6 x i8] c"value\00"
+@sc_cs_4448851817182856 = internal constant [9 x i8] c"_endSeen\00"
+@sc_cs_2171724267474130 = internal constant [5 x i8] c"_res\00"
+@sc_cs_4248929987867812 = internal constant [15 x i8] c"ServerResponse\00"
+@sc_cs_1975741313327935 = internal constant [8 x i8] c"httpRes\00"
+@sc_cs_2780107976102968 = internal constant [44 x i8] c"scriptc: internal error: invalid union tag\0A\00"
+@sc_cs_1987398004402823 = internal constant [11 x i8] c"Uint8Array\00"
+@sc_cs_890094799952442 = internal constant [10 x i8] c"bytes\00"
+@sc_cs_1951312618348557 = internal constant [4 x i8] c"res\00"
+@sc_cs_3621289080171698 = internal constant [8 x i8] c"_status\00"
+@sc_cs_3953364176447457 = internal constant [5 x i8] c"_set\00"
+@sc_cs_77530061052946 = internal constant [10 x i8] c"record:r0\00"
+@sc_cs_629517122853751 = internal constant [24 x i8] c"object:%m2.ResponseSink\00"
+@sc_cs_2464045371370986 = internal constant [13 x i8] c"sink.nodeRes\00"
+@sc_cs_2940485024011043 = internal constant [22 x i8] c"ServerResponse | null\00"
+@sc_cs_498395081877643 = internal constant [9 x i8] c"union:u3\00"
+@sc_cs_4266970018381842 = internal constant [15 x i8] c"sink.setHeader\00"
+@sc_cs_137127765515474 = internal constant [15 x i8] c"sink.setStatus\00"
+@sc_cs_891738944038355 = internal constant [15 x i8] c"sink.writeBody\00"
+@sc_cs_1287587581000978 = internal constant [5 x i8] c"_raw\00"
+@sc_cs_1163958522919087 = internal constant [23 x i8] c"IncomingMessage | null\00"
+@sc_cs_432476671481835 = internal constant [9 x i8] c"union:u8\00"
+@sc_cs_599526513062751 = internal constant [8 x i8] c"httpReq\00"
+@sc_cs_3187356258740123 = internal constant [16 x i8] c"IncomingMessage\00"
+@sc_cs_1774444802243527 = internal constant [5 x i8] c"_web\00"
+@sc_cs_964469684973146 = internal constant [9 x i8] c"_headers\00"
+@sc_cs_1867568051177534 = internal constant [17 x i8] c"_headersDistinct\00"
+@sc_cs_4113144339560478 = internal constant [10 x i8] c"record:r3\00"
+@sc_cs_1609576561362083 = internal constant [7 x i8] c"method\00"
+@sc_cs_719487464480143 = internal constant [4 x i8] c"url\00"
+@sc_cs_2826818497658723 = internal constant [5 x i8] c"path\00"
+@sc_cs_2528619671045714 = internal constant [4 x i8] c"_qs\00"
+@sc_cs_4247546884021115 = internal constant [4 x i8] c"_qp\00"
+@sc_cs_604520491832555 = internal constant [13 x i8] c"array | null\00"
+@sc_cs_3630455646248203 = internal constant [9 x i8] c"union:u9\00"
+@sc_cs_3282989543243776 = internal constant [4 x i8] c"_pm\00"
+@sc_cs_886324725696546 = internal constant [4 x i8] c"_pn\00"
+@sc_cs_535630044833136 = internal constant [4 x i8] c"_pi\00"
+@sc_cs_1394349160211144 = internal constant [11 x i8] c"array\00"
+@sc_cs_4400741686745380 = internal constant [4 x i8] c"_sp\00"
+@sc_cs_4347805238344460 = internal constant [6 x i8] c"_body\00"
+@sc_cs_3191748704064557 = internal constant [9 x i8] c"_mpFiles\00"
+@sc_cs_359158576128586 = internal constant [31 x i8] c"array\00"
+@sc_cs_1506316332237548 = internal constant [16 x i8] c"m4.UploadedFile\00"
+@sc_cs_4408523527888294 = internal constant [24 x i8] c"object:%m4.UploadedFile\00"
+@sc_cs_232607068610214 = internal constant [10 x i8] c"_mpFields\00"
+@sc_cs_3392166625234189 = internal constant [6 x i8] c"field\00"
+@sc_cs_4388468866828680 = internal constant [9 x i8] c"filename\00"
+@sc_cs_595629019077013 = internal constant [9 x i8] c"mimeType\00"
+@sc_cs_3603975379547098 = internal constant [5 x i8] c"size\00"
+@sc_cs_2963203079617577 = internal constant [14 x i8] c"null | string\00"
+@sc_cs_3779007912036835 = internal constant [9 x i8] c"union:u2\00"
+@sc_cs_693828840439997 = internal constant [6 x i8] c"bytes\00"
+@sc_cs_123840256131120 = internal constant [18 x i8] c"Uint8Array | null\00"
+@sc_cs_3177974258746099 = internal constant [9 x i8] c"union:u1\00"
+@sc_cs_660811353369478 = internal constant [23 x i8] c"object:%m5.ReqViewCore\00"
+@sc_cs_28105939436950 = internal constant [13 x i8] c"c.req.header\00"
+@sc_cs_4331231100667432 = internal constant [7 x i8] c"_delim\00"
+@sc_cs_1497623537730125 = internal constant [7 x i8] c"_cterm\00"
+@sc_cs_3626652862359804 = internal constant [4 x i8] c"_st\00"
+@sc_cs_3767316427932713 = internal constant [6 x i8] c"_pend\00"
+@sc_cs_270650669493903 = internal constant [9 x i8] c"_storage\00"
+@sc_cs_732719066880106 = internal constant [20 x i8] c"m4.MultipartStorage\00"
+@sc_cs_3635319175845957 = internal constant [28 x i8] c"object:%m4.MultipartStorage\00"
+@sc_cs_3456310594719780 = internal constant [25 x i8] c"object:%m4.MemoryStorage\00"
+@sc_cs_2020403498516894 = internal constant [23 x i8] c"object:%m4.DiskStorage\00"
+@sc_cs_1904556107358822 = internal constant [10 x i8] c"_maxFileB\00"
+@sc_cs_3347257245794453 = internal constant [10 x i8] c"_maxFiles\00"
+@sc_cs_51498970823486 = internal constant [11 x i8] c"_maxFieldB\00"
+@sc_cs_3871774119671975 = internal constant [6 x i8] c"_skip\00"
+@sc_cs_1511541293423217 = internal constant [8 x i8] c"_isFile\00"
+@sc_cs_3537803200604019 = internal constant [7 x i8] c"_field\00"
+@sc_cs_2438149604853393 = internal constant [10 x i8] c"_filename\00"
+@sc_cs_87265031005560 = internal constant [6 x i8] c"_mime\00"
+@sc_cs_2620371357038102 = internal constant [6 x i8] c"_sink\00"
+@sc_cs_2768938828382994 = internal constant [28 x i8] c"null | m4.MultipartFileSink\00"
+@sc_cs_1025932502227499 = internal constant [9 x i8] c"union:u7\00"
+@sc_cs_2072202777142634 = internal constant [29 x i8] c"object:%m4.MultipartFileSink\00"
+@sc_cs_3728566007289652 = internal constant [26 x i8] c"object:%m4.MemoryFileSink\00"
+@sc_cs_3573893819363590 = internal constant [24 x i8] c"object:%m4.DiskFileSink\00"
+@sc_cs_66701276742327 = internal constant [21 x i8] c"m4.MultipartFileSink\00"
+@sc_cs_1445273163400741 = internal constant [8 x i8] c"_fbytes\00"
+@sc_cs_944430815723409 = internal constant [17 x i8] c"array>\00"
+@sc_cs_3078220272172636 = internal constant [7 x i8] c"_fsize\00"
+@sc_cs_3003865410260240 = internal constant [8 x i8] c"_nfiles\00"
+@sc_cs_3833663445821831 = internal constant [4 x i8] c"err\00"
+@sc_cs_1081761464356753 = internal constant [6 x i8] c"files\00"
+@sc_cs_3375901898269401 = internal constant [7 x i8] c"fields\00"
+@sc_cs_763389326065034 = internal constant [4 x i8] c"dir\00"
+@sc_cs_1254054277824995 = internal constant [3 x i8] c"_n\00"
+@sc_cs_4397376455099734 = internal constant [6 x i8] c"_path\00"
+@sc_cs_2167961197498268 = internal constant [4 x i8] c"_fd\00"
+@sc_cs_1008105371634015 = internal constant [6 x i8] c"_size\00"
+@sc_cs_1440167436799276 = internal constant [6 x i8] c"_open\00"
+@sc_cs_201462833315591 = internal constant [8 x i8] c"_chunks\00"
+@sc_cs_3163508115280491 = internal constant [27 x i8] c"object:%m4.MultipartParser\00"
+@sc_cs_3152039762744504 = internal constant [12 x i8] c"parser.feed\00"
+@sc_cs_3007189739552489 = internal constant [14 x i8] c"parser.finish\00"
+@sc_cs_1513435222814291 = internal constant [17 x i8] c"rv._setMultipart\00"
+@sc_cs_3447500980845638 = internal constant [4 x i8] c"req\00"
+@sc_cs_3755338419287822 = internal constant [15 x i8] c"m5.ReqViewCore\00"
+@sc_cs_448101171860799 = internal constant [5 x i8] c"sink\00"
+@sc_cs_2615525442307220 = internal constant [16 x i8] c"m2.ResponseSink\00"
+@sc_cs_3326437563644705 = internal constant [28 x i8] c"object:%m2.NodeResponseSink\00"
+@sc_cs_2434838942941195 = internal constant [29 x i8] c"object:%m2.FetchResponseSink\00"
+@sc_cs_4074974279575818 = internal constant [24 x i8] c"object:%m3.LiteResponse\00"
+@sc_cs_4141049404401276 = internal constant [9 x i8] c"_resView\00"
+@sc_cs_3109582547850563 = internal constant [14 x i8] c"m5.CtxResCore\00"
+@sc_cs_1746033898805369 = internal constant [22 x i8] c"object:%m5.CtxResCore\00"
+@sc_cs_4022150258959820 = internal constant [6 x i8] c"_vars\00"
+@sc_cs_3084154227263888 = internal constant [9 x i8] c"_nodeRes\00"
+@sc_cs_2875643240706496 = internal constant [19 x i8] c"object:%m5.CtxCore\00"
+@sc_cs_1113611553843547 = internal constant [9 x i8] c"c.status\00"
+@sc_cs_4031902885015721 = internal constant [7 x i8] c"c.text\00"
+@sc_cs_3079164241922068 = internal constant [19 x i8] c"sink.isHeadersSent\00"
+@sc_cs_3499760650817953 = internal constant [13 x i8] c"sink.destroy\00"
+@sc_cs_492252702126034 = internal constant [124 x i8] c"unreachable: a non-void function completed without returning (the checker proved every path returns) \E2\80\94 please report this\00"
+@sc_cs_4391986516593320 = internal constant [7 x i8] c"SC9002\00"
+@sc_cs_3038119887745057 = internal constant [7 x i8] c"_nodes\00"
+@sc_cs_4447116402536209 = internal constant [17 x i8] c"array\00"
+@sc_cs_1186397750780220 = internal constant [10 x i8] c"record:r5\00"
+@sc_cs_291439443305035 = internal constant [9 x i8] c"children\00"
+@sc_cs_1774234212108265 = internal constant [3 x i8] c"hf\00"
+@sc_cs_3240132313272141 = internal constant [3 x i8] c"hm\00"
+@sc_cs_196246007442230 = internal constant [5 x i8] c"kind\00"
+@sc_cs_4121162754829271 = internal constant [4 x i8] c"seg\00"
+@sc_cs_2387748979716321 = internal constant [4 x i8] c"_mw\00"
+@sc_cs_623184722659282 = internal constant [49 x i8] c"arraydyn)=>dyn>\00"
+@sc_cs_2955110042506774 = internal constant [42 x i8] c"func(object:%m5.CtxCore,func()=>dyn)=>dyn\00"
+@sc_cs_1333419199285231 = internal constant [12 x i8] c"func()=>dyn\00"
+@sc_cs_4074236996717255 = internal constant [5 x i8] c"_fns\00"
+@sc_cs_1913588278853018 = internal constant [37 x i8] c"arraydyn>\00"
+@sc_cs_808362516667040 = internal constant [30 x i8] c"func(object:%m5.CtxCore)=>dyn\00"
+@sc_cs_3834689050502795 = internal constant [5 x i8] c"_mws\00"
+@sc_cs_3192918191117730 = internal constant [56 x i8] c"arraydyn)=>dyn>>\00"
+@sc_cs_772714621079184 = internal constant [4 x i8] c"_nf\00"
+@sc_cs_1253948269358290 = internal constant [6 x i8] c"_nfmw\00"
+@sc_cs_872249802202544 = internal constant [5 x i8] c"_oef\00"
+@sc_cs_186414858701681 = internal constant [16 x i8] c"function | null\00"
+@sc_cs_1735677603229141 = internal constant [10 x i8] c"union:u17\00"
+@sc_cs_727563387933933 = internal constant [35 x i8] c"func(dyn,object:%m5.CtxCore)=>void\00"
+@sc_cs_3257120253469437 = internal constant [8 x i8] c"_chains\00"
+@sc_cs_3782354537448346 = internal constant [9 x i8] c"_nfchain\00"
+@sc_cs_2337619831431474 = internal constant [21 x i8] c"array>\00"
+@sc_cs_2888908392807325 = internal constant [18 x i8] c"array>\00"
+@sc_cs_1668606746601237 = internal constant [7 x i8] c"_bodyF\00"
+@sc_cs_1388999587933298 = internal constant [4 x i8] c"_mp\00"
+@sc_cs_125327543764853 = internal constant [24 x i8] c"array\00"
+@sc_cs_1133834010774452 = internal constant [9 x i8] c"m5.MpCfg\00"
+@sc_cs_4336131790391205 = internal constant [17 x i8] c"object:%m5.MpCfg\00"
+@sc_cs_1094398669481625 = internal constant [5 x i8] c"_gen\00"
+@sc_cs_4045032624819002 = internal constant [28 x i8] c"func(httpReq,httpRes)=>bool\00"
+@sc_cs_1345623861448315 = internal constant [10 x i8] c"_genFetch\00"
+@sc_cs_1337005955311507 = internal constant [93 x i8] c"func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise\00"
+@sc_cs_544024079890110 = internal constant [8 x i8] c"Promise\00"
+@sc_cs_4366892077034776 = internal constant [14 x i8] c"promise\00"
+@sc_cs_3774229428846185 = internal constant [4 x i8] c"_up\00"
+@sc_cs_1343665872547170 = internal constant [40 x i8] c"func(httpReq,netSocket,bytes)=>bool\00"
+@sc_cs_1121367206520398 = internal constant [11 x i8] c"m5.CtxCore\00"
+@sc_cs_3251470234448474 = internal constant [3 x i8] c"on\00"
+@sc_cs_1295387805544367 = internal constant [8 x i8] c"storage\00"
+@sc_cs_3582125375999435 = internal constant [27 x i8] c"null | m4.MultipartStorage\00"
+@sc_cs_2901406798989589 = internal constant [10 x i8] c"union:u16\00"
+@sc_cs_3528980137111930 = internal constant [6 x i8] c"maxFB\00"
+@sc_cs_4476522814667484 = internal constant [6 x i8] c"maxNF\00"
+@sc_cs_3328648022724882 = internal constant [8 x i8] c"maxFldB\00"
+@sc_cs_461841367492022 = internal constant [9 x i8] c"union:u0\00"
+@sc_cs_654972114762654 = internal constant [21 x i8] c"m2.FetchResponseSink\00"
+@sc_cs_2822304354360785 = internal constant [7 x i8] c"Socket\00"
+@sc_cs_1042621854675129 = internal constant [10 x i8] c"netSocket\00"
+@sc_cs_21424698936986 = internal constant [15 x i8] c"object:%m5.App\00"
+@sc_cs_1790505695584955 = internal constant [10 x i8] c"record:r9\00"
+@sc_cs_621103891786213 = internal constant [5 x i8] c"idxs\00"
+@sc_cs_3073289709162707 = internal constant [6 x i8] c"names\00"
+@sc_cs_2193851355834945 = internal constant [6 x i8] c"splat\00"
+@sc_cs_618920405504547 = internal constant [11 x i8] c"app._regFn\00"
+@sc_cs_240677902164883 = internal constant [11 x i8] c"record:r27\00"
+@sc_cs_3499761349904598 = internal constant [11 x i8] c"record:r19\00"
+@sc_cs_145319249654683 = internal constant [8 x i8] c"forEach\00"
+@sc_cs_4163660238022989 = internal constant [38 x i8] c"func(func(string,string)=>void)=>void\00"
+@sc_cs_3563927413032978 = internal constant [26 x i8] c"func(string,string)=>void\00"
+@sc_cs_1005168979260425 = internal constant [11 x i8] c"sink.adopt\00"
+@sc_cs_1732097993084521 = internal constant [15 x i8] c"func(dyn)=>dyn\00"
+@sc_cs_3227648507238367 = internal constant [8 x i8] c"app.get\00"
+@sc_cs_1027255970561450 = internal constant [45 x i8] c"func(object:%m5.CtxCore)=>object:%m5.CtxCore\00"
+@sc_cs_974332463763722 = internal constant [18 x i8] c"this.appendHeader\00"
+@sc_cs_2568656638816103 = internal constant [15 x i8] c"this.setHeader\00"
+@sc_cs_2380721326422626 = internal constant [16 x i8] c"func(dyn)=>void\00"
+@sc_cs_4037022469737195 = internal constant [11 x i8] c"record:r28\00"
+@sc_cs_2480898009178335 = internal constant [18 x i8] c"array\00"
+@sc_cs_3675905637404462 = internal constant [11 x i8] c"record:r18\00"
+@sc_cs_3860738644764732 = internal constant [18 x i8] c"array of length 2\00"
+@sc_cs_1809980931226750 = internal constant [11 x i8] c"record:r26\00"
+@sc_cs_2043702143033338 = internal constant [19 x i8] c"string | undefined\00"
+@sc_cs_705340187317161 = internal constant [10 x i8] c"union:u10\00"
+@sc_cs_1515898915129638 = internal constant [4 x i8] c"_im\00"
+@sc_cs_67546268704151 = internal constant [23 x i8] c"object:%m3.LiteHeaders\00"
+@sc_cs_3252210277870050 = internal constant [16 x i8] c"super.setHeader\00"
+@sc_cs_603367798359837 = internal constant [19 x i8] c"super.appendHeader\00"
+@sc_cs_171661974819393 = internal constant [14 x i8] c"this.headerOf\00"
+@sc_cs_1070419772986421 = internal constant [26 x i8] c"null | string | undefined\00"
+@sc_cs_865192974725865 = internal constant [10 x i8] c"union:u33\00"
+@sc_cs_2572803797864145 = internal constant [16 x i8] c"super.writeHead\00"
+@sc_cs_1114522622042273 = internal constant [16 x i8] c"this._malformed\00"
+@sc_cs_1244843193594100 = internal constant [16 x i8] c"this._startPart\00"
+@sc_cs_3511997926099974 = internal constant [11 x i8] c"this._emit\00"
+@sc_cs_1251443465576969 = internal constant [14 x i8] c"this._endPart\00"
+@sc_cs_1548363400435851 = internal constant [16 x i8] c"this._abortPart\00"
+@sc_cs_276990031017319 = internal constant [8 x i8] c"s.abort\00"
+@sc_cs_288843753834732 = internal constant [12 x i8] c"this._limit\00"
+@sc_cs_1669119977665919 = internal constant [20 x i8] c"this._storage.begin\00"
+@sc_cs_4230033743964644 = internal constant [8 x i8] c"s.write\00"
+@sc_cs_4244474088963038 = internal constant [6 x i8] c"s.end\00"
+@sc_cs_3927989341738608 = internal constant [7 x i8] c"s.file\00"
+@sc_cs_3791194611423265 = internal constant [23 x i8] c"null | m4.UploadedFile\00"
+@sc_cs_2743256915545032 = internal constant [9 x i8] c"union:u6\00"
+@sc_cs_804729941372645 = internal constant [11 x i8] c"record:r32\00"
+@sc_cs_2859507767467227 = internal constant [18 x i8] c"array | undefined\00"
+@sc_cs_4211405069914794 = internal constant [10 x i8] c"union:u24\00"
+@sc_cs_239666599887116 = internal constant [12 x i8] c"this.rawReq\00"
+@sc_cs_4210341737513202 = internal constant [12 x i8] c"this._pmNow\00"
+@sc_cs_2820593363530420 = internal constant [13 x i8] c"this._parsed\00"
+@sc_cs_579230036855125 = internal constant [20 x i8] c"this._sink.statusOf\00"
+@sc_cs_845392426603274 = internal constant [20 x i8] c"this._sink.headerOf\00"
+@sc_cs_4179862058638952 = internal constant [22 x i8] c"this._sink.headersMap\00"
+@sc_cs_4193314680235269 = internal constant [19 x i8] c"this._sink.nodeRes\00"
+@sc_cs_3951196332544625 = internal constant [20 x i8] c"this.sink.setStatus\00"
+@sc_cs_3548747207791957 = internal constant [23 x i8] c"this.sink.appendHeader\00"
+@sc_cs_4344474916287258 = internal constant [20 x i8] c"this.sink.setHeader\00"
+@sc_cs_132549232319664 = internal constant [18 x i8] c"string conversion\00"
+@sc_cs_4134463689533233 = internal constant [10 x i8] c"undefined\00"
+@sc_cs_2043119860907636 = internal constant [5 x i8] c"null\00"
+@sc_cs_3197286426789411 = internal constant [5 x i8] c"true\00"
+@sc_cs_4446214944262365 = internal constant [6 x i8] c"false\00"
+@sc_cs_3852344104315805 = internal constant [7 x i8] c"%error\00"
+@sc_cs_3141069757846984 = internal constant [16 x i8] c"[object Object]\00"
+@sc_cs_2298207874780604 = internal constant [5 x i8] c"name\00"
+@sc_cs_3013970235377041 = internal constant [8 x i8] c"message\00"
+@sc_cs_1222807074245902 = internal constant [3 x i8] c": \00"
+@sc_cs_2763807487655546 = internal constant [10 x i8] c"function \00"
+@sc_cs_3328797693070444 = internal constant [21 x i8] c"() { [native code] }\00"
+@sc_cs_3182400578284434 = internal constant [17 x i8] c"[object Promise]\00"
+@sc_cs_4040980926545257 = internal constant [11 x i8] c"this._send\00"
+@sc_cs_2252369542214597 = internal constant [12 x i8] c"this.status\00"
+@sc_cs_543104408299578 = internal constant [20 x i8] c"this.sink.writeBody\00"
+@sc_cs_2097056599080311 = internal constant [20 x i8] c"this.sink.bodyBytes\00"
+@sc_cs_3002302439247642 = internal constant [2 x i8] c"h\00"
+@sc_cs_708899555714582 = internal constant [10 x i8] c"record:r7\00"
+@sc_cs_1887425832114125 = internal constant [20 x i8] c"boolean | undefined\00"
+@sc_cs_3113150508978810 = internal constant [10 x i8] c"union:u13\00"
+@sc_cs_2277266704045385 = internal constant [10 x i8] c"multipart\00"
+@sc_cs_3884343448446622 = internal constant [19 x i8] c"object | undefined\00"
+@sc_cs_2786531977708587 = internal constant [10 x i8] c"union:u19\00"
+@sc_cs_408244120040977 = internal constant [10 x i8] c"record:r6\00"
+@sc_cs_2857538079689091 = internal constant [14 x i8] c"maxFieldBytes\00"
+@sc_cs_3624345082936930 = internal constant [10 x i8] c"union:u15\00"
+@sc_cs_2659449979257915 = internal constant [13 x i8] c"maxFileBytes\00"
+@sc_cs_2882770253409103 = internal constant [9 x i8] c"maxFiles\00"
+@sc_cs_4048119461312915 = internal constant [10 x i8] c"union:u18\00"
+@sc_cs_3875462036084145 = internal constant [19 x i8] c"number | undefined\00"
+@sc_cs_1776203598951489 = internal constant [32 x i8] c"m4.MultipartStorage | undefined\00"
+@sc_cs_2420062830460865 = internal constant [10 x i8] c"this._add\00"
+@sc_cs_143902260791844 = internal constant [13 x i8] c"this.handler\00"
+@sc_cs_2931926363260223 = internal constant [28 x i8] c"func(httpReq,httpRes)=>void\00"
+@sc_cs_968890379863199 = internal constant [17 x i8] c"this.fetchBridge\00"
+@sc_cs_1951612592073524 = internal constant [12 x i8] c"this._regFn\00"
+@sc_cs_625856284831778 = internal constant [11 x i8] c"rv._setWeb\00"
+@sc_cs_3779354462845077 = internal constant [12 x i8] c"rv._setBody\00"
+@sc_cs_3804612928743770 = internal constant [5 x i8] c"_idx\00"
+@sc_cs_3599972234312006 = internal constant [11 x i8] c"record:r12\00"
+@sc_cs_1810373001322451 = internal constant [8 x i8] c"_assets\00"
+@sc_cs_3607504563658207 = internal constant [18 x i8] c"array\00"
+@sc_cs_1140872696640102 = internal constant [11 x i8] c"record:r11\00"
+@sc_cs_2538166612030291 = internal constant [10 x i8] c"encodings\00"
+@sc_cs_4063863580779324 = internal constant [18 x i8] c"array\00"
+@sc_cs_1956162535513610 = internal constant [11 x i8] c"record:r10\00"
+@sc_cs_1683535768246717 = internal constant [4 x i8] c"enc\00"
+@sc_cs_4445240590403708 = internal constant [5 x i8] c"etag\00"
+@sc_cs_1096813006725504 = internal constant [10 x i8] c"immutable\00"
+@sc_cs_2067668976369489 = internal constant [8 x i8] c"mtimeMs\00"
+@sc_cs_334509345124372 = internal constant [5 x i8] c"type\00"
+@sc_cs_2519527309428716 = internal constant [26 x i8] c"object:%m9.EmbeddedAssets\00"
+@sc_cs_4488915209155319 = internal constant [9 x i8] c"this.add\00"
+@sc_cs_662344961506331 = internal constant [4 x i8] c"src\00"
+@sc_cs_4101812311759748 = internal constant [15 x i8] c"m6.AssetSource\00"
+@sc_cs_3314970835853795 = internal constant [23 x i8] c"object:%m6.AssetSource\00"
+@sc_cs_3595188456357610 = internal constant [22 x i8] c"object:%m8.DiskAssets\00"
+@sc_cs_4143564844538255 = internal constant [24 x i8] c"object:%m14.BakedAssets\00"
+@sc_cs_24845548896369 = internal constant [4 x i8] c"spa\00"
+@sc_cs_365197477495960 = internal constant [4 x i8] c"api\00"
+@sc_cs_488203381972006 = internal constant [6 x i8] c"index\00"
+@sc_cs_938646781597298 = internal constant [3 x i8] c"cc\00"
+@sc_cs_1267962741864417 = internal constant [5 x i8] c"root\00"
+@sc_cs_2539353158381885 = internal constant [6 x i8] c"rroot\00"
+@sc_cs_1021574860422195 = internal constant [8 x i8] c"_mtimes\00"
+@sc_cs_1363884959710398 = internal constant [7 x i8] c"_sizes\00"
+@sc_cs_864190948149583 = internal constant [25 x i8] c"object:%m11.StaticServer\00"
+@sc_cs_3198879891697343 = internal constant [11 x i8] c"this.isApi\00"
+@sc_cs_1825930128146299 = internal constant [11 x i8] c"record:r33\00"
+@sc_cs_3553689444499593 = internal constant [6 x i8] c"error\00"
+@sc_cs_2345038701066310 = internal constant [19 x i8] c"c.status(404).json\00"
+@sc_cs_89252900281981 = internal constant [12 x i8] c"c.req.param\00"
+@sc_cs_4405409442699003 = internal constant [19 x i8] c"c.status(403).text\00"
+@sc_cs_1776008808819361 = internal constant [19 x i8] c"c.status(404).text\00"
+@sc_cs_1751115912570399 = internal constant [13 x i8] c"this.src.get\00"
+@sc_cs_2990177497704744 = internal constant [26 x i8] c"null | object | undefined\00"
+@sc_cs_3268100869889769 = internal constant [10 x i8] c"union:u35\00"
+@sc_cs_4063458104305799 = internal constant [10 x i8] c"this.send\00"
+@sc_cs_857144462468593 = internal constant [10 x i8] c"this.pick\00"
+@sc_cs_1498306113831208 = internal constant [10 x i8] c"union:u36\00"
+@sc_cs_2766961976368107 = internal constant [18 x i8] c"array\00"
+@sc_cs_2067294835765432 = internal constant [11 x i8] c"record:r14\00"
+@sc_cs_2359144980483679 = internal constant [4 x i8] c"b64\00"
+@sc_cs_448384591214783 = internal constant [5 x i8] c"encs\00"
+@sc_cs_3299468148590259 = internal constant [18 x i8] c"array\00"
+@sc_cs_2563538800453537 = internal constant [11 x i8] c"record:r13\00"
+@sc_cs_1759114556739847 = internal constant [10 x i8] c"this.load\00"
+@sc_cs_452564808083842 = internal constant [11 x i8] c"record:r20\00"
+@sc_cs_4377402653539513 = internal constant [5 x i8] c"port\00"
+@sc_cs_4357071885712774 = internal constant [34 x i8] c"buildApp(new BakedAssets()).serve\00"
+@sc_cs_3078073717969559 = internal constant [7 x i8] c"Server\00"
+@sc_cs_3142187572806275 = internal constant [10 x i8] c"netServer\00"
+@sc_cs_691918933429116 = internal constant [10 x i8] c"union:u20\00"
+@sc_cs_1834495602683357 = internal constant [69 x i8] c"func(string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App\00"
+@sc_cs_2392962937543124 = internal constant [76 x i8] c"func(string,string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App\00"
+@sc_cs_1996812579692584 = internal constant [18 x i8] c"function | string\00"
+@sc_cs_998895400089623 = internal constant [10 x i8] c"union:u21\00"
+@sc_cs_2607745839033357 = internal constant [92 x i8] c"func(union:u21,arraydyn)=>dyn>,...typed[])=>object:%m5.App\00"
+@sc_cs_1615563165756018 = internal constant [52 x i8] c"func(func(object:%m5.CtxCore)=>dyn)=>object:%m5.App\00"
+@sc_cs_2582782517029237 = internal constant [57 x i8] c"func(func(dyn,object:%m5.CtxCore)=>void)=>object:%m5.App\00"
+@sc_cs_3643270957151775 = internal constant [7 x i8] c"m5.App\00"
+@sc_cs_457260921344797 = internal constant [44 x i8] c"func(string,object:%m5.App)=>object:%m5.App\00"
+@sc_cs_3395729563104566 = internal constant [15 x i8] c"m0.GenDispatch\00"
+@sc_cs_2165660704272757 = internal constant [23 x i8] c"object:%m0.GenDispatch\00"
+@sc_cs_177236993751959 = internal constant [45 x i8] c"func(object:%m0.GenDispatch)=>object:%m5.App\00"
+@sc_cs_1090518300670182 = internal constant [12 x i8] c"m0.GenFetch\00"
+@sc_cs_2798802470260116 = internal constant [20 x i8] c"object:%m0.GenFetch\00"
+@sc_cs_4102009867172847 = internal constant [42 x i8] c"func(object:%m0.GenFetch)=>object:%m5.App\00"
+@sc_cs_3643480643763557 = internal constant [19 x i8] c"m1.UpgradeDispatch\00"
+@sc_cs_3870085012327510 = internal constant [27 x i8] c"object:%m1.UpgradeDispatch\00"
+@sc_cs_1117094822997163 = internal constant [49 x i8] c"func(object:%m1.UpgradeDispatch)=>object:%m5.App\00"
+@sc_cs_2057212120954729 = internal constant [40 x i8] c"func(httpReq,netSocket,bytes)=>void\00"
+@sc_cs_3354128358198726 = internal constant [48 x i8] c"func()=>func(httpReq,netSocket,bytes)=>void\00"
+@sc_cs_301648257142937 = internal constant [36 x i8] c"func()=>func(httpReq,httpRes)=>void\00"
+@sc_cs_647597983044983 = internal constant [10 x i8] c"record:r8\00"
+@sc_cs_1253490067536641 = internal constant [5 x i8] c"host\00"
+@sc_cs_173552041479615 = internal constant [27 x i8] c"func(record:r8)=>netServer\00"
+@sc_cs_2054221238945515 = internal constant [21 x i8] c"function | undefined\00"
+@sc_cs_2359442629539563 = internal constant [10 x i8] c"union:u27\00"
+@sc_cs_2222188176823686 = internal constant [21 x i8] c"m5.MpCfg | undefined\00"
+@sc_cs_3915346829477755 = internal constant [10 x i8] c"union:u28\00"
+@sc_cs_4434791701444334 = internal constant [100 x i8] c"func(union:u27,arraydyn)=>dyn>,record:r9,union:u15,union:u28)=>f64\00"
+@sc_cs_1285199922266981 = internal constant [32 x i8] c"func(dyn,dyn,dyn)=>promise\00"
+@sc_cs_901276133066810 = internal constant [37 x i8] c"func(f64,array,string)=>void\00"
+@sc_cs_4047028909258918 = internal constant [79 x i8] c"func(string,string,union:u0,string,func(f64,array,string)=>void)=>void\00"
+@sc_cs_249780872679356 = internal constant [88 x i8] c"func(string,string,union:u0,dyn,string,union:u1,object:%m2.ResponseSink)=>promise\00"
+@sc_cs_3625634938669578 = internal constant [44 x i8] c"func(httpReq,object:%m2.ResponseSink)=>void\00"
+@sc_cs_4010904986871976 = internal constant [17 x i8] c"m4.MemoryStorage\00"
+@sc_cs_2523707913786933 = internal constant [18 x i8] c"m4.MemoryFileSink\00"
+@sc_cs_4041255434968695 = internal constant [23 x i8] c"object:%m3.LiteRequest\00"
+@sc_cs_1164598102066345 = internal constant [15 x i8] c"m3.LiteRequest\00"
+@sc_cs_4118775550205102 = internal constant [20 x i8] c"m2.NodeResponseSink\00"
+@sc_cs_870978337365731 = internal constant [17 x i8] c"m11.StaticServer\00"
+@sc_cs_652580361931695 = internal constant [16 x i8] c"m3.LiteResponse\00"
+@sc_cs_2201935167278521 = internal constant [19 x i8] c"m4.MultipartParser\00"
+@sc_cs_1875086966829314 = internal constant [33 x i8] c"object:%m5.MethodNotAllowedError\00"
+@sc_cs_1775999344942870 = internal constant [25 x i8] c"m5.MethodNotAllowedError\00"
+@sc_cs_4196372432750886 = internal constant [15 x i8] c"m3.LiteHeaders\00"
+@sc_cs_44520514718337 = internal constant [18 x i8] c"m9.EmbeddedAssets\00"
+@sc_cs_3196909287126131 = internal constant [16 x i8] c"m14.BakedAssets\00"
+@sc_cs_3984454165941240 = internal constant [43 x i8] c"func(string,union:u15)=>object:%m5.CtxCore\00"
+@sc_cs_885587428425789 = internal constant [33 x i8] c"func(string)=>object:%m5.CtxCore\00"
+@sc_cs_3038183441461216 = internal constant [10 x i8] c"union:u14\00"
+@sc_cs_334287699604147 = internal constant [10 x i8] c"record:r4\00"
+@sc_cs_3066695590452058 = internal constant [7 x i8] c"append\00"
+@sc_cs_589165283907200 = internal constant [50 x i8] c"func(string,string,union:u14)=>object:%m5.CtxCore\00"
+@sc_cs_3418894039723222 = internal constant [30 x i8] c"func(f64)=>object:%m5.CtxCore\00"
+@sc_cs_1273036846250420 = internal constant [23 x i8] c"func(string,dyn)=>void\00"
+@sc_cs_1401489145004524 = internal constant [30 x i8] c"func(dyn)=>object:%m5.CtxCore\00"
+@sc_cs_2903134673160811 = internal constant [43 x i8] c"func(bytes,string)=>object:%m5.CtxCore\00"
+@sc_cs_928164213955712 = internal constant [40 x i8] c"func(string,string)=>object:%m5.CtxCore\00"
+@sc_cs_1122325011748487 = internal constant [11 x i8] c"record:r21\00"
+@sc_cs_4290884524289030 = internal constant [7 x i8] c"c.json\00"
+@sc_cs_3127122199549447 = internal constant [24 x i8] c"func(string)=>union:u35\00"
+@sc_cs_65100522461730 = internal constant [14 x i8] c"m8.DiskAssets\00"
+@sc_cs_3356957811084906 = internal constant [30 x i8] c"func(string,record:r11)=>void\00"
+@sc_cs_2732233530704502 = internal constant [30 x i8] c"func(array)=>void\00"
+@sc_cs_2251933729900935 = internal constant [23 x i8] c"ROUTE_CONTRACT_VERSION\00"
+@sc_cs_2374877263538670 = internal constant [11 x i8] c"g.dispatch\00"
+@sc_cs_3205401475211014 = internal constant [16 x i8] c"g.dispatchFetch\00"
+@sc_cs_1137312206133953 = internal constant [10 x i8] c"g.upgrade\00"
+@sc_cs_3694455830285465 = internal constant [14 x i8] c"app._dispatch\00"
+@sc_cs_1207503272071744 = internal constant [24 x i8] c"func()=>promise\00"
+@sc_cs_223123181947432 = internal constant [21 x i8] c"func()=>promise\00"
+@sc_cs_1235448592878459 = internal constant [11 x i8] c"onRejected\00"
+@sc_cs_1837334171651882 = internal constant [11 x i8] c"record:r23\00"
+@sc_cs_2898582433338787 = internal constant [5 x i8] c"done\00"
+@sc_cs_217677546466963 = internal constant [23 x i8] c"Uint8Array | undefined\00"
+@sc_cs_317766872981707 = internal constant [10 x i8] c"union:u37\00"
+@sc_cs_2951457732402023 = internal constant [4 x i8] c"_hs\00"
+@sc_cs_4297677228401092 = internal constant [3 x i8] c"_t\00"
+@sc_cs_1347488745603967 = internal constant [7 x i8] c"_ended\00"
+@sc_cs_2774677165392416 = internal constant [17 x i8] c"lite.arrayBuffer\00"
+@sc_cs_2727151776136871 = internal constant [13 x i8] c"promise\00"
+@sc_cs_3930082970088621 = internal constant [18 x i8] c"app._dispatchPrim\00"
+@sc_cs_2640370663486446 = internal constant [14 x i8] c"promise\00"
+@sc_cs_3875089545086560 = internal constant [10 x i8] c"getReader\00"
+@sc_cs_1259827915176370 = internal constant [12 x i8] c"b.getReader\00"
+@sc_cs_1793359953353463 = internal constant [16 x i8] c"func(f64)=>void\00"
+@sc_cs_1455899048496469 = internal constant [19 x i8] c"func(string)=>void\00"
+@sc_cs_916628890312014 = internal constant [29 x i8] c"func(bytes,string)=>void\00"
+@sc_cs_1272873061712689 = internal constant [23 x i8] c"func(string,f64)=>void\00"
+@sc_cs_2141261385266017 = internal constant [30 x i8] c"func(f64,array)=>void\00"
+@sc_cs_964906137923731 = internal constant [22 x i8] c"func(record:r1)=>void\00"
+@sc_cs_1903274682137646 = internal constant [13 x i8] c"func()=>bool\00"
+@sc_cs_1364242983314192 = internal constant [12 x i8] c"func()=>f64\00"
+@sc_cs_3866987251297945 = internal constant [24 x i8] c"func(string)=>union:u33\00"
+@sc_cs_372809600886995 = internal constant [18 x i8] c"func()=>record:r0\00"
+@sc_cs_28620680064020 = internal constant [17 x i8] c"func()=>union:u3\00"
+@sc_cs_3393462821733945 = internal constant [16 x i8] c"sink.toResponse\00"
+@sc_cs_3782535335241788 = internal constant [15 x i8] c"func()=>string\00"
+@sc_cs_62391474614842 = internal constant [24 x i8] c"func(string)=>union:u34\00"
+@sc_cs_21374005649439 = internal constant [23 x i8] c"func(string)=>union:u2\00"
+@sc_cs_1894164568731569 = internal constant [26 x i8] c"func(array)=>void\00"
+@sc_cs_3904965855413848 = internal constant [22 x i8] c"func()=>array\00"
+@sc_cs_4171889536153457 = internal constant [28 x i8] c"func(string)=>array\00"
+@sc_cs_553299930292159 = internal constant [45 x i8] c"func(string)=>array\00"
+@sc_cs_1062904759900852 = internal constant [57 x i8] c"func(array,array)=>void\00"
+@sc_cs_511877503392273 = internal constant [16 x i8] c"promise\00"
+@sc_cs_166879103840853 = internal constant [19 x i8] c"func(string)=>bool\00"
+@sc_cs_2761382228043105 = internal constant [10 x i8] c"union:u31\00"
+@sc_cs_3878340342191554 = internal constant [25 x i8] c"func(dyn,union:u31)=>dyn\00"
+@sc_cs_1363959244591732 = internal constant [35 x i8] c"func(record:r11,string)=>union:u36\00"
+@sc_cs_3064312976381386 = internal constant [11 x i8] c"srv.handle\00"
+@sc_cs_1324295358917995 = internal constant [10 x i8] c"hs.append\00"
+@sc_cs_4217381500900616 = internal constant [12 x i8] c"ctl.enqueue\00"
+@sc_cs_897001462723037 = internal constant [10 x i8] c"ctl.close\00"
+@sc_cs_517403358760410 = internal constant [15 x i8] c"self.setHeader\00"
+@sc_cs_4467357854213836 = internal constant [8 x i8] c"resolve\00"
+@sc_cs_4177961995716049 = internal constant [17 x i8] c"func()=>union:u6\00"
+@sc_cs_3668476931976593 = internal constant [16 x i8] c"m4.DiskFileSink\00"
+@sc_cs_2246533090824195 = internal constant [57 x i8] c"func(string,string,string)=>object:%m4.MultipartFileSink\00"
+@sc_cs_544229772381623 = internal constant [15 x i8] c"m4.DiskStorage\00"
+@sc_cs_1707336406926269 = internal constant [81 x i8] c"reading 'get' on this native class through an untyped value is not supported yet\00"
+@sc_cs_2988681134725684 = internal constant [7 x i8] c"SC2020\00"
+@sc_cs_2785503669010995 = internal constant [47 x i8] c"Cannot read properties of undefined (reading '\00"
+@sc_cs_3253684798044657 = internal constant [42 x i8] c"Cannot read properties of null (reading '\00"
+@sc_cs_2733163726930854 = internal constant [3 x i8] c"')\00"
+@sc_cs_272862668042129 = internal constant [7 x i8] c"length\00"
+@sc_cs_3120000046228632 = internal constant [11 x i8] c"hs.forEach\00"
+@sc_cs_368290044818719 = internal constant [81 x i8] c"calling 'get' on this native class through an untyped value is not supported yet\00"
+@sc_cs_731773075116702 = internal constant [4 x i8] c"get\00"
+@sc_cs_2856513345585464 = internal constant [16 x i8] c"req.headers.get\00"
+@sc_cs_1207708014012541 = internal constant [12 x i8] c"arrayBuffer\00"
+@sc_cs_3359878076732110 = internal constant [16 x i8] c"req.arrayBuffer\00"
+@sc_cs_1488801223928754 = internal constant [6 x i8] c"Error\00"
+@sc_cs_1024475271419441 = internal constant [14 x i8] c"object:%Error\00"
+@sc_cs_1143527378875226 = internal constant [6 x i8] c"allow\00"
+
+@sc_map_ops_935534849691578 = internal constant { ptr, ptr, ptr, ptr, ptr, ptr, ptr } { ptr null, ptr null, ptr null, ptr @scr_str_retain_v, ptr @scr_str_release_v, ptr null, ptr null }
+@sc_map_ops_3966376201201672 = internal constant { ptr, ptr, ptr, ptr, ptr, ptr, ptr } { ptr null, ptr null, ptr null, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr null, ptr null }
+@sc_map_ops_1290041105938883 = internal constant { ptr, ptr, ptr, ptr, ptr, ptr, ptr } { ptr null, ptr null, ptr null, ptr @sc_nretain_string, ptr @scr_str_release_v, ptr null, ptr null }
+@sc_map_ops_4482781317429940 = internal constant { ptr, ptr, ptr, ptr, ptr, ptr, ptr } { ptr null, ptr null, ptr null, ptr @sc_nretain_array, ptr @scr_arr_release_v, ptr null, ptr null }
+
+@sc_g_m0_ROUTE_CONTRACT_VERSION = internal global double 0x0000000000000000 ; ROUTE_CONTRACT_VERSION
+@sc_g_m4_EMPTY_U8 = internal global ptr null ; EMPTY_U8
+@sc_g_m4_MP_BOUNDARY = internal global double 0x0000000000000000 ; MP_BOUNDARY
+@sc_g_m4_MP_AFTER = internal global double 0x0000000000000000 ; MP_AFTER
+@sc_g_m4_MP_HEADERS = internal global double 0x0000000000000000 ; MP_HEADERS
+@sc_g_m4_MP_CONTENT = internal global double 0x0000000000000000 ; MP_CONTENT
+@sc_g_m4_MP_DONE = internal global double 0x0000000000000000 ; MP_DONE
+@sc_g_m4_MP_ERR_MALFORMED = internal global double 0x0000000000000000 ; MP_ERR_MALFORMED
+@sc_g_m4_MP_ERR_LIMIT = internal global double 0x0000000000000000 ; MP_ERR_LIMIT
+@sc_g_m4_MP_MAX_HEADER = internal global double 0x0000000000000000 ; MP_MAX_HEADER
+@sc_g_m5_EMPTY_S = internal global ptr null ; EMPTY_S
+@sc_g_m5_EMPTY_N = internal global ptr null ; EMPTY_N
+@sc_g_m5_Ctx = internal global ptr null ; Ctx
+@sc_g_m5_ReqView = internal global ptr null ; ReqView
+@sc_g_m5_CtxRes = internal global ptr null ; CtxRes
+@sc_g_m5_MP_SHARED_MEM = internal global ptr null ; MP_SHARED_MEM
+@sc_g_m7_TYPES = internal global ptr null ; TYPES
+@sc_g_m10_DAYS = internal global ptr null ; DAYS
+@sc_g_m10_MONTHS = internal global ptr null ; MONTHS
+@sc_g_m11_IMMUTABLE_CC = internal global ptr null ; IMMUTABLE_CC
+@sc_g_m14_RECORDS = internal global ptr null ; RECORDS
+@sc_g_m0__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m1__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m2__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m3__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m4__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m5__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m6__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m7__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m8__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m9__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m10__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m11__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m12__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m13__x25_loaded = internal global i1 false ; %loaded
+@sc_g_m14__x25_loaded = internal global i1 false ; %loaded
+@sc_g_e__x25_loaded = internal global i1 false ; %loaded
+@sc_g__x25_prototype_data__x25_m5_App = internal global ptr null ; App.prototype
+@sc_g__x25_prototype_data__x25_m5_App_ready = internal global i1 false ; App.prototype.ready
+@sc_g__x25_prototype_data__x25_m5_CtxCore = internal global ptr null ; CtxCore.prototype
+@sc_g__x25_prototype_data__x25_m5_CtxCore_ready = internal global i1 false ; CtxCore.prototype.ready
+@sc_g__x25_prototype_data__x25_m6_AssetSource = internal global ptr null ; AssetSource.prototype
+@sc_g__x25_prototype_data__x25_m6_AssetSource_ready = internal global i1 false ; AssetSource.prototype.ready
+@sc_g__x25_prototype_data__x25_m9_EmbeddedAssets = internal global ptr null ; EmbeddedAssets.prototype
+@sc_g__x25_prototype_data__x25_m9_EmbeddedAssets_ready = internal global i1 false ; EmbeddedAssets.prototype.ready
+@sc_g__x25_prototype_data__x25_m14_BakedAssets = internal global ptr null ; BakedAssets.prototype
+@sc_g__x25_prototype_data__x25_m14_BakedAssets_ready = internal global i1 false ; BakedAssets.prototype.ready
+@sc_g__x25_prototype_data__x25_m0_GenDispatch = internal global ptr null ; GenDispatch.prototype
+@sc_g__x25_prototype_data__x25_m0_GenDispatch_ready = internal global i1 false ; GenDispatch.prototype.ready
+@sc_g__x25_prototype_data__x25_m0_GenFetch = internal global ptr null ; GenFetch.prototype
+@sc_g__x25_prototype_data__x25_m0_GenFetch_ready = internal global i1 false ; GenFetch.prototype.ready
+@sc_g__x25_prototype_data__x25_m1_UpgradeDispatch = internal global ptr null ; UpgradeDispatch.prototype
+@sc_g__x25_prototype_data__x25_m1_UpgradeDispatch_ready = internal global i1 false ; UpgradeDispatch.prototype.ready
+@sc_g__x25_prototype_data__x25_m3_LiteRequest = internal global ptr null ; LiteRequest.prototype
+@sc_g__x25_prototype_data__x25_m3_LiteRequest_ready = internal global i1 false ; LiteRequest.prototype.ready
+@sc_g__x25_prototype_data__x25_m2_ResponseSink = internal global ptr null ; ResponseSink.prototype
+@sc_g__x25_prototype_data__x25_m2_ResponseSink_ready = internal global i1 false ; ResponseSink.prototype.ready
+@sc_g__x25_prototype_data__x25_m2_FetchResponseSink = internal global ptr null ; FetchResponseSink.prototype
+@sc_g__x25_prototype_data__x25_m2_FetchResponseSink_ready = internal global i1 false ; FetchResponseSink.prototype.ready
+@sc_g__x25_prototype_data__x25_m5_ReqViewCore = internal global ptr null ; ReqViewCore.prototype
+@sc_g__x25_prototype_data__x25_m5_ReqViewCore_ready = internal global i1 false ; ReqViewCore.prototype.ready
+@sc_g__x25_prototype_data__x25_m11_StaticServer = internal global ptr null ; StaticServer.prototype
+@sc_g__x25_prototype_data__x25_m11_StaticServer_ready = internal global i1 false ; StaticServer.prototype.ready
+@sc_g__x25_prototype_data__x25_m4_MultipartParser = internal global ptr null ; MultipartParser.prototype
+@sc_g__x25_prototype_data__x25_m4_MultipartParser_ready = internal global i1 false ; MultipartParser.prototype.ready
+@sc_g__x25_prototype_data__x25_m3_LiteResponse = internal global ptr null ; LiteResponse.prototype
+@sc_g__x25_prototype_data__x25_m3_LiteResponse_ready = internal global i1 false ; LiteResponse.prototype.ready
+@sc_g__x25_prototype_data__x25_m4_MultipartFileSink = internal global ptr null ; MultipartFileSink.prototype
+@sc_g__x25_prototype_data__x25_m4_MultipartFileSink_ready = internal global i1 false ; MultipartFileSink.prototype.ready
+@sc_g__x25_prototype_data__x25_m4_MultipartStorage = internal global ptr null ; MultipartStorage.prototype
+@sc_g__x25_prototype_data__x25_m4_MultipartStorage_ready = internal global i1 false ; MultipartStorage.prototype.ready
+@sc_g__x25_prototype_data__x25_m4_MemoryStorage = internal global ptr null ; MemoryStorage.prototype
+@sc_g__x25_prototype_data__x25_m4_MemoryStorage_ready = internal global i1 false ; MemoryStorage.prototype.ready
+@sc_g__x25_prototype_data__x25_m2_NodeResponseSink = internal global ptr null ; NodeResponseSink.prototype
+@sc_g__x25_prototype_data__x25_m2_NodeResponseSink_ready = internal global i1 false ; NodeResponseSink.prototype.ready
+@sc_g__x25_prototype_data__x25_m4_MemoryFileSink = internal global ptr null ; MemoryFileSink.prototype
+@sc_g__x25_prototype_data__x25_m4_MemoryFileSink_ready = internal global i1 false ; MemoryFileSink.prototype.ready
+@sc_g__x25_prototype_data__x25_m3_LiteHeaders = internal global ptr null ; LiteHeaders.prototype
+@sc_g__x25_prototype_data__x25_m3_LiteHeaders_ready = internal global i1 false ; LiteHeaders.prototype.ready
+@sc_g__x25_prototype_data__x25_m5_CtxResCore = internal global ptr null ; CtxResCore.prototype
+@sc_g__x25_prototype_data__x25_m5_CtxResCore_ready = internal global i1 false ; CtxResCore.prototype.ready
+
+@sc_oom_msg = internal constant [24 x i8] c"scriptc: out of memory\0A\00"
+define internal void @sc_oom() #0 {
+entry:
+ call void @scr_trap(ptr @sc_oom_msg)
+ unreachable
+}
+
+@sc_bad_tag_msg = internal constant [44 x i8] c"scriptc: internal error: invalid union tag\0A\00"
+define internal void @sc_bad_tag() #0 {
+entry:
+ call void @scr_trap(ptr @sc_bad_tag_msg)
+ unreachable
+}
+
+@sc_bad_key_msg = internal constant [86 x i8] c"scriptc: TypeError: record has no key (typed slot \E2\80\94 no undefined is representable)\0A\00"
+define internal void @sc_bad_key() #0 {
+entry:
+ call void @scr_trap(ptr @sc_bad_key_msg)
+ unreachable
+}
+
+define internal ptr @sc_retain_box(ptr %b) #0 {
+entry:
+ %rc = load i64, ptr %b
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %b
+ br label %done
+done:
+ ret ptr %b
+}
+
+define internal zeroext i1 @sc_str_eq(ptr %a, ptr %b) #0 {
+entry:
+ %same = icmp eq ptr %a, %b
+ br i1 %same, label %yes, label %lengths
+lengths:
+ %alen.p = getelementptr inbounds %ScrStr, ptr %a, i32 0, i32 1
+ %blen.p = getelementptr inbounds %ScrStr, ptr %b, i32 0, i32 1
+ %alen = load i64, ptr %alen.p
+ %blen = load i64, ptr %blen.p
+ %samelen = icmp eq i64 %alen, %blen
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %eq = call zeroext i1 @scr_str_eq(ptr %a, ptr %b)
+ ret i1 %eq
+yes:
+ ret i1 true
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2587508618302557(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8751164109912108898
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2431234921623602(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 1
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i8, ptr %data, align 1
+ %x0 = xor i8 %w0, 34
+ %z0 = zext i8 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3440635113177870(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8386094127413096294
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 97
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2298207874780604(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1701667182
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4388468866828680(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7308604897068083558
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2725580638052193(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1414745936
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2541794298493390(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 5526864
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2494668324074259(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 310367240528
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1791854776991212(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 76228242195780
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4005573543169985(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 0
+ ret i1 %samelen
+}
+
+define internal zeroext i1 @sc_streq_2434240011052594(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 1
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i8, ptr %data, align 1
+ %x0 = xor i8 %w0, 47
+ %z0 = zext i8 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1834571860458263(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 1
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i8, ptr %data, align 1
+ %x0 = xor i8 %w0, 42
+ %z0 = zext i8 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4075616746236128(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 1
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i8, ptr %data, align 1
+ %x0 = xor i8 %w0, 58
+ %z0 = zext i8 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3185835515143599(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1145128264
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_367446482893939(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 5522759
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1666994892967735(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 2
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i16, ptr %data, align 1
+ %x0 = xor i16 %w0, 11822
+ %z0 = zext i16 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3618831577556636(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 1
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i8, ptr %data, align 1
+ %x0 = xor i8 %w0, 46
+ %z0 = zext i8 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_438854160789283(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 11
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7956503110378420014
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i24, ptr %p1, align 1
+ %x1 = xor i24 %w1, 7239535
+ %z1 = zext i24 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1687538661063814(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 1
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i8, ptr %data, align 1
+ %x0 = xor i8 %w0, 48
+ %z0 = zext i8 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2329537264393449(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 12
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 3275364211029340003
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i32, ptr %p1, align 1
+ %x1 = xor i32 %w1, 1701869940
+ %z1 = zext i32 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1256688351795902(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 19
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 3275364211029340003
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i64, ptr %p1, align 1
+ %x1 = xor i64 %w1, 8388362703419435364
+ %o1 = or i64 %x0, %x1
+ %p2 = getelementptr inbounds i8, ptr %data, i32 16
+ %w2 = load i24, ptr %p2, align 1
+ %x2 = xor i24 %w2, 7237481
+ %z2 = zext i24 %x2 to i64
+ %o2 = or i64 %o1, %z2
+ %eq = icmp eq i64 %o2, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4006719217465510(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 11
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7166760226508402531
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i24, ptr %p1, align 1
+ %x1 = xor i24 %w1, 7499636
+ %z1 = zext i24 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_442512110453159(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 16
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7308895133777551199
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i64, ptr %p1, align 1
+ %x1 = xor i64 %w1, 6872337336461714759
+ %o1 = or i64 %x0, %x1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3044709983387393(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 16
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7308895133777551199
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i64, ptr %p1, align 1
+ %x1 = xor i64 %w1, 6872337336461714771
+ %o1 = or i64 %x0, %x1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4327941486179142(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 14
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8237205177173762408
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i48, ptr %p1, align 1
+ %x1 = xor i48 %w1, 133541042417775
+ %z1 = zext i48 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_900273229759677(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 16
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8103501230877990751
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i64, ptr %p1, align 1
+ %x1 = xor i64 %w1, 6872337336461714759
+ %o1 = or i64 %x0, %x1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2545601642886305(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 16
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8103501230877990751
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i64, ptr %p1, align 1
+ %x1 = xor i64 %w1, 6872337336461714771
+ %o1 = or i64 %x0, %x1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3038471479600896(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 13
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8390052652822590313
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i40, ptr %p1, align 1
+ %x1 = xor i40 %w1, 439418712185
+ %z1 = zext i40 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_327813112294278(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 20
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8751745755891331696
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i64, ptr %p1, align 1
+ %x1 = xor i64 %w1, 8243115044100207433
+ %o1 = or i64 %x0, %x1
+ %p2 = getelementptr inbounds i8, ptr %data, i32 16
+ %w2 = load i32, ptr %p2, align 1
+ %x2 = xor i32 %w2, 1701601889
+ %z2 = zext i32 %x2 to i64
+ %o2 = or i64 %o1, %z2
+ %eq = icmp eq i64 %o2, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3302186402337583(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7453010373643562868
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2653701574536716(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 28797744804815222
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_860002567067755(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 6876843178028195679
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 95
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_619980451361384(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 14
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7308323375012409204
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i48, ptr %p1, align 1
+ %x1 = xor i48 %w1, 113723913172051
+ %z1 = zext i48 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3038119887745057(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 126879313915487
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2387748979716321(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7826783
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4074236996717255(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1936615007
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3834689050502795(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1937206623
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_772714621079184(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 6712927
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1253948269358290(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 512936537695
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_872249802202544(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1717923679
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3257120253469437(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32491021206578015
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3782354537448346(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7955997317698842207
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_886324725696546(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7237727
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_535630044833136(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 6910047
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4400741686745380(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7369567
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1668606746601237(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 77487190008415
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1388999587933298(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7368031
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1094398669481625(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1852139359
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1345623861448315(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7166464260227557215
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 104
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3774229428846185(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7370079
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_731773075116702(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7628135
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2007918756741504(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1953722224
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_971741391048674(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7632240
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1716842667196161(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 111550592214372
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2894558501580739(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 448345170288
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2800347990603543(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1684104552
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2948042885743279(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32491047111389295
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1670565919607657(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7105633
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3251470234448474(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 2
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i16, ptr %data, align 1
+ %x0 = xor i16 %w0, 28271
+ %z0 = zext i16 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2879707573315964(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 6648693
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3111096729023658(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7236850772014821230
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_668712189700762(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32210684679122543
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2436853855422636(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 435745550194
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2466306126986778(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 12
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8102935897100806519
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i32, ptr %p1, align 1
+ %x1 = xor i32 %w1, 1751348321
+ %z1 = zext i32 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1389753027152399(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 17
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7166464260127877495
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i64, ptr %p1, align 1
+ %x1 = xor i64 %w1, 7166460042653811816
+ %o1 = or i64 %x0, %x1
+ %p2 = getelementptr inbounds i8, ptr %data, i32 16
+ %w2 = load i8, ptr %p2, align 1
+ %x2 = xor i8 %w2, 104
+ %z2 = zext i8 %x2 to i64
+ %o2 = or i64 %o1, %z2
+ %eq = icmp eq i64 %o2, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1148437194389594(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 11
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8243681155051972983
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i24, ptr %p1, align 1
+ %x1 = xor i24 %w1, 6644833
+ %z1 = zext i24 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4192469624085056(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 14
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 5216686113072574581
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i48, ptr %p1, align 1
+ %x1 = xor i48 %w1, 125779935784545
+ %z1 = zext i48 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_864781090888737(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32199663560843624
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_603267670272610(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 11
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7598208537440052582
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i24, ptr %p1, align 1
+ %x1 = xor i24 %w1, 6645604
+ %z1 = zext i24 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_646811555153625(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 435778905459
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4391217941138845(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 10
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8387187282640266611
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i16, ptr %p1, align 1
+ %x1 = xor i16 %w1, 26723
+ %z1 = zext i16 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2014847608589337(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 121248661467743
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_405767859507088(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1684300127
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4078327433052319(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 448345171302
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_156708963710691(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7595412479370618214
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 109
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1093190805819680(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 13
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7166460042653819999
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i40, ptr %p1, align 1
+ %x1 = xor i40 %w1, 469920534632
+ %z1 = zext i40 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3899522094323235(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7166460042653819999
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 104
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3447500980845638(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7431538
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_448101171860799(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1802398067
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4141049404401276(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8603398483185332831
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3621289080171698(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32498765033403231
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2163543391075186(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1953391987
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4022150258959820(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 495840228959
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3084154227263888(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8315142882439687775
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1951312618348557(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7562610
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_127274431826284(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 126948300911731
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_528144782449140(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 125779801367912
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1950596786618243(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7628147
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_48178627029362(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1852797802
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2677147133778287(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1954047348
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4044156596960274(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1819112552
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_161925136240866(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8386658473162859890
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_693828840439997(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 495623371106
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_587707337530151(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 431348872031
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3804612928743770(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 2019846495
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1810373001322451(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32497601399185759
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2227497482646049(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 6579297
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_228045523956680(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1684107116
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4062729090063393(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 474214786402
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1295387805544367(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 28542640877171827
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3528980137111930(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 284650135917
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4476522814667484(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 301964222829
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3328648022724882(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 18687764664443245
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1287587581000978(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 2002874975
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1774444802243527(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1650816863
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_964469684973146(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8318822943511898207
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1867568051177534(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 16
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8318822943511898207
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i64, ptr %p1, align 1
+ %x1 = xor i64 %w1, 8386668330298337604
+ %o1 = or i64 %x0, %x1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1609576561362083(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 110429656606061
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_719487464480143(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7107189
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2826818497658723(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1752457584
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2528619671045714(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7565663
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4247546884021115(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7369055
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3282989543243776(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7172191
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4347805238344460(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 521376064095
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3191748704064557(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8315171486418627935
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_232607068610214(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7236270204105289055
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 115
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3786966061696883(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7823730
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_308138762104264(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 124679989191026
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2356143898347316(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 27695974007010143
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3600534565598564(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 469786321264
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1621825757343351(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 30769164589560671
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2827456990858395(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 131319940870239
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2968093406050353(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 521610294641
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3529749794644284(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7812691443447068017
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_124879919648070(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32481125886948721
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_616655122974952(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 2036625250
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_40786511283622(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8747238707471676255
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1048673592241930(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1701603686
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1081761464356753(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 495622842726
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3392166625234189(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 431315315046
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3375901898269401(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 126875152509286
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3532714511332900(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 13
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8389209181410128735
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i40, ptr %p1, align 1
+ %x1 = xor i40 %w1, 500135194729
+ %z1 = zext i40 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3624217920823549(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 28259044185698399
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3752021314181142(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8463496751980242291
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 115
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2364278031517622(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7306071583136966003
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 114
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_470306239805907(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 12
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7298193621464936545
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i32, ptr %p1, align 1
+ %x1 = xor i32 %w1, 1919247457
+ %z1 = zext i32 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4133069531575059(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7237076129719874167
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 121
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2253648670486996(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7310601421540585314
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 115
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_298897322184109(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 435744764535
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4085448292571548(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7018095194908750455
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 100
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3561861343106386(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7018141438267649637
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 109
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3108123016971750(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 500102554721
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2529432852777196(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 128017495192425
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4297539476301093(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 13
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8243105062445413225
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i40, ptr %p1, align 1
+ %x1 = xor i40 %w1, 500068340595
+ %z1 = zext i40 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1959461887910059(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 34181009552663908
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_181663572509014(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7372238063329703027
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_992600386266231(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7372236894830159208
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4198614539576238(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 10
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 5580930143043544424
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i16, ptr %p1, align 1
+ %x1 = xor i16 %w1, 28769
+ %z1 = zext i16 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3908714124573206(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32481026884530030
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3953364176447457(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1952805727
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3231205774586710(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32503098286171240
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_538032548850790(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32488787639690344
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4231320391602270(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32777993389761640
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2537232771826273(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 126905251883107
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1579912071364319(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 11
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 6013275707271112040
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i24, ptr %p1, align 1
+ %x1 = xor i24 %w1, 7630437
+ %z1 = zext i24 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1640919894513317(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 28259048448025697
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4191962028163388(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 10
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7596835234783720287
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i16, ptr %p1, align 1
+ %x1 = xor i16 %w1, 26478
+ %z1 = zext i16 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2098081682588801(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1819566943
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4448851817182856(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7954875725661496671
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4028208071947570(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 10
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7957702707510407028
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i16, ptr %p1, align 1
+ %x1 = xor i16 %w1, 25971
+ %z1 = zext i16 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2171724267474130(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1936028255
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1515898915129638(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7170399
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2556418033318189(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7561576
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2782259059515958(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 12
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8017379740190270823
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i32, ptr %p1, align 1
+ %x1 = xor i32 %w1, 1701407599
+ %z1 = zext i32 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_145319249654683(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 29382667006013286
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3013970235377041(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 28542640894207341
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1143527378875226(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 512970484833
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4331231100667432(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 120299557577823
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1497623537730125(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 120338095825759
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3626652862359804(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7631711
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3767316427932713(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 431348871263
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_270650669493903(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7306916064555987807
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1904556107358822(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7308332046703750495
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 66
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3347257245794453(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7308332046703750495
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 115
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_51498970823486(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 10
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7810764880132271455
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i16, ptr %p1, align 1
+ %x1 = xor i16 %w1, 16996
+ %z1 = zext i16 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3871774119671975(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 482804986719
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1511541293423217(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 28548172057110879
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3537803200604019(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 110416720651871
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2438149604853393(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 9
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7881702204764677727
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i8, ptr %p1, align 1
+ %x1 = xor i8 %w1, 101
+ %z1 = zext i8 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_87265031005560(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 435627322719
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2620371357038102(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 461413905247
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1445273163400741(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32481173248829023
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3078220272172636(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 111576429586015
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3003865410260240(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32481138620919391
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3833663445821831(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7500389
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3531366543973767(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1684366694
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1173128410961643(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 114844899371366
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1900193337948069(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 10
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7886488383174831455
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i16, ptr %p1, align 1
+ %x1 = xor i16 %w1, 25701
+ %z1 = zext i16 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3922224781708262(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 127996156013663
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1360183775732063(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 10
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7012232654659674463
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i16, ptr %p1, align 1
+ %x1 = xor i16 %w1, 29810
+ %z1 = zext i16 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_142546227685363(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 10
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7012232654425977695
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i16, ptr %p1, align 1
+ %x1 = xor i16 %w1, 29810
+ %z1 = zext i16 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2281930073577937(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 499984983391
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1113582459875923(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8390876053654889823
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_595629019077013(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7309475598608197997
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3603975379547098(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1702521203
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_662344961506331(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 6517363
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_24845548896369(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 6385779
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_365197477495960(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 6910049
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_488203381972006(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 517097156201
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_938646781597298(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 2
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i16, ptr %data, align 1
+ %x0 = xor i16 %w0, 25443
+ %z0 = zext i16 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2232031524457002(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 452854903657
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3423954012803281(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 111516215828840
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_700259281879664(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1684956531
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2478521587363481(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 4
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i32, ptr %data, align 1
+ %x0 = xor i32 %w0, 1801677168
+ %z0 = zext i32 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_952059176356082(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 6581861
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1026109439396001(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 500136108641
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_201462833315591(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32487744482075487
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1008105371634015(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 5
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i40, ptr %data, align 1
+ %x0 = xor i40 %w0, 435845428063
+ %z0 = zext i40 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2251933729900935(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 22
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 5711513503808180050
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i64, ptr %p1, align 1
+ %x1 = xor i64 %w1, 6223785857884771406
+ %o1 = or i64 %x0, %x1
+ %p2 = getelementptr inbounds i8, ptr %data, i32 16
+ %w2 = load i48, ptr %p2, align 1
+ %x2 = xor i48 %w2, 86102439580229
+ %z2 = zext i48 %x2 to i64
+ %o2 = or i64 %o1, %z2
+ %eq = icmp eq i64 %o2, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3862385552412238(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 8
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7521983764486121828
+ %eq = icmp eq i64 %x0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_437194258546139(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 13
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7521983764486121828
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i40, ptr %p1, align 1
+ %x1 = xor i40 %w1, 448345171270
+ %z1 = zext i40 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2250671438728133(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 28539342341763189
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_977412068193087(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32495402123093352
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_2951457732402023(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 3
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i24, ptr %data, align 1
+ %x0 = xor i24 %w0, 7563359
+ %z0 = zext i24 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_4297677228401092(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 2
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i16, ptr %data, align 1
+ %x0 = xor i16 %w0, 29791
+ %z0 = zext i16 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1347488745603967(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 6
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i48, ptr %data, align 1
+ %x0 = xor i48 %w0, 110386639431007
+ %z0 = zext i48 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_1207708014012541(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 11
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 7382880253237162593
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i24, ptr %p1, align 1
+ %x1 = xor i24 %w1, 7497062
+ %z1 = zext i24 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_551454763233869(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 7
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i56, ptr %data, align 1
+ %x0 = xor i56 %w0, 32777976897693042
+ %z0 = zext i56 %x0 to i64
+ %eq = icmp eq i64 %z0, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_streq_3196313521755681(ptr %s) #0 {
+entry:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %samelen = icmp eq i64 %len, 10
+ br i1 %samelen, label %bytes, label %no
+bytes:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %w0 = load i64, ptr %data, align 1
+ %x0 = xor i64 %w0, 8017378709950526579
+ %p1 = getelementptr inbounds i8, ptr %data, i32 8
+ %w1 = load i16, ptr %p1, align 1
+ %x1 = xor i16 %w1, 25956
+ %z1 = zext i16 %x1 to i64
+ %o1 = or i64 %x0, %z1
+ %eq = icmp eq i64 %o1, 0
+ ret i1 %eq
+no:
+ ret i1 false
+}
+
+@scr_str_scan = external global { ptr, ptr, i64 }
+
+define internal double @sc_str_utf16_len(ptr %s) #0 {
+entry:
+ %cw.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 2
+ %cw = load i32, ptr %cw.p
+ %ascii = icmp slt i32 %cw, 0
+ br i1 %ascii, label %fast, label %wide
+fast:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %n = sitofp i64 %len to double
+ ret double %n
+wide:
+ %scan.s = load ptr, ptr @scr_str_scan
+ %scan.same = icmp eq ptr %scan.s, %s
+ br i1 %scan.same, label %scan.load, label %slow
+scan.load:
+ %scan.up = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 1
+ %scan.units = load ptr, ptr %scan.up
+ %scan.np = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 2
+ %scan.nw = load i64, ptr %scan.np
+ %scan.n = add i64 %scan.nw, 0
+ br label %scan.len
+scan.len:
+ %scan.dn = sitofp i64 %scan.n to double
+ ret double %scan.dn
+slow:
+ %r = call double @scr_str_utf16_len(ptr %s) cold nocallback nounwind willreturn
+ ret double %r
+}
+
+define internal double @sc_str_char_code_at(ptr %s, double %i) #0 {
+entry:
+ %cw.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 2
+ %cw = load i32, ptr %cw.p
+ %ascii = icmp slt i32 %cw, 0
+ br i1 %ascii, label %bounds, label %wide
+wide:
+ %scan.s = load ptr, ptr @scr_str_scan
+ %scan.same = icmp eq ptr %scan.s, %s
+ br i1 %scan.same, label %scan.load, label %slow
+scan.load:
+ %scan.up = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 1
+ %scan.units = load ptr, ptr %scan.up
+ %scan.np = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 2
+ %scan.nw = load i64, ptr %scan.np
+ %scan.n = add i64 %scan.nw, 0
+ br label %scan.bounds
+scan.bounds:
+ %sx6 = fptosi double %i to i64
+ %sx7 = freeze i64 %sx6
+ %sx8 = sitofp i64 %sx7 to double
+ %sx9 = fcmp oeq double %sx8, %i
+ %sx10 = icmp ult i64 %sx7, %scan.n
+ %sx11 = and i1 %sx9, %sx10
+ br i1 %sx11, label %scan.read, label %slow
+scan.read:
+ %scan.k = add i64 %sx7, 0
+ %scan.p = getelementptr inbounds i16, ptr %scan.units, i64 %scan.k
+ %scan.unit = load i16, ptr %scan.p
+ %scan.d = uitofp i16 %scan.unit to double
+ ret double %scan.d
+bounds:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %ix0 = fptosi double %i to i64
+ %ix1 = freeze i64 %ix0
+ %ix2 = sitofp i64 %ix1 to double
+ %ix3 = fcmp oeq double %ix2, %i
+ %ix4 = icmp ult i64 %ix1, %len
+ %ix5 = and i1 %ix3, %ix4
+ br i1 %ix5, label %read, label %slow
+read:
+ %k = add i64 %ix1, 0
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %p = getelementptr inbounds i8, ptr %data, i64 %k
+ %byte = load i8, ptr %p
+ %unit = uitofp i8 %byte to double
+ ret double %unit
+slow:
+ %r = call double @scr_str_char_code_at(ptr %s, double %i) cold nocallback nounwind willreturn
+ ret double %r
+}
+
+define internal double @sc_str_char_code_at_int(ptr %s, i64 %i) #0 {
+entry:
+ %cw.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 2
+ %cw = load i32, ptr %cw.p
+ %ascii = icmp slt i32 %cw, 0
+ br i1 %ascii, label %bounds, label %wide
+wide:
+ %scan.s = load ptr, ptr @scr_str_scan
+ %scan.same = icmp eq ptr %scan.s, %s
+ br i1 %scan.same, label %scan.load, label %slow
+scan.load:
+ %scan.up = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 1
+ %scan.units = load ptr, ptr %scan.up
+ %scan.np = getelementptr inbounds { ptr, ptr, i64 }, ptr @scr_str_scan, i32 0, i32 2
+ %scan.nw = load i64, ptr %scan.np
+ %scan.n = add i64 %scan.nw, 0
+ br label %scan.bounds
+scan.bounds:
+ %scan.ok = icmp ult i64 %i, %scan.n
+ br i1 %scan.ok, label %scan.read, label %slow
+scan.read:
+ %scan.k = add i64 %i, 0
+ %scan.p = getelementptr inbounds i16, ptr %scan.units, i64 %scan.k
+ %scan.unit = load i16, ptr %scan.p
+ %scan.d = uitofp i16 %scan.unit to double
+ ret double %scan.d
+bounds:
+ %len.p = getelementptr inbounds %ScrStr, ptr %s, i32 0, i32 1
+ %len = load i64, ptr %len.p
+ %ok = icmp ult i64 %i, %len
+ br i1 %ok, label %read, label %slow
+read:
+ %data = getelementptr inbounds %ScrStr, ptr %s, i32 1
+ %p = getelementptr inbounds i8, ptr %data, i64 %i
+ %byte = load i8, ptr %p
+ %unit = uitofp i8 %byte to double
+ ret double %unit
+slow:
+ %d = sitofp i64 %i to double
+ %r = call double @scr_str_char_code_at(ptr %s, double %d) cold nocallback nounwind willreturn
+ ret double %r
+}
+
+define internal ptr @sc_rretain_r0(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r0_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r0, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_map_release(ptr %v0) ; [key: string] overflow
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r0(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r0_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r0_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r0_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r0() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r0, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r0, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ %ovf = call ptr @scr_map_new(i32 1, i32 2, ptr @sc_map_ops_935534849691578)
+ %ovfp = getelementptr inbounds %sc_rs_r0, ptr %o, i64 0, i32 1
+ store ptr %ovf, ptr %ovfp
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r1(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r1_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r1, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; body
+ %f1 = getelementptr inbounds %sc_rs_r1, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @sc_rc_release_dyn(ptr %v1) ; headers
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r1(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r1_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r1_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r1_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_rtrace_r1.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r1, ptr @sc_rgcfree_r1, i32 32, i32 0 }
+
+define internal ptr @sc_rnew_r1() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r1, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r1.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r1, ptr null, i32 1) to i64), ptr @sc_rtrace_r1.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal void @sc_rtrace_r1(ptr %o, ptr %visit, ptr %ctx) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r1, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; body
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_rs_r1, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; headers
+ br label %tv1.next
+tv1.next:
+ ret void
+}
+
+define internal void @sc_rgcfree_r1(ptr %o) #0 {
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_rretain_r2(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r2_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r2, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_closure_release(ptr %v0) ; close
+ %f1 = getelementptr inbounds %sc_rs_r2, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_closure_release(ptr %v1) ; enqueue
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r2(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r2_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r2_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r2_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_rtrace_r2.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r2, ptr @sc_rgcfree_r2, i32 33, i32 0 }
+
+define internal ptr @sc_rnew_r2() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r2, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r2.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r2, ptr null, i32 1) to i64), ptr @sc_rtrace_r2.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal void @sc_rtrace_r2(ptr %o, ptr %visit, ptr %ctx) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r2, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; close
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_rs_r2, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; enqueue
+ br label %tv1.next
+tv1.next:
+ ret void
+}
+
+define internal void @sc_rgcfree_r2(ptr %o) #0 {
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_rretain_r3(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r3_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r3, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_map_release(ptr %v0) ; [key: string] overflow
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r3(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r3_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r3_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r3_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r3() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r3, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r3, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ %ovf = call ptr @scr_map_new(i32 1, i32 2, ptr @sc_map_ops_3966376201201672)
+ %ovfp = getelementptr inbounds %sc_rs_r3, ptr %o, i64 0, i32 1
+ store ptr %ovf, ptr %ovfp
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r4(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r4(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r4_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r4_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r4() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r4, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r4, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r5(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r5_destroy_d(ptr %o, i32 %d) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r5, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_arr_release(ptr %v0) ; children
+ %f1 = getelementptr inbounds %sc_rs_r5, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; hf
+ %f2 = getelementptr inbounds %sc_rs_r5, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @scr_arr_release(ptr %v2) ; hm
+ %f3 = getelementptr inbounds %sc_rs_r5, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; seg
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r5_destroy(ptr %o) #0 {
+entry:
+ call void @sc_rrelease_r5_destroy_d(ptr %o, i32 0)
+ ret void
+}
+define internal void @sc_rrelease_r5(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r5_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r5_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r5_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r5() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r5, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r5, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r6(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r6_destroy_d(ptr %o, i32 %d) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r6, ptr %o, i64 0, i32 4
+ %v0 = load ptr, ptr %f0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %v0) ; storage
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r6_destroy(ptr %o) #0 {
+entry:
+ call void @sc_rrelease_r6_destroy_d(ptr %o, i32 0)
+ ret void
+}
+define internal void @sc_rrelease_r6(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r6_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r6_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r6_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_rtrace_r6.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r6, ptr @sc_rgcfree_r6, i32 34, i32 0 }
+
+define internal ptr @sc_rnew_r6() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r6, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r6.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r6, ptr null, i32 1) to i64), ptr @sc_rtrace_r6.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal void @sc_rtrace_r6(ptr %o, ptr %visit, ptr %ctx) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r6, ptr %o, i64 0, i32 4
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; storage
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_rgcfree_r6(ptr %o) #0 {
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_rretain_r7(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r7_destroy_d(ptr %o, i32 %d) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r7, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %td0.nn = icmp ne ptr %v0, null
+ br i1 %td0.nn, label %td0.chk, label %td0.next
+td0.chk:
+ %td0.rc = load i64, ptr %v0
+ %td0.last = icmp eq i64 %td0.rc, 1
+ br i1 %td0.last, label %td0.dead, label %td0.shared
+td0.shared:
+ call void @sc_rrelease_r6(ptr %v0) ; multipart
+ br label %td0.next
+td0.dead: ; multipart: the last reference
+ store i64 0, ptr %v0
+ %td0.bufp = getelementptr i8, ptr %v0, i64 -4
+ %td0.buf = load i32, ptr %td0.bufp
+ %td0.queued = icmp slt i32 %td0.buf, 0
+ br i1 %td0.queued, label %td0.unbuffer, label %td0.teardown
+td0.unbuffer:
+ call void @scr_cyc_on_dead(ptr %v0)
+ br label %td0.teardown
+td0.teardown:
+ %td0.short = icmp ult i32 %d, 16
+ br i1 %td0.short, label %td0.direct, label %td0.bounded
+td0.direct:
+ %td0.d = add i32 %d, 1
+ call void @sc_rrelease_r6_destroy_d(ptr %v0, i32 %td0.d)
+ br label %td0.next
+td0.bounded:
+ call void @scr_rc_destroy(ptr %v0, ptr @sc_rrelease_r6_destroy)
+ br label %td0.next
+td0.next:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r7_destroy(ptr %o) #0 {
+entry:
+ call void @sc_rrelease_r7_destroy_d(ptr %o, i32 0)
+ ret void
+}
+define internal void @sc_rrelease_r7(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r7_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r7_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r7_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_rtrace_r7.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r7, ptr @sc_rgcfree_r7, i32 35, i32 0 }
+
+define internal ptr @sc_rnew_r7() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r7, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r7.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r7, ptr null, i32 1) to i64), ptr @sc_rtrace_r7.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal void @sc_rtrace_r7(ptr %o, ptr %visit, ptr %ctx) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r7, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; multipart
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_rgcfree_r7(ptr %o) #0 {
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_rretain_r8(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r8_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r8, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; host
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r8(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r8_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r8_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r8_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r8() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r8, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r8, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r9(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r9_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r9, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_arr_release(ptr %v0) ; idxs
+ %f1 = getelementptr inbounds %sc_rs_r9, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; names
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r9(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r9_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r9_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r9_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r9() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r9, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r9, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r10(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r10_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r10, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_bytes_release(ptr %v0) ; body
+ %f1 = getelementptr inbounds %sc_rs_r10, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; enc
+ %f2 = getelementptr inbounds %sc_rs_r10, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; etag
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r10(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r10_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r10_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r10_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r10() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r10, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r10, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r11(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r11_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r11, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_bytes_release(ptr %v0) ; body
+ %f1 = getelementptr inbounds %sc_rs_r11, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; encodings
+ %f2 = getelementptr inbounds %sc_rs_r11, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; etag
+ %f3 = getelementptr inbounds %sc_rs_r11, ptr %o, i64 0, i32 7
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; type
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r11(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r11_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r11_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r11_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r11() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r11, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r11, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r12(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r12_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r12, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_map_release(ptr %v0) ; [key: string] overflow
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r12(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r12_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r12_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r12_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r12() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r12, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r12, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ %ovf = call ptr @scr_map_new(i32 1, i32 0, ptr null)
+ %ovfp = getelementptr inbounds %sc_rs_r12, ptr %o, i64 0, i32 1
+ store ptr %ovf, ptr %ovfp
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r13(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r13(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r13_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r13_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ %f0 = getelementptr inbounds %sc_rs_r13, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; b64
+ %f1 = getelementptr inbounds %sc_rs_r13, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; enc
+ %f2 = getelementptr inbounds %sc_rs_r13, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; etag
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r13() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r13, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r13, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r14(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r14_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r14, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; b64
+ %f1 = getelementptr inbounds %sc_rs_r14, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; encs
+ %f2 = getelementptr inbounds %sc_rs_r14, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; etag
+ %f3 = getelementptr inbounds %sc_rs_r14, ptr %o, i64 0, i32 6
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; path
+ %f4 = getelementptr inbounds %sc_rs_r14, ptr %o, i64 0, i32 7
+ %v4 = load ptr, ptr %f4
+ call void @scr_str_release(ptr %v4) ; type
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r14(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r14_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r14_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r14_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r14() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r14, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r14, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r15(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r15_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r15, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_arr_release(ptr %v0) ; api
+ %f1 = getelementptr inbounds %sc_rs_r15, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; cacheControl
+ %f2 = getelementptr inbounds %sc_rs_r15, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; index
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r15(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r15_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r15_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r15_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r15() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r15, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r15, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r16(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r16_destroy_d(ptr %o, i32 %d) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r16, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %td0.nn = icmp ne ptr %v0, null
+ br i1 %td0.nn, label %td0.chk, label %td0.next
+td0.chk:
+ %td0.rc = load i64, ptr %v0
+ %td0.last = icmp eq i64 %td0.rc, 1
+ br i1 %td0.last, label %td0.dead, label %td0.shared
+td0.shared:
+ call void @sc_rrelease_r5(ptr %v0) ; node
+ br label %td0.next
+td0.dead: ; node: the last reference
+ store i64 0, ptr %v0
+ %td0.short = icmp ult i32 %d, 16
+ br i1 %td0.short, label %td0.direct, label %td0.bounded
+td0.direct:
+ %td0.d = add i32 %d, 1
+ call void @sc_rrelease_r5_destroy_d(ptr %v0, i32 %td0.d)
+ br label %td0.next
+td0.bounded:
+ call void @scr_rc_destroy(ptr %v0, ptr @sc_rrelease_r5_destroy)
+ br label %td0.next
+td0.next:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r16_destroy(ptr %o) #0 {
+entry:
+ call void @sc_rrelease_r16_destroy_d(ptr %o, i32 0)
+ ret void
+}
+define internal void @sc_rrelease_r16(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r16_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r16_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r16_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r16() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r16, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r16, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r17(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r17(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r17_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r17_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ %f0 = getelementptr inbounds %sc_rs_r17, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; a
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r17() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r17, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r17, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r18(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r18(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r18_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r18_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ %f0 = getelementptr inbounds %sc_rs_r18, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; 0
+ %f1 = getelementptr inbounds %sc_rs_r18, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; 1
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r18() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r18, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r18, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r19(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r19_destroy_d(ptr %o, i32 %d) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r19, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_closure_release(ptr %v0) ; forEach
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r19_destroy(ptr %o) #0 {
+entry:
+ call void @sc_rrelease_r19_destroy_d(ptr %o, i32 0)
+ ret void
+}
+define internal void @sc_rrelease_r19(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r19_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r19_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r19_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_rtrace_r19.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r19, ptr @sc_rgcfree_r19, i32 36, i32 0 }
+
+define internal ptr @sc_rnew_r19() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r19, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r19.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r19, ptr null, i32 1) to i64), ptr @sc_rtrace_r19.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal void @sc_rtrace_r19(ptr %o, ptr %visit, ptr %ctx) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r19, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; forEach
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_rgcfree_r19(ptr %o) #0 {
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_rretain_r20(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r20(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r20_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r20_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r20() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r20, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r20, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r21(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r21(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r21_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r21_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ %f0 = getelementptr inbounds %sc_rs_r21, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; message
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r21() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r21, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r21, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r23(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r23_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r23, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @scr_union_release(ptr %v0) ; value
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r23(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r23_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r23_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r23_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r23() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r23, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r23, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r25(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r25(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r25_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r25_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ %f0 = getelementptr inbounds %sc_rs_r25, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; a
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r25() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r25, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r25, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r26(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r26_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r26, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_map_release(ptr %v0) ; [key: string] overflow
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r26(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r26_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r26_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r26_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r26() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r26, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r26, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ %ovf = call ptr @scr_map_new(i32 1, i32 2, ptr @sc_map_ops_1290041105938883)
+ %ovfp = getelementptr inbounds %sc_rs_r26, ptr %o, i64 0, i32 1
+ store ptr %ovf, ptr %ovfp
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r27(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r27_destroy_d(ptr %o, i32 %d) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r27, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %td0.nn = icmp ne ptr %v0, null
+ br i1 %td0.nn, label %td0.chk, label %td0.next
+td0.chk:
+ %td0.rc = load i64, ptr %v0
+ %td0.last = icmp eq i64 %td0.rc, 1
+ br i1 %td0.last, label %td0.dead, label %td0.shared
+td0.shared:
+ call void @sc_rrelease_r19(ptr %v0) ; headers
+ br label %td0.next
+td0.dead: ; headers: the last reference
+ store i64 0, ptr %v0
+ %td0.bufp = getelementptr i8, ptr %v0, i64 -4
+ %td0.buf = load i32, ptr %td0.bufp
+ %td0.queued = icmp slt i32 %td0.buf, 0
+ br i1 %td0.queued, label %td0.unbuffer, label %td0.teardown
+td0.unbuffer:
+ call void @scr_cyc_on_dead(ptr %v0)
+ br label %td0.teardown
+td0.teardown:
+ %td0.short = icmp ult i32 %d, 16
+ br i1 %td0.short, label %td0.direct, label %td0.bounded
+td0.direct:
+ %td0.d = add i32 %d, 1
+ call void @sc_rrelease_r19_destroy_d(ptr %v0, i32 %td0.d)
+ br label %td0.next
+td0.bounded:
+ call void @scr_rc_destroy(ptr %v0, ptr @sc_rrelease_r19_destroy)
+ br label %td0.next
+td0.next:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r27_destroy(ptr %o) #0 {
+entry:
+ call void @sc_rrelease_r27_destroy_d(ptr %o, i32 0)
+ ret void
+}
+define internal void @sc_rrelease_r27(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r27_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r27_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r27_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_rtrace_r27.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_rtrace_r27, ptr @sc_rgcfree_r27, i32 37, i32 0 }
+
+define internal ptr @sc_rnew_r27() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r27, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_rtrace_r27.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r27, ptr null, i32 1) to i64), ptr @sc_rtrace_r27.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal void @sc_rtrace_r27(ptr %o, ptr %visit, ptr %ctx) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r27, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; headers
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_rgcfree_r27(ptr %o) #0 {
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_rretain_r28(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r28_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r28, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_arr_release(ptr %v0) ; headers
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r28(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r28_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r28_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r28_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r28() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r28, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r28, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r31(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r31_destroy_d(ptr %o, i32 %d) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r31, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %td0.nn = icmp ne ptr %v0, null
+ br i1 %td0.nn, label %td0.chk, label %td0.next
+td0.chk:
+ %td0.rc = load i64, ptr %v0
+ %td0.last = icmp eq i64 %td0.rc, 1
+ br i1 %td0.last, label %td0.dead, label %td0.shared
+td0.shared:
+ call void @sc_rrelease_r5(ptr %v0) ; node
+ br label %td0.next
+td0.dead: ; node: the last reference
+ store i64 0, ptr %v0
+ %td0.short = icmp ult i32 %d, 16
+ br i1 %td0.short, label %td0.direct, label %td0.bounded
+td0.direct:
+ %td0.d = add i32 %d, 1
+ call void @sc_rrelease_r5_destroy_d(ptr %v0, i32 %td0.d)
+ br label %td0.next
+td0.bounded:
+ call void @scr_rc_destroy(ptr %v0, ptr @sc_rrelease_r5_destroy)
+ br label %td0.next
+td0.next:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r31_destroy(ptr %o) #0 {
+entry:
+ call void @sc_rrelease_r31_destroy_d(ptr %o, i32 0)
+ ret void
+}
+define internal void @sc_rrelease_r31(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r31_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r31_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r31_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r31() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r31, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r31, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r32(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r32_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_rs_r32, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_map_release(ptr %v0) ; [key: string] overflow
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_rrelease_r32(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r32_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r32_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_rrelease_r32_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r32() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r32, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r32, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ %ovf = call ptr @scr_map_new(i32 1, i32 2, ptr @sc_map_ops_4482781317429940)
+ %ovfp = getelementptr inbounds %sc_rs_r32, ptr %o, i64 0, i32 1
+ store ptr %ovf, ptr %ovfp
+ ret ptr %o
+}
+
+define internal ptr @sc_rretain_r33(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rrelease_r33(ptr %o) #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_rrelease_r33_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_rrelease_r33_slow(ptr %o) noinline #0 {
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ %f0 = getelementptr inbounds %sc_rs_r33, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; error
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rnew_r33() #0 {
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_rs_r33, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_rs_r33, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+@sc_vtable__x25_m2_ResponseSink = internal constant %sc_vtt__x25_m2_ResponseSink { %ScrVt { i64 15, i64 18, ptr @sc_reld__x25_m2_ResponseSink }, ptr @sc_bf__x25__x25_m2_ResponseSink_setStatus, ptr @sc_bf__x25__x25_m2_ResponseSink_setHeader, ptr @sc_bf__x25__x25_m2_ResponseSink_appendHeader, ptr @sc_bf__x25__x25_m2_ResponseSink_writeBody, ptr @sc_bf__x25__x25_m2_ResponseSink_bodyBytes, ptr @sc_bf__x25__x25_m2_ResponseSink_redirect, ptr @sc_bf__x25__x25_m2_ResponseSink_write, ptr @sc_bf__x25__x25_m2_ResponseSink_writeHead, ptr @sc_bf__x25__x25_m2_ResponseSink_endStream, ptr @sc_bf__x25__x25_m2_ResponseSink_adopt, ptr @sc_bf__x25__x25_m2_ResponseSink_isSent, ptr @sc_bf__x25__x25_m2_ResponseSink_isHeadersSent, ptr @sc_bf__x25__x25_m2_ResponseSink_destroy, ptr @sc_bf__x25__x25_m2_ResponseSink_statusOf, ptr @sc_bf__x25__x25_m2_ResponseSink_headerOf, ptr @sc_bf__x25__x25_m2_ResponseSink_headersMap, ptr @sc_bf__x25__x25_m2_ResponseSink_nodeRes } ; class %m2.ResponseSink
+
+@sc_vtable__x25_m2_NodeResponseSink = internal constant %sc_vtt__x25_m2_ResponseSink { %ScrVt { i64 16, i64 16, ptr @sc_reld__x25_m2_NodeResponseSink }, ptr @sc_bf__x25__x25_m2_NodeResponseSink_setStatus, ptr @sc_bf__x25__x25_m2_NodeResponseSink_setHeader, ptr @sc_bf__x25__x25_m2_NodeResponseSink_appendHeader, ptr @sc_bf__x25__x25_m2_NodeResponseSink_writeBody, ptr @sc_bf__x25__x25_m2_NodeResponseSink_bodyBytes, ptr @sc_bf__x25__x25_m2_NodeResponseSink_redirect, ptr @sc_bf__x25__x25_m2_NodeResponseSink_write, ptr @sc_bf__x25__x25_m2_NodeResponseSink_writeHead, ptr @sc_bf__x25__x25_m2_NodeResponseSink_endStream, ptr @sc_bf__x25__x25_m2_ResponseSink_adopt, ptr @sc_bf__x25__x25_m2_NodeResponseSink_isSent, ptr @sc_bf__x25__x25_m2_NodeResponseSink_isHeadersSent, ptr @sc_bf__x25__x25_m2_NodeResponseSink_destroy, ptr @sc_bf__x25__x25_m2_NodeResponseSink_statusOf, ptr @sc_bf__x25__x25_m2_NodeResponseSink_headerOf, ptr @sc_bf__x25__x25_m2_NodeResponseSink_headersMap, ptr @sc_bf__x25__x25_m2_NodeResponseSink_nodeRes } ; class %m2.NodeResponseSink
+
+@sc_vtable__x25_m2_FetchResponseSink = internal constant %sc_vtt__x25_m2_ResponseSink { %ScrVt { i64 17, i64 18, ptr @sc_reld__x25_m2_FetchResponseSink }, ptr @sc_bf__x25__x25_m2_FetchResponseSink_setStatus, ptr @sc_bf__x25__x25_m2_FetchResponseSink_setHeader, ptr @sc_bf__x25__x25_m2_FetchResponseSink_appendHeader, ptr @sc_bf__x25__x25_m2_FetchResponseSink_writeBody, ptr @sc_bf__x25__x25_m2_FetchResponseSink_bodyBytes, ptr @sc_bf__x25__x25_m2_FetchResponseSink_redirect, ptr @sc_bf__x25__x25_m2_FetchResponseSink_write, ptr @sc_bf__x25__x25_m2_FetchResponseSink_writeHead, ptr @sc_bf__x25__x25_m2_FetchResponseSink_endStream, ptr @sc_bf__x25__x25_m2_FetchResponseSink_adopt, ptr @sc_bf__x25__x25_m2_FetchResponseSink_isSent, ptr @sc_bf__x25__x25_m2_FetchResponseSink_isHeadersSent, ptr @sc_bf__x25__x25_m2_FetchResponseSink_destroy, ptr @sc_bf__x25__x25_m2_FetchResponseSink_statusOf, ptr @sc_bf__x25__x25_m2_FetchResponseSink_headerOf, ptr @sc_bf__x25__x25_m2_FetchResponseSink_headersMap, ptr @sc_bf__x25__x25_m2_ResponseSink_nodeRes } ; class %m2.FetchResponseSink
+
+@sc_vtable__x25_m3_LiteResponse = internal constant %sc_vtt__x25_m2_ResponseSink { %ScrVt { i64 18, i64 18, ptr @sc_reld__x25_m3_LiteResponse }, ptr @sc_bf__x25__x25_m3_LiteResponse_setStatus, ptr @sc_bf__x25__x25_m3_LiteResponse_setHeader, ptr @sc_bf__x25__x25_m3_LiteResponse_appendHeader, ptr @sc_bf__x25__x25_m3_LiteResponse_writeBody, ptr @sc_bf__x25__x25_m3_LiteResponse_bodyBytes, ptr @sc_bf__x25__x25_m3_LiteResponse_redirect, ptr @sc_bf__x25__x25_m3_LiteResponse_write, ptr @sc_bf__x25__x25_m3_LiteResponse_writeHead, ptr @sc_bf__x25__x25_m3_LiteResponse_endStream, ptr @sc_bf__x25__x25_m3_LiteResponse_adopt, ptr @sc_bf__x25__x25_m3_LiteResponse_isSent, ptr @sc_bf__x25__x25_m3_LiteResponse_isHeadersSent, ptr @sc_bf__x25__x25_m3_LiteResponse_destroy, ptr @sc_bf__x25__x25_m2_FetchResponseSink_statusOf, ptr @sc_bf__x25__x25_m2_FetchResponseSink_headerOf, ptr @sc_bf__x25__x25_m2_FetchResponseSink_headersMap, ptr @sc_bf__x25__x25_m2_ResponseSink_nodeRes } ; class %m3.LiteResponse
+
+@sc_vtable__x25_m4_MultipartFileSink = internal constant %sc_vtt__x25_m4_MultipartFileSink { %ScrVt { i64 22, i64 24, ptr @sc_reld__x25_m4_MultipartFileSink }, ptr @sc_bf__x25__x25_m4_MultipartFileSink_write, ptr @sc_bf__x25__x25_m4_MultipartFileSink_file } ; class %m4.MultipartFileSink
+
+@sc_vtable__x25_m4_MultipartStorage = internal constant %sc_vtt__x25_m4_MultipartStorage { %ScrVt { i64 25, i64 27, ptr @sc_reld__x25_m4_MultipartStorage }, ptr @sc_bf__x25__x25_m4_MultipartStorage_begin } ; class %m4.MultipartStorage
+
+@sc_vtable__x25_m4_MemoryFileSink = internal constant %sc_vtt__x25_m4_MultipartFileSink { %ScrVt { i64 23, i64 23, ptr @sc_reld__x25_m4_MemoryFileSink }, ptr @sc_bf__x25__x25_m4_MemoryFileSink_write, ptr @sc_bf__x25__x25_m4_MemoryFileSink_file } ; class %m4.MemoryFileSink
+
+@sc_vtable__x25_m4_MemoryStorage = internal constant %sc_vtt__x25_m4_MultipartStorage { %ScrVt { i64 26, i64 26, ptr @sc_reld__x25_m4_MemoryStorage }, ptr @sc_bf__x25__x25_m4_MemoryStorage_begin } ; class %m4.MemoryStorage
+
+@sc_vtable__x25_m4_DiskFileSink = internal constant %sc_vtt__x25_m4_MultipartFileSink { %ScrVt { i64 24, i64 24, ptr @sc_reld__x25_m4_DiskFileSink }, ptr @sc_bf__x25__x25_m4_MultipartFileSink_write, ptr @sc_bf__x25__x25_m4_MultipartFileSink_file } ; class %m4.DiskFileSink
+
+@sc_vtable__x25_m4_DiskStorage = internal constant %sc_vtt__x25_m4_MultipartStorage { %ScrVt { i64 27, i64 27, ptr @sc_reld__x25_m4_DiskStorage }, ptr @sc_bf__x25__x25_m4_MultipartStorage_begin } ; class %m4.DiskStorage
+
+@sc_vtable__x25_m5_MethodNotAllowedError = internal constant %sc_vtt__x25_Error { %ScrVt { i64 11, i64 11, ptr @sc_reld__x25_m5_MethodNotAllowedError } } ; class %m5.MethodNotAllowedError
+
+@sc_vtable__x25_m6_AssetSource = internal constant %sc_vtt__x25_m6_AssetSource { %ScrVt { i64 35, i64 38, ptr @sc_reld__x25_m6_AssetSource }, ptr @sc_bf__x25__x25_m6_AssetSource_get } ; class %m6.AssetSource
+
+@sc_vtable__x25_m8_DiskAssets = internal constant %sc_vtt__x25_m6_AssetSource { %ScrVt { i64 36, i64 36, ptr @sc_reld__x25_m8_DiskAssets }, ptr @sc_bf__x25__x25_m6_AssetSource_get } ; class %m8.DiskAssets
+
+@sc_vtable__x25_m9_EmbeddedAssets = internal constant %sc_vtt__x25_m6_AssetSource { %ScrVt { i64 37, i64 38, ptr @sc_reld__x25_m9_EmbeddedAssets }, ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get } ; class %m9.EmbeddedAssets
+
+@sc_vtable__x25_m14_BakedAssets = internal constant %sc_vtt__x25_m6_AssetSource { %ScrVt { i64 38, i64 38, ptr @sc_reld__x25_m14_BakedAssets }, ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get } ; class %m14.BakedAssets
+
+define internal ptr @sc_retain__x25_m0_GenDispatch(ptr %o) #0 { ; retain %m0.GenDispatch
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m0_GenDispatch_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m0_GenDispatch(ptr %o) #0 { ; release %m0.GenDispatch (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m0_GenDispatch_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m0_GenDispatch_slow(ptr %o) noinline #0 { ; release %m0.GenDispatch
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m0_GenDispatch_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m0_GenDispatch.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m0_GenDispatch, ptr @sc_gcfree__x25_m0_GenDispatch, i32 38, i32 0 }
+
+define internal ptr @sc_new__x25_m0_GenDispatch() #0 { ; new %m0.GenDispatch
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m0_GenDispatch, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m0_GenDispatch.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m0_GenDispatch, ptr null, i32 1) to i64), ptr @sc_trace__x25_m0_GenDispatch.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv1 = call ptr @scr_dyn_undefined()
+ %uf1 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %o, i64 0, i32 2
+ store ptr %ufv1, ptr %uf1 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m0_GenDispatch(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m0.GenDispatch
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m0_GenDispatch(ptr %o) #0 { ; gcFree %m0.GenDispatch
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m0_GenFetch(ptr %o) #0 { ; retain %m0.GenFetch
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m0_GenFetch_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m0_GenFetch(ptr %o) #0 { ; release %m0.GenFetch (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m0_GenFetch_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m0_GenFetch_slow(ptr %o) noinline #0 { ; release %m0.GenFetch
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m0_GenFetch_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m0_GenFetch.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m0_GenFetch, ptr @sc_gcfree__x25_m0_GenFetch, i32 39, i32 0 }
+
+define internal ptr @sc_new__x25_m0_GenFetch() #0 { ; new %m0.GenFetch
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m0_GenFetch, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m0_GenFetch.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m0_GenFetch, ptr null, i32 1) to i64), ptr @sc_trace__x25_m0_GenFetch.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv1 = call ptr @scr_dyn_undefined()
+ %uf1 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %o, i64 0, i32 2
+ store ptr %ufv1, ptr %uf1 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m0_GenFetch(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m0.GenFetch
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m0_GenFetch(ptr %o) #0 { ; gcFree %m0.GenFetch
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %o) #0 { ; retain %m1.UpgradeDispatch
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m1_UpgradeDispatch_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m1_UpgradeDispatch(ptr %o) #0 { ; release %m1.UpgradeDispatch (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m1_UpgradeDispatch_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m1_UpgradeDispatch_slow(ptr %o) noinline #0 { ; release %m1.UpgradeDispatch
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m1_UpgradeDispatch_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m1_UpgradeDispatch.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m1_UpgradeDispatch, ptr @sc_gcfree__x25_m1_UpgradeDispatch, i32 40, i32 0 }
+
+define internal ptr @sc_new__x25_m1_UpgradeDispatch() #0 { ; new %m1.UpgradeDispatch
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m1_UpgradeDispatch, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m1_UpgradeDispatch.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m1_UpgradeDispatch, ptr null, i32 1) to i64), ptr @sc_trace__x25_m1_UpgradeDispatch.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %o, i64 0, i32 1
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m1_UpgradeDispatch(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m1.UpgradeDispatch
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m1_UpgradeDispatch(ptr %o) #0 { ; gcFree %m1.UpgradeDispatch
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m2_ResponseSink(ptr %o) #0 { ; retain %m2.ResponseSink
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m2_ResponseSink(ptr %o) #0 { ; release %m2.ResponseSink (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m2_ResponseSink_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m2_ResponseSink_slow(ptr %o) noinline #0 { ; release %m2.ResponseSink (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m2_ResponseSink_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m2_ResponseSink(ptr %o) #0 { ; direct release %m2.ResponseSink
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m2_ResponseSink_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m2_ResponseSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m2_ResponseSink, ptr @sc_gcfree__x25_m2_ResponseSink, i32 41, i32 0 }
+
+define internal ptr @sc_new__x25_m2_ResponseSink() #0 { ; new %m2.ResponseSink
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_ResponseSink, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m2_ResponseSink.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_ResponseSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m2_ResponseSink.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m2_ResponseSink, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m2_ResponseSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m2.ResponseSink
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m2_ResponseSink(ptr %o) #0 { ; gcFree %m2.ResponseSink
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m2_NodeResponseSink(ptr %o) #0 { ; retain %m2.NodeResponseSink
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m2_NodeResponseSink(ptr %o) #0 { ; release %m2.NodeResponseSink (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m2_NodeResponseSink_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m2_NodeResponseSink_slow(ptr %o) noinline #0 { ; release %m2.NodeResponseSink (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m2_NodeResponseSink_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %f1 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @scr_http_res_release(ptr %v1) ; res
+ %f2 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 5
+ %v2 = load ptr, ptr %f2
+ call void @sc_rrelease_r0(ptr %v2) ; _set
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m2_NodeResponseSink(ptr %o) #0 { ; direct release %m2.NodeResponseSink
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m2_NodeResponseSink_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m2_NodeResponseSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m2_NodeResponseSink, ptr @sc_gcfree__x25_m2_NodeResponseSink, i32 42, i32 0 }
+
+define internal ptr @sc_new__x25_m2_NodeResponseSink() #0 { ; new %m2.NodeResponseSink
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_NodeResponseSink, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m2_NodeResponseSink.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_NodeResponseSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m2_NodeResponseSink.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m2_NodeResponseSink, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m2_NodeResponseSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m2.NodeResponseSink
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m2_NodeResponseSink(ptr %o) #0 { ; gcFree %m2.NodeResponseSink
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 3
+ %v0 = load ptr, ptr %f0
+ call void @scr_http_res_release(ptr %v0) ; res (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %o, i64 0, i32 5
+ %v1 = load ptr, ptr %f1
+ call void @sc_rrelease_r0(ptr %v1) ; _set (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m2_FetchResponseSink(ptr %o) #0 { ; retain %m2.FetchResponseSink
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m2_FetchResponseSink(ptr %o) #0 { ; release %m2.FetchResponseSink (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m2_FetchResponseSink_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m2_FetchResponseSink_slow(ptr %o) noinline #0 { ; release %m2.FetchResponseSink (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m2_FetchResponseSink_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %f1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 4
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; hdrKeys
+ %f2 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 5
+ %v2 = load ptr, ptr %f2
+ call void @scr_arr_release(ptr %v2) ; hdrVals
+ %f3 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 6
+ %v3 = load ptr, ptr %f3
+ call void @scr_arr_release(ptr %v3) ; hdrList
+ %f4 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 7
+ %v4 = load ptr, ptr %f4
+ call void @scr_arr_release(ptr %v4) ; chunks
+ %f5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 10
+ %v5 = load ptr, ptr %f5
+ call void @sc_rrelease_r1(ptr %v5) ; adopted
+ %f6 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 12
+ %v6 = load ptr, ptr %f6
+ call void @sc_rrelease_r2(ptr %v6) ; _ctl
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m2_FetchResponseSink(ptr %o) #0 { ; direct release %m2.FetchResponseSink
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m2_FetchResponseSink_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m2_FetchResponseSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m2_FetchResponseSink, ptr @sc_gcfree__x25_m2_FetchResponseSink, i32 43, i32 0 }
+
+define internal ptr @sc_new__x25_m2_FetchResponseSink() #0 { ; new %m2.FetchResponseSink
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_FetchResponseSink, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m2_FetchResponseSink.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m2_FetchResponseSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m2_FetchResponseSink.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m2_FetchResponseSink, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m2_FetchResponseSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m2.FetchResponseSink
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 10
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; adopted
+ br label %tv1.next
+tv1.next:
+ %f2 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 12
+ %v2 = load ptr, ptr %f2
+ %z2 = icmp eq ptr %v2, null
+ br i1 %z2, label %tv2.next, label %tv2.visit
+tv2.visit:
+ call void %visit(ptr %v2, ptr %ctx) ; _ctl
+ br label %tv2.next
+tv2.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m2_FetchResponseSink(ptr %o) #0 { ; gcFree %m2.FetchResponseSink
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 4
+ %v0 = load ptr, ptr %f0
+ call void @scr_arr_release(ptr %v0) ; hdrKeys (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 5
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; hdrVals (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 6
+ %v2 = load ptr, ptr %f2
+ call void @scr_arr_release(ptr %v2) ; hdrList (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %o, i64 0, i32 7
+ %v3 = load ptr, ptr %f3
+ call void @scr_arr_release(ptr %v3) ; chunks (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m3_LiteHeaders(ptr %o) #0 { ; retain %m3.LiteHeaders
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m3_LiteHeaders_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_http_req_release(ptr %v0) ; _im
+ %f1 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @sc_rc_release_dyn(ptr %v1) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m3_LiteHeaders(ptr %o) #0 { ; release %m3.LiteHeaders (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m3_LiteHeaders_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m3_LiteHeaders_slow(ptr %o) noinline #0 { ; release %m3.LiteHeaders
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m3_LiteHeaders_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m3_LiteHeaders.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m3_LiteHeaders, ptr @sc_gcfree__x25_m3_LiteHeaders, i32 44, i32 0 }
+
+define internal ptr @sc_new__x25_m3_LiteHeaders() #0 { ; new %m3.LiteHeaders
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteHeaders, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m3_LiteHeaders.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteHeaders, ptr null, i32 1) to i64), ptr @sc_trace__x25_m3_LiteHeaders.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv1 = call ptr @scr_dyn_undefined()
+ %uf1 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %o, i64 0, i32 2
+ store ptr %ufv1, ptr %uf1 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m3_LiteHeaders(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m3.LiteHeaders
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m3_LiteHeaders(ptr %o) #0 { ; gcFree %m3.LiteHeaders
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_http_req_release(ptr %v0) ; _im (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m3_LiteRequest(ptr %o) #0 { ; retain %m3.LiteRequest
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m3_LiteRequest_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; method
+ %f1 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; url
+ %f2 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @sc_rc_release_dyn(ptr %v2) ; headers
+ %f3 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 4
+ %v3 = load ptr, ptr %f3
+ call void @scr_http_req_release(ptr %v3) ; _im
+ %f4 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 5
+ %v4 = load ptr, ptr %f4
+ call void @sc_rrelease_r0(ptr %v4) ; _hs
+ %f5 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 6
+ %v5 = load ptr, ptr %f5
+ call void @scr_str_release(ptr %v5) ; _t
+ %f6 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 7
+ %v6 = load ptr, ptr %f6
+ call void @scr_arr_release(ptr %v6) ; _chunks
+ %f7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 9
+ %v7 = load ptr, ptr %f7
+ call void @sc_rc_release_dyn(ptr %v7) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m3_LiteRequest(ptr %o) #0 { ; release %m3.LiteRequest (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m3_LiteRequest_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m3_LiteRequest_slow(ptr %o) noinline #0 { ; release %m3.LiteRequest
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m3_LiteRequest_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m3_LiteRequest.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m3_LiteRequest, ptr @sc_gcfree__x25_m3_LiteRequest, i32 45, i32 0 }
+
+define internal ptr @sc_new__x25_m3_LiteRequest() #0 { ; new %m3.LiteRequest
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteRequest, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m3_LiteRequest.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteRequest, ptr null, i32 1) to i64), ptr @sc_trace__x25_m3_LiteRequest.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv2 = call ptr @scr_dyn_undefined()
+ %uf2 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 3
+ store ptr %ufv2, ptr %uf2 ; headers starts undefined
+ %ufv8 = call ptr @scr_dyn_undefined()
+ %uf8 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 9
+ store ptr %ufv8, ptr %uf8 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m3_LiteRequest(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m3.LiteRequest
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 3
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; headers
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 9
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; %dynProperties
+ br label %tv1.next
+tv1.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m3_LiteRequest(ptr %o) #0 { ; gcFree %m3.LiteRequest
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; method (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; url (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_http_req_release(ptr %v2) ; _im (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @sc_rrelease_r0(ptr %v3) ; _hs (acyclic)
+ %f4 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 6
+ %v4 = load ptr, ptr %f4
+ call void @scr_str_release(ptr %v4) ; _t (acyclic)
+ %f5 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %o, i64 0, i32 7
+ %v5 = load ptr, ptr %f5
+ call void @scr_arr_release(ptr %v5) ; _chunks (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m3_LiteResponse(ptr %o) #0 { ; retain %m3.LiteResponse
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m3_LiteResponse(ptr %o) #0 { ; release %m3.LiteResponse (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m3_LiteResponse_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m3_LiteResponse_slow(ptr %o) noinline #0 { ; release %m3.LiteResponse (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m3_LiteResponse_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %f1 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 4
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; hdrKeys
+ %f2 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 5
+ %v2 = load ptr, ptr %f2
+ call void @scr_arr_release(ptr %v2) ; hdrVals
+ %f3 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 6
+ %v3 = load ptr, ptr %f3
+ call void @scr_arr_release(ptr %v3) ; hdrList
+ %f4 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 7
+ %v4 = load ptr, ptr %f4
+ call void @scr_arr_release(ptr %v4) ; chunks
+ %f5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 10
+ %v5 = load ptr, ptr %f5
+ call void @sc_rrelease_r1(ptr %v5) ; adopted
+ %f6 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 12
+ %v6 = load ptr, ptr %f6
+ call void @sc_rrelease_r2(ptr %v6) ; _ctl
+ %f7 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 14
+ %v7 = load ptr, ptr %f7
+ call void @scr_http_res_release(ptr %v7) ; _res
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m3_LiteResponse(ptr %o) #0 { ; direct release %m3.LiteResponse
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m3_LiteResponse_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m3_LiteResponse.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m3_LiteResponse, ptr @sc_gcfree__x25_m3_LiteResponse, i32 46, i32 0 }
+
+define internal ptr @sc_new__x25_m3_LiteResponse() #0 { ; new %m3.LiteResponse
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteResponse, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m3_LiteResponse.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m3_LiteResponse, ptr null, i32 1) to i64), ptr @sc_trace__x25_m3_LiteResponse.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m3_LiteResponse, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m3_LiteResponse(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m3.LiteResponse
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 10
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; adopted
+ br label %tv1.next
+tv1.next:
+ %f2 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 12
+ %v2 = load ptr, ptr %f2
+ %z2 = icmp eq ptr %v2, null
+ br i1 %z2, label %tv2.next, label %tv2.visit
+tv2.visit:
+ call void %visit(ptr %v2, ptr %ctx) ; _ctl
+ br label %tv2.next
+tv2.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m3_LiteResponse(ptr %o) #0 { ; gcFree %m3.LiteResponse
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 4
+ %v0 = load ptr, ptr %f0
+ call void @scr_arr_release(ptr %v0) ; hdrKeys (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 5
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; hdrVals (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 6
+ %v2 = load ptr, ptr %f2
+ call void @scr_arr_release(ptr %v2) ; hdrList (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 7
+ %v3 = load ptr, ptr %f3
+ call void @scr_arr_release(ptr %v3) ; chunks (acyclic)
+ %f4 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %o, i64 0, i32 14
+ %v4 = load ptr, ptr %f4
+ call void @scr_http_res_release(ptr %v4) ; _res (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m4_UploadedFile(ptr %o) #0 { ; retain %m4.UploadedFile
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m4_UploadedFile_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; field
+ %f1 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; filename
+ %f2 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; mimeType
+ %f3 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; path
+ %f4 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 6
+ %v4 = load ptr, ptr %f4
+ call void @scr_union_release(ptr %v4) ; bytes
+ %f5 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 7
+ %v5 = load ptr, ptr %f5
+ call void @sc_rc_release_dyn(ptr %v5) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m4_UploadedFile(ptr %o) #0 { ; release %m4.UploadedFile (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m4_UploadedFile_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m4_UploadedFile_slow(ptr %o) noinline #0 { ; release %m4.UploadedFile
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m4_UploadedFile_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m4_UploadedFile.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_UploadedFile, ptr @sc_gcfree__x25_m4_UploadedFile, i32 47, i32 0 }
+
+define internal ptr @sc_new__x25_m4_UploadedFile() #0 { ; new %m4.UploadedFile
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_UploadedFile, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_UploadedFile.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_UploadedFile, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_UploadedFile.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv6 = call ptr @scr_dyn_undefined()
+ %uf6 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 7
+ store ptr %ufv6, ptr %uf6 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m4_UploadedFile(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.UploadedFile
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 7
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m4_UploadedFile(ptr %o) #0 { ; gcFree %m4.UploadedFile
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; field (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; filename (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; mimeType (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; path (acyclic)
+ %f4 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %o, i64 0, i32 6
+ %v4 = load ptr, ptr %f4
+ call void @scr_union_release(ptr %v4) ; bytes (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m4_MultipartFileSink(ptr %o) #0 { ; retain %m4.MultipartFileSink
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m4_MultipartFileSink(ptr %o) #0 { ; release %m4.MultipartFileSink (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m4_MultipartFileSink_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m4_MultipartFileSink_slow(ptr %o) noinline #0 { ; release %m4.MultipartFileSink (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_MultipartFileSink_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_MultipartFileSink(ptr %o) #0 { ; direct release %m4.MultipartFileSink
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_MultipartFileSink_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m4_MultipartFileSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_MultipartFileSink, ptr @sc_gcfree__x25_m4_MultipartFileSink, i32 48, i32 0 }
+
+define internal ptr @sc_new__x25_m4_MultipartFileSink() #0 { ; new %m4.MultipartFileSink
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartFileSink, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_MultipartFileSink.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartFileSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_MultipartFileSink.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m4_MultipartFileSink, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m4_MultipartFileSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.MultipartFileSink
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m4_MultipartFileSink(ptr %o) #0 { ; gcFree %m4.MultipartFileSink
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m4_MultipartStorage(ptr %o) #0 { ; retain %m4.MultipartStorage
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m4_MultipartStorage(ptr %o) #0 { ; release %m4.MultipartStorage (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m4_MultipartStorage_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m4_MultipartStorage_slow(ptr %o) noinline #0 { ; release %m4.MultipartStorage (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_MultipartStorage_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_MultipartStorage(ptr %o) #0 { ; direct release %m4.MultipartStorage
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_MultipartStorage_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m4_MultipartStorage.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_MultipartStorage, ptr @sc_gcfree__x25_m4_MultipartStorage, i32 49, i32 0 }
+
+define internal ptr @sc_new__x25_m4_MultipartStorage() #0 { ; new %m4.MultipartStorage
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartStorage, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_MultipartStorage.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartStorage, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_MultipartStorage.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m4_MultipartStorage, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m4_MultipartStorage(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.MultipartStorage
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m4_MultipartStorage(ptr %o) #0 { ; gcFree %m4.MultipartStorage
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m4_MemoryFileSink(ptr %o) #0 { ; retain %m4.MemoryFileSink
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m4_MemoryFileSink(ptr %o) #0 { ; release %m4.MemoryFileSink (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m4_MemoryFileSink_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m4_MemoryFileSink_slow(ptr %o) noinline #0 { ; release %m4.MemoryFileSink (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_MemoryFileSink_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %f1 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; _field
+ %f2 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; _filename
+ %f3 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; _mime
+ %f4 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 6
+ %v4 = load ptr, ptr %f4
+ call void @scr_arr_release(ptr %v4) ; _chunks
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_MemoryFileSink(ptr %o) #0 { ; direct release %m4.MemoryFileSink
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_MemoryFileSink_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m4_MemoryFileSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_MemoryFileSink, ptr @sc_gcfree__x25_m4_MemoryFileSink, i32 50, i32 0 }
+
+define internal ptr @sc_new__x25_m4_MemoryFileSink() #0 { ; new %m4.MemoryFileSink
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MemoryFileSink, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_MemoryFileSink.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MemoryFileSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_MemoryFileSink.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m4_MemoryFileSink, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m4_MemoryFileSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.MemoryFileSink
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m4_MemoryFileSink(ptr %o) #0 { ; gcFree %m4.MemoryFileSink
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 3
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; _field (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 4
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; _filename (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 5
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; _mime (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %o, i64 0, i32 6
+ %v3 = load ptr, ptr %f3
+ call void @scr_arr_release(ptr %v3) ; _chunks (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m4_MemoryStorage(ptr %o) #0 { ; retain %m4.MemoryStorage
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m4_MemoryStorage(ptr %o) #0 { ; release %m4.MemoryStorage (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m4_MemoryStorage_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m4_MemoryStorage_slow(ptr %o) noinline #0 { ; release %m4.MemoryStorage (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_MemoryStorage_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_MemoryStorage(ptr %o) #0 { ; direct release %m4.MemoryStorage
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_MemoryStorage_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m4_MemoryStorage.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_MemoryStorage, ptr @sc_gcfree__x25_m4_MemoryStorage, i32 51, i32 0 }
+
+define internal ptr @sc_new__x25_m4_MemoryStorage() #0 { ; new %m4.MemoryStorage
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MemoryStorage, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_MemoryStorage.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MemoryStorage, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_MemoryStorage.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m4_MemoryStorage, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m4_MemoryStorage(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.MemoryStorage
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m4_MemoryStorage(ptr %o) #0 { ; gcFree %m4.MemoryStorage
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m4_DiskFileSink(ptr %o) #0 { ; retain %m4.DiskFileSink
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m4_DiskFileSink(ptr %o) #0 { ; release %m4.DiskFileSink (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m4_DiskFileSink_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m4_DiskFileSink_slow(ptr %o) noinline #0 { ; release %m4.DiskFileSink (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_DiskFileSink_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %f1 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; _field
+ %f2 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; _filename
+ %f3 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; _mime
+ %f4 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 6
+ %v4 = load ptr, ptr %f4
+ call void @scr_str_release(ptr %v4) ; _path
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_DiskFileSink(ptr %o) #0 { ; direct release %m4.DiskFileSink
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_DiskFileSink_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m4_DiskFileSink.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_DiskFileSink, ptr @sc_gcfree__x25_m4_DiskFileSink, i32 52, i32 0 }
+
+define internal ptr @sc_new__x25_m4_DiskFileSink() #0 { ; new %m4.DiskFileSink
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DiskFileSink, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_DiskFileSink.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DiskFileSink, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_DiskFileSink.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m4_DiskFileSink, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m4_DiskFileSink(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.DiskFileSink
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m4_DiskFileSink(ptr %o) #0 { ; gcFree %m4.DiskFileSink
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 3
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; _field (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 4
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; _filename (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 5
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; _mime (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %o, i64 0, i32 6
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; _path (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m4_DiskStorage(ptr %o) #0 { ; retain %m4.DiskStorage
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m4_DiskStorage(ptr %o) #0 { ; release %m4.DiskStorage (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m4_DiskStorage_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m4_DiskStorage_slow(ptr %o) noinline #0 { ; release %m4.DiskStorage (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_DiskStorage_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %f1 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; dir
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m4_DiskStorage(ptr %o) #0 { ; direct release %m4.DiskStorage
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m4_DiskStorage_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m4_DiskStorage.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_DiskStorage, ptr @sc_gcfree__x25_m4_DiskStorage, i32 53, i32 0 }
+
+define internal ptr @sc_new__x25_m4_DiskStorage() #0 { ; new %m4.DiskStorage
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DiskStorage, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_DiskStorage.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DiskStorage, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_DiskStorage.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m4_DiskStorage, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m4_DiskStorage(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.DiskStorage
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m4_DiskStorage(ptr %o) #0 { ; gcFree %m4.DiskStorage
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %o, i64 0, i32 3
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; dir (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m4_DispositionParams(ptr %o) #0 { ; retain %m4.DispositionParams
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m4_DispositionParams_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; name
+ %f1 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; filename
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %o to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %o
+ store ptr %o, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %o)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m4_DispositionParams(ptr %o) #0 { ; release %m4.DispositionParams (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m4_DispositionParams_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m4_DispositionParams_slow(ptr %o) noinline #0 { ; release %m4.DispositionParams
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %done
+free:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m4_DispositionParams_destroy)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_new__x25_m4_DispositionParams() #0 { ; new %m4.DispositionParams
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DispositionParams, ptr null, i32 1) to i64), 0
+ %sa.small = icmp ule i64 %sa.n, 512
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_DispositionParams, ptr null, i32 1) to i64))
+ %sa.null = icmp eq ptr %sa.s, null
+ br i1 %sa.null, label %oom, label %sa.noted
+oom:
+ call void @sc_oom()
+ unreachable
+sa.noted:
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.blk, %sa.fast ], [ %sa.s, %sa.noted ]
+ store i64 1, ptr %o
+ ret ptr %o
+}
+
+define internal ptr @sc_retain__x25_m4_MultipartParser(ptr %o) #0 { ; retain %m4.MultipartParser
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m4_MultipartParser_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; _delim
+ %f1 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; _cterm
+ %f2 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_bytes_release(ptr %v2) ; _pend
+ %f3 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @sc_release__x25_m4_MultipartStorage(ptr %v3) ; _storage
+ %f4 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 11
+ %v4 = load ptr, ptr %f4
+ call void @scr_str_release(ptr %v4) ; _field
+ %f5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 12
+ %v5 = load ptr, ptr %f5
+ call void @scr_str_release(ptr %v5) ; _filename
+ %f6 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 13
+ %v6 = load ptr, ptr %f6
+ call void @scr_str_release(ptr %v6) ; _mime
+ %f7 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 14
+ %v7 = load ptr, ptr %f7
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %v7) ; _sink
+ %f8 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 15
+ %v8 = load ptr, ptr %f8
+ call void @scr_arr_release(ptr %v8) ; _fbytes
+ %f9 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 19
+ %v9 = load ptr, ptr %f9
+ call void @scr_arr_release(ptr %v9) ; files
+ %f10 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 20
+ %v10 = load ptr, ptr %f10
+ call void @scr_arr_release(ptr %v10) ; fields
+ %f11 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 21
+ %v11 = load ptr, ptr %f11
+ call void @sc_rc_release_dyn(ptr %v11) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m4_MultipartParser(ptr %o) #0 { ; release %m4.MultipartParser (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m4_MultipartParser_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m4_MultipartParser_slow(ptr %o) noinline #0 { ; release %m4.MultipartParser
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m4_MultipartParser_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m4_MultipartParser.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m4_MultipartParser, ptr @sc_gcfree__x25_m4_MultipartParser, i32 54, i32 0 }
+
+define internal ptr @sc_new__x25_m4_MultipartParser() #0 { ; new %m4.MultipartParser
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartParser, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m4_MultipartParser.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m4_MultipartParser, ptr null, i32 1) to i64), ptr @sc_trace__x25_m4_MultipartParser.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv20 = call ptr @scr_dyn_undefined()
+ %uf20 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 21
+ store ptr %ufv20, ptr %uf20 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m4_MultipartParser(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m4.MultipartParser
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 5
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; _storage
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 14
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; _sink
+ br label %tv1.next
+tv1.next:
+ %f2 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 19
+ %v2 = load ptr, ptr %f2
+ %z2 = icmp eq ptr %v2, null
+ br i1 %z2, label %tv2.next, label %tv2.visit
+tv2.visit:
+ call void %visit(ptr %v2, ptr %ctx) ; files
+ br label %tv2.next
+tv2.next:
+ %f3 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 21
+ %v3 = load ptr, ptr %f3
+ %z3 = icmp eq ptr %v3, null
+ br i1 %z3, label %tv3.next, label %tv3.visit
+tv3.visit:
+ call void %visit(ptr %v3, ptr %ctx) ; %dynProperties
+ br label %tv3.next
+tv3.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m4_MultipartParser(ptr %o) #0 { ; gcFree %m4.MultipartParser
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; _delim (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; _cterm (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_bytes_release(ptr %v2) ; _pend (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 11
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; _field (acyclic)
+ %f4 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 12
+ %v4 = load ptr, ptr %f4
+ call void @scr_str_release(ptr %v4) ; _filename (acyclic)
+ %f5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 13
+ %v5 = load ptr, ptr %f5
+ call void @scr_str_release(ptr %v5) ; _mime (acyclic)
+ %f6 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 15
+ %v6 = load ptr, ptr %f6
+ call void @scr_arr_release(ptr %v6) ; _fbytes (acyclic)
+ %f7 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %o, i64 0, i32 20
+ %v7 = load ptr, ptr %f7
+ call void @scr_arr_release(ptr %v7) ; fields (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m5_ReqViewCore(ptr %o) #0 { ; retain %m5.ReqViewCore
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m5_ReqViewCore_destroy_d(ptr %o, i32 %d) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_union_release(ptr %v0) ; _raw
+ %f1 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @sc_rc_release_dyn(ptr %v1) ; _web
+ %f2 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @sc_rrelease_r0(ptr %v2) ; _headers
+ %f3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 4
+ %v3 = load ptr, ptr %f3
+ call void @sc_rrelease_r3(ptr %v3) ; _headersDistinct
+ %f4 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 5
+ %v4 = load ptr, ptr %f4
+ call void @scr_str_release(ptr %v4) ; method
+ %f5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 6
+ %v5 = load ptr, ptr %f5
+ call void @scr_str_release(ptr %v5) ; url
+ %f6 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 7
+ %v6 = load ptr, ptr %f6
+ call void @scr_str_release(ptr %v6) ; path
+ %f7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 8
+ %v7 = load ptr, ptr %f7
+ call void @scr_str_release(ptr %v7) ; _qs
+ %f8 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 9
+ %v8 = load ptr, ptr %f8
+ call void @scr_arr_release(ptr %v8) ; _qp
+ %f9 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 10
+ %v9 = load ptr, ptr %f9
+ call void @scr_arr_release(ptr %v9) ; _pm
+ %f10 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 11
+ %v10 = load ptr, ptr %f10
+ call void @scr_arr_release(ptr %v10) ; _pn
+ %f11 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 12
+ %v11 = load ptr, ptr %f11
+ call void @scr_arr_release(ptr %v11) ; _pi
+ %f12 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 14
+ %v12 = load ptr, ptr %f12
+ call void @scr_str_release(ptr %v12) ; _body
+ %f13 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 15
+ %v13 = load ptr, ptr %f13
+ call void @scr_arr_release(ptr %v13) ; _mpFiles
+ %f14 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 16
+ %v14 = load ptr, ptr %f14
+ call void @scr_arr_release(ptr %v14) ; _mpFields
+ %f15 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 17
+ %v15 = load ptr, ptr %f15
+ call void @sc_rc_release_dyn(ptr %v15) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m5_ReqViewCore_destroy(ptr %o) #0 {
+entry:
+ call void @sc_release__x25_m5_ReqViewCore_destroy_d(ptr %o, i32 0)
+ ret void
+}
+define internal void @sc_release__x25_m5_ReqViewCore(ptr %o) #0 { ; release %m5.ReqViewCore (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m5_ReqViewCore_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m5_ReqViewCore_slow(ptr %o) noinline #0 { ; release %m5.ReqViewCore
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m5_ReqViewCore_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m5_ReqViewCore.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_ReqViewCore, ptr @sc_gcfree__x25_m5_ReqViewCore, i32 55, i32 0 }
+
+define internal ptr @sc_new__x25_m5_ReqViewCore() #0 { ; new %m5.ReqViewCore
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_ReqViewCore, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_ReqViewCore.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_ReqViewCore, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_ReqViewCore.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv1 = call ptr @scr_dyn_undefined()
+ %uf1 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 2
+ store ptr %ufv1, ptr %uf1 ; _web starts undefined
+ %ufv16 = call ptr @scr_dyn_undefined()
+ %uf16 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 17
+ store ptr %ufv16, ptr %uf16 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m5_ReqViewCore(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.ReqViewCore
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; _web
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 15
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; _mpFiles
+ br label %tv1.next
+tv1.next:
+ %f2 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 17
+ %v2 = load ptr, ptr %f2
+ %z2 = icmp eq ptr %v2, null
+ br i1 %z2, label %tv2.next, label %tv2.visit
+tv2.visit:
+ call void %visit(ptr %v2, ptr %ctx) ; %dynProperties
+ br label %tv2.next
+tv2.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m5_ReqViewCore(ptr %o) #0 { ; gcFree %m5.ReqViewCore
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_union_release(ptr %v0) ; _raw (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @sc_rrelease_r0(ptr %v1) ; _headers (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @sc_rrelease_r3(ptr %v2) ; _headersDistinct (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; method (acyclic)
+ %f4 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 6
+ %v4 = load ptr, ptr %f4
+ call void @scr_str_release(ptr %v4) ; url (acyclic)
+ %f5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 7
+ %v5 = load ptr, ptr %f5
+ call void @scr_str_release(ptr %v5) ; path (acyclic)
+ %f6 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 8
+ %v6 = load ptr, ptr %f6
+ call void @scr_str_release(ptr %v6) ; _qs (acyclic)
+ %f7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 9
+ %v7 = load ptr, ptr %f7
+ call void @scr_arr_release(ptr %v7) ; _qp (acyclic)
+ %f8 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 10
+ %v8 = load ptr, ptr %f8
+ call void @scr_arr_release(ptr %v8) ; _pm (acyclic)
+ %f9 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 11
+ %v9 = load ptr, ptr %f9
+ call void @scr_arr_release(ptr %v9) ; _pn (acyclic)
+ %f10 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 12
+ %v10 = load ptr, ptr %f10
+ call void @scr_arr_release(ptr %v10) ; _pi (acyclic)
+ %f11 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 14
+ %v11 = load ptr, ptr %f11
+ call void @scr_str_release(ptr %v11) ; _body (acyclic)
+ %f12 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %o, i64 0, i32 16
+ %v12 = load ptr, ptr %f12
+ call void @scr_arr_release(ptr %v12) ; _mpFields (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m5_CtxResCore(ptr %o) #0 { ; retain %m5.CtxResCore
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m5_CtxResCore_destroy_d(ptr %o, i32 %d) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @sc_release__x25_m2_ResponseSink(ptr %v0) ; _sink
+ %f1 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @sc_rc_release_dyn(ptr %v1) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m5_CtxResCore_destroy(ptr %o) #0 {
+entry:
+ call void @sc_release__x25_m5_CtxResCore_destroy_d(ptr %o, i32 0)
+ ret void
+}
+define internal void @sc_release__x25_m5_CtxResCore(ptr %o) #0 { ; release %m5.CtxResCore (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m5_CtxResCore_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m5_CtxResCore_slow(ptr %o) noinline #0 { ; release %m5.CtxResCore
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m5_CtxResCore_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m5_CtxResCore.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_CtxResCore, ptr @sc_gcfree__x25_m5_CtxResCore, i32 56, i32 0 }
+
+define internal ptr @sc_new__x25_m5_CtxResCore() #0 { ; new %m5.CtxResCore
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_CtxResCore, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_CtxResCore.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_CtxResCore, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_CtxResCore.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv1 = call ptr @scr_dyn_undefined()
+ %uf1 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %o, i64 0, i32 2
+ store ptr %ufv1, ptr %uf1 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m5_CtxResCore(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.CtxResCore
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; _sink
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; %dynProperties
+ br label %tv1.next
+tv1.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m5_CtxResCore(ptr %o) #0 { ; gcFree %m5.CtxResCore
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m5_CtxCore(ptr %o) #0 { ; retain %m5.CtxCore
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m5_CtxCore_destroy_d(ptr %o, i32 %d) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %td0.nn = icmp ne ptr %v0, null
+ br i1 %td0.nn, label %td0.chk, label %td0.next
+td0.chk:
+ %td0.rc = load i64, ptr %v0
+ %td0.last = icmp eq i64 %td0.rc, 1
+ br i1 %td0.last, label %td0.dead, label %td0.shared
+td0.shared:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %v0) ; req
+ br label %td0.next
+td0.dead: ; req: the last reference
+ store i64 0, ptr %v0
+ %td0.bufp = getelementptr i8, ptr %v0, i64 -4
+ %td0.buf = load i32, ptr %td0.bufp
+ %td0.queued = icmp slt i32 %td0.buf, 0
+ br i1 %td0.queued, label %td0.unbuffer, label %td0.teardown
+td0.unbuffer:
+ call void @scr_cyc_on_dead(ptr %v0)
+ br label %td0.teardown
+td0.teardown:
+ %td0.short = icmp ult i32 %d, 16
+ br i1 %td0.short, label %td0.direct, label %td0.bounded
+td0.direct:
+ %td0.d = add i32 %d, 1
+ call void @sc_release__x25_m5_ReqViewCore_destroy_d(ptr %v0, i32 %td0.d)
+ br label %td0.next
+td0.bounded:
+ call void @scr_rc_destroy(ptr %v0, ptr @sc_release__x25_m5_ReqViewCore_destroy)
+ br label %td0.next
+td0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @sc_release__x25_m2_ResponseSink(ptr %v1) ; sink
+ %f2 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ %td2.nn = icmp ne ptr %v2, null
+ br i1 %td2.nn, label %td2.chk, label %td2.next
+td2.chk:
+ %td2.rc = load i64, ptr %v2
+ %td2.last = icmp eq i64 %td2.rc, 1
+ br i1 %td2.last, label %td2.dead, label %td2.shared
+td2.shared:
+ call void @sc_release__x25_m5_CtxResCore(ptr %v2) ; _resView
+ br label %td2.next
+td2.dead: ; _resView: the last reference
+ store i64 0, ptr %v2
+ %td2.bufp = getelementptr i8, ptr %v2, i64 -4
+ %td2.buf = load i32, ptr %td2.bufp
+ %td2.queued = icmp slt i32 %td2.buf, 0
+ br i1 %td2.queued, label %td2.unbuffer, label %td2.teardown
+td2.unbuffer:
+ call void @scr_cyc_on_dead(ptr %v2)
+ br label %td2.teardown
+td2.teardown:
+ %td2.short = icmp ult i32 %d, 16
+ br i1 %td2.short, label %td2.direct, label %td2.bounded
+td2.direct:
+ %td2.d = add i32 %d, 1
+ call void @sc_release__x25_m5_CtxResCore_destroy_d(ptr %v2, i32 %td2.d)
+ br label %td2.next
+td2.bounded:
+ call void @scr_rc_destroy(ptr %v2, ptr @sc_release__x25_m5_CtxResCore_destroy)
+ br label %td2.next
+td2.next:
+ %f3 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 6
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; _vars
+ %f4 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 7
+ %v4 = load ptr, ptr %f4
+ call void @scr_union_release(ptr %v4) ; _nodeRes
+ %f5 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 8
+ %v5 = load ptr, ptr %f5
+ call void @sc_rc_release_dyn(ptr %v5) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m5_CtxCore_destroy(ptr %o) #0 {
+entry:
+ call void @sc_release__x25_m5_CtxCore_destroy_d(ptr %o, i32 0)
+ ret void
+}
+define internal void @sc_release__x25_m5_CtxCore(ptr %o) #0 { ; release %m5.CtxCore (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m5_CtxCore_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m5_CtxCore_slow(ptr %o) noinline #0 { ; release %m5.CtxCore
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m5_CtxCore_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m5_CtxCore.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_CtxCore, ptr @sc_gcfree__x25_m5_CtxCore, i32 57, i32 0 }
+
+define internal ptr @sc_new__x25_m5_CtxCore() #0 { ; new %m5.CtxCore
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_CtxCore, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_CtxCore.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_CtxCore, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_CtxCore.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv7 = call ptr @scr_dyn_undefined()
+ %uf7 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 8
+ store ptr %ufv7, ptr %uf7 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m5_CtxCore(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.CtxCore
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; req
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; sink
+ br label %tv1.next
+tv1.next:
+ %f2 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ %z2 = icmp eq ptr %v2, null
+ br i1 %z2, label %tv2.next, label %tv2.visit
+tv2.visit:
+ call void %visit(ptr %v2, ptr %ctx) ; _resView
+ br label %tv2.next
+tv2.next:
+ %f3 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 8
+ %v3 = load ptr, ptr %f3
+ %z3 = icmp eq ptr %v3, null
+ br i1 %z3, label %tv3.next, label %tv3.visit
+tv3.visit:
+ call void %visit(ptr %v3, ptr %ctx) ; %dynProperties
+ br label %tv3.next
+tv3.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m5_CtxCore(ptr %o) #0 { ; gcFree %m5.CtxCore
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 6
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; _vars (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %o, i64 0, i32 7
+ %v1 = load ptr, ptr %f1
+ call void @scr_union_release(ptr %v1) ; _nodeRes (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m5_MpCfg(ptr %o) #0 { ; retain %m5.MpCfg
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m5_MpCfg_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %v0) ; storage
+ %f1 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %o, i64 0, i32 6
+ %v1 = load ptr, ptr %f1
+ call void @sc_rc_release_dyn(ptr %v1) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m5_MpCfg(ptr %o) #0 { ; release %m5.MpCfg (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m5_MpCfg_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m5_MpCfg_slow(ptr %o) noinline #0 { ; release %m5.MpCfg
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m5_MpCfg_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m5_MpCfg.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_MpCfg, ptr @sc_gcfree__x25_m5_MpCfg, i32 58, i32 0 }
+
+define internal ptr @sc_new__x25_m5_MpCfg() #0 { ; new %m5.MpCfg
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_MpCfg, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_MpCfg.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_MpCfg, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_MpCfg.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv5 = call ptr @scr_dyn_undefined()
+ %uf5 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %o, i64 0, i32 6
+ store ptr %ufv5, ptr %uf5 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m5_MpCfg(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.MpCfg
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; storage
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %o, i64 0, i32 6
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; %dynProperties
+ br label %tv1.next
+tv1.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m5_MpCfg(ptr %o) #0 { ; gcFree %m5.MpCfg
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %o) #0 { ; retain %m5.MethodNotAllowedError
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m5_MethodNotAllowedError(ptr %o) #0 { ; release %m5.MethodNotAllowedError (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m5_MethodNotAllowedError_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; name
+ %f1 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; message
+ %f2 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; %code
+ %f3 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @sc_rc_release_dyn(ptr %v3) ; %cause
+ %f4 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 11
+ %v4 = load ptr, ptr %f4
+ call void @scr_str_release(ptr %v4) ; %stackFrames
+ %f5 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 12
+ %v5 = load ptr, ptr %f5
+ call void @scr_str_release(ptr %v5) ; %stack
+ %f6 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 14
+ %v6 = load ptr, ptr %f6
+ call void @scr_str_release(ptr %v6) ; %systemCall
+ %f7 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 15
+ %v7 = load ptr, ptr %f7
+ call void @scr_str_release(ptr %v7) ; %systemPath
+ %f8 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 16
+ %v8 = load ptr, ptr %f8
+ call void @scr_str_release(ptr %v8) ; %systemDest
+ %f9 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 17
+ %v9 = load ptr, ptr %f9
+ call void @scr_str_release(ptr %v9) ; %systemMessage
+ %f10 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 18
+ %v10 = load ptr, ptr %f10
+ call void @scr_str_release(ptr %v10) ; %systemCode
+ %f11 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 21
+ %v11 = load ptr, ptr %f11
+ call void @scr_str_release(ptr %v11) ; allow
+ %f12 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 22
+ %v12 = load ptr, ptr %f12
+ call void @sc_rc_release_dyn(ptr %v12) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m5_MethodNotAllowedError(ptr %o) #0 { ; direct release %m5.MethodNotAllowedError
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m5_MethodNotAllowedError_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m5_MethodNotAllowedError.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_MethodNotAllowedError, ptr @sc_gcfree__x25_m5_MethodNotAllowedError, i32 59, i32 0 }
+
+define internal ptr @sc_new__x25_m5_MethodNotAllowedError() #0 { ; new %m5.MethodNotAllowedError
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_MethodNotAllowedError, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_MethodNotAllowedError.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_MethodNotAllowedError, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_MethodNotAllowedError.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m5_MethodNotAllowedError, ptr %vtp, !invariant.group !{}
+ %ufv20 = call ptr @scr_dyn_undefined()
+ %uf20 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 22
+ store ptr %ufv20, ptr %uf20 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m5_MethodNotAllowedError(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.MethodNotAllowedError
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 5
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %cause
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 22
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; %dynProperties
+ br label %tv1.next
+tv1.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m5_MethodNotAllowedError(ptr %o) #0 { ; gcFree %m5.MethodNotAllowedError
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; name (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; message (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; %code (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 11
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; %stackFrames (acyclic)
+ %f4 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 12
+ %v4 = load ptr, ptr %f4
+ call void @scr_str_release(ptr %v4) ; %stack (acyclic)
+ %f5 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 14
+ %v5 = load ptr, ptr %f5
+ call void @scr_str_release(ptr %v5) ; %systemCall (acyclic)
+ %f6 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 15
+ %v6 = load ptr, ptr %f6
+ call void @scr_str_release(ptr %v6) ; %systemPath (acyclic)
+ %f7 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 16
+ %v7 = load ptr, ptr %f7
+ call void @scr_str_release(ptr %v7) ; %systemDest (acyclic)
+ %f8 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 17
+ %v8 = load ptr, ptr %f8
+ call void @scr_str_release(ptr %v8) ; %systemMessage (acyclic)
+ %f9 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 18
+ %v9 = load ptr, ptr %f9
+ call void @scr_str_release(ptr %v9) ; %systemCode (acyclic)
+ %f10 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %o, i64 0, i32 21
+ %v10 = load ptr, ptr %f10
+ call void @scr_str_release(ptr %v10) ; allow (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m5_App(ptr %o) #0 { ; retain %m5.App
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m5_App_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_arr_release(ptr %v0) ; _nodes
+ %f1 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 2
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; _mw
+ %f2 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 3
+ %v2 = load ptr, ptr %f2
+ call void @scr_arr_release(ptr %v2) ; _fns
+ %f3 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 4
+ %v3 = load ptr, ptr %f3
+ call void @scr_arr_release(ptr %v3) ; _mws
+ %f4 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 5
+ %v4 = load ptr, ptr %f4
+ call void @scr_closure_release(ptr %v4) ; _nf
+ %f5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 6
+ %v5 = load ptr, ptr %f5
+ call void @scr_arr_release(ptr %v5) ; _nfmw
+ %f6 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 7
+ %v6 = load ptr, ptr %f6
+ call void @scr_union_release(ptr %v6) ; _oef
+ %f7 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 8
+ %v7 = load ptr, ptr %f7
+ call void @scr_arr_release(ptr %v7) ; _chains
+ %f8 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 9
+ %v8 = load ptr, ptr %f8
+ call void @scr_closure_release(ptr %v8) ; _nfchain
+ %f9 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 10
+ %v9 = load ptr, ptr %f9
+ call void @scr_arr_release(ptr %v9) ; _pn
+ %f10 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 11
+ %v10 = load ptr, ptr %f10
+ call void @scr_arr_release(ptr %v10) ; _pi
+ %f11 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 12
+ %v11 = load ptr, ptr %f11
+ call void @scr_arr_release(ptr %v11) ; _sp
+ %f12 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 13
+ %v12 = load ptr, ptr %f12
+ call void @scr_arr_release(ptr %v12) ; _bodyF
+ %f13 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 14
+ %v13 = load ptr, ptr %f13
+ call void @scr_arr_release(ptr %v13) ; _mp
+ %f14 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 15
+ %v14 = load ptr, ptr %f14
+ call void @scr_closure_release(ptr %v14) ; _gen
+ %f15 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 16
+ %v15 = load ptr, ptr %f15
+ call void @scr_closure_release(ptr %v15) ; _genFetch
+ %f16 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 17
+ %v16 = load ptr, ptr %f16
+ call void @scr_closure_release(ptr %v16) ; _up
+ %f17 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 18
+ %v17 = load ptr, ptr %f17
+ call void @sc_rc_release_dyn(ptr %v17) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m5_App(ptr %o) #0 { ; release %m5.App (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m5_App_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m5_App_slow(ptr %o) noinline #0 { ; release %m5.App
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m5_App_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m5_App.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m5_App, ptr @sc_gcfree__x25_m5_App, i32 60, i32 0 }
+
+define internal ptr @sc_new__x25_m5_App() #0 { ; new %m5.App
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_App, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m5_App.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m5_App, ptr null, i32 1) to i64), ptr @sc_trace__x25_m5_App.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv17 = call ptr @scr_dyn_undefined()
+ %uf17 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 18
+ store ptr %ufv17, ptr %uf17 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m5_App(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m5.App
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; _mw
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; _fns
+ br label %tv1.next
+tv1.next:
+ %f2 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ %z2 = icmp eq ptr %v2, null
+ br i1 %z2, label %tv2.next, label %tv2.visit
+tv2.visit:
+ call void %visit(ptr %v2, ptr %ctx) ; _mws
+ br label %tv2.next
+tv2.next:
+ %f3 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ %z3 = icmp eq ptr %v3, null
+ br i1 %z3, label %tv3.next, label %tv3.visit
+tv3.visit:
+ call void %visit(ptr %v3, ptr %ctx) ; _nf
+ br label %tv3.next
+tv3.next:
+ %f4 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 6
+ %v4 = load ptr, ptr %f4
+ %z4 = icmp eq ptr %v4, null
+ br i1 %z4, label %tv4.next, label %tv4.visit
+tv4.visit:
+ call void %visit(ptr %v4, ptr %ctx) ; _nfmw
+ br label %tv4.next
+tv4.next:
+ %f5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 7
+ %v5 = load ptr, ptr %f5
+ %z5 = icmp eq ptr %v5, null
+ br i1 %z5, label %tv5.next, label %tv5.visit
+tv5.visit:
+ call void %visit(ptr %v5, ptr %ctx) ; _oef
+ br label %tv5.next
+tv5.next:
+ %f6 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 8
+ %v6 = load ptr, ptr %f6
+ %z6 = icmp eq ptr %v6, null
+ br i1 %z6, label %tv6.next, label %tv6.visit
+tv6.visit:
+ call void %visit(ptr %v6, ptr %ctx) ; _chains
+ br label %tv6.next
+tv6.next:
+ %f7 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 9
+ %v7 = load ptr, ptr %f7
+ %z7 = icmp eq ptr %v7, null
+ br i1 %z7, label %tv7.next, label %tv7.visit
+tv7.visit:
+ call void %visit(ptr %v7, ptr %ctx) ; _nfchain
+ br label %tv7.next
+tv7.next:
+ %f8 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 14
+ %v8 = load ptr, ptr %f8
+ %z8 = icmp eq ptr %v8, null
+ br i1 %z8, label %tv8.next, label %tv8.visit
+tv8.visit:
+ call void %visit(ptr %v8, ptr %ctx) ; _mp
+ br label %tv8.next
+tv8.next:
+ %f9 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 15
+ %v9 = load ptr, ptr %f9
+ %z9 = icmp eq ptr %v9, null
+ br i1 %z9, label %tv9.next, label %tv9.visit
+tv9.visit:
+ call void %visit(ptr %v9, ptr %ctx) ; _gen
+ br label %tv9.next
+tv9.next:
+ %f10 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 16
+ %v10 = load ptr, ptr %f10
+ %z10 = icmp eq ptr %v10, null
+ br i1 %z10, label %tv10.next, label %tv10.visit
+tv10.visit:
+ call void %visit(ptr %v10, ptr %ctx) ; _genFetch
+ br label %tv10.next
+tv10.next:
+ %f11 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 17
+ %v11 = load ptr, ptr %f11
+ %z11 = icmp eq ptr %v11, null
+ br i1 %z11, label %tv11.next, label %tv11.visit
+tv11.visit:
+ call void %visit(ptr %v11, ptr %ctx) ; _up
+ br label %tv11.next
+tv11.next:
+ %f12 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 18
+ %v12 = load ptr, ptr %f12
+ %z12 = icmp eq ptr %v12, null
+ br i1 %z12, label %tv12.next, label %tv12.visit
+tv12.visit:
+ call void %visit(ptr %v12, ptr %ctx) ; %dynProperties
+ br label %tv12.next
+tv12.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m5_App(ptr %o) #0 { ; gcFree %m5.App
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @scr_arr_release(ptr %v0) ; _nodes (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 10
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; _pn (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 11
+ %v2 = load ptr, ptr %f2
+ call void @scr_arr_release(ptr %v2) ; _pi (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 12
+ %v3 = load ptr, ptr %f3
+ call void @scr_arr_release(ptr %v3) ; _sp (acyclic)
+ %f4 = getelementptr inbounds %sc_o__x25_m5_App, ptr %o, i64 0, i32 13
+ %v4 = load ptr, ptr %f4
+ call void @scr_arr_release(ptr %v4) ; _bodyF (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m6_AssetSource(ptr %o) #0 { ; retain %m6.AssetSource
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m6_AssetSource(ptr %o) #0 { ; release %m6.AssetSource (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m6_AssetSource_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m6_AssetSource_slow(ptr %o) noinline #0 { ; release %m6.AssetSource (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m6_AssetSource_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m6_AssetSource(ptr %o) #0 { ; direct release %m6.AssetSource
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m6_AssetSource_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m6_AssetSource.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m6_AssetSource, ptr @sc_gcfree__x25_m6_AssetSource, i32 61, i32 0 }
+
+define internal ptr @sc_new__x25_m6_AssetSource() #0 { ; new %m6.AssetSource
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m6_AssetSource, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m6_AssetSource.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m6_AssetSource, ptr null, i32 1) to i64), ptr @sc_trace__x25_m6_AssetSource.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m6_AssetSource, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m6_AssetSource(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m6.AssetSource
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m6_AssetSource(ptr %o) #0 { ; gcFree %m6.AssetSource
+entry:
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m8_DiskAssets(ptr %o) #0 { ; retain %m8.DiskAssets
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m8_DiskAssets(ptr %o) #0 { ; release %m8.DiskAssets (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m8_DiskAssets_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m8_DiskAssets_slow(ptr %o) noinline #0 { ; release %m8.DiskAssets (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m8_DiskAssets_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %f1 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; root
+ %f2 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; rroot
+ %f3 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @sc_rrelease_r12(ptr %v3) ; _idx
+ %f4 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 6
+ %v4 = load ptr, ptr %f4
+ call void @scr_arr_release(ptr %v4) ; _assets
+ %f5 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 7
+ %v5 = load ptr, ptr %f5
+ call void @scr_arr_release(ptr %v5) ; _mtimes
+ %f6 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 8
+ %v6 = load ptr, ptr %f6
+ call void @scr_arr_release(ptr %v6) ; _sizes
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m8_DiskAssets(ptr %o) #0 { ; direct release %m8.DiskAssets
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m8_DiskAssets_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m8_DiskAssets.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m8_DiskAssets, ptr @sc_gcfree__x25_m8_DiskAssets, i32 62, i32 0 }
+
+define internal ptr @sc_new__x25_m8_DiskAssets() #0 { ; new %m8.DiskAssets
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m8_DiskAssets, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m8_DiskAssets.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m8_DiskAssets, ptr null, i32 1) to i64), ptr @sc_trace__x25_m8_DiskAssets.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m8_DiskAssets, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m8_DiskAssets(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m8.DiskAssets
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m8_DiskAssets(ptr %o) #0 { ; gcFree %m8.DiskAssets
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 3
+ %v0 = load ptr, ptr %f0
+ call void @scr_str_release(ptr %v0) ; root (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 4
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; rroot (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 5
+ %v2 = load ptr, ptr %f2
+ call void @sc_rrelease_r12(ptr %v2) ; _idx (acyclic)
+ %f3 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 6
+ %v3 = load ptr, ptr %f3
+ call void @scr_arr_release(ptr %v3) ; _assets (acyclic)
+ %f4 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 7
+ %v4 = load ptr, ptr %f4
+ call void @scr_arr_release(ptr %v4) ; _mtimes (acyclic)
+ %f5 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %o, i64 0, i32 8
+ %v5 = load ptr, ptr %f5
+ call void @scr_arr_release(ptr %v5) ; _sizes (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %o) #0 { ; retain %m9.EmbeddedAssets
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m9_EmbeddedAssets(ptr %o) #0 { ; release %m9.EmbeddedAssets (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m9_EmbeddedAssets_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m9_EmbeddedAssets_slow(ptr %o) noinline #0 { ; release %m9.EmbeddedAssets (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m9_EmbeddedAssets_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %f1 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @sc_rrelease_r12(ptr %v1) ; _idx
+ %f2 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_arr_release(ptr %v2) ; _assets
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m9_EmbeddedAssets(ptr %o) #0 { ; direct release %m9.EmbeddedAssets
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m9_EmbeddedAssets_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m9_EmbeddedAssets.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m9_EmbeddedAssets, ptr @sc_gcfree__x25_m9_EmbeddedAssets, i32 63, i32 0 }
+
+define internal ptr @sc_new__x25_m9_EmbeddedAssets() #0 { ; new %m9.EmbeddedAssets
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m9_EmbeddedAssets, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m9_EmbeddedAssets.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m9_EmbeddedAssets, ptr null, i32 1) to i64), ptr @sc_trace__x25_m9_EmbeddedAssets.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m9_EmbeddedAssets, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m9_EmbeddedAssets(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m9.EmbeddedAssets
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m9_EmbeddedAssets(ptr %o) #0 { ; gcFree %m9.EmbeddedAssets
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 3
+ %v0 = load ptr, ptr %f0
+ call void @sc_rrelease_r12(ptr %v0) ; _idx (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %o, i64 0, i32 4
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; _assets (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m11_StaticServer(ptr %o) #0 { ; retain %m11.StaticServer
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m11_StaticServer_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ call void @sc_release__x25_m6_AssetSource(ptr %v0) ; src
+ %f1 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; api
+ %f2 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; index
+ %f3 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 5
+ %v3 = load ptr, ptr %f3
+ call void @scr_str_release(ptr %v3) ; cc
+ %f4 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 6
+ %v4 = load ptr, ptr %f4
+ call void @sc_rc_release_dyn(ptr %v4) ; %dynProperties
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+define internal void @sc_release__x25_m11_StaticServer(ptr %o) #0 { ; release %m11.StaticServer (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m11_StaticServer_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+define internal void @sc_release__x25_m11_StaticServer_slow(ptr %o) noinline #0 { ; release %m11.StaticServer
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %dec
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_release__x25_m11_StaticServer_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m11_StaticServer.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m11_StaticServer, ptr @sc_gcfree__x25_m11_StaticServer, i32 64, i32 0 }
+
+define internal ptr @sc_new__x25_m11_StaticServer() #0 { ; new %m11.StaticServer
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m11_StaticServer, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m11_StaticServer.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m11_StaticServer, ptr null, i32 1) to i64), ptr @sc_trace__x25_m11_StaticServer.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %ufv5 = call ptr @scr_dyn_undefined()
+ %uf5 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 6
+ store ptr %ufv5, ptr %uf5 ; %dynProperties starts undefined
+ ret ptr %o
+}
+
+define internal void @sc_trace__x25_m11_StaticServer(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m11.StaticServer
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 1
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; src
+ br label %tv0.next
+tv0.next:
+ %f1 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 6
+ %v1 = load ptr, ptr %f1
+ %z1 = icmp eq ptr %v1, null
+ br i1 %z1, label %tv1.next, label %tv1.visit
+tv1.visit:
+ call void %visit(ptr %v1, ptr %ctx) ; %dynProperties
+ br label %tv1.next
+tv1.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m11_StaticServer(ptr %o) #0 { ; gcFree %m11.StaticServer
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 3
+ %v0 = load ptr, ptr %f0
+ call void @scr_arr_release(ptr %v0) ; api (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 4
+ %v1 = load ptr, ptr %f1
+ call void @scr_str_release(ptr %v1) ; index (acyclic)
+ %f2 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %o, i64 0, i32 5
+ %v2 = load ptr, ptr %f2
+ call void @scr_str_release(ptr %v2) ; cc (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_retain__x25_m14_BakedAssets(ptr %o) #0 { ; retain %m14.BakedAssets
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_release__x25_m14_BakedAssets(ptr %o) #0 { ; release %m14.BakedAssets (fast path)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %rcm2 = sub i64 %rc, 2
+ %shared = icmp ult i64 %rcm2, -3
+ br i1 %shared, label %dec, label %slow
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+slow:
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %slowcall
+slowcall:
+ call void @sc_release__x25_m14_BakedAssets_slow(ptr %o)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_release__x25_m14_BakedAssets_slow(ptr %o) noinline #0 { ; release %m14.BakedAssets (dispatches)
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %disp
+disp:
+ %vtp = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 1
+ %vt = load ptr, ptr %vtp
+ %relp = getelementptr inbounds %ScrVt, ptr %vt, i64 0, i32 2
+ %rel = load ptr, ptr %relp
+ call void %rel(ptr %o) ; the DYNAMIC class's teardown
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m14_BakedAssets_destroy(ptr %o) #0 {
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ call void @sc_rc_release_dyn(ptr %v0) ; %dynProperties
+ %f1 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 3
+ %v1 = load ptr, ptr %f1
+ call void @sc_rrelease_r12(ptr %v1) ; _idx
+ %f2 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 4
+ %v2 = load ptr, ptr %f2
+ call void @scr_arr_release(ptr %v2) ; _assets
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal void @sc_reld__x25_m14_BakedAssets(ptr %o) #0 { ; direct release %m14.BakedAssets
+entry:
+ %rc = load i64, ptr %o
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %dead = icmp eq i64 %n, 0
+ br i1 %dead, label %free, label %root
+free:
+ %dbufp = getelementptr i8, ptr %o, i64 -4
+ %dbuf = load i32, ptr %dbufp
+ %dqueued = icmp slt i32 %dbuf, 0
+ br i1 %dqueued, label %unbuffer, label %teardown
+unbuffer:
+ call void @scr_cyc_on_dead(ptr %o)
+ br label %teardown
+teardown:
+ call void @scr_rc_destroy(ptr %o, ptr @sc_reld__x25_m14_BakedAssets_destroy)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+@sc_trace__x25_m14_BakedAssets.cyctype = internal global { ptr, ptr, i32, i32 } { ptr @sc_trace__x25_m14_BakedAssets, ptr @sc_gcfree__x25_m14_BakedAssets, i32 65, i32 0 }
+
+define internal ptr @sc_new__x25_m14_BakedAssets() #0 { ; new %m14.BakedAssets
+entry:
+ %sa.n = add i64 ptrtoint (ptr getelementptr (%sc_o__x25_m14_BakedAssets, ptr null, i32 1) to i64), 8
+ %sa.tidp = getelementptr inbounds { ptr, ptr, i32, i32 }, ptr @sc_trace__x25_m14_BakedAssets.cyctype, i32 0, i32 3
+ %sa.tid = load atomic i32, ptr %sa.tidp acquire, align 4
+ %sa.reg = icmp ne i32 %sa.tid, 0
+ %sa.fits0 = icmp ule i64 %sa.n, 512
+ %sa.small = and i1 %sa.reg, %sa.fits0
+ br i1 %sa.small, label %sa.class, label %sa.slow
+sa.class:
+ %sa.nm1 = sub i64 %sa.n, 1
+ %sa.k = lshr i64 %sa.nm1, 3
+ %sa.fine = icmp ule i64 %sa.n, 128
+ %sa.kc = add i64 %sa.k, 16
+ %sa.cc = lshr i64 %sa.kc, 1
+ %sa.c = select i1 %sa.fine, i64 %sa.k, i64 %sa.cc
+ %sa.c8 = shl i64 %sa.c, 3
+ %sa.fo = add i64 %sa.c8, 24
+ %sa.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.fo
+ %sa.b = load ptr, ptr %sa.fp
+ %sa.hit = icmp ne ptr %sa.b, null
+ %sa.hitx = call i1 @llvm.expect.i1(i1 %sa.hit, i1 true)
+ br i1 %sa.hitx, label %sa.pop, label %sa.bump
+sa.pop: ; recycled blocks are dirty
+ %sa.next = load ptr, ptr %sa.b
+ store ptr %sa.next, ptr %sa.fp
+ %sa.z = getelementptr inbounds i8, ptr %sa.b, i64 8
+ %sa.zn = sub i64 %sa.n, 8
+ call void @llvm.memset.p0.i64(ptr align 8 %sa.z, i8 0, i64 %sa.zn, i1 false)
+ br label %sa.fast
+sa.bump: ; fresh reservation memory is already zero
+ %sa.c1 = add i64 %sa.c, 1
+ %sa.wide = icmp eq i64 %sa.c, 6
+ %sa.widez = zext i1 %sa.wide to i64
+ %sa.c1w = add i64 %sa.c1, %sa.widez
+ %sa.szf = shl i64 %sa.c1w, 3
+ %sa.cs = sub i64 %sa.c1, 8
+ %sa.szc = shl i64 %sa.cs, 4
+ %sa.sz = select i1 %sa.fine, i64 %sa.szf, i64 %sa.szc
+ %sa.bo = add i64 %sa.c8, 344
+ %sa.bp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.bo
+ %sa.lo = add i64 %sa.c8, 664
+ %sa.lp = getelementptr inbounds i8, ptr @scr_sa, i64 %sa.lo
+ %sa.p = load ptr, ptr %sa.bp
+ %sa.l = load ptr, ptr %sa.lp
+ %sa.pi = ptrtoint ptr %sa.p to i64
+ %sa.li = ptrtoint ptr %sa.l to i64
+ %sa.room = sub i64 %sa.li, %sa.pi
+ %sa.fits = icmp uge i64 %sa.room, %sa.sz
+ %sa.fitsx = call i1 @llvm.expect.i1(i1 %sa.fits, i1 true)
+ br i1 %sa.fitsx, label %sa.carve, label %sa.slow
+sa.carve:
+ %sa.np = getelementptr inbounds i8, ptr %sa.p, i64 %sa.sz
+ store ptr %sa.np, ptr %sa.bp
+ br label %sa.fast
+sa.fast:
+ %sa.blk = phi ptr [ %sa.b, %sa.pop ], [ %sa.p, %sa.carve ]
+ %sa.id = trunc i32 %sa.tid to i16
+ store i16 %sa.id, ptr %sa.blk ; ScrCycHdr.id
+ %sa.cgp = getelementptr inbounds i8, ptr %sa.blk, i64 2
+ store i16 0, ptr %sa.cgp ; ScrCycHdr.color, gen
+ %sa.bufp = getelementptr inbounds i8, ptr %sa.blk, i64 4
+ store i32 0, ptr %sa.bufp ; ScrCycHdr.buf
+ %sa.live = load i64, ptr @scr_cyc_live
+ %sa.live1 = add i64 %sa.live, 1
+ store i64 %sa.live1, ptr @scr_cyc_live
+ %sa.obj = getelementptr inbounds i8, ptr %sa.blk, i64 8
+ br label %sa.done
+sa.slow:
+ %sa.s = call ptr @scr_cyc_alloc(i64 ptrtoint (ptr getelementptr (%sc_o__x25_m14_BakedAssets, ptr null, i32 1) to i64), ptr @sc_trace__x25_m14_BakedAssets.cyctype)
+ br label %sa.done
+sa.done:
+ %o = phi ptr [ %sa.obj, %sa.fast ], [ %sa.s, %sa.slow ]
+ store i64 1, ptr %o
+ %o.vt = call ptr @llvm.launder.invariant.group.p0(ptr %o)
+ %vtp = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o.vt, i64 0, i32 1
+ store ptr @sc_vtable__x25_m14_BakedAssets, ptr %vtp, !invariant.group !{}
+ %ufv0 = call ptr @scr_dyn_undefined()
+ %uf0 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 2
+ store ptr %ufv0, ptr %uf0 ; %dynProperties starts undefined
+ ret ptr %o.vt
+}
+
+define internal void @sc_trace__x25_m14_BakedAssets(ptr %o, ptr %visit, ptr %ctx) #0 { ; trace %m14.BakedAssets
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 2
+ %v0 = load ptr, ptr %f0
+ %z0 = icmp eq ptr %v0, null
+ br i1 %z0, label %tv0.next, label %tv0.visit
+tv0.visit:
+ call void %visit(ptr %v0, ptr %ctx) ; %dynProperties
+ br label %tv0.next
+tv0.next:
+ ret void
+}
+
+define internal void @sc_gcfree__x25_m14_BakedAssets(ptr %o) #0 { ; gcFree %m14.BakedAssets
+entry:
+ %f0 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 3
+ %v0 = load ptr, ptr %f0
+ call void @sc_rrelease_r12(ptr %v0) ; _idx (acyclic)
+ %f1 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %o, i64 0, i32 4
+ %v1 = load ptr, ptr %f1
+ call void @scr_arr_release(ptr %v1) ; _assets (acyclic)
+ %sf.hook = load ptr, ptr @scr_weak_dispose_hook
+ %sf.has = icmp ne ptr %sf.hook, null
+ %sf.hasx = call i1 @llvm.expect.i1(i1 %sf.has, i1 false)
+ br i1 %sf.hasx, label %sf.observe, label %sf.block
+sf.observe: ; weak collections observe the disposal
+ call void %sf.hook(ptr %o)
+ br label %sf.block
+sf.block:
+ %sf.live = load i64, ptr @scr_cyc_live
+ %sf.live1 = sub i64 %sf.live, 1
+ store i64 %sf.live1, ptr @scr_cyc_live
+ %sf.blk = getelementptr inbounds i8, ptr %o, i64 -8
+ %sf.genp = getelementptr inbounds i8, ptr %sf.blk, i64 3
+ %sf.gen = load i8, ptr %sf.genp ; ScrCycHdr.gen
+ %sf.old = icmp eq i8 %sf.gen, 2
+ br i1 %sf.old, label %sf.oldcount, label %sf.accounted
+sf.oldcount:
+ %sf.freed = load i64, ptr @scr_cyc_old_freed
+ %sf.freed1 = add i64 %sf.freed, 1
+ store i64 %sf.freed1, ptr @scr_cyc_old_freed
+ br label %sf.accounted
+sf.accounted:
+ %sf.base = load i64, ptr @scr_sa
+ %sf.spanp = getelementptr inbounds i8, ptr @scr_sa, i64 8
+ %sf.span = load i64, ptr %sf.spanp
+ %sf.bi = ptrtoint ptr %sf.blk to i64
+ %sf.off = sub i64 %sf.bi, %sf.base
+ %sf.in = icmp ult i64 %sf.off, %sf.span
+ %sf.inx = call i1 @llvm.expect.i1(i1 %sf.in, i1 true)
+ br i1 %sf.inx, label %sf.push, label %sf.sys
+sf.push:
+ %sf.shp = getelementptr inbounds i8, ptr @scr_sa, i64 16
+ %sf.sh32 = load i32, ptr %sf.shp
+ %sf.sh = zext i32 %sf.sh32 to i64
+ %sf.c = lshr i64 %sf.off, %sf.sh
+ %sf.c8 = shl i64 %sf.c, 3
+ %sf.fo = add i64 %sf.c8, 24
+ %sf.fp = getelementptr inbounds i8, ptr @scr_sa, i64 %sf.fo
+ %sf.head = load ptr, ptr %sf.fp
+ store ptr %sf.head, ptr %sf.blk
+ store ptr %sf.blk, ptr %sf.fp
+ br label %sf.done
+sf.sys: ; outside the reservation, or the allocator is compiled out
+ call void @scr_rt_free(ptr %sf.blk)
+ br label %sf.done
+sf.done:
+ ret void
+}
+
+define internal ptr @sc_dc_0(ptr %d, ptr %path) #0 { ; check string
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1252517681993947, i64 6)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1252517681993947, i64 6)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_0(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1252517681993947, i64 6, ptr %t8, ptr @scr_str_retain_v, ptr @scr_str_release_v, i1 false)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t11 = load i32, ptr %t10
+ %t12 = icmp eq i32 %t11, 3
+ br i1 %t12, label %dc.k8, label %dc.f9
+dc.f9:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1252517681993947, ptr %d)
+ ret ptr null
+dc.k8:
+ %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_str_retain_v(ptr %t14)
+ ret ptr %t15
+}
+
+define internal ptr @sc_dc_1(ptr %d, ptr %path) #0 { ; check array
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_391578306055374, i64 13)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_391578306055374, i64 13)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_1(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_391578306055374, i64 13, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new(i32 2, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_0(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal ptr @sc_td_0(ptr %v) #0 { ; to-dyn string
+entry:
+ %t0 = call ptr @scr_dyn_new_str(ptr %v) ; retains v
+ ret ptr %t0
+}
+
+define internal double @sc_dc_2(ptr %d, ptr %path) #0 { ; check f64
+entry:
+ %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t1 = load i32, ptr %t0
+ %t2 = icmp eq i32 %t1, 2
+ br i1 %t2, label %dc.k0, label %dc.f1
+dc.f1:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_326035158597717, ptr %d)
+ ret double 0x0000000000000000
+dc.k0:
+ %t3 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t4 = load double, ptr %t3
+ ret double %t4
+}
+
+define internal zeroext i1 @sc_dc_3(ptr %d, ptr %path) #0 { ; check bool
+entry:
+ %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t1 = load i32, ptr %t0
+ %t2 = icmp eq i32 %t1, 1
+ br i1 %t2, label %dc.k0, label %dc.f1
+dc.f1:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3369235369748796, ptr %d)
+ ret i1 false
+dc.k0:
+ %t3 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.b
+ %t4 = load i8, ptr %t3
+ %t5 = trunc i8 %t4 to i1
+ ret i1 %t5
+}
+
+define internal zeroext i1 @sc_dm_0(ptr %d) #0 { ; matches null
+entry:
+ %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t1 = load i32, ptr %t0
+ %t2 = icmp eq i32 %t1, 12
+ br i1 %t2, label %dm.tr.mat0, label %dm.tr.plain1
+dm.tr.mat0:
+ %t3 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t4 = call zeroext i1 @sc_dm_0(ptr %t3)
+ call void @scr_dyn_release_v(ptr %t3)
+ ret i1 %t4
+dm.tr.plain1:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 0
+ ret i1 %t7
+}
+
+define internal zeroext i1 @sc_dm_2(ptr %d) #0 { ; matches f64
+entry:
+ %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t1 = load i32, ptr %t0
+ %t2 = icmp eq i32 %t1, 12
+ br i1 %t2, label %dm.tr.mat0, label %dm.tr.plain1
+dm.tr.mat0:
+ %t3 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t4 = call zeroext i1 @sc_dm_2(ptr %t3)
+ call void @scr_dyn_release_v(ptr %t3)
+ ret i1 %t4
+dm.tr.plain1:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 2
+ ret i1 %t7
+}
+
+define internal zeroext i1 @sc_dm_1(ptr %d) #0 { ; matches record:r1
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2073431270519518, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_1(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ %t9 = icmp eq i32 %t7, 13
+ %t10 = or i1 %t8, %t9
+ br i1 %t10, label %dm.o5, label %dm.f4
+dm.o5:
+ %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_127274431826284, i64 6)
+ %t12.cell = load ptr, ptr @scr_exc_active
+ %t12.kind = load i32, ptr %t12.cell
+ %t12 = icmp ne i32 %t12.kind, 0
+ br i1 %t12, label %dm.read.u7, label %dm.read.k8
+dm.read.u7:
+ call void @scr_dyn_release(ptr %t11)
+ ret i1 false
+dm.read.k8:
+ %t13 = call zeroext i1 @sc_dm_2(ptr %t11)
+ call void @scr_dyn_release(ptr %t11)
+ br i1 %t13, label %dm.n6, label %dm.f4
+dm.n6:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_6(ptr %d, ptr %path) #0 { ; check dyn
+entry:
+ %t0 = call ptr @scr_dyn_retain_v(ptr %d)
+ ret ptr %t0
+}
+
+@sc_rnames_0 = internal constant [3 x ptr] [ptr @sc_cs_127274431826284, ptr @sc_cs_616655122974952, ptr @sc_cs_977412068193087]
+@sc_rnames_0_lens = internal constant [3 x i64] [i64 6, i64 4, i64 7]
+
+define internal ptr @sc_dc_5(ptr %d, ptr %path) #0 { ; check record:r1
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2073431270519518, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2073431270519518, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_5(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r1(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r1, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r1, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; body
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r1, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r1, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; headers
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ %t18 = getelementptr inbounds %sc_rs_r1, ptr %t5, i64 0, i32 3
+ %t19 = getelementptr inbounds %sc_rs_r1, ptr %t8, i64 0, i32 3
+ %t20 = load double, ptr %t18 ; status
+ %t21 = load double, ptr %t19
+ store double %t21, ptr %t18
+ store double %t20, ptr %t19
+ call void @sc_rrelease_r1(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2073431270519518, i64 9, ptr %t8, ptr @sc_rretain_r1, ptr @sc_rrelease_r1, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t22 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t24 = icmp eq i32 %t23, 5
+ %t25 = icmp eq i32 %t23, 13
+ %t26 = or i1 %t24, %t25
+ br i1 %t26, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r1()
+ %t27 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4)
+ %t28.cell = load ptr, ptr @scr_exc_active
+ %t28.kind = load i32, ptr %t28.cell
+ %t28 = icmp ne i32 %t28.kind, 0
+ br i1 %t28, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t27)
+ call void @sc_rrelease_r1(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t29 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t29
+ %t30 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_616655122974952, ptr %t30
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t31
+ %t32 = call ptr @sc_dc_6(ptr %t27, ptr %dcp)
+ call void @scr_dyn_release(ptr %t27)
+ %t33 = getelementptr inbounds %sc_rs_r1, ptr %r0, i64 0, i32 1 ; .body
+ store ptr %t32, ptr %t33
+ %t34.cell = load ptr, ptr @scr_exc_active
+ %t34.kind = load i32, ptr %t34.cell
+ %t34 = icmp ne i32 %t34.kind, 0
+ br i1 %t34, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r1(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t35 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_977412068193087, i64 7)
+ %t36.cell = load ptr, ptr @scr_exc_active
+ %t36.kind = load i32, ptr %t36.cell
+ %t36 = icmp ne i32 %t36.kind, 0
+ br i1 %t36, label %dcr.read.u16, label %dcr.read.k17
+dcr.read.u16:
+ call void @scr_dyn_release(ptr %t35)
+ call void @sc_rrelease_r1(ptr %r0)
+ ret ptr null
+dcr.read.k17:
+ %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t37
+ %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_977412068193087, ptr %t38
+ %t39 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t39
+ %t40 = call ptr @sc_dc_6(ptr %t35, ptr %dcp)
+ call void @scr_dyn_release(ptr %t35)
+ %t41 = getelementptr inbounds %sc_rs_r1, ptr %r0, i64 0, i32 2 ; .headers
+ store ptr %t40, ptr %t41
+ %t42.cell = load ptr, ptr @scr_exc_active
+ %t42.kind = load i32, ptr %t42.cell
+ %t42 = icmp ne i32 %t42.kind, 0
+ br i1 %t42, label %dcr.u18, label %dcr.k19
+dcr.u18:
+ call void @sc_rrelease_r1(ptr %r0)
+ ret ptr null
+dcr.k19:
+ %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_127274431826284, i64 6)
+ %t44.cell = load ptr, ptr @scr_exc_active
+ %t44.kind = load i32, ptr %t44.cell
+ %t44 = icmp ne i32 %t44.kind, 0
+ br i1 %t44, label %dcr.read.u20, label %dcr.read.k21
+dcr.read.u20:
+ call void @scr_dyn_release(ptr %t43)
+ call void @sc_rrelease_r1(ptr %r0)
+ ret ptr null
+dcr.read.k21:
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_127274431826284, ptr %t46
+ %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t47
+ %t48 = call double @sc_dc_2(ptr %t43, ptr %dcp)
+ call void @scr_dyn_release(ptr %t43)
+ %t49 = getelementptr inbounds %sc_rs_r1, ptr %r0, i64 0, i32 3 ; .status
+ store double %t48, ptr %t49
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dcr.u22, label %dcr.k23
+dcr.u22:
+ call void @sc_rrelease_r1(ptr %r0)
+ ret ptr null
+dcr.k23:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_0, ptr @sc_rnames_0_lens, i64 3)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_4(ptr %d, ptr %path) #0 { ; check union:u4
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2645883945401328, i64 8)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ ret ptr null
+dcu.n3:
+ %t3 = call zeroext i1 @sc_dm_1(ptr %d)
+ br i1 %t3, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t4 = call ptr @sc_dc_5(ptr %d, ptr %path)
+ ret ptr %t4
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_4(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1247828793356534, ptr %d)
+ ret ptr null
+}
+
+define internal zeroext i1 @sc_dm_4(ptr %d) #0 { ; matches func()=>void
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1577281003310918, i64 12)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_4(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ ret i1 %t6
+}
+
+define internal zeroext i1 @sc_dm_5(ptr %d) #0 { ; matches func(bytes)=>void
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2962741746049877, i64 21)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_5(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ ret i1 %t6
+}
+
+define internal zeroext i1 @sc_dm_3(ptr %d) #0 { ; matches record:r2
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4309965218388288, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_3(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ %t9 = icmp eq i32 %t7, 13
+ %t10 = or i1 %t8, %t9
+ br i1 %t10, label %dm.o5, label %dm.f4
+dm.o5:
+ %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_863112869792180, i64 5)
+ %t12.cell = load ptr, ptr @scr_exc_active
+ %t12.kind = load i32, ptr %t12.cell
+ %t12 = icmp ne i32 %t12.kind, 0
+ br i1 %t12, label %dm.read.u7, label %dm.read.k8
+dm.read.u7:
+ call void @scr_dyn_release(ptr %t11)
+ ret i1 false
+dm.read.k8:
+ %t13 = call zeroext i1 @sc_dm_4(ptr %t11)
+ call void @scr_dyn_release(ptr %t11)
+ br i1 %t13, label %dm.n6, label %dm.f4
+dm.n6:
+ %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3739322700708094, i64 7)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dm.read.u10, label %dm.read.k11
+dm.read.u10:
+ call void @scr_dyn_release(ptr %t14)
+ ret i1 false
+dm.read.k11:
+ %t16 = call zeroext i1 @sc_dm_5(ptr %t14)
+ call void @scr_dyn_release(ptr %t14)
+ br i1 %t16, label %dm.n9, label %dm.f4
+dm.n9:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal void @sc_dfa_0(ptr %sc_env) #0 { ; dyn fn adapter to func()=>void
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t3 = call ptr @scr_dyn_call(ptr %t2, ptr null, i64 0, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ %t4.cell = load ptr, ptr @scr_exc_active
+ %t4.kind = load i32, ptr %t4.cell
+ %t4 = icmp ne i32 %t4.kind, 0
+ br i1 %t4, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret void
+dfa.k1:
+ call void @scr_dyn_release(ptr %t3)
+ ret void
+}
+
+define internal ptr @sc_dc_9(ptr %d, ptr %path) #0 { ; check func()=>void
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1577281003310918, i64 12)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1577281003310918, i64 12)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_9(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1577281003310918, i64 12, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_1577281003310918)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_0, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal ptr @sc_td_1(ptr %v) #0 { ; to-dyn bytes
+entry:
+ %t0 = call ptr @scr_dyn_new_bytes(ptr %v)
+ ret ptr %t0
+}
+
+define internal void @sc_dfa_1(ptr %sc_env, ptr %a0) #0 { ; dyn fn adapter to func(bytes)=>void
+entry:
+ %s3 = alloca [1 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @sc_td_1(ptr %a0)
+ %t5 = getelementptr inbounds [1 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ call void @scr_bytes_release(ptr %a0)
+ %t6 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 1, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ %t7.cell = load ptr, ptr @scr_exc_active
+ %t7.kind = load i32, ptr %t7.cell
+ %t7 = icmp ne i32 %t7.kind, 0
+ br i1 %t7, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret void
+dfa.k1:
+ call void @scr_dyn_release(ptr %t6)
+ ret void
+}
+
+define internal ptr @sc_dc_10(ptr %d, ptr %path) #0 { ; check func(bytes)=>void
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2962741746049877, i64 21)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2962741746049877, i64 21)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_10(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2962741746049877, i64 21, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_2962741746049877)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_1, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+@sc_rnames_1 = internal constant [2 x ptr] [ptr @sc_cs_3739322700708094, ptr @sc_cs_863112869792180]
+@sc_rnames_1_lens = internal constant [2 x i64] [i64 7, i64 5]
+
+define internal ptr @sc_dc_8(ptr %d, ptr %path) #0 { ; check record:r2
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4309965218388288, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4309965218388288, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_8(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r2(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r2, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r2, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; close
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r2, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r2, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; enqueue
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ call void @sc_rrelease_r2(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4309965218388288, i64 9, ptr %t8, ptr @sc_rretain_r2, ptr @sc_rrelease_r2, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t20 = icmp eq i32 %t19, 5
+ %t21 = icmp eq i32 %t19, 13
+ %t22 = or i1 %t20, %t21
+ br i1 %t22, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r2()
+ %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_863112869792180, i64 5)
+ %t24.cell = load ptr, ptr @scr_exc_active
+ %t24.kind = load i32, ptr %t24.cell
+ %t24 = icmp ne i32 %t24.kind, 0
+ br i1 %t24, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t23)
+ call void @sc_rrelease_r2(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t25 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t25
+ %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_863112869792180, ptr %t26
+ %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t27
+ %t28 = call ptr @sc_dc_9(ptr %t23, ptr %dcp)
+ call void @scr_dyn_release(ptr %t23)
+ %t29 = getelementptr inbounds %sc_rs_r2, ptr %r0, i64 0, i32 1 ; .close
+ store ptr %t28, ptr %t29
+ %t30.cell = load ptr, ptr @scr_exc_active
+ %t30.kind = load i32, ptr %t30.cell
+ %t30 = icmp ne i32 %t30.kind, 0
+ br i1 %t30, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r2(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t31 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3739322700708094, i64 7)
+ %t32.cell = load ptr, ptr @scr_exc_active
+ %t32.kind = load i32, ptr %t32.cell
+ %t32 = icmp ne i32 %t32.kind, 0
+ br i1 %t32, label %dcr.read.u16, label %dcr.read.k17
+dcr.read.u16:
+ call void @scr_dyn_release(ptr %t31)
+ call void @sc_rrelease_r2(ptr %r0)
+ ret ptr null
+dcr.read.k17:
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t33
+ %t34 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_3739322700708094, ptr %t34
+ %t35 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t35
+ %t36 = call ptr @sc_dc_10(ptr %t31, ptr %dcp)
+ call void @scr_dyn_release(ptr %t31)
+ %t37 = getelementptr inbounds %sc_rs_r2, ptr %r0, i64 0, i32 2 ; .enqueue
+ store ptr %t36, ptr %t37
+ %t38.cell = load ptr, ptr @scr_exc_active
+ %t38.kind = load i32, ptr %t38.cell
+ %t38 = icmp ne i32 %t38.kind, 0
+ br i1 %t38, label %dcr.u18, label %dcr.k19
+dcr.u18:
+ call void @sc_rrelease_r2(ptr %r0)
+ ret ptr null
+dcr.k19:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_1, ptr @sc_rnames_1_lens, i64 2)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_7(ptr %d, ptr %path) #0 { ; check union:u5
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3823276195442570, i64 8)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ ret ptr null
+dcu.n3:
+ %t3 = call zeroext i1 @sc_dm_3(ptr %d)
+ br i1 %t3, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t4 = call ptr @sc_dc_8(ptr %d, ptr %path)
+ ret ptr %t4
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_7(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1247828793356534, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_11(ptr %d, ptr %path) #0 { ; check httpRes
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1975741313327935, i64 7)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1975741313327935, i64 7)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_11(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1975741313327935, i64 7, ptr %t8, ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, i1 false)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call ptr @scr_dyn_handle_unbox(ptr %d, i32 1, ptr %path, ptr @sc_cs_4248929987867812)
+ ret ptr %t10
+}
+
+define internal ptr @sc_td_2(double %v) #0 { ; to-dyn f64
+entry:
+ %t0 = call ptr @scr_dyn_new_num(double %v)
+ ret ptr %t0
+}
+
+define internal zeroext i1 @sc_dm_6(ptr %d) #0 { ; matches string
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1252517681993947, i64 6)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_6(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 3
+ ret i1 %t8
+}
+
+define internal ptr @sc_td_3(i1 %v) #0 { ; to-dyn bool
+entry:
+ %t0 = call ptr @scr_dyn_new_bool(i1 %v)
+ ret ptr %t0
+}
+
+define internal ptr @sc_td_4(ptr %v) #0 { ; to-dyn dyn
+entry:
+ %t0 = call ptr @scr_dyn_retain_v(ptr %v)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dc_12(ptr %d, ptr %path) #0 { ; check bytes
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_890094799952442, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_890094799952442, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_12(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_890094799952442, i64 9, ptr %t8, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, i1 false)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_bytes_is(ptr %d, i32 0)
+ br i1 %t10, label %dc.bytes8, label %dc.bytes.fail9
+dc.bytes.fail9:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1987398004402823, ptr %d)
+ ret ptr null
+dc.bytes8:
+ %t11 = call ptr @scr_dyn_bytes_unbox(ptr %d)
+ ret ptr %t11
+}
+
+define internal ptr @sc_dfk_0(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(bytes)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_12(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ call void %t13(ptr %c, ptr %t10)
+ %t14.cell = load ptr, ptr @scr_exc_active
+ %t14.kind = load i32, ptr %t14.cell
+ %t14 = icmp ne i32 %t14.kind, 0
+ br i1 %t14, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t15 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t15)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_0(ptr %v, ptr %fname) #0 { ; box func(bytes)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_0, i32 1, ptr @sc_cs_2962741746049877, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_5(ptr %v) #0 { ; to-dyn func(bytes)=>void
+entry:
+ %t0 = call ptr @sc_dfb_0(ptr %v, ptr null)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dfk_1(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>void
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ call void %t1(ptr %c)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t3 = call ptr @scr_dyn_undefined()
+ %t4 = call ptr @scr_dyn_retain_v(ptr %t3)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_1(ptr %v, ptr %fname) #0 { ; box func()=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_1, i32 0, ptr @sc_cs_1577281003310918, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_6(ptr %v) #0 { ; to-dyn func()=>void
+entry:
+ %t0 = call ptr @sc_dfb_1(ptr %v, ptr null)
+ ret ptr %t0
+}
+
+define internal ptr @sc_td_7(ptr %v) #0 { ; to-dyn httpRes
+entry:
+ %t0 = call ptr @scr_dyn_new_handle(ptr %v, i32 1)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dc_13(ptr %d, ptr %path) #0 { ; check record:r0
+entry:
+ %dcp = alloca %ScrDynPath
+ %s26 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_77530061052946, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_77530061052946, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_13(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r0(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r0, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r0, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; [key: string] overflow
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ call void @sc_rrelease_r0(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_77530061052946, i64 9, ptr %t8, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ br i1 %t16, label %dcr.k10, label %dcr.f11
+dcr.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.k10:
+ %r0 = call ptr @sc_rnew_r0()
+ %t17 = getelementptr inbounds %sc_rs_r0, ptr %r0, i64 0, i32 1
+ %t18 = load ptr, ptr %t17 ; overflow map
+ %t19 = getelementptr inbounds i8, ptr %d, i64 13 ; ->null_proto
+ %t20 = load i8, ptr %t19
+ %t21 = getelementptr inbounds i8, ptr %t18, i64 11
+ store i8 %t20, ptr %t21
+ %t22 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t23 = load i64, ptr %t22
+ %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t25 = load ptr, ptr %t24
+ store i64 0, ptr %s26
+ br label %dcv.c12
+dcv.c12:
+ %t27 = load i64, ptr %s26
+ %t28 = icmp ult i64 %t27, %t23
+ br i1 %t28, label %dcv.b13, label %dcv.e15
+dcv.b13:
+ %t29 = mul i64 %t27, 48 ; sizeof(ScrDynEntry)
+ %t30 = getelementptr inbounds i8, ptr %t25, i64 %t29
+ %t31 = load ptr, ptr %t30
+ %t32 = getelementptr inbounds i8, ptr %t30, i64 8
+ %t33 = load i64, ptr %t32
+ %t34 = getelementptr inbounds i8, ptr %t30, i64 16
+ %t35 = load ptr, ptr %t34
+ %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t36
+ %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t38
+ %t39 = call ptr @sc_dc_0(ptr %t35, ptr %dcp)
+ %t40.cell = load ptr, ptr @scr_exc_active
+ %t40.kind = load i32, ptr %t40.cell
+ %t40 = icmp ne i32 %t40.kind, 0
+ br i1 %t40, label %dcv.u16, label %dcv.k17
+dcv.u16:
+ call void @sc_rrelease_r0(ptr %r0)
+ ret ptr null
+dcv.k17:
+ %t41 = call ptr @scr_str_new(ptr %t31, i64 %t33)
+ call void @scr_map_set_str_ref(ptr %t18, ptr %t41, ptr %t39) ; v moves in
+ call void @scr_str_release(ptr %t41)
+ br label %dcv.n14
+dcv.n14:
+ %t42 = add i64 %t27, 1
+ store i64 %t42, ptr %s26
+ br label %dcv.c12
+dcv.e15:
+ ret ptr %r0
+}
+
+define internal ptr @sc_td_8(ptr %v) #0 { ; to-dyn record:r0
+entry:
+ %s11 = alloca double
+ %t1 = getelementptr inbounds %sc_rs_r0, ptr %v, i64 0, i32 1
+ %t2 = load ptr, ptr %t1 ; overflow map
+ %t3 = getelementptr inbounds i8, ptr %t2, i64 11
+ %t4 = load i8, ptr %t3
+ %t5 = icmp ne i8 %t4, 0
+ %t6 = select i1 %t5, ptr @scr_dyn_new_obj_null_proto, ptr @scr_dyn_new_obj
+ %t0 = call ptr %t6()
+ %t7 = getelementptr inbounds %sc_rs_r0, ptr %v, i64 0, i32 1
+ %t8 = load ptr, ptr %t7 ; overflow map
+ %t9 = call ptr @scr_map_keys_js_order(ptr %t8)
+ %t10 = call double @scr_arr_len(ptr %t9)
+ store double 0x0000000000000000, ptr %s11
+ br label %count.c0
+count.c0:
+ %t12 = load double, ptr %s11
+ %t13 = fcmp olt double %t12, %t10
+ br i1 %t13, label %count.b1, label %count.e3
+count.b1:
+ %t14 = call ptr @scr_arr_get_ref(ptr %t9, double %t12) ; key (+1)
+ %t15 = getelementptr inbounds %ScrStr, ptr %t14, i64 0, i32 1
+ %t16 = load i64, ptr %t15
+ %t17 = getelementptr inbounds i8, ptr %t14, i64 24 ; ->data
+ %t18 = call ptr @scr_map_get_str_ref(ptr %t8, ptr %t14)
+ %t19 = call ptr @sc_td_0(ptr %t18)
+ call void @scr_dyn_obj_set(ptr %t0, ptr %t17, i64 %t16, ptr %t19)
+ call void @scr_str_release(ptr %t18)
+ call void @scr_str_release(ptr %t14)
+ br label %count.n2
+count.n2:
+ %t20 = fadd double %t12, 0x3FF0000000000000
+ store double %t20, ptr %s11
+ br label %count.c0
+count.e3:
+ call void @scr_arr_release(ptr %t9)
+ call ptr @scr_dyn_mark_snapshot(ptr %t0)
+ ret ptr %t0
+}
+
+define internal zeroext i1 @sc_dm_7(ptr %d) #0 { ; matches httpRes
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1975741313327935, i64 7)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_7(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 9
+ br i1 %t8, label %dm.handle4, label %dm.handle.no5
+dm.handle4:
+ %t9 = getelementptr inbounds i8, ptr %d, i64 24 ; ->v.handle.tag
+ %t10 = load i32, ptr %t9
+ %t11 = icmp eq i32 %t10, 1
+ ret i1 %t11
+dm.handle.no5:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_14(ptr %d, ptr %path) #0 { ; check union:u3
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_498395081877643, i64 8)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_7(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_11(ptr %d, ptr %path)
+ %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null)
+ ret ptr %t4
+dcu.n3:
+ %t5 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t5, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr @sc_unit_0
+dcu.n5:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_498395081877643, i64 8)
+ %t10 = icmp ne ptr %t9, null
+ %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t12 = call ptr @sc_dc_14(ptr %t11, ptr %path)
+ call void @scr_dyn_release_v(ptr %t11)
+ %t13 = icmp ne ptr %t12, null
+ br i1 %t13, label %dcu.ok8, label %dcu.bad9
+dcu.bad9:
+ br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11
+dcu.bad.drop10:
+ call void @scr_union_release(ptr %t9)
+ br label %dcu.bad.ret11
+dcu.bad.ret11:
+ ret ptr null
+dcu.ok8:
+ br i1 %t10, label %dcu.refresh12, label %dcu.put13
+dcu.refresh12:
+ %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1
+ %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1
+ %t16 = load i32, ptr %t14 ; tag
+ %t17 = load i32, ptr %t15
+ store i32 %t17, ptr %t14
+ store i32 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2
+ %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2
+ %t20 = load ptr, ptr %t18 ; retain
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3
+ %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3
+ %t24 = load ptr, ptr %t22 ; release
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4
+ %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4
+ %t28 = load ptr, ptr %t26 ; trace
+ %t29 = load ptr, ptr %t27
+ store ptr %t29, ptr %t26
+ store ptr %t28, ptr %t27
+ %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5
+ %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5
+ %t32 = load i64, ptr %t30 ; slot
+ %t33 = load i64, ptr %t31
+ store i64 %t33, ptr %t30
+ store i64 %t32, ptr %t31
+ call void @scr_union_release(ptr %t12)
+ ret ptr %t9
+dcu.put13:
+ store i8 1, ptr @sc_retype_guard_0
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_498395081877643, i64 8, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false)
+ ret ptr %t12
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2940485024011043, ptr %d)
+ ret ptr null
+}
+
+define internal zeroext i1 @sc_dm_8(ptr %d) #0 { ; matches httpReq
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_599526513062751, i64 7)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_8(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 9
+ br i1 %t8, label %dm.handle4, label %dm.handle.no5
+dm.handle4:
+ %t9 = getelementptr inbounds i8, ptr %d, i64 24 ; ->v.handle.tag
+ %t10 = load i32, ptr %t9
+ %t11 = icmp eq i32 %t10, 0
+ ret i1 %t11
+dm.handle.no5:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_16(ptr %d, ptr %path) #0 { ; check httpReq
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_599526513062751, i64 7)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_599526513062751, i64 7)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_16(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_599526513062751, i64 7, ptr %t8, ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, i1 false)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call ptr @scr_dyn_handle_unbox(ptr %d, i32 0, ptr %path, ptr @sc_cs_3187356258740123)
+ ret ptr %t10
+}
+
+define internal ptr @sc_dc_15(ptr %d, ptr %path) #0 { ; check union:u8
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_432476671481835, i64 8)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_8(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_16(ptr %d, ptr %path)
+ %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null)
+ ret ptr %t4
+dcu.n3:
+ %t5 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t5, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr @sc_unit_1
+dcu.n5:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_432476671481835, i64 8)
+ %t10 = icmp ne ptr %t9, null
+ %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t12 = call ptr @sc_dc_15(ptr %t11, ptr %path)
+ call void @scr_dyn_release_v(ptr %t11)
+ %t13 = icmp ne ptr %t12, null
+ br i1 %t13, label %dcu.ok8, label %dcu.bad9
+dcu.bad9:
+ br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11
+dcu.bad.drop10:
+ call void @scr_union_release(ptr %t9)
+ br label %dcu.bad.ret11
+dcu.bad.ret11:
+ ret ptr null
+dcu.ok8:
+ br i1 %t10, label %dcu.refresh12, label %dcu.put13
+dcu.refresh12:
+ %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1
+ %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1
+ %t16 = load i32, ptr %t14 ; tag
+ %t17 = load i32, ptr %t15
+ store i32 %t17, ptr %t14
+ store i32 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2
+ %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2
+ %t20 = load ptr, ptr %t18 ; retain
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3
+ %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3
+ %t24 = load ptr, ptr %t22 ; release
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4
+ %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4
+ %t28 = load ptr, ptr %t26 ; trace
+ %t29 = load ptr, ptr %t27
+ store ptr %t29, ptr %t26
+ store ptr %t28, ptr %t27
+ %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5
+ %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5
+ %t32 = load i64, ptr %t30 ; slot
+ %t33 = load i64, ptr %t31
+ store i64 %t33, ptr %t30
+ store i64 %t32, ptr %t31
+ call void @scr_union_release(ptr %t12)
+ ret ptr %t9
+dcu.put13:
+ store i8 1, ptr @sc_retype_guard_1
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_432476671481835, i64 8, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false)
+ ret ptr %t12
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1163958522919087, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_17(ptr %d, ptr %path) #0 { ; check record:r3
+entry:
+ %dcp = alloca %ScrDynPath
+ %s26 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4113144339560478, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4113144339560478, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_17(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r3(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r3, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r3, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; [key: string] overflow
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ call void @sc_rrelease_r3(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4113144339560478, i64 9, ptr %t8, ptr @sc_rretain_r3, ptr @sc_rrelease_r3, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ br i1 %t16, label %dcr.k10, label %dcr.f11
+dcr.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.k10:
+ %r0 = call ptr @sc_rnew_r3()
+ %t17 = getelementptr inbounds %sc_rs_r3, ptr %r0, i64 0, i32 1
+ %t18 = load ptr, ptr %t17 ; overflow map
+ %t19 = getelementptr inbounds i8, ptr %d, i64 13 ; ->null_proto
+ %t20 = load i8, ptr %t19
+ %t21 = getelementptr inbounds i8, ptr %t18, i64 11
+ store i8 %t20, ptr %t21
+ %t22 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t23 = load i64, ptr %t22
+ %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t25 = load ptr, ptr %t24
+ store i64 0, ptr %s26
+ br label %dcv.c12
+dcv.c12:
+ %t27 = load i64, ptr %s26
+ %t28 = icmp ult i64 %t27, %t23
+ br i1 %t28, label %dcv.b13, label %dcv.e15
+dcv.b13:
+ %t29 = mul i64 %t27, 48 ; sizeof(ScrDynEntry)
+ %t30 = getelementptr inbounds i8, ptr %t25, i64 %t29
+ %t31 = load ptr, ptr %t30
+ %t32 = getelementptr inbounds i8, ptr %t30, i64 8
+ %t33 = load i64, ptr %t32
+ %t34 = getelementptr inbounds i8, ptr %t30, i64 16
+ %t35 = load ptr, ptr %t34
+ %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t36
+ %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t38
+ %t39 = call ptr @sc_dc_1(ptr %t35, ptr %dcp)
+ %t40.cell = load ptr, ptr @scr_exc_active
+ %t40.kind = load i32, ptr %t40.cell
+ %t40 = icmp ne i32 %t40.kind, 0
+ br i1 %t40, label %dcv.u16, label %dcv.k17
+dcv.u16:
+ call void @sc_rrelease_r3(ptr %r0)
+ ret ptr null
+dcv.k17:
+ %t41 = call ptr @scr_str_new(ptr %t31, i64 %t33)
+ call void @scr_map_set_str_ref(ptr %t18, ptr %t41, ptr %t39) ; v moves in
+ call void @scr_str_release(ptr %t41)
+ br label %dcv.n14
+dcv.n14:
+ %t42 = add i64 %t27, 1
+ store i64 %t42, ptr %s26
+ br label %dcv.c12
+dcv.e15:
+ ret ptr %r0
+}
+
+define internal zeroext i1 @sc_dm_9(ptr %d) #0 { ; matches array
+entry:
+ %s13 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_391578306055374, i64 13)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_9(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 4
+ br i1 %t8, label %dm.a5, label %dm.f4
+dm.a5:
+ %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t10 = load i64, ptr %t9
+ %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t12 = load ptr, ptr %t11
+ store i64 0, ptr %s13
+ br label %dm.el.c6
+dm.el.c6:
+ %t14 = load i64, ptr %s13
+ %t15 = icmp ult i64 %t14, %t10
+ br i1 %t15, label %dm.el.b7, label %dm.el.e9
+dm.el.b7:
+ %t16 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t14)
+ br i1 %t16, label %dm.present10, label %dm.hole11
+dm.hole11:
+ br label %dm.el.n8
+dm.present10:
+ %t17 = getelementptr inbounds ptr, ptr %t12, i64 %t14
+ %t18 = load ptr, ptr %t17
+ %t19 = call zeroext i1 @sc_dm_6(ptr %t18)
+ br i1 %t19, label %dm.eo12, label %dm.f4
+dm.eo12:
+ br label %dm.el.n8
+dm.el.n8:
+ %t20 = add i64 %t14, 1
+ store i64 %t20, ptr %s13
+ br label %dm.el.c6
+dm.el.e9:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_18(ptr %d, ptr %path) #0 { ; check union:u9
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3630455646248203, i64 8)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_9(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_1(ptr %d, ptr %path)
+ ret ptr %t3
+dcu.n3:
+ %t4 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t4, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr null
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_18(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_604520491832555, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_19(ptr %d, ptr %path) #0 { ; check array
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1394349160211144, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1394349160211144, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_19(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1394349160211144, i64 10, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new(i32 0, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call double @sc_dc_2(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_f64(ptr %t35, double %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal ptr @sc_dc_21(ptr %d, ptr %path) #0 { ; check object:%m4.UploadedFile
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_4408523527888294
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4408523527888294, i64 23)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4408523527888294, i64 23)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_21(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4408523527888294, i64 23, ptr %t18, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1506316332237548, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_20(ptr %d, ptr %path) #0 { ; check array
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_359158576128586, i64 30)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_359158576128586, i64 30)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_20(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_359158576128586, i64 30, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_retain__x25_m4_UploadedFile.sc_release__x25_m4_UploadedFile.sc_trace__x25_m4_UploadedFile, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_21(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal ptr @sc_td_10(ptr %v) #0 { ; to-dyn httpReq
+entry:
+ %t0 = call ptr @scr_dyn_new_handle(ptr %v, i32 0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_td_9(ptr %v) #0 { ; to-dyn union:u8
+entry:
+ %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1
+ %t0 = load i32, ptr %t1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5
+ %t3 = load ptr, ptr %t2
+ %t4 = call ptr @sc_td_10(ptr %t3) ; httpReq
+ ret ptr %t4
+tdu.a2:
+ %t5 = call ptr @scr_dyn_new_null()
+ ret ptr %t5
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_td_12(ptr %v) #0 { ; to-dyn array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %v)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %v, double %t3)
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %tda.hole5, label %tda.present6
+tda.hole5:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %tda.done8
+tda.present6:
+ %t6 = fcmp oeq double %t5, 2.0
+ br i1 %t6, label %tda.undefined4, label %tda.value7
+tda.undefined4:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %tda.done8
+tda.value7:
+ %t10 = call ptr @scr_arr_get_ref(ptr %v, double %t3) ; +1
+ %t11 = call ptr @sc_td_0(ptr %t10)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @scr_str_release(ptr %t10)
+ br label %tda.done8
+tda.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %v, ptr %t0)
+ call ptr @scr_dyn_mark_snapshot(ptr %t0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_td_11(ptr %v) #0 { ; to-dyn record:r3
+entry:
+ %s11 = alloca double
+ %t1 = getelementptr inbounds %sc_rs_r3, ptr %v, i64 0, i32 1
+ %t2 = load ptr, ptr %t1 ; overflow map
+ %t3 = getelementptr inbounds i8, ptr %t2, i64 11
+ %t4 = load i8, ptr %t3
+ %t5 = icmp ne i8 %t4, 0
+ %t6 = select i1 %t5, ptr @scr_dyn_new_obj_null_proto, ptr @scr_dyn_new_obj
+ %t0 = call ptr %t6()
+ %t7 = getelementptr inbounds %sc_rs_r3, ptr %v, i64 0, i32 1
+ %t8 = load ptr, ptr %t7 ; overflow map
+ %t9 = call ptr @scr_map_keys_js_order(ptr %t8)
+ %t10 = call double @scr_arr_len(ptr %t9)
+ store double 0x0000000000000000, ptr %s11
+ br label %count.c0
+count.c0:
+ %t12 = load double, ptr %s11
+ %t13 = fcmp olt double %t12, %t10
+ br i1 %t13, label %count.b1, label %count.e3
+count.b1:
+ %t14 = call ptr @scr_arr_get_ref(ptr %t9, double %t12) ; key (+1)
+ %t15 = getelementptr inbounds %ScrStr, ptr %t14, i64 0, i32 1
+ %t16 = load i64, ptr %t15
+ %t17 = getelementptr inbounds i8, ptr %t14, i64 24 ; ->data
+ %t18 = call ptr @scr_map_get_str_ref(ptr %t8, ptr %t14)
+ %t19 = call ptr @sc_td_12(ptr %t18)
+ call void @scr_dyn_obj_set(ptr %t0, ptr %t17, i64 %t16, ptr %t19)
+ call void @scr_arr_release(ptr %t18)
+ call void @scr_str_release(ptr %t14)
+ br label %count.n2
+count.n2:
+ %t20 = fadd double %t12, 0x3FF0000000000000
+ store double %t20, ptr %s11
+ br label %count.c0
+count.e3:
+ call void @scr_arr_release(ptr %t9)
+ call ptr @scr_dyn_mark_snapshot(ptr %t0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dc_22(ptr %d, ptr %path) #0 { ; check union:u2
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3779007912036835, i64 8)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ ret ptr null
+dcu.n3:
+ %t3 = call zeroext i1 @sc_dm_6(ptr %d)
+ br i1 %t3, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t4 = call ptr @sc_dc_0(ptr %d, ptr %path)
+ ret ptr %t4
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_22(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2963203079617577, ptr %d)
+ ret ptr null
+}
+
+define internal zeroext i1 @sc_dm_10(ptr %d) #0 { ; matches bytes
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_890094799952442, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_10(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = call zeroext i1 @scr_dyn_bytes_is(ptr %d, i32 0)
+ ret i1 %t6
+}
+
+define internal ptr @sc_dc_23(ptr %d, ptr %path) #0 { ; check union:u1
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3177974258746099, i64 8)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_10(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_12(ptr %d, ptr %path)
+ %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null)
+ ret ptr %t4
+dcu.n3:
+ %t5 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t5, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr @sc_unit_2
+dcu.n5:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3177974258746099, i64 8)
+ %t10 = icmp ne ptr %t9, null
+ %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t12 = call ptr @sc_dc_23(ptr %t11, ptr %path)
+ call void @scr_dyn_release_v(ptr %t11)
+ %t13 = icmp ne ptr %t12, null
+ br i1 %t13, label %dcu.ok8, label %dcu.bad9
+dcu.bad9:
+ br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11
+dcu.bad.drop10:
+ call void @scr_union_release(ptr %t9)
+ br label %dcu.bad.ret11
+dcu.bad.ret11:
+ ret ptr null
+dcu.ok8:
+ br i1 %t10, label %dcu.refresh12, label %dcu.put13
+dcu.refresh12:
+ %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1
+ %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1
+ %t16 = load i32, ptr %t14 ; tag
+ %t17 = load i32, ptr %t15
+ store i32 %t17, ptr %t14
+ store i32 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2
+ %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2
+ %t20 = load ptr, ptr %t18 ; retain
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3
+ %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3
+ %t24 = load ptr, ptr %t22 ; release
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4
+ %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4
+ %t28 = load ptr, ptr %t26 ; trace
+ %t29 = load ptr, ptr %t27
+ store ptr %t29, ptr %t26
+ store ptr %t28, ptr %t27
+ %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5
+ %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5
+ %t32 = load i64, ptr %t30 ; slot
+ %t33 = load i64, ptr %t31
+ store i64 %t33, ptr %t30
+ store i64 %t32, ptr %t31
+ call void @scr_union_release(ptr %t12)
+ ret ptr %t9
+dcu.put13:
+ store i8 1, ptr @sc_retype_guard_2
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3177974258746099, i64 8, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false)
+ ret ptr %t12
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_123840256131120, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_td_13(ptr %v) #0 { ; to-dyn union:u2
+entry:
+ %t1 = icmp eq ptr %v, null
+ %t0 = select i1 %t1, i32 0, i32 1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = call ptr @scr_dyn_new_null()
+ ret ptr %t2
+tdu.a2:
+ %t3 = call ptr @sc_td_0(ptr %v) ; string
+ ret ptr %t3
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal zeroext i1 @sc_dm_11(ptr %d) #0 { ; matches object:%m4.UploadedFile
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4408523527888294, i64 23)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_11(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_24(ptr %d, ptr %path) #0 { ; check object:%m4.MultipartStorage
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3635319175845957
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3635319175845957, i64 27)
+ %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3456310594719780, i64 24)
+ %t12 = or i1 %t10, %t11
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2020403498516894, i64 22)
+ %t14 = or i1 %t12, %t13
+ br i1 %t14, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t15 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t15
+dc.nt5:
+ %t16 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t17 = load i32, ptr %t16
+ %t18 = icmp eq i32 %t17, 12
+ br i1 %t18, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t19 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3635319175845957, i64 27)
+ %t20 = icmp ne ptr %t19, null
+ br i1 %t20, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t19
+dc.tr.mat9:
+ %t21 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t22 = call ptr @sc_dc_24(ptr %t21, ptr %path)
+ call void @scr_dyn_release_v(ptr %t21)
+ %t23 = icmp ne ptr %t22, null
+ br i1 %t23, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3635319175845957, i64 27, ptr %t22, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t22
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_732719066880106, ptr %d)
+ ret ptr null
+}
+
+define internal zeroext i1 @sc_dm_12(ptr %d) #0 { ; matches object:%m4.MultipartFileSink
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2072202777142634, i64 28)
+ %t1 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3728566007289652, i64 25)
+ %t2 = or i1 %t0, %t1
+ %t3 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3573893819363590, i64 23)
+ %t4 = or i1 %t2, %t3
+ br i1 %t4, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call zeroext i1 @sc_dm_12(ptr %t8)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret i1 %t9
+dm.tr.plain3:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_26(ptr %d, ptr %path) #0 { ; check object:%m4.MultipartFileSink
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_2072202777142634
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2072202777142634, i64 28)
+ %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3728566007289652, i64 25)
+ %t12 = or i1 %t10, %t11
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3573893819363590, i64 23)
+ %t14 = or i1 %t12, %t13
+ br i1 %t14, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t15 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t15
+dc.nt5:
+ %t16 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t17 = load i32, ptr %t16
+ %t18 = icmp eq i32 %t17, 12
+ br i1 %t18, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t19 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2072202777142634, i64 28)
+ %t20 = icmp ne ptr %t19, null
+ br i1 %t20, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t19
+dc.tr.mat9:
+ %t21 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t22 = call ptr @sc_dc_26(ptr %t21, ptr %path)
+ call void @scr_dyn_release_v(ptr %t21)
+ %t23 = icmp ne ptr %t22, null
+ br i1 %t23, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2072202777142634, i64 28, ptr %t22, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t22
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_66701276742327, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_25(ptr %d, ptr %path) #0 { ; check union:u7
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1025932502227499, i64 8)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ ret ptr null
+dcu.n3:
+ %t3 = call zeroext i1 @sc_dm_12(ptr %d)
+ br i1 %t3, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t4 = call ptr @sc_dc_26(ptr %d, ptr %path)
+ ret ptr %t4
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_25(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2768938828382994, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_27(ptr %d, ptr %path) #0 { ; check array>
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_944430815723409, i64 16)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_944430815723409, i64 16)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_27(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_944430815723409, i64 16, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new(i32 4, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_12(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal ptr @sc_dc_28(ptr %d, ptr %path) #0 { ; check object:%m5.ReqViewCore
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_660811353369478
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_660811353369478, i64 22)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_660811353369478, i64 22)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_28(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_660811353369478, i64 22, ptr %t18, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3755338419287822, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_29(ptr %d, ptr %path) #0 { ; check object:%m2.ResponseSink
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_629517122853751
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_629517122853751, i64 23)
+ %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3326437563644705, i64 27)
+ %t12 = or i1 %t10, %t11
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2434838942941195, i64 28)
+ %t14 = or i1 %t12, %t13
+ %t15 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4074974279575818, i64 23)
+ %t16 = or i1 %t14, %t15
+ br i1 %t16, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t17 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t17
+dc.nt5:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t20 = icmp eq i32 %t19, 12
+ br i1 %t20, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t21 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_629517122853751, i64 23)
+ %t22 = icmp ne ptr %t21, null
+ br i1 %t22, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t21
+dc.tr.mat9:
+ %t23 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t24 = call ptr @sc_dc_29(ptr %t23, ptr %path)
+ call void @scr_dyn_release_v(ptr %t23)
+ %t25 = icmp ne ptr %t24, null
+ br i1 %t25, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_629517122853751, i64 23, ptr %t24, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t24
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2615525442307220, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_30(ptr %d, ptr %path) #0 { ; check object:%m5.CtxResCore
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_1746033898805369
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1746033898805369, i64 21)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1746033898805369, i64 21)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_30(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1746033898805369, i64 21, ptr %t18, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3109582547850563, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_td_14(ptr %v) #0 { ; to-dyn union:u3
+entry:
+ %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1
+ %t0 = load i32, ptr %t1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5
+ %t3 = load ptr, ptr %t2
+ %t4 = call ptr @sc_td_7(ptr %t3) ; httpRes
+ ret ptr %t4
+tdu.a2:
+ %t5 = call ptr @scr_dyn_new_null()
+ ret ptr %t5
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_td_15(ptr %v) #0 { ; to-dyn object:%m5.MethodNotAllowedError
+entry:
+ %t0 = call ptr @scr_dyn_from_error(ptr %v)
+ ret ptr %t0
+}
+
+@sc_rnames_2 = internal constant [5 x ptr] [ptr @sc_cs_4121162754829271, ptr @sc_cs_196246007442230, ptr @sc_cs_291439443305035, ptr @sc_cs_3240132313272141, ptr @sc_cs_1774234212108265]
+@sc_rnames_2_lens = internal constant [5 x i64] [i64 3, i64 4, i64 8, i64 2, i64 2]
+
+define internal ptr @sc_dc_32(ptr %d, ptr %path) #0 { ; check record:r5
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1186397750780220, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1186397750780220, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_32(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r5(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r5, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r5, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; children
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r5, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r5, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; hf
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ %t18 = getelementptr inbounds %sc_rs_r5, ptr %t5, i64 0, i32 3
+ %t19 = getelementptr inbounds %sc_rs_r5, ptr %t8, i64 0, i32 3
+ %t20 = load ptr, ptr %t18 ; hm
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %sc_rs_r5, ptr %t5, i64 0, i32 4
+ %t23 = getelementptr inbounds %sc_rs_r5, ptr %t8, i64 0, i32 4
+ %t24 = load double, ptr %t22 ; kind
+ %t25 = load double, ptr %t23
+ store double %t25, ptr %t22
+ store double %t24, ptr %t23
+ %t26 = getelementptr inbounds %sc_rs_r5, ptr %t5, i64 0, i32 5
+ %t27 = getelementptr inbounds %sc_rs_r5, ptr %t8, i64 0, i32 5
+ %t28 = load ptr, ptr %t26 ; seg
+ %t29 = load ptr, ptr %t27
+ store ptr %t29, ptr %t26
+ store ptr %t28, ptr %t27
+ call void @sc_rrelease_r5(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1186397750780220, i64 9, ptr %t8, ptr @sc_rretain_r5, ptr @sc_rrelease_r5, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 5
+ %t33 = icmp eq i32 %t31, 13
+ %t34 = or i1 %t32, %t33
+ br i1 %t34, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r5()
+ %t35 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_291439443305035, i64 8)
+ %t36.cell = load ptr, ptr @scr_exc_active
+ %t36.kind = load i32, ptr %t36.cell
+ %t36 = icmp ne i32 %t36.kind, 0
+ br i1 %t36, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t35)
+ call void @sc_rrelease_r5(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t37
+ %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_291439443305035, ptr %t38
+ %t39 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t39
+ %t40 = call ptr @sc_dc_19(ptr %t35, ptr %dcp)
+ call void @scr_dyn_release(ptr %t35)
+ %t41 = getelementptr inbounds %sc_rs_r5, ptr %r0, i64 0, i32 1 ; .children
+ store ptr %t40, ptr %t41
+ %t42.cell = load ptr, ptr @scr_exc_active
+ %t42.kind = load i32, ptr %t42.cell
+ %t42 = icmp ne i32 %t42.kind, 0
+ br i1 %t42, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r5(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1774234212108265, i64 2)
+ %t44.cell = load ptr, ptr @scr_exc_active
+ %t44.kind = load i32, ptr %t44.cell
+ %t44 = icmp ne i32 %t44.kind, 0
+ br i1 %t44, label %dcr.read.u16, label %dcr.read.k17
+dcr.read.u16:
+ call void @scr_dyn_release(ptr %t43)
+ call void @sc_rrelease_r5(ptr %r0)
+ ret ptr null
+dcr.read.k17:
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_1774234212108265, ptr %t46
+ %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t47
+ %t48 = call ptr @sc_dc_19(ptr %t43, ptr %dcp)
+ call void @scr_dyn_release(ptr %t43)
+ %t49 = getelementptr inbounds %sc_rs_r5, ptr %r0, i64 0, i32 2 ; .hf
+ store ptr %t48, ptr %t49
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dcr.u18, label %dcr.k19
+dcr.u18:
+ call void @sc_rrelease_r5(ptr %r0)
+ ret ptr null
+dcr.k19:
+ %t51 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3240132313272141, i64 2)
+ %t52.cell = load ptr, ptr @scr_exc_active
+ %t52.kind = load i32, ptr %t52.cell
+ %t52 = icmp ne i32 %t52.kind, 0
+ br i1 %t52, label %dcr.read.u20, label %dcr.read.k21
+dcr.read.u20:
+ call void @scr_dyn_release(ptr %t51)
+ call void @sc_rrelease_r5(ptr %r0)
+ ret ptr null
+dcr.read.k21:
+ %t53 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t53
+ %t54 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_3240132313272141, ptr %t54
+ %t55 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t55
+ %t56 = call ptr @sc_dc_1(ptr %t51, ptr %dcp)
+ call void @scr_dyn_release(ptr %t51)
+ %t57 = getelementptr inbounds %sc_rs_r5, ptr %r0, i64 0, i32 3 ; .hm
+ store ptr %t56, ptr %t57
+ %t58.cell = load ptr, ptr @scr_exc_active
+ %t58.kind = load i32, ptr %t58.cell
+ %t58 = icmp ne i32 %t58.kind, 0
+ br i1 %t58, label %dcr.u22, label %dcr.k23
+dcr.u22:
+ call void @sc_rrelease_r5(ptr %r0)
+ ret ptr null
+dcr.k23:
+ %t59 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_196246007442230, i64 4)
+ %t60.cell = load ptr, ptr @scr_exc_active
+ %t60.kind = load i32, ptr %t60.cell
+ %t60 = icmp ne i32 %t60.kind, 0
+ br i1 %t60, label %dcr.read.u24, label %dcr.read.k25
+dcr.read.u24:
+ call void @scr_dyn_release(ptr %t59)
+ call void @sc_rrelease_r5(ptr %r0)
+ ret ptr null
+dcr.read.k25:
+ %t61 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t61
+ %t62 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_196246007442230, ptr %t62
+ %t63 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t63
+ %t64 = call double @sc_dc_2(ptr %t59, ptr %dcp)
+ call void @scr_dyn_release(ptr %t59)
+ %t65 = getelementptr inbounds %sc_rs_r5, ptr %r0, i64 0, i32 4 ; .kind
+ store double %t64, ptr %t65
+ %t66.cell = load ptr, ptr @scr_exc_active
+ %t66.kind = load i32, ptr %t66.cell
+ %t66 = icmp ne i32 %t66.kind, 0
+ br i1 %t66, label %dcr.u26, label %dcr.k27
+dcr.u26:
+ call void @sc_rrelease_r5(ptr %r0)
+ ret ptr null
+dcr.k27:
+ %t67 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4121162754829271, i64 3)
+ %t68.cell = load ptr, ptr @scr_exc_active
+ %t68.kind = load i32, ptr %t68.cell
+ %t68 = icmp ne i32 %t68.kind, 0
+ br i1 %t68, label %dcr.read.u28, label %dcr.read.k29
+dcr.read.u28:
+ call void @scr_dyn_release(ptr %t67)
+ call void @sc_rrelease_r5(ptr %r0)
+ ret ptr null
+dcr.read.k29:
+ %t69 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t69
+ %t70 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_4121162754829271, ptr %t70
+ %t71 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t71
+ %t72 = call ptr @sc_dc_0(ptr %t67, ptr %dcp)
+ call void @scr_dyn_release(ptr %t67)
+ %t73 = getelementptr inbounds %sc_rs_r5, ptr %r0, i64 0, i32 5 ; .seg
+ store ptr %t72, ptr %t73
+ %t74.cell = load ptr, ptr @scr_exc_active
+ %t74.kind = load i32, ptr %t74.cell
+ %t74 = icmp ne i32 %t74.kind, 0
+ br i1 %t74, label %dcr.u30, label %dcr.k31
+dcr.u30:
+ call void @sc_rrelease_r5(ptr %r0)
+ ret ptr null
+dcr.k31:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_2, ptr @sc_rnames_2_lens, i64 5)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_31(ptr %d, ptr %path) #0 { ; check array
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4447116402536209, i64 16)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4447116402536209, i64 16)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_31(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4447116402536209, i64 16, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r5.sc_rrelease_r5.null, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_32(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal ptr @sc_td_16(ptr %v) #0 { ; to-dyn object:%m5.CtxCore
+entry:
+ %t0 = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dfk_2(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>dyn
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ ret ptr %t2
+}
+
+define internal ptr @sc_dfb_2(ptr %v, ptr %fname) #0 { ; box func()=>dyn into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_2, i32 0, ptr @sc_cs_1333419199285231, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfa_2(ptr %sc_env, ptr %a0, ptr %a1) #0 { ; dyn fn adapter to func(object:%m5.CtxCore,func()=>dyn)=>dyn
+entry:
+ %s3 = alloca [2 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @sc_td_16(ptr %a0)
+ %t5 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ call void @sc_release__x25_m5_CtxCore(ptr %a0)
+ %t6 = call ptr @sc_dfb_2(ptr %a1, ptr null)
+ %t7 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 1
+ store ptr %t6, ptr %t7
+ call void @scr_closure_release(ptr %a1)
+ %t8 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 2, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ call void @scr_dyn_release(ptr %t6)
+ %t9.cell = load ptr, ptr @scr_exc_active
+ %t9.kind = load i32, ptr %t9.cell
+ %t9 = icmp ne i32 %t9.kind, 0
+ br i1 %t9, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret ptr null
+dfa.k1:
+ ret ptr %t8
+}
+
+define internal ptr @sc_dc_34(ptr %d, ptr %path) #0 { ; check func(object:%m5.CtxCore,func()=>dyn)=>dyn
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2955110042506774, i64 41)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2955110042506774, i64 41)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_34(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2955110042506774, i64 41, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_2955110042506774)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_2, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal ptr @sc_dc_33(ptr %d, ptr %path) #0 { ; check arraydyn)=>dyn>
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_623184722659282, i64 48)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_623184722659282, i64 48)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_33(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_623184722659282, i64 48, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_34(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal ptr @sc_dfa_3(ptr %sc_env, ptr %a0) #0 { ; dyn fn adapter to func(object:%m5.CtxCore)=>dyn
+entry:
+ %s3 = alloca [1 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @sc_td_16(ptr %a0)
+ %t5 = getelementptr inbounds [1 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ call void @sc_release__x25_m5_CtxCore(ptr %a0)
+ %t6 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 1, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ %t7.cell = load ptr, ptr @scr_exc_active
+ %t7.kind = load i32, ptr %t7.cell
+ %t7 = icmp ne i32 %t7.kind, 0
+ br i1 %t7, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret ptr null
+dfa.k1:
+ ret ptr %t6
+}
+
+define internal ptr @sc_dc_36(ptr %d, ptr %path) #0 { ; check func(object:%m5.CtxCore)=>dyn
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_808362516667040, i64 29)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_808362516667040, i64 29)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_36(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_808362516667040, i64 29, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_808362516667040)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_3, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal ptr @sc_dc_35(ptr %d, ptr %path) #0 { ; check arraydyn>
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1913588278853018, i64 36)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1913588278853018, i64 36)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_35(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1913588278853018, i64 36, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_36(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal ptr @sc_dc_37(ptr %d, ptr %path) #0 { ; check arraydyn)=>dyn>>
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3192918191117730, i64 55)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3192918191117730, i64 55)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_37(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3192918191117730, i64 55, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_arr_retain_v.scr_arr_release_v.scr_arr_trace_v, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_33(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal zeroext i1 @sc_dm_13(ptr %d) #0 { ; matches func(dyn,object:%m5.CtxCore)=>void
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_727563387933933, i64 34)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_13(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ ret i1 %t6
+}
+
+define internal void @sc_dfa_4(ptr %sc_env, ptr %a0, ptr %a1) #0 { ; dyn fn adapter to func(dyn,object:%m5.CtxCore)=>void
+entry:
+ %s3 = alloca [2 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @scr_dyn_retain_v(ptr %a0)
+ %t5 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ call void @sc_rc_release_dyn(ptr %a0)
+ %t6 = call ptr @sc_td_16(ptr %a1)
+ %t7 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 1
+ store ptr %t6, ptr %t7
+ call void @sc_release__x25_m5_CtxCore(ptr %a1)
+ %t8 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 2, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ call void @scr_dyn_release(ptr %t6)
+ %t9.cell = load ptr, ptr @scr_exc_active
+ %t9.kind = load i32, ptr %t9.cell
+ %t9 = icmp ne i32 %t9.kind, 0
+ br i1 %t9, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret void
+dfa.k1:
+ call void @scr_dyn_release(ptr %t8)
+ ret void
+}
+
+define internal ptr @sc_dc_39(ptr %d, ptr %path) #0 { ; check func(dyn,object:%m5.CtxCore)=>void
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_727563387933933, i64 34)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_727563387933933, i64 34)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_39(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_727563387933933, i64 34, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_727563387933933)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_4, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal ptr @sc_dc_38(ptr %d, ptr %path) #0 { ; check union:u17
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1735677603229141, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_13(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_39(ptr %d, ptr %path)
+ %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ ret ptr %t4
+dcu.n3:
+ %t5 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t5, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr @sc_unit_4
+dcu.n5:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1735677603229141, i64 9)
+ %t10 = icmp ne ptr %t9, null
+ %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t12 = call ptr @sc_dc_38(ptr %t11, ptr %path)
+ call void @scr_dyn_release_v(ptr %t11)
+ %t13 = icmp ne ptr %t12, null
+ br i1 %t13, label %dcu.ok8, label %dcu.bad9
+dcu.bad9:
+ br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11
+dcu.bad.drop10:
+ call void @scr_union_release(ptr %t9)
+ br label %dcu.bad.ret11
+dcu.bad.ret11:
+ ret ptr null
+dcu.ok8:
+ br i1 %t10, label %dcu.refresh12, label %dcu.put13
+dcu.refresh12:
+ %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1
+ %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1
+ %t16 = load i32, ptr %t14 ; tag
+ %t17 = load i32, ptr %t15
+ store i32 %t17, ptr %t14
+ store i32 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2
+ %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2
+ %t20 = load ptr, ptr %t18 ; retain
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3
+ %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3
+ %t24 = load ptr, ptr %t22 ; release
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4
+ %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4
+ %t28 = load ptr, ptr %t26 ; trace
+ %t29 = load ptr, ptr %t27
+ store ptr %t29, ptr %t26
+ store ptr %t28, ptr %t27
+ %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5
+ %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5
+ %t32 = load i64, ptr %t30 ; slot
+ %t33 = load i64, ptr %t31
+ store i64 %t33, ptr %t30
+ store i64 %t32, ptr %t31
+ call void @scr_union_release(ptr %t12)
+ ret ptr %t9
+dcu.put13:
+ store i8 1, ptr @sc_retype_guard_3
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1735677603229141, i64 9, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 true)
+ ret ptr %t12
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_186414858701681, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_40(ptr %d, ptr %path) #0 { ; check array>
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2337619831431474, i64 20)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2337619831431474, i64 20)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_40(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2337619831431474, i64 20, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new(i32 3, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_1(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal ptr @sc_dc_41(ptr %d, ptr %path) #0 { ; check array>
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2888908392807325, i64 17)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2888908392807325, i64 17)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_41(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2888908392807325, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new(i32 3, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_19(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal ptr @sc_dc_43(ptr %d, ptr %path) #0 { ; check object:%m5.MpCfg
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_4336131790391205
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4336131790391205, i64 16)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4336131790391205, i64 16)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_43(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4336131790391205, i64 16, ptr %t18, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1133834010774452, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_42(ptr %d, ptr %path) #0 { ; check array
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_125327543764853, i64 23)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_125327543764853, i64 23)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_42(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_125327543764853, i64 23, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_retain__x25_m5_MpCfg.sc_release__x25_m5_MpCfg.sc_trace__x25_m5_MpCfg, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_43(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal zeroext i1 @sc_dfa_5(ptr %sc_env, ptr %a0, ptr %a1) #0 { ; dyn fn adapter to func(httpReq,httpRes)=>bool
+entry:
+ %s3 = alloca [2 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @sc_td_10(ptr %a0)
+ %t5 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ call void @scr_http_req_release(ptr %a0)
+ %t6 = call ptr @sc_td_7(ptr %a1)
+ %t7 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 1
+ store ptr %t6, ptr %t7
+ call void @scr_http_res_release(ptr %a1)
+ %t8 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 2, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ call void @scr_dyn_release(ptr %t6)
+ %t9.cell = load ptr, ptr @scr_exc_active
+ %t9.kind = load i32, ptr %t9.cell
+ %t9 = icmp ne i32 %t9.kind, 0
+ br i1 %t9, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret i1 false
+dfa.k1:
+ %t10 = call i1 @sc_dc_3(ptr %t8, ptr null)
+ call void @scr_dyn_release(ptr %t8)
+ ret i1 %t10
+}
+
+define internal ptr @sc_dc_44(ptr %d, ptr %path) #0 { ; check func(httpReq,httpRes)=>bool
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4045032624819002, i64 27)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4045032624819002, i64 27)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_44(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4045032624819002, i64 27, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_4045032624819002)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_5, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal ptr @sc_td_17(ptr %v) #0 { ; to-dyn union:u0
+entry:
+ %t1 = icmp eq ptr %v, null
+ %t0 = select i1 %t1, i32 0, i32 1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = call ptr @scr_dyn_new_null()
+ ret ptr %t2
+tdu.a2:
+ %t3 = call ptr @sc_td_8(ptr %v) ; record
+ ret ptr %t3
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_td_18(ptr %v) #0 { ; to-dyn union:u1
+entry:
+ %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1
+ %t0 = load i32, ptr %t1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5
+ %t3 = load ptr, ptr %t2
+ %t4 = call ptr @sc_td_1(ptr %t3) ; bytes
+ ret ptr %t4
+tdu.a2:
+ %t5 = call ptr @scr_dyn_new_null()
+ ret ptr %t5
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_td_19(ptr %v) #0 { ; to-dyn object:%m2.FetchResponseSink
+entry:
+ %t0 = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dc_46(ptr %d, ptr %path) #0 { ; check promise
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4366892077034776, i64 13)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4366892077034776, i64 13)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_46(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4366892077034776, i64 13, ptr %t8, ptr @scr_promise_retain_v, ptr @scr_promise_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t11 = load i32, ptr %t10
+ %t12 = icmp eq i32 %t11, 10
+ br i1 %t12, label %dc.k8, label %dc.f9
+dc.f9:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_544024079890110, ptr %d)
+ ret ptr null
+dc.k8:
+ %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_promise_new()
+ call void @scr_promise_share_identity(ptr %t15, ptr %t14)
+ call void @scr_promise_race_add(ptr %t15, ptr %t14, ptr @sc_dpa_0)
+ ret ptr %t15
+}
+
+define internal ptr @sc_dfa_6(ptr %sc_env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) #0 { ; dyn fn adapter to func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise
+entry:
+ %s3 = alloca [7 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @sc_td_0(ptr %a0)
+ %t5 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ call void @scr_str_release(ptr %a0)
+ %t6 = call ptr @sc_td_0(ptr %a1)
+ %t7 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 1
+ store ptr %t6, ptr %t7
+ call void @scr_str_release(ptr %a1)
+ %t8 = call ptr @sc_td_17(ptr %a2)
+ %t9 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 2
+ store ptr %t8, ptr %t9
+ call void @sc_rrelease_r0(ptr %a2)
+ %t10 = call ptr @scr_dyn_retain_v(ptr %a3)
+ %t11 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 3
+ store ptr %t10, ptr %t11
+ call void @sc_rc_release_dyn(ptr %a3)
+ %t12 = call ptr @sc_td_0(ptr %a4)
+ %t13 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 4
+ store ptr %t12, ptr %t13
+ call void @scr_str_release(ptr %a4)
+ %t14 = call ptr @sc_td_18(ptr %a5)
+ %t15 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 5
+ store ptr %t14, ptr %t15
+ call void @scr_union_release(ptr %a5)
+ %t16 = call ptr @sc_td_19(ptr %a6)
+ %t17 = getelementptr inbounds [7 x ptr], ptr %s3, i64 0, i64 6
+ store ptr %t16, ptr %t17
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %a6)
+ %t18 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 7, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ call void @scr_dyn_release(ptr %t6)
+ call void @scr_dyn_release(ptr %t8)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t14)
+ call void @scr_dyn_release(ptr %t16)
+ %t19.cell = load ptr, ptr @scr_exc_active
+ %t19.kind = load i32, ptr %t19.cell
+ %t19 = icmp ne i32 %t19.kind, 0
+ br i1 %t19, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret ptr null
+dfa.k1:
+ %t20 = call ptr @sc_dc_46(ptr %t18, ptr null)
+ call void @scr_dyn_release(ptr %t18)
+ ret ptr %t20
+}
+
+define internal ptr @sc_dc_45(ptr %d, ptr %path) #0 { ; check func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1337005955311507, i64 92)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1337005955311507, i64 92)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_45(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1337005955311507, i64 92, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_1337005955311507)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_6, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal ptr @sc_td_20(ptr %v) #0 { ; to-dyn netSocket
+entry:
+ %t0 = call ptr @scr_dyn_new_handle(ptr %v, i32 2)
+ ret ptr %t0
+}
+
+define internal zeroext i1 @sc_dfa_7(ptr %sc_env, ptr %a0, ptr %a1, ptr %a2) #0 { ; dyn fn adapter to func(httpReq,netSocket,bytes)=>bool
+entry:
+ %s3 = alloca [3 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @sc_td_10(ptr %a0)
+ %t5 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ call void @scr_http_req_release(ptr %a0)
+ %t6 = call ptr @sc_td_20(ptr %a1)
+ %t7 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 1
+ store ptr %t6, ptr %t7
+ call void @scr_net_sock_release(ptr %a1)
+ %t8 = call ptr @sc_td_1(ptr %a2)
+ %t9 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 2
+ store ptr %t8, ptr %t9
+ call void @scr_bytes_release(ptr %a2)
+ %t10 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 3, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ call void @scr_dyn_release(ptr %t6)
+ call void @scr_dyn_release(ptr %t8)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret i1 false
+dfa.k1:
+ %t12 = call i1 @sc_dc_3(ptr %t10, ptr null)
+ call void @scr_dyn_release(ptr %t10)
+ ret i1 %t12
+}
+
+define internal ptr @sc_dc_47(ptr %d, ptr %path) #0 { ; check func(httpReq,netSocket,bytes)=>bool
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1343665872547170, i64 39)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1343665872547170, i64 39)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_47(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1343665872547170, i64 39, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_1343665872547170)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_7, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal zeroext i1 @sc_dm_15(ptr %d) #0 { ; matches array
+entry:
+ %s13 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1394349160211144, i64 10)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_15(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 4
+ br i1 %t8, label %dm.a5, label %dm.f4
+dm.a5:
+ %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t10 = load i64, ptr %t9
+ %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t12 = load ptr, ptr %t11
+ store i64 0, ptr %s13
+ br label %dm.el.c6
+dm.el.c6:
+ %t14 = load i64, ptr %s13
+ %t15 = icmp ult i64 %t14, %t10
+ br i1 %t15, label %dm.el.b7, label %dm.el.e9
+dm.el.b7:
+ %t16 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t14)
+ br i1 %t16, label %dm.present10, label %dm.hole11
+dm.hole11:
+ br label %dm.el.n8
+dm.present10:
+ %t17 = getelementptr inbounds ptr, ptr %t12, i64 %t14
+ %t18 = load ptr, ptr %t17
+ %t19 = call zeroext i1 @sc_dm_2(ptr %t18)
+ br i1 %t19, label %dm.eo12, label %dm.f4
+dm.eo12:
+ br label %dm.el.n8
+dm.el.n8:
+ %t20 = add i64 %t14, 1
+ store i64 %t20, ptr %s13
+ br label %dm.el.c6
+dm.el.e9:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_dm_14(ptr %d) #0 { ; matches record:r5
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1186397750780220, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_14(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ %t9 = icmp eq i32 %t7, 13
+ %t10 = or i1 %t8, %t9
+ br i1 %t10, label %dm.o5, label %dm.f4
+dm.o5:
+ %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_291439443305035, i64 8)
+ %t12.cell = load ptr, ptr @scr_exc_active
+ %t12.kind = load i32, ptr %t12.cell
+ %t12 = icmp ne i32 %t12.kind, 0
+ br i1 %t12, label %dm.read.u7, label %dm.read.k8
+dm.read.u7:
+ call void @scr_dyn_release(ptr %t11)
+ ret i1 false
+dm.read.k8:
+ %t13 = call zeroext i1 @sc_dm_15(ptr %t11)
+ call void @scr_dyn_release(ptr %t11)
+ br i1 %t13, label %dm.n6, label %dm.f4
+dm.n6:
+ %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1774234212108265, i64 2)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dm.read.u10, label %dm.read.k11
+dm.read.u10:
+ call void @scr_dyn_release(ptr %t14)
+ ret i1 false
+dm.read.k11:
+ %t16 = call zeroext i1 @sc_dm_15(ptr %t14)
+ call void @scr_dyn_release(ptr %t14)
+ br i1 %t16, label %dm.n9, label %dm.f4
+dm.n9:
+ %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3240132313272141, i64 2)
+ %t18.cell = load ptr, ptr @scr_exc_active
+ %t18.kind = load i32, ptr %t18.cell
+ %t18 = icmp ne i32 %t18.kind, 0
+ br i1 %t18, label %dm.read.u13, label %dm.read.k14
+dm.read.u13:
+ call void @scr_dyn_release(ptr %t17)
+ ret i1 false
+dm.read.k14:
+ %t19 = call zeroext i1 @sc_dm_9(ptr %t17)
+ call void @scr_dyn_release(ptr %t17)
+ br i1 %t19, label %dm.n12, label %dm.f4
+dm.n12:
+ %t20 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_196246007442230, i64 4)
+ %t21.cell = load ptr, ptr @scr_exc_active
+ %t21.kind = load i32, ptr %t21.cell
+ %t21 = icmp ne i32 %t21.kind, 0
+ br i1 %t21, label %dm.read.u16, label %dm.read.k17
+dm.read.u16:
+ call void @scr_dyn_release(ptr %t20)
+ ret i1 false
+dm.read.k17:
+ %t22 = call zeroext i1 @sc_dm_2(ptr %t20)
+ call void @scr_dyn_release(ptr %t20)
+ br i1 %t22, label %dm.n15, label %dm.f4
+dm.n15:
+ %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4121162754829271, i64 3)
+ %t24.cell = load ptr, ptr @scr_exc_active
+ %t24.kind = load i32, ptr %t24.cell
+ %t24 = icmp ne i32 %t24.kind, 0
+ br i1 %t24, label %dm.read.u19, label %dm.read.k20
+dm.read.u19:
+ call void @scr_dyn_release(ptr %t23)
+ ret i1 false
+dm.read.k20:
+ %t25 = call zeroext i1 @sc_dm_6(ptr %t23)
+ call void @scr_dyn_release(ptr %t23)
+ br i1 %t25, label %dm.n18, label %dm.f4
+dm.n18:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_48(ptr %d, ptr %path) #0 { ; check object:%m5.CtxCore
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_2875643240706496
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2875643240706496, i64 18)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2875643240706496, i64 18)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_48(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2875643240706496, i64 18, ptr %t18, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1121367206520398, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfa_8(ptr %sc_env) #0 { ; dyn fn adapter to func()=>dyn
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t3 = call ptr @scr_dyn_call(ptr %t2, ptr null, i64 0, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ %t4.cell = load ptr, ptr @scr_exc_active
+ %t4.kind = load i32, ptr %t4.cell
+ %t4 = icmp ne i32 %t4.kind, 0
+ br i1 %t4, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret ptr null
+dfa.k1:
+ ret ptr %t3
+}
+
+define internal ptr @sc_dc_49(ptr %d, ptr %path) #0 { ; check func()=>dyn
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1333419199285231, i64 11)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1333419199285231, i64 11)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_49(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1333419199285231, i64 11, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_1333419199285231)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_8, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal ptr @sc_dfk_3(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m5.CtxCore,func()=>dyn)=>dyn
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_48(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_49(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @sc_release__x25_m5_CtxCore(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22)
+ %t27.cell = load ptr, ptr @scr_exc_active
+ %t27.kind = load i32, ptr %t27.cell
+ %t27 = icmp ne i32 %t27.kind, 0
+ br i1 %t27, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ ret ptr %t26
+}
+
+define internal ptr @sc_dfb_3(ptr %v, ptr %fname) #0 { ; box func(object:%m5.CtxCore,func()=>dyn)=>dyn into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_3, i32 2, ptr @sc_cs_2955110042506774, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_21(ptr %v) #0 { ; to-dyn func(object:%m5.CtxCore,func()=>dyn)=>dyn
+entry:
+ %t0 = call ptr @sc_dfb_3(ptr %v, ptr null)
+ ret ptr %t0
+}
+
+define internal zeroext i1 @sc_dm_16(ptr %d) #0 { ; matches func(object:%m5.CtxCore,func()=>dyn)=>dyn
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2955110042506774, i64 41)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_16(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ ret i1 %t6
+}
+
+define internal ptr @sc_dfk_4(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m5.CtxCore)=>dyn
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_48(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ ret ptr %t14
+}
+
+define internal ptr @sc_dfb_4(ptr %v, ptr %fname) #0 { ; box func(object:%m5.CtxCore)=>dyn into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_4, i32 1, ptr @sc_cs_808362516667040, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_22(ptr %v) #0 { ; to-dyn func(object:%m5.CtxCore)=>dyn
+entry:
+ %t0 = call ptr @sc_dfb_4(ptr %v, ptr null)
+ ret ptr %t0
+}
+
+define internal zeroext i1 @sc_dm_17(ptr %d) #0 { ; matches func(object:%m5.CtxCore)=>dyn
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_808362516667040, i64 29)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_17(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ ret i1 %t6
+}
+
+define internal zeroext i1 @sc_dm_18(ptr %d) #0 { ; matches arraydyn)=>dyn>
+entry:
+ %s13 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_623184722659282, i64 48)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_18(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 4
+ br i1 %t8, label %dm.a5, label %dm.f4
+dm.a5:
+ %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t10 = load i64, ptr %t9
+ %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t12 = load ptr, ptr %t11
+ store i64 0, ptr %s13
+ br label %dm.el.c6
+dm.el.c6:
+ %t14 = load i64, ptr %s13
+ %t15 = icmp ult i64 %t14, %t10
+ br i1 %t15, label %dm.el.b7, label %dm.el.e9
+dm.el.b7:
+ %t16 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t14)
+ br i1 %t16, label %dm.present10, label %dm.hole11
+dm.hole11:
+ br label %dm.el.n8
+dm.present10:
+ %t17 = getelementptr inbounds ptr, ptr %t12, i64 %t14
+ %t18 = load ptr, ptr %t17
+ %t19 = call zeroext i1 @sc_dm_16(ptr %t18)
+ br i1 %t19, label %dm.eo12, label %dm.f4
+dm.eo12:
+ br label %dm.el.n8
+dm.el.n8:
+ %t20 = add i64 %t14, 1
+ store i64 %t20, ptr %s13
+ br label %dm.el.c6
+dm.el.e9:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal ptr @sc_dfk_5(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn,object:%m5.CtxCore)=>void
+entry:
+ %s0 = alloca ptr
+ %s7 = alloca ptr
+ %s13 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t6 = call ptr @scr_dyn_retain_v(ptr %t5)
+ %t8 = icmp ult i64 1, %argc
+ br i1 %t8, label %dfk.h3, label %dfk.m4
+dfk.h3:
+ %t9 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t10 = load ptr, ptr %t9
+ store ptr %t10, ptr %s7
+ br label %dfk.j5
+dfk.m4:
+ %t11 = call ptr @scr_dyn_undefined()
+ store ptr %t11, ptr %s7
+ br label %dfk.j5
+dfk.j5:
+ %t12 = load ptr, ptr %s7
+ %t14 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 0
+ store ptr null, ptr %t14
+ %t15 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 1
+ store ptr null, ptr %t15
+ %t16 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 2
+ store i64 1, ptr %t16
+ %t17 = call ptr @sc_dc_48(ptr %t12, ptr %s13)
+ %t18.cell = load ptr, ptr @scr_exc_active
+ %t18.kind = load i32, ptr %t18.cell
+ %t18 = icmp ne i32 %t18.kind, 0
+ br i1 %t18, label %dfk.u6, label %dfk.k7
+dfk.u6:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+dfk.k7:
+ %t19 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t20 = load ptr, ptr %t19
+ call void %t20(ptr %c, ptr %t6, ptr %t17)
+ %t21.cell = load ptr, ptr @scr_exc_active
+ %t21.kind = load i32, ptr %t21.cell
+ %t21 = icmp ne i32 %t21.kind, 0
+ br i1 %t21, label %dfkr.u8, label %dfkr.k9
+dfkr.u8:
+ ret ptr null
+dfkr.k9:
+ %t22 = call ptr @scr_dyn_undefined()
+ %t23 = call ptr @scr_dyn_retain_v(ptr %t22)
+ ret ptr %t23
+}
+
+define internal ptr @sc_dfb_5(ptr %v, ptr %fname) #0 { ; box func(dyn,object:%m5.CtxCore)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_5, i32 2, ptr @sc_cs_727563387933933, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_23(ptr %v) #0 { ; to-dyn union:u17
+entry:
+ %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1
+ %t0 = load i32, ptr %t1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5
+ %t3 = load ptr, ptr %t2
+ %t4 = call ptr @sc_dfb_5(ptr %t3, ptr null)
+ ret ptr %t4
+tdu.a2:
+ %t5 = call ptr @scr_dyn_new_null()
+ ret ptr %t5
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal zeroext i1 @sc_dm_19(ptr %d) #0 { ; matches object:%m4.MultipartStorage
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3635319175845957, i64 27)
+ %t1 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3456310594719780, i64 24)
+ %t2 = or i1 %t0, %t1
+ %t3 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2020403498516894, i64 22)
+ %t4 = or i1 %t2, %t3
+ br i1 %t4, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call zeroext i1 @sc_dm_19(ptr %t8)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret i1 %t9
+dm.tr.plain3:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_50(ptr %d, ptr %path) #0 { ; check union:u16
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2901406798989589, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ ret ptr null
+dcu.n3:
+ %t3 = call zeroext i1 @sc_dm_19(ptr %d)
+ br i1 %t3, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t4 = call ptr @sc_dc_24(ptr %d, ptr %path)
+ ret ptr %t4
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_50(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3582125375999435, ptr %d)
+ ret ptr null
+}
+
+define internal zeroext i1 @sc_dm_20(ptr %d) #0 { ; matches object:%m5.MpCfg
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4336131790391205, i64 16)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_20(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ ret i1 false
+}
+
+define internal ptr @sc_dfk_6(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(httpReq,httpRes)=>bool
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_16(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_11(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_http_req_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ %t26 = call i1 %t25(ptr %c, ptr %t10, ptr %t22)
+ %t27.cell = load ptr, ptr @scr_exc_active
+ %t27.kind = load i32, ptr %t27.cell
+ %t27 = icmp ne i32 %t27.kind, 0
+ br i1 %t27, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t28 = call ptr @sc_td_3(i1 %t26)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_6(ptr %v, ptr %fname) #0 { ; box func(httpReq,httpRes)=>bool into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_6, i32 2, ptr @sc_cs_4045032624819002, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_24(ptr %v) #0 { ; to-dyn func(httpReq,httpRes)=>bool
+entry:
+ %t0 = call ptr @sc_dfb_6(ptr %v, ptr null)
+ ret ptr %t0
+}
+
+define internal zeroext i1 @sc_dm_21(ptr %d) #0 { ; matches record:r0
+entry:
+ %s13 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_77530061052946, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_21(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ br i1 %t8, label %dm.o5, label %dm.f4
+dm.o5:
+ %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t10 = load i64, ptr %t9
+ %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t12 = load ptr, ptr %t11
+ store i64 0, ptr %s13
+ br label %dm.ov.c6
+dm.ov.c6:
+ %t14 = load i64, ptr %s13
+ %t15 = icmp ult i64 %t14, %t10
+ br i1 %t15, label %dm.ov.b7, label %dm.ov.e9
+dm.ov.b7:
+ %t16 = mul i64 %t14, 48 ; sizeof(ScrDynEntry)
+ %t17 = getelementptr inbounds i8, ptr %t12, i64 %t16
+ %t18 = load ptr, ptr %t17
+ %t19 = getelementptr inbounds i8, ptr %t17, i64 8
+ %t20 = load i64, ptr %t19
+ %t21 = getelementptr inbounds i8, ptr %t17, i64 16
+ %t22 = load ptr, ptr %t21
+ %t23 = call zeroext i1 @sc_dm_6(ptr %t22)
+ br i1 %t23, label %dm.vo10, label %dm.f4
+dm.vo10:
+ br label %dm.ov.n8
+dm.ov.n8:
+ %t24 = add i64 %t14, 1
+ store i64 %t24, ptr %s13
+ br label %dm.ov.c6
+dm.ov.e9:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_51(ptr %d, ptr %path) #0 { ; check union:u0
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_461841367492022, i64 8)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ ret ptr null
+dcu.n3:
+ %t3 = call zeroext i1 @sc_dm_21(ptr %d)
+ br i1 %t3, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t4 = call ptr @sc_dc_13(ptr %d, ptr %path)
+ ret ptr %t4
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_51(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1247828793356534, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_52(ptr %d, ptr %path) #0 { ; check object:%m2.FetchResponseSink
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_2434838942941195
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2434838942941195, i64 28)
+ %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4074974279575818, i64 23)
+ %t12 = or i1 %t10, %t11
+ br i1 %t12, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t13 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t13
+dc.nt5:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 12
+ br i1 %t16, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t17 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2434838942941195, i64 28)
+ %t18 = icmp ne ptr %t17, null
+ br i1 %t18, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t17
+dc.tr.mat9:
+ %t19 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t20 = call ptr @sc_dc_52(ptr %t19, ptr %path)
+ call void @scr_dyn_release_v(ptr %t19)
+ %t21 = icmp ne ptr %t20, null
+ br i1 %t21, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2434838942941195, i64 28, ptr %t20, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t20
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_654972114762654, ptr %d)
+ ret ptr null
+}
+
+define internal void @sc_pda_0(ptr %dst, ptr %src) #0 { ; dyn-box settle adapter for promise
+entry:
+ %t0 = call zeroext i1 @scr_promise_payload_bool(ptr %src)
+ %t1 = call ptr @scr_dyn_new_bool(i1 %t0)
+ call void @scr_promise_fulfill_ref(ptr %dst, ptr %t1, ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ ret void
+}
+
+define internal ptr @sc_td_26(ptr %v) #0 { ; to-dyn promise
+entry:
+ %t0 = call ptr @scr_dyn_new_promise_adapting(ptr %v, ptr @sc_pda_0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dfk_7(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %s24 = alloca ptr
+ %s30 = alloca %ScrDynPath
+ %s36 = alloca ptr
+ %s43 = alloca ptr
+ %s49 = alloca %ScrDynPath
+ %s55 = alloca ptr
+ %s61 = alloca %ScrDynPath
+ %s67 = alloca ptr
+ %s73 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t25 = icmp ult i64 2, %argc
+ br i1 %t25, label %dfk.h10, label %dfk.m11
+dfk.h10:
+ %t26 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %s24
+ br label %dfk.j12
+dfk.m11:
+ %t28 = call ptr @scr_dyn_undefined()
+ store ptr %t28, ptr %s24
+ br label %dfk.j12
+dfk.j12:
+ %t29 = load ptr, ptr %s24
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0
+ store ptr null, ptr %t31
+ %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1
+ store ptr null, ptr %t32
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2
+ store i64 2, ptr %t33
+ %t34 = call ptr @sc_dc_51(ptr %t29, ptr %s30)
+ %t35.cell = load ptr, ptr @scr_exc_active
+ %t35.kind = load i32, ptr %t35.cell
+ %t35 = icmp ne i32 %t35.kind, 0
+ br i1 %t35, label %dfk.u13, label %dfk.k14
+dfk.u13:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ ret ptr null
+dfk.k14:
+ %t37 = icmp ult i64 3, %argc
+ br i1 %t37, label %dfk.h15, label %dfk.m16
+dfk.h15:
+ %t38 = getelementptr inbounds ptr, ptr %args, i64 3
+ %t39 = load ptr, ptr %t38
+ store ptr %t39, ptr %s36
+ br label %dfk.j17
+dfk.m16:
+ %t40 = call ptr @scr_dyn_undefined()
+ store ptr %t40, ptr %s36
+ br label %dfk.j17
+dfk.j17:
+ %t41 = load ptr, ptr %s36
+ %t42 = call ptr @scr_dyn_retain_v(ptr %t41)
+ %t44 = icmp ult i64 4, %argc
+ br i1 %t44, label %dfk.h18, label %dfk.m19
+dfk.h18:
+ %t45 = getelementptr inbounds ptr, ptr %args, i64 4
+ %t46 = load ptr, ptr %t45
+ store ptr %t46, ptr %s43
+ br label %dfk.j20
+dfk.m19:
+ %t47 = call ptr @scr_dyn_undefined()
+ store ptr %t47, ptr %s43
+ br label %dfk.j20
+dfk.j20:
+ %t48 = load ptr, ptr %s43
+ %t50 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 0
+ store ptr null, ptr %t50
+ %t51 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 1
+ store ptr null, ptr %t51
+ %t52 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 2
+ store i64 4, ptr %t52
+ %t53 = call ptr @sc_dc_0(ptr %t48, ptr %s49)
+ %t54.cell = load ptr, ptr @scr_exc_active
+ %t54.kind = load i32, ptr %t54.cell
+ %t54 = icmp ne i32 %t54.kind, 0
+ br i1 %t54, label %dfk.u21, label %dfk.k22
+dfk.u21:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ call void @sc_rrelease_r0(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+dfk.k22:
+ %t56 = icmp ult i64 5, %argc
+ br i1 %t56, label %dfk.h23, label %dfk.m24
+dfk.h23:
+ %t57 = getelementptr inbounds ptr, ptr %args, i64 5
+ %t58 = load ptr, ptr %t57
+ store ptr %t58, ptr %s55
+ br label %dfk.j25
+dfk.m24:
+ %t59 = call ptr @scr_dyn_undefined()
+ store ptr %t59, ptr %s55
+ br label %dfk.j25
+dfk.j25:
+ %t60 = load ptr, ptr %s55
+ %t62 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 0
+ store ptr null, ptr %t62
+ %t63 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 1
+ store ptr null, ptr %t63
+ %t64 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 2
+ store i64 5, ptr %t64
+ %t65 = call ptr @sc_dc_23(ptr %t60, ptr %s61)
+ %t66.cell = load ptr, ptr @scr_exc_active
+ %t66.kind = load i32, ptr %t66.cell
+ %t66 = icmp ne i32 %t66.kind, 0
+ br i1 %t66, label %dfk.u26, label %dfk.k27
+dfk.u26:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ call void @sc_rrelease_r0(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @scr_str_release(ptr %t53)
+ ret ptr null
+dfk.k27:
+ %t68 = icmp ult i64 6, %argc
+ br i1 %t68, label %dfk.h28, label %dfk.m29
+dfk.h28:
+ %t69 = getelementptr inbounds ptr, ptr %args, i64 6
+ %t70 = load ptr, ptr %t69
+ store ptr %t70, ptr %s67
+ br label %dfk.j30
+dfk.m29:
+ %t71 = call ptr @scr_dyn_undefined()
+ store ptr %t71, ptr %s67
+ br label %dfk.j30
+dfk.j30:
+ %t72 = load ptr, ptr %s67
+ %t74 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 0
+ store ptr null, ptr %t74
+ %t75 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 1
+ store ptr null, ptr %t75
+ %t76 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 2
+ store i64 6, ptr %t76
+ %t77 = call ptr @sc_dc_52(ptr %t72, ptr %s73)
+ %t78.cell = load ptr, ptr @scr_exc_active
+ %t78.kind = load i32, ptr %t78.cell
+ %t78 = icmp ne i32 %t78.kind, 0
+ br i1 %t78, label %dfk.u31, label %dfk.k32
+dfk.u31:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ call void @sc_rrelease_r0(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @scr_str_release(ptr %t53)
+ call void @scr_union_release(ptr %t65)
+ ret ptr null
+dfk.k32:
+ %t79 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t80 = load ptr, ptr %t79
+ %t81 = call ptr %t80(ptr %c, ptr %t10, ptr %t22, ptr %t34, ptr %t42, ptr %t53, ptr %t65, ptr %t77)
+ %t82.cell = load ptr, ptr @scr_exc_active
+ %t82.kind = load i32, ptr %t82.cell
+ %t82 = icmp ne i32 %t82.kind, 0
+ br i1 %t82, label %dfkr.u33, label %dfkr.k34
+dfkr.u33:
+ ret ptr null
+dfkr.k34:
+ %t83 = call ptr @sc_td_26(ptr %t81)
+ call void @scr_promise_release(ptr %t81)
+ ret ptr %t83
+}
+
+define internal ptr @sc_dfb_7(ptr %v, ptr %fname) #0 { ; box func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_7, i32 7, ptr @sc_cs_1337005955311507, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_25(ptr %v) #0 { ; to-dyn func(string,string,union:u0,dyn,string,union:u1,object:%m2.FetchResponseSink)=>promise
+entry:
+ %t0 = call ptr @sc_dfb_7(ptr %v, ptr null)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dc_53(ptr %d, ptr %path) #0 { ; check netSocket
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1042621854675129, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1042621854675129, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_53(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1042621854675129, i64 9, ptr %t8, ptr @scr_net_sock_retain_v, ptr @scr_net_sock_release_v, i1 false)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call ptr @scr_dyn_handle_unbox(ptr %d, i32 2, ptr %path, ptr @sc_cs_2822304354360785)
+ ret ptr %t10
+}
+
+define internal ptr @sc_dfk_8(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(httpReq,netSocket,bytes)=>bool
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %s24 = alloca ptr
+ %s30 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_16(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_53(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_http_req_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t25 = icmp ult i64 2, %argc
+ br i1 %t25, label %dfk.h10, label %dfk.m11
+dfk.h10:
+ %t26 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %s24
+ br label %dfk.j12
+dfk.m11:
+ %t28 = call ptr @scr_dyn_undefined()
+ store ptr %t28, ptr %s24
+ br label %dfk.j12
+dfk.j12:
+ %t29 = load ptr, ptr %s24
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0
+ store ptr null, ptr %t31
+ %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1
+ store ptr null, ptr %t32
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2
+ store i64 2, ptr %t33
+ %t34 = call ptr @sc_dc_12(ptr %t29, ptr %s30)
+ %t35.cell = load ptr, ptr @scr_exc_active
+ %t35.kind = load i32, ptr %t35.cell
+ %t35 = icmp ne i32 %t35.kind, 0
+ br i1 %t35, label %dfk.u13, label %dfk.k14
+dfk.u13:
+ call void @scr_http_req_release(ptr %t10)
+ call void @scr_net_sock_release(ptr %t22)
+ ret ptr null
+dfk.k14:
+ %t36 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t37 = load ptr, ptr %t36
+ %t38 = call i1 %t37(ptr %c, ptr %t10, ptr %t22, ptr %t34)
+ %t39.cell = load ptr, ptr @scr_exc_active
+ %t39.kind = load i32, ptr %t39.cell
+ %t39 = icmp ne i32 %t39.kind, 0
+ br i1 %t39, label %dfkr.u15, label %dfkr.k16
+dfkr.u15:
+ ret ptr null
+dfkr.k16:
+ %t40 = call ptr @sc_td_3(i1 %t38)
+ ret ptr %t40
+}
+
+define internal ptr @sc_dfb_8(ptr %v, ptr %fname) #0 { ; box func(httpReq,netSocket,bytes)=>bool into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_8, i32 3, ptr @sc_cs_1343665872547170, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_27(ptr %v) #0 { ; to-dyn func(httpReq,netSocket,bytes)=>bool
+entry:
+ %t0 = call ptr @sc_dfb_8(ptr %v, ptr null)
+ ret ptr %t0
+}
+
+define internal ptr @sc_td_28(ptr %v) #0 { ; to-dyn union:u27
+entry:
+ %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1
+ %t0 = load i32, ptr %t1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5
+ %t3 = load ptr, ptr %t2
+ %t4 = call ptr @sc_dfb_4(ptr %t3, ptr null)
+ ret ptr %t4
+tdu.a2:
+ %t5 = call ptr @scr_dyn_undefined()
+ %t6 = call ptr @scr_dyn_retain_v(ptr %t5)
+ ret ptr %t6
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+@sc_rnames_3 = internal constant [3 x ptr] [ptr @sc_cs_3073289709162707, ptr @sc_cs_621103891786213, ptr @sc_cs_2193851355834945]
+@sc_rnames_3_lens = internal constant [3 x i64] [i64 5, i64 4, i64 5]
+
+define internal ptr @sc_dc_54(ptr %d, ptr %path) #0 { ; check record:r9
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1790505695584955, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1790505695584955, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_54(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r9(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r9, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r9, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; idxs
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r9, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r9, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; names
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ %t18 = getelementptr inbounds %sc_rs_r9, ptr %t5, i64 0, i32 3
+ %t19 = getelementptr inbounds %sc_rs_r9, ptr %t8, i64 0, i32 3
+ %t20 = load double, ptr %t18 ; splat
+ %t21 = load double, ptr %t19
+ store double %t21, ptr %t18
+ store double %t20, ptr %t19
+ call void @sc_rrelease_r9(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1790505695584955, i64 9, ptr %t8, ptr @sc_rretain_r9, ptr @sc_rrelease_r9, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t22 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t24 = icmp eq i32 %t23, 5
+ %t25 = icmp eq i32 %t23, 13
+ %t26 = or i1 %t24, %t25
+ br i1 %t26, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r9()
+ %t27 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_621103891786213, i64 4)
+ %t28.cell = load ptr, ptr @scr_exc_active
+ %t28.kind = load i32, ptr %t28.cell
+ %t28 = icmp ne i32 %t28.kind, 0
+ br i1 %t28, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t27)
+ call void @sc_rrelease_r9(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t29 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t29
+ %t30 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_621103891786213, ptr %t30
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t31
+ %t32 = call ptr @sc_dc_19(ptr %t27, ptr %dcp)
+ call void @scr_dyn_release(ptr %t27)
+ %t33 = getelementptr inbounds %sc_rs_r9, ptr %r0, i64 0, i32 1 ; .idxs
+ store ptr %t32, ptr %t33
+ %t34.cell = load ptr, ptr @scr_exc_active
+ %t34.kind = load i32, ptr %t34.cell
+ %t34 = icmp ne i32 %t34.kind, 0
+ br i1 %t34, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r9(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t35 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3073289709162707, i64 5)
+ %t36.cell = load ptr, ptr @scr_exc_active
+ %t36.kind = load i32, ptr %t36.cell
+ %t36 = icmp ne i32 %t36.kind, 0
+ br i1 %t36, label %dcr.read.u16, label %dcr.read.k17
+dcr.read.u16:
+ call void @scr_dyn_release(ptr %t35)
+ call void @sc_rrelease_r9(ptr %r0)
+ ret ptr null
+dcr.read.k17:
+ %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t37
+ %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_3073289709162707, ptr %t38
+ %t39 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t39
+ %t40 = call ptr @sc_dc_1(ptr %t35, ptr %dcp)
+ call void @scr_dyn_release(ptr %t35)
+ %t41 = getelementptr inbounds %sc_rs_r9, ptr %r0, i64 0, i32 2 ; .names
+ store ptr %t40, ptr %t41
+ %t42.cell = load ptr, ptr @scr_exc_active
+ %t42.kind = load i32, ptr %t42.cell
+ %t42 = icmp ne i32 %t42.kind, 0
+ br i1 %t42, label %dcr.u18, label %dcr.k19
+dcr.u18:
+ call void @sc_rrelease_r9(ptr %r0)
+ ret ptr null
+dcr.k19:
+ %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2193851355834945, i64 5)
+ %t44.cell = load ptr, ptr @scr_exc_active
+ %t44.kind = load i32, ptr %t44.cell
+ %t44 = icmp ne i32 %t44.kind, 0
+ br i1 %t44, label %dcr.read.u20, label %dcr.read.k21
+dcr.read.u20:
+ call void @scr_dyn_release(ptr %t43)
+ call void @sc_rrelease_r9(ptr %r0)
+ ret ptr null
+dcr.read.k21:
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2193851355834945, ptr %t46
+ %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t47
+ %t48 = call double @sc_dc_2(ptr %t43, ptr %dcp)
+ call void @scr_dyn_release(ptr %t43)
+ %t49 = getelementptr inbounds %sc_rs_r9, ptr %r0, i64 0, i32 3 ; .splat
+ store double %t48, ptr %t49
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dcr.u22, label %dcr.k23
+dcr.u22:
+ call void @sc_rrelease_r9(ptr %r0)
+ ret ptr null
+dcr.k23:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_3, ptr @sc_rnames_3_lens, i64 3)
+ ret ptr %r0
+}
+
+define internal ptr @sc_td_29(ptr %v) #0 { ; to-dyn union:u15
+entry:
+ %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1
+ %t0 = load i32, ptr %t1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = call double @scr_union_get_f64(ptr %v)
+ %t3 = call ptr @sc_td_2(double %t2)
+ ret ptr %t3
+tdu.a2:
+ %t4 = call ptr @scr_dyn_undefined()
+ %t5 = call ptr @scr_dyn_retain_v(ptr %t4)
+ ret ptr %t5
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_dfk_9(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ call void %t25(ptr %c, ptr %t10, ptr %t22)
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t27 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t27)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_9(ptr %v, ptr %fname) #0 { ; box func(string,string)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_9, i32 2, ptr @sc_cs_3563927413032978, ptr %fname)
+ ret ptr %r
+}
+
+define internal void @sc_dfa_9(ptr %sc_env, ptr %a0) #0 { ; dyn fn adapter to func(func(string,string)=>void)=>void
+entry:
+ %s3 = alloca [1 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @sc_dfb_9(ptr %a0, ptr null)
+ %t5 = getelementptr inbounds [1 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ call void @scr_closure_release(ptr %a0)
+ %t6 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 1, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ %t7.cell = load ptr, ptr @scr_exc_active
+ %t7.kind = load i32, ptr %t7.cell
+ %t7 = icmp ne i32 %t7.kind, 0
+ br i1 %t7, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret void
+dfa.k1:
+ call void @scr_dyn_release(ptr %t6)
+ ret void
+}
+
+define internal ptr @sc_dc_57(ptr %d, ptr %path) #0 { ; check func(func(string,string)=>void)=>void
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4163660238022989, i64 37)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4163660238022989, i64 37)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_57(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4163660238022989, i64 37, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_4163660238022989)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_9, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+@sc_rnames_4 = internal constant [1 x ptr] [ptr @sc_cs_145319249654683]
+@sc_rnames_4_lens = internal constant [1 x i64] [i64 7]
+
+define internal ptr @sc_dc_56(ptr %d, ptr %path) #0 { ; check record:r19
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3499761349904598, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3499761349904598, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_56(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r19(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r19, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r19, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; forEach
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ call void @sc_rrelease_r19(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3499761349904598, i64 10, ptr %t8, ptr @sc_rretain_r19, ptr @sc_rrelease_r19, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ %t17 = icmp eq i32 %t15, 13
+ %t18 = or i1 %t16, %t17
+ br i1 %t18, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r19()
+ %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_145319249654683, i64 7)
+ %t20.cell = load ptr, ptr @scr_exc_active
+ %t20.kind = load i32, ptr %t20.cell
+ %t20 = icmp ne i32 %t20.kind, 0
+ br i1 %t20, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t19)
+ call void @sc_rrelease_r19(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t21
+ %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_145319249654683, ptr %t22
+ %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t23
+ %t24 = call ptr @sc_dc_57(ptr %t19, ptr %dcp)
+ call void @scr_dyn_release(ptr %t19)
+ %t25 = getelementptr inbounds %sc_rs_r19, ptr %r0, i64 0, i32 1 ; .forEach
+ store ptr %t24, ptr %t25
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r19(ptr %r0)
+ ret ptr null
+dcr.k15:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_4, ptr @sc_rnames_4_lens, i64 1)
+ ret ptr %r0
+}
+
+@sc_rnames_5 = internal constant [1 x ptr] [ptr @sc_cs_977412068193087]
+@sc_rnames_5_lens = internal constant [1 x i64] [i64 7]
+
+define internal ptr @sc_dc_55(ptr %d, ptr %path) #0 { ; check record:r27
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_240677902164883, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_240677902164883, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_55(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r27(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r27, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r27, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; headers
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ call void @sc_rrelease_r27(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_240677902164883, i64 10, ptr %t8, ptr @sc_rretain_r27, ptr @sc_rrelease_r27, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ %t17 = icmp eq i32 %t15, 13
+ %t18 = or i1 %t16, %t17
+ br i1 %t18, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r27()
+ %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_977412068193087, i64 7)
+ %t20.cell = load ptr, ptr @scr_exc_active
+ %t20.kind = load i32, ptr %t20.cell
+ %t20 = icmp ne i32 %t20.kind, 0
+ br i1 %t20, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t19)
+ call void @sc_rrelease_r27(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t21
+ %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_977412068193087, ptr %t22
+ %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t23
+ %t24 = call ptr @sc_dc_56(ptr %t19, ptr %dcp)
+ call void @scr_dyn_release(ptr %t19)
+ %t25 = getelementptr inbounds %sc_rs_r27, ptr %r0, i64 0, i32 1 ; .headers
+ store ptr %t24, ptr %t25
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r27(ptr %r0)
+ ret ptr null
+dcr.k15:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_5, ptr @sc_rnames_5_lens, i64 1)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dfk_10(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn)=>dyn
+entry:
+ %s0 = alloca ptr
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t6 = call ptr @scr_dyn_retain_v(ptr %t5)
+ %t7 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr %t8(ptr %c, ptr %t6)
+ %t10.cell = load ptr, ptr @scr_exc_active
+ %t10.kind = load i32, ptr %t10.cell
+ %t10 = icmp ne i32 %t10.kind, 0
+ br i1 %t10, label %dfkr.u3, label %dfkr.k4
+dfkr.u3:
+ ret ptr null
+dfkr.k4:
+ ret ptr %t9
+}
+
+define internal ptr @sc_dfb_10(ptr %v, ptr %fname) #0 { ; box func(dyn)=>dyn into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_10, i32 1, ptr @sc_cs_1732097993084521, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_11(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m5.CtxCore)=>object:%m5.CtxCore
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_48(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_16(ptr %t14)
+ call void @sc_release__x25_m5_CtxCore(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_11(ptr %v, ptr %fname) #0 { ; box func(object:%m5.CtxCore)=>object:%m5.CtxCore into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_11, i32 1, ptr @sc_cs_1027255970561450, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_30(ptr %v) #0 { ; to-dyn union:u10
+entry:
+ %t1 = icmp eq ptr %v, null
+ %t0 = select i1 %t1, i32 1, i32 0
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = call ptr @sc_td_0(ptr %v) ; string
+ ret ptr %t2
+tdu.a2:
+ %t3 = call ptr @scr_dyn_undefined()
+ %t4 = call ptr @scr_dyn_retain_v(ptr %t3)
+ ret ptr %t4
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_dfk_12(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn)=>void
+entry:
+ %s0 = alloca ptr
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t6 = call ptr @scr_dyn_retain_v(ptr %t5)
+ %t7 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t8 = load ptr, ptr %t7
+ call void %t8(ptr %c, ptr %t6)
+ %t9.cell = load ptr, ptr @scr_exc_active
+ %t9.kind = load i32, ptr %t9.cell
+ %t9 = icmp ne i32 %t9.kind, 0
+ br i1 %t9, label %dfkr.u3, label %dfkr.k4
+dfkr.u3:
+ ret ptr null
+dfkr.k4:
+ %t10 = call ptr @scr_dyn_undefined()
+ %t11 = call ptr @scr_dyn_retain_v(ptr %t10)
+ ret ptr %t11
+}
+
+define internal ptr @sc_dfb_12(ptr %v, ptr %fname) #0 { ; box func(dyn)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_12, i32 1, ptr @sc_cs_2380721326422626, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_60(ptr %d, ptr %path) #0 { ; check record:r18
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3675905637404462, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3675905637404462, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_60(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r18(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r18, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r18, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; 0
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r18, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r18, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; 1
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ call void @sc_rrelease_r18(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3675905637404462, i64 10, ptr %t8, ptr @sc_rretain_r18, ptr @sc_rrelease_r18, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t20 = icmp eq i32 %t19, 4
+ br i1 %t20, label %dct.k10, label %dct.f11
+dct.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dct.k10:
+ %t21 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t22 = load i64, ptr %t21
+ %t23 = icmp eq i64 %t22, 2
+ br i1 %t23, label %dct.g12, label %dct.a13
+dct.a13:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3860738644764732, ptr %d)
+ ret ptr null
+dct.g12:
+ %r0 = call ptr @sc_rnew_r18()
+ %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t25 = load ptr, ptr %t24
+ %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t26
+ %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t27
+ %t28 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t28
+ %t29 = getelementptr inbounds ptr, ptr %t25, i64 0
+ %t30 = load ptr, ptr %t29
+ %t31 = call ptr @sc_dc_0(ptr %t30, ptr %dcp)
+ %t32 = getelementptr inbounds %sc_rs_r18, ptr %r0, i64 0, i32 1 ; .0
+ store ptr %t31, ptr %t32
+ %t33.cell = load ptr, ptr @scr_exc_active
+ %t33.kind = load i32, ptr %t33.cell
+ %t33 = icmp ne i32 %t33.kind, 0
+ br i1 %t33, label %dct.u14, label %dct.k15
+dct.u14:
+ call void @sc_rrelease_r18(ptr %r0)
+ ret ptr null
+dct.k15:
+ %t34 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t34
+ %t35 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t35
+ %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 1, ptr %t36
+ %t37 = getelementptr inbounds ptr, ptr %t25, i64 1
+ %t38 = load ptr, ptr %t37
+ %t39 = call ptr @sc_dc_0(ptr %t38, ptr %dcp)
+ %t40 = getelementptr inbounds %sc_rs_r18, ptr %r0, i64 0, i32 2 ; .1
+ store ptr %t39, ptr %t40
+ %t41.cell = load ptr, ptr @scr_exc_active
+ %t41.kind = load i32, ptr %t41.cell
+ %t41 = icmp ne i32 %t41.kind, 0
+ br i1 %t41, label %dct.u16, label %dct.k17
+dct.u16:
+ call void @sc_rrelease_r18(ptr %r0)
+ ret ptr null
+dct.k17:
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_59(ptr %d, ptr %path) #0 { ; check array
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2480898009178335, i64 17)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2480898009178335, i64 17)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_59(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2480898009178335, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r18.sc_rrelease_r18.null, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_60(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+@sc_rnames_6 = internal constant [2 x ptr] [ptr @sc_cs_127274431826284, ptr @sc_cs_977412068193087]
+@sc_rnames_6_lens = internal constant [2 x i64] [i64 6, i64 7]
+
+define internal ptr @sc_dc_58(ptr %d, ptr %path) #0 { ; check record:r28
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4037022469737195, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4037022469737195, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_58(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r28(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r28, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r28, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; headers
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r28, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r28, ptr %t8, i64 0, i32 2
+ %t16 = load double, ptr %t14 ; status
+ %t17 = load double, ptr %t15
+ store double %t17, ptr %t14
+ store double %t16, ptr %t15
+ call void @sc_rrelease_r28(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4037022469737195, i64 10, ptr %t8, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t20 = icmp eq i32 %t19, 5
+ %t21 = icmp eq i32 %t19, 13
+ %t22 = or i1 %t20, %t21
+ br i1 %t22, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r28()
+ %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_977412068193087, i64 7)
+ %t24.cell = load ptr, ptr @scr_exc_active
+ %t24.kind = load i32, ptr %t24.cell
+ %t24 = icmp ne i32 %t24.kind, 0
+ br i1 %t24, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t23)
+ call void @sc_rrelease_r28(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t25 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t25
+ %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_977412068193087, ptr %t26
+ %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t27
+ %t28 = call ptr @sc_dc_59(ptr %t23, ptr %dcp)
+ call void @scr_dyn_release(ptr %t23)
+ %t29 = getelementptr inbounds %sc_rs_r28, ptr %r0, i64 0, i32 1 ; .headers
+ store ptr %t28, ptr %t29
+ %t30.cell = load ptr, ptr @scr_exc_active
+ %t30.kind = load i32, ptr %t30.cell
+ %t30 = icmp ne i32 %t30.kind, 0
+ br i1 %t30, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r28(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t31 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_127274431826284, i64 6)
+ %t32.cell = load ptr, ptr @scr_exc_active
+ %t32.kind = load i32, ptr %t32.cell
+ %t32 = icmp ne i32 %t32.kind, 0
+ br i1 %t32, label %dcr.read.u16, label %dcr.read.k17
+dcr.read.u16:
+ call void @scr_dyn_release(ptr %t31)
+ call void @sc_rrelease_r28(ptr %r0)
+ ret ptr null
+dcr.read.k17:
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t33
+ %t34 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_127274431826284, ptr %t34
+ %t35 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t35
+ %t36 = call double @sc_dc_2(ptr %t31, ptr %dcp)
+ call void @scr_dyn_release(ptr %t31)
+ %t37 = getelementptr inbounds %sc_rs_r28, ptr %r0, i64 0, i32 2 ; .status
+ store double %t36, ptr %t37
+ %t38.cell = load ptr, ptr @scr_exc_active
+ %t38.kind = load i32, ptr %t38.cell
+ %t38 = icmp ne i32 %t38.kind, 0
+ br i1 %t38, label %dcr.u18, label %dcr.k19
+dcr.u18:
+ call void @sc_rrelease_r28(ptr %r0)
+ ret ptr null
+dcr.k19:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_6, ptr @sc_rnames_6_lens, i64 2)
+ ret ptr %r0
+}
+
+define internal zeroext i1 @sc_dm_22(ptr %d) #0 { ; matches record:r18
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3675905637404462, i64 10)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_22(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 4
+ br i1 %t8, label %dm.a5, label %dm.f4
+dm.a5:
+ %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t10 = load i64, ptr %t9
+ %t11 = icmp eq i64 %t10, 2
+ br i1 %t11, label %dm.l6, label %dm.f4
+dm.l6:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t13 = load ptr, ptr %t12
+ %t14 = getelementptr inbounds ptr, ptr %t13, i64 0
+ %t15 = load ptr, ptr %t14
+ %t16 = call zeroext i1 @sc_dm_6(ptr %t15)
+ br i1 %t16, label %dm.i7, label %dm.f4
+dm.i7:
+ %t17 = getelementptr inbounds ptr, ptr %t13, i64 1
+ %t18 = load ptr, ptr %t17
+ %t19 = call zeroext i1 @sc_dm_6(ptr %t18)
+ br i1 %t19, label %dm.i8, label %dm.f4
+dm.i8:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_dm_23(ptr %d) #0 { ; matches undefined
+entry:
+ %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t1 = load i32, ptr %t0
+ %t2 = icmp eq i32 %t1, 12
+ br i1 %t2, label %dm.tr.mat0, label %dm.tr.plain1
+dm.tr.mat0:
+ %t3 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t4 = call zeroext i1 @sc_dm_23(ptr %t3)
+ call void @scr_dyn_release_v(ptr %t3)
+ ret i1 %t4
+dm.tr.plain1:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 6
+ ret i1 %t7
+}
+
+define internal ptr @sc_dc_62(ptr %d, ptr %path) #0 { ; check union:u10
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_705340187317161, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_6(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_0(ptr %d, ptr %path)
+ ret ptr %t3
+dcu.n3:
+ %t4 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t4, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr null
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_62(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2043702143033338, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_61(ptr %d, ptr %path) #0 { ; check record:r26
+entry:
+ %dcp = alloca %ScrDynPath
+ %s26 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1809980931226750, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1809980931226750, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_61(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r26(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r26, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r26, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; [key: string] overflow
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ call void @sc_rrelease_r26(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1809980931226750, i64 10, ptr %t8, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ br i1 %t16, label %dcr.k10, label %dcr.f11
+dcr.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.k10:
+ %r0 = call ptr @sc_rnew_r26()
+ %t17 = getelementptr inbounds %sc_rs_r26, ptr %r0, i64 0, i32 1
+ %t18 = load ptr, ptr %t17 ; overflow map
+ %t19 = getelementptr inbounds i8, ptr %d, i64 13 ; ->null_proto
+ %t20 = load i8, ptr %t19
+ %t21 = getelementptr inbounds i8, ptr %t18, i64 11
+ store i8 %t20, ptr %t21
+ %t22 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t23 = load i64, ptr %t22
+ %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t25 = load ptr, ptr %t24
+ store i64 0, ptr %s26
+ br label %dcv.c12
+dcv.c12:
+ %t27 = load i64, ptr %s26
+ %t28 = icmp ult i64 %t27, %t23
+ br i1 %t28, label %dcv.b13, label %dcv.e15
+dcv.b13:
+ %t29 = mul i64 %t27, 48 ; sizeof(ScrDynEntry)
+ %t30 = getelementptr inbounds i8, ptr %t25, i64 %t29
+ %t31 = load ptr, ptr %t30
+ %t32 = getelementptr inbounds i8, ptr %t30, i64 8
+ %t33 = load i64, ptr %t32
+ %t34 = getelementptr inbounds i8, ptr %t30, i64 16
+ %t35 = load ptr, ptr %t34
+ %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t36
+ %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t38
+ %t39 = call ptr @sc_dc_62(ptr %t35, ptr %dcp)
+ %t40.cell = load ptr, ptr @scr_exc_active
+ %t40.kind = load i32, ptr %t40.cell
+ %t40 = icmp ne i32 %t40.kind, 0
+ br i1 %t40, label %dcv.u16, label %dcv.k17
+dcv.u16:
+ call void @sc_rrelease_r26(ptr %r0)
+ ret ptr null
+dcv.k17:
+ %t41 = call ptr @scr_str_new(ptr %t31, i64 %t33)
+ call void @scr_map_set_str_ref(ptr %t18, ptr %t41, ptr %t39) ; v moves in
+ call void @scr_str_release(ptr %t41)
+ br label %dcv.n14
+dcv.n14:
+ %t42 = add i64 %t27, 1
+ store i64 %t42, ptr %s26
+ br label %dcv.c12
+dcv.e15:
+ ret ptr %r0
+}
+
+define internal ptr @sc_td_31(ptr %v) #0 { ; to-dyn record:r26
+entry:
+ %s11 = alloca double
+ %t1 = getelementptr inbounds %sc_rs_r26, ptr %v, i64 0, i32 1
+ %t2 = load ptr, ptr %t1 ; overflow map
+ %t3 = getelementptr inbounds i8, ptr %t2, i64 11
+ %t4 = load i8, ptr %t3
+ %t5 = icmp ne i8 %t4, 0
+ %t6 = select i1 %t5, ptr @scr_dyn_new_obj_null_proto, ptr @scr_dyn_new_obj
+ %t0 = call ptr %t6()
+ %t7 = getelementptr inbounds %sc_rs_r26, ptr %v, i64 0, i32 1
+ %t8 = load ptr, ptr %t7 ; overflow map
+ %t9 = call ptr @scr_map_keys_js_order(ptr %t8)
+ %t10 = call double @scr_arr_len(ptr %t9)
+ store double 0x0000000000000000, ptr %s11
+ br label %count.c0
+count.c0:
+ %t12 = load double, ptr %s11
+ %t13 = fcmp olt double %t12, %t10
+ br i1 %t13, label %count.b1, label %count.e3
+count.b1:
+ %t14 = call ptr @scr_arr_get_ref(ptr %t9, double %t12) ; key (+1)
+ %t15 = getelementptr inbounds %ScrStr, ptr %t14, i64 0, i32 1
+ %t16 = load i64, ptr %t15
+ %t17 = getelementptr inbounds i8, ptr %t14, i64 24 ; ->data
+ %t18 = call ptr @scr_map_get_str_ref(ptr %t8, ptr %t14)
+ %t19 = call ptr @sc_td_30(ptr %t18)
+ call void @scr_dyn_obj_set(ptr %t0, ptr %t17, i64 %t16, ptr %t19)
+ call void @scr_str_release(ptr %t18)
+ call void @scr_str_release(ptr %t14)
+ br label %count.n2
+count.n2:
+ %t20 = fadd double %t12, 0x3FF0000000000000
+ store double %t20, ptr %s11
+ br label %count.c0
+count.e3:
+ call void @scr_arr_release(ptr %t9)
+ call ptr @scr_dyn_mark_snapshot(ptr %t0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dc_63(ptr %d, ptr %path) #0 { ; check union:u33
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_865192974725865, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ ret ptr @sc_nullable_null
+dcu.n3:
+ %t3 = call zeroext i1 @sc_dm_6(ptr %d)
+ br i1 %t3, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t4 = call ptr @sc_dc_0(ptr %d, ptr %path)
+ ret ptr %t4
+dcu.n5:
+ %t5 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t5, label %dcu.h6, label %dcu.n7
+dcu.h6:
+ ret ptr null
+dcu.n7:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap8, label %dcu.fail9
+dcu.cap8:
+ %t9 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t10 = call ptr @sc_dc_63(ptr %t9, ptr %path)
+ call void @scr_dyn_release_v(ptr %t9)
+ ret ptr %t10
+dcu.fail9:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1070419772986421, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_64(ptr %d, ptr %path) #0 { ; check union:u6
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2743256915545032, i64 8)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ ret ptr null
+dcu.n3:
+ %t3 = call zeroext i1 @sc_dm_11(ptr %d)
+ br i1 %t3, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t4 = call ptr @sc_dc_21(ptr %d, ptr %path)
+ ret ptr %t4
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_64(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3791194611423265, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_66(ptr %d, ptr %path) #0 { ; check union:u24
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4211405069914794, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_9(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_1(ptr %d, ptr %path)
+ ret ptr %t3
+dcu.n3:
+ %t4 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t4, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr null
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_66(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2859507767467227, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_65(ptr %d, ptr %path) #0 { ; check record:r32
+entry:
+ %dcp = alloca %ScrDynPath
+ %s26 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_804729941372645, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_804729941372645, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_65(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r32(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r32, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r32, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; [key: string] overflow
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ call void @sc_rrelease_r32(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_804729941372645, i64 10, ptr %t8, ptr @sc_rretain_r32, ptr @sc_rrelease_r32, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ br i1 %t16, label %dcr.k10, label %dcr.f11
+dcr.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.k10:
+ %r0 = call ptr @sc_rnew_r32()
+ %t17 = getelementptr inbounds %sc_rs_r32, ptr %r0, i64 0, i32 1
+ %t18 = load ptr, ptr %t17 ; overflow map
+ %t19 = getelementptr inbounds i8, ptr %d, i64 13 ; ->null_proto
+ %t20 = load i8, ptr %t19
+ %t21 = getelementptr inbounds i8, ptr %t18, i64 11
+ store i8 %t20, ptr %t21
+ %t22 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t23 = load i64, ptr %t22
+ %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t25 = load ptr, ptr %t24
+ store i64 0, ptr %s26
+ br label %dcv.c12
+dcv.c12:
+ %t27 = load i64, ptr %s26
+ %t28 = icmp ult i64 %t27, %t23
+ br i1 %t28, label %dcv.b13, label %dcv.e15
+dcv.b13:
+ %t29 = mul i64 %t27, 48 ; sizeof(ScrDynEntry)
+ %t30 = getelementptr inbounds i8, ptr %t25, i64 %t29
+ %t31 = load ptr, ptr %t30
+ %t32 = getelementptr inbounds i8, ptr %t30, i64 8
+ %t33 = load i64, ptr %t32
+ %t34 = getelementptr inbounds i8, ptr %t30, i64 16
+ %t35 = load ptr, ptr %t34
+ %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t36
+ %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t38
+ %t39 = call ptr @sc_dc_66(ptr %t35, ptr %dcp)
+ %t40.cell = load ptr, ptr @scr_exc_active
+ %t40.kind = load i32, ptr %t40.cell
+ %t40 = icmp ne i32 %t40.kind, 0
+ br i1 %t40, label %dcv.u16, label %dcv.k17
+dcv.u16:
+ call void @sc_rrelease_r32(ptr %r0)
+ ret ptr null
+dcv.k17:
+ %t41 = call ptr @scr_str_new(ptr %t31, i64 %t33)
+ call void @scr_map_set_str_ref(ptr %t18, ptr %t41, ptr %t39) ; v moves in
+ call void @scr_str_release(ptr %t41)
+ br label %dcv.n14
+dcv.n14:
+ %t42 = add i64 %t27, 1
+ store i64 %t42, ptr %s26
+ br label %dcv.c12
+dcv.e15:
+ ret ptr %r0
+}
+
+define internal ptr @sc_td_33(ptr %v) #0 { ; to-dyn union:u24
+entry:
+ %t1 = icmp eq ptr %v, null
+ %t0 = select i1 %t1, i32 1, i32 0
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = call ptr @sc_td_12(ptr %v) ; array
+ ret ptr %t2
+tdu.a2:
+ %t3 = call ptr @scr_dyn_undefined()
+ %t4 = call ptr @scr_dyn_retain_v(ptr %t3)
+ ret ptr %t4
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_td_32(ptr %v) #0 { ; to-dyn record:r32
+entry:
+ %s11 = alloca double
+ %t1 = getelementptr inbounds %sc_rs_r32, ptr %v, i64 0, i32 1
+ %t2 = load ptr, ptr %t1 ; overflow map
+ %t3 = getelementptr inbounds i8, ptr %t2, i64 11
+ %t4 = load i8, ptr %t3
+ %t5 = icmp ne i8 %t4, 0
+ %t6 = select i1 %t5, ptr @scr_dyn_new_obj_null_proto, ptr @scr_dyn_new_obj
+ %t0 = call ptr %t6()
+ %t7 = getelementptr inbounds %sc_rs_r32, ptr %v, i64 0, i32 1
+ %t8 = load ptr, ptr %t7 ; overflow map
+ %t9 = call ptr @scr_map_keys_js_order(ptr %t8)
+ %t10 = call double @scr_arr_len(ptr %t9)
+ store double 0x0000000000000000, ptr %s11
+ br label %count.c0
+count.c0:
+ %t12 = load double, ptr %s11
+ %t13 = fcmp olt double %t12, %t10
+ br i1 %t13, label %count.b1, label %count.e3
+count.b1:
+ %t14 = call ptr @scr_arr_get_ref(ptr %t9, double %t12) ; key (+1)
+ %t15 = getelementptr inbounds %ScrStr, ptr %t14, i64 0, i32 1
+ %t16 = load i64, ptr %t15
+ %t17 = getelementptr inbounds i8, ptr %t14, i64 24 ; ->data
+ %t18 = call ptr @scr_map_get_str_ref(ptr %t8, ptr %t14)
+ %t19 = call ptr @sc_td_33(ptr %t18)
+ call void @scr_dyn_obj_set(ptr %t0, ptr %t17, i64 %t16, ptr %t19)
+ call void @scr_arr_release(ptr %t18)
+ call void @scr_str_release(ptr %t14)
+ br label %count.n2
+count.n2:
+ %t20 = fadd double %t12, 0x3FF0000000000000
+ store double %t20, ptr %s11
+ br label %count.c0
+count.e3:
+ call void @scr_arr_release(ptr %t9)
+ call ptr @scr_dyn_mark_snapshot(ptr %t0)
+ ret ptr %t0
+}
+
+define internal void @sc_ds_buf(ptr %b, ptr %d) #0 { ; String(unknown), recursive
+entry:
+ %s19 = alloca i64
+ %s35 = alloca ptr
+ %s43 = alloca ptr
+ %s52 = alloca i1
+ %s59 = alloca i1
+ %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t1 = load i32, ptr %t0
+ switch i32 %t1, label %ds.d0 [ i32 0, label %ds.k01 i32 1, label %ds.k12 i32 2, label %ds.k23 i32 3, label %ds.k34 i32 4, label %ds.k45 i32 5, label %ds.k56 i32 6, label %ds.k67 i32 7, label %ds.k78 i32 8, label %ds.k89 i32 9, label %ds.k910 i32 10, label %ds.k1011 i32 12, label %ds.k1212 i32 13, label %ds.k1313 i32 14, label %ds.k1414 i32 15, label %ds.k1515 ]
+ds.k1313:
+ call void @scr_dyn_proxy_unsupported(ptr @sc_cs_132549232319664)
+ br label %ds.d0
+ds.k1212:
+ %t2 = call ptr @scr_dyn_typed_ref_string_view(ptr %d)
+ call void @sc_ds_buf(ptr %b, ptr %t2)
+ call void @scr_dyn_release_v(ptr %t2)
+ br label %ds.d0
+ds.k67:
+ call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_4134463689533233, i64 9) ; "undefined"
+ br label %ds.d0
+ds.k01:
+ call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_2043119860907636, i64 4) ; "null"
+ br label %ds.d0
+ds.k12:
+ %t3 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.b
+ %t4 = load i8, ptr %t3
+ %t5 = trunc i8 %t4 to i1
+ %t6 = select i1 %t5, ptr @sc_cs_3197286426789411, ptr @sc_cs_4446214944262365
+ call void @scr_jb_puts(ptr %b, ptr %t6)
+ br label %ds.d0
+ds.k1414:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_bigint_to_string(ptr %t8, double 0x4024000000000000)
+ call void @scr_jb_put_str(ptr %b, ptr %t9)
+ call void @scr_str_release(ptr %t9)
+ br label %ds.d0
+ds.k1515:
+ %t10 = call ptr @scr_dyn_string_coerce(ptr %d)
+ call void @scr_str_release(ptr %t10)
+ br label %ds.d0
+ds.k23:
+ %t11 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t12 = load double, ptr %t11
+ call void @scr_jb_put_number(ptr %b, double %t12)
+ br label %ds.d0
+ds.k34:
+ %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t14 = load ptr, ptr %t13
+ call void @scr_jb_put_str(ptr %b, ptr %t14)
+ br label %ds.d0
+ds.k45:
+ %t15 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t16 = load i64, ptr %t15
+ %t17 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t18 = load ptr, ptr %t17
+ store i64 0, ptr %s19
+ br label %ds.ar.c16
+ds.ar.c16:
+ %t20 = load i64, ptr %s19
+ %t21 = icmp ult i64 %t20, %t16
+ br i1 %t21, label %ds.ar.b17, label %ds.ar.e19
+ds.ar.b17:
+ %t22 = icmp ugt i64 %t20, 0
+ br i1 %t22, label %ds.cm20, label %ds.el21
+ds.cm20:
+ call void @scr_jb_putc(ptr %b, i8 44)
+ br label %ds.el21
+ds.el21:
+ %t23 = getelementptr inbounds ptr, ptr %t18, i64 %t20
+ %t24 = load ptr, ptr %t23
+ %t25 = getelementptr inbounds i8, ptr %t24, i64 8 ; ->kind
+ %t26 = load i32, ptr %t25
+ %t27 = icmp eq i32 %t26, 6
+ %t28 = icmp eq i32 %t26, 0
+ %t29 = or i1 %t27, %t28
+ br i1 %t29, label %ds.sk22, label %ds.rc23
+ds.sk22:
+ br label %ds.ar.n18
+ds.rc23:
+ call void @sc_ds_buf(ptr %b, ptr %t24)
+ br label %ds.ar.n18
+ds.ar.n18:
+ %t30 = add i64 %t20, 1
+ store i64 %t30, ptr %s19
+ br label %ds.ar.c16
+ds.ar.e19:
+ br label %ds.d0
+ds.k56:
+ %t31 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3852344104315805, i64 6) ; .%error
+ %t32 = icmp ne ptr %t31, null
+ br i1 %t32, label %ds.er24, label %ds.pl25
+ds.pl25:
+ call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_3141069757846984, i64 15) ; "[object Object]"
+ br label %ds.d0
+ds.er24:
+ %t33 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2298207874780604, i64 4) ; .name
+ %t34 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3013970235377041, i64 7) ; .message
+ store ptr null, ptr %s35
+ %t36 = icmp ne ptr %t33, null
+ br i1 %t36, label %ds.en.t26, label %ds.en.j27
+ds.en.t26:
+ %t37 = getelementptr inbounds i8, ptr %t33, i64 8 ; ->kind
+ %t38 = load i32, ptr %t37
+ %t39 = icmp eq i32 %t38, 3
+ br i1 %t39, label %ds.en.s28, label %ds.en.j27
+ds.en.s28:
+ %t40 = getelementptr inbounds i8, ptr %t33, i64 16 ; ->v
+ %t41 = load ptr, ptr %t40
+ store ptr %t41, ptr %s35
+ br label %ds.en.j27
+ds.en.j27:
+ %t42 = load ptr, ptr %s35
+ store ptr null, ptr %s43
+ %t44 = icmp ne ptr %t34, null
+ br i1 %t44, label %ds.em.t29, label %ds.em.j30
+ds.em.t29:
+ %t45 = getelementptr inbounds i8, ptr %t34, i64 8 ; ->kind
+ %t46 = load i32, ptr %t45
+ %t47 = icmp eq i32 %t46, 3
+ br i1 %t47, label %ds.em.s31, label %ds.em.j30
+ds.em.s31:
+ %t48 = getelementptr inbounds i8, ptr %t34, i64 16 ; ->v
+ %t49 = load ptr, ptr %t48
+ store ptr %t49, ptr %s43
+ br label %ds.em.j30
+ds.em.j30:
+ %t50 = load ptr, ptr %s43
+ %t51 = icmp ne ptr %t42, null
+ br i1 %t51, label %ds.pn.t32, label %ds.pn.j33
+ds.pn.t32:
+ call void @scr_jb_put_str(ptr %b, ptr %t42)
+ br label %ds.pn.j33
+ds.pn.j33:
+ store i1 false, ptr %s52
+ %t53 = icmp ne ptr %t42, null
+ br i1 %t53, label %ds.ln.t34, label %ds.ln.j35
+ds.ln.t34:
+ %t54 = getelementptr inbounds %ScrStr, ptr %t42, i64 0, i32 1
+ %t55 = load i64, ptr %t54
+ %t56 = getelementptr inbounds i8, ptr %t42, i64 24 ; ->data
+ %t57 = icmp ne i64 %t55, 0
+ store i1 %t57, ptr %s52
+ br label %ds.ln.j35
+ds.ln.j35:
+ %t58 = load i1, ptr %s52
+ store i1 false, ptr %s59
+ %t60 = icmp ne ptr %t50, null
+ br i1 %t60, label %ds.lm.t36, label %ds.lm.j37
+ds.lm.t36:
+ %t61 = getelementptr inbounds %ScrStr, ptr %t50, i64 0, i32 1
+ %t62 = load i64, ptr %t61
+ %t63 = getelementptr inbounds i8, ptr %t50, i64 24 ; ->data
+ %t64 = icmp ne i64 %t62, 0
+ store i1 %t64, ptr %s59
+ br label %ds.lm.j37
+ds.lm.j37:
+ %t65 = load i1, ptr %s59
+ %t66 = and i1 %t58, %t65
+ br i1 %t66, label %ds.cl38, label %ds.cj39
+ds.cl38:
+ call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_1222807074245902, i64 2) ; ": "
+ br label %ds.cj39
+ds.cj39:
+ %t67 = icmp ne ptr %t50, null
+ br i1 %t67, label %ds.pm.t40, label %ds.pm.j41
+ds.pm.t40:
+ call void @scr_jb_put_str(ptr %b, ptr %t50)
+ br label %ds.pm.j41
+ds.pm.j41:
+ br label %ds.d0
+ds.k78:
+ %t68 = getelementptr inbounds i8, ptr %d, i64 12 ; ->buffer
+ %t69 = load i8, ptr %t68
+ %t70 = icmp ne i8 %t69, 0
+ br i1 %t70, label %ds.bu42, label %ds.bj43
+ds.bu42:
+ %t71 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t72 = load ptr, ptr %t71
+ %t73 = call ptr @scr_bytes_to_str(ptr %t72, ptr @sc_lit_2605532998565466)
+ call void @scr_jb_put_str(ptr %b, ptr %t73)
+ call void @scr_str_release(ptr %t73)
+ br label %ds.d0
+ds.bj43:
+ %t74 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t75 = load ptr, ptr %t74
+ %t76 = call ptr @scr_bytes_join(ptr %t75, ptr @sc_lit_3662817572149066)
+ call void @scr_jb_put_str(ptr %b, ptr %t76)
+ call void @scr_str_release(ptr %t76)
+ br label %ds.d0
+ds.k89:
+ call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_2763807487655546, i64 9) ; "function "
+ %t77 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.fn.name
+ %t78 = load ptr, ptr %t77
+ %t79 = icmp ne ptr %t78, null
+ br i1 %t79, label %ds.fn44, label %ds.fj45
+ds.fn44:
+ call void @scr_jb_puts(ptr %b, ptr %t78)
+ br label %ds.fj45
+ds.fj45:
+ call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_3328797693070444, i64 20) ; "() { [native code] }"
+ br label %ds.d0
+ds.k910:
+ %t80 = call ptr @scr_dyn_to_string(ptr %d, ptr null)
+ call void @scr_jb_put_str(ptr %b, ptr %t80)
+ call void @scr_str_release(ptr %t80)
+ br label %ds.d0
+ds.k1011:
+ call void @scr_jb_write_utf8(ptr %b, ptr @sc_cs_3182400578284434, i64 16) ; "[object Promise]"
+ br label %ds.d0
+ds.d0:
+ ret void
+}
+
+define internal ptr @sc_ds(ptr %d) #0 { ; String(unknown) -> owned (+1)
+entry:
+ %dsb = alloca %ScrJsonBuf
+ %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t1 = load i32, ptr %t0
+ %t2 = icmp eq i32 %t1, 3
+ br i1 %t2, label %ds.f0, label %ds.s1
+ds.f0:
+ %t3 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t4 = load ptr, ptr %t3
+ %t5 = call ptr @scr_str_retain_v(ptr %t4)
+ ret ptr %t5
+ds.s1:
+ call void @scr_jb_init(ptr %dsb)
+ call void @sc_ds_buf(ptr %dsb, ptr %d)
+ %t6 = call ptr @scr_jb_finish(ptr %dsb)
+ ret ptr %t6
+}
+
+define internal zeroext i1 @sc_dm_24(ptr %d) #0 { ; matches bool
+entry:
+ %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t1 = load i32, ptr %t0
+ %t2 = icmp eq i32 %t1, 12
+ br i1 %t2, label %dm.tr.mat0, label %dm.tr.plain1
+dm.tr.mat0:
+ %t3 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t4 = call zeroext i1 @sc_dm_24(ptr %t3)
+ call void @scr_dyn_release_v(ptr %t3)
+ ret i1 %t4
+dm.tr.plain1:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 1
+ ret i1 %t7
+}
+
+define internal ptr @sc_dc_68(ptr %d, ptr %path) #0 { ; check union:u13
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3113150508978810, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_24(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call zeroext i1 @sc_dc_3(ptr %d, ptr %path)
+ %t4 = call ptr @scr_union_new_bool(i32 0, i1 %t3)
+ ret ptr %t4
+dcu.n3:
+ %t5 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t5, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr @sc_unit_5
+dcu.n5:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3113150508978810, i64 9)
+ %t10 = icmp ne ptr %t9, null
+ %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t12 = call ptr @sc_dc_68(ptr %t11, ptr %path)
+ call void @scr_dyn_release_v(ptr %t11)
+ %t13 = icmp ne ptr %t12, null
+ br i1 %t13, label %dcu.ok8, label %dcu.bad9
+dcu.bad9:
+ br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11
+dcu.bad.drop10:
+ call void @scr_union_release(ptr %t9)
+ br label %dcu.bad.ret11
+dcu.bad.ret11:
+ ret ptr null
+dcu.ok8:
+ br i1 %t10, label %dcu.refresh12, label %dcu.put13
+dcu.refresh12:
+ %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1
+ %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1
+ %t16 = load i32, ptr %t14 ; tag
+ %t17 = load i32, ptr %t15
+ store i32 %t17, ptr %t14
+ store i32 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2
+ %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2
+ %t20 = load ptr, ptr %t18 ; retain
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3
+ %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3
+ %t24 = load ptr, ptr %t22 ; release
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4
+ %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4
+ %t28 = load ptr, ptr %t26 ; trace
+ %t29 = load ptr, ptr %t27
+ store ptr %t29, ptr %t26
+ store ptr %t28, ptr %t27
+ %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5
+ %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5
+ %t32 = load i64, ptr %t30 ; slot
+ %t33 = load i64, ptr %t31
+ store i64 %t33, ptr %t30
+ store i64 %t32, ptr %t31
+ call void @scr_union_release(ptr %t12)
+ ret ptr %t9
+dcu.put13:
+ store i8 1, ptr @sc_retype_guard_4
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3113150508978810, i64 9, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false)
+ ret ptr %t12
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1887425832114125, ptr %d)
+ ret ptr null
+}
+
+define internal zeroext i1 @sc_dm_26(ptr %d) #0 { ; matches union:u15
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3624345082936930, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_26(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = call zeroext i1 @sc_dm_2(ptr %d)
+ br i1 %t6, label %dm.y4, label %dm.n5
+dm.n5:
+ %t7 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t7, label %dm.y4, label %dm.n6
+dm.n6:
+ ret i1 false
+dm.y4:
+ ret i1 true
+}
+
+define internal zeroext i1 @sc_dm_27(ptr %d) #0 { ; matches union:u18
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4048119461312915, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_27(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = call zeroext i1 @sc_dm_19(ptr %d)
+ br i1 %t6, label %dm.y4, label %dm.n5
+dm.n5:
+ %t7 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t7, label %dm.y4, label %dm.n6
+dm.n6:
+ ret i1 false
+dm.y4:
+ ret i1 true
+}
+
+define internal zeroext i1 @sc_dm_25(ptr %d) #0 { ; matches record:r6
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_408244120040977, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_25(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ %t9 = icmp eq i32 %t7, 13
+ %t10 = or i1 %t8, %t9
+ br i1 %t10, label %dm.o5, label %dm.f4
+dm.o5:
+ %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2857538079689091, i64 13)
+ %t12.cell = load ptr, ptr @scr_exc_active
+ %t12.kind = load i32, ptr %t12.cell
+ %t12 = icmp ne i32 %t12.kind, 0
+ br i1 %t12, label %dm.read.u7, label %dm.read.k8
+dm.read.u7:
+ call void @scr_dyn_release(ptr %t11)
+ ret i1 false
+dm.read.k8:
+ %t13 = call zeroext i1 @sc_dm_26(ptr %t11)
+ call void @scr_dyn_release(ptr %t11)
+ br i1 %t13, label %dm.n6, label %dm.f4
+dm.n6:
+ %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2659449979257915, i64 12)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dm.read.u10, label %dm.read.k11
+dm.read.u10:
+ call void @scr_dyn_release(ptr %t14)
+ ret i1 false
+dm.read.k11:
+ %t16 = call zeroext i1 @sc_dm_26(ptr %t14)
+ call void @scr_dyn_release(ptr %t14)
+ br i1 %t16, label %dm.n9, label %dm.f4
+dm.n9:
+ %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2882770253409103, i64 8)
+ %t18.cell = load ptr, ptr @scr_exc_active
+ %t18.kind = load i32, ptr %t18.cell
+ %t18 = icmp ne i32 %t18.kind, 0
+ br i1 %t18, label %dm.read.u13, label %dm.read.k14
+dm.read.u13:
+ call void @scr_dyn_release(ptr %t17)
+ ret i1 false
+dm.read.k14:
+ %t19 = call zeroext i1 @sc_dm_26(ptr %t17)
+ call void @scr_dyn_release(ptr %t17)
+ br i1 %t19, label %dm.n12, label %dm.f4
+dm.n12:
+ %t20 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1295387805544367, i64 7)
+ %t21.cell = load ptr, ptr @scr_exc_active
+ %t21.kind = load i32, ptr %t21.cell
+ %t21 = icmp ne i32 %t21.kind, 0
+ br i1 %t21, label %dm.read.u16, label %dm.read.k17
+dm.read.u16:
+ call void @scr_dyn_release(ptr %t20)
+ ret i1 false
+dm.read.k17:
+ %t22 = call zeroext i1 @sc_dm_27(ptr %t20)
+ call void @scr_dyn_release(ptr %t20)
+ br i1 %t22, label %dm.n15, label %dm.f4
+dm.n15:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_71(ptr %d, ptr %path) #0 { ; check union:u15
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3624345082936930, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_2(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call double @sc_dc_2(ptr %d, ptr %path)
+ %t4 = call ptr @scr_union_new_f64(i32 0, double %t3)
+ ret ptr %t4
+dcu.n3:
+ %t5 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t5, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr @sc_unit_3
+dcu.n5:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3624345082936930, i64 9)
+ %t10 = icmp ne ptr %t9, null
+ %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t12 = call ptr @sc_dc_71(ptr %t11, ptr %path)
+ call void @scr_dyn_release_v(ptr %t11)
+ %t13 = icmp ne ptr %t12, null
+ br i1 %t13, label %dcu.ok8, label %dcu.bad9
+dcu.bad9:
+ br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11
+dcu.bad.drop10:
+ call void @scr_union_release(ptr %t9)
+ br label %dcu.bad.ret11
+dcu.bad.ret11:
+ ret ptr null
+dcu.ok8:
+ br i1 %t10, label %dcu.refresh12, label %dcu.put13
+dcu.refresh12:
+ %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1
+ %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1
+ %t16 = load i32, ptr %t14 ; tag
+ %t17 = load i32, ptr %t15
+ store i32 %t17, ptr %t14
+ store i32 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2
+ %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2
+ %t20 = load ptr, ptr %t18 ; retain
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3
+ %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3
+ %t24 = load ptr, ptr %t22 ; release
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4
+ %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4
+ %t28 = load ptr, ptr %t26 ; trace
+ %t29 = load ptr, ptr %t27
+ store ptr %t29, ptr %t26
+ store ptr %t28, ptr %t27
+ %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5
+ %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5
+ %t32 = load i64, ptr %t30 ; slot
+ %t33 = load i64, ptr %t31
+ store i64 %t33, ptr %t30
+ store i64 %t32, ptr %t31
+ call void @scr_union_release(ptr %t12)
+ ret ptr %t9
+dcu.put13:
+ store i8 1, ptr @sc_retype_guard_5
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3624345082936930, i64 9, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false)
+ ret ptr %t12
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3875462036084145, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_72(ptr %d, ptr %path) #0 { ; check union:u18
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4048119461312915, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_19(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_24(ptr %d, ptr %path)
+ ret ptr %t3
+dcu.n3:
+ %t4 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t4, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr null
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_72(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1776203598951489, ptr %d)
+ ret ptr null
+}
+
+@sc_rnames_7 = internal constant [4 x ptr] [ptr @sc_cs_1295387805544367, ptr @sc_cs_2659449979257915, ptr @sc_cs_2882770253409103, ptr @sc_cs_2857538079689091]
+@sc_rnames_7_lens = internal constant [4 x i64] [i64 7, i64 12, i64 8, i64 13]
+
+define internal ptr @sc_dc_70(ptr %d, ptr %path) #0 { ; check record:r6
+entry:
+ %dcp = alloca %ScrDynPath
+ %s54 = alloca ptr
+ %s91 = alloca ptr
+ %s128 = alloca ptr
+ %s157 = alloca ptr
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_408244120040977, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_408244120040977, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_70(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r6(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r6, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r6, ptr %t8, i64 0, i32 1
+ %t12 = load { i32, i64 }, ptr %t10 ; maxFieldBytes
+ %t13 = load { i32, i64 }, ptr %t11
+ store { i32, i64 } %t13, ptr %t10
+ store { i32, i64 } %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r6, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r6, ptr %t8, i64 0, i32 2
+ %t16 = load { i32, i64 }, ptr %t14 ; maxFileBytes
+ %t17 = load { i32, i64 }, ptr %t15
+ store { i32, i64 } %t17, ptr %t14
+ store { i32, i64 } %t16, ptr %t15
+ %t18 = getelementptr inbounds %sc_rs_r6, ptr %t5, i64 0, i32 3
+ %t19 = getelementptr inbounds %sc_rs_r6, ptr %t8, i64 0, i32 3
+ %t20 = load { i32, i64 }, ptr %t18 ; maxFiles
+ %t21 = load { i32, i64 }, ptr %t19
+ store { i32, i64 } %t21, ptr %t18
+ store { i32, i64 } %t20, ptr %t19
+ %t22 = getelementptr inbounds %sc_rs_r6, ptr %t5, i64 0, i32 4
+ %t23 = getelementptr inbounds %sc_rs_r6, ptr %t8, i64 0, i32 4
+ %t24 = load ptr, ptr %t22 ; storage
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ call void @sc_rrelease_r6(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_408244120040977, i64 9, ptr %t8, ptr @sc_rretain_r6, ptr @sc_rrelease_r6, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t26 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t27 = load i32, ptr %t26
+ %t28 = icmp eq i32 %t27, 5
+ %t29 = icmp eq i32 %t27, 13
+ %t30 = or i1 %t28, %t29
+ br i1 %t30, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r6()
+ %t31 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2857538079689091, i64 13)
+ %t32.cell = load ptr, ptr @scr_exc_active
+ %t32.kind = load i32, ptr %t32.cell
+ %t32 = icmp ne i32 %t32.kind, 0
+ br i1 %t32, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t31)
+ call void @sc_rrelease_r6(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t33
+ %t34 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2857538079689091, ptr %t34
+ %t35 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t35
+ %t36 = call ptr @sc_dc_71(ptr %t31, ptr %dcp)
+ call void @scr_dyn_release(ptr %t31)
+ %t37 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 1 ; .maxFieldBytes
+ %t38 = icmp eq ptr %t36, null
+ %t39 = select i1 %t38, ptr @sc_union_none, ptr %t36
+ %t40 = getelementptr inbounds %ScrUnion, ptr %t39, i64 0, i32 1
+ %t42 = load i32, ptr %t40
+ %t41 = getelementptr inbounds %ScrUnion, ptr %t39, i64 0, i32 5
+ %t43 = load i64, ptr %t41
+ %t44 = getelementptr inbounds { i32, i64 }, ptr %t37, i32 0, i32 0
+ store i32 %t42, ptr %t44
+ %t45 = getelementptr inbounds { i32, i64 }, ptr %t37, i32 0, i32 1
+ store i64 %t43, ptr %t45
+ %t46.cell = load ptr, ptr @scr_exc_active
+ %t46.kind = load i32, ptr %t46.cell
+ %t46 = icmp ne i32 %t46.kind, 0
+ br i1 %t46, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @scr_union_release(ptr %t36)
+ call void @sc_rrelease_r6(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t48 = getelementptr inbounds %ScrUnion, ptr %t36, i64 0, i32 1
+ %t47 = load i32, ptr %t48
+ %t49 = icmp eq i32 %t47, 1
+ %t50 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t51 = load i32, ptr %t50
+ %t52 = icmp eq i32 %t51, 5
+ %t53 = and i1 %t49, %t52
+ store ptr %t36, ptr %s54
+ br i1 %t53, label %dcr.has16, label %dcr.hasj17
+dcr.has16:
+ %t55 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2857538079689091, i64 13) ; .maxFieldBytes
+ %t56 = icmp eq ptr %t55, null
+ %t57 = select i1 %t56, ptr @sc_absent_1, ptr %t36
+ store ptr %t57, ptr %s54
+ br label %dcr.hasj17
+dcr.hasj17:
+ %t58 = load ptr, ptr %s54
+ %t59 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 1 ; .maxFieldBytes
+ %t60 = icmp eq ptr %t58, null
+ %t61 = select i1 %t60, ptr @sc_union_none, ptr %t58
+ %t62 = getelementptr inbounds %ScrUnion, ptr %t61, i64 0, i32 1
+ %t64 = load i32, ptr %t62
+ %t63 = getelementptr inbounds %ScrUnion, ptr %t61, i64 0, i32 5
+ %t65 = load i64, ptr %t63
+ %t66 = getelementptr inbounds { i32, i64 }, ptr %t59, i32 0, i32 0
+ store i32 %t64, ptr %t66
+ %t67 = getelementptr inbounds { i32, i64 }, ptr %t59, i32 0, i32 1
+ store i64 %t65, ptr %t67
+ call void @scr_union_release(ptr %t36)
+ %t68 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2659449979257915, i64 12)
+ %t69.cell = load ptr, ptr @scr_exc_active
+ %t69.kind = load i32, ptr %t69.cell
+ %t69 = icmp ne i32 %t69.kind, 0
+ br i1 %t69, label %dcr.read.u18, label %dcr.read.k19
+dcr.read.u18:
+ call void @scr_dyn_release(ptr %t68)
+ call void @sc_rrelease_r6(ptr %r0)
+ ret ptr null
+dcr.read.k19:
+ %t70 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t70
+ %t71 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2659449979257915, ptr %t71
+ %t72 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t72
+ %t73 = call ptr @sc_dc_71(ptr %t68, ptr %dcp)
+ call void @scr_dyn_release(ptr %t68)
+ %t74 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 2 ; .maxFileBytes
+ %t75 = icmp eq ptr %t73, null
+ %t76 = select i1 %t75, ptr @sc_union_none, ptr %t73
+ %t77 = getelementptr inbounds %ScrUnion, ptr %t76, i64 0, i32 1
+ %t79 = load i32, ptr %t77
+ %t78 = getelementptr inbounds %ScrUnion, ptr %t76, i64 0, i32 5
+ %t80 = load i64, ptr %t78
+ %t81 = getelementptr inbounds { i32, i64 }, ptr %t74, i32 0, i32 0
+ store i32 %t79, ptr %t81
+ %t82 = getelementptr inbounds { i32, i64 }, ptr %t74, i32 0, i32 1
+ store i64 %t80, ptr %t82
+ %t83.cell = load ptr, ptr @scr_exc_active
+ %t83.kind = load i32, ptr %t83.cell
+ %t83 = icmp ne i32 %t83.kind, 0
+ br i1 %t83, label %dcr.u20, label %dcr.k21
+dcr.u20:
+ call void @scr_union_release(ptr %t73)
+ call void @sc_rrelease_r6(ptr %r0)
+ ret ptr null
+dcr.k21:
+ %t85 = getelementptr inbounds %ScrUnion, ptr %t73, i64 0, i32 1
+ %t84 = load i32, ptr %t85
+ %t86 = icmp eq i32 %t84, 1
+ %t87 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t88 = load i32, ptr %t87
+ %t89 = icmp eq i32 %t88, 5
+ %t90 = and i1 %t86, %t89
+ store ptr %t73, ptr %s91
+ br i1 %t90, label %dcr.has22, label %dcr.hasj23
+dcr.has22:
+ %t92 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2659449979257915, i64 12) ; .maxFileBytes
+ %t93 = icmp eq ptr %t92, null
+ %t94 = select i1 %t93, ptr @sc_absent_1, ptr %t73
+ store ptr %t94, ptr %s91
+ br label %dcr.hasj23
+dcr.hasj23:
+ %t95 = load ptr, ptr %s91
+ %t96 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 2 ; .maxFileBytes
+ %t97 = icmp eq ptr %t95, null
+ %t98 = select i1 %t97, ptr @sc_union_none, ptr %t95
+ %t99 = getelementptr inbounds %ScrUnion, ptr %t98, i64 0, i32 1
+ %t101 = load i32, ptr %t99
+ %t100 = getelementptr inbounds %ScrUnion, ptr %t98, i64 0, i32 5
+ %t102 = load i64, ptr %t100
+ %t103 = getelementptr inbounds { i32, i64 }, ptr %t96, i32 0, i32 0
+ store i32 %t101, ptr %t103
+ %t104 = getelementptr inbounds { i32, i64 }, ptr %t96, i32 0, i32 1
+ store i64 %t102, ptr %t104
+ call void @scr_union_release(ptr %t73)
+ %t105 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2882770253409103, i64 8)
+ %t106.cell = load ptr, ptr @scr_exc_active
+ %t106.kind = load i32, ptr %t106.cell
+ %t106 = icmp ne i32 %t106.kind, 0
+ br i1 %t106, label %dcr.read.u24, label %dcr.read.k25
+dcr.read.u24:
+ call void @scr_dyn_release(ptr %t105)
+ call void @sc_rrelease_r6(ptr %r0)
+ ret ptr null
+dcr.read.k25:
+ %t107 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t107
+ %t108 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2882770253409103, ptr %t108
+ %t109 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t109
+ %t110 = call ptr @sc_dc_71(ptr %t105, ptr %dcp)
+ call void @scr_dyn_release(ptr %t105)
+ %t111 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 3 ; .maxFiles
+ %t112 = icmp eq ptr %t110, null
+ %t113 = select i1 %t112, ptr @sc_union_none, ptr %t110
+ %t114 = getelementptr inbounds %ScrUnion, ptr %t113, i64 0, i32 1
+ %t116 = load i32, ptr %t114
+ %t115 = getelementptr inbounds %ScrUnion, ptr %t113, i64 0, i32 5
+ %t117 = load i64, ptr %t115
+ %t118 = getelementptr inbounds { i32, i64 }, ptr %t111, i32 0, i32 0
+ store i32 %t116, ptr %t118
+ %t119 = getelementptr inbounds { i32, i64 }, ptr %t111, i32 0, i32 1
+ store i64 %t117, ptr %t119
+ %t120.cell = load ptr, ptr @scr_exc_active
+ %t120.kind = load i32, ptr %t120.cell
+ %t120 = icmp ne i32 %t120.kind, 0
+ br i1 %t120, label %dcr.u26, label %dcr.k27
+dcr.u26:
+ call void @scr_union_release(ptr %t110)
+ call void @sc_rrelease_r6(ptr %r0)
+ ret ptr null
+dcr.k27:
+ %t122 = getelementptr inbounds %ScrUnion, ptr %t110, i64 0, i32 1
+ %t121 = load i32, ptr %t122
+ %t123 = icmp eq i32 %t121, 1
+ %t124 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t125 = load i32, ptr %t124
+ %t126 = icmp eq i32 %t125, 5
+ %t127 = and i1 %t123, %t126
+ store ptr %t110, ptr %s128
+ br i1 %t127, label %dcr.has28, label %dcr.hasj29
+dcr.has28:
+ %t129 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2882770253409103, i64 8) ; .maxFiles
+ %t130 = icmp eq ptr %t129, null
+ %t131 = select i1 %t130, ptr @sc_absent_1, ptr %t110
+ store ptr %t131, ptr %s128
+ br label %dcr.hasj29
+dcr.hasj29:
+ %t132 = load ptr, ptr %s128
+ %t133 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 3 ; .maxFiles
+ %t134 = icmp eq ptr %t132, null
+ %t135 = select i1 %t134, ptr @sc_union_none, ptr %t132
+ %t136 = getelementptr inbounds %ScrUnion, ptr %t135, i64 0, i32 1
+ %t138 = load i32, ptr %t136
+ %t137 = getelementptr inbounds %ScrUnion, ptr %t135, i64 0, i32 5
+ %t139 = load i64, ptr %t137
+ %t140 = getelementptr inbounds { i32, i64 }, ptr %t133, i32 0, i32 0
+ store i32 %t138, ptr %t140
+ %t141 = getelementptr inbounds { i32, i64 }, ptr %t133, i32 0, i32 1
+ store i64 %t139, ptr %t141
+ call void @scr_union_release(ptr %t110)
+ %t142 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1295387805544367, i64 7)
+ %t143.cell = load ptr, ptr @scr_exc_active
+ %t143.kind = load i32, ptr %t143.cell
+ %t143 = icmp ne i32 %t143.kind, 0
+ br i1 %t143, label %dcr.read.u30, label %dcr.read.k31
+dcr.read.u30:
+ call void @scr_dyn_release(ptr %t142)
+ call void @sc_rrelease_r6(ptr %r0)
+ ret ptr null
+dcr.read.k31:
+ %t144 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t144
+ %t145 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_1295387805544367, ptr %t145
+ %t146 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t146
+ %t147 = call ptr @sc_dc_72(ptr %t142, ptr %dcp)
+ call void @scr_dyn_release(ptr %t142)
+ %t148 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 4 ; .storage
+ store ptr %t147, ptr %t148
+ %t149.cell = load ptr, ptr @scr_exc_active
+ %t149.kind = load i32, ptr %t149.cell
+ %t149 = icmp ne i32 %t149.kind, 0
+ br i1 %t149, label %dcr.u32, label %dcr.k33
+dcr.u32:
+ call void @sc_rrelease_r6(ptr %r0)
+ ret ptr null
+dcr.k33:
+ %t151 = icmp eq ptr %t147, null
+ %t150 = select i1 %t151, i32 1, i32 0
+ %t152 = icmp eq i32 %t150, 1
+ %t153 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t154 = load i32, ptr %t153
+ %t155 = icmp eq i32 %t154, 5
+ %t156 = and i1 %t152, %t155
+ store ptr %t147, ptr %s157
+ br i1 %t156, label %dcr.has34, label %dcr.hasj35
+dcr.has34:
+ %t158 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1295387805544367, i64 7) ; .storage
+ %t159 = icmp eq ptr %t158, null
+ %t160 = select i1 %t159, ptr @sc_nullable_absent, ptr %t147
+ store ptr %t160, ptr %s157
+ br label %dcr.hasj35
+dcr.hasj35:
+ %t161 = load ptr, ptr %s157
+ %t162 = getelementptr inbounds %sc_rs_r6, ptr %r0, i64 0, i32 4 ; .storage
+ store ptr %t161, ptr %t162
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_7, ptr @sc_rnames_7_lens, i64 4)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_69(ptr %d, ptr %path) #0 { ; check union:u19
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2786531977708587, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_25(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_70(ptr %d, ptr %path)
+ ret ptr %t3
+dcu.n3:
+ %t4 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t4, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr null
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_69(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3884343448446622, ptr %d)
+ ret ptr null
+}
+
+@sc_rnames_8 = internal constant [2 x ptr] [ptr @sc_cs_616655122974952, ptr @sc_cs_2277266704045385]
+@sc_rnames_8_lens = internal constant [2 x i64] [i64 4, i64 9]
+
+define internal ptr @sc_dc_67(ptr %d, ptr %path) #0 { ; check record:r7
+entry:
+ %dcp = alloca %ScrDynPath
+ %s46 = alloca ptr
+ %s75 = alloca ptr
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_708899555714582, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_708899555714582, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_67(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r7(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r7, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r7, ptr %t8, i64 0, i32 1
+ %t12 = load { i32, i64 }, ptr %t10 ; body
+ %t13 = load { i32, i64 }, ptr %t11
+ store { i32, i64 } %t13, ptr %t10
+ store { i32, i64 } %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r7, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r7, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; multipart
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ call void @sc_rrelease_r7(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_708899555714582, i64 9, ptr %t8, ptr @sc_rretain_r7, ptr @sc_rrelease_r7, i1 true)
+ ret ptr %t8
+dc.tr.plain3:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t20 = icmp eq i32 %t19, 5
+ %t21 = icmp eq i32 %t19, 13
+ %t22 = or i1 %t20, %t21
+ br i1 %t22, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r7()
+ %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4)
+ %t24.cell = load ptr, ptr @scr_exc_active
+ %t24.kind = load i32, ptr %t24.cell
+ %t24 = icmp ne i32 %t24.kind, 0
+ br i1 %t24, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t23)
+ call void @sc_rrelease_r7(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t25 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t25
+ %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_616655122974952, ptr %t26
+ %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t27
+ %t28 = call ptr @sc_dc_68(ptr %t23, ptr %dcp)
+ call void @scr_dyn_release(ptr %t23)
+ %t29 = getelementptr inbounds %sc_rs_r7, ptr %r0, i64 0, i32 1 ; .body
+ %t30 = icmp eq ptr %t28, null
+ %t31 = select i1 %t30, ptr @sc_union_none, ptr %t28
+ %t32 = getelementptr inbounds %ScrUnion, ptr %t31, i64 0, i32 1
+ %t34 = load i32, ptr %t32
+ %t33 = getelementptr inbounds %ScrUnion, ptr %t31, i64 0, i32 5
+ %t35 = load i64, ptr %t33
+ %t36 = getelementptr inbounds { i32, i64 }, ptr %t29, i32 0, i32 0
+ store i32 %t34, ptr %t36
+ %t37 = getelementptr inbounds { i32, i64 }, ptr %t29, i32 0, i32 1
+ store i64 %t35, ptr %t37
+ %t38.cell = load ptr, ptr @scr_exc_active
+ %t38.kind = load i32, ptr %t38.cell
+ %t38 = icmp ne i32 %t38.kind, 0
+ br i1 %t38, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @scr_union_release(ptr %t28)
+ call void @sc_rrelease_r7(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t40 = getelementptr inbounds %ScrUnion, ptr %t28, i64 0, i32 1
+ %t39 = load i32, ptr %t40
+ %t41 = icmp eq i32 %t39, 1
+ %t42 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t43 = load i32, ptr %t42
+ %t44 = icmp eq i32 %t43, 5
+ %t45 = and i1 %t41, %t44
+ store ptr %t28, ptr %s46
+ br i1 %t45, label %dcr.has16, label %dcr.hasj17
+dcr.has16:
+ %t47 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_616655122974952, i64 4) ; .body
+ %t48 = icmp eq ptr %t47, null
+ %t49 = select i1 %t48, ptr @sc_absent_0, ptr %t28
+ store ptr %t49, ptr %s46
+ br label %dcr.hasj17
+dcr.hasj17:
+ %t50 = load ptr, ptr %s46
+ %t51 = getelementptr inbounds %sc_rs_r7, ptr %r0, i64 0, i32 1 ; .body
+ %t52 = icmp eq ptr %t50, null
+ %t53 = select i1 %t52, ptr @sc_union_none, ptr %t50
+ %t54 = getelementptr inbounds %ScrUnion, ptr %t53, i64 0, i32 1
+ %t56 = load i32, ptr %t54
+ %t55 = getelementptr inbounds %ScrUnion, ptr %t53, i64 0, i32 5
+ %t57 = load i64, ptr %t55
+ %t58 = getelementptr inbounds { i32, i64 }, ptr %t51, i32 0, i32 0
+ store i32 %t56, ptr %t58
+ %t59 = getelementptr inbounds { i32, i64 }, ptr %t51, i32 0, i32 1
+ store i64 %t57, ptr %t59
+ call void @scr_union_release(ptr %t28)
+ %t60 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2277266704045385, i64 9)
+ %t61.cell = load ptr, ptr @scr_exc_active
+ %t61.kind = load i32, ptr %t61.cell
+ %t61 = icmp ne i32 %t61.kind, 0
+ br i1 %t61, label %dcr.read.u18, label %dcr.read.k19
+dcr.read.u18:
+ call void @scr_dyn_release(ptr %t60)
+ call void @sc_rrelease_r7(ptr %r0)
+ ret ptr null
+dcr.read.k19:
+ %t62 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t62
+ %t63 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2277266704045385, ptr %t63
+ %t64 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t64
+ %t65 = call ptr @sc_dc_69(ptr %t60, ptr %dcp)
+ call void @scr_dyn_release(ptr %t60)
+ %t66 = getelementptr inbounds %sc_rs_r7, ptr %r0, i64 0, i32 2 ; .multipart
+ store ptr %t65, ptr %t66
+ %t67.cell = load ptr, ptr @scr_exc_active
+ %t67.kind = load i32, ptr %t67.cell
+ %t67 = icmp ne i32 %t67.kind, 0
+ br i1 %t67, label %dcr.u20, label %dcr.k21
+dcr.u20:
+ call void @sc_rrelease_r7(ptr %r0)
+ ret ptr null
+dcr.k21:
+ %t69 = icmp eq ptr %t65, null
+ %t68 = select i1 %t69, i32 1, i32 0
+ %t70 = icmp eq i32 %t68, 1
+ %t71 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t72 = load i32, ptr %t71
+ %t73 = icmp eq i32 %t72, 5
+ %t74 = and i1 %t70, %t73
+ store ptr %t65, ptr %s75
+ br i1 %t74, label %dcr.has22, label %dcr.hasj23
+dcr.has22:
+ %t76 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2277266704045385, i64 9) ; .multipart
+ %t77 = icmp eq ptr %t76, null
+ %t78 = select i1 %t77, ptr @sc_nullable_absent, ptr %t65
+ store ptr %t78, ptr %s75
+ br label %dcr.hasj23
+dcr.hasj23:
+ %t79 = load ptr, ptr %s75
+ %t80 = getelementptr inbounds %sc_rs_r7, ptr %r0, i64 0, i32 2 ; .multipart
+ store ptr %t79, ptr %t80
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_8, ptr @sc_rnames_8_lens, i64 2)
+ ret ptr %r0
+}
+
+define internal ptr @sc_td_34(ptr %v) #0 { ; to-dyn union:u13
+entry:
+ %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1
+ %t0 = load i32, ptr %t1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = call zeroext i1 @scr_union_get_bool(ptr %v)
+ %t3 = call ptr @scr_dyn_new_bool(i1 %t2)
+ ret ptr %t3
+tdu.a2:
+ %t4 = call ptr @scr_dyn_undefined()
+ %t5 = call ptr @scr_dyn_retain_v(ptr %t4)
+ ret ptr %t5
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal void @sc_dfa_10(ptr %sc_env, ptr %a0, ptr %a1) #0 { ; dyn fn adapter to func(httpReq,httpRes)=>void
+entry:
+ %s3 = alloca [2 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @sc_td_10(ptr %a0)
+ %t5 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ call void @scr_http_req_release(ptr %a0)
+ %t6 = call ptr @sc_td_7(ptr %a1)
+ %t7 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 1
+ store ptr %t6, ptr %t7
+ call void @scr_http_res_release(ptr %a1)
+ %t8 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 2, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ call void @scr_dyn_release(ptr %t6)
+ %t9.cell = load ptr, ptr @scr_exc_active
+ %t9.kind = load i32, ptr %t9.cell
+ %t9 = icmp ne i32 %t9.kind, 0
+ br i1 %t9, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret void
+dfa.k1:
+ call void @scr_dyn_release(ptr %t8)
+ ret void
+}
+
+define internal ptr @sc_dc_73(ptr %d, ptr %path) #0 { ; check func(httpReq,httpRes)=>void
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2931926363260223, i64 27)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2931926363260223, i64 27)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_73(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2931926363260223, i64 27, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_2931926363260223)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_10, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal ptr @sc_dc_74(ptr %d, ptr %path) #0 { ; check record:r12
+entry:
+ %dcp = alloca %ScrDynPath
+ %s26 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3599972234312006, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3599972234312006, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_74(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r12(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r12, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r12, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; [key: string] overflow
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ call void @sc_rrelease_r12(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3599972234312006, i64 10, ptr %t8, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ br i1 %t16, label %dcr.k10, label %dcr.f11
+dcr.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.k10:
+ %r0 = call ptr @sc_rnew_r12()
+ %t17 = getelementptr inbounds %sc_rs_r12, ptr %r0, i64 0, i32 1
+ %t18 = load ptr, ptr %t17 ; overflow map
+ %t19 = getelementptr inbounds i8, ptr %d, i64 13 ; ->null_proto
+ %t20 = load i8, ptr %t19
+ %t21 = getelementptr inbounds i8, ptr %t18, i64 11
+ store i8 %t20, ptr %t21
+ %t22 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t23 = load i64, ptr %t22
+ %t24 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t25 = load ptr, ptr %t24
+ store i64 0, ptr %s26
+ br label %dcv.c12
+dcv.c12:
+ %t27 = load i64, ptr %s26
+ %t28 = icmp ult i64 %t27, %t23
+ br i1 %t28, label %dcv.b13, label %dcv.e15
+dcv.b13:
+ %t29 = mul i64 %t27, 48 ; sizeof(ScrDynEntry)
+ %t30 = getelementptr inbounds i8, ptr %t25, i64 %t29
+ %t31 = load ptr, ptr %t30
+ %t32 = getelementptr inbounds i8, ptr %t30, i64 8
+ %t33 = load i64, ptr %t32
+ %t34 = getelementptr inbounds i8, ptr %t30, i64 16
+ %t35 = load ptr, ptr %t34
+ %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t36
+ %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t38
+ %t39 = call double @sc_dc_2(ptr %t35, ptr %dcp)
+ %t40.cell = load ptr, ptr @scr_exc_active
+ %t40.kind = load i32, ptr %t40.cell
+ %t40 = icmp ne i32 %t40.kind, 0
+ br i1 %t40, label %dcv.u16, label %dcv.k17
+dcv.u16:
+ call void @sc_rrelease_r12(ptr %r0)
+ ret ptr null
+dcv.k17:
+ %t41 = call ptr @scr_str_new(ptr %t31, i64 %t33)
+ call void @scr_map_set_str_f64(ptr %t18, ptr %t41, double %t39)
+ call void @scr_str_release(ptr %t41)
+ br label %dcv.n14
+dcv.n14:
+ %t42 = add i64 %t27, 1
+ store i64 %t42, ptr %s26
+ br label %dcv.c12
+dcv.e15:
+ ret ptr %r0
+}
+
+@sc_rnames_9 = internal constant [3 x ptr] [ptr @sc_cs_1683535768246717, ptr @sc_cs_616655122974952, ptr @sc_cs_4445240590403708]
+@sc_rnames_9_lens = internal constant [3 x i64] [i64 3, i64 4, i64 4]
+
+define internal ptr @sc_dc_78(ptr %d, ptr %path) #0 { ; check record:r10
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1956162535513610, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1956162535513610, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_78(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r10(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r10, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r10, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; body
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r10, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r10, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; enc
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ %t18 = getelementptr inbounds %sc_rs_r10, ptr %t5, i64 0, i32 3
+ %t19 = getelementptr inbounds %sc_rs_r10, ptr %t8, i64 0, i32 3
+ %t20 = load ptr, ptr %t18 ; etag
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ call void @sc_rrelease_r10(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1956162535513610, i64 10, ptr %t8, ptr @sc_rretain_r10, ptr @sc_rrelease_r10, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t22 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t24 = icmp eq i32 %t23, 5
+ %t25 = icmp eq i32 %t23, 13
+ %t26 = or i1 %t24, %t25
+ br i1 %t26, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r10()
+ %t27 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4)
+ %t28.cell = load ptr, ptr @scr_exc_active
+ %t28.kind = load i32, ptr %t28.cell
+ %t28 = icmp ne i32 %t28.kind, 0
+ br i1 %t28, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t27)
+ call void @sc_rrelease_r10(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t29 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t29
+ %t30 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_616655122974952, ptr %t30
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t31
+ %t32 = call ptr @sc_dc_12(ptr %t27, ptr %dcp)
+ call void @scr_dyn_release(ptr %t27)
+ %t33 = getelementptr inbounds %sc_rs_r10, ptr %r0, i64 0, i32 1 ; .body
+ store ptr %t32, ptr %t33
+ %t34.cell = load ptr, ptr @scr_exc_active
+ %t34.kind = load i32, ptr %t34.cell
+ %t34 = icmp ne i32 %t34.kind, 0
+ br i1 %t34, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r10(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t35 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1683535768246717, i64 3)
+ %t36.cell = load ptr, ptr @scr_exc_active
+ %t36.kind = load i32, ptr %t36.cell
+ %t36 = icmp ne i32 %t36.kind, 0
+ br i1 %t36, label %dcr.read.u16, label %dcr.read.k17
+dcr.read.u16:
+ call void @scr_dyn_release(ptr %t35)
+ call void @sc_rrelease_r10(ptr %r0)
+ ret ptr null
+dcr.read.k17:
+ %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t37
+ %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_1683535768246717, ptr %t38
+ %t39 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t39
+ %t40 = call ptr @sc_dc_0(ptr %t35, ptr %dcp)
+ call void @scr_dyn_release(ptr %t35)
+ %t41 = getelementptr inbounds %sc_rs_r10, ptr %r0, i64 0, i32 2 ; .enc
+ store ptr %t40, ptr %t41
+ %t42.cell = load ptr, ptr @scr_exc_active
+ %t42.kind = load i32, ptr %t42.cell
+ %t42 = icmp ne i32 %t42.kind, 0
+ br i1 %t42, label %dcr.u18, label %dcr.k19
+dcr.u18:
+ call void @sc_rrelease_r10(ptr %r0)
+ ret ptr null
+dcr.k19:
+ %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4)
+ %t44.cell = load ptr, ptr @scr_exc_active
+ %t44.kind = load i32, ptr %t44.cell
+ %t44 = icmp ne i32 %t44.kind, 0
+ br i1 %t44, label %dcr.read.u20, label %dcr.read.k21
+dcr.read.u20:
+ call void @scr_dyn_release(ptr %t43)
+ call void @sc_rrelease_r10(ptr %r0)
+ ret ptr null
+dcr.read.k21:
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_4445240590403708, ptr %t46
+ %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t47
+ %t48 = call ptr @sc_dc_0(ptr %t43, ptr %dcp)
+ call void @scr_dyn_release(ptr %t43)
+ %t49 = getelementptr inbounds %sc_rs_r10, ptr %r0, i64 0, i32 3 ; .etag
+ store ptr %t48, ptr %t49
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dcr.u22, label %dcr.k23
+dcr.u22:
+ call void @sc_rrelease_r10(ptr %r0)
+ ret ptr null
+dcr.k23:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_9, ptr @sc_rnames_9_lens, i64 3)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_77(ptr %d, ptr %path) #0 { ; check array
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4063863580779324, i64 17)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4063863580779324, i64 17)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_77(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4063863580779324, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r10.sc_rrelease_r10.null, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_78(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+@sc_rnames_10 = internal constant [7 x ptr] [ptr @sc_cs_616655122974952, ptr @sc_cs_334509345124372, ptr @sc_cs_4445240590403708, ptr @sc_cs_3603975379547098, ptr @sc_cs_2067668976369489, ptr @sc_cs_1096813006725504, ptr @sc_cs_2538166612030291]
+@sc_rnames_10_lens = internal constant [7 x i64] [i64 4, i64 4, i64 4, i64 4, i64 7, i64 9, i64 9]
+
+define internal ptr @sc_dc_76(ptr %d, ptr %path) #0 { ; check record:r11
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1140872696640102, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1140872696640102, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_76(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r11(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; body
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; encodings
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ %t18 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 3
+ %t19 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 3
+ %t20 = load ptr, ptr %t18 ; etag
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 4
+ %t23 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 4
+ %t24 = load i8, ptr %t22 ; immutable
+ %t25 = load i8, ptr %t23
+ store i8 %t25, ptr %t22
+ store i8 %t24, ptr %t23
+ %t26 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 5
+ %t27 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 5
+ %t28 = load double, ptr %t26 ; mtimeMs
+ %t29 = load double, ptr %t27
+ store double %t29, ptr %t26
+ store double %t28, ptr %t27
+ %t30 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 6
+ %t31 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 6
+ %t32 = load double, ptr %t30 ; size
+ %t33 = load double, ptr %t31
+ store double %t33, ptr %t30
+ store double %t32, ptr %t31
+ %t34 = getelementptr inbounds %sc_rs_r11, ptr %t5, i64 0, i32 7
+ %t35 = getelementptr inbounds %sc_rs_r11, ptr %t8, i64 0, i32 7
+ %t36 = load ptr, ptr %t34 ; type
+ %t37 = load ptr, ptr %t35
+ store ptr %t37, ptr %t34
+ store ptr %t36, ptr %t35
+ call void @sc_rrelease_r11(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1140872696640102, i64 10, ptr %t8, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t38 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t39 = load i32, ptr %t38
+ %t40 = icmp eq i32 %t39, 5
+ %t41 = icmp eq i32 %t39, 13
+ %t42 = or i1 %t40, %t41
+ br i1 %t42, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r11()
+ %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4)
+ %t44.cell = load ptr, ptr @scr_exc_active
+ %t44.kind = load i32, ptr %t44.cell
+ %t44 = icmp ne i32 %t44.kind, 0
+ br i1 %t44, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t43)
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_616655122974952, ptr %t46
+ %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t47
+ %t48 = call ptr @sc_dc_12(ptr %t43, ptr %dcp)
+ call void @scr_dyn_release(ptr %t43)
+ %t49 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 1 ; .body
+ store ptr %t48, ptr %t49
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t51 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2538166612030291, i64 9)
+ %t52.cell = load ptr, ptr @scr_exc_active
+ %t52.kind = load i32, ptr %t52.cell
+ %t52 = icmp ne i32 %t52.kind, 0
+ br i1 %t52, label %dcr.read.u16, label %dcr.read.k17
+dcr.read.u16:
+ call void @scr_dyn_release(ptr %t51)
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.read.k17:
+ %t53 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t53
+ %t54 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2538166612030291, ptr %t54
+ %t55 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t55
+ %t56 = call ptr @sc_dc_77(ptr %t51, ptr %dcp)
+ call void @scr_dyn_release(ptr %t51)
+ %t57 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 2 ; .encodings
+ store ptr %t56, ptr %t57
+ %t58.cell = load ptr, ptr @scr_exc_active
+ %t58.kind = load i32, ptr %t58.cell
+ %t58 = icmp ne i32 %t58.kind, 0
+ br i1 %t58, label %dcr.u18, label %dcr.k19
+dcr.u18:
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.k19:
+ %t59 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4)
+ %t60.cell = load ptr, ptr @scr_exc_active
+ %t60.kind = load i32, ptr %t60.cell
+ %t60 = icmp ne i32 %t60.kind, 0
+ br i1 %t60, label %dcr.read.u20, label %dcr.read.k21
+dcr.read.u20:
+ call void @scr_dyn_release(ptr %t59)
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.read.k21:
+ %t61 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t61
+ %t62 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_4445240590403708, ptr %t62
+ %t63 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t63
+ %t64 = call ptr @sc_dc_0(ptr %t59, ptr %dcp)
+ call void @scr_dyn_release(ptr %t59)
+ %t65 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 3 ; .etag
+ store ptr %t64, ptr %t65
+ %t66.cell = load ptr, ptr @scr_exc_active
+ %t66.kind = load i32, ptr %t66.cell
+ %t66 = icmp ne i32 %t66.kind, 0
+ br i1 %t66, label %dcr.u22, label %dcr.k23
+dcr.u22:
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.k23:
+ %t67 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1096813006725504, i64 9)
+ %t68.cell = load ptr, ptr @scr_exc_active
+ %t68.kind = load i32, ptr %t68.cell
+ %t68 = icmp ne i32 %t68.kind, 0
+ br i1 %t68, label %dcr.read.u24, label %dcr.read.k25
+dcr.read.u24:
+ call void @scr_dyn_release(ptr %t67)
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.read.k25:
+ %t69 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t69
+ %t70 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_1096813006725504, ptr %t70
+ %t71 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t71
+ %t72 = call i1 @sc_dc_3(ptr %t67, ptr %dcp)
+ call void @scr_dyn_release(ptr %t67)
+ %t73 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 4 ; .immutable
+ %t74 = zext i1 %t72 to i8
+ store i8 %t74, ptr %t73
+ %t75.cell = load ptr, ptr @scr_exc_active
+ %t75.kind = load i32, ptr %t75.cell
+ %t75 = icmp ne i32 %t75.kind, 0
+ br i1 %t75, label %dcr.u26, label %dcr.k27
+dcr.u26:
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.k27:
+ %t76 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2067668976369489, i64 7)
+ %t77.cell = load ptr, ptr @scr_exc_active
+ %t77.kind = load i32, ptr %t77.cell
+ %t77 = icmp ne i32 %t77.kind, 0
+ br i1 %t77, label %dcr.read.u28, label %dcr.read.k29
+dcr.read.u28:
+ call void @scr_dyn_release(ptr %t76)
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.read.k29:
+ %t78 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t78
+ %t79 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2067668976369489, ptr %t79
+ %t80 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t80
+ %t81 = call double @sc_dc_2(ptr %t76, ptr %dcp)
+ call void @scr_dyn_release(ptr %t76)
+ %t82 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 5 ; .mtimeMs
+ store double %t81, ptr %t82
+ %t83.cell = load ptr, ptr @scr_exc_active
+ %t83.kind = load i32, ptr %t83.cell
+ %t83 = icmp ne i32 %t83.kind, 0
+ br i1 %t83, label %dcr.u30, label %dcr.k31
+dcr.u30:
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.k31:
+ %t84 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3603975379547098, i64 4)
+ %t85.cell = load ptr, ptr @scr_exc_active
+ %t85.kind = load i32, ptr %t85.cell
+ %t85 = icmp ne i32 %t85.kind, 0
+ br i1 %t85, label %dcr.read.u32, label %dcr.read.k33
+dcr.read.u32:
+ call void @scr_dyn_release(ptr %t84)
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.read.k33:
+ %t86 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t86
+ %t87 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_3603975379547098, ptr %t87
+ %t88 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t88
+ %t89 = call double @sc_dc_2(ptr %t84, ptr %dcp)
+ call void @scr_dyn_release(ptr %t84)
+ %t90 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 6 ; .size
+ store double %t89, ptr %t90
+ %t91.cell = load ptr, ptr @scr_exc_active
+ %t91.kind = load i32, ptr %t91.cell
+ %t91 = icmp ne i32 %t91.kind, 0
+ br i1 %t91, label %dcr.u34, label %dcr.k35
+dcr.u34:
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.k35:
+ %t92 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_334509345124372, i64 4)
+ %t93.cell = load ptr, ptr @scr_exc_active
+ %t93.kind = load i32, ptr %t93.cell
+ %t93 = icmp ne i32 %t93.kind, 0
+ br i1 %t93, label %dcr.read.u36, label %dcr.read.k37
+dcr.read.u36:
+ call void @scr_dyn_release(ptr %t92)
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.read.k37:
+ %t94 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t94
+ %t95 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_334509345124372, ptr %t95
+ %t96 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t96
+ %t97 = call ptr @sc_dc_0(ptr %t92, ptr %dcp)
+ call void @scr_dyn_release(ptr %t92)
+ %t98 = getelementptr inbounds %sc_rs_r11, ptr %r0, i64 0, i32 7 ; .type
+ store ptr %t97, ptr %t98
+ %t99.cell = load ptr, ptr @scr_exc_active
+ %t99.kind = load i32, ptr %t99.cell
+ %t99 = icmp ne i32 %t99.kind, 0
+ br i1 %t99, label %dcr.u38, label %dcr.k39
+dcr.u38:
+ call void @sc_rrelease_r11(ptr %r0)
+ ret ptr null
+dcr.k39:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_10, ptr @sc_rnames_10_lens, i64 7)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_75(ptr %d, ptr %path) #0 { ; check array
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3607504563658207, i64 17)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3607504563658207, i64 17)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_75(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3607504563658207, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r11.sc_rrelease_r11.null, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_76(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal ptr @sc_td_35(ptr %v) #0 { ; to-dyn record:r12
+entry:
+ %s11 = alloca double
+ %s18 = alloca double
+ %t1 = getelementptr inbounds %sc_rs_r12, ptr %v, i64 0, i32 1
+ %t2 = load ptr, ptr %t1 ; overflow map
+ %t3 = getelementptr inbounds i8, ptr %t2, i64 11
+ %t4 = load i8, ptr %t3
+ %t5 = icmp ne i8 %t4, 0
+ %t6 = select i1 %t5, ptr @scr_dyn_new_obj_null_proto, ptr @scr_dyn_new_obj
+ %t0 = call ptr %t6()
+ %t7 = getelementptr inbounds %sc_rs_r12, ptr %v, i64 0, i32 1
+ %t8 = load ptr, ptr %t7 ; overflow map
+ %t9 = call ptr @scr_map_keys_js_order(ptr %t8)
+ %t10 = call double @scr_arr_len(ptr %t9)
+ store double 0x0000000000000000, ptr %s11
+ br label %count.c0
+count.c0:
+ %t12 = load double, ptr %s11
+ %t13 = fcmp olt double %t12, %t10
+ br i1 %t13, label %count.b1, label %count.e3
+count.b1:
+ %t14 = call ptr @scr_arr_get_ref(ptr %t9, double %t12) ; key (+1)
+ %t15 = getelementptr inbounds %ScrStr, ptr %t14, i64 0, i32 1
+ %t16 = load i64, ptr %t15
+ %t17 = getelementptr inbounds i8, ptr %t14, i64 24 ; ->data
+ store double 0x0000000000000000, ptr %s18
+ %t19 = call zeroext i1 @scr_map_get_str_f64(ptr %t8, ptr %t14, ptr %s18)
+ %t20 = load double, ptr %s18
+ %t21 = call ptr @scr_dyn_new_num(double %t20)
+ call void @scr_dyn_obj_set(ptr %t0, ptr %t17, i64 %t16, ptr %t21)
+ call void @scr_str_release(ptr %t14)
+ br label %count.n2
+count.n2:
+ %t22 = fadd double %t12, 0x3FF0000000000000
+ store double %t22, ptr %s11
+ br label %count.c0
+count.e3:
+ call void @scr_arr_release(ptr %t9)
+ call ptr @scr_dyn_mark_snapshot(ptr %t0)
+ ret ptr %t0
+}
+
+define internal zeroext i1 @sc_dm_28(ptr %d) #0 { ; matches record:r10
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1956162535513610, i64 10)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_28(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ %t9 = icmp eq i32 %t7, 13
+ %t10 = or i1 %t8, %t9
+ br i1 %t10, label %dm.o5, label %dm.f4
+dm.o5:
+ %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4)
+ %t12.cell = load ptr, ptr @scr_exc_active
+ %t12.kind = load i32, ptr %t12.cell
+ %t12 = icmp ne i32 %t12.kind, 0
+ br i1 %t12, label %dm.read.u7, label %dm.read.k8
+dm.read.u7:
+ call void @scr_dyn_release(ptr %t11)
+ ret i1 false
+dm.read.k8:
+ %t13 = call zeroext i1 @sc_dm_10(ptr %t11)
+ call void @scr_dyn_release(ptr %t11)
+ br i1 %t13, label %dm.n6, label %dm.f4
+dm.n6:
+ %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1683535768246717, i64 3)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dm.read.u10, label %dm.read.k11
+dm.read.u10:
+ call void @scr_dyn_release(ptr %t14)
+ ret i1 false
+dm.read.k11:
+ %t16 = call zeroext i1 @sc_dm_6(ptr %t14)
+ call void @scr_dyn_release(ptr %t14)
+ br i1 %t16, label %dm.n9, label %dm.f4
+dm.n9:
+ %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4)
+ %t18.cell = load ptr, ptr @scr_exc_active
+ %t18.kind = load i32, ptr %t18.cell
+ %t18 = icmp ne i32 %t18.kind, 0
+ br i1 %t18, label %dm.read.u13, label %dm.read.k14
+dm.read.u13:
+ call void @scr_dyn_release(ptr %t17)
+ ret i1 false
+dm.read.k14:
+ %t19 = call zeroext i1 @sc_dm_6(ptr %t17)
+ call void @scr_dyn_release(ptr %t17)
+ br i1 %t19, label %dm.n12, label %dm.f4
+dm.n12:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_dm_30(ptr %d) #0 { ; matches array
+entry:
+ %s13 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4063863580779324, i64 17)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_30(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 4
+ br i1 %t8, label %dm.a5, label %dm.f4
+dm.a5:
+ %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t10 = load i64, ptr %t9
+ %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t12 = load ptr, ptr %t11
+ store i64 0, ptr %s13
+ br label %dm.el.c6
+dm.el.c6:
+ %t14 = load i64, ptr %s13
+ %t15 = icmp ult i64 %t14, %t10
+ br i1 %t15, label %dm.el.b7, label %dm.el.e9
+dm.el.b7:
+ %t16 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t14)
+ br i1 %t16, label %dm.present10, label %dm.hole11
+dm.hole11:
+ br label %dm.el.n8
+dm.present10:
+ %t17 = getelementptr inbounds ptr, ptr %t12, i64 %t14
+ %t18 = load ptr, ptr %t17
+ %t19 = call zeroext i1 @sc_dm_28(ptr %t18)
+ br i1 %t19, label %dm.eo12, label %dm.f4
+dm.eo12:
+ br label %dm.el.n8
+dm.el.n8:
+ %t20 = add i64 %t14, 1
+ store i64 %t20, ptr %s13
+ br label %dm.el.c6
+dm.el.e9:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_dm_29(ptr %d) #0 { ; matches record:r11
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1140872696640102, i64 10)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_29(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ %t9 = icmp eq i32 %t7, 13
+ %t10 = or i1 %t8, %t9
+ br i1 %t10, label %dm.o5, label %dm.f4
+dm.o5:
+ %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4)
+ %t12.cell = load ptr, ptr @scr_exc_active
+ %t12.kind = load i32, ptr %t12.cell
+ %t12 = icmp ne i32 %t12.kind, 0
+ br i1 %t12, label %dm.read.u7, label %dm.read.k8
+dm.read.u7:
+ call void @scr_dyn_release(ptr %t11)
+ ret i1 false
+dm.read.k8:
+ %t13 = call zeroext i1 @sc_dm_10(ptr %t11)
+ call void @scr_dyn_release(ptr %t11)
+ br i1 %t13, label %dm.n6, label %dm.f4
+dm.n6:
+ %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2538166612030291, i64 9)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dm.read.u10, label %dm.read.k11
+dm.read.u10:
+ call void @scr_dyn_release(ptr %t14)
+ ret i1 false
+dm.read.k11:
+ %t16 = call zeroext i1 @sc_dm_30(ptr %t14)
+ call void @scr_dyn_release(ptr %t14)
+ br i1 %t16, label %dm.n9, label %dm.f4
+dm.n9:
+ %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4)
+ %t18.cell = load ptr, ptr @scr_exc_active
+ %t18.kind = load i32, ptr %t18.cell
+ %t18 = icmp ne i32 %t18.kind, 0
+ br i1 %t18, label %dm.read.u13, label %dm.read.k14
+dm.read.u13:
+ call void @scr_dyn_release(ptr %t17)
+ ret i1 false
+dm.read.k14:
+ %t19 = call zeroext i1 @sc_dm_6(ptr %t17)
+ call void @scr_dyn_release(ptr %t17)
+ br i1 %t19, label %dm.n12, label %dm.f4
+dm.n12:
+ %t20 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1096813006725504, i64 9)
+ %t21.cell = load ptr, ptr @scr_exc_active
+ %t21.kind = load i32, ptr %t21.cell
+ %t21 = icmp ne i32 %t21.kind, 0
+ br i1 %t21, label %dm.read.u16, label %dm.read.k17
+dm.read.u16:
+ call void @scr_dyn_release(ptr %t20)
+ ret i1 false
+dm.read.k17:
+ %t22 = call zeroext i1 @sc_dm_24(ptr %t20)
+ call void @scr_dyn_release(ptr %t20)
+ br i1 %t22, label %dm.n15, label %dm.f4
+dm.n15:
+ %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2067668976369489, i64 7)
+ %t24.cell = load ptr, ptr @scr_exc_active
+ %t24.kind = load i32, ptr %t24.cell
+ %t24 = icmp ne i32 %t24.kind, 0
+ br i1 %t24, label %dm.read.u19, label %dm.read.k20
+dm.read.u19:
+ call void @scr_dyn_release(ptr %t23)
+ ret i1 false
+dm.read.k20:
+ %t25 = call zeroext i1 @sc_dm_2(ptr %t23)
+ call void @scr_dyn_release(ptr %t23)
+ br i1 %t25, label %dm.n18, label %dm.f4
+dm.n18:
+ %t26 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3603975379547098, i64 4)
+ %t27.cell = load ptr, ptr @scr_exc_active
+ %t27.kind = load i32, ptr %t27.cell
+ %t27 = icmp ne i32 %t27.kind, 0
+ br i1 %t27, label %dm.read.u22, label %dm.read.k23
+dm.read.u22:
+ call void @scr_dyn_release(ptr %t26)
+ ret i1 false
+dm.read.k23:
+ %t28 = call zeroext i1 @sc_dm_2(ptr %t26)
+ call void @scr_dyn_release(ptr %t26)
+ br i1 %t28, label %dm.n21, label %dm.f4
+dm.n21:
+ %t29 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_334509345124372, i64 4)
+ %t30.cell = load ptr, ptr @scr_exc_active
+ %t30.kind = load i32, ptr %t30.cell
+ %t30 = icmp ne i32 %t30.kind, 0
+ br i1 %t30, label %dm.read.u25, label %dm.read.k26
+dm.read.u25:
+ call void @scr_dyn_release(ptr %t29)
+ ret i1 false
+dm.read.k26:
+ %t31 = call zeroext i1 @sc_dm_6(ptr %t29)
+ call void @scr_dyn_release(ptr %t29)
+ br i1 %t31, label %dm.n24, label %dm.f4
+dm.n24:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_79(ptr %d, ptr %path) #0 { ; check object:%m6.AssetSource
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3314970835853795
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3314970835853795, i64 22)
+ %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3595188456357610, i64 21)
+ %t12 = or i1 %t10, %t11
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2519527309428716, i64 25)
+ %t14 = or i1 %t12, %t13
+ %t15 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4143564844538255, i64 23)
+ %t16 = or i1 %t14, %t15
+ br i1 %t16, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t17 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t17
+dc.nt5:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t20 = icmp eq i32 %t19, 12
+ br i1 %t20, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t21 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3314970835853795, i64 22)
+ %t22 = icmp ne ptr %t21, null
+ br i1 %t22, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t21
+dc.tr.mat9:
+ %t23 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t24 = call ptr @sc_dc_79(ptr %t23, ptr %path)
+ call void @scr_dyn_release_v(ptr %t23)
+ %t25 = icmp ne ptr %t24, null
+ br i1 %t25, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3314970835853795, i64 22, ptr %t24, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t24
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_4101812311759748, ptr %d)
+ ret ptr null
+}
+
+@sc_rnames_11 = internal constant [1 x ptr] [ptr @sc_cs_3553689444499593]
+@sc_rnames_11_lens = internal constant [1 x i64] [i64 5]
+
+define internal ptr @sc_dc_80(ptr %d, ptr %path) #0 { ; check record:r33
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1825930128146299, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1825930128146299, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_80(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r33(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r33, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r33, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; error
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ call void @sc_rrelease_r33(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1825930128146299, i64 10, ptr %t8, ptr @sc_rretain_r33, ptr @sc_rrelease_r33, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ %t17 = icmp eq i32 %t15, 13
+ %t18 = or i1 %t16, %t17
+ br i1 %t18, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r33()
+ %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3553689444499593, i64 5)
+ %t20.cell = load ptr, ptr @scr_exc_active
+ %t20.kind = load i32, ptr %t20.cell
+ %t20 = icmp ne i32 %t20.kind, 0
+ br i1 %t20, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t19)
+ call void @sc_rrelease_r33(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t21
+ %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_3553689444499593, ptr %t22
+ %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t23
+ %t24 = call ptr @sc_dc_0(ptr %t19, ptr %dcp)
+ call void @scr_dyn_release(ptr %t19)
+ %t25 = getelementptr inbounds %sc_rs_r33, ptr %r0, i64 0, i32 1 ; .error
+ store ptr %t24, ptr %t25
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r33(ptr %r0)
+ ret ptr null
+dcr.k15:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_11, ptr @sc_rnames_11_lens, i64 1)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_81(ptr %d, ptr %path) #0 { ; check union:u35
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3268100869889769, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ ret ptr @sc_nullable_null
+dcu.n3:
+ %t3 = call zeroext i1 @sc_dm_29(ptr %d)
+ br i1 %t3, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t4 = call ptr @sc_dc_76(ptr %d, ptr %path)
+ ret ptr %t4
+dcu.n5:
+ %t5 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t5, label %dcu.h6, label %dcu.n7
+dcu.h6:
+ ret ptr null
+dcu.n7:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap8, label %dcu.fail9
+dcu.cap8:
+ %t9 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t10 = call ptr @sc_dc_81(ptr %t9, ptr %path)
+ call void @scr_dyn_release_v(ptr %t9)
+ ret ptr %t10
+dcu.fail9:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2990177497704744, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_82(ptr %d, ptr %path) #0 { ; check union:u36
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1498306113831208, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_0(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ ret ptr @sc_nullable_null
+dcu.n3:
+ %t3 = call zeroext i1 @sc_dm_28(ptr %d)
+ br i1 %t3, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t4 = call ptr @sc_dc_78(ptr %d, ptr %path)
+ ret ptr %t4
+dcu.n5:
+ %t5 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t5, label %dcu.h6, label %dcu.n7
+dcu.h6:
+ ret ptr null
+dcu.n7:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap8, label %dcu.fail9
+dcu.cap8:
+ %t9 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t10 = call ptr @sc_dc_82(ptr %t9, ptr %path)
+ call void @scr_dyn_release_v(ptr %t9)
+ ret ptr %t10
+dcu.fail9:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2990177497704744, ptr %d)
+ ret ptr null
+}
+
+@sc_rnames_12 = internal constant [3 x ptr] [ptr @sc_cs_1683535768246717, ptr @sc_cs_2359144980483679, ptr @sc_cs_4445240590403708]
+@sc_rnames_12_lens = internal constant [3 x i64] [i64 3, i64 3, i64 4]
+
+define internal ptr @sc_dc_86(ptr %d, ptr %path) #0 { ; check record:r13
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2563538800453537, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2563538800453537, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_86(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r13(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r13, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r13, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; b64
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r13, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r13, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; enc
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ %t18 = getelementptr inbounds %sc_rs_r13, ptr %t5, i64 0, i32 3
+ %t19 = getelementptr inbounds %sc_rs_r13, ptr %t8, i64 0, i32 3
+ %t20 = load ptr, ptr %t18 ; etag
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ call void @sc_rrelease_r13(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2563538800453537, i64 10, ptr %t8, ptr @sc_rretain_r13, ptr @sc_rrelease_r13, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t22 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t24 = icmp eq i32 %t23, 5
+ %t25 = icmp eq i32 %t23, 13
+ %t26 = or i1 %t24, %t25
+ br i1 %t26, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r13()
+ %t27 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2359144980483679, i64 3)
+ %t28.cell = load ptr, ptr @scr_exc_active
+ %t28.kind = load i32, ptr %t28.cell
+ %t28 = icmp ne i32 %t28.kind, 0
+ br i1 %t28, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t27)
+ call void @sc_rrelease_r13(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t29 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t29
+ %t30 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2359144980483679, ptr %t30
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t31
+ %t32 = call ptr @sc_dc_0(ptr %t27, ptr %dcp)
+ call void @scr_dyn_release(ptr %t27)
+ %t33 = getelementptr inbounds %sc_rs_r13, ptr %r0, i64 0, i32 1 ; .b64
+ store ptr %t32, ptr %t33
+ %t34.cell = load ptr, ptr @scr_exc_active
+ %t34.kind = load i32, ptr %t34.cell
+ %t34 = icmp ne i32 %t34.kind, 0
+ br i1 %t34, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r13(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t35 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1683535768246717, i64 3)
+ %t36.cell = load ptr, ptr @scr_exc_active
+ %t36.kind = load i32, ptr %t36.cell
+ %t36 = icmp ne i32 %t36.kind, 0
+ br i1 %t36, label %dcr.read.u16, label %dcr.read.k17
+dcr.read.u16:
+ call void @scr_dyn_release(ptr %t35)
+ call void @sc_rrelease_r13(ptr %r0)
+ ret ptr null
+dcr.read.k17:
+ %t37 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t37
+ %t38 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_1683535768246717, ptr %t38
+ %t39 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t39
+ %t40 = call ptr @sc_dc_0(ptr %t35, ptr %dcp)
+ call void @scr_dyn_release(ptr %t35)
+ %t41 = getelementptr inbounds %sc_rs_r13, ptr %r0, i64 0, i32 2 ; .enc
+ store ptr %t40, ptr %t41
+ %t42.cell = load ptr, ptr @scr_exc_active
+ %t42.kind = load i32, ptr %t42.cell
+ %t42 = icmp ne i32 %t42.kind, 0
+ br i1 %t42, label %dcr.u18, label %dcr.k19
+dcr.u18:
+ call void @sc_rrelease_r13(ptr %r0)
+ ret ptr null
+dcr.k19:
+ %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4)
+ %t44.cell = load ptr, ptr @scr_exc_active
+ %t44.kind = load i32, ptr %t44.cell
+ %t44 = icmp ne i32 %t44.kind, 0
+ br i1 %t44, label %dcr.read.u20, label %dcr.read.k21
+dcr.read.u20:
+ call void @scr_dyn_release(ptr %t43)
+ call void @sc_rrelease_r13(ptr %r0)
+ ret ptr null
+dcr.read.k21:
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_4445240590403708, ptr %t46
+ %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t47
+ %t48 = call ptr @sc_dc_0(ptr %t43, ptr %dcp)
+ call void @scr_dyn_release(ptr %t43)
+ %t49 = getelementptr inbounds %sc_rs_r13, ptr %r0, i64 0, i32 3 ; .etag
+ store ptr %t48, ptr %t49
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dcr.u22, label %dcr.k23
+dcr.u22:
+ call void @sc_rrelease_r13(ptr %r0)
+ ret ptr null
+dcr.k23:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_12, ptr @sc_rnames_12_lens, i64 3)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_85(ptr %d, ptr %path) #0 { ; check array
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3299468148590259, i64 17)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3299468148590259, i64 17)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_85(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3299468148590259, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r13.sc_rrelease_r13.null, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_86(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+@sc_rnames_13 = internal constant [7 x ptr] [ptr @sc_cs_2826818497658723, ptr @sc_cs_334509345124372, ptr @sc_cs_2359144980483679, ptr @sc_cs_4445240590403708, ptr @sc_cs_2067668976369489, ptr @sc_cs_1096813006725504, ptr @sc_cs_448384591214783]
+@sc_rnames_13_lens = internal constant [7 x i64] [i64 4, i64 4, i64 3, i64 4, i64 7, i64 9, i64 4]
+
+define internal ptr @sc_dc_84(ptr %d, ptr %path) #0 { ; check record:r14
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2067294835765432, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2067294835765432, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_84(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r14(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; b64
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; encs
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ %t18 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 3
+ %t19 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 3
+ %t20 = load ptr, ptr %t18 ; etag
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 4
+ %t23 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 4
+ %t24 = load i8, ptr %t22 ; immutable
+ %t25 = load i8, ptr %t23
+ store i8 %t25, ptr %t22
+ store i8 %t24, ptr %t23
+ %t26 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 5
+ %t27 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 5
+ %t28 = load double, ptr %t26 ; mtimeMs
+ %t29 = load double, ptr %t27
+ store double %t29, ptr %t26
+ store double %t28, ptr %t27
+ %t30 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 6
+ %t31 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 6
+ %t32 = load ptr, ptr %t30 ; path
+ %t33 = load ptr, ptr %t31
+ store ptr %t33, ptr %t30
+ store ptr %t32, ptr %t31
+ %t34 = getelementptr inbounds %sc_rs_r14, ptr %t5, i64 0, i32 7
+ %t35 = getelementptr inbounds %sc_rs_r14, ptr %t8, i64 0, i32 7
+ %t36 = load ptr, ptr %t34 ; type
+ %t37 = load ptr, ptr %t35
+ store ptr %t37, ptr %t34
+ store ptr %t36, ptr %t35
+ call void @sc_rrelease_r14(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2067294835765432, i64 10, ptr %t8, ptr @sc_rretain_r14, ptr @sc_rrelease_r14, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t38 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t39 = load i32, ptr %t38
+ %t40 = icmp eq i32 %t39, 5
+ %t41 = icmp eq i32 %t39, 13
+ %t42 = or i1 %t40, %t41
+ br i1 %t42, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r14()
+ %t43 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2359144980483679, i64 3)
+ %t44.cell = load ptr, ptr @scr_exc_active
+ %t44.kind = load i32, ptr %t44.cell
+ %t44 = icmp ne i32 %t44.kind, 0
+ br i1 %t44, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t43)
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2359144980483679, ptr %t46
+ %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t47
+ %t48 = call ptr @sc_dc_0(ptr %t43, ptr %dcp)
+ call void @scr_dyn_release(ptr %t43)
+ %t49 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 1 ; .b64
+ store ptr %t48, ptr %t49
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t51 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_448384591214783, i64 4)
+ %t52.cell = load ptr, ptr @scr_exc_active
+ %t52.kind = load i32, ptr %t52.cell
+ %t52 = icmp ne i32 %t52.kind, 0
+ br i1 %t52, label %dcr.read.u16, label %dcr.read.k17
+dcr.read.u16:
+ call void @scr_dyn_release(ptr %t51)
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.read.k17:
+ %t53 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t53
+ %t54 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_448384591214783, ptr %t54
+ %t55 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t55
+ %t56 = call ptr @sc_dc_85(ptr %t51, ptr %dcp)
+ call void @scr_dyn_release(ptr %t51)
+ %t57 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 2 ; .encs
+ store ptr %t56, ptr %t57
+ %t58.cell = load ptr, ptr @scr_exc_active
+ %t58.kind = load i32, ptr %t58.cell
+ %t58 = icmp ne i32 %t58.kind, 0
+ br i1 %t58, label %dcr.u18, label %dcr.k19
+dcr.u18:
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.k19:
+ %t59 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4)
+ %t60.cell = load ptr, ptr @scr_exc_active
+ %t60.kind = load i32, ptr %t60.cell
+ %t60 = icmp ne i32 %t60.kind, 0
+ br i1 %t60, label %dcr.read.u20, label %dcr.read.k21
+dcr.read.u20:
+ call void @scr_dyn_release(ptr %t59)
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.read.k21:
+ %t61 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t61
+ %t62 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_4445240590403708, ptr %t62
+ %t63 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t63
+ %t64 = call ptr @sc_dc_0(ptr %t59, ptr %dcp)
+ call void @scr_dyn_release(ptr %t59)
+ %t65 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 3 ; .etag
+ store ptr %t64, ptr %t65
+ %t66.cell = load ptr, ptr @scr_exc_active
+ %t66.kind = load i32, ptr %t66.cell
+ %t66 = icmp ne i32 %t66.kind, 0
+ br i1 %t66, label %dcr.u22, label %dcr.k23
+dcr.u22:
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.k23:
+ %t67 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1096813006725504, i64 9)
+ %t68.cell = load ptr, ptr @scr_exc_active
+ %t68.kind = load i32, ptr %t68.cell
+ %t68 = icmp ne i32 %t68.kind, 0
+ br i1 %t68, label %dcr.read.u24, label %dcr.read.k25
+dcr.read.u24:
+ call void @scr_dyn_release(ptr %t67)
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.read.k25:
+ %t69 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t69
+ %t70 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_1096813006725504, ptr %t70
+ %t71 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t71
+ %t72 = call i1 @sc_dc_3(ptr %t67, ptr %dcp)
+ call void @scr_dyn_release(ptr %t67)
+ %t73 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 4 ; .immutable
+ %t74 = zext i1 %t72 to i8
+ store i8 %t74, ptr %t73
+ %t75.cell = load ptr, ptr @scr_exc_active
+ %t75.kind = load i32, ptr %t75.cell
+ %t75 = icmp ne i32 %t75.kind, 0
+ br i1 %t75, label %dcr.u26, label %dcr.k27
+dcr.u26:
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.k27:
+ %t76 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2067668976369489, i64 7)
+ %t77.cell = load ptr, ptr @scr_exc_active
+ %t77.kind = load i32, ptr %t77.cell
+ %t77 = icmp ne i32 %t77.kind, 0
+ br i1 %t77, label %dcr.read.u28, label %dcr.read.k29
+dcr.read.u28:
+ call void @scr_dyn_release(ptr %t76)
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.read.k29:
+ %t78 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t78
+ %t79 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2067668976369489, ptr %t79
+ %t80 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t80
+ %t81 = call double @sc_dc_2(ptr %t76, ptr %dcp)
+ call void @scr_dyn_release(ptr %t76)
+ %t82 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 5 ; .mtimeMs
+ store double %t81, ptr %t82
+ %t83.cell = load ptr, ptr @scr_exc_active
+ %t83.kind = load i32, ptr %t83.cell
+ %t83 = icmp ne i32 %t83.kind, 0
+ br i1 %t83, label %dcr.u30, label %dcr.k31
+dcr.u30:
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.k31:
+ %t84 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2826818497658723, i64 4)
+ %t85.cell = load ptr, ptr @scr_exc_active
+ %t85.kind = load i32, ptr %t85.cell
+ %t85 = icmp ne i32 %t85.kind, 0
+ br i1 %t85, label %dcr.read.u32, label %dcr.read.k33
+dcr.read.u32:
+ call void @scr_dyn_release(ptr %t84)
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.read.k33:
+ %t86 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t86
+ %t87 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2826818497658723, ptr %t87
+ %t88 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t88
+ %t89 = call ptr @sc_dc_0(ptr %t84, ptr %dcp)
+ call void @scr_dyn_release(ptr %t84)
+ %t90 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 6 ; .path
+ store ptr %t89, ptr %t90
+ %t91.cell = load ptr, ptr @scr_exc_active
+ %t91.kind = load i32, ptr %t91.cell
+ %t91 = icmp ne i32 %t91.kind, 0
+ br i1 %t91, label %dcr.u34, label %dcr.k35
+dcr.u34:
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.k35:
+ %t92 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_334509345124372, i64 4)
+ %t93.cell = load ptr, ptr @scr_exc_active
+ %t93.kind = load i32, ptr %t93.cell
+ %t93 = icmp ne i32 %t93.kind, 0
+ br i1 %t93, label %dcr.read.u36, label %dcr.read.k37
+dcr.read.u36:
+ call void @scr_dyn_release(ptr %t92)
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.read.k37:
+ %t94 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t94
+ %t95 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_334509345124372, ptr %t95
+ %t96 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t96
+ %t97 = call ptr @sc_dc_0(ptr %t92, ptr %dcp)
+ call void @scr_dyn_release(ptr %t92)
+ %t98 = getelementptr inbounds %sc_rs_r14, ptr %r0, i64 0, i32 7 ; .type
+ store ptr %t97, ptr %t98
+ %t99.cell = load ptr, ptr @scr_exc_active
+ %t99.kind = load i32, ptr %t99.cell
+ %t99 = icmp ne i32 %t99.kind, 0
+ br i1 %t99, label %dcr.u38, label %dcr.k39
+dcr.u38:
+ call void @sc_rrelease_r14(ptr %r0)
+ ret ptr null
+dcr.k39:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_13, ptr @sc_rnames_13_lens, i64 7)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_83(ptr %d, ptr %path) #0 { ; check array
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2766961976368107, i64 17)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2766961976368107, i64 17)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_83(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @scr_arr_release(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ call void @scr_arr_outline(ptr %t5)
+ call void @scr_arr_outline(ptr %t8)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 1
+ %t12 = load i64, ptr %t10 ; length
+ %t13 = load i64, ptr %t11
+ store i64 %t13, ptr %t10
+ store i64 %t12, ptr %t11
+ %t14 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 2
+ %t16 = load i64, ptr %t14 ; capacity
+ %t17 = load i64, ptr %t15
+ store i64 %t17, ptr %t14
+ store i64 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 8
+ %t20 = load ptr, ptr %t18 ; data
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 9
+ %t23 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 9
+ %t24 = load ptr, ptr %t22 ; presence
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrArr, ptr %t5, i64 0, i32 6
+ %t27 = getelementptr inbounds %ScrArr, ptr %t8, i64 0, i32 6
+ %t28 = load i32, ptr %t26 ; filled
+ %t29 = load i32, ptr %t27
+ store i32 %t29, ptr %t26
+ store i32 %t28, ptr %t27
+ call void @scr_arr_swap_indexed_ext(ptr %t5, ptr %t8)
+ call void @scr_arr_release(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2766961976368107, i64 17, ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t30 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 4
+ br i1 %t32, label %dca.k10, label %dca.f11
+dca.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3868368797548903, ptr %d)
+ ret ptr null
+dca.k10:
+ %t33 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t34 = load i64, ptr %t33
+ %t35 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r14.sc_rrelease_r14.null, i64 %t34)
+ %t36 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t37 = load ptr, ptr %t36
+ store i64 0, ptr %s38
+ br label %dca.c12
+dca.c12:
+ %t39 = load i64, ptr %s38
+ %t40 = icmp ult i64 %t39, %t34
+ br i1 %t40, label %dca.b13, label %dca.e15
+dca.b13:
+ %t41 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t39)
+ br i1 %t41, label %dca.present16, label %dca.hole17
+dca.hole17:
+ %t42 = sitofp i64 %t39 to double
+ %t43 = fadd double %t42, 1.0
+ call void @scr_arr_set_len(ptr %t35, double %t43)
+ br label %dca.done18
+dca.present16:
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr null, ptr %t45
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 %t39, ptr %t46
+ %t47 = getelementptr inbounds ptr, ptr %t37, i64 %t39
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @sc_dc_84(ptr %t48, ptr %dcp)
+ %t50.cell = load ptr, ptr @scr_exc_active
+ %t50.kind = load i32, ptr %t50.cell
+ %t50 = icmp ne i32 %t50.kind, 0
+ br i1 %t50, label %dca.u19, label %dca.k20
+dca.u19:
+ call void @scr_arr_release(ptr %t35)
+ ret ptr null
+dca.k20:
+ %t51 = call double @scr_arr_push_ref(ptr %t35, ptr %t49)
+ br label %dca.done18
+dca.done18:
+ br label %dca.n14
+dca.n14:
+ %t52 = add i64 %t39, 1
+ store i64 %t52, ptr %s38
+ br label %dca.c12
+dca.e15:
+ ret ptr %t35
+}
+
+define internal zeroext i1 @sc_dm_31(ptr %d) #0 { ; matches record:r13
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2563538800453537, i64 10)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_31(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ %t9 = icmp eq i32 %t7, 13
+ %t10 = or i1 %t8, %t9
+ br i1 %t10, label %dm.o5, label %dm.f4
+dm.o5:
+ %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2359144980483679, i64 3)
+ %t12.cell = load ptr, ptr @scr_exc_active
+ %t12.kind = load i32, ptr %t12.cell
+ %t12 = icmp ne i32 %t12.kind, 0
+ br i1 %t12, label %dm.read.u7, label %dm.read.k8
+dm.read.u7:
+ call void @scr_dyn_release(ptr %t11)
+ ret i1 false
+dm.read.k8:
+ %t13 = call zeroext i1 @sc_dm_6(ptr %t11)
+ call void @scr_dyn_release(ptr %t11)
+ br i1 %t13, label %dm.n6, label %dm.f4
+dm.n6:
+ %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1683535768246717, i64 3)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dm.read.u10, label %dm.read.k11
+dm.read.u10:
+ call void @scr_dyn_release(ptr %t14)
+ ret i1 false
+dm.read.k11:
+ %t16 = call zeroext i1 @sc_dm_6(ptr %t14)
+ call void @scr_dyn_release(ptr %t14)
+ br i1 %t16, label %dm.n9, label %dm.f4
+dm.n9:
+ %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4)
+ %t18.cell = load ptr, ptr @scr_exc_active
+ %t18.kind = load i32, ptr %t18.cell
+ %t18 = icmp ne i32 %t18.kind, 0
+ br i1 %t18, label %dm.read.u13, label %dm.read.k14
+dm.read.u13:
+ call void @scr_dyn_release(ptr %t17)
+ ret i1 false
+dm.read.k14:
+ %t19 = call zeroext i1 @sc_dm_6(ptr %t17)
+ call void @scr_dyn_release(ptr %t17)
+ br i1 %t19, label %dm.n12, label %dm.f4
+dm.n12:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_dm_33(ptr %d) #0 { ; matches array
+entry:
+ %s13 = alloca i64
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3299468148590259, i64 17)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_33(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 4
+ br i1 %t8, label %dm.a5, label %dm.f4
+dm.a5:
+ %t9 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t10 = load i64, ptr %t9
+ %t11 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t12 = load ptr, ptr %t11
+ store i64 0, ptr %s13
+ br label %dm.el.c6
+dm.el.c6:
+ %t14 = load i64, ptr %s13
+ %t15 = icmp ult i64 %t14, %t10
+ br i1 %t15, label %dm.el.b7, label %dm.el.e9
+dm.el.b7:
+ %t16 = call zeroext i1 @scr_dyn_arr_has_index(ptr %d, i64 %t14)
+ br i1 %t16, label %dm.present10, label %dm.hole11
+dm.hole11:
+ br label %dm.el.n8
+dm.present10:
+ %t17 = getelementptr inbounds ptr, ptr %t12, i64 %t14
+ %t18 = load ptr, ptr %t17
+ %t19 = call zeroext i1 @sc_dm_31(ptr %t18)
+ br i1 %t19, label %dm.eo12, label %dm.f4
+dm.eo12:
+ br label %dm.el.n8
+dm.el.n8:
+ %t20 = add i64 %t14, 1
+ store i64 %t20, ptr %s13
+ br label %dm.el.c6
+dm.el.e9:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal zeroext i1 @sc_dm_32(ptr %d) #0 { ; matches record:r14
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2067294835765432, i64 10)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_32(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ %t9 = icmp eq i32 %t7, 13
+ %t10 = or i1 %t8, %t9
+ br i1 %t10, label %dm.o5, label %dm.f4
+dm.o5:
+ %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2359144980483679, i64 3)
+ %t12.cell = load ptr, ptr @scr_exc_active
+ %t12.kind = load i32, ptr %t12.cell
+ %t12 = icmp ne i32 %t12.kind, 0
+ br i1 %t12, label %dm.read.u7, label %dm.read.k8
+dm.read.u7:
+ call void @scr_dyn_release(ptr %t11)
+ ret i1 false
+dm.read.k8:
+ %t13 = call zeroext i1 @sc_dm_6(ptr %t11)
+ call void @scr_dyn_release(ptr %t11)
+ br i1 %t13, label %dm.n6, label %dm.f4
+dm.n6:
+ %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_448384591214783, i64 4)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dm.read.u10, label %dm.read.k11
+dm.read.u10:
+ call void @scr_dyn_release(ptr %t14)
+ ret i1 false
+dm.read.k11:
+ %t16 = call zeroext i1 @sc_dm_33(ptr %t14)
+ call void @scr_dyn_release(ptr %t14)
+ br i1 %t16, label %dm.n9, label %dm.f4
+dm.n9:
+ %t17 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4445240590403708, i64 4)
+ %t18.cell = load ptr, ptr @scr_exc_active
+ %t18.kind = load i32, ptr %t18.cell
+ %t18 = icmp ne i32 %t18.kind, 0
+ br i1 %t18, label %dm.read.u13, label %dm.read.k14
+dm.read.u13:
+ call void @scr_dyn_release(ptr %t17)
+ ret i1 false
+dm.read.k14:
+ %t19 = call zeroext i1 @sc_dm_6(ptr %t17)
+ call void @scr_dyn_release(ptr %t17)
+ br i1 %t19, label %dm.n12, label %dm.f4
+dm.n12:
+ %t20 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1096813006725504, i64 9)
+ %t21.cell = load ptr, ptr @scr_exc_active
+ %t21.kind = load i32, ptr %t21.cell
+ %t21 = icmp ne i32 %t21.kind, 0
+ br i1 %t21, label %dm.read.u16, label %dm.read.k17
+dm.read.u16:
+ call void @scr_dyn_release(ptr %t20)
+ ret i1 false
+dm.read.k17:
+ %t22 = call zeroext i1 @sc_dm_24(ptr %t20)
+ call void @scr_dyn_release(ptr %t20)
+ br i1 %t22, label %dm.n15, label %dm.f4
+dm.n15:
+ %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2067668976369489, i64 7)
+ %t24.cell = load ptr, ptr @scr_exc_active
+ %t24.kind = load i32, ptr %t24.cell
+ %t24 = icmp ne i32 %t24.kind, 0
+ br i1 %t24, label %dm.read.u19, label %dm.read.k20
+dm.read.u19:
+ call void @scr_dyn_release(ptr %t23)
+ ret i1 false
+dm.read.k20:
+ %t25 = call zeroext i1 @sc_dm_2(ptr %t23)
+ call void @scr_dyn_release(ptr %t23)
+ br i1 %t25, label %dm.n18, label %dm.f4
+dm.n18:
+ %t26 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2826818497658723, i64 4)
+ %t27.cell = load ptr, ptr @scr_exc_active
+ %t27.kind = load i32, ptr %t27.cell
+ %t27 = icmp ne i32 %t27.kind, 0
+ br i1 %t27, label %dm.read.u22, label %dm.read.k23
+dm.read.u22:
+ call void @scr_dyn_release(ptr %t26)
+ ret i1 false
+dm.read.k23:
+ %t28 = call zeroext i1 @sc_dm_6(ptr %t26)
+ call void @scr_dyn_release(ptr %t26)
+ br i1 %t28, label %dm.n21, label %dm.f4
+dm.n21:
+ %t29 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_334509345124372, i64 4)
+ %t30.cell = load ptr, ptr @scr_exc_active
+ %t30.kind = load i32, ptr %t30.cell
+ %t30 = icmp ne i32 %t30.kind, 0
+ br i1 %t30, label %dm.read.u25, label %dm.read.k26
+dm.read.u25:
+ call void @scr_dyn_release(ptr %t29)
+ ret i1 false
+dm.read.k26:
+ %t31 = call zeroext i1 @sc_dm_6(ptr %t29)
+ call void @scr_dyn_release(ptr %t29)
+ br i1 %t31, label %dm.n24, label %dm.f4
+dm.n24:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+@sc_rnames_14 = internal constant [1 x ptr] [ptr @sc_cs_4377402653539513]
+@sc_rnames_14_lens = internal constant [1 x i64] [i64 4]
+
+define internal ptr @sc_dc_87(ptr %d, ptr %path) #0 { ; check record:r20
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_452564808083842, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_452564808083842, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_87(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r20(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r20, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r20, ptr %t8, i64 0, i32 1
+ %t12 = load double, ptr %t10 ; port
+ %t13 = load double, ptr %t11
+ store double %t13, ptr %t10
+ store double %t12, ptr %t11
+ call void @sc_rrelease_r20(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_452564808083842, i64 10, ptr %t8, ptr @sc_rretain_r20, ptr @sc_rrelease_r20, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ %t17 = icmp eq i32 %t15, 13
+ %t18 = or i1 %t16, %t17
+ br i1 %t18, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r20()
+ %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4377402653539513, i64 4)
+ %t20.cell = load ptr, ptr @scr_exc_active
+ %t20.kind = load i32, ptr %t20.cell
+ %t20 = icmp ne i32 %t20.kind, 0
+ br i1 %t20, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t19)
+ call void @sc_rrelease_r20(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t21
+ %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_4377402653539513, ptr %t22
+ %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t23
+ %t24 = call double @sc_dc_2(ptr %t19, ptr %dcp)
+ call void @scr_dyn_release(ptr %t19)
+ %t25 = getelementptr inbounds %sc_rs_r20, ptr %r0, i64 0, i32 1 ; .port
+ store double %t24, ptr %t25
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r20(ptr %r0)
+ ret ptr null
+dcr.k15:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_14, ptr @sc_rnames_14_lens, i64 1)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_88(ptr %d, ptr %path) #0 { ; check netServer
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3142187572806275, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3142187572806275, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_88(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3142187572806275, i64 9, ptr %t8, ptr @scr_net_server_retain_v, ptr @scr_net_server_release_v, i1 false)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call ptr @scr_dyn_handle_unbox(ptr %d, i32 3, ptr %path, ptr @sc_cs_3078073717969559)
+ ret ptr %t10
+}
+
+define internal zeroext i1 @sc_dm_35(ptr %d) #0 { ; matches union:u13
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3113150508978810, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_35(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = call zeroext i1 @sc_dm_24(ptr %d)
+ br i1 %t6, label %dm.y4, label %dm.n5
+dm.n5:
+ %t7 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t7, label %dm.y4, label %dm.n6
+dm.n6:
+ ret i1 false
+dm.y4:
+ ret i1 true
+}
+
+define internal zeroext i1 @sc_dm_36(ptr %d) #0 { ; matches union:u19
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2786531977708587, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_36(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = call zeroext i1 @sc_dm_25(ptr %d)
+ br i1 %t6, label %dm.y4, label %dm.n5
+dm.n5:
+ %t7 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t7, label %dm.y4, label %dm.n6
+dm.n6:
+ ret i1 false
+dm.y4:
+ ret i1 true
+}
+
+define internal zeroext i1 @sc_dm_34(ptr %d) #0 { ; matches record:r7
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_708899555714582, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_34(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ %t9 = icmp eq i32 %t7, 13
+ %t10 = or i1 %t8, %t9
+ br i1 %t10, label %dm.o5, label %dm.f4
+dm.o5:
+ %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_616655122974952, i64 4)
+ %t12.cell = load ptr, ptr @scr_exc_active
+ %t12.kind = load i32, ptr %t12.cell
+ %t12 = icmp ne i32 %t12.kind, 0
+ br i1 %t12, label %dm.read.u7, label %dm.read.k8
+dm.read.u7:
+ call void @scr_dyn_release(ptr %t11)
+ ret i1 false
+dm.read.k8:
+ %t13 = call zeroext i1 @sc_dm_35(ptr %t11)
+ call void @scr_dyn_release(ptr %t11)
+ br i1 %t13, label %dm.n6, label %dm.f4
+dm.n6:
+ %t14 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2277266704045385, i64 9)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dm.read.u10, label %dm.read.k11
+dm.read.u10:
+ call void @scr_dyn_release(ptr %t14)
+ ret i1 false
+dm.read.k11:
+ %t16 = call zeroext i1 @sc_dm_36(ptr %t14)
+ call void @scr_dyn_release(ptr %t14)
+ br i1 %t16, label %dm.n9, label %dm.f4
+dm.n9:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+define internal ptr @sc_dc_89(ptr %d, ptr %path) #0 { ; check union:u20
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_691918933429116, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_34(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_67(ptr %d, ptr %path)
+ ret ptr %t3
+dcu.n3:
+ %t4 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t4, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr null
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_89(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3884343448446622, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_td_36(ptr %v) #0 { ; to-dyn object:%m5.App
+entry:
+ %t0 = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dfk_13(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %s24 = alloca ptr
+ %s30 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_36(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t25 = icmp ult i64 2, %argc
+ br i1 %t25, label %dfk.h10, label %dfk.m11
+dfk.h10:
+ %t26 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %s24
+ br label %dfk.j12
+dfk.m11:
+ %t28 = call ptr @scr_dyn_undefined()
+ store ptr %t28, ptr %s24
+ br label %dfk.j12
+dfk.j12:
+ %t29 = load ptr, ptr %s24
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0
+ store ptr null, ptr %t31
+ %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1
+ store ptr null, ptr %t32
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2
+ store i64 2, ptr %t33
+ %t34 = call ptr @sc_dc_89(ptr %t29, ptr %s30)
+ %t35.cell = load ptr, ptr @scr_exc_active
+ %t35.kind = load i32, ptr %t35.cell
+ %t35 = icmp ne i32 %t35.kind, 0
+ br i1 %t35, label %dfk.u13, label %dfk.k14
+dfk.u13:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_closure_release(ptr %t22)
+ ret ptr null
+dfk.k14:
+ %t36 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t37 = load ptr, ptr %t36
+ %t38 = call ptr %t37(ptr %c, ptr %t10, ptr %t22, ptr %t34)
+ %t39.cell = load ptr, ptr @scr_exc_active
+ %t39.kind = load i32, ptr %t39.cell
+ %t39 = icmp ne i32 %t39.kind, 0
+ br i1 %t39, label %dfkr.u15, label %dfkr.k16
+dfkr.u15:
+ ret ptr null
+dfkr.k16:
+ %t40 = call ptr @sc_td_36(ptr %t38)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ ret ptr %t40
+}
+
+define internal ptr @sc_dfb_13(ptr %v, ptr %fname) #0 { ; box func(string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_13, i32 3, ptr @sc_cs_1834495602683357, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_14(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %s24 = alloca ptr
+ %s30 = alloca %ScrDynPath
+ %s36 = alloca ptr
+ %s42 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t25 = icmp ult i64 2, %argc
+ br i1 %t25, label %dfk.h10, label %dfk.m11
+dfk.h10:
+ %t26 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %s24
+ br label %dfk.j12
+dfk.m11:
+ %t28 = call ptr @scr_dyn_undefined()
+ store ptr %t28, ptr %s24
+ br label %dfk.j12
+dfk.j12:
+ %t29 = load ptr, ptr %s24
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0
+ store ptr null, ptr %t31
+ %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1
+ store ptr null, ptr %t32
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2
+ store i64 2, ptr %t33
+ %t34 = call ptr @sc_dc_36(ptr %t29, ptr %s30)
+ %t35.cell = load ptr, ptr @scr_exc_active
+ %t35.kind = load i32, ptr %t35.cell
+ %t35 = icmp ne i32 %t35.kind, 0
+ br i1 %t35, label %dfk.u13, label %dfk.k14
+dfk.u13:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ ret ptr null
+dfk.k14:
+ %t37 = icmp ult i64 3, %argc
+ br i1 %t37, label %dfk.h15, label %dfk.m16
+dfk.h15:
+ %t38 = getelementptr inbounds ptr, ptr %args, i64 3
+ %t39 = load ptr, ptr %t38
+ store ptr %t39, ptr %s36
+ br label %dfk.j17
+dfk.m16:
+ %t40 = call ptr @scr_dyn_undefined()
+ store ptr %t40, ptr %s36
+ br label %dfk.j17
+dfk.j17:
+ %t41 = load ptr, ptr %s36
+ %t43 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 0
+ store ptr null, ptr %t43
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 1
+ store ptr null, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 2
+ store i64 3, ptr %t45
+ %t46 = call ptr @sc_dc_89(ptr %t41, ptr %s42)
+ %t47.cell = load ptr, ptr @scr_exc_active
+ %t47.kind = load i32, ptr %t47.cell
+ %t47 = icmp ne i32 %t47.kind, 0
+ br i1 %t47, label %dfk.u18, label %dfk.k19
+dfk.u18:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ call void @scr_closure_release(ptr %t34)
+ ret ptr null
+dfk.k19:
+ %t48 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr %t49(ptr %c, ptr %t10, ptr %t22, ptr %t34, ptr %t46)
+ %t51.cell = load ptr, ptr @scr_exc_active
+ %t51.kind = load i32, ptr %t51.cell
+ %t51 = icmp ne i32 %t51.kind, 0
+ br i1 %t51, label %dfkr.u20, label %dfkr.k21
+dfkr.u20:
+ ret ptr null
+dfkr.k21:
+ %t52 = call ptr @sc_td_36(ptr %t50)
+ call void @sc_release__x25_m5_App(ptr %t50)
+ ret ptr %t52
+}
+
+define internal ptr @sc_dfb_14(ptr %v, ptr %fname) #0 { ; box func(string,string,func(object:%m5.CtxCore)=>dyn,union:u20)=>object:%m5.App into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_14, i32 4, ptr @sc_cs_2392962937543124, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_90(ptr %d, ptr %path) #0 { ; check union:u21
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_998895400089623, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_16(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_34(ptr %d, ptr %path)
+ %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ ret ptr %t4
+dcu.n3:
+ %t5 = call zeroext i1 @sc_dm_6(ptr %d)
+ br i1 %t5, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ %t6 = call ptr @sc_dc_0(ptr %d, ptr %path)
+ %t7 = call ptr @scr_union_new_ref(i32 1, ptr %t6, ptr @scr_str_retain_v, ptr @scr_str_release_v, ptr null)
+ ret ptr %t7
+dcu.n5:
+ %t8 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t9 = load i32, ptr %t8
+ %t10 = icmp eq i32 %t9, 12
+ br i1 %t10, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t11 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_998895400089623, i64 9)
+ %t12 = icmp ne ptr %t11, null
+ %t13 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t14 = call ptr @sc_dc_90(ptr %t13, ptr %path)
+ call void @scr_dyn_release_v(ptr %t13)
+ %t15 = icmp ne ptr %t14, null
+ br i1 %t15, label %dcu.ok8, label %dcu.bad9
+dcu.bad9:
+ br i1 %t12, label %dcu.bad.drop10, label %dcu.bad.ret11
+dcu.bad.drop10:
+ call void @scr_union_release(ptr %t11)
+ br label %dcu.bad.ret11
+dcu.bad.ret11:
+ ret ptr null
+dcu.ok8:
+ br i1 %t12, label %dcu.refresh12, label %dcu.put13
+dcu.refresh12:
+ %t16 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 1
+ %t17 = getelementptr inbounds %ScrUnion, ptr %t14, i64 0, i32 1
+ %t18 = load i32, ptr %t16 ; tag
+ %t19 = load i32, ptr %t17
+ store i32 %t19, ptr %t16
+ store i32 %t18, ptr %t17
+ %t20 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 2
+ %t21 = getelementptr inbounds %ScrUnion, ptr %t14, i64 0, i32 2
+ %t22 = load ptr, ptr %t20 ; retain
+ %t23 = load ptr, ptr %t21
+ store ptr %t23, ptr %t20
+ store ptr %t22, ptr %t21
+ %t24 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 3
+ %t25 = getelementptr inbounds %ScrUnion, ptr %t14, i64 0, i32 3
+ %t26 = load ptr, ptr %t24 ; release
+ %t27 = load ptr, ptr %t25
+ store ptr %t27, ptr %t24
+ store ptr %t26, ptr %t25
+ %t28 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 4
+ %t29 = getelementptr inbounds %ScrUnion, ptr %t14, i64 0, i32 4
+ %t30 = load ptr, ptr %t28 ; trace
+ %t31 = load ptr, ptr %t29
+ store ptr %t31, ptr %t28
+ store ptr %t30, ptr %t29
+ %t32 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 5
+ %t33 = getelementptr inbounds %ScrUnion, ptr %t14, i64 0, i32 5
+ %t34 = load i64, ptr %t32 ; slot
+ %t35 = load i64, ptr %t33
+ store i64 %t35, ptr %t32
+ store i64 %t34, ptr %t33
+ call void @scr_union_release(ptr %t14)
+ ret ptr %t11
+dcu.put13:
+ store i8 1, ptr @sc_retype_guard_6
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_998895400089623, i64 9, ptr %t14, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 true)
+ ret ptr %t14
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1996812579692584, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfk_15(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(union:u21,arraydyn)=>dyn>,...typed[])=>object:%m5.App
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s13 = alloca i64
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_90(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = call ptr @scr_dyn_new_arr()
+ store i64 1, ptr %s13
+ br label %dfk.rc5
+dfk.rc5:
+ %t14 = load i64, ptr %s13
+ %t15 = icmp ult i64 %t14, %argc
+ br i1 %t15, label %dfk.rb6, label %dfk.re7
+dfk.rb6:
+ %t16 = getelementptr inbounds ptr, ptr %args, i64 %t14
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @scr_dyn_retain_v(ptr %t17)
+ call void @scr_dyn_arr_push(ptr %t12, ptr %t18)
+ %t19 = add i64 %t14, 1
+ store i64 %t19, ptr %s13
+ br label %dfk.rc5
+dfk.re7:
+ %t20 = call ptr @sc_dc_33(ptr %t12, ptr null)
+ call void @scr_dyn_release(ptr %t12)
+ %t21.cell = load ptr, ptr @scr_exc_active
+ %t21.kind = load i32, ptr %t21.cell
+ %t21 = icmp ne i32 %t21.kind, 0
+ br i1 %t21, label %dfk.rest.u8, label %dfk.rest.k9
+dfk.rest.u8:
+ call void @scr_union_release(ptr %t10)
+ ret ptr null
+dfk.rest.k9:
+ %t22 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t23 = load ptr, ptr %t22
+ %t24 = call ptr %t23(ptr %c, ptr %t10, ptr %t20)
+ %t25.cell = load ptr, ptr @scr_exc_active
+ %t25.kind = load i32, ptr %t25.cell
+ %t25 = icmp ne i32 %t25.kind, 0
+ br i1 %t25, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t26 = call ptr @sc_td_36(ptr %t24)
+ call void @sc_release__x25_m5_App(ptr %t24)
+ ret ptr %t26
+}
+
+define internal ptr @sc_dfb_15(ptr %v, ptr %fname) #0 { ; box func(union:u21,arraydyn)=>dyn>,...typed[])=>object:%m5.App into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_15, i32 1, ptr @sc_cs_2607745839033357, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_16(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(func(object:%m5.CtxCore)=>dyn)=>object:%m5.App
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_36(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_36(ptr %t14)
+ call void @sc_release__x25_m5_App(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_16(ptr %v, ptr %fname) #0 { ; box func(func(object:%m5.CtxCore)=>dyn)=>object:%m5.App into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_16, i32 1, ptr @sc_cs_1615563165756018, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_17(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(func(dyn,object:%m5.CtxCore)=>void)=>object:%m5.App
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_39(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_36(ptr %t14)
+ call void @sc_release__x25_m5_App(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_17(ptr %v, ptr %fname) #0 { ; box func(func(dyn,object:%m5.CtxCore)=>void)=>object:%m5.App into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_17, i32 1, ptr @sc_cs_2582782517029237, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_91(ptr %d, ptr %path) #0 { ; check object:%m5.App
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_21424698936986
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m5_App(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_21424698936986, i64 14)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_21424698936986, i64 14)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_91(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_21424698936986, i64 14, ptr %t18, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3643270957151775, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfk_18(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,object:%m5.App)=>object:%m5.App
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_91(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22)
+ %t27.cell = load ptr, ptr @scr_exc_active
+ %t27.kind = load i32, ptr %t27.cell
+ %t27 = icmp ne i32 %t27.kind, 0
+ br i1 %t27, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t28 = call ptr @sc_td_36(ptr %t26)
+ call void @sc_release__x25_m5_App(ptr %t26)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_18(ptr %v, ptr %fname) #0 { ; box func(string,object:%m5.App)=>object:%m5.App into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_18, i32 2, ptr @sc_cs_457260921344797, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_92(ptr %d, ptr %path) #0 { ; check object:%m0.GenDispatch
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_2165660704272757
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2165660704272757, i64 22)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2165660704272757, i64 22)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_92(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2165660704272757, i64 22, ptr %t18, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3395729563104566, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfk_19(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m0.GenDispatch)=>object:%m5.App
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_92(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_36(ptr %t14)
+ call void @sc_release__x25_m5_App(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_19(ptr %v, ptr %fname) #0 { ; box func(object:%m0.GenDispatch)=>object:%m5.App into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_19, i32 1, ptr @sc_cs_177236993751959, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_93(ptr %d, ptr %path) #0 { ; check object:%m0.GenFetch
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_2798802470260116
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2798802470260116, i64 19)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2798802470260116, i64 19)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_93(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2798802470260116, i64 19, ptr %t18, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1090518300670182, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfk_20(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m0.GenFetch)=>object:%m5.App
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_93(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_36(ptr %t14)
+ call void @sc_release__x25_m5_App(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_20(ptr %v, ptr %fname) #0 { ; box func(object:%m0.GenFetch)=>object:%m5.App into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_20, i32 1, ptr @sc_cs_4102009867172847, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_94(ptr %d, ptr %path) #0 { ; check object:%m1.UpgradeDispatch
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3870085012327510
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3870085012327510, i64 26)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3870085012327510, i64 26)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_94(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3870085012327510, i64 26, ptr %t18, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3643480643763557, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfk_21(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(object:%m1.UpgradeDispatch)=>object:%m5.App
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_94(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_36(ptr %t14)
+ call void @sc_release__x25_m5_App(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_21(ptr %v, ptr %fname) #0 { ; box func(object:%m1.UpgradeDispatch)=>object:%m5.App into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_21, i32 1, ptr @sc_cs_1117094822997163, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_23(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(httpReq,netSocket,bytes)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %s24 = alloca ptr
+ %s30 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_16(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_53(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_http_req_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t25 = icmp ult i64 2, %argc
+ br i1 %t25, label %dfk.h10, label %dfk.m11
+dfk.h10:
+ %t26 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %s24
+ br label %dfk.j12
+dfk.m11:
+ %t28 = call ptr @scr_dyn_undefined()
+ store ptr %t28, ptr %s24
+ br label %dfk.j12
+dfk.j12:
+ %t29 = load ptr, ptr %s24
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0
+ store ptr null, ptr %t31
+ %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1
+ store ptr null, ptr %t32
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2
+ store i64 2, ptr %t33
+ %t34 = call ptr @sc_dc_12(ptr %t29, ptr %s30)
+ %t35.cell = load ptr, ptr @scr_exc_active
+ %t35.kind = load i32, ptr %t35.cell
+ %t35 = icmp ne i32 %t35.kind, 0
+ br i1 %t35, label %dfk.u13, label %dfk.k14
+dfk.u13:
+ call void @scr_http_req_release(ptr %t10)
+ call void @scr_net_sock_release(ptr %t22)
+ ret ptr null
+dfk.k14:
+ %t36 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t37 = load ptr, ptr %t36
+ call void %t37(ptr %c, ptr %t10, ptr %t22, ptr %t34)
+ %t38.cell = load ptr, ptr @scr_exc_active
+ %t38.kind = load i32, ptr %t38.cell
+ %t38 = icmp ne i32 %t38.kind, 0
+ br i1 %t38, label %dfkr.u15, label %dfkr.k16
+dfkr.u15:
+ ret ptr null
+dfkr.k16:
+ %t39 = call ptr @scr_dyn_undefined()
+ %t40 = call ptr @scr_dyn_retain_v(ptr %t39)
+ ret ptr %t40
+}
+
+define internal ptr @sc_dfb_23(ptr %v, ptr %fname) #0 { ; box func(httpReq,netSocket,bytes)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_23, i32 3, ptr @sc_cs_2057212120954729, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_22(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>func(httpReq,netSocket,bytes)=>void
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_dfb_23(ptr %t2, ptr null)
+ call void @scr_closure_release(ptr %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_22(ptr %v, ptr %fname) #0 { ; box func()=>func(httpReq,netSocket,bytes)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_22, i32 0, ptr @sc_cs_3354128358198726, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_25(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(httpReq,httpRes)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_16(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_11(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_http_req_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ call void %t25(ptr %c, ptr %t10, ptr %t22)
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t27 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t27)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_25(ptr %v, ptr %fname) #0 { ; box func(httpReq,httpRes)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_25, i32 2, ptr @sc_cs_2931926363260223, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_24(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>func(httpReq,httpRes)=>void
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_dfb_25(ptr %t2, ptr null)
+ call void @scr_closure_release(ptr %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_24(ptr %v, ptr %fname) #0 { ; box func()=>func(httpReq,httpRes)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_24, i32 0, ptr @sc_cs_301648257142937, ptr %fname)
+ ret ptr %r
+}
+
+@sc_rnames_15 = internal constant [2 x ptr] [ptr @sc_cs_4377402653539513, ptr @sc_cs_1253490067536641]
+@sc_rnames_15_lens = internal constant [2 x i64] [i64 4, i64 4]
+
+define internal ptr @sc_dc_95(ptr %d, ptr %path) #0 { ; check record:r8
+entry:
+ %dcp = alloca %ScrDynPath
+ %s38 = alloca ptr
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_647597983044983, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_647597983044983, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_95(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r8(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r8, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r8, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; host
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r8, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r8, ptr %t8, i64 0, i32 2
+ %t16 = load double, ptr %t14 ; port
+ %t17 = load double, ptr %t15
+ store double %t17, ptr %t14
+ store double %t16, ptr %t15
+ call void @sc_rrelease_r8(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_647597983044983, i64 9, ptr %t8, ptr @sc_rretain_r8, ptr @sc_rrelease_r8, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t20 = icmp eq i32 %t19, 5
+ %t21 = icmp eq i32 %t19, 13
+ %t22 = or i1 %t20, %t21
+ br i1 %t22, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r8()
+ %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_1253490067536641, i64 4)
+ %t24.cell = load ptr, ptr @scr_exc_active
+ %t24.kind = load i32, ptr %t24.cell
+ %t24 = icmp ne i32 %t24.kind, 0
+ br i1 %t24, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t23)
+ call void @sc_rrelease_r8(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t25 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t25
+ %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_1253490067536641, ptr %t26
+ %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t27
+ %t28 = call ptr @sc_dc_62(ptr %t23, ptr %dcp)
+ call void @scr_dyn_release(ptr %t23)
+ %t29 = getelementptr inbounds %sc_rs_r8, ptr %r0, i64 0, i32 1 ; .host
+ store ptr %t28, ptr %t29
+ %t30.cell = load ptr, ptr @scr_exc_active
+ %t30.kind = load i32, ptr %t30.cell
+ %t30 = icmp ne i32 %t30.kind, 0
+ br i1 %t30, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r8(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t32 = icmp eq ptr %t28, null
+ %t31 = select i1 %t32, i32 1, i32 0
+ %t33 = icmp eq i32 %t31, 1
+ %t34 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t35 = load i32, ptr %t34
+ %t36 = icmp eq i32 %t35, 5
+ %t37 = and i1 %t33, %t36
+ store ptr %t28, ptr %s38
+ br i1 %t37, label %dcr.has16, label %dcr.hasj17
+dcr.has16:
+ %t39 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1253490067536641, i64 4) ; .host
+ %t40 = icmp eq ptr %t39, null
+ %t41 = select i1 %t40, ptr @sc_nullable_absent, ptr %t28
+ store ptr %t41, ptr %s38
+ br label %dcr.hasj17
+dcr.hasj17:
+ %t42 = load ptr, ptr %s38
+ %t43 = getelementptr inbounds %sc_rs_r8, ptr %r0, i64 0, i32 1 ; .host
+ store ptr %t42, ptr %t43
+ %t44 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_4377402653539513, i64 4)
+ %t45.cell = load ptr, ptr @scr_exc_active
+ %t45.kind = load i32, ptr %t45.cell
+ %t45 = icmp ne i32 %t45.kind, 0
+ br i1 %t45, label %dcr.read.u18, label %dcr.read.k19
+dcr.read.u18:
+ call void @scr_dyn_release(ptr %t44)
+ call void @sc_rrelease_r8(ptr %r0)
+ ret ptr null
+dcr.read.k19:
+ %t46 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t46
+ %t47 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_4377402653539513, ptr %t47
+ %t48 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t48
+ %t49 = call double @sc_dc_2(ptr %t44, ptr %dcp)
+ call void @scr_dyn_release(ptr %t44)
+ %t50 = getelementptr inbounds %sc_rs_r8, ptr %r0, i64 0, i32 2 ; .port
+ store double %t49, ptr %t50
+ %t51.cell = load ptr, ptr @scr_exc_active
+ %t51.kind = load i32, ptr %t51.cell
+ %t51 = icmp ne i32 %t51.kind, 0
+ br i1 %t51, label %dcr.u20, label %dcr.k21
+dcr.u20:
+ call void @sc_rrelease_r8(ptr %r0)
+ ret ptr null
+dcr.k21:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_15, ptr @sc_rnames_15_lens, i64 2)
+ ret ptr %r0
+}
+
+define internal ptr @sc_td_37(ptr %v) #0 { ; to-dyn netServer
+entry:
+ %t0 = call ptr @scr_dyn_new_handle(ptr %v, i32 3)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dfk_26(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(record:r8)=>netServer
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_95(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_37(ptr %t14)
+ call void @scr_net_server_release(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_26(ptr %v, ptr %fname) #0 { ; box func(record:r8)=>netServer into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_26, i32 1, ptr @sc_cs_173552041479615, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_96(ptr %d, ptr %path) #0 { ; check union:u27
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2359442629539563, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_17(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_36(ptr %d, ptr %path)
+ %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ ret ptr %t4
+dcu.n3:
+ %t5 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t5, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr @sc_unit_6
+dcu.n5:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2359442629539563, i64 9)
+ %t10 = icmp ne ptr %t9, null
+ %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t12 = call ptr @sc_dc_96(ptr %t11, ptr %path)
+ call void @scr_dyn_release_v(ptr %t11)
+ %t13 = icmp ne ptr %t12, null
+ br i1 %t13, label %dcu.ok8, label %dcu.bad9
+dcu.bad9:
+ br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11
+dcu.bad.drop10:
+ call void @scr_union_release(ptr %t9)
+ br label %dcu.bad.ret11
+dcu.bad.ret11:
+ ret ptr null
+dcu.ok8:
+ br i1 %t10, label %dcu.refresh12, label %dcu.put13
+dcu.refresh12:
+ %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1
+ %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1
+ %t16 = load i32, ptr %t14 ; tag
+ %t17 = load i32, ptr %t15
+ store i32 %t17, ptr %t14
+ store i32 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2
+ %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2
+ %t20 = load ptr, ptr %t18 ; retain
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3
+ %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3
+ %t24 = load ptr, ptr %t22 ; release
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4
+ %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4
+ %t28 = load ptr, ptr %t26 ; trace
+ %t29 = load ptr, ptr %t27
+ store ptr %t29, ptr %t26
+ store ptr %t28, ptr %t27
+ %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5
+ %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5
+ %t32 = load i64, ptr %t30 ; slot
+ %t33 = load i64, ptr %t31
+ store i64 %t33, ptr %t30
+ store i64 %t32, ptr %t31
+ call void @scr_union_release(ptr %t12)
+ ret ptr %t9
+dcu.put13:
+ store i8 1, ptr @sc_retype_guard_7
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2359442629539563, i64 9, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 true)
+ ret ptr %t12
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2054221238945515, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_97(ptr %d, ptr %path) #0 { ; check union:u28
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3915346829477755, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_20(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_43(ptr %d, ptr %path)
+ ret ptr %t3
+dcu.n3:
+ %t4 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t4, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr null
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_97(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2222188176823686, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfk_27(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(union:u27,arraydyn)=>dyn>,record:r9,union:u15,union:u28)=>f64
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %s24 = alloca ptr
+ %s30 = alloca %ScrDynPath
+ %s36 = alloca ptr
+ %s42 = alloca %ScrDynPath
+ %s48 = alloca ptr
+ %s54 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_96(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_33(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_union_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t25 = icmp ult i64 2, %argc
+ br i1 %t25, label %dfk.h10, label %dfk.m11
+dfk.h10:
+ %t26 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %s24
+ br label %dfk.j12
+dfk.m11:
+ %t28 = call ptr @scr_dyn_undefined()
+ store ptr %t28, ptr %s24
+ br label %dfk.j12
+dfk.j12:
+ %t29 = load ptr, ptr %s24
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0
+ store ptr null, ptr %t31
+ %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1
+ store ptr null, ptr %t32
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2
+ store i64 2, ptr %t33
+ %t34 = call ptr @sc_dc_54(ptr %t29, ptr %s30)
+ %t35.cell = load ptr, ptr @scr_exc_active
+ %t35.kind = load i32, ptr %t35.cell
+ %t35 = icmp ne i32 %t35.kind, 0
+ br i1 %t35, label %dfk.u13, label %dfk.k14
+dfk.u13:
+ call void @scr_union_release(ptr %t10)
+ call void @scr_arr_release(ptr %t22)
+ ret ptr null
+dfk.k14:
+ %t37 = icmp ult i64 3, %argc
+ br i1 %t37, label %dfk.h15, label %dfk.m16
+dfk.h15:
+ %t38 = getelementptr inbounds ptr, ptr %args, i64 3
+ %t39 = load ptr, ptr %t38
+ store ptr %t39, ptr %s36
+ br label %dfk.j17
+dfk.m16:
+ %t40 = call ptr @scr_dyn_undefined()
+ store ptr %t40, ptr %s36
+ br label %dfk.j17
+dfk.j17:
+ %t41 = load ptr, ptr %s36
+ %t43 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 0
+ store ptr null, ptr %t43
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 1
+ store ptr null, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 2
+ store i64 3, ptr %t45
+ %t46 = call ptr @sc_dc_71(ptr %t41, ptr %s42)
+ %t47.cell = load ptr, ptr @scr_exc_active
+ %t47.kind = load i32, ptr %t47.cell
+ %t47 = icmp ne i32 %t47.kind, 0
+ br i1 %t47, label %dfk.u18, label %dfk.k19
+dfk.u18:
+ call void @scr_union_release(ptr %t10)
+ call void @scr_arr_release(ptr %t22)
+ call void @sc_rrelease_r9(ptr %t34)
+ ret ptr null
+dfk.k19:
+ %t49 = icmp ult i64 4, %argc
+ br i1 %t49, label %dfk.h20, label %dfk.m21
+dfk.h20:
+ %t50 = getelementptr inbounds ptr, ptr %args, i64 4
+ %t51 = load ptr, ptr %t50
+ store ptr %t51, ptr %s48
+ br label %dfk.j22
+dfk.m21:
+ %t52 = call ptr @scr_dyn_undefined()
+ store ptr %t52, ptr %s48
+ br label %dfk.j22
+dfk.j22:
+ %t53 = load ptr, ptr %s48
+ %t55 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 0
+ store ptr null, ptr %t55
+ %t56 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 1
+ store ptr null, ptr %t56
+ %t57 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 2
+ store i64 4, ptr %t57
+ %t58 = call ptr @sc_dc_97(ptr %t53, ptr %s54)
+ %t59.cell = load ptr, ptr @scr_exc_active
+ %t59.kind = load i32, ptr %t59.cell
+ %t59 = icmp ne i32 %t59.kind, 0
+ br i1 %t59, label %dfk.u23, label %dfk.k24
+dfk.u23:
+ call void @scr_union_release(ptr %t10)
+ call void @scr_arr_release(ptr %t22)
+ call void @sc_rrelease_r9(ptr %t34)
+ call void @scr_union_release(ptr %t46)
+ ret ptr null
+dfk.k24:
+ %t60 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t61 = load ptr, ptr %t60
+ %t62 = call double %t61(ptr %c, ptr %t10, ptr %t22, ptr %t34, ptr %t46, ptr %t58)
+ %t63.cell = load ptr, ptr @scr_exc_active
+ %t63.kind = load i32, ptr %t63.cell
+ %t63 = icmp ne i32 %t63.kind, 0
+ br i1 %t63, label %dfkr.u25, label %dfkr.k26
+dfkr.u25:
+ ret ptr null
+dfkr.k26:
+ %t64 = call ptr @sc_td_2(double %t62)
+ ret ptr %t64
+}
+
+define internal ptr @sc_dfb_27(ptr %v, ptr %fname) #0 { ; box func(union:u27,arraydyn)=>dyn>,record:r9,union:u15,union:u28)=>f64 into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_27, i32 5, ptr @sc_cs_4434791701444334, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_38(ptr %v) #0 { ; to-dyn promise
+entry:
+ %t0 = call ptr @scr_dyn_new_promise(ptr %v)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dfk_28(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn,dyn,dyn)=>promise
+entry:
+ %s0 = alloca ptr
+ %s7 = alloca ptr
+ %s14 = alloca ptr
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t6 = call ptr @scr_dyn_retain_v(ptr %t5)
+ %t8 = icmp ult i64 1, %argc
+ br i1 %t8, label %dfk.h3, label %dfk.m4
+dfk.h3:
+ %t9 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t10 = load ptr, ptr %t9
+ store ptr %t10, ptr %s7
+ br label %dfk.j5
+dfk.m4:
+ %t11 = call ptr @scr_dyn_undefined()
+ store ptr %t11, ptr %s7
+ br label %dfk.j5
+dfk.j5:
+ %t12 = load ptr, ptr %s7
+ %t13 = call ptr @scr_dyn_retain_v(ptr %t12)
+ %t15 = icmp ult i64 2, %argc
+ br i1 %t15, label %dfk.h6, label %dfk.m7
+dfk.h6:
+ %t16 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t17 = load ptr, ptr %t16
+ store ptr %t17, ptr %s14
+ br label %dfk.j8
+dfk.m7:
+ %t18 = call ptr @scr_dyn_undefined()
+ store ptr %t18, ptr %s14
+ br label %dfk.j8
+dfk.j8:
+ %t19 = load ptr, ptr %s14
+ %t20 = call ptr @scr_dyn_retain_v(ptr %t19)
+ %t21 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t22 = load ptr, ptr %t21
+ %t23 = call ptr %t22(ptr %c, ptr %t6, ptr %t13, ptr %t20)
+ %t24.cell = load ptr, ptr @scr_exc_active
+ %t24.kind = load i32, ptr %t24.cell
+ %t24 = icmp ne i32 %t24.kind, 0
+ br i1 %t24, label %dfkr.u9, label %dfkr.k10
+dfkr.u9:
+ ret ptr null
+dfkr.k10:
+ %t25 = call ptr @sc_td_38(ptr %t23)
+ call void @scr_promise_release(ptr %t23)
+ ret ptr %t25
+}
+
+define internal ptr @sc_dfb_28(ptr %v, ptr %fname) #0 { ; box func(dyn,dyn,dyn)=>promise into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_28, i32 3, ptr @sc_cs_1285199922266981, ptr %fname)
+ ret ptr %r
+}
+
+define internal void @sc_dfa_11(ptr %sc_env, double %a0, ptr %a1, ptr %a2) #0 { ; dyn fn adapter to func(f64,array,string)=>void
+entry:
+ %s3 = alloca [3 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @sc_td_2(double %a0)
+ %t5 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ %t6 = call ptr @sc_td_12(ptr %a1)
+ %t7 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 1
+ store ptr %t6, ptr %t7
+ call void @scr_arr_release(ptr %a1)
+ %t8 = call ptr @sc_td_0(ptr %a2)
+ %t9 = getelementptr inbounds [3 x ptr], ptr %s3, i64 0, i64 2
+ store ptr %t8, ptr %t9
+ call void @scr_str_release(ptr %a2)
+ %t10 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 3, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ call void @scr_dyn_release(ptr %t6)
+ call void @scr_dyn_release(ptr %t8)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret void
+dfa.k1:
+ call void @scr_dyn_release(ptr %t10)
+ ret void
+}
+
+define internal ptr @sc_dc_98(ptr %d, ptr %path) #0 { ; check func(f64,array,string)=>void
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_901276133066810, i64 36)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_901276133066810, i64 36)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_98(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_901276133066810, i64 36, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_901276133066810)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_11, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal ptr @sc_dfk_29(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,union:u0,string,func(f64,array,string)=>void)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %s24 = alloca ptr
+ %s30 = alloca %ScrDynPath
+ %s36 = alloca ptr
+ %s42 = alloca %ScrDynPath
+ %s48 = alloca ptr
+ %s54 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t25 = icmp ult i64 2, %argc
+ br i1 %t25, label %dfk.h10, label %dfk.m11
+dfk.h10:
+ %t26 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %s24
+ br label %dfk.j12
+dfk.m11:
+ %t28 = call ptr @scr_dyn_undefined()
+ store ptr %t28, ptr %s24
+ br label %dfk.j12
+dfk.j12:
+ %t29 = load ptr, ptr %s24
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0
+ store ptr null, ptr %t31
+ %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1
+ store ptr null, ptr %t32
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2
+ store i64 2, ptr %t33
+ %t34 = call ptr @sc_dc_51(ptr %t29, ptr %s30)
+ %t35.cell = load ptr, ptr @scr_exc_active
+ %t35.kind = load i32, ptr %t35.cell
+ %t35 = icmp ne i32 %t35.kind, 0
+ br i1 %t35, label %dfk.u13, label %dfk.k14
+dfk.u13:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ ret ptr null
+dfk.k14:
+ %t37 = icmp ult i64 3, %argc
+ br i1 %t37, label %dfk.h15, label %dfk.m16
+dfk.h15:
+ %t38 = getelementptr inbounds ptr, ptr %args, i64 3
+ %t39 = load ptr, ptr %t38
+ store ptr %t39, ptr %s36
+ br label %dfk.j17
+dfk.m16:
+ %t40 = call ptr @scr_dyn_undefined()
+ store ptr %t40, ptr %s36
+ br label %dfk.j17
+dfk.j17:
+ %t41 = load ptr, ptr %s36
+ %t43 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 0
+ store ptr null, ptr %t43
+ %t44 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 1
+ store ptr null, ptr %t44
+ %t45 = getelementptr inbounds %ScrDynPath, ptr %s42, i64 0, i32 2
+ store i64 3, ptr %t45
+ %t46 = call ptr @sc_dc_0(ptr %t41, ptr %s42)
+ %t47.cell = load ptr, ptr @scr_exc_active
+ %t47.kind = load i32, ptr %t47.cell
+ %t47 = icmp ne i32 %t47.kind, 0
+ br i1 %t47, label %dfk.u18, label %dfk.k19
+dfk.u18:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ call void @sc_rrelease_r0(ptr %t34)
+ ret ptr null
+dfk.k19:
+ %t49 = icmp ult i64 4, %argc
+ br i1 %t49, label %dfk.h20, label %dfk.m21
+dfk.h20:
+ %t50 = getelementptr inbounds ptr, ptr %args, i64 4
+ %t51 = load ptr, ptr %t50
+ store ptr %t51, ptr %s48
+ br label %dfk.j22
+dfk.m21:
+ %t52 = call ptr @scr_dyn_undefined()
+ store ptr %t52, ptr %s48
+ br label %dfk.j22
+dfk.j22:
+ %t53 = load ptr, ptr %s48
+ %t55 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 0
+ store ptr null, ptr %t55
+ %t56 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 1
+ store ptr null, ptr %t56
+ %t57 = getelementptr inbounds %ScrDynPath, ptr %s54, i64 0, i32 2
+ store i64 4, ptr %t57
+ %t58 = call ptr @sc_dc_98(ptr %t53, ptr %s54)
+ %t59.cell = load ptr, ptr @scr_exc_active
+ %t59.kind = load i32, ptr %t59.cell
+ %t59 = icmp ne i32 %t59.kind, 0
+ br i1 %t59, label %dfk.u23, label %dfk.k24
+dfk.u23:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ call void @sc_rrelease_r0(ptr %t34)
+ call void @scr_str_release(ptr %t46)
+ ret ptr null
+dfk.k24:
+ %t60 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t61 = load ptr, ptr %t60
+ call void %t61(ptr %c, ptr %t10, ptr %t22, ptr %t34, ptr %t46, ptr %t58)
+ %t62.cell = load ptr, ptr @scr_exc_active
+ %t62.kind = load i32, ptr %t62.cell
+ %t62 = icmp ne i32 %t62.kind, 0
+ br i1 %t62, label %dfkr.u25, label %dfkr.k26
+dfkr.u25:
+ ret ptr null
+dfkr.k26:
+ %t63 = call ptr @scr_dyn_undefined()
+ %t64 = call ptr @scr_dyn_retain_v(ptr %t63)
+ ret ptr %t64
+}
+
+define internal ptr @sc_dfb_29(ptr %v, ptr %fname) #0 { ; box func(string,string,union:u0,string,func(f64,array,string)=>void)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_29, i32 5, ptr @sc_cs_4047028909258918, ptr %fname)
+ ret ptr %r
+}
+
+define internal void @sc_pda_1(ptr %dst, ptr %src) #0 { ; dyn-box settle adapter for promise
+entry:
+ %t0 = call ptr @scr_dyn_undefined()
+ %t1 = call ptr @scr_dyn_retain_v(ptr %t0)
+ call void @scr_promise_fulfill_ref(ptr %dst, ptr %t1, ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ ret void
+}
+
+define internal ptr @sc_td_39(ptr %v) #0 { ; to-dyn promise
+entry:
+ %t0 = call ptr @scr_dyn_new_promise_adapting(ptr %v, ptr @sc_pda_1)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dfk_30(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,union:u0,dyn,string,union:u1,object:%m2.ResponseSink)=>promise
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %s24 = alloca ptr
+ %s30 = alloca %ScrDynPath
+ %s36 = alloca ptr
+ %s43 = alloca ptr
+ %s49 = alloca %ScrDynPath
+ %s55 = alloca ptr
+ %s61 = alloca %ScrDynPath
+ %s67 = alloca ptr
+ %s73 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t25 = icmp ult i64 2, %argc
+ br i1 %t25, label %dfk.h10, label %dfk.m11
+dfk.h10:
+ %t26 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %s24
+ br label %dfk.j12
+dfk.m11:
+ %t28 = call ptr @scr_dyn_undefined()
+ store ptr %t28, ptr %s24
+ br label %dfk.j12
+dfk.j12:
+ %t29 = load ptr, ptr %s24
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0
+ store ptr null, ptr %t31
+ %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1
+ store ptr null, ptr %t32
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2
+ store i64 2, ptr %t33
+ %t34 = call ptr @sc_dc_51(ptr %t29, ptr %s30)
+ %t35.cell = load ptr, ptr @scr_exc_active
+ %t35.kind = load i32, ptr %t35.cell
+ %t35 = icmp ne i32 %t35.kind, 0
+ br i1 %t35, label %dfk.u13, label %dfk.k14
+dfk.u13:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ ret ptr null
+dfk.k14:
+ %t37 = icmp ult i64 3, %argc
+ br i1 %t37, label %dfk.h15, label %dfk.m16
+dfk.h15:
+ %t38 = getelementptr inbounds ptr, ptr %args, i64 3
+ %t39 = load ptr, ptr %t38
+ store ptr %t39, ptr %s36
+ br label %dfk.j17
+dfk.m16:
+ %t40 = call ptr @scr_dyn_undefined()
+ store ptr %t40, ptr %s36
+ br label %dfk.j17
+dfk.j17:
+ %t41 = load ptr, ptr %s36
+ %t42 = call ptr @scr_dyn_retain_v(ptr %t41)
+ %t44 = icmp ult i64 4, %argc
+ br i1 %t44, label %dfk.h18, label %dfk.m19
+dfk.h18:
+ %t45 = getelementptr inbounds ptr, ptr %args, i64 4
+ %t46 = load ptr, ptr %t45
+ store ptr %t46, ptr %s43
+ br label %dfk.j20
+dfk.m19:
+ %t47 = call ptr @scr_dyn_undefined()
+ store ptr %t47, ptr %s43
+ br label %dfk.j20
+dfk.j20:
+ %t48 = load ptr, ptr %s43
+ %t50 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 0
+ store ptr null, ptr %t50
+ %t51 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 1
+ store ptr null, ptr %t51
+ %t52 = getelementptr inbounds %ScrDynPath, ptr %s49, i64 0, i32 2
+ store i64 4, ptr %t52
+ %t53 = call ptr @sc_dc_0(ptr %t48, ptr %s49)
+ %t54.cell = load ptr, ptr @scr_exc_active
+ %t54.kind = load i32, ptr %t54.cell
+ %t54 = icmp ne i32 %t54.kind, 0
+ br i1 %t54, label %dfk.u21, label %dfk.k22
+dfk.u21:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ call void @sc_rrelease_r0(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+dfk.k22:
+ %t56 = icmp ult i64 5, %argc
+ br i1 %t56, label %dfk.h23, label %dfk.m24
+dfk.h23:
+ %t57 = getelementptr inbounds ptr, ptr %args, i64 5
+ %t58 = load ptr, ptr %t57
+ store ptr %t58, ptr %s55
+ br label %dfk.j25
+dfk.m24:
+ %t59 = call ptr @scr_dyn_undefined()
+ store ptr %t59, ptr %s55
+ br label %dfk.j25
+dfk.j25:
+ %t60 = load ptr, ptr %s55
+ %t62 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 0
+ store ptr null, ptr %t62
+ %t63 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 1
+ store ptr null, ptr %t63
+ %t64 = getelementptr inbounds %ScrDynPath, ptr %s61, i64 0, i32 2
+ store i64 5, ptr %t64
+ %t65 = call ptr @sc_dc_23(ptr %t60, ptr %s61)
+ %t66.cell = load ptr, ptr @scr_exc_active
+ %t66.kind = load i32, ptr %t66.cell
+ %t66 = icmp ne i32 %t66.kind, 0
+ br i1 %t66, label %dfk.u26, label %dfk.k27
+dfk.u26:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ call void @sc_rrelease_r0(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @scr_str_release(ptr %t53)
+ ret ptr null
+dfk.k27:
+ %t68 = icmp ult i64 6, %argc
+ br i1 %t68, label %dfk.h28, label %dfk.m29
+dfk.h28:
+ %t69 = getelementptr inbounds ptr, ptr %args, i64 6
+ %t70 = load ptr, ptr %t69
+ store ptr %t70, ptr %s67
+ br label %dfk.j30
+dfk.m29:
+ %t71 = call ptr @scr_dyn_undefined()
+ store ptr %t71, ptr %s67
+ br label %dfk.j30
+dfk.j30:
+ %t72 = load ptr, ptr %s67
+ %t74 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 0
+ store ptr null, ptr %t74
+ %t75 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 1
+ store ptr null, ptr %t75
+ %t76 = getelementptr inbounds %ScrDynPath, ptr %s73, i64 0, i32 2
+ store i64 6, ptr %t76
+ %t77 = call ptr @sc_dc_29(ptr %t72, ptr %s73)
+ %t78.cell = load ptr, ptr @scr_exc_active
+ %t78.kind = load i32, ptr %t78.cell
+ %t78 = icmp ne i32 %t78.kind, 0
+ br i1 %t78, label %dfk.u31, label %dfk.k32
+dfk.u31:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ call void @sc_rrelease_r0(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @scr_str_release(ptr %t53)
+ call void @scr_union_release(ptr %t65)
+ ret ptr null
+dfk.k32:
+ %t79 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t80 = load ptr, ptr %t79
+ %t81 = call ptr %t80(ptr %c, ptr %t10, ptr %t22, ptr %t34, ptr %t42, ptr %t53, ptr %t65, ptr %t77)
+ %t82.cell = load ptr, ptr @scr_exc_active
+ %t82.kind = load i32, ptr %t82.cell
+ %t82 = icmp ne i32 %t82.kind, 0
+ br i1 %t82, label %dfkr.u33, label %dfkr.k34
+dfkr.u33:
+ ret ptr null
+dfkr.k34:
+ %t83 = call ptr @sc_td_39(ptr %t81)
+ call void @scr_promise_release(ptr %t81)
+ ret ptr %t83
+}
+
+define internal ptr @sc_dfb_30(ptr %v, ptr %fname) #0 { ; box func(string,string,union:u0,dyn,string,union:u1,object:%m2.ResponseSink)=>promise into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_30, i32 7, ptr @sc_cs_249780872679356, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_31(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(httpReq,object:%m2.ResponseSink)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_16(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_29(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_http_req_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ call void %t25(ptr %c, ptr %t10, ptr %t22)
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t27 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t27)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_31(ptr %v, ptr %fname) #0 { ; box func(httpReq,object:%m2.ResponseSink)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_31, i32 2, ptr @sc_cs_3625634938669578, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_99(ptr %d, ptr %path) #0 { ; check object:%m4.MemoryStorage
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3456310594719780
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3456310594719780, i64 24)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3456310594719780, i64 24)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_99(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3456310594719780, i64 24, ptr %t18, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_4010904986871976, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_100(ptr %d, ptr %path) #0 { ; check object:%m4.MemoryFileSink
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3728566007289652
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3728566007289652, i64 25)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3728566007289652, i64 25)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_100(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3728566007289652, i64 25, ptr %t18, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2523707913786933, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_101(ptr %d, ptr %path) #0 { ; check object:%m3.LiteRequest
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_4041255434968695
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4041255434968695, i64 22)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4041255434968695, i64 22)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_101(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4041255434968695, i64 22, ptr %t18, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1164598102066345, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_102(ptr %d, ptr %path) #0 { ; check object:%m2.NodeResponseSink
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3326437563644705
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3326437563644705, i64 27)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3326437563644705, i64 27)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_102(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3326437563644705, i64 27, ptr %t18, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_4118775550205102, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_103(ptr %d, ptr %path) #0 { ; check object:%m11.StaticServer
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_864190948149583
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_864190948149583, i64 24)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_864190948149583, i64 24)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_103(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_864190948149583, i64 24, ptr %t18, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_870978337365731, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_104(ptr %d, ptr %path) #0 { ; check object:%m3.LiteResponse
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_4074974279575818
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4074974279575818, i64 23)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4074974279575818, i64 23)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_104(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4074974279575818, i64 23, ptr %t18, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_652580361931695, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_105(ptr %d, ptr %path) #0 { ; check object:%m4.MultipartParser
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3163508115280491
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3163508115280491, i64 26)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3163508115280491, i64 26)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_105(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3163508115280491, i64 26, ptr %t18, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2201935167278521, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_106(ptr %d, ptr %path) #0 { ; check object:%m5.MethodNotAllowedError
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_1875086966829314
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1875086966829314, i64 32)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1875086966829314, i64 32)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_106(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1875086966829314, i64 32, ptr %t18, ptr @sc_retain__x25_m5_MethodNotAllowedError, ptr @sc_release__x25_m5_MethodNotAllowedError, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1775999344942870, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_107(ptr %d, ptr %path) #0 { ; check object:%m3.LiteHeaders
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_67546268704151
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_67546268704151, i64 22)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_67546268704151, i64 22)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_107(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_67546268704151, i64 22, ptr %t18, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_4196372432750886, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_108(ptr %d, ptr %path) #0 { ; check object:%m9.EmbeddedAssets
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_2519527309428716
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2519527309428716, i64 25)
+ %t11 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4143564844538255, i64 23)
+ %t12 = or i1 %t10, %t11
+ br i1 %t12, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t13 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t13
+dc.nt5:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 12
+ br i1 %t16, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t17 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2519527309428716, i64 25)
+ %t18 = icmp ne ptr %t17, null
+ br i1 %t18, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t17
+dc.tr.mat9:
+ %t19 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t20 = call ptr @sc_dc_108(ptr %t19, ptr %path)
+ call void @scr_dyn_release_v(ptr %t19)
+ %t21 = icmp ne ptr %t20, null
+ br i1 %t21, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2519527309428716, i64 25, ptr %t20, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t20
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_44520514718337, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dc_109(ptr %d, ptr %path) #0 { ; check object:%m14.BakedAssets
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_4143564844538255
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_4143564844538255, i64 23)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_4143564844538255, i64 23)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_109(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_4143564844538255, i64 23, ptr %t18, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3196909287126131, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfk_32(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,union:u15)=>object:%m5.CtxCore
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_71(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22)
+ %t27.cell = load ptr, ptr @scr_exc_active
+ %t27.kind = load i32, ptr %t27.cell
+ %t27 = icmp ne i32 %t27.kind, 0
+ br i1 %t27, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t28 = call ptr @sc_td_16(ptr %t26)
+ call void @sc_release__x25_m5_CtxCore(ptr %t26)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_32(ptr %v, ptr %fname) #0 { ; box func(string,union:u15)=>object:%m5.CtxCore into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_32, i32 2, ptr @sc_cs_3984454165941240, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_33(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>object:%m5.CtxCore
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_16(ptr %t14)
+ call void @sc_release__x25_m5_CtxCore(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_33(ptr %v, ptr %fname) #0 { ; box func(string)=>object:%m5.CtxCore into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_33, i32 1, ptr @sc_cs_885587428425789, ptr %fname)
+ ret ptr %r
+}
+
+define internal zeroext i1 @sc_dm_37(ptr %d) #0 { ; matches record:r4
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_334287699604147, i64 9)
+ br i1 %t0, label %dm.tr0, label %dm.nt1
+dm.tr0:
+ ret i1 true
+dm.nt1:
+ %t1 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t2 = load i32, ptr %t1
+ %t3 = icmp eq i32 %t2, 12
+ br i1 %t3, label %dm.tr.mat2, label %dm.tr.plain3
+dm.tr.mat2:
+ %t4 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t5 = call zeroext i1 @sc_dm_37(ptr %t4)
+ call void @scr_dyn_release_v(ptr %t4)
+ ret i1 %t5
+dm.tr.plain3:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 5
+ %t9 = icmp eq i32 %t7, 13
+ %t10 = or i1 %t8, %t9
+ br i1 %t10, label %dm.o5, label %dm.f4
+dm.o5:
+ %t11 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3066695590452058, i64 6)
+ %t12.cell = load ptr, ptr @scr_exc_active
+ %t12.kind = load i32, ptr %t12.cell
+ %t12 = icmp ne i32 %t12.kind, 0
+ br i1 %t12, label %dm.read.u7, label %dm.read.k8
+dm.read.u7:
+ call void @scr_dyn_release(ptr %t11)
+ ret i1 false
+dm.read.k8:
+ %t13 = call zeroext i1 @sc_dm_35(ptr %t11)
+ call void @scr_dyn_release(ptr %t11)
+ br i1 %t13, label %dm.n6, label %dm.f4
+dm.n6:
+ ret i1 true
+dm.f4:
+ ret i1 false
+}
+
+@sc_rnames_16 = internal constant [1 x ptr] [ptr @sc_cs_3066695590452058]
+@sc_rnames_16_lens = internal constant [1 x i64] [i64 6]
+
+define internal ptr @sc_dc_111(ptr %d, ptr %path) #0 { ; check record:r4
+entry:
+ %dcp = alloca %ScrDynPath
+ %s42 = alloca ptr
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_334287699604147, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_334287699604147, i64 9)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_111(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r4(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r4, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r4, ptr %t8, i64 0, i32 1
+ %t12 = load { i32, i64 }, ptr %t10 ; append
+ %t13 = load { i32, i64 }, ptr %t11
+ store { i32, i64 } %t13, ptr %t10
+ store { i32, i64 } %t12, ptr %t11
+ call void @sc_rrelease_r4(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_334287699604147, i64 9, ptr %t8, ptr @sc_rretain_r4, ptr @sc_rrelease_r4, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ %t17 = icmp eq i32 %t15, 13
+ %t18 = or i1 %t16, %t17
+ br i1 %t18, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r4()
+ %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3066695590452058, i64 6)
+ %t20.cell = load ptr, ptr @scr_exc_active
+ %t20.kind = load i32, ptr %t20.cell
+ %t20 = icmp ne i32 %t20.kind, 0
+ br i1 %t20, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t19)
+ call void @sc_rrelease_r4(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t21
+ %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_3066695590452058, ptr %t22
+ %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t23
+ %t24 = call ptr @sc_dc_68(ptr %t19, ptr %dcp)
+ call void @scr_dyn_release(ptr %t19)
+ %t25 = getelementptr inbounds %sc_rs_r4, ptr %r0, i64 0, i32 1 ; .append
+ %t26 = icmp eq ptr %t24, null
+ %t27 = select i1 %t26, ptr @sc_union_none, ptr %t24
+ %t28 = getelementptr inbounds %ScrUnion, ptr %t27, i64 0, i32 1
+ %t30 = load i32, ptr %t28
+ %t29 = getelementptr inbounds %ScrUnion, ptr %t27, i64 0, i32 5
+ %t31 = load i64, ptr %t29
+ %t32 = getelementptr inbounds { i32, i64 }, ptr %t25, i32 0, i32 0
+ store i32 %t30, ptr %t32
+ %t33 = getelementptr inbounds { i32, i64 }, ptr %t25, i32 0, i32 1
+ store i64 %t31, ptr %t33
+ %t34.cell = load ptr, ptr @scr_exc_active
+ %t34.kind = load i32, ptr %t34.cell
+ %t34 = icmp ne i32 %t34.kind, 0
+ br i1 %t34, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @scr_union_release(ptr %t24)
+ call void @sc_rrelease_r4(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t36 = getelementptr inbounds %ScrUnion, ptr %t24, i64 0, i32 1
+ %t35 = load i32, ptr %t36
+ %t37 = icmp eq i32 %t35, 1
+ %t38 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t39 = load i32, ptr %t38
+ %t40 = icmp eq i32 %t39, 5
+ %t41 = and i1 %t37, %t40
+ store ptr %t24, ptr %s42
+ br i1 %t41, label %dcr.has16, label %dcr.hasj17
+dcr.has16:
+ %t43 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3066695590452058, i64 6) ; .append
+ %t44 = icmp eq ptr %t43, null
+ %t45 = select i1 %t44, ptr @sc_absent_0, ptr %t24
+ store ptr %t45, ptr %s42
+ br label %dcr.hasj17
+dcr.hasj17:
+ %t46 = load ptr, ptr %s42
+ %t47 = getelementptr inbounds %sc_rs_r4, ptr %r0, i64 0, i32 1 ; .append
+ %t48 = icmp eq ptr %t46, null
+ %t49 = select i1 %t48, ptr @sc_union_none, ptr %t46
+ %t50 = getelementptr inbounds %ScrUnion, ptr %t49, i64 0, i32 1
+ %t52 = load i32, ptr %t50
+ %t51 = getelementptr inbounds %ScrUnion, ptr %t49, i64 0, i32 5
+ %t53 = load i64, ptr %t51
+ %t54 = getelementptr inbounds { i32, i64 }, ptr %t47, i32 0, i32 0
+ store i32 %t52, ptr %t54
+ %t55 = getelementptr inbounds { i32, i64 }, ptr %t47, i32 0, i32 1
+ store i64 %t53, ptr %t55
+ call void @scr_union_release(ptr %t24)
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_16, ptr @sc_rnames_16_lens, i64 1)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_110(ptr %d, ptr %path) #0 { ; check union:u14
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3038183441461216, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_37(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_111(ptr %d, ptr %path)
+ ret ptr %t3
+dcu.n3:
+ %t4 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t4, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr null
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_110(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3884343448446622, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfk_34(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,union:u14)=>object:%m5.CtxCore
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %s24 = alloca ptr
+ %s30 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t25 = icmp ult i64 2, %argc
+ br i1 %t25, label %dfk.h10, label %dfk.m11
+dfk.h10:
+ %t26 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %s24
+ br label %dfk.j12
+dfk.m11:
+ %t28 = call ptr @scr_dyn_undefined()
+ store ptr %t28, ptr %s24
+ br label %dfk.j12
+dfk.j12:
+ %t29 = load ptr, ptr %s24
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0
+ store ptr null, ptr %t31
+ %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1
+ store ptr null, ptr %t32
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2
+ store i64 2, ptr %t33
+ %t34 = call ptr @sc_dc_110(ptr %t29, ptr %s30)
+ %t35.cell = load ptr, ptr @scr_exc_active
+ %t35.kind = load i32, ptr %t35.cell
+ %t35 = icmp ne i32 %t35.kind, 0
+ br i1 %t35, label %dfk.u13, label %dfk.k14
+dfk.u13:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ ret ptr null
+dfk.k14:
+ %t36 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t37 = load ptr, ptr %t36
+ %t38 = call ptr %t37(ptr %c, ptr %t10, ptr %t22, ptr %t34)
+ %t39.cell = load ptr, ptr @scr_exc_active
+ %t39.kind = load i32, ptr %t39.cell
+ %t39 = icmp ne i32 %t39.kind, 0
+ br i1 %t39, label %dfkr.u15, label %dfkr.k16
+dfkr.u15:
+ ret ptr null
+dfkr.k16:
+ %t40 = call ptr @sc_td_16(ptr %t38)
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ ret ptr %t40
+}
+
+define internal ptr @sc_dfb_34(ptr %v, ptr %fname) #0 { ; box func(string,string,union:u14)=>object:%m5.CtxCore into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_34, i32 3, ptr @sc_cs_589165283907200, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_35(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(f64)=>object:%m5.CtxCore
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call double @sc_dc_2(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, double %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_16(ptr %t14)
+ call void @sc_release__x25_m5_CtxCore(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_35(ptr %v, ptr %fname) #0 { ; box func(f64)=>object:%m5.CtxCore into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_35, i32 1, ptr @sc_cs_3418894039723222, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_36(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,dyn)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t18 = call ptr @scr_dyn_retain_v(ptr %t17)
+ %t19 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t20 = load ptr, ptr %t19
+ call void %t20(ptr %c, ptr %t10, ptr %t18)
+ %t21.cell = load ptr, ptr @scr_exc_active
+ %t21.kind = load i32, ptr %t21.cell
+ %t21 = icmp ne i32 %t21.kind, 0
+ br i1 %t21, label %dfkr.u8, label %dfkr.k9
+dfkr.u8:
+ ret ptr null
+dfkr.k9:
+ %t22 = call ptr @scr_dyn_undefined()
+ %t23 = call ptr @scr_dyn_retain_v(ptr %t22)
+ ret ptr %t23
+}
+
+define internal ptr @sc_dfb_36(ptr %v, ptr %fname) #0 { ; box func(string,dyn)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_36, i32 2, ptr @sc_cs_1273036846250420, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_37(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn)=>object:%m5.CtxCore
+entry:
+ %s0 = alloca ptr
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t6 = call ptr @scr_dyn_retain_v(ptr %t5)
+ %t7 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr %t8(ptr %c, ptr %t6)
+ %t10.cell = load ptr, ptr @scr_exc_active
+ %t10.kind = load i32, ptr %t10.cell
+ %t10 = icmp ne i32 %t10.kind, 0
+ br i1 %t10, label %dfkr.u3, label %dfkr.k4
+dfkr.u3:
+ ret ptr null
+dfkr.k4:
+ %t11 = call ptr @sc_td_16(ptr %t9)
+ call void @sc_release__x25_m5_CtxCore(ptr %t9)
+ ret ptr %t11
+}
+
+define internal ptr @sc_dfb_37(ptr %v, ptr %fname) #0 { ; box func(dyn)=>object:%m5.CtxCore into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_37, i32 1, ptr @sc_cs_1401489145004524, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_38(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(bytes,string)=>object:%m5.CtxCore
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_12(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_bytes_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22)
+ %t27.cell = load ptr, ptr @scr_exc_active
+ %t27.kind = load i32, ptr %t27.cell
+ %t27 = icmp ne i32 %t27.kind, 0
+ br i1 %t27, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t28 = call ptr @sc_td_16(ptr %t26)
+ call void @sc_release__x25_m5_CtxCore(ptr %t26)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_38(ptr %v, ptr %fname) #0 { ; box func(bytes,string)=>object:%m5.CtxCore into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_38, i32 2, ptr @sc_cs_2903134673160811, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_39(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string)=>object:%m5.CtxCore
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22)
+ %t27.cell = load ptr, ptr @scr_exc_active
+ %t27.kind = load i32, ptr %t27.cell
+ %t27 = icmp ne i32 %t27.kind, 0
+ br i1 %t27, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t28 = call ptr @sc_td_16(ptr %t26)
+ call void @sc_release__x25_m5_CtxCore(ptr %t26)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_39(ptr %v, ptr %fname) #0 { ; box func(string,string)=>object:%m5.CtxCore into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_39, i32 2, ptr @sc_cs_928164213955712, ptr %fname)
+ ret ptr %r
+}
+
+@sc_rnames_17 = internal constant [1 x ptr] [ptr @sc_cs_3013970235377041]
+@sc_rnames_17_lens = internal constant [1 x i64] [i64 7]
+
+define internal ptr @sc_dc_112(ptr %d, ptr %path) #0 { ; check record:r21
+entry:
+ %dcp = alloca %ScrDynPath
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1122325011748487, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1122325011748487, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_112(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r21(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r21, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r21, ptr %t8, i64 0, i32 1
+ %t12 = load ptr, ptr %t10 ; message
+ %t13 = load ptr, ptr %t11
+ store ptr %t13, ptr %t10
+ store ptr %t12, ptr %t11
+ call void @sc_rrelease_r21(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1122325011748487, i64 10, ptr %t8, ptr @sc_rretain_r21, ptr @sc_rrelease_r21, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 5
+ %t17 = icmp eq i32 %t15, 13
+ %t18 = or i1 %t16, %t17
+ br i1 %t18, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r21()
+ %t19 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3013970235377041, i64 7)
+ %t20.cell = load ptr, ptr @scr_exc_active
+ %t20.kind = load i32, ptr %t20.cell
+ %t20 = icmp ne i32 %t20.kind, 0
+ br i1 %t20, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t19)
+ call void @sc_rrelease_r21(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t21
+ %t22 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_3013970235377041, ptr %t22
+ %t23 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t23
+ %t24 = call ptr @sc_dc_0(ptr %t19, ptr %dcp)
+ call void @scr_dyn_release(ptr %t19)
+ %t25 = getelementptr inbounds %sc_rs_r21, ptr %r0, i64 0, i32 1 ; .message
+ store ptr %t24, ptr %t25
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r21(ptr %r0)
+ ret ptr null
+dcr.k15:
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_17, ptr @sc_rnames_17_lens, i64 1)
+ ret ptr %r0
+}
+
+define internal ptr @sc_td_43(ptr %v) #0 { ; to-dyn record:r10
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r10, ptr %v, i64 0, i32 2 ; .enc
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1683535768246717, i64 3, ptr %t3) ; enc
+ %t4 = getelementptr inbounds %sc_rs_r10, ptr %v, i64 0, i32 1 ; .body
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_1(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t6) ; body
+ %t7 = getelementptr inbounds %sc_rs_r10, ptr %v, i64 0, i32 3 ; .etag
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t9) ; etag
+ %t10 = call ptr @scr_record_source_apply(ptr %t0, ptr %v)
+ call ptr @scr_dyn_mark_snapshot(ptr %t10)
+ ret ptr %t10
+}
+
+define internal ptr @sc_td_42(ptr %v) #0 { ; to-dyn array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %v)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %v, double %t3)
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %tda.hole5, label %tda.present6
+tda.hole5:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %tda.done8
+tda.present6:
+ %t6 = fcmp oeq double %t5, 2.0
+ br i1 %t6, label %tda.undefined4, label %tda.value7
+tda.undefined4:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %tda.done8
+tda.value7:
+ %t10 = call ptr @scr_arr_get_ref(ptr %v, double %t3) ; +1
+ %t11 = call ptr @sc_td_43(ptr %t10)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @sc_rrelease_r10(ptr %t10)
+ br label %tda.done8
+tda.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %v, ptr %t0)
+ call ptr @scr_dyn_mark_snapshot(ptr %t0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_td_41(ptr %v) #0 { ; to-dyn record:r11
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 1 ; .body
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_1(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t3) ; body
+ %t4 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 7 ; .type
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_334509345124372, i64 4, ptr %t6) ; type
+ %t7 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 3 ; .etag
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t9) ; etag
+ %t10 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 6 ; .size
+ %t11 = load double, ptr %t10
+ %t12 = call ptr @sc_td_2(double %t11)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3603975379547098, i64 4, ptr %t12) ; size
+ %t13 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 5 ; .mtimeMs
+ %t14 = load double, ptr %t13
+ %t15 = call ptr @sc_td_2(double %t14)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2067668976369489, i64 7, ptr %t15) ; mtimeMs
+ %t16 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 4 ; .immutable
+ %t17 = load i8, ptr %t16
+ %t18 = trunc i8 %t17 to i1
+ %t19 = call ptr @sc_td_3(i1 %t18)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1096813006725504, i64 9, ptr %t19) ; immutable
+ %t20 = getelementptr inbounds %sc_rs_r11, ptr %v, i64 0, i32 2 ; .encodings
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_td_42(ptr %t21)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2538166612030291, i64 9, ptr %t22) ; encodings
+ %t23 = call ptr @scr_record_source_apply(ptr %t0, ptr %v)
+ call ptr @scr_dyn_mark_snapshot(ptr %t23)
+ ret ptr %t23
+}
+
+define internal ptr @sc_td_40(ptr %v) #0 { ; to-dyn union:u35
+entry:
+ %t1 = icmp eq ptr %v, null
+ %t2 = icmp eq ptr %v, @sc_nullable_null
+ %t3 = select i1 %t2, i32 0, i32 1
+ %t0 = select i1 %t1, i32 2, i32 %t3
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 i32 2, label %tdu.a3 ]
+tdu.a1:
+ %t4 = call ptr @scr_dyn_new_null()
+ ret ptr %t4
+tdu.a2:
+ %t5 = call ptr @sc_td_41(ptr %v) ; record
+ ret ptr %t5
+tdu.a3:
+ %t6 = call ptr @scr_dyn_undefined()
+ %t7 = call ptr @scr_dyn_retain_v(ptr %t6)
+ ret ptr %t7
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_dfk_40(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>union:u35
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_40(ptr %t14)
+ call void @sc_rrelease_r11(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_40(ptr %v, ptr %fname) #0 { ; box func(string)=>union:u35 into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_40, i32 1, ptr @sc_cs_3127122199549447, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_113(ptr %d, ptr %path) #0 { ; check object:%m8.DiskAssets
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3595188456357610
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m8_DiskAssets(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3595188456357610, i64 21)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3595188456357610, i64 21)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_113(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3595188456357610, i64 21, ptr %t18, ptr @sc_retain__x25_m8_DiskAssets, ptr @sc_release__x25_m8_DiskAssets, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_65100522461730, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfk_41(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,record:r11)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_76(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ call void %t25(ptr %c, ptr %t10, ptr %t22)
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t27 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t27)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_41(ptr %v, ptr %fname) #0 { ; box func(string,record:r11)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_41, i32 2, ptr @sc_cs_3356957811084906, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_42(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(array)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_83(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ call void %t13(ptr %c, ptr %t10)
+ %t14.cell = load ptr, ptr @scr_exc_active
+ %t14.kind = load i32, ptr %t14.cell
+ %t14 = icmp ne i32 %t14.kind, 0
+ br i1 %t14, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t15 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t15)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_42(ptr %v, ptr %fname) #0 { ; box func(array)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_42, i32 1, ptr @sc_cs_2732233530704502, ptr %fname)
+ ret ptr %r
+}
+
+define internal void @sc_pda_2(ptr %dst, ptr %src) #0 { ; dyn-box settle adapter for promise
+entry:
+ %t0 = call ptr @scr_promise_payload_str(ptr %src) ; +1
+ %t1 = call ptr @scr_dyn_new_str(ptr %t0) ; retains s
+ call void @scr_str_release(ptr %t0)
+ call void @scr_promise_fulfill_ref(ptr %dst, ptr %t1, ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ ret void
+}
+
+define internal ptr @sc_td_44(ptr %v) #0 { ; to-dyn promise
+entry:
+ %t0 = call ptr @scr_dyn_new_promise_adapting(ptr %v, ptr @sc_pda_2)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dfk_43(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>promise
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_td_44(ptr %t2)
+ call void @scr_promise_release(ptr %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_43(ptr %v, ptr %fname) #0 { ; box func()=>promise into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_43, i32 0, ptr @sc_cs_1207503272071744, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_44(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>promise
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_td_38(ptr %t2)
+ call void @scr_promise_release(ptr %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_44(ptr %v, ptr %fname) #0 { ; box func()=>promise into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_44, i32 0, ptr @sc_cs_223123181947432, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_115(ptr %d, ptr %path) #0 { ; check union:u37
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_317766872981707, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_10(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_12(ptr %d, ptr %path)
+ %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null)
+ ret ptr %t4
+dcu.n3:
+ %t5 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t5, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr @sc_unit_7
+dcu.n5:
+ %t6 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 12
+ br i1 %t8, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t9 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_317766872981707, i64 9)
+ %t10 = icmp ne ptr %t9, null
+ %t11 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t12 = call ptr @sc_dc_115(ptr %t11, ptr %path)
+ call void @scr_dyn_release_v(ptr %t11)
+ %t13 = icmp ne ptr %t12, null
+ br i1 %t13, label %dcu.ok8, label %dcu.bad9
+dcu.bad9:
+ br i1 %t10, label %dcu.bad.drop10, label %dcu.bad.ret11
+dcu.bad.drop10:
+ call void @scr_union_release(ptr %t9)
+ br label %dcu.bad.ret11
+dcu.bad.ret11:
+ ret ptr null
+dcu.ok8:
+ br i1 %t10, label %dcu.refresh12, label %dcu.put13
+dcu.refresh12:
+ %t14 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1
+ %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1
+ %t16 = load i32, ptr %t14 ; tag
+ %t17 = load i32, ptr %t15
+ store i32 %t17, ptr %t14
+ store i32 %t16, ptr %t15
+ %t18 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 2
+ %t19 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 2
+ %t20 = load ptr, ptr %t18 ; retain
+ %t21 = load ptr, ptr %t19
+ store ptr %t21, ptr %t18
+ store ptr %t20, ptr %t19
+ %t22 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 3
+ %t23 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 3
+ %t24 = load ptr, ptr %t22 ; release
+ %t25 = load ptr, ptr %t23
+ store ptr %t25, ptr %t22
+ store ptr %t24, ptr %t23
+ %t26 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 4
+ %t27 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 4
+ %t28 = load ptr, ptr %t26 ; trace
+ %t29 = load ptr, ptr %t27
+ store ptr %t29, ptr %t26
+ store ptr %t28, ptr %t27
+ %t30 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5
+ %t31 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 5
+ %t32 = load i64, ptr %t30 ; slot
+ %t33 = load i64, ptr %t31
+ store i64 %t33, ptr %t30
+ store i64 %t32, ptr %t31
+ call void @scr_union_release(ptr %t12)
+ ret ptr %t9
+dcu.put13:
+ store i8 1, ptr @sc_retype_guard_8
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_317766872981707, i64 9, ptr %t12, ptr @scr_union_retain_v, ptr @scr_union_release_v, i1 false)
+ ret ptr %t12
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_217677546466963, ptr %d)
+ ret ptr null
+}
+
+@sc_rnames_18 = internal constant [2 x ptr] [ptr @sc_cs_3610950885518037, ptr @sc_cs_2898582433338787]
+@sc_rnames_18_lens = internal constant [2 x i64] [i64 5, i64 4]
+
+define internal ptr @sc_dc_114(ptr %d, ptr %path) #0 { ; check record:r23
+entry:
+ %dcp = alloca %ScrDynPath
+ %s47 = alloca ptr
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1837334171651882, i64 10)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1837334171651882, i64 10)
+ %t6 = icmp ne ptr %t5, null
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_114(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.ok4, label %dc.tr.bad5
+dc.tr.bad5:
+ br i1 %t6, label %dc.tr.bad.drop6, label %dc.tr.bad.ret7
+dc.tr.bad.drop6:
+ call void @sc_rrelease_r23(ptr %t5)
+ br label %dc.tr.bad.ret7
+dc.tr.bad.ret7:
+ ret ptr null
+dc.tr.ok4:
+ br i1 %t6, label %dc.tr.refresh8, label %dc.tr.put9
+dc.tr.refresh8:
+ %t10 = getelementptr inbounds %sc_rs_r23, ptr %t5, i64 0, i32 1
+ %t11 = getelementptr inbounds %sc_rs_r23, ptr %t8, i64 0, i32 1
+ %t12 = load i8, ptr %t10 ; done
+ %t13 = load i8, ptr %t11
+ store i8 %t13, ptr %t10
+ store i8 %t12, ptr %t11
+ %t14 = getelementptr inbounds %sc_rs_r23, ptr %t5, i64 0, i32 2
+ %t15 = getelementptr inbounds %sc_rs_r23, ptr %t8, i64 0, i32 2
+ %t16 = load ptr, ptr %t14 ; value
+ %t17 = load ptr, ptr %t15
+ store ptr %t17, ptr %t14
+ store ptr %t16, ptr %t15
+ call void @sc_rrelease_r23(ptr %t8)
+ ret ptr %t5
+dc.tr.put9:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1837334171651882, i64 10, ptr %t8, ptr @sc_rretain_r23, ptr @sc_rrelease_r23, i1 false)
+ ret ptr %t8
+dc.tr.plain3:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t20 = icmp eq i32 %t19, 5
+ %t21 = icmp eq i32 %t19, 13
+ %t22 = or i1 %t20, %t21
+ br i1 %t22, label %dcr.object10, label %dcr.fail11
+dcr.fail11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_727383874013354, ptr %d)
+ ret ptr null
+dcr.object10:
+ %r0 = call ptr @sc_rnew_r23()
+ %t23 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_2898582433338787, i64 4)
+ %t24.cell = load ptr, ptr @scr_exc_active
+ %t24.kind = load i32, ptr %t24.cell
+ %t24 = icmp ne i32 %t24.kind, 0
+ br i1 %t24, label %dcr.read.u12, label %dcr.read.k13
+dcr.read.u12:
+ call void @scr_dyn_release(ptr %t23)
+ call void @sc_rrelease_r23(ptr %r0)
+ ret ptr null
+dcr.read.k13:
+ %t25 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t25
+ %t26 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_2898582433338787, ptr %t26
+ %t27 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t27
+ %t28 = call i1 @sc_dc_3(ptr %t23, ptr %dcp)
+ call void @scr_dyn_release(ptr %t23)
+ %t29 = getelementptr inbounds %sc_rs_r23, ptr %r0, i64 0, i32 1 ; .done
+ %t30 = zext i1 %t28 to i8
+ store i8 %t30, ptr %t29
+ %t31.cell = load ptr, ptr @scr_exc_active
+ %t31.kind = load i32, ptr %t31.cell
+ %t31 = icmp ne i32 %t31.kind, 0
+ br i1 %t31, label %dcr.u14, label %dcr.k15
+dcr.u14:
+ call void @sc_rrelease_r23(ptr %r0)
+ ret ptr null
+dcr.k15:
+ %t32 = call ptr @scr_dyn_obj_read(ptr %d, ptr @sc_cs_3610950885518037, i64 5)
+ %t33.cell = load ptr, ptr @scr_exc_active
+ %t33.kind = load i32, ptr %t33.cell
+ %t33 = icmp ne i32 %t33.kind, 0
+ br i1 %t33, label %dcr.read.u16, label %dcr.read.k17
+dcr.read.u16:
+ call void @scr_dyn_release(ptr %t32)
+ call void @sc_rrelease_r23(ptr %r0)
+ ret ptr null
+dcr.read.k17:
+ %t34 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 0
+ store ptr %path, ptr %t34
+ %t35 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 1
+ store ptr @sc_cs_3610950885518037, ptr %t35
+ %t36 = getelementptr inbounds %ScrDynPath, ptr %dcp, i64 0, i32 2
+ store i64 0, ptr %t36
+ %t37 = call ptr @sc_dc_115(ptr %t32, ptr %dcp)
+ call void @scr_dyn_release(ptr %t32)
+ %t38 = getelementptr inbounds %sc_rs_r23, ptr %r0, i64 0, i32 2 ; .value
+ store ptr %t37, ptr %t38
+ %t39.cell = load ptr, ptr @scr_exc_active
+ %t39.kind = load i32, ptr %t39.cell
+ %t39 = icmp ne i32 %t39.kind, 0
+ br i1 %t39, label %dcr.u18, label %dcr.k19
+dcr.u18:
+ call void @sc_rrelease_r23(ptr %r0)
+ ret ptr null
+dcr.k19:
+ %t41 = getelementptr inbounds %ScrUnion, ptr %t37, i64 0, i32 1
+ %t40 = load i32, ptr %t41
+ %t42 = icmp eq i32 %t40, 1
+ %t43 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t44 = load i32, ptr %t43
+ %t45 = icmp eq i32 %t44, 5
+ %t46 = and i1 %t42, %t45
+ store ptr %t37, ptr %s47
+ br i1 %t46, label %dcr.has20, label %dcr.hasj21
+dcr.has20:
+ %t48 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3610950885518037, i64 5) ; .value
+ %t49 = icmp eq ptr %t48, null
+ %t50 = select i1 %t49, ptr @sc_absent_2, ptr %t37
+ store ptr %t50, ptr %s47
+ br label %dcr.hasj21
+dcr.hasj21:
+ %t51 = load ptr, ptr %s47
+ %t52 = getelementptr inbounds %sc_rs_r23, ptr %r0, i64 0, i32 2 ; .value
+ store ptr %t51, ptr %t52
+ call void @scr_record_source_note(ptr %r0, ptr %d, ptr @sc_rnames_18, ptr @sc_rnames_18_lens, i64 2)
+ ret ptr %r0
+}
+
+define internal ptr @sc_dc_116(ptr %d, ptr %path) #0 { ; check promise
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2727151776136871, i64 12)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2727151776136871, i64 12)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_116(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2727151776136871, i64 12, ptr %t8, ptr @scr_promise_retain_v, ptr @scr_promise_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t11 = load i32, ptr %t10
+ %t12 = icmp eq i32 %t11, 10
+ br i1 %t12, label %dc.k8, label %dc.f9
+dc.f9:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_544024079890110, ptr %d)
+ ret ptr null
+dc.k8:
+ %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_promise_retain(ptr %t14)
+ ret ptr %t15
+}
+
+define internal ptr @sc_dc_117(ptr %d, ptr %path) #0 { ; check promise
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2640370663486446, i64 13)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2640370663486446, i64 13)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_117(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2640370663486446, i64 13, ptr %t8, ptr @scr_promise_retain_v, ptr @scr_promise_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t11 = load i32, ptr %t10
+ %t12 = icmp eq i32 %t11, 10
+ br i1 %t12, label %dc.k8, label %dc.f9
+dc.f9:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_544024079890110, ptr %d)
+ ret ptr null
+dc.k8:
+ %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_promise_new()
+ call void @scr_promise_share_identity(ptr %t15, ptr %t14)
+ call void @scr_promise_race_add(ptr %t15, ptr %t14, ptr @sc_dpa_2)
+ ret ptr %t15
+}
+
+define internal ptr @sc_dfk_45(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(f64)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call double @sc_dc_2(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ call void %t13(ptr %c, double %t10)
+ %t14.cell = load ptr, ptr @scr_exc_active
+ %t14.kind = load i32, ptr %t14.cell
+ %t14 = icmp ne i32 %t14.kind, 0
+ br i1 %t14, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t15 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t15)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_45(ptr %v, ptr %fname) #0 { ; box func(f64)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_45, i32 1, ptr @sc_cs_1793359953353463, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_46(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ call void %t13(ptr %c, ptr %t10)
+ %t14.cell = load ptr, ptr @scr_exc_active
+ %t14.kind = load i32, ptr %t14.cell
+ %t14 = icmp ne i32 %t14.kind, 0
+ br i1 %t14, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t15 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t15)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_46(ptr %v, ptr %fname) #0 { ; box func(string)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_46, i32 1, ptr @sc_cs_1455899048496469, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_47(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(bytes,string)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_12(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_bytes_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ call void %t25(ptr %c, ptr %t10, ptr %t22)
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t27 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t27)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_47(ptr %v, ptr %fname) #0 { ; box func(bytes,string)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_47, i32 2, ptr @sc_cs_916628890312014, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_48(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,f64)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call double @sc_dc_2(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ call void %t25(ptr %c, ptr %t10, double %t22)
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t27 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t27)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_48(ptr %v, ptr %fname) #0 { ; box func(string,f64)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_48, i32 2, ptr @sc_cs_1272873061712689, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_49(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(f64,array)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call double @sc_dc_2(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_1(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ call void %t25(ptr %c, double %t10, ptr %t22)
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t27 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t27)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_49(ptr %v, ptr %fname) #0 { ; box func(f64,array)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_49, i32 2, ptr @sc_cs_2141261385266017, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_50(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(record:r1)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_5(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ call void %t13(ptr %c, ptr %t10)
+ %t14.cell = load ptr, ptr @scr_exc_active
+ %t14.kind = load i32, ptr %t14.cell
+ %t14 = icmp ne i32 %t14.kind, 0
+ br i1 %t14, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t15 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t15)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_50(ptr %v, ptr %fname) #0 { ; box func(record:r1)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_50, i32 1, ptr @sc_cs_964906137923731, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_51(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>bool
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call i1 %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_td_3(i1 %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_51(ptr %v, ptr %fname) #0 { ; box func()=>bool into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_51, i32 0, ptr @sc_cs_1903274682137646, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_52(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>f64
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call double %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_td_2(double %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_52(ptr %v, ptr %fname) #0 { ; box func()=>f64 into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_52, i32 0, ptr @sc_cs_1364242983314192, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_45(ptr %v) #0 { ; to-dyn union:u33
+entry:
+ %t1 = icmp eq ptr %v, null
+ %t2 = icmp eq ptr %v, @sc_nullable_null
+ %t3 = select i1 %t2, i32 0, i32 1
+ %t0 = select i1 %t1, i32 2, i32 %t3
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 i32 2, label %tdu.a3 ]
+tdu.a1:
+ %t4 = call ptr @scr_dyn_new_null()
+ ret ptr %t4
+tdu.a2:
+ %t5 = call ptr @sc_td_0(ptr %v) ; string
+ ret ptr %t5
+tdu.a3:
+ %t6 = call ptr @scr_dyn_undefined()
+ %t7 = call ptr @scr_dyn_retain_v(ptr %t6)
+ ret ptr %t7
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_dfk_53(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>union:u33
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_45(ptr %t14)
+ call void @scr_str_release(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_53(ptr %v, ptr %fname) #0 { ; box func(string)=>union:u33 into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_53, i32 1, ptr @sc_cs_3866987251297945, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_54(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>record:r0
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_td_8(ptr %t2)
+ call void @sc_rrelease_r0(ptr %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_54(ptr %v, ptr %fname) #0 { ; box func()=>record:r0 into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_54, i32 0, ptr @sc_cs_372809600886995, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_55(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>union:u3
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_td_14(ptr %t2)
+ call void @scr_union_release(ptr %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_55(ptr %v, ptr %fname) #0 { ; box func()=>union:u3 into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_55, i32 0, ptr @sc_cs_28620680064020, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_56(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>string
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_str_release(ptr %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_56(ptr %v, ptr %fname) #0 { ; box func()=>string into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_56, i32 0, ptr @sc_cs_3782535335241788, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_47(ptr %v) #0 { ; to-dyn object:%m4.UploadedFile
+entry:
+ %t0 = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_cs_4408523527888294, i64 23, ptr @sc_ldr_12_materialize, ptr @sc_ldr_12_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t0, ptr @sc_ldr_12_materialize_cops)
+ ret ptr %t0
+}
+
+define internal ptr @sc_td_46(ptr %v) #0 { ; to-dyn union:u34
+entry:
+ %t1 = icmp eq ptr %v, null
+ %t2 = icmp eq ptr %v, @sc_nullable_null
+ %t3 = select i1 %t2, i32 0, i32 1
+ %t0 = select i1 %t1, i32 2, i32 %t3
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 i32 2, label %tdu.a3 ]
+tdu.a1:
+ %t4 = call ptr @scr_dyn_new_null()
+ ret ptr %t4
+tdu.a2:
+ %t5 = call ptr @sc_td_47(ptr %v) ; object
+ ret ptr %t5
+tdu.a3:
+ %t6 = call ptr @scr_dyn_undefined()
+ %t7 = call ptr @scr_dyn_retain_v(ptr %t6)
+ ret ptr %t7
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_dfk_57(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>union:u34
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_46(ptr %t14)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_57(ptr %v, ptr %fname) #0 { ; box func(string)=>union:u34 into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_57, i32 1, ptr @sc_cs_62391474614842, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_58(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>union:u2
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_13(ptr %t14)
+ call void @scr_str_release(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_58(ptr %v, ptr %fname) #0 { ; box func(string)=>union:u2 into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_58, i32 1, ptr @sc_cs_21374005649439, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_59(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(array)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_1(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ call void %t13(ptr %c, ptr %t10)
+ %t14.cell = load ptr, ptr @scr_exc_active
+ %t14.kind = load i32, ptr %t14.cell
+ %t14 = icmp ne i32 %t14.kind, 0
+ br i1 %t14, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t15 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t15)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_59(ptr %v, ptr %fname) #0 { ; box func(array)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_59, i32 1, ptr @sc_cs_1894164568731569, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_60(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>array
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_td_12(ptr %t2)
+ call void @scr_arr_release(ptr %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_60(ptr %v, ptr %fname) #0 { ; box func()=>array into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_60, i32 0, ptr @sc_cs_3904965855413848, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_61(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>array
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_12(ptr %t14)
+ call void @scr_arr_release(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_61(ptr %v, ptr %fname) #0 { ; box func(string)=>array into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_61, i32 1, ptr @sc_cs_4171889536153457, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_48(ptr %v) #0 { ; to-dyn array
+entry:
+ %s2 = alloca double
+ call void @scr_dyn_from_enter(ptr %v)
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %v)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %v, double %t3)
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %tda.hole5, label %tda.present6
+tda.hole5:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %tda.done8
+tda.present6:
+ %t6 = fcmp oeq double %t5, 2.0
+ br i1 %t6, label %tda.undefined4, label %tda.value7
+tda.undefined4:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %tda.done8
+tda.value7:
+ %t10 = call ptr @scr_arr_get_ref(ptr %v, double %t3) ; +1
+ %t11 = call ptr @sc_td_47(ptr %t10)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t10)
+ br label %tda.done8
+tda.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %v, ptr %t0)
+ call void @scr_dyn_from_leave()
+ call ptr @scr_dyn_mark_snapshot(ptr %t0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dfk_62(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>array
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_48(ptr %t14)
+ call void @scr_arr_release(ptr %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_62(ptr %v, ptr %fname) #0 { ; box func(string)=>array into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_62, i32 1, ptr @sc_cs_553299930292159, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dfk_63(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(array,array)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_20(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_1(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_arr_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ call void %t25(ptr %c, ptr %t10, ptr %t22)
+ %t26.cell = load ptr, ptr @scr_exc_active
+ %t26.kind = load i32, ptr %t26.cell
+ %t26 = icmp ne i32 %t26.kind, 0
+ br i1 %t26, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t27 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t27)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_63(ptr %v, ptr %fname) #0 { ; box func(array,array)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_63, i32 2, ptr @sc_cs_1062904759900852, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_118(ptr %d, ptr %path) #0 { ; check promise
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_511877503392273, i64 15)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_511877503392273, i64 15)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_118(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_511877503392273, i64 15, ptr %t8, ptr @scr_promise_retain_v, ptr @scr_promise_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t11 = load i32, ptr %t10
+ %t12 = icmp eq i32 %t11, 10
+ br i1 %t12, label %dc.k8, label %dc.f9
+dc.f9:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_544024079890110, ptr %d)
+ ret ptr null
+dc.k8:
+ %t13 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_promise_new()
+ call void @scr_promise_share_identity(ptr %t15, ptr %t14)
+ call void @scr_promise_race_add(ptr %t15, ptr %t14, ptr @sc_dpa_3)
+ ret ptr %t15
+}
+
+define internal ptr @sc_dfk_64(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string)=>bool
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = call i1 %t13(ptr %c, ptr %t10)
+ %t15.cell = load ptr, ptr @scr_exc_active
+ %t15.kind = load i32, ptr %t15.cell
+ %t15 = icmp ne i32 %t15.kind, 0
+ br i1 %t15, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t16 = call ptr @sc_td_3(i1 %t14)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_64(ptr %v, ptr %fname) #0 { ; box func(string)=>bool into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_64, i32 1, ptr @sc_cs_166879103840853, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_119(ptr %d, ptr %path) #0 { ; check union:u31
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2761382228043105, i64 9)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = call zeroext i1 @sc_dm_29(ptr %d)
+ br i1 %t2, label %dcu.h2, label %dcu.n3
+dcu.h2:
+ %t3 = call ptr @sc_dc_76(ptr %d, ptr %path)
+ ret ptr %t3
+dcu.n3:
+ %t4 = call zeroext i1 @sc_dm_23(ptr %d)
+ br i1 %t4, label %dcu.h4, label %dcu.n5
+dcu.h4:
+ ret ptr null
+dcu.n5:
+ %t5 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 12
+ br i1 %t7, label %dcu.cap6, label %dcu.fail7
+dcu.cap6:
+ %t8 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t9 = call ptr @sc_dc_119(ptr %t8, ptr %path)
+ call void @scr_dyn_release_v(ptr %t8)
+ ret ptr %t9
+dcu.fail7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3884343448446622, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_dfk_65(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(dyn,union:u31)=>dyn
+entry:
+ %s0 = alloca ptr
+ %s7 = alloca ptr
+ %s13 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t6 = call ptr @scr_dyn_retain_v(ptr %t5)
+ %t8 = icmp ult i64 1, %argc
+ br i1 %t8, label %dfk.h3, label %dfk.m4
+dfk.h3:
+ %t9 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t10 = load ptr, ptr %t9
+ store ptr %t10, ptr %s7
+ br label %dfk.j5
+dfk.m4:
+ %t11 = call ptr @scr_dyn_undefined()
+ store ptr %t11, ptr %s7
+ br label %dfk.j5
+dfk.j5:
+ %t12 = load ptr, ptr %s7
+ %t14 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 0
+ store ptr null, ptr %t14
+ %t15 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 1
+ store ptr null, ptr %t15
+ %t16 = getelementptr inbounds %ScrDynPath, ptr %s13, i64 0, i32 2
+ store i64 1, ptr %t16
+ %t17 = call ptr @sc_dc_119(ptr %t12, ptr %s13)
+ %t18.cell = load ptr, ptr @scr_exc_active
+ %t18.kind = load i32, ptr %t18.cell
+ %t18 = icmp ne i32 %t18.kind, 0
+ br i1 %t18, label %dfk.u6, label %dfk.k7
+dfk.u6:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+dfk.k7:
+ %t19 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr %t20(ptr %c, ptr %t6, ptr %t17)
+ %t22.cell = load ptr, ptr @scr_exc_active
+ %t22.kind = load i32, ptr %t22.cell
+ %t22 = icmp ne i32 %t22.kind, 0
+ br i1 %t22, label %dfkr.u8, label %dfkr.k9
+dfkr.u8:
+ ret ptr null
+dfkr.k9:
+ ret ptr %t21
+}
+
+define internal ptr @sc_dfb_65(ptr %v, ptr %fname) #0 { ; box func(dyn,union:u31)=>dyn into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_65, i32 2, ptr @sc_cs_3878340342191554, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_49(ptr %v) #0 { ; to-dyn union:u36
+entry:
+ %t1 = icmp eq ptr %v, null
+ %t2 = icmp eq ptr %v, @sc_nullable_null
+ %t3 = select i1 %t2, i32 0, i32 1
+ %t0 = select i1 %t1, i32 2, i32 %t3
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 i32 2, label %tdu.a3 ]
+tdu.a1:
+ %t4 = call ptr @scr_dyn_new_null()
+ ret ptr %t4
+tdu.a2:
+ %t5 = call ptr @sc_td_43(ptr %v) ; record
+ ret ptr %t5
+tdu.a3:
+ %t6 = call ptr @scr_dyn_undefined()
+ %t7 = call ptr @scr_dyn_retain_v(ptr %t6)
+ ret ptr %t7
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_dfk_66(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(record:r11,string)=>union:u36
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_76(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @sc_rrelease_r11(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t24 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr %t25(ptr %c, ptr %t10, ptr %t22)
+ %t27.cell = load ptr, ptr @scr_exc_active
+ %t27.kind = load i32, ptr %t27.cell
+ %t27 = icmp ne i32 %t27.kind, 0
+ br i1 %t27, label %dfkr.u10, label %dfkr.k11
+dfkr.u10:
+ ret ptr null
+dfkr.k11:
+ %t28 = call ptr @sc_td_49(ptr %t26)
+ call void @sc_rrelease_r10(ptr %t26)
+ ret ptr %t28
+}
+
+define internal ptr @sc_dfb_66(ptr %v, ptr %fname) #0 { ; box func(record:r11,string)=>union:u36 into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_66, i32 2, ptr @sc_cs_1363959244591732, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_td_50(ptr %v) #0 { ; to-dyn union:u37
+entry:
+ %t1 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 1
+ %t0 = load i32, ptr %t1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = getelementptr inbounds %ScrUnion, ptr %v, i64 0, i32 5
+ %t3 = load ptr, ptr %t2
+ %t4 = call ptr @sc_td_1(ptr %t3) ; bytes
+ ret ptr %t4
+tdu.a2:
+ %t5 = call ptr @scr_dyn_undefined()
+ %t6 = call ptr @scr_dyn_retain_v(ptr %t5)
+ ret ptr %t6
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_td_51(ptr %v) #0 { ; to-dyn union:u6
+entry:
+ %t1 = icmp eq ptr %v, null
+ %t0 = select i1 %t1, i32 0, i32 1
+ switch i32 %t0, label %tdu.bad0 [ i32 0, label %tdu.a1 i32 1, label %tdu.a2 ]
+tdu.a1:
+ %t2 = call ptr @scr_dyn_new_null()
+ ret ptr %t2
+tdu.a2:
+ %t3 = call ptr @sc_td_47(ptr %v) ; object
+ ret ptr %t3
+tdu.bad0:
+ call void @sc_bad_tag()
+ unreachable
+}
+
+define internal ptr @sc_dfk_67(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func()=>union:u6
+entry:
+ %t0 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr %t1(ptr %c)
+ %t3.cell = load ptr, ptr @scr_exc_active
+ %t3.kind = load i32, ptr %t3.cell
+ %t3 = icmp ne i32 %t3.kind, 0
+ br i1 %t3, label %dfkr.u0, label %dfkr.k1
+dfkr.u0:
+ ret ptr null
+dfkr.k1:
+ %t4 = call ptr @sc_td_51(ptr %t2)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t2)
+ ret ptr %t4
+}
+
+define internal ptr @sc_dfb_67(ptr %v, ptr %fname) #0 { ; box func()=>union:u6 into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_67, i32 0, ptr @sc_cs_4177961995716049, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_120(ptr %d, ptr %path) #0 { ; check object:%m4.DiskFileSink
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3573893819363590
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m4_DiskFileSink(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3573893819363590, i64 23)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3573893819363590, i64 23)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_120(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3573893819363590, i64 23, ptr %t18, ptr @sc_retain__x25_m4_DiskFileSink, ptr @sc_release__x25_m4_DiskFileSink, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_3668476931976593, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_td_52(ptr %v) #0 { ; to-dyn object:%m4.MultipartFileSink
+entry:
+ %t0 = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ ret ptr %t0
+}
+
+define internal ptr @sc_dfk_68(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(string,string,string)=>object:%m4.MultipartFileSink
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %s12 = alloca ptr
+ %s18 = alloca %ScrDynPath
+ %s24 = alloca ptr
+ %s30 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_0(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t13 = icmp ult i64 1, %argc
+ br i1 %t13, label %dfk.h5, label %dfk.m6
+dfk.h5:
+ %t14 = getelementptr inbounds ptr, ptr %args, i64 1
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %s12
+ br label %dfk.j7
+dfk.m6:
+ %t16 = call ptr @scr_dyn_undefined()
+ store ptr %t16, ptr %s12
+ br label %dfk.j7
+dfk.j7:
+ %t17 = load ptr, ptr %s12
+ %t19 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 0
+ store ptr null, ptr %t19
+ %t20 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 1
+ store ptr null, ptr %t20
+ %t21 = getelementptr inbounds %ScrDynPath, ptr %s18, i64 0, i32 2
+ store i64 1, ptr %t21
+ %t22 = call ptr @sc_dc_0(ptr %t17, ptr %s18)
+ %t23.cell = load ptr, ptr @scr_exc_active
+ %t23.kind = load i32, ptr %t23.cell
+ %t23 = icmp ne i32 %t23.kind, 0
+ br i1 %t23, label %dfk.u8, label %dfk.k9
+dfk.u8:
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+dfk.k9:
+ %t25 = icmp ult i64 2, %argc
+ br i1 %t25, label %dfk.h10, label %dfk.m11
+dfk.h10:
+ %t26 = getelementptr inbounds ptr, ptr %args, i64 2
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %s24
+ br label %dfk.j12
+dfk.m11:
+ %t28 = call ptr @scr_dyn_undefined()
+ store ptr %t28, ptr %s24
+ br label %dfk.j12
+dfk.j12:
+ %t29 = load ptr, ptr %s24
+ %t31 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 0
+ store ptr null, ptr %t31
+ %t32 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 1
+ store ptr null, ptr %t32
+ %t33 = getelementptr inbounds %ScrDynPath, ptr %s30, i64 0, i32 2
+ store i64 2, ptr %t33
+ %t34 = call ptr @sc_dc_0(ptr %t29, ptr %s30)
+ %t35.cell = load ptr, ptr @scr_exc_active
+ %t35.kind = load i32, ptr %t35.cell
+ %t35 = icmp ne i32 %t35.kind, 0
+ br i1 %t35, label %dfk.u13, label %dfk.k14
+dfk.u13:
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t22)
+ ret ptr null
+dfk.k14:
+ %t36 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t37 = load ptr, ptr %t36
+ %t38 = call ptr %t37(ptr %c, ptr %t10, ptr %t22, ptr %t34)
+ %t39.cell = load ptr, ptr @scr_exc_active
+ %t39.kind = load i32, ptr %t39.cell
+ %t39 = icmp ne i32 %t39.kind, 0
+ br i1 %t39, label %dfkr.u15, label %dfkr.k16
+dfkr.u15:
+ ret ptr null
+dfkr.k16:
+ %t40 = call ptr @sc_td_52(ptr %t38)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t38)
+ ret ptr %t40
+}
+
+define internal ptr @sc_dfb_68(ptr %v, ptr %fname) #0 { ; box func(string,string,string)=>object:%m4.MultipartFileSink into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_68, i32 3, ptr @sc_cs_2246533090824195, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_121(ptr %d, ptr %path) #0 { ; check object:%m4.DiskStorage
+entry:
+ %t0 = icmp ne ptr %d, null
+ br i1 %t0, label %dc.exact.inspect0, label %dc.exact.miss3
+dc.exact.inspect0:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t1 = icmp eq i32 %t3, 12
+ br i1 %t1, label %dc.exact.capsule1, label %dc.exact.miss3
+dc.exact.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_2020403498516894
+ br i1 %t6, label %dc.exact.hit2, label %dc.exact.miss3
+dc.exact.hit2:
+ %t7 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_retain__x25_m4_DiskStorage(ptr %t8)
+ ret ptr %t9
+dc.exact.miss3:
+ %t10 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_2020403498516894, i64 22)
+ br i1 %t10, label %dc.tr4, label %dc.nt5
+dc.tr4:
+ %t11 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t11
+dc.nt5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 12
+ br i1 %t14, label %dc.tr.cap6, label %dc.tr.plain7
+dc.tr.cap6:
+ %t15 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_2020403498516894, i64 22)
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dc.tr.hit8, label %dc.tr.mat9
+dc.tr.hit8:
+ ret ptr %t15
+dc.tr.mat9:
+ %t17 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t18 = call ptr @sc_dc_121(ptr %t17, ptr %path)
+ call void @scr_dyn_release_v(ptr %t17)
+ %t19 = icmp ne ptr %t18, null
+ br i1 %t19, label %dc.tr.put10, label %dc.tr.ret11
+dc.tr.put10:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_2020403498516894, i64 22, ptr %t18, ptr @sc_retain__x25_m4_DiskStorage, ptr @sc_release__x25_m4_DiskStorage, i1 true)
+ br label %dc.tr.ret11
+dc.tr.ret11:
+ ret ptr %t18
+dc.tr.plain7:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_544229772381623, ptr %d)
+ ret ptr null
+}
+
+define internal ptr @sc_td_53(ptr %v) #0 { ; to-dyn object:%TypeError
+entry:
+ %t0 = call ptr @scr_dyn_from_error(ptr %v)
+ ret ptr %t0
+}
+
+define internal ptr @sc_td_54(ptr %v) #0 { ; to-dyn object:%Error
+entry:
+ %t0 = call ptr @scr_dyn_from_error(ptr %v)
+ ret ptr %t0
+}
+
+define internal ptr @sc_cd(ptr %c) #0 { ; caught -> unknown (+1, fresh tree)
+entry:
+ %t0 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 1
+ %t1 = load i32, ptr %t0
+ switch i32 %t1, label %cd.d4 [ i32 1, label %cd.f0 i32 2, label %cd.b1 i32 3, label %cd.s2 i32 5, label %cd.o3 ]
+cd.f0:
+ %t2 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 2
+ %t3 = load double, ptr %t2
+ %t4 = call ptr @scr_dyn_new_num(double %t3)
+ ret ptr %t4
+cd.b1:
+ %t5 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 3
+ %t6 = load i8, ptr %t5
+ %t7 = trunc i8 %t6 to i1
+ %t8 = call ptr @scr_dyn_new_bool(i1 %t7)
+ ret ptr %t8
+cd.s2:
+ %t9 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 4
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr @scr_dyn_new_str(ptr %t10) ; _new_str retains
+ ret ptr %t11
+cd.o3:
+ %t12 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 4
+ %t13 = load ptr, ptr %t12
+ %t14 = call zeroext i1 @scr_error_is(ptr %t13)
+ br i1 %t14, label %cd.e5, label %cd.d4
+cd.e5:
+ %t15 = call ptr @scr_dyn_from_error(ptr %t13)
+ ret ptr %t15
+cd.d4:
+ %t16 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 5
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @scr_dyn_retain_v
+ br i1 %t18, label %cd.r6, label %cd.p7
+cd.r6:
+ %t19 = getelementptr inbounds %ScrCaught, ptr %c, i64 0, i32 4
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @scr_dyn_retain_v(ptr %t20)
+ ret ptr %t21
+cd.p7:
+ %t22 = call ptr @scr_dyn_new_obj()
+ ret ptr %t22
+}
+
+define internal ptr @sc_dyn_key_get(ptr %d, ptr %k, i1 zeroext %opt) #0 { ; d[k] on dyn
+entry:
+ %s29 = alloca i1
+ %s34 = alloca i1
+ %s35 = alloca i64
+ %s41 = alloca i64
+ %t0 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t1 = load i32, ptr %t0
+ %t2 = getelementptr inbounds %ScrStr, ptr %k, i64 0, i32 1
+ %t3 = load i64, ptr %t2
+ %t4 = getelementptr inbounds i8, ptr %k, i64 24 ; ->data
+ %t5 = icmp eq i32 %t1, 6
+ %t6 = icmp eq i32 %t1, 0
+ %t7 = or i1 %t5, %t6
+ br i1 %t7, label %kg.u0, label %kg.n1
+kg.u0:
+ br i1 %opt, label %kg.o2, label %kg.t3
+kg.o2:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ ret ptr %t9
+kg.t3:
+ %t10 = select i1 %t5, ptr @sc_cs_2785503669010995, ptr @sc_cs_3253684798044657
+ %t11 = select i1 %t5, i64 46, i64 41
+ %t12 = call ptr @scr_str_new(ptr %t10, i64 %t11)
+ %t13 = call ptr @scr_str_concat(ptr %t12, ptr %k)
+ call void @scr_str_release(ptr %t12)
+ %t14 = call ptr @scr_str_new(ptr @sc_cs_2733163726930854, i64 2)
+ %t15 = call ptr @scr_str_concat(ptr %t13, ptr %t14)
+ call void @scr_str_release(ptr %t13)
+ call void @scr_str_release(ptr %t14)
+ call void @scr_throw_error(i32 1, ptr %t15) ; SCR_ERR_TYPE; takes ownership
+ ret ptr null
+kg.n1:
+ %t16 = icmp eq i32 %t1, 15
+ br i1 %t16, label %kg.sym4, label %kg.n5
+kg.sym4:
+ %t17 = call ptr @scr_dyn_symbol_get(ptr %d, ptr %k)
+ ret ptr %t17
+kg.n5:
+ %t18 = icmp eq i32 %t1, 12
+ br i1 %t18, label %kg.tr6, label %kg.n7
+kg.tr6:
+ %t19 = call ptr @scr_dyn_typed_ref_key_get(ptr %d, ptr %k)
+ %t20 = icmp ne ptr %t19, null
+ br i1 %t20, label %kg.tr.fast8, label %kg.tr.view9
+kg.tr.fast8:
+ ret ptr %t19
+kg.tr.view9:
+ %t21 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t22 = call ptr @sc_dyn_key_get(ptr %t21, ptr %k, i1 %opt)
+ call void @scr_dyn_release_v(ptr %t21)
+ ret ptr %t22
+kg.n7:
+ %t23 = icmp eq i32 %t1, 13
+ br i1 %t23, label %kg.proxy10, label %kg.n11
+kg.proxy10:
+ %t24 = call ptr @scr_dyn_proxy_get(ptr %d, ptr %k)
+ ret ptr %t24
+kg.n11:
+ %t25 = icmp eq i32 %t1, 5
+ br i1 %t25, label %kg.ob12, label %kg.n13
+kg.ob12:
+ %t26 = call ptr @scr_dyn_obj_read(ptr %d, ptr %t4, i64 %t3)
+ ret ptr %t26
+kg.n13:
+ %t27 = icmp eq i32 %t1, 9
+ br i1 %t27, label %kg.h14, label %kg.n15
+kg.h14:
+ %t28 = call ptr @scr_dyn_handle_key_get(ptr %d, ptr %k)
+ ret ptr %t28
+kg.n15:
+ store i1 false, ptr %s29
+ %t30 = icmp eq i64 %t3, 6
+ br i1 %t30, label %kg.l616, label %kg.lj17
+kg.l616:
+ %t31 = call i32 @memcmp(ptr %t4, ptr @sc_cs_272862668042129, i64 6)
+ %t32 = icmp eq i32 %t31, 0
+ store i1 %t32, ptr %s29
+ br label %kg.lj17
+kg.lj17:
+ %t33 = load i1, ptr %s29
+ store i1 false, ptr %s34
+ store i64 0, ptr %s35
+ %t36 = icmp ugt i64 %t3, 0
+ br i1 %t36, label %kg.ix18, label %kg.io19
+kg.ix18:
+ %t37 = icmp ugt i64 %t3, 1
+ %t38 = load i8, ptr %t4
+ %t39 = icmp eq i8 %t38, 48
+ %t40 = and i1 %t37, %t39
+ br i1 %t40, label %kg.io19, label %kg.ip20
+kg.ip20:
+ store i1 true, ptr %s34
+ store i64 0, ptr %s41
+ br label %kg.id.c21
+kg.id.c21:
+ %t42 = load i64, ptr %s41
+ %t43 = icmp ult i64 %t42, %t3
+ br i1 %t43, label %kg.id.b22, label %kg.id.e24
+kg.id.b22:
+ %t44 = getelementptr inbounds i8, ptr %t4, i64 %t42
+ %t45 = load i8, ptr %t44
+ %t46 = icmp ult i8 %t45, 48
+ %t47 = icmp ugt i8 %t45, 57
+ %t48 = load i64, ptr %s35
+ %t49 = icmp ugt i64 %t48, 1844674407370955160
+ %t50 = or i1 %t46, %t47
+ %t51 = or i1 %t50, %t49
+ br i1 %t51, label %kg.ib25, label %kg.is26
+kg.ib25:
+ store i1 false, ptr %s34
+ br label %kg.io19
+kg.is26:
+ %t52 = mul i64 %t48, 10
+ %t53 = sub i8 %t45, 48
+ %t54 = zext i8 %t53 to i64
+ %t55 = add i64 %t52, %t54
+ store i64 %t55, ptr %s35
+ br label %kg.id.n23
+kg.id.n23:
+ %t56 = add i64 %t42, 1
+ store i64 %t56, ptr %s41
+ br label %kg.id.c21
+kg.id.e24:
+ br label %kg.io19
+kg.io19:
+ %t57 = load i1, ptr %s34
+ %t58 = load i64, ptr %s35
+ %t59 = icmp eq i32 %t1, 7
+ br i1 %t59, label %kg.by27, label %kg.n28
+kg.by27:
+ %t60 = call ptr @scr_dyn_bytes_key_get(ptr %d, ptr %k)
+ ret ptr %t60
+kg.n28:
+ %t61 = icmp eq i32 %t1, 8
+ br i1 %t61, label %kg.fn29, label %kg.n30
+kg.fn29:
+ %t62 = call ptr @scr_dyn_fn_get(ptr %d, ptr %t4, i64 %t3)
+ %t63 = icmp ne ptr %t62, null
+ br i1 %t63, label %kg.fh31, label %kg.fm32
+kg.fh31:
+ ret ptr %t62
+kg.fm32:
+ %t64 = call ptr @scr_dyn_undefined()
+ %t65 = call ptr @scr_dyn_retain_v(ptr %t64)
+ ret ptr %t65
+kg.n30:
+ %t66 = icmp eq i32 %t1, 4
+ %t67 = icmp eq i32 %t1, 3
+ %t68 = or i1 %t66, %t67
+ br i1 %t68, label %kg.as33, label %kg.n34
+kg.as33:
+ br i1 %t33, label %kg.al35, label %kg.ai36
+kg.al35:
+ br i1 %t66, label %kg.aa37, label %kg.asr38
+kg.aa37:
+ %t69 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t70 = load i64, ptr %t69
+ %t71 = sitofp i64 %t70 to double
+ %t72 = call ptr @scr_dyn_new_num(double %t71)
+ ret ptr %t72
+kg.asr38:
+ %t73 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t74 = load ptr, ptr %t73
+ %t75 = call double @scr_str_utf16_len(ptr %t74)
+ %t76 = call ptr @scr_dyn_new_num(double %t75)
+ ret ptr %t76
+kg.ai36:
+ br i1 %t57, label %kg.at39, label %kg.am40
+kg.at39:
+ br i1 %t66, label %kg.ae41, label %kg.ac42
+kg.ae41:
+ %t77 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.arr.len
+ %t78 = load i64, ptr %t77
+ %t79 = icmp ult i64 %t58, %t78
+ br i1 %t79, label %kg.ah43, label %kg.am40
+kg.ah43:
+ %t80 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.arr.items
+ %t81 = load ptr, ptr %t80
+ %t82 = getelementptr inbounds ptr, ptr %t81, i64 %t58
+ %t83 = load ptr, ptr %t82
+ %t84 = call ptr @scr_dyn_retain_v(ptr %t83)
+ ret ptr %t84
+kg.ac42:
+ %t85 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v
+ %t86 = load ptr, ptr %t85
+ %t87 = call double @scr_str_utf16_len(ptr %t86)
+ %t88 = sitofp i64 %t58 to double
+ %t89 = fcmp olt double %t88, %t87
+ br i1 %t89, label %kg.ash44, label %kg.am40
+kg.ash44:
+ %t90 = call ptr @scr_str_char_at(ptr %t86, double %t88)
+ %t91 = call ptr @scr_dyn_new_str(ptr %t90)
+ call void @scr_str_release(ptr %t90)
+ ret ptr %t91
+kg.am40:
+ br i1 %t66, label %kg.an45, label %kg.ao46
+kg.an45:
+ %t92 = call ptr @scr_dyn_arr_named_get(ptr %d, ptr %k)
+ ret ptr %t92
+kg.ao46:
+ %t93 = call ptr @scr_dyn_undefined()
+ %t94 = call ptr @scr_dyn_retain_v(ptr %t93)
+ ret ptr %t94
+kg.n34:
+ %t95 = call ptr @scr_dyn_undefined()
+ %t96 = call ptr @scr_dyn_retain_v(ptr %t95)
+ ret ptr %t96
+}
+
+define internal void @sc_dfa_12(ptr %sc_env, ptr %a0, ptr %a1) #0 { ; dyn fn adapter to func(string,string)=>void
+entry:
+ %s3 = alloca [2 x ptr]
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps[0]
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_box_get_ref(ptr %t1) ; +1
+ %t4 = call ptr @sc_td_0(ptr %a0)
+ %t5 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 0
+ store ptr %t4, ptr %t5
+ call void @scr_str_release(ptr %a0)
+ %t6 = call ptr @sc_td_0(ptr %a1)
+ %t7 = getelementptr inbounds [2 x ptr], ptr %s3, i64 0, i64 1
+ store ptr %t6, ptr %t7
+ call void @scr_str_release(ptr %a1)
+ %t8 = call ptr @scr_dyn_call(ptr %t2, ptr %s3, i64 2, ptr @sc_cs_3610950885518037)
+ call void @scr_dyn_release(ptr %t2)
+ call void @scr_dyn_release(ptr %t4)
+ call void @scr_dyn_release(ptr %t6)
+ %t9.cell = load ptr, ptr @scr_exc_active
+ %t9.kind = load i32, ptr %t9.cell
+ %t9 = icmp ne i32 %t9.kind, 0
+ br i1 %t9, label %dfa.u0, label %dfa.k1
+dfa.u0:
+ ret void
+dfa.k1:
+ call void @scr_dyn_release(ptr %t8)
+ ret void
+}
+
+define internal ptr @sc_dc_123(ptr %d, ptr %path) #0 { ; check func(string,string)=>void
+entry:
+ %t0 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_3563927413032978, i64 25)
+ br i1 %t0, label %dc.tr0, label %dc.nt1
+dc.tr0:
+ %t1 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t1
+dc.nt1:
+ %t2 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t3 = load i32, ptr %t2
+ %t4 = icmp eq i32 %t3, 12
+ br i1 %t4, label %dc.tr.cap2, label %dc.tr.plain3
+dc.tr.cap2:
+ %t5 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_3563927413032978, i64 25)
+ %t6 = icmp ne ptr %t5, null
+ br i1 %t6, label %dc.tr.hit4, label %dc.tr.mat5
+dc.tr.hit4:
+ ret ptr %t5
+dc.tr.mat5:
+ %t7 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t8 = call ptr @sc_dc_123(ptr %t7, ptr %path)
+ call void @scr_dyn_release_v(ptr %t7)
+ %t9 = icmp ne ptr %t8, null
+ br i1 %t9, label %dc.tr.put6, label %dc.tr.ret7
+dc.tr.put6:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_3563927413032978, i64 25, ptr %t8, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, i1 true)
+ br label %dc.tr.ret7
+dc.tr.ret7:
+ ret ptr %t8
+dc.tr.plain3:
+ %t10 = call zeroext i1 @scr_dyn_is_callable(ptr %d)
+ br i1 %t10, label %dcf.k9, label %dcf.f10
+dcf.f10:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_2128219647567188, ptr %d)
+ ret ptr null
+dcf.k9:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t11 = icmp eq i32 %t13, 8
+ br i1 %t11, label %dcf.signature11, label %dcf.w8
+dcf.signature11:
+ %t14 = getelementptr inbounds i8, ptr %d, i64 32 ; ->v.fn.sig
+ %t15 = load ptr, ptr %t14
+ %t16 = call i32 @strcmp(ptr %t15, ptr @sc_cs_3563927413032978)
+ %t17 = icmp eq i32 %t16, 0
+ br i1 %t17, label %dcf.s12, label %dcf.w8
+dcf.s12:
+ %t18 = getelementptr inbounds i8, ptr %d, i64 16 ; ->v.fn.clo
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ ret ptr %t20
+dcf.w8:
+ %t21 = call ptr @scr_closure_new(ptr @sc_dfa_12, i64 1)
+ %t22 = call i32 @scr_dyn_function_kind(ptr %d)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ %t24 = or i32 %t22, 8 ; preserves the checked callable in caps[0]
+ store i32 %t24, ptr %t23
+ %t25 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps[0]
+ store ptr %t25, ptr %t26
+ %t27 = call ptr @scr_dyn_retain_v(ptr %d)
+ call void @scr_box_set_ref(ptr %t25, ptr %t27)
+ call void @scr_dyn_adopt_identity(ptr %t21, ptr %d)
+ ret ptr %t21
+}
+
+define internal ptr @sc_dfk_69(ptr %c, ptr %args, i64 %argc) #0 { ; dyn call thunk for func(func(string,string)=>void)=>void
+entry:
+ %s0 = alloca ptr
+ %s6 = alloca %ScrDynPath
+ %t1 = icmp ult i64 0, %argc
+ br i1 %t1, label %dfk.h0, label %dfk.m1
+dfk.h0:
+ %t2 = getelementptr inbounds ptr, ptr %args, i64 0
+ %t3 = load ptr, ptr %t2
+ store ptr %t3, ptr %s0
+ br label %dfk.j2
+dfk.m1:
+ %t4 = call ptr @scr_dyn_undefined()
+ store ptr %t4, ptr %s0
+ br label %dfk.j2
+dfk.j2:
+ %t5 = load ptr, ptr %s0
+ %t7 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 0
+ store ptr null, ptr %t7
+ %t8 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 1
+ store ptr null, ptr %t8
+ %t9 = getelementptr inbounds %ScrDynPath, ptr %s6, i64 0, i32 2
+ store i64 0, ptr %t9
+ %t10 = call ptr @sc_dc_123(ptr %t5, ptr %s6)
+ %t11.cell = load ptr, ptr @scr_exc_active
+ %t11.kind = load i32, ptr %t11.cell
+ %t11 = icmp ne i32 %t11.kind, 0
+ br i1 %t11, label %dfk.u3, label %dfk.k4
+dfk.u3:
+ ret ptr null
+dfk.k4:
+ %t12 = getelementptr inbounds %ScrClosure, ptr %c, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ call void %t13(ptr %c, ptr %t10)
+ %t14.cell = load ptr, ptr @scr_exc_active
+ %t14.kind = load i32, ptr %t14.cell
+ %t14 = icmp ne i32 %t14.kind, 0
+ br i1 %t14, label %dfkr.u5, label %dfkr.k6
+dfkr.u5:
+ ret ptr null
+dfkr.k6:
+ %t15 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t15)
+ ret ptr %t16
+}
+
+define internal ptr @sc_dfb_69(ptr %v, ptr %fname) #0 { ; box func(func(string,string)=>void)=>void into dyn
+entry:
+ %c = call ptr @scr_closure_retain_v(ptr %v)
+ %r = call ptr @scr_dyn_new_func(ptr %c, ptr @sc_dfk_69, i32 1, ptr @sc_cs_4163660238022989, ptr %fname)
+ ret ptr %r
+}
+
+define internal ptr @sc_dc_124(ptr %d, ptr %path) #0 { ; check object:%Error
+entry:
+ %t0 = call ptr @scr_errdyn_err_of(ptr %d)
+ %t1 = icmp ne ptr %t0, null
+ br i1 %t1, label %dc.error0, label %dc.noterror1
+dc.error0:
+ ret ptr %t0
+dc.noterror1:
+ %t2 = call zeroext i1 @scr_dyn_typed_ref_is(ptr %d, ptr @sc_cs_1024475271419441, i64 13)
+ br i1 %t2, label %dc.tr2, label %dc.nt3
+dc.tr2:
+ %t3 = call ptr @scr_dyn_typed_ref_unbox(ptr %d)
+ ret ptr %t3
+dc.nt3:
+ %t4 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t5 = load i32, ptr %t4
+ %t6 = icmp eq i32 %t5, 12
+ br i1 %t6, label %dc.tr.cap4, label %dc.tr.plain5
+dc.tr.cap4:
+ %t7 = call ptr @scr_dyn_typed_ref_cached_cast(ptr %d, ptr @sc_cs_1024475271419441, i64 13)
+ %t8 = icmp ne ptr %t7, null
+ br i1 %t8, label %dc.tr.hit6, label %dc.tr.mat7
+dc.tr.hit6:
+ ret ptr %t7
+dc.tr.mat7:
+ %t9 = call ptr @scr_dyn_typed_ref_materialize(ptr %d)
+ %t10 = call ptr @sc_dc_124(ptr %t9, ptr %path)
+ call void @scr_dyn_release_v(ptr %t9)
+ %t11 = icmp ne ptr %t10, null
+ br i1 %t11, label %dc.tr.put8, label %dc.tr.ret9
+dc.tr.put8:
+ call void @scr_dyn_typed_ref_cache_cast(ptr %d, ptr @sc_cs_1024475271419441, i64 13, ptr %t10, ptr @scr_error_retain_v, ptr @scr_error_release_v, i1 true)
+ br label %dc.tr.ret9
+dc.tr.ret9:
+ ret ptr %t10
+dc.tr.plain5:
+ %t12 = getelementptr inbounds i8, ptr %d, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 5
+ br i1 %t14, label %dce.o10, label %dce.f11
+dce.o10:
+ %t15 = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3852344104315805, i64 6) ; .%error
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %dce.g12, label %dce.f11
+dce.f11:
+ call void @scr_dyn_check_fail(ptr %path, ptr @sc_cs_1488801223928754, ptr %d)
+ ret ptr null
+dce.g12:
+ %t17 = call ptr @scr_error_from_dyn(ptr %d)
+ ret ptr %t17
+}
+
+define internal void @sc_w__x25_m5_defaultNotFound(ptr %env, ptr %a0) #0 { ; %m5.defaultNotFound as a value
+entry:
+ call void @sc_f__x25_m5_defaultNotFound(ptr %a0)
+ ret void
+}
+@sc_fc__x25_m5_defaultNotFound = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_m5_defaultNotFound, i64 0, ptr null, i32 4, i32 0, ptr null, ptr @sc_wb__x25_m5_defaultNotFound }
+
+define internal void @sc_wb__x25_m5_defaultNotFound(ptr %env, ptr %a0) #0 { ; %m5.defaultNotFound as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_m5_defaultNotFound(ptr %a0)
+ ret void
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_get(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.get as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_get(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_get = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_get }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_get(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.get as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_get(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_post(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.post as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_post(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_post = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_post }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_post(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.post as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_post(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_put(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.put as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_put(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_put = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_put }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_put(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.put as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_put(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.delete as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_delete }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.delete as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.patch as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_patch }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.patch as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_head(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.head as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_head(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_head = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_head }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_head(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.head as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_head(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_options(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.options as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_options(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_options = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_options }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_options(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.options as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_options(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_all(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.all as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_all(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_all = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_all }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_all(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.all as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_all(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_on(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; %method.value:%%m5.App.on as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_on(ptr %a0, ptr %a1, ptr %a2, ptr %a3)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_on = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_on }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_on(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; %method.value:%%m5.App.on as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_on(ptr %a0, ptr %a1, ptr %a2, ptr %a3)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_use(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App.use as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_use(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_use = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_use }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_use(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App.use as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_use(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.notFound as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_notFound }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.notFound as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.onError as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_onError }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.onError as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_route(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App.route as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_route(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_route = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_route }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_route(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App.route as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_route(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withDispatch as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withDispatch }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withDispatch as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withFetchDispatch as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withFetchDispatch as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withUpgrade as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withUpgrade }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.withUpgrade as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler(ptr %env) #0 { ; %method.value:%%m5.App.upgradeHandler as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_handler(ptr %env) #0 { ; %method.value:%%m5.App.handler as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_handler()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetchBridge(ptr %env) #0 { ; %method.value:%%m5.App.fetchBridge as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetchBridge()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.serve as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_serve }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.serve as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.serveFetch as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_serveFetch }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.App.serveFetch as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %a0)
+ ret ptr %r
+}
+
+define internal double @sc_w__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) #0 { ; %method.value:%%m5.App._regFn as a value
+entry:
+ %r = call double @sc_f__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4)
+ ret double %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__regFn }
+
+define internal double @sc_wb__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) #0 { ; %method.value:%%m5.App._regFn as a value, lending its arguments
+entry:
+ %r = call double @sc_bf__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4)
+ ret double %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__add(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; %method.value:%%m5.App._add as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App__add(ptr %a0, ptr %a1, ptr %a2, ptr %a3)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App__add = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__add }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__add(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; %method.value:%%m5.App._add as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__add(ptr %a0, ptr %a1, ptr %a2, ptr %a3)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.fetch as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_fetch }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.App.fetch as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) #0 { ; %method.value:%%m5.App.fetchShim as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App_fetchShim }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4) #0 { ; %method.value:%%m5.App.fetchShim as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4)
+ ret void
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) #0 { ; %method.value:%%m5.App._dispatchPrim as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) #0 { ; %method.value:%%m5.App._dispatchPrim as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6)
+ ret ptr %r
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App._dispatch as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_App__dispatch }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.App._dispatch as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.redirect as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.redirect as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.text as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_text }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.text as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.CtxCore.header as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_header }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m5.CtxCore.header as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_status(ptr %env, double %a0) #0 { ; %method.value:%%m5.CtxCore.status as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_status(double %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.set as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_set }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.set as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.json as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_json }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.json as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.html as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_html }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxCore.html as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.bytes as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore.bytes as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore._send as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore__send }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.CtxCore._send as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m6_AssetSource_get(ptr %env, ptr %a0) #0 { ; %method.value:%%m6.AssetSource.get as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m6_AssetSource_get(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %env, ptr %a0) #0 { ; %method.value:%%m9.EmbeddedAssets.get as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %env, ptr %a0) #0 { ; %method.value:%%m9.EmbeddedAssets.get as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %a0)
+ ret ptr %r
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m9.EmbeddedAssets.add as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m9.EmbeddedAssets.add as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %env, ptr %a0) #0 { ; %method.value:%%m9.EmbeddedAssets.load as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %env, ptr %a0) #0 { ; %method.value:%%m9.EmbeddedAssets.load as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %a0)
+ ret void
+}
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m0.GenDispatch.dispatch as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %a0, ptr %a1)
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch }
+
+define internal i1 @sc_wb__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m0.GenDispatch.dispatch as a value, lending its arguments
+entry:
+ %r = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %a0, ptr %a1)
+ ret i1 %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) #0 { ; %method.value:%%m0.GenFetch.dispatchFetch as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %env, ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6) #0 { ; %method.value:%%m0.GenFetch.dispatchFetch as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6)
+ ret ptr %r
+}
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m1.UpgradeDispatch.upgrade as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %a0, ptr %a1, ptr %a2)
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade }
+
+define internal i1 @sc_wb__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m1.UpgradeDispatch.upgrade as a value, lending its arguments
+entry:
+ %r = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %a0, ptr %a1, ptr %a2)
+ ret i1 %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_text(ptr %env) #0 { ; %method.value:%%m3.LiteRequest.text as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_text()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer(ptr %env) #0 { ; %method.value:%%m3.LiteRequest.arrayBuffer as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_request(ptr %env) #0 { ; %method.value:%%m3.LiteRequest.request as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_request()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus(ptr %env, double %a0) #0 { ; %method.value:%%m2.ResponseSink.setStatus as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus(double %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.setHeader as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.setHeader as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.appendHeader as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.appendHeader as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.writeBody as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.writeBody as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.bodyBytes as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.bodyBytes as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.ResponseSink.redirect as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %a0, double %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.ResponseSink.redirect as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %a0, double %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.write as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_write }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.write as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.writeHead as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(double %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.ResponseSink.writeHead as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(double %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.endStream as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.adopt as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.adopt as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %a0)
+ ret void
+}
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.isSent as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent()
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.isHeadersSent as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent()
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.destroy as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal double @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.statusOf as a value
+entry:
+ %r = call double @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf()
+ ret double %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.ResponseSink.headerOf as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.headersMap as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes(ptr %env) #0 { ; %method.value:%%m2.ResponseSink.nodeRes as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus(ptr %env, double %a0) #0 { ; %method.value:%%m2.FetchResponseSink.setStatus as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus(double %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.setHeader as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.setHeader as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.appendHeader as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.appendHeader as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.writeBody as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.writeBody as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.bodyBytes as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.bodyBytes as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.FetchResponseSink.redirect as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %a0, double %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.FetchResponseSink.redirect as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %a0, double %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.write as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.write as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.writeHead as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(double %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.FetchResponseSink.writeHead as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(double %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.endStream as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.adopt as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.adopt as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %a0)
+ ret void
+}
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.isSent as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent()
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.isHeadersSent as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent()
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.destroy as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal double @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.statusOf as a value
+entry:
+ %r = call double @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf()
+ ret double %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.headerOf as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.FetchResponseSink.headerOf as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.headersMap as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse(ptr %env) #0 { ; %method.value:%%m2.FetchResponseSink.toResponse as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body(ptr %env) #0 { ; %method.value:%%m5.ReqViewCore.body as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.file as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.file as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq(ptr %env) #0 { ; %method.value:%%m5.ReqViewCore.rawReq as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._setWeb as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._setWeb as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %a0)
+ ret void
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.param as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.param as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %a0)
+ ret ptr %r
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._seedPm as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._seedPm as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %a0)
+ ret void
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow(ptr %env) #0 { ; %method.value:%%m5.ReqViewCore._pmNow as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.query as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.query as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll(ptr %env) #0 { ; %method.value:%%m5.ReqViewCore.queryAll as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.queries as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.queries as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.header as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.header as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %a0)
+ ret ptr %r
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._setBody as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore._setBody as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %a0)
+ ret void
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.files as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.files as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.field as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.field as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.fields as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.ReqViewCore.fields as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %a0)
+ ret ptr %r
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.ReqViewCore._setMultipart as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m5.ReqViewCore._setMultipart as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed(ptr %env) #0 { ; %method.value:%%m5.ReqViewCore._parsed as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %env, ptr %a0) #0 { ; %method.value:%%m11.StaticServer.isApi as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %a0)
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi }
+
+define internal i1 @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %env, ptr %a0) #0 { ; %method.value:%%m11.StaticServer.isApi as a value, lending its arguments
+entry:
+ %r = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %a0)
+ ret i1 %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %env, ptr %a0) #0 { ; %method.value:%%m11.StaticServer.handle as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_handle }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %env, ptr %a0) #0 { ; %method.value:%%m11.StaticServer.handle as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m11.StaticServer.send as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_send }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m11.StaticServer.send as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m11.StaticServer.pick as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_pick }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m11.StaticServer.pick as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %a0, ptr %a1)
+ ret ptr %r
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser.feed as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser.feed as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish(ptr %env) #0 { ; %method.value:%%m4.MultipartParser.finish as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed(ptr %env) #0 { ; %method.value:%%m4.MultipartParser._malformed as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit(ptr %env) #0 { ; %method.value:%%m4.MultipartParser._limit as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart(ptr %env) #0 { ; %method.value:%%m4.MultipartParser._abortPart as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser._startPart as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser._startPart as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser._emit as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartParser._emit as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart(ptr %env) #0 { ; %method.value:%%m4.MultipartParser._endPart as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus(ptr %env, double %a0) #0 { ; %method.value:%%m3.LiteResponse.setStatus as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus(double %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.setHeader as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.setHeader as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.appendHeader as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.appendHeader as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.writeBody as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.writeBody as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.bodyBytes as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.bodyBytes as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m3.LiteResponse.redirect as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %a0, double %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m3.LiteResponse.redirect as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %a0, double %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.write as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_write }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.write as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.writeHead as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(double %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m3.LiteResponse.writeHead as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(double %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream(ptr %env) #0 { ; %method.value:%%m3.LiteResponse.endStream as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.adopt as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteResponse.adopt as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %a0)
+ ret void
+}
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent(ptr %env) #0 { ; %method.value:%%m3.LiteResponse.isSent as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent()
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent(ptr %env) #0 { ; %method.value:%%m3.LiteResponse.isHeadersSent as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent()
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy(ptr %env) #0 { ; %method.value:%%m3.LiteResponse.destroy as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartFileSink.write as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MultipartFileSink.write as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end(ptr %env) #0 { ; %method.value:%%m4.MultipartFileSink.end as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort(ptr %env) #0 { ; %method.value:%%m4.MultipartFileSink.abort as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file(ptr %env) #0 { ; %method.value:%%m4.MultipartFileSink.file as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m4.MultipartStorage.begin as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m4.MultipartStorage.begin as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m4.MemoryStorage.begin as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %env, ptr %a0, ptr %a1, ptr %a2) #0 { ; %method.value:%%m4.MemoryStorage.begin as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %a0, ptr %a1, ptr %a2)
+ ret ptr %r
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus(ptr %env, double %a0) #0 { ; %method.value:%%m2.NodeResponseSink.setStatus as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus(double %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.setHeader as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.setHeader as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.appendHeader as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.appendHeader as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.writeBody as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.writeBody as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.bodyBytes as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %env, ptr %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.bodyBytes as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.NodeResponseSink.redirect as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %a0, double %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %env, ptr %a0, double %a1) #0 { ; %method.value:%%m2.NodeResponseSink.redirect as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %a0, double %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.write as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.write as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %a0)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.writeHead as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(double %a0, ptr %a1)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(ptr %env, double %a0, ptr %a1) #0 { ; %method.value:%%m2.NodeResponseSink.writeHead as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(double %a0, ptr %a1)
+ ret void
+}
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.endStream as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.isSent as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent()
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.isHeadersSent as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent()
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.destroy as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy()
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal double @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.statusOf as a value
+entry:
+ %r = call double @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf()
+ ret double %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.headerOf as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %env, ptr %a0) #0 { ; %method.value:%%m2.NodeResponseSink.headerOf as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %a0)
+ ret ptr %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.headersMap as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes(ptr %env) #0 { ; %method.value:%%m2.NodeResponseSink.nodeRes as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MemoryFileSink.write as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %env, ptr %a0) #0 { ; %method.value:%%m4.MemoryFileSink.write as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %a0)
+ ret void
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file(ptr %env) #0 { ; %method.value:%%m4.MemoryFileSink.file as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.get as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.get as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %a0)
+ ret ptr %r
+}
+
+define internal i1 @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.has as a value
+entry:
+ %r = call i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %a0)
+ ret i1 %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has }
+
+define internal i1 @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.has as a value, lending its arguments
+entry:
+ %r = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %a0)
+ ret i1 %r
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie(ptr %env) #0 { ; %method.value:%%m3.LiteHeaders.getSetCookie as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal void @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.forEach as a value
+entry:
+ call void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %a0)
+ ret void
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach }
+
+define internal void @sc_wb__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %env, ptr %a0) #0 { ; %method.value:%%m3.LiteHeaders.forEach as a value, lending its arguments
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %a0)
+ ret void
+}
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_Error_toString(ptr %env) #0 { ; %method.value:%%Error.toString as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_Error_toString()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_Error_toString = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_Error_toString, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes(ptr %env) #0 { ; %method.value:%%m5.CtxResCore.nodeRes as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes()
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, ptr null, i32 0, i32 0, ptr null, ptr null }
+
+define internal ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxResCore.header as a value
+entry:
+ %r = call ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %a0)
+ ret ptr %r
+}
+@sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header = internal global %ScrClosure { i64 -1, ptr @sc_w__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, ptr null, i32 0, i32 0, ptr null, ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxResCore_header }
+
+define internal ptr @sc_wb__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %env, ptr %a0) #0 { ; %method.value:%%m5.CtxResCore.header as a value, lending its arguments
+entry:
+ %r = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %a0)
+ ret ptr %r
+}
+
+%sc_ap__x25_m5_settleChain = type { ptr, ptr, ptr, ptr } ; %m5.settleChain args
+define internal void @sc_tr__x25_m5_settleChain(ptr %self, ptr %ap) #0 {
+entry:
+ %fp0 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 0
+ %a0 = load ptr, ptr %fp0
+ %fp1 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 1
+ %a1 = load ptr, ptr %fp1
+ %fp2 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 2
+ %a2 = load ptr, ptr %fp2
+ %fp3 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 3
+ %a3 = load ptr, ptr %fp3
+ call void @scr_rt_free(ptr %ap)
+ call void @sc_f__x25_m5_settleChain(ptr %a0, ptr %a1, ptr %a2, ptr %a3)
+ %pend.cell = load ptr, ptr @scr_exc_active
+ %pend.kind = load i32, ptr %pend.cell
+ %pend = icmp ne i32 %pend.kind, 0
+ br i1 %pend, label %thrown, label %clean
+clean:
+ %pr = call ptr @scr_fiber_promise(ptr %self)
+ call void @scr_promise_fulfill_void(ptr %pr)
+ ret void
+thrown:
+ ret void
+}
+
+define internal ptr @sc_as__x25_m5_settleChain(ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; spawn %m5.settleChain
+entry:
+ %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_m5_settleChain, ptr null, i32 1) to i64))
+ %isnull = icmp eq ptr %ap, null
+ br i1 %isnull, label %oom, label %ok
+oom:
+ call void @sc_oom()
+ unreachable
+ok:
+ %sp0 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 0
+ store ptr %a0, ptr %sp0
+ %sp1 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 1
+ store ptr %a1, ptr %sp1
+ %sp2 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 2
+ store ptr %a2, ptr %sp2
+ %sp3 = getelementptr inbounds %sc_ap__x25_m5_settleChain, ptr %ap, i64 0, i32 3
+ store ptr %a3, ptr %sp3
+ %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_m5_settleChain, ptr %ap)
+ ret ptr %p
+}
+
+%sc_ap__x25__x25_m5_App__dispatchPrim = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr } ; %%m5.App._dispatchPrim args
+define internal void @sc_tr__x25__x25_m5_App__dispatchPrim(ptr %self, ptr %ap) #0 {
+entry:
+ %fp0 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 0
+ %a0 = load ptr, ptr %fp0
+ %fp1 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 1
+ %a1 = load ptr, ptr %fp1
+ %fp2 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 2
+ %a2 = load ptr, ptr %fp2
+ %fp3 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 3
+ %a3 = load ptr, ptr %fp3
+ %fp4 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 4
+ %a4 = load ptr, ptr %fp4
+ %fp5 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 5
+ %a5 = load ptr, ptr %fp5
+ %fp6 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 6
+ %a6 = load ptr, ptr %fp6
+ %fp7 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 7
+ %a7 = load ptr, ptr %fp7
+ call void @scr_rt_free(ptr %ap)
+ call void @sc_f__x25__x25_m5_App__dispatchPrim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6, ptr %a7)
+ %pend.cell = load ptr, ptr @scr_exc_active
+ %pend.kind = load i32, ptr %pend.cell
+ %pend = icmp ne i32 %pend.kind, 0
+ br i1 %pend, label %thrown, label %clean
+clean:
+ %pr = call ptr @scr_fiber_promise(ptr %self)
+ call void @scr_promise_fulfill_void(ptr %pr)
+ ret void
+thrown:
+ ret void
+}
+
+define internal ptr @sc_as__x25__x25_m5_App__dispatchPrim(ptr %a0, ptr %a1, ptr %a2, ptr %a3, ptr %a4, ptr %a5, ptr %a6, ptr %a7) #0 { ; spawn %%m5.App._dispatchPrim
+entry:
+ %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25__x25_m5_App__dispatchPrim, ptr null, i32 1) to i64))
+ %isnull = icmp eq ptr %ap, null
+ br i1 %isnull, label %oom, label %ok
+oom:
+ call void @sc_oom()
+ unreachable
+ok:
+ %sp0 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 0
+ store ptr %a0, ptr %sp0
+ %sp1 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 1
+ store ptr %a1, ptr %sp1
+ %sp2 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 2
+ store ptr %a2, ptr %sp2
+ %sp3 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 3
+ store ptr %a3, ptr %sp3
+ %sp4 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 4
+ store ptr %a4, ptr %sp4
+ %sp5 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 5
+ store ptr %a5, ptr %sp5
+ %sp6 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 6
+ store ptr %a6, ptr %sp6
+ %sp7 = getelementptr inbounds %sc_ap__x25__x25_m5_App__dispatchPrim, ptr %ap, i64 0, i32 7
+ store ptr %a7, ptr %sp7
+ %p = call ptr @scr_async_spawn(ptr @sc_tr__x25__x25_m5_App__dispatchPrim, ptr %ap)
+ ret ptr %p
+}
+
+%sc_ap__x25_fn13_then2 = type { ptr, ptr, ptr, ptr } ; %fn13_then2 args
+define internal void @sc_tr__x25_fn13_then2(ptr %self, ptr %ap) #0 {
+entry:
+ %fp0 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 0
+ %a0 = load ptr, ptr %fp0
+ %fp1 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 1
+ %a1 = load ptr, ptr %fp1
+ %fp2 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 2
+ %a2 = load ptr, ptr %fp2
+ %fp3 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 3
+ %a3 = load ptr, ptr %fp3
+ call void @scr_rt_free(ptr %ap)
+ call void @sc_f__x25_fn13_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3)
+ call void @scr_closure_release(ptr %a0)
+ %pend.cell = load ptr, ptr @scr_exc_active
+ %pend.kind = load i32, ptr %pend.cell
+ %pend = icmp ne i32 %pend.kind, 0
+ br i1 %pend, label %thrown, label %clean
+clean:
+ %pr = call ptr @scr_fiber_promise(ptr %self)
+ call void @scr_promise_fulfill_void(ptr %pr)
+ ret void
+thrown:
+ ret void
+}
+
+define internal ptr @sc_as__x25_fn13_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; spawn %fn13_then2
+entry:
+ %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn13_then2, ptr null, i32 1) to i64))
+ %isnull = icmp eq ptr %ap, null
+ br i1 %isnull, label %oom, label %ok
+oom:
+ call void @sc_oom()
+ unreachable
+ok:
+ %env = call ptr @scr_closure_retain_v(ptr %a0)
+ %sp0 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 0
+ store ptr %env, ptr %sp0
+ %sp1 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 1
+ store ptr %a1, ptr %sp1
+ %sp2 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 2
+ store ptr %a2, ptr %sp2
+ %sp3 = getelementptr inbounds %sc_ap__x25_fn13_then2, ptr %ap, i64 0, i32 3
+ store ptr %a3, ptr %sp3
+ %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn13_then2, ptr %ap)
+ ret ptr %p
+}
+
+%sc_ap__x25_fn9 = type { ptr } ; %fn9 args
+define internal void @sc_tr__x25_fn9(ptr %self, ptr %ap) #0 {
+entry:
+ %fp0 = getelementptr inbounds %sc_ap__x25_fn9, ptr %ap, i64 0, i32 0
+ %a0 = load ptr, ptr %fp0
+ call void @scr_rt_free(ptr %ap)
+ call void @sc_f__x25_fn9(ptr %a0)
+ call void @scr_closure_release(ptr %a0)
+ %pend.cell = load ptr, ptr @scr_exc_active
+ %pend.kind = load i32, ptr %pend.cell
+ %pend = icmp ne i32 %pend.kind, 0
+ br i1 %pend, label %thrown, label %clean
+clean:
+ %pr = call ptr @scr_fiber_promise(ptr %self)
+ call void @scr_promise_fulfill_void(ptr %pr)
+ ret void
+thrown:
+ ret void
+}
+
+define internal ptr @sc_as__x25_fn9(ptr %a0) #0 { ; spawn %fn9
+entry:
+ %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn9, ptr null, i32 1) to i64))
+ %isnull = icmp eq ptr %ap, null
+ br i1 %isnull, label %oom, label %ok
+oom:
+ call void @sc_oom()
+ unreachable
+ok:
+ %env = call ptr @scr_closure_retain_v(ptr %a0)
+ %sp0 = getelementptr inbounds %sc_ap__x25_fn9, ptr %ap, i64 0, i32 0
+ store ptr %env, ptr %sp0
+ %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn9, ptr %ap)
+ ret ptr %p
+}
+
+%sc_ap__x25_fn16_then2 = type { ptr, ptr, ptr, ptr } ; %fn16_then2 args
+define internal void @sc_tr__x25_fn16_then2(ptr %self, ptr %ap) #0 {
+entry:
+ %fp0 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 0
+ %a0 = load ptr, ptr %fp0
+ %fp1 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 1
+ %a1 = load ptr, ptr %fp1
+ %fp2 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 2
+ %a2 = load ptr, ptr %fp2
+ %fp3 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 3
+ %a3 = load ptr, ptr %fp3
+ call void @scr_rt_free(ptr %ap)
+ call void @sc_f__x25_fn16_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3)
+ call void @scr_closure_release(ptr %a0)
+ %pend.cell = load ptr, ptr @scr_exc_active
+ %pend.kind = load i32, ptr %pend.cell
+ %pend = icmp ne i32 %pend.kind, 0
+ br i1 %pend, label %thrown, label %clean
+clean:
+ %pr = call ptr @scr_fiber_promise(ptr %self)
+ call void @scr_promise_fulfill_void(ptr %pr)
+ ret void
+thrown:
+ ret void
+}
+
+define internal ptr @sc_as__x25_fn16_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; spawn %fn16_then2
+entry:
+ %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn16_then2, ptr null, i32 1) to i64))
+ %isnull = icmp eq ptr %ap, null
+ br i1 %isnull, label %oom, label %ok
+oom:
+ call void @sc_oom()
+ unreachable
+ok:
+ %env = call ptr @scr_closure_retain_v(ptr %a0)
+ %sp0 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 0
+ store ptr %env, ptr %sp0
+ %sp1 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 1
+ store ptr %a1, ptr %sp1
+ %sp2 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 2
+ store ptr %a2, ptr %sp2
+ %sp3 = getelementptr inbounds %sc_ap__x25_fn16_then2, ptr %ap, i64 0, i32 3
+ store ptr %a3, ptr %sp3
+ %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn16_then2, ptr %ap)
+ ret ptr %p
+}
+
+%sc_ap__x25_fn17 = type { ptr } ; %fn17 args
+define internal void @sc_tr__x25_fn17(ptr %self, ptr %ap) #0 {
+entry:
+ %fp0 = getelementptr inbounds %sc_ap__x25_fn17, ptr %ap, i64 0, i32 0
+ %a0 = load ptr, ptr %fp0
+ call void @scr_rt_free(ptr %ap)
+ %r = call ptr @sc_f__x25_fn17(ptr %a0)
+ call void @scr_closure_release(ptr %a0)
+ %pend.cell = load ptr, ptr @scr_exc_active
+ %pend.kind = load i32, ptr %pend.cell
+ %pend = icmp ne i32 %pend.kind, 0
+ br i1 %pend, label %thrown, label %clean
+clean:
+ %pr = call ptr @scr_fiber_promise(ptr %self)
+ call void @scr_promise_resolve_dyn(ptr %pr, ptr %r) ; moves in
+ ret void
+thrown:
+ call void @sc_rc_release_dyn(ptr %r)
+ ret void
+}
+
+define internal ptr @sc_as__x25_fn17(ptr %a0) #0 { ; spawn %fn17
+entry:
+ %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn17, ptr null, i32 1) to i64))
+ %isnull = icmp eq ptr %ap, null
+ br i1 %isnull, label %oom, label %ok
+oom:
+ call void @sc_oom()
+ unreachable
+ok:
+ %env = call ptr @scr_closure_retain_v(ptr %a0)
+ %sp0 = getelementptr inbounds %sc_ap__x25_fn17, ptr %ap, i64 0, i32 0
+ store ptr %env, ptr %sp0
+ %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn17, ptr %ap)
+ ret ptr %p
+}
+
+%sc_ap__x25_fn20_then = type { ptr, ptr, ptr } ; %fn20_then args
+define internal void @sc_tr__x25_fn20_then(ptr %self, ptr %ap) #0 {
+entry:
+ %fp0 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 0
+ %a0 = load ptr, ptr %fp0
+ %fp1 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 1
+ %a1 = load ptr, ptr %fp1
+ %fp2 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 2
+ %a2 = load ptr, ptr %fp2
+ call void @scr_rt_free(ptr %ap)
+ call void @sc_f__x25_fn20_then(ptr %a0, ptr %a1, ptr %a2)
+ call void @scr_closure_release(ptr %a0)
+ %pend.cell = load ptr, ptr @scr_exc_active
+ %pend.kind = load i32, ptr %pend.cell
+ %pend = icmp ne i32 %pend.kind, 0
+ br i1 %pend, label %thrown, label %clean
+clean:
+ %pr = call ptr @scr_fiber_promise(ptr %self)
+ call void @scr_promise_fulfill_void(ptr %pr)
+ ret void
+thrown:
+ ret void
+}
+
+define internal ptr @sc_as__x25_fn20_then(ptr %a0, ptr %a1, ptr %a2) #0 { ; spawn %fn20_then
+entry:
+ %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn20_then, ptr null, i32 1) to i64))
+ %isnull = icmp eq ptr %ap, null
+ br i1 %isnull, label %oom, label %ok
+oom:
+ call void @sc_oom()
+ unreachable
+ok:
+ %env = call ptr @scr_closure_retain_v(ptr %a0)
+ %sp0 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 0
+ store ptr %env, ptr %sp0
+ %sp1 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 1
+ store ptr %a1, ptr %sp1
+ %sp2 = getelementptr inbounds %sc_ap__x25_fn20_then, ptr %ap, i64 0, i32 2
+ store ptr %a2, ptr %sp2
+ %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn20_then, ptr %ap)
+ ret ptr %p
+}
+
+%sc_ap__x25_fn21_then = type { ptr, ptr, ptr } ; %fn21_then args
+define internal void @sc_tr__x25_fn21_then(ptr %self, ptr %ap) #0 {
+entry:
+ %fp0 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 0
+ %a0 = load ptr, ptr %fp0
+ %fp1 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 1
+ %a1 = load ptr, ptr %fp1
+ %fp2 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 2
+ %a2 = load ptr, ptr %fp2
+ call void @scr_rt_free(ptr %ap)
+ call void @sc_f__x25_fn21_then(ptr %a0, ptr %a1, ptr %a2)
+ call void @scr_closure_release(ptr %a0)
+ %pend.cell = load ptr, ptr @scr_exc_active
+ %pend.kind = load i32, ptr %pend.cell
+ %pend = icmp ne i32 %pend.kind, 0
+ br i1 %pend, label %thrown, label %clean
+clean:
+ %pr = call ptr @scr_fiber_promise(ptr %self)
+ call void @scr_promise_fulfill_void(ptr %pr)
+ ret void
+thrown:
+ ret void
+}
+
+define internal ptr @sc_as__x25_fn21_then(ptr %a0, ptr %a1, ptr %a2) #0 { ; spawn %fn21_then
+entry:
+ %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn21_then, ptr null, i32 1) to i64))
+ %isnull = icmp eq ptr %ap, null
+ br i1 %isnull, label %oom, label %ok
+oom:
+ call void @sc_oom()
+ unreachable
+ok:
+ %env = call ptr @scr_closure_retain_v(ptr %a0)
+ %sp0 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 0
+ store ptr %env, ptr %sp0
+ %sp1 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 1
+ store ptr %a1, ptr %sp1
+ %sp2 = getelementptr inbounds %sc_ap__x25_fn21_then, ptr %ap, i64 0, i32 2
+ store ptr %a2, ptr %sp2
+ %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn21_then, ptr %ap)
+ ret ptr %p
+}
+
+%sc_ap__x25_fn50_then2 = type { ptr, ptr, ptr, ptr } ; %fn50_then2 args
+define internal void @sc_tr__x25_fn50_then2(ptr %self, ptr %ap) #0 {
+entry:
+ %fp0 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 0
+ %a0 = load ptr, ptr %fp0
+ %fp1 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 1
+ %a1 = load ptr, ptr %fp1
+ %fp2 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 2
+ %a2 = load ptr, ptr %fp2
+ %fp3 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 3
+ %a3 = load ptr, ptr %fp3
+ call void @scr_rt_free(ptr %ap)
+ call void @sc_f__x25_fn50_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3)
+ call void @scr_closure_release(ptr %a0)
+ %pend.cell = load ptr, ptr @scr_exc_active
+ %pend.kind = load i32, ptr %pend.cell
+ %pend = icmp ne i32 %pend.kind, 0
+ br i1 %pend, label %thrown, label %clean
+clean:
+ %pr = call ptr @scr_fiber_promise(ptr %self)
+ call void @scr_promise_fulfill_void(ptr %pr)
+ ret void
+thrown:
+ ret void
+}
+
+define internal ptr @sc_as__x25_fn50_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; spawn %fn50_then2
+entry:
+ %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn50_then2, ptr null, i32 1) to i64))
+ %isnull = icmp eq ptr %ap, null
+ br i1 %isnull, label %oom, label %ok
+oom:
+ call void @sc_oom()
+ unreachable
+ok:
+ %env = call ptr @scr_closure_retain_v(ptr %a0)
+ %sp0 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 0
+ store ptr %env, ptr %sp0
+ %sp1 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 1
+ store ptr %a1, ptr %sp1
+ %sp2 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 2
+ store ptr %a2, ptr %sp2
+ %sp3 = getelementptr inbounds %sc_ap__x25_fn50_then2, ptr %ap, i64 0, i32 3
+ store ptr %a3, ptr %sp3
+ %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn50_then2, ptr %ap)
+ ret ptr %p
+}
+
+%sc_ap__x25_fn66_then2 = type { ptr, ptr, ptr, ptr } ; %fn66_then2 args
+define internal void @sc_tr__x25_fn66_then2(ptr %self, ptr %ap) #0 {
+entry:
+ %fp0 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 0
+ %a0 = load ptr, ptr %fp0
+ %fp1 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 1
+ %a1 = load ptr, ptr %fp1
+ %fp2 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 2
+ %a2 = load ptr, ptr %fp2
+ %fp3 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 3
+ %a3 = load ptr, ptr %fp3
+ call void @scr_rt_free(ptr %ap)
+ call void @sc_f__x25_fn66_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3)
+ call void @scr_closure_release(ptr %a0)
+ %pend.cell = load ptr, ptr @scr_exc_active
+ %pend.kind = load i32, ptr %pend.cell
+ %pend = icmp ne i32 %pend.kind, 0
+ br i1 %pend, label %thrown, label %clean
+clean:
+ %pr = call ptr @scr_fiber_promise(ptr %self)
+ call void @scr_promise_fulfill_void(ptr %pr)
+ ret void
+thrown:
+ ret void
+}
+
+define internal ptr @sc_as__x25_fn66_then2(ptr %a0, ptr %a1, ptr %a2, ptr %a3) #0 { ; spawn %fn66_then2
+entry:
+ %ap = call ptr @scr_rt_calloc(i64 ptrtoint (ptr getelementptr (%sc_ap__x25_fn66_then2, ptr null, i32 1) to i64))
+ %isnull = icmp eq ptr %ap, null
+ br i1 %isnull, label %oom, label %ok
+oom:
+ call void @sc_oom()
+ unreachable
+ok:
+ %env = call ptr @scr_closure_retain_v(ptr %a0)
+ %sp0 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 0
+ store ptr %env, ptr %sp0
+ %sp1 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 1
+ store ptr %a1, ptr %sp1
+ %sp2 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 2
+ store ptr %a2, ptr %sp2
+ %sp3 = getelementptr inbounds %sc_ap__x25_fn66_then2, ptr %ap, i64 0, i32 3
+ store ptr %a3, ptr %sp3
+ %p = call ptr @scr_async_spawn(ptr @sc_tr__x25_fn66_then2, ptr %ap)
+ ret ptr %p
+}
+
+define internal void @sc_ldr_1_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m3.LiteResponse
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_127274431826284, i64 6)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call double @sc_dc_2(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 3
+ %f0_old = load double, ptr %f0_ptr
+ store double %f0_next, ptr %f0_ptr
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3231205774586710, i64 7)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_1(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 4
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_arr_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_538032548850790, i64 7)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_1(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 5
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @scr_arr_release(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4231320391602270, i64 7)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call ptr @sc_dc_1(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 6
+ %f3_old = load ptr, ptr %f3_ptr
+ store ptr %f3_next, ptr %f3_ptr
+ call void @scr_arr_release(ptr %f3_old)
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2537232771826273, i64 6)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call ptr @sc_dc_1(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 7
+ %f4_old = load ptr, ptr %f4_ptr
+ store ptr %f4_next, ptr %f4_ptr
+ call void @scr_arr_release(ptr %f4_old)
+ br label %f4_after
+f4_after:
+ %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2163543391075186, i64 4)
+ %f5_missing = icmp eq ptr %f5_raw, null
+ %f5_undef = call ptr @scr_dyn_undefined()
+ %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw
+ %f5_next = call zeroext i1 @sc_dc_3(ptr %f5_input, ptr null)
+ %f5_pending.cell = load ptr, ptr @scr_exc_active
+ %f5_pending.kind = load i32, ptr %f5_pending.cell
+ %f5_pending = icmp ne i32 %f5_pending.kind, 0
+ br i1 %f5_pending, label %done, label %f5_store
+f5_store:
+ %f5_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 8
+ %f5_old = load i8, ptr %f5_ptr
+ %f5_stored = zext i1 %f5_next to i8
+ store i8 %f5_stored, ptr %f5_ptr
+ br label %f5_after
+f5_after:
+ %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1579912071364319, i64 11)
+ %f6_missing = icmp eq ptr %f6_raw, null
+ %f6_undef = call ptr @scr_dyn_undefined()
+ %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw
+ %f6_next = call zeroext i1 @sc_dc_3(ptr %f6_input, ptr null)
+ %f6_pending.cell = load ptr, ptr @scr_exc_active
+ %f6_pending.kind = load i32, ptr %f6_pending.cell
+ %f6_pending = icmp ne i32 %f6_pending.kind, 0
+ br i1 %f6_pending, label %done, label %f6_store
+f6_store:
+ %f6_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 9
+ %f6_old = load i8, ptr %f6_ptr
+ %f6_stored = zext i1 %f6_next to i8
+ store i8 %f6_stored, ptr %f6_ptr
+ br label %f6_after
+f6_after:
+ %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1640919894513317, i64 7)
+ %f7_missing = icmp eq ptr %f7_raw, null
+ %f7_undef = call ptr @scr_dyn_undefined()
+ %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw
+ %f7_next = call ptr @sc_dc_4(ptr %f7_input, ptr null)
+ %f7_pending.cell = load ptr, ptr @scr_exc_active
+ %f7_pending.kind = load i32, ptr %f7_pending.cell
+ %f7_pending = icmp ne i32 %f7_pending.kind, 0
+ br i1 %f7_pending, label %done, label %f7_store
+f7_store:
+ %f7_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 10
+ %f7_old = load ptr, ptr %f7_ptr
+ store ptr %f7_next, ptr %f7_ptr
+ call void @sc_rrelease_r1(ptr %f7_old)
+ br label %f7_after
+f7_after:
+ %f8_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4191962028163388, i64 10)
+ %f8_missing = icmp eq ptr %f8_raw, null
+ %f8_undef = call ptr @scr_dyn_undefined()
+ %f8_input = select i1 %f8_missing, ptr %f8_undef, ptr %f8_raw
+ %f8_next = call zeroext i1 @sc_dc_3(ptr %f8_input, ptr null)
+ %f8_pending.cell = load ptr, ptr @scr_exc_active
+ %f8_pending.kind = load i32, ptr %f8_pending.cell
+ %f8_pending = icmp ne i32 %f8_pending.kind, 0
+ br i1 %f8_pending, label %done, label %f8_store
+f8_store:
+ %f8_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 11
+ %f8_old = load i8, ptr %f8_ptr
+ %f8_stored = zext i1 %f8_next to i8
+ store i8 %f8_stored, ptr %f8_ptr
+ br label %f8_after
+f8_after:
+ %f9_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2098081682588801, i64 4)
+ %f9_missing = icmp eq ptr %f9_raw, null
+ %f9_undef = call ptr @scr_dyn_undefined()
+ %f9_input = select i1 %f9_missing, ptr %f9_undef, ptr %f9_raw
+ %f9_next = call ptr @sc_dc_7(ptr %f9_input, ptr null)
+ %f9_pending.cell = load ptr, ptr @scr_exc_active
+ %f9_pending.kind = load i32, ptr %f9_pending.cell
+ %f9_pending = icmp ne i32 %f9_pending.kind, 0
+ br i1 %f9_pending, label %done, label %f9_store
+f9_store:
+ %f9_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 12
+ %f9_old = load ptr, ptr %f9_ptr
+ store ptr %f9_next, ptr %f9_ptr
+ call void @sc_rrelease_r2(ptr %f9_old)
+ br label %f9_after
+f9_after:
+ %f10_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4448851817182856, i64 8)
+ %f10_missing = icmp eq ptr %f10_raw, null
+ %f10_undef = call ptr @scr_dyn_undefined()
+ %f10_input = select i1 %f10_missing, ptr %f10_undef, ptr %f10_raw
+ %f10_next = call zeroext i1 @sc_dc_3(ptr %f10_input, ptr null)
+ %f10_pending.cell = load ptr, ptr @scr_exc_active
+ %f10_pending.kind = load i32, ptr %f10_pending.cell
+ %f10_pending = icmp ne i32 %f10_pending.kind, 0
+ br i1 %f10_pending, label %done, label %f10_store
+f10_store:
+ %f10_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 13
+ %f10_old = load i8, ptr %f10_ptr
+ %f10_stored = zext i1 %f10_next to i8
+ store i8 %f10_stored, ptr %f10_ptr
+ br label %f10_after
+f10_after:
+ %f11_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2171724267474130, i64 4)
+ %f11_missing = icmp eq ptr %f11_raw, null
+ %f11_undef = call ptr @scr_dyn_undefined()
+ %f11_input = select i1 %f11_missing, ptr %f11_undef, ptr %f11_raw
+ %f11_next = call ptr @sc_dc_11(ptr %f11_input, ptr null)
+ %f11_pending.cell = load ptr, ptr @scr_exc_active
+ %f11_pending.kind = load i32, ptr %f11_pending.cell
+ %f11_pending = icmp ne i32 %f11_pending.kind, 0
+ br i1 %f11_pending, label %done, label %f11_store
+f11_store:
+ %f11_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 14
+ %f11_old = load ptr, ptr %f11_ptr
+ store ptr %f11_next, ptr %f11_ptr
+ call void @scr_http_res_release(ptr %f11_old)
+ br label %f11_after
+f11_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m3_LiteResponse(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteResponse(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_127274431826284, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_3231205774586710, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_538032548850790, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_4231320391602270, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2537232771826273, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_2163543391075186, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key5)
+ %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_1579912071364319, i64 11)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key6)
+ %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_1640919894513317, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key7)
+ %bag_key8 = call ptr @scr_str_new(ptr @sc_cs_4191962028163388, i64 10)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key8, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key8)
+ %bag_key9 = call ptr @scr_str_new(ptr @sc_cs_2098081682588801, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key9, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key9)
+ %bag_key10 = call ptr @scr_str_new(ptr @sc_cs_4448851817182856, i64 8)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key10, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key10)
+ %bag_key11 = call ptr @scr_str_new(ptr @sc_cs_2171724267474130, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key11, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key11)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_2_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array
+entry:
+ %next = call ptr @sc_dc_1(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_2_materialize_get(ptr %p, double %i) #0 { ; live element of array
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @sc_td_0(ptr %t0)
+ call void @scr_str_release(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_2_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array
+entry:
+ %t0 = call zeroext i1 @sc_dm_6(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_0(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_2_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_2_materialize_get, ptr @sc_ldr_2_materialize_set }
+
+define internal ptr @sc_ldr_2_materialize(ptr %p) #0 { ; materialize live stream value array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @sc_td_0(ptr %t10)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @scr_str_release(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_3_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r1
+entry:
+ %next = call ptr @sc_dc_5(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r1, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r1, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; body
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r1, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r1, ptr %next, i64 0, i32 2
+ %old1 = load ptr, ptr %tp1 ; headers
+ %new1 = load ptr, ptr %np1
+ store ptr %new1, ptr %tp1
+ store ptr %old1, ptr %np1
+ %tp2 = getelementptr inbounds %sc_rs_r1, ptr %target, i64 0, i32 3
+ %np2 = getelementptr inbounds %sc_rs_r1, ptr %next, i64 0, i32 3
+ %old2 = load double, ptr %tp2 ; status
+ %new2 = load double, ptr %np2
+ store double %new2, ptr %tp2
+ store double %old2, ptr %np2
+ call void @sc_rrelease_r1(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal zeroext i1 @sc_ldr_3_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r1
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_3_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r1
+entry:
+ switch i64 %i, label %live.record.bad3 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 3
+ %t1 = load double, ptr %t0
+ %t2 = call ptr @sc_td_2(double %t1)
+ ret ptr %t2
+live.record.get1:
+ %t3 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ %t5 = call ptr @sc_td_4(ptr %t4)
+ ret ptr %t5
+live.record.get2:
+ %t6 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 2
+ %t7 = load ptr, ptr %t6
+ %t8 = call ptr @sc_td_4(ptr %t7)
+ ret ptr %t8
+live.record.bad3:
+ unreachable
+}
+
+@sc_ldr_3_materialize_names = internal constant [3 x ptr] [ptr @sc_lit_127274431826284, ptr @sc_lit_616655122974952, ptr @sc_lit_977412068193087]
+@sc_ldr_3_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 3, ptr @sc_ldr_3_materialize_names, ptr @sc_ldr_3_materialize_has, ptr @sc_ldr_3_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_3_materialize(ptr %p) #0 { ; materialize live stream value record:r1
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 3
+ %t2 = load double, ptr %t1
+ %t3 = call ptr @sc_td_2(double %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_127274431826284, i64 6, ptr %t3)
+ %t4 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_4(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t6)
+ %t7 = getelementptr inbounds %sc_rs_r1, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_4(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_977412068193087, i64 7, ptr %t9)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldu_0(ptr %u) #0 { ; materialize live union value union:u4
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t0 = select i1 %t1, i32 0, i32 1
+ switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 ]
+ldu.ref1:
+ %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_rretain_r1, ptr @sc_rrelease_r1, ptr @sc_cs_2073431270519518, i64 9, ptr @sc_ldr_3_materialize, ptr @sc_ldr_3_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t2, ptr @sc_ldr_3_materialize_rops)
+ ret ptr %t2
+ldu.value2:
+ %t3 = call ptr @scr_dyn_new_null()
+ ret ptr %t3
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal void @sc_ldr_4_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r2
+entry:
+ %next = call ptr @sc_dc_8(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r2, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r2, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; close
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r2, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r2, ptr %next, i64 0, i32 2
+ %old1 = load ptr, ptr %tp1 ; enqueue
+ %new1 = load ptr, ptr %np1
+ store ptr %new1, ptr %tp1
+ store ptr %old1, ptr %np1
+ call void @sc_rrelease_r2(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal zeroext i1 @sc_ldr_4_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r2
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_4_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r2
+entry:
+ switch i64 %i, label %live.record.bad2 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r2, ptr %p, i64 0, i32 2
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @sc_td_5(ptr %t1)
+ ret ptr %t2
+live.record.get1:
+ %t3 = getelementptr inbounds %sc_rs_r2, ptr %p, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ %t5 = call ptr @sc_td_6(ptr %t4)
+ ret ptr %t5
+live.record.bad2:
+ unreachable
+}
+
+@sc_ldr_4_materialize_names = internal constant [2 x ptr] [ptr @sc_lit_3739322700708094, ptr @sc_lit_863112869792180]
+@sc_ldr_4_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 2, ptr @sc_ldr_4_materialize_names, ptr @sc_ldr_4_materialize_has, ptr @sc_ldr_4_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_4_materialize(ptr %p) #0 { ; materialize live stream value record:r2
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r2, ptr %p, i64 0, i32 2
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_5(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3739322700708094, i64 7, ptr %t3)
+ %t4 = getelementptr inbounds %sc_rs_r2, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_6(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_863112869792180, i64 5, ptr %t6)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldu_1(ptr %u) #0 { ; materialize live union value union:u5
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t0 = select i1 %t1, i32 0, i32 1
+ switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 ]
+ldu.ref1:
+ %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_rretain_r2, ptr @sc_rrelease_r2, ptr @sc_cs_4309965218388288, i64 9, ptr @sc_ldr_4_materialize, ptr @sc_ldr_4_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t2, ptr @sc_ldr_4_materialize_rops)
+ ret ptr %t2
+ldu.value2:
+ %t3 = call ptr @scr_dyn_new_null()
+ ret ptr %t3
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal ptr @sc_ldr_1_materialize(ptr %p) #0 { ; materialize live stream value object:%m3.LiteResponse
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteResponse(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 3
+ %t5 = load double, ptr %t4
+ %t6 = call ptr @sc_td_2(double %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_127274431826284, i64 6, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 4
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t9, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3231205774586710, i64 7, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 5
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t12, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_538032548850790, i64 7, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 6
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4231320391602270, i64 7, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 7
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t17, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t18, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2537232771826273, i64 6, ptr %t18)
+ %t19 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 8
+ %t20 = load i8, ptr %t19
+ %t21 = trunc i8 %t20 to i1
+ %t22 = call ptr @sc_td_3(i1 %t21)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2163543391075186, i64 4, ptr %t22)
+ %t23 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 9
+ %t24 = load i8, ptr %t23
+ %t25 = trunc i8 %t24 to i1
+ %t26 = call ptr @sc_td_3(i1 %t25)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1579912071364319, i64 11, ptr %t26)
+ %t27 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 10
+ %t28 = load ptr, ptr %t27
+ %t29 = call ptr @sc_ldu_0(ptr %t28)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1640919894513317, i64 7, ptr %t29)
+ %t30 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 11
+ %t31 = load i8, ptr %t30
+ %t32 = trunc i8 %t31 to i1
+ %t33 = call ptr @sc_td_3(i1 %t32)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4191962028163388, i64 10, ptr %t33)
+ %t34 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 12
+ %t35 = load ptr, ptr %t34
+ %t36 = call ptr @sc_ldu_1(ptr %t35)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2098081682588801, i64 4, ptr %t36)
+ %t37 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 13
+ %t38 = load i8, ptr %t37
+ %t39 = trunc i8 %t38 to i1
+ %t40 = call ptr @sc_td_3(i1 %t39)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4448851817182856, i64 8, ptr %t40)
+ %t41 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 14
+ %t42 = load ptr, ptr %t41
+ %t43 = call ptr @sc_td_7(ptr %t42)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2171724267474130, i64 4, ptr %t43)
+ %t44 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %p, i64 0, i32 2
+ %t45 = load ptr, ptr %t44
+ %t46 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t45)
+ call void @scr_dyn_release_v(ptr %t46)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_5_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m2.FetchResponseSink
+entry:
+ %derived_vt_slot = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 1
+ %derived_vt = load ptr, ptr %derived_vt_slot
+ %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0
+ %derived_pre = load i64, ptr %derived_pre_slot
+ %derived0 = icmp eq i64 %derived_pre, 18
+ br i1 %derived0, label %derived0_commit, label %derived0_next
+derived0_commit:
+ call void @sc_ldr_1_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived0_next:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_127274431826284, i64 6)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call double @sc_dc_2(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 3
+ %f0_old = load double, ptr %f0_ptr
+ store double %f0_next, ptr %f0_ptr
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3231205774586710, i64 7)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_1(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 4
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_arr_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_538032548850790, i64 7)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_1(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 5
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @scr_arr_release(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4231320391602270, i64 7)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call ptr @sc_dc_1(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 6
+ %f3_old = load ptr, ptr %f3_ptr
+ store ptr %f3_next, ptr %f3_ptr
+ call void @scr_arr_release(ptr %f3_old)
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2537232771826273, i64 6)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call ptr @sc_dc_1(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 7
+ %f4_old = load ptr, ptr %f4_ptr
+ store ptr %f4_next, ptr %f4_ptr
+ call void @scr_arr_release(ptr %f4_old)
+ br label %f4_after
+f4_after:
+ %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2163543391075186, i64 4)
+ %f5_missing = icmp eq ptr %f5_raw, null
+ %f5_undef = call ptr @scr_dyn_undefined()
+ %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw
+ %f5_next = call zeroext i1 @sc_dc_3(ptr %f5_input, ptr null)
+ %f5_pending.cell = load ptr, ptr @scr_exc_active
+ %f5_pending.kind = load i32, ptr %f5_pending.cell
+ %f5_pending = icmp ne i32 %f5_pending.kind, 0
+ br i1 %f5_pending, label %done, label %f5_store
+f5_store:
+ %f5_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 8
+ %f5_old = load i8, ptr %f5_ptr
+ %f5_stored = zext i1 %f5_next to i8
+ store i8 %f5_stored, ptr %f5_ptr
+ br label %f5_after
+f5_after:
+ %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1579912071364319, i64 11)
+ %f6_missing = icmp eq ptr %f6_raw, null
+ %f6_undef = call ptr @scr_dyn_undefined()
+ %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw
+ %f6_next = call zeroext i1 @sc_dc_3(ptr %f6_input, ptr null)
+ %f6_pending.cell = load ptr, ptr @scr_exc_active
+ %f6_pending.kind = load i32, ptr %f6_pending.cell
+ %f6_pending = icmp ne i32 %f6_pending.kind, 0
+ br i1 %f6_pending, label %done, label %f6_store
+f6_store:
+ %f6_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 9
+ %f6_old = load i8, ptr %f6_ptr
+ %f6_stored = zext i1 %f6_next to i8
+ store i8 %f6_stored, ptr %f6_ptr
+ br label %f6_after
+f6_after:
+ %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1640919894513317, i64 7)
+ %f7_missing = icmp eq ptr %f7_raw, null
+ %f7_undef = call ptr @scr_dyn_undefined()
+ %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw
+ %f7_next = call ptr @sc_dc_4(ptr %f7_input, ptr null)
+ %f7_pending.cell = load ptr, ptr @scr_exc_active
+ %f7_pending.kind = load i32, ptr %f7_pending.cell
+ %f7_pending = icmp ne i32 %f7_pending.kind, 0
+ br i1 %f7_pending, label %done, label %f7_store
+f7_store:
+ %f7_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 10
+ %f7_old = load ptr, ptr %f7_ptr
+ store ptr %f7_next, ptr %f7_ptr
+ call void @sc_rrelease_r1(ptr %f7_old)
+ br label %f7_after
+f7_after:
+ %f8_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4191962028163388, i64 10)
+ %f8_missing = icmp eq ptr %f8_raw, null
+ %f8_undef = call ptr @scr_dyn_undefined()
+ %f8_input = select i1 %f8_missing, ptr %f8_undef, ptr %f8_raw
+ %f8_next = call zeroext i1 @sc_dc_3(ptr %f8_input, ptr null)
+ %f8_pending.cell = load ptr, ptr @scr_exc_active
+ %f8_pending.kind = load i32, ptr %f8_pending.cell
+ %f8_pending = icmp ne i32 %f8_pending.kind, 0
+ br i1 %f8_pending, label %done, label %f8_store
+f8_store:
+ %f8_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 11
+ %f8_old = load i8, ptr %f8_ptr
+ %f8_stored = zext i1 %f8_next to i8
+ store i8 %f8_stored, ptr %f8_ptr
+ br label %f8_after
+f8_after:
+ %f9_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2098081682588801, i64 4)
+ %f9_missing = icmp eq ptr %f9_raw, null
+ %f9_undef = call ptr @scr_dyn_undefined()
+ %f9_input = select i1 %f9_missing, ptr %f9_undef, ptr %f9_raw
+ %f9_next = call ptr @sc_dc_7(ptr %f9_input, ptr null)
+ %f9_pending.cell = load ptr, ptr @scr_exc_active
+ %f9_pending.kind = load i32, ptr %f9_pending.cell
+ %f9_pending = icmp ne i32 %f9_pending.kind, 0
+ br i1 %f9_pending, label %done, label %f9_store
+f9_store:
+ %f9_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 12
+ %f9_old = load ptr, ptr %f9_ptr
+ store ptr %f9_next, ptr %f9_ptr
+ call void @sc_rrelease_r2(ptr %f9_old)
+ br label %f9_after
+f9_after:
+ %f10_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4448851817182856, i64 8)
+ %f10_missing = icmp eq ptr %f10_raw, null
+ %f10_undef = call ptr @scr_dyn_undefined()
+ %f10_input = select i1 %f10_missing, ptr %f10_undef, ptr %f10_raw
+ %f10_next = call zeroext i1 @sc_dc_3(ptr %f10_input, ptr null)
+ %f10_pending.cell = load ptr, ptr @scr_exc_active
+ %f10_pending.kind = load i32, ptr %f10_pending.cell
+ %f10_pending = icmp ne i32 %f10_pending.kind, 0
+ br i1 %f10_pending, label %done, label %f10_store
+f10_store:
+ %f10_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 13
+ %f10_old = load i8, ptr %f10_ptr
+ %f10_stored = zext i1 %f10_next to i8
+ store i8 %f10_stored, ptr %f10_ptr
+ br label %f10_after
+f10_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_FetchResponseSink(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_127274431826284, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_3231205774586710, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_538032548850790, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_4231320391602270, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2537232771826273, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_2163543391075186, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key5)
+ %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_1579912071364319, i64 11)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key6)
+ %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_1640919894513317, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key7)
+ %bag_key8 = call ptr @scr_str_new(ptr @sc_cs_4191962028163388, i64 10)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key8, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key8)
+ %bag_key9 = call ptr @scr_str_new(ptr @sc_cs_2098081682588801, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key9, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key9)
+ %bag_key10 = call ptr @scr_str_new(ptr @sc_cs_4448851817182856, i64 8)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key10, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key10)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_5_materialize(ptr %p) #0 { ; materialize live stream value object:%m2.FetchResponseSink
+entry:
+ %t0 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0
+ %t3 = load i64, ptr %t2
+ %t4 = icmp eq i64 %t3, 18
+ br i1 %t4, label %class.derived0, label %class.next1
+class.derived0:
+ %t5 = call ptr @sc_ldr_1_materialize(ptr %p)
+ ret ptr %t5
+class.next1:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t9 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %p)
+ %t7 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_FetchResponseSink(ptr %t9)
+ %t8 = call ptr @scr_dyn_set_prototype(ptr %t6, ptr %t7)
+ call void @scr_dyn_release_v(ptr %t7)
+ call void @scr_dyn_release_v(ptr %t8)
+ %t10 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 3
+ %t11 = load double, ptr %t10
+ %t12 = call ptr @sc_td_2(double %t11)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_127274431826284, i64 6, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 4
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_3231205774586710, i64 7, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 5
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t17, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t18, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_538032548850790, i64 7, ptr %t18)
+ %t19 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 6
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t20, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t21, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_4231320391602270, i64 7, ptr %t21)
+ %t22 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 7
+ %t23 = load ptr, ptr %t22
+ %t24 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t23, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t24, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_2537232771826273, i64 6, ptr %t24)
+ %t25 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 8
+ %t26 = load i8, ptr %t25
+ %t27 = trunc i8 %t26 to i1
+ %t28 = call ptr @sc_td_3(i1 %t27)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_2163543391075186, i64 4, ptr %t28)
+ %t29 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 9
+ %t30 = load i8, ptr %t29
+ %t31 = trunc i8 %t30 to i1
+ %t32 = call ptr @sc_td_3(i1 %t31)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_1579912071364319, i64 11, ptr %t32)
+ %t33 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 10
+ %t34 = load ptr, ptr %t33
+ %t35 = call ptr @sc_ldu_0(ptr %t34)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_1640919894513317, i64 7, ptr %t35)
+ %t36 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 11
+ %t37 = load i8, ptr %t36
+ %t38 = trunc i8 %t37 to i1
+ %t39 = call ptr @sc_td_3(i1 %t38)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_4191962028163388, i64 10, ptr %t39)
+ %t40 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 12
+ %t41 = load ptr, ptr %t40
+ %t42 = call ptr @sc_ldu_1(ptr %t41)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_2098081682588801, i64 4, ptr %t42)
+ %t43 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 13
+ %t44 = load i8, ptr %t43
+ %t45 = trunc i8 %t44 to i1
+ %t46 = call ptr @sc_td_3(i1 %t45)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_4448851817182856, i64 8, ptr %t46)
+ %t47 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %p, i64 0, i32 2
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @scr_dyn_copy_property_descriptors(ptr %t6, ptr %t48)
+ call void @scr_dyn_release_v(ptr %t49)
+ ret ptr %t6
+}
+
+define internal void @sc_ldr_6_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m2.NodeResponseSink
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1951312618348557, i64 3)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_11(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %target, i64 0, i32 3
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_http_res_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3621289080171698, i64 7)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call double @sc_dc_2(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %target, i64 0, i32 4
+ %f1_old = load double, ptr %f1_ptr
+ store double %f1_next, ptr %f1_ptr
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3953364176447457, i64 4)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_13(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %target, i64 0, i32 5
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @sc_rrelease_r0(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_NodeResponseSink(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1951312618348557, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_3621289080171698, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_3953364176447457, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_7_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r0
+entry:
+ %next = call ptr @sc_dc_13(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r0, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r0, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; [key: string] overflow
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ call void @sc_rrelease_r0(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_7_materialize(ptr %p) #0 { ; materialize live stream value record:r0
+entry:
+ %t0 = call ptr @sc_td_8(ptr %p)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_6_materialize(ptr %p) #0 { ; materialize live stream value object:%m2.NodeResponseSink
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_NodeResponseSink(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %p, i64 0, i32 3
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_7(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1951312618348557, i64 3, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %p, i64 0, i32 4
+ %t8 = load double, ptr %t7
+ %t9 = call ptr @sc_td_2(double %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3621289080171698, i64 7, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %p, i64 0, i32 5
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3953364176447457, i64 4, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %p, i64 0, i32 2
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t14)
+ call void @scr_dyn_release_v(ptr %t15)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_0_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m2.ResponseSink
+entry:
+ %derived_vt_slot = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %target, i64 0, i32 1
+ %derived_vt = load ptr, ptr %derived_vt_slot
+ %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0
+ %derived_pre = load i64, ptr %derived_pre_slot
+ %derived0 = icmp eq i64 %derived_pre, 18
+ br i1 %derived0, label %derived0_commit, label %derived0_next
+derived0_commit:
+ call void @sc_ldr_1_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived0_next:
+ %derived1 = icmp eq i64 %derived_pre, 17
+ br i1 %derived1, label %derived1_commit, label %derived1_next
+derived1_commit:
+ call void @sc_ldr_5_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived1_next:
+ %derived2 = icmp eq i64 %derived_pre, 16
+ br i1 %derived2, label %derived2_commit, label %derived2_next
+derived2_commit:
+ call void @sc_ldr_6_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived2_next:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m2_ResponseSink(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_ResponseSink(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_0_materialize(ptr %p) #0 { ; materialize live stream value object:%m2.ResponseSink
+entry:
+ %t0 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %p, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0
+ %t3 = load i64, ptr %t2
+ %t4 = icmp eq i64 %t3, 18
+ br i1 %t4, label %class.derived0, label %class.next1
+class.derived0:
+ %t5 = call ptr @sc_ldr_1_materialize(ptr %p)
+ ret ptr %t5
+class.next1:
+ %t6 = icmp eq i64 %t3, 17
+ br i1 %t6, label %class.derived2, label %class.next3
+class.derived2:
+ %t7 = call ptr @sc_ldr_5_materialize(ptr %p)
+ ret ptr %t7
+class.next3:
+ %t8 = icmp eq i64 %t3, 16
+ br i1 %t8, label %class.derived4, label %class.next5
+class.derived4:
+ %t9 = call ptr @sc_ldr_6_materialize(ptr %p)
+ ret ptr %t9
+class.next5:
+ %t10 = call ptr @scr_dyn_new_obj()
+ %t13 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %p)
+ %t11 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_ResponseSink(ptr %t13)
+ %t12 = call ptr @scr_dyn_set_prototype(ptr %t10, ptr %t11)
+ call void @scr_dyn_release_v(ptr %t11)
+ call void @scr_dyn_release_v(ptr %t12)
+ %t14 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %p, i64 0, i32 2
+ %t15 = load ptr, ptr %t14
+ %t16 = call ptr @scr_dyn_copy_property_descriptors(ptr %t10, ptr %t15)
+ call void @scr_dyn_release_v(ptr %t16)
+ ret ptr %t10
+}
+
+define internal void @sc_ldr_8_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.ReqViewCore
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1287587581000978, i64 4)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_15(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 1
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_union_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1774444802243527, i64 4)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_6(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 2
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @sc_rc_release_dyn(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_964469684973146, i64 8)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_13(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 3
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @sc_rrelease_r0(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1867568051177534, i64 16)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call ptr @sc_dc_17(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 4
+ %f3_old = load ptr, ptr %f3_ptr
+ store ptr %f3_next, ptr %f3_ptr
+ call void @sc_rrelease_r3(ptr %f3_old)
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1609576561362083, i64 6)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call ptr @sc_dc_0(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 5
+ %f4_old = load ptr, ptr %f4_ptr
+ store ptr %f4_next, ptr %f4_ptr
+ call void @scr_str_release(ptr %f4_old)
+ br label %f4_after
+f4_after:
+ %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_719487464480143, i64 3)
+ %f5_missing = icmp eq ptr %f5_raw, null
+ %f5_undef = call ptr @scr_dyn_undefined()
+ %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw
+ %f5_next = call ptr @sc_dc_0(ptr %f5_input, ptr null)
+ %f5_pending.cell = load ptr, ptr @scr_exc_active
+ %f5_pending.kind = load i32, ptr %f5_pending.cell
+ %f5_pending = icmp ne i32 %f5_pending.kind, 0
+ br i1 %f5_pending, label %done, label %f5_store
+f5_store:
+ %f5_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 6
+ %f5_old = load ptr, ptr %f5_ptr
+ store ptr %f5_next, ptr %f5_ptr
+ call void @scr_str_release(ptr %f5_old)
+ br label %f5_after
+f5_after:
+ %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2826818497658723, i64 4)
+ %f6_missing = icmp eq ptr %f6_raw, null
+ %f6_undef = call ptr @scr_dyn_undefined()
+ %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw
+ %f6_next = call ptr @sc_dc_0(ptr %f6_input, ptr null)
+ %f6_pending.cell = load ptr, ptr @scr_exc_active
+ %f6_pending.kind = load i32, ptr %f6_pending.cell
+ %f6_pending = icmp ne i32 %f6_pending.kind, 0
+ br i1 %f6_pending, label %done, label %f6_store
+f6_store:
+ %f6_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 7
+ %f6_old = load ptr, ptr %f6_ptr
+ store ptr %f6_next, ptr %f6_ptr
+ call void @scr_str_release(ptr %f6_old)
+ br label %f6_after
+f6_after:
+ %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2528619671045714, i64 3)
+ %f7_missing = icmp eq ptr %f7_raw, null
+ %f7_undef = call ptr @scr_dyn_undefined()
+ %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw
+ %f7_next = call ptr @sc_dc_0(ptr %f7_input, ptr null)
+ %f7_pending.cell = load ptr, ptr @scr_exc_active
+ %f7_pending.kind = load i32, ptr %f7_pending.cell
+ %f7_pending = icmp ne i32 %f7_pending.kind, 0
+ br i1 %f7_pending, label %done, label %f7_store
+f7_store:
+ %f7_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 8
+ %f7_old = load ptr, ptr %f7_ptr
+ store ptr %f7_next, ptr %f7_ptr
+ call void @scr_str_release(ptr %f7_old)
+ br label %f7_after
+f7_after:
+ %f8_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4247546884021115, i64 3)
+ %f8_missing = icmp eq ptr %f8_raw, null
+ %f8_undef = call ptr @scr_dyn_undefined()
+ %f8_input = select i1 %f8_missing, ptr %f8_undef, ptr %f8_raw
+ %f8_next = call ptr @sc_dc_18(ptr %f8_input, ptr null)
+ %f8_pending.cell = load ptr, ptr @scr_exc_active
+ %f8_pending.kind = load i32, ptr %f8_pending.cell
+ %f8_pending = icmp ne i32 %f8_pending.kind, 0
+ br i1 %f8_pending, label %done, label %f8_store
+f8_store:
+ %f8_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 9
+ %f8_old = load ptr, ptr %f8_ptr
+ store ptr %f8_next, ptr %f8_ptr
+ call void @scr_arr_release(ptr %f8_old)
+ br label %f8_after
+f8_after:
+ %f9_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3282989543243776, i64 3)
+ %f9_missing = icmp eq ptr %f9_raw, null
+ %f9_undef = call ptr @scr_dyn_undefined()
+ %f9_input = select i1 %f9_missing, ptr %f9_undef, ptr %f9_raw
+ %f9_next = call ptr @sc_dc_18(ptr %f9_input, ptr null)
+ %f9_pending.cell = load ptr, ptr @scr_exc_active
+ %f9_pending.kind = load i32, ptr %f9_pending.cell
+ %f9_pending = icmp ne i32 %f9_pending.kind, 0
+ br i1 %f9_pending, label %done, label %f9_store
+f9_store:
+ %f9_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 10
+ %f9_old = load ptr, ptr %f9_ptr
+ store ptr %f9_next, ptr %f9_ptr
+ call void @scr_arr_release(ptr %f9_old)
+ br label %f9_after
+f9_after:
+ %f10_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_886324725696546, i64 3)
+ %f10_missing = icmp eq ptr %f10_raw, null
+ %f10_undef = call ptr @scr_dyn_undefined()
+ %f10_input = select i1 %f10_missing, ptr %f10_undef, ptr %f10_raw
+ %f10_next = call ptr @sc_dc_1(ptr %f10_input, ptr null)
+ %f10_pending.cell = load ptr, ptr @scr_exc_active
+ %f10_pending.kind = load i32, ptr %f10_pending.cell
+ %f10_pending = icmp ne i32 %f10_pending.kind, 0
+ br i1 %f10_pending, label %done, label %f10_store
+f10_store:
+ %f10_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 11
+ %f10_old = load ptr, ptr %f10_ptr
+ store ptr %f10_next, ptr %f10_ptr
+ call void @scr_arr_release(ptr %f10_old)
+ br label %f10_after
+f10_after:
+ %f11_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_535630044833136, i64 3)
+ %f11_missing = icmp eq ptr %f11_raw, null
+ %f11_undef = call ptr @scr_dyn_undefined()
+ %f11_input = select i1 %f11_missing, ptr %f11_undef, ptr %f11_raw
+ %f11_next = call ptr @sc_dc_19(ptr %f11_input, ptr null)
+ %f11_pending.cell = load ptr, ptr @scr_exc_active
+ %f11_pending.kind = load i32, ptr %f11_pending.cell
+ %f11_pending = icmp ne i32 %f11_pending.kind, 0
+ br i1 %f11_pending, label %done, label %f11_store
+f11_store:
+ %f11_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 12
+ %f11_old = load ptr, ptr %f11_ptr
+ store ptr %f11_next, ptr %f11_ptr
+ call void @scr_arr_release(ptr %f11_old)
+ br label %f11_after
+f11_after:
+ %f12_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4400741686745380, i64 3)
+ %f12_missing = icmp eq ptr %f12_raw, null
+ %f12_undef = call ptr @scr_dyn_undefined()
+ %f12_input = select i1 %f12_missing, ptr %f12_undef, ptr %f12_raw
+ %f12_next = call double @sc_dc_2(ptr %f12_input, ptr null)
+ %f12_pending.cell = load ptr, ptr @scr_exc_active
+ %f12_pending.kind = load i32, ptr %f12_pending.cell
+ %f12_pending = icmp ne i32 %f12_pending.kind, 0
+ br i1 %f12_pending, label %done, label %f12_store
+f12_store:
+ %f12_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 13
+ %f12_old = load double, ptr %f12_ptr
+ store double %f12_next, ptr %f12_ptr
+ br label %f12_after
+f12_after:
+ %f13_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4347805238344460, i64 5)
+ %f13_missing = icmp eq ptr %f13_raw, null
+ %f13_undef = call ptr @scr_dyn_undefined()
+ %f13_input = select i1 %f13_missing, ptr %f13_undef, ptr %f13_raw
+ %f13_next = call ptr @sc_dc_0(ptr %f13_input, ptr null)
+ %f13_pending.cell = load ptr, ptr @scr_exc_active
+ %f13_pending.kind = load i32, ptr %f13_pending.cell
+ %f13_pending = icmp ne i32 %f13_pending.kind, 0
+ br i1 %f13_pending, label %done, label %f13_store
+f13_store:
+ %f13_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 14
+ %f13_old = load ptr, ptr %f13_ptr
+ store ptr %f13_next, ptr %f13_ptr
+ call void @scr_str_release(ptr %f13_old)
+ br label %f13_after
+f13_after:
+ %f14_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3191748704064557, i64 8)
+ %f14_missing = icmp eq ptr %f14_raw, null
+ %f14_undef = call ptr @scr_dyn_undefined()
+ %f14_input = select i1 %f14_missing, ptr %f14_undef, ptr %f14_raw
+ %f14_next = call ptr @sc_dc_20(ptr %f14_input, ptr null)
+ %f14_pending.cell = load ptr, ptr @scr_exc_active
+ %f14_pending.kind = load i32, ptr %f14_pending.cell
+ %f14_pending = icmp ne i32 %f14_pending.kind, 0
+ br i1 %f14_pending, label %done, label %f14_store
+f14_store:
+ %f14_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 15
+ %f14_old = load ptr, ptr %f14_ptr
+ store ptr %f14_next, ptr %f14_ptr
+ call void @scr_arr_release(ptr %f14_old)
+ br label %f14_after
+f14_after:
+ %f15_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_232607068610214, i64 9)
+ %f15_missing = icmp eq ptr %f15_raw, null
+ %f15_undef = call ptr @scr_dyn_undefined()
+ %f15_input = select i1 %f15_missing, ptr %f15_undef, ptr %f15_raw
+ %f15_next = call ptr @sc_dc_1(ptr %f15_input, ptr null)
+ %f15_pending.cell = load ptr, ptr @scr_exc_active
+ %f15_pending.kind = load i32, ptr %f15_pending.cell
+ %f15_pending = icmp ne i32 %f15_pending.kind, 0
+ br i1 %f15_pending, label %done, label %f15_store
+f15_store:
+ %f15_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 16
+ %f15_old = load ptr, ptr %f15_ptr
+ store ptr %f15_next, ptr %f15_ptr
+ call void @scr_arr_release(ptr %f15_old)
+ br label %f15_after
+f15_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_ReqViewCore(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1287587581000978, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1774444802243527, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_964469684973146, i64 8)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_1867568051177534, i64 16)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_1609576561362083, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_719487464480143, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key5)
+ %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_2826818497658723, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key6)
+ %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_2528619671045714, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key7)
+ %bag_key8 = call ptr @scr_str_new(ptr @sc_cs_4247546884021115, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key8, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key8)
+ %bag_key9 = call ptr @scr_str_new(ptr @sc_cs_3282989543243776, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key9, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key9)
+ %bag_key10 = call ptr @scr_str_new(ptr @sc_cs_886324725696546, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key10, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key10)
+ %bag_key11 = call ptr @scr_str_new(ptr @sc_cs_535630044833136, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key11, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key11)
+ %bag_key12 = call ptr @scr_str_new(ptr @sc_cs_4400741686745380, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key12, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key12)
+ %bag_key13 = call ptr @scr_str_new(ptr @sc_cs_4347805238344460, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key13, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key13)
+ %bag_key14 = call ptr @scr_str_new(ptr @sc_cs_3191748704064557, i64 8)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key14, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key14)
+ %bag_key15 = call ptr @scr_str_new(ptr @sc_cs_232607068610214, i64 9)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key15, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key15)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %target, i64 0, i32 17
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_9_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r3
+entry:
+ %next = call ptr @sc_dc_17(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r3, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r3, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; [key: string] overflow
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ call void @sc_rrelease_r3(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_9_materialize(ptr %p) #0 { ; materialize live stream value record:r3
+entry:
+ %t0 = call ptr @sc_td_11(ptr %p)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldu_2(ptr %u) #0 { ; materialize live union value union:u9
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t0 = select i1 %t1, i32 1, i32 0
+ switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.ref1 i32 1, label %ldu.value2 ]
+ldu.ref1:
+ %t2 = call ptr @scr_dyn_new_typed_ref_observed(ptr %u, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t2, ptr @sc_ldr_2_materialize_ops)
+ ret ptr %t2
+ldu.value2:
+ %t3 = call ptr @scr_dyn_new_null()
+ ret ptr %t3
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal void @sc_ldr_10_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array
+entry:
+ %next = call ptr @sc_dc_19(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_10_materialize_get(ptr %p, double %i) #0 { ; live element of array
+entry:
+ %t0 = call double @scr_arr_get_f64(ptr %p, double %i)
+ %t1 = call ptr @sc_td_2(double %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_10_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array
+entry:
+ %t0 = call zeroext i1 @sc_dm_2(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call double @sc_dc_2(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_f64(ptr %p, double %i, double %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_10_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_10_materialize_get, ptr @sc_ldr_10_materialize_set }
+
+define internal ptr @sc_ldr_10_materialize(ptr %p) #0 { ; materialize live stream value array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call double @scr_arr_get_f64(ptr %p, double %t3)
+ %t11 = call ptr @sc_td_2(double %t10)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_11_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array
+entry:
+ %next = call ptr @sc_dc_20(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_12_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.UploadedFile
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3392166625234189, i64 5)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 1
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_str_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4388468866828680, i64 8)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 2
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_str_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_595629019077013, i64 8)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_0(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 3
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @scr_str_release(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3603975379547098, i64 4)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call double @sc_dc_2(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 4
+ %f3_old = load double, ptr %f3_ptr
+ store double %f3_next, ptr %f3_ptr
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2826818497658723, i64 4)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call ptr @sc_dc_22(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 5
+ %f4_old = load ptr, ptr %f4_ptr
+ store ptr %f4_next, ptr %f4_ptr
+ call void @scr_str_release(ptr %f4_old)
+ br label %f4_after
+f4_after:
+ %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_693828840439997, i64 5)
+ %f5_missing = icmp eq ptr %f5_raw, null
+ %f5_undef = call ptr @scr_dyn_undefined()
+ %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw
+ %f5_next = call ptr @sc_dc_23(ptr %f5_input, ptr null)
+ %f5_pending.cell = load ptr, ptr @scr_exc_active
+ %f5_pending.kind = load i32, ptr %f5_pending.cell
+ %f5_pending = icmp ne i32 %f5_pending.kind, 0
+ br i1 %f5_pending, label %done, label %f5_store
+f5_store:
+ %f5_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 6
+ %f5_old = load ptr, ptr %f5_ptr
+ store ptr %f5_next, ptr %f5_ptr
+ call void @scr_union_release(ptr %f5_old)
+ br label %f5_after
+f5_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3392166625234189, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_4388468866828680, i64 8)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_595629019077013, i64 8)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_3603975379547098, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2826818497658723, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_693828840439997, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key5)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %target, i64 0, i32 7
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+@sc_ldr_12_materialize_cnames = internal constant [1 x ptr] [ptr @sc_lit_4006719217465510]
+@sc_ldr_12_materialize_cops = internal constant { ptr, i64, ptr, ptr } { ptr null, i64 1, ptr @sc_ldr_12_materialize_cnames, ptr @sc_lit_2855033600191636 }
+
+define internal ptr @sc_ldu_3(ptr %u) #0 { ; materialize live union value union:u1
+entry:
+ %t1 = getelementptr inbounds %ScrUnion, ptr %u, i64 0, i32 1
+ %t0 = load i32, ptr %t1
+ switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.value1 i32 1, label %ldu.value2 ]
+ldu.value1:
+ %t2 = getelementptr inbounds %ScrUnion, ptr %u, i64 0, i32 5
+ %t3 = load ptr, ptr %t2
+ %t4 = call ptr @sc_td_1(ptr %t3)
+ ret ptr %t4
+ldu.value2:
+ %t5 = call ptr @scr_dyn_new_null()
+ ret ptr %t5
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal ptr @sc_ldr_12_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.UploadedFile
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3392166625234189, i64 5, ptr %t3)
+ %t4 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 2
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4388468866828680, i64 8, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 3
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_595629019077013, i64 8, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 4
+ %t11 = load double, ptr %t10
+ %t12 = call ptr @sc_td_2(double %t11)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3603975379547098, i64 4, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 5
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_td_13(ptr %t14)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2826818497658723, i64 4, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 6
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @sc_ldu_3(ptr %t17)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_693828840439997, i64 5, ptr %t18)
+ %t19 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %p, i64 0, i32 7
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t20)
+ call void @scr_dyn_release_v(ptr %t21)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_11_materialize_get(ptr %p, double %i) #0 { ; live element of array
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t0, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_cs_4408523527888294, i64 23, ptr @sc_ldr_12_materialize, ptr @sc_ldr_12_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t1, ptr @sc_ldr_12_materialize_cops)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_11_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array
+entry:
+ %t0 = call zeroext i1 @sc_dm_11(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_21(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_11_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_11_materialize_get, ptr @sc_ldr_11_materialize_set }
+
+define internal ptr @sc_ldr_11_materialize(ptr %p) #0 { ; materialize live stream value array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t10, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_cs_4408523527888294, i64 23, ptr @sc_ldr_12_materialize, ptr @sc_ldr_12_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t11, ptr @sc_ldr_12_materialize_cops)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_8_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.ReqViewCore
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_ReqViewCore(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_9(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1287587581000978, i64 4, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_4(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1774444802243527, i64 4, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 3
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_964469684973146, i64 8, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 4
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @sc_rretain_r3, ptr @sc_rrelease_r3, ptr @sc_cs_4113144339560478, i64 9, ptr @sc_ldr_9_materialize, ptr @sc_ldr_9_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1867568051177534, i64 16, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 5
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @sc_td_0(ptr %t17)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1609576561362083, i64 6, ptr %t18)
+ %t19 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 6
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @sc_td_0(ptr %t20)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_719487464480143, i64 3, ptr %t21)
+ %t22 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 7
+ %t23 = load ptr, ptr %t22
+ %t24 = call ptr @sc_td_0(ptr %t23)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2826818497658723, i64 4, ptr %t24)
+ %t25 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 8
+ %t26 = load ptr, ptr %t25
+ %t27 = call ptr @sc_td_0(ptr %t26)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2528619671045714, i64 3, ptr %t27)
+ %t28 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 9
+ %t29 = load ptr, ptr %t28
+ %t30 = call ptr @sc_ldu_2(ptr %t29)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4247546884021115, i64 3, ptr %t30)
+ %t31 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 10
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_ldu_2(ptr %t32)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3282989543243776, i64 3, ptr %t33)
+ %t34 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 11
+ %t35 = load ptr, ptr %t34
+ %t36 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t35, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t36, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_886324725696546, i64 3, ptr %t36)
+ %t37 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 12
+ %t38 = load ptr, ptr %t37
+ %t39 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t38, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t39, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_535630044833136, i64 3, ptr %t39)
+ %t40 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 13
+ %t41 = load double, ptr %t40
+ %t42 = call ptr @sc_td_2(double %t41)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4400741686745380, i64 3, ptr %t42)
+ %t43 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 14
+ %t44 = load ptr, ptr %t43
+ %t45 = call ptr @sc_td_0(ptr %t44)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4347805238344460, i64 5, ptr %t45)
+ %t46 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 15
+ %t47 = load ptr, ptr %t46
+ %t48 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t47, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t48, ptr @sc_ldr_11_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3191748704064557, i64 8, ptr %t48)
+ %t49 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 16
+ %t50 = load ptr, ptr %t49
+ %t51 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t50, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t51, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_232607068610214, i64 9, ptr %t51)
+ %t52 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %p, i64 0, i32 17
+ %t53 = load ptr, ptr %t52
+ %t54 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t53)
+ call void @scr_dyn_release_v(ptr %t54)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_13_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.MultipartParser
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4331231100667432, i64 6)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 1
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_str_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1497623537730125, i64 6)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 2
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_str_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3626652862359804, i64 3)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call double @sc_dc_2(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 3
+ %f2_old = load double, ptr %f2_ptr
+ store double %f2_next, ptr %f2_ptr
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3767316427932713, i64 5)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call ptr @sc_dc_12(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 4
+ %f3_old = load ptr, ptr %f3_ptr
+ store ptr %f3_next, ptr %f3_ptr
+ call void @scr_bytes_release(ptr %f3_old)
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_270650669493903, i64 8)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call ptr @sc_dc_24(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 5
+ %f4_old = load ptr, ptr %f4_ptr
+ store ptr %f4_next, ptr %f4_ptr
+ call void @sc_release__x25_m4_MultipartStorage(ptr %f4_old)
+ br label %f4_after
+f4_after:
+ %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1904556107358822, i64 9)
+ %f5_missing = icmp eq ptr %f5_raw, null
+ %f5_undef = call ptr @scr_dyn_undefined()
+ %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw
+ %f5_next = call double @sc_dc_2(ptr %f5_input, ptr null)
+ %f5_pending.cell = load ptr, ptr @scr_exc_active
+ %f5_pending.kind = load i32, ptr %f5_pending.cell
+ %f5_pending = icmp ne i32 %f5_pending.kind, 0
+ br i1 %f5_pending, label %done, label %f5_store
+f5_store:
+ %f5_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 6
+ %f5_old = load double, ptr %f5_ptr
+ store double %f5_next, ptr %f5_ptr
+ br label %f5_after
+f5_after:
+ %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3347257245794453, i64 9)
+ %f6_missing = icmp eq ptr %f6_raw, null
+ %f6_undef = call ptr @scr_dyn_undefined()
+ %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw
+ %f6_next = call double @sc_dc_2(ptr %f6_input, ptr null)
+ %f6_pending.cell = load ptr, ptr @scr_exc_active
+ %f6_pending.kind = load i32, ptr %f6_pending.cell
+ %f6_pending = icmp ne i32 %f6_pending.kind, 0
+ br i1 %f6_pending, label %done, label %f6_store
+f6_store:
+ %f6_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 7
+ %f6_old = load double, ptr %f6_ptr
+ store double %f6_next, ptr %f6_ptr
+ br label %f6_after
+f6_after:
+ %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_51498970823486, i64 10)
+ %f7_missing = icmp eq ptr %f7_raw, null
+ %f7_undef = call ptr @scr_dyn_undefined()
+ %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw
+ %f7_next = call double @sc_dc_2(ptr %f7_input, ptr null)
+ %f7_pending.cell = load ptr, ptr @scr_exc_active
+ %f7_pending.kind = load i32, ptr %f7_pending.cell
+ %f7_pending = icmp ne i32 %f7_pending.kind, 0
+ br i1 %f7_pending, label %done, label %f7_store
+f7_store:
+ %f7_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 8
+ %f7_old = load double, ptr %f7_ptr
+ store double %f7_next, ptr %f7_ptr
+ br label %f7_after
+f7_after:
+ %f8_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3871774119671975, i64 5)
+ %f8_missing = icmp eq ptr %f8_raw, null
+ %f8_undef = call ptr @scr_dyn_undefined()
+ %f8_input = select i1 %f8_missing, ptr %f8_undef, ptr %f8_raw
+ %f8_next = call zeroext i1 @sc_dc_3(ptr %f8_input, ptr null)
+ %f8_pending.cell = load ptr, ptr @scr_exc_active
+ %f8_pending.kind = load i32, ptr %f8_pending.cell
+ %f8_pending = icmp ne i32 %f8_pending.kind, 0
+ br i1 %f8_pending, label %done, label %f8_store
+f8_store:
+ %f8_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 9
+ %f8_old = load i8, ptr %f8_ptr
+ %f8_stored = zext i1 %f8_next to i8
+ store i8 %f8_stored, ptr %f8_ptr
+ br label %f8_after
+f8_after:
+ %f9_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1511541293423217, i64 7)
+ %f9_missing = icmp eq ptr %f9_raw, null
+ %f9_undef = call ptr @scr_dyn_undefined()
+ %f9_input = select i1 %f9_missing, ptr %f9_undef, ptr %f9_raw
+ %f9_next = call zeroext i1 @sc_dc_3(ptr %f9_input, ptr null)
+ %f9_pending.cell = load ptr, ptr @scr_exc_active
+ %f9_pending.kind = load i32, ptr %f9_pending.cell
+ %f9_pending = icmp ne i32 %f9_pending.kind, 0
+ br i1 %f9_pending, label %done, label %f9_store
+f9_store:
+ %f9_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 10
+ %f9_old = load i8, ptr %f9_ptr
+ %f9_stored = zext i1 %f9_next to i8
+ store i8 %f9_stored, ptr %f9_ptr
+ br label %f9_after
+f9_after:
+ %f10_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3537803200604019, i64 6)
+ %f10_missing = icmp eq ptr %f10_raw, null
+ %f10_undef = call ptr @scr_dyn_undefined()
+ %f10_input = select i1 %f10_missing, ptr %f10_undef, ptr %f10_raw
+ %f10_next = call ptr @sc_dc_0(ptr %f10_input, ptr null)
+ %f10_pending.cell = load ptr, ptr @scr_exc_active
+ %f10_pending.kind = load i32, ptr %f10_pending.cell
+ %f10_pending = icmp ne i32 %f10_pending.kind, 0
+ br i1 %f10_pending, label %done, label %f10_store
+f10_store:
+ %f10_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 11
+ %f10_old = load ptr, ptr %f10_ptr
+ store ptr %f10_next, ptr %f10_ptr
+ call void @scr_str_release(ptr %f10_old)
+ br label %f10_after
+f10_after:
+ %f11_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2438149604853393, i64 9)
+ %f11_missing = icmp eq ptr %f11_raw, null
+ %f11_undef = call ptr @scr_dyn_undefined()
+ %f11_input = select i1 %f11_missing, ptr %f11_undef, ptr %f11_raw
+ %f11_next = call ptr @sc_dc_0(ptr %f11_input, ptr null)
+ %f11_pending.cell = load ptr, ptr @scr_exc_active
+ %f11_pending.kind = load i32, ptr %f11_pending.cell
+ %f11_pending = icmp ne i32 %f11_pending.kind, 0
+ br i1 %f11_pending, label %done, label %f11_store
+f11_store:
+ %f11_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 12
+ %f11_old = load ptr, ptr %f11_ptr
+ store ptr %f11_next, ptr %f11_ptr
+ call void @scr_str_release(ptr %f11_old)
+ br label %f11_after
+f11_after:
+ %f12_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_87265031005560, i64 5)
+ %f12_missing = icmp eq ptr %f12_raw, null
+ %f12_undef = call ptr @scr_dyn_undefined()
+ %f12_input = select i1 %f12_missing, ptr %f12_undef, ptr %f12_raw
+ %f12_next = call ptr @sc_dc_0(ptr %f12_input, ptr null)
+ %f12_pending.cell = load ptr, ptr @scr_exc_active
+ %f12_pending.kind = load i32, ptr %f12_pending.cell
+ %f12_pending = icmp ne i32 %f12_pending.kind, 0
+ br i1 %f12_pending, label %done, label %f12_store
+f12_store:
+ %f12_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 13
+ %f12_old = load ptr, ptr %f12_ptr
+ store ptr %f12_next, ptr %f12_ptr
+ call void @scr_str_release(ptr %f12_old)
+ br label %f12_after
+f12_after:
+ %f13_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2620371357038102, i64 5)
+ %f13_missing = icmp eq ptr %f13_raw, null
+ %f13_undef = call ptr @scr_dyn_undefined()
+ %f13_input = select i1 %f13_missing, ptr %f13_undef, ptr %f13_raw
+ %f13_next = call ptr @sc_dc_25(ptr %f13_input, ptr null)
+ %f13_pending.cell = load ptr, ptr @scr_exc_active
+ %f13_pending.kind = load i32, ptr %f13_pending.cell
+ %f13_pending = icmp ne i32 %f13_pending.kind, 0
+ br i1 %f13_pending, label %done, label %f13_store
+f13_store:
+ %f13_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 14
+ %f13_old = load ptr, ptr %f13_ptr
+ store ptr %f13_next, ptr %f13_ptr
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %f13_old)
+ br label %f13_after
+f13_after:
+ %f14_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1445273163400741, i64 7)
+ %f14_missing = icmp eq ptr %f14_raw, null
+ %f14_undef = call ptr @scr_dyn_undefined()
+ %f14_input = select i1 %f14_missing, ptr %f14_undef, ptr %f14_raw
+ %f14_next = call ptr @sc_dc_27(ptr %f14_input, ptr null)
+ %f14_pending.cell = load ptr, ptr @scr_exc_active
+ %f14_pending.kind = load i32, ptr %f14_pending.cell
+ %f14_pending = icmp ne i32 %f14_pending.kind, 0
+ br i1 %f14_pending, label %done, label %f14_store
+f14_store:
+ %f14_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 15
+ %f14_old = load ptr, ptr %f14_ptr
+ store ptr %f14_next, ptr %f14_ptr
+ call void @scr_arr_release(ptr %f14_old)
+ br label %f14_after
+f14_after:
+ %f15_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3078220272172636, i64 6)
+ %f15_missing = icmp eq ptr %f15_raw, null
+ %f15_undef = call ptr @scr_dyn_undefined()
+ %f15_input = select i1 %f15_missing, ptr %f15_undef, ptr %f15_raw
+ %f15_next = call double @sc_dc_2(ptr %f15_input, ptr null)
+ %f15_pending.cell = load ptr, ptr @scr_exc_active
+ %f15_pending.kind = load i32, ptr %f15_pending.cell
+ %f15_pending = icmp ne i32 %f15_pending.kind, 0
+ br i1 %f15_pending, label %done, label %f15_store
+f15_store:
+ %f15_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 16
+ %f15_old = load double, ptr %f15_ptr
+ store double %f15_next, ptr %f15_ptr
+ br label %f15_after
+f15_after:
+ %f16_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3003865410260240, i64 7)
+ %f16_missing = icmp eq ptr %f16_raw, null
+ %f16_undef = call ptr @scr_dyn_undefined()
+ %f16_input = select i1 %f16_missing, ptr %f16_undef, ptr %f16_raw
+ %f16_next = call double @sc_dc_2(ptr %f16_input, ptr null)
+ %f16_pending.cell = load ptr, ptr @scr_exc_active
+ %f16_pending.kind = load i32, ptr %f16_pending.cell
+ %f16_pending = icmp ne i32 %f16_pending.kind, 0
+ br i1 %f16_pending, label %done, label %f16_store
+f16_store:
+ %f16_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 17
+ %f16_old = load double, ptr %f16_ptr
+ store double %f16_next, ptr %f16_ptr
+ br label %f16_after
+f16_after:
+ %f17_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3833663445821831, i64 3)
+ %f17_missing = icmp eq ptr %f17_raw, null
+ %f17_undef = call ptr @scr_dyn_undefined()
+ %f17_input = select i1 %f17_missing, ptr %f17_undef, ptr %f17_raw
+ %f17_next = call double @sc_dc_2(ptr %f17_input, ptr null)
+ %f17_pending.cell = load ptr, ptr @scr_exc_active
+ %f17_pending.kind = load i32, ptr %f17_pending.cell
+ %f17_pending = icmp ne i32 %f17_pending.kind, 0
+ br i1 %f17_pending, label %done, label %f17_store
+f17_store:
+ %f17_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 18
+ %f17_old = load double, ptr %f17_ptr
+ store double %f17_next, ptr %f17_ptr
+ br label %f17_after
+f17_after:
+ %f18_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1081761464356753, i64 5)
+ %f18_missing = icmp eq ptr %f18_raw, null
+ %f18_undef = call ptr @scr_dyn_undefined()
+ %f18_input = select i1 %f18_missing, ptr %f18_undef, ptr %f18_raw
+ %f18_next = call ptr @sc_dc_20(ptr %f18_input, ptr null)
+ %f18_pending.cell = load ptr, ptr @scr_exc_active
+ %f18_pending.kind = load i32, ptr %f18_pending.cell
+ %f18_pending = icmp ne i32 %f18_pending.kind, 0
+ br i1 %f18_pending, label %done, label %f18_store
+f18_store:
+ %f18_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 19
+ %f18_old = load ptr, ptr %f18_ptr
+ store ptr %f18_next, ptr %f18_ptr
+ call void @scr_arr_release(ptr %f18_old)
+ br label %f18_after
+f18_after:
+ %f19_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3375901898269401, i64 6)
+ %f19_missing = icmp eq ptr %f19_raw, null
+ %f19_undef = call ptr @scr_dyn_undefined()
+ %f19_input = select i1 %f19_missing, ptr %f19_undef, ptr %f19_raw
+ %f19_next = call ptr @sc_dc_1(ptr %f19_input, ptr null)
+ %f19_pending.cell = load ptr, ptr @scr_exc_active
+ %f19_pending.kind = load i32, ptr %f19_pending.cell
+ %f19_pending = icmp ne i32 %f19_pending.kind, 0
+ br i1 %f19_pending, label %done, label %f19_store
+f19_store:
+ %f19_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 20
+ %f19_old = load ptr, ptr %f19_ptr
+ store ptr %f19_next, ptr %f19_ptr
+ call void @scr_arr_release(ptr %f19_old)
+ br label %f19_after
+f19_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m4_MultipartParser(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartParser(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_4331231100667432, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1497623537730125, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_3626652862359804, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_3767316427932713, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_270650669493903, i64 8)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_1904556107358822, i64 9)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key5)
+ %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_3347257245794453, i64 9)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key6)
+ %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_51498970823486, i64 10)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key7)
+ %bag_key8 = call ptr @scr_str_new(ptr @sc_cs_3871774119671975, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key8, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key8)
+ %bag_key9 = call ptr @scr_str_new(ptr @sc_cs_1511541293423217, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key9, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key9)
+ %bag_key10 = call ptr @scr_str_new(ptr @sc_cs_3537803200604019, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key10, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key10)
+ %bag_key11 = call ptr @scr_str_new(ptr @sc_cs_2438149604853393, i64 9)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key11, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key11)
+ %bag_key12 = call ptr @scr_str_new(ptr @sc_cs_87265031005560, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key12, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key12)
+ %bag_key13 = call ptr @scr_str_new(ptr @sc_cs_2620371357038102, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key13, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key13)
+ %bag_key14 = call ptr @scr_str_new(ptr @sc_cs_1445273163400741, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key14, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key14)
+ %bag_key15 = call ptr @scr_str_new(ptr @sc_cs_3078220272172636, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key15, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key15)
+ %bag_key16 = call ptr @scr_str_new(ptr @sc_cs_3003865410260240, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key16, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key16)
+ %bag_key17 = call ptr @scr_str_new(ptr @sc_cs_3833663445821831, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key17, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key17)
+ %bag_key18 = call ptr @scr_str_new(ptr @sc_cs_1081761464356753, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key18, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key18)
+ %bag_key19 = call ptr @scr_str_new(ptr @sc_cs_3375901898269401, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key19, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key19)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %target, i64 0, i32 21
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_15_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.DiskStorage
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_763389326065034, i64 3)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %target, i64 0, i32 3
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_str_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1254054277824995, i64 2)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call double @sc_dc_2(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %target, i64 0, i32 4
+ %f1_old = load double, ptr %f1_ptr
+ store double %f1_next, ptr %f1_ptr
+ br label %f1_after
+f1_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_763389326065034, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1254054277824995, i64 2)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+@sc_ldr_15_materialize_cnames = internal constant [2 x ptr] [ptr @sc_lit_4006719217465510, ptr @sc_lit_4062729090063393]
+@sc_ldr_15_materialize_cops = internal constant { ptr, i64, ptr, ptr } { ptr null, i64 2, ptr @sc_ldr_15_materialize_cnames, ptr @sc_lit_2124241381879535 }
+
+define internal ptr @sc_ldr_15_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.DiskStorage
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %p, i64 0, i32 3
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_763389326065034, i64 3, ptr %t3)
+ %t4 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %p, i64 0, i32 4
+ %t5 = load double, ptr %t4
+ %t6 = call ptr @sc_td_2(double %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1254054277824995, i64 2, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m4_DiskStorage, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t8)
+ call void @scr_dyn_release_v(ptr %t9)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_16_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.MemoryStorage
+entry:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryStorage(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_16_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.MemoryStorage
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryStorage(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %p, i64 0, i32 2
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t5)
+ call void @scr_dyn_release_v(ptr %t6)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_14_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.MultipartStorage
+entry:
+ %derived_vt_slot = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %target, i64 0, i32 1
+ %derived_vt = load ptr, ptr %derived_vt_slot
+ %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0
+ %derived_pre = load i64, ptr %derived_pre_slot
+ %derived0 = icmp eq i64 %derived_pre, 27
+ br i1 %derived0, label %derived0_commit, label %derived0_next
+derived0_commit:
+ call void @sc_ldr_15_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived0_next:
+ %derived1 = icmp eq i64 %derived_pre, 26
+ br i1 %derived1, label %derived1_commit, label %derived1_next
+derived1_commit:
+ call void @sc_ldr_16_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived1_next:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartStorage(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_14_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.MultipartStorage
+entry:
+ %t0 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %p, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0
+ %t3 = load i64, ptr %t2
+ %t4 = icmp eq i64 %t3, 27
+ br i1 %t4, label %class.derived0, label %class.next1
+class.derived0:
+ %t5 = call ptr @sc_ldr_15_materialize(ptr %p)
+ ret ptr %t5
+class.next1:
+ %t6 = icmp eq i64 %t3, 26
+ br i1 %t6, label %class.derived2, label %class.next3
+class.derived2:
+ %t7 = call ptr @sc_ldr_16_materialize(ptr %p)
+ ret ptr %t7
+class.next3:
+ %t8 = call ptr @scr_dyn_new_obj()
+ %t11 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %p)
+ %t9 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartStorage(ptr %t11)
+ %t10 = call ptr @scr_dyn_set_prototype(ptr %t8, ptr %t9)
+ call void @scr_dyn_release_v(ptr %t9)
+ call void @scr_dyn_release_v(ptr %t10)
+ %t12 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %p, i64 0, i32 2
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr @scr_dyn_copy_property_descriptors(ptr %t8, ptr %t13)
+ call void @scr_dyn_release_v(ptr %t14)
+ ret ptr %t8
+}
+
+define internal void @sc_ldr_18_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.DiskFileSink
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3537803200604019, i64 6)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 3
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_str_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2438149604853393, i64 9)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 4
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_str_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_87265031005560, i64 5)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_0(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 5
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @scr_str_release(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4397376455099734, i64 5)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call ptr @sc_dc_0(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 6
+ %f3_old = load ptr, ptr %f3_ptr
+ store ptr %f3_next, ptr %f3_ptr
+ call void @scr_str_release(ptr %f3_old)
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2167961197498268, i64 3)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call double @sc_dc_2(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 7
+ %f4_old = load double, ptr %f4_ptr
+ store double %f4_next, ptr %f4_ptr
+ br label %f4_after
+f4_after:
+ %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1008105371634015, i64 5)
+ %f5_missing = icmp eq ptr %f5_raw, null
+ %f5_undef = call ptr @scr_dyn_undefined()
+ %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw
+ %f5_next = call double @sc_dc_2(ptr %f5_input, ptr null)
+ %f5_pending.cell = load ptr, ptr @scr_exc_active
+ %f5_pending.kind = load i32, ptr %f5_pending.cell
+ %f5_pending = icmp ne i32 %f5_pending.kind, 0
+ br i1 %f5_pending, label %done, label %f5_store
+f5_store:
+ %f5_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 8
+ %f5_old = load double, ptr %f5_ptr
+ store double %f5_next, ptr %f5_ptr
+ br label %f5_after
+f5_after:
+ %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1440167436799276, i64 5)
+ %f6_missing = icmp eq ptr %f6_raw, null
+ %f6_undef = call ptr @scr_dyn_undefined()
+ %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw
+ %f6_next = call zeroext i1 @sc_dc_3(ptr %f6_input, ptr null)
+ %f6_pending.cell = load ptr, ptr @scr_exc_active
+ %f6_pending.kind = load i32, ptr %f6_pending.cell
+ %f6_pending = icmp ne i32 %f6_pending.kind, 0
+ br i1 %f6_pending, label %done, label %f6_store
+f6_store:
+ %f6_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 9
+ %f6_old = load i8, ptr %f6_ptr
+ %f6_stored = zext i1 %f6_next to i8
+ store i8 %f6_stored, ptr %f6_ptr
+ br label %f6_after
+f6_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3537803200604019, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_2438149604853393, i64 9)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_87265031005560, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_4397376455099734, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2167961197498268, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_1008105371634015, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key5)
+ %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_1440167436799276, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key6)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+@sc_ldr_18_materialize_cnames = internal constant [5 x ptr] [ptr @sc_lit_4006719217465510, ptr @sc_lit_298897322184109, ptr @sc_lit_952059176356082, ptr @sc_lit_1026109439396001, ptr @sc_lit_1048673592241930]
+@sc_ldr_18_materialize_cops = internal constant { ptr, i64, ptr, ptr } { ptr null, i64 5, ptr @sc_ldr_18_materialize_cnames, ptr @sc_lit_1045032922576089 }
+
+define internal ptr @sc_ldr_18_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.DiskFileSink
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 3
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3537803200604019, i64 6, ptr %t3)
+ %t4 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 4
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2438149604853393, i64 9, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 5
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_87265031005560, i64 5, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 6
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @sc_td_0(ptr %t11)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4397376455099734, i64 5, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 7
+ %t14 = load double, ptr %t13
+ %t15 = call ptr @sc_td_2(double %t14)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2167961197498268, i64 3, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 8
+ %t17 = load double, ptr %t16
+ %t18 = call ptr @sc_td_2(double %t17)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1008105371634015, i64 5, ptr %t18)
+ %t19 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 9
+ %t20 = load i8, ptr %t19
+ %t21 = trunc i8 %t20 to i1
+ %t22 = call ptr @sc_td_3(i1 %t21)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1440167436799276, i64 5, ptr %t22)
+ %t23 = getelementptr inbounds %sc_o__x25_m4_DiskFileSink, ptr %p, i64 0, i32 2
+ %t24 = load ptr, ptr %t23
+ %t25 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t24)
+ call void @scr_dyn_release_v(ptr %t25)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_19_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.MemoryFileSink
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3537803200604019, i64 6)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 3
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_str_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2438149604853393, i64 9)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 4
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_str_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_87265031005560, i64 5)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_0(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 5
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @scr_str_release(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_201462833315591, i64 7)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call ptr @sc_dc_27(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 6
+ %f3_old = load ptr, ptr %f3_ptr
+ store ptr %f3_next, ptr %f3_ptr
+ call void @scr_arr_release(ptr %f3_old)
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1008105371634015, i64 5)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call double @sc_dc_2(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 7
+ %f4_old = load double, ptr %f4_ptr
+ store double %f4_next, ptr %f4_ptr
+ br label %f4_after
+f4_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryFileSink(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3537803200604019, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_2438149604853393, i64 9)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_87265031005560, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_201462833315591, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_1008105371634015, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_20_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array>
+entry:
+ %next = call ptr @sc_dc_27(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_20_materialize_get(ptr %p, double %i) #0 { ; live element of array>
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @sc_td_1(ptr %t0)
+ call void @scr_bytes_release(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_20_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array>
+entry:
+ %t0 = call zeroext i1 @sc_dm_10(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_12(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_20_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_20_materialize_get, ptr @sc_ldr_20_materialize_set }
+
+define internal ptr @sc_ldr_20_materialize(ptr %p) #0 { ; materialize live stream value array>
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @sc_td_1(ptr %t10)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @scr_bytes_release(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_19_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.MemoryFileSink
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryFileSink(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 3
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3537803200604019, i64 6, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 4
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2438149604853393, i64 9, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 5
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @sc_td_0(ptr %t11)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_87265031005560, i64 5, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 6
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_20_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_201462833315591, i64 7, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 7
+ %t17 = load double, ptr %t16
+ %t18 = call ptr @sc_td_2(double %t17)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1008105371634015, i64 5, ptr %t18)
+ %t19 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %p, i64 0, i32 2
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t20)
+ call void @scr_dyn_release_v(ptr %t21)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_17_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m4.MultipartFileSink
+entry:
+ %derived_vt_slot = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %target, i64 0, i32 1
+ %derived_vt = load ptr, ptr %derived_vt_slot
+ %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0
+ %derived_pre = load i64, ptr %derived_pre_slot
+ %derived0 = icmp eq i64 %derived_pre, 24
+ br i1 %derived0, label %derived0_commit, label %derived0_next
+derived0_commit:
+ call void @sc_ldr_18_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived0_next:
+ %derived1 = icmp eq i64 %derived_pre, 23
+ br i1 %derived1, label %derived1_commit, label %derived1_next
+derived1_commit:
+ call void @sc_ldr_19_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived1_next:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartFileSink(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_17_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.MultipartFileSink
+entry:
+ %t0 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %p, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0
+ %t3 = load i64, ptr %t2
+ %t4 = icmp eq i64 %t3, 24
+ br i1 %t4, label %class.derived0, label %class.next1
+class.derived0:
+ %t5 = call ptr @sc_ldr_18_materialize(ptr %p)
+ ret ptr %t5
+class.next1:
+ %t6 = icmp eq i64 %t3, 23
+ br i1 %t6, label %class.derived2, label %class.next3
+class.derived2:
+ %t7 = call ptr @sc_ldr_19_materialize(ptr %p)
+ ret ptr %t7
+class.next3:
+ %t8 = call ptr @scr_dyn_new_obj()
+ %t11 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %p)
+ %t9 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartFileSink(ptr %t11)
+ %t10 = call ptr @scr_dyn_set_prototype(ptr %t8, ptr %t9)
+ call void @scr_dyn_release_v(ptr %t9)
+ call void @scr_dyn_release_v(ptr %t10)
+ %t12 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %p, i64 0, i32 2
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr @scr_dyn_copy_property_descriptors(ptr %t8, ptr %t13)
+ call void @scr_dyn_release_v(ptr %t14)
+ ret ptr %t8
+}
+
+define internal ptr @sc_ldu_4(ptr %u) #0 { ; materialize live union value union:u7
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t0 = select i1 %t1, i32 0, i32 1
+ switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 ]
+ldu.ref1:
+ %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ ret ptr %t2
+ldu.value2:
+ %t3 = call ptr @scr_dyn_new_null()
+ ret ptr %t3
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal ptr @sc_ldr_13_materialize(ptr %p) #0 { ; materialize live stream value object:%m4.MultipartParser
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartParser(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4331231100667432, i64 6, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1497623537730125, i64 6, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 3
+ %t11 = load double, ptr %t10
+ %t12 = call ptr @sc_td_2(double %t11)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3626652862359804, i64 3, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 4
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_td_1(ptr %t14)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3767316427932713, i64 5, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 5
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t17, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_270650669493903, i64 8, ptr %t18)
+ %t19 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 6
+ %t20 = load double, ptr %t19
+ %t21 = call ptr @sc_td_2(double %t20)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1904556107358822, i64 9, ptr %t21)
+ %t22 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 7
+ %t23 = load double, ptr %t22
+ %t24 = call ptr @sc_td_2(double %t23)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3347257245794453, i64 9, ptr %t24)
+ %t25 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 8
+ %t26 = load double, ptr %t25
+ %t27 = call ptr @sc_td_2(double %t26)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_51498970823486, i64 10, ptr %t27)
+ %t28 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 9
+ %t29 = load i8, ptr %t28
+ %t30 = trunc i8 %t29 to i1
+ %t31 = call ptr @sc_td_3(i1 %t30)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3871774119671975, i64 5, ptr %t31)
+ %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 10
+ %t33 = load i8, ptr %t32
+ %t34 = trunc i8 %t33 to i1
+ %t35 = call ptr @sc_td_3(i1 %t34)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1511541293423217, i64 7, ptr %t35)
+ %t36 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 11
+ %t37 = load ptr, ptr %t36
+ %t38 = call ptr @sc_td_0(ptr %t37)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3537803200604019, i64 6, ptr %t38)
+ %t39 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 12
+ %t40 = load ptr, ptr %t39
+ %t41 = call ptr @sc_td_0(ptr %t40)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2438149604853393, i64 9, ptr %t41)
+ %t42 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 13
+ %t43 = load ptr, ptr %t42
+ %t44 = call ptr @sc_td_0(ptr %t43)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_87265031005560, i64 5, ptr %t44)
+ %t45 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 14
+ %t46 = load ptr, ptr %t45
+ %t47 = call ptr @sc_ldu_4(ptr %t46)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2620371357038102, i64 5, ptr %t47)
+ %t48 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 15
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t49, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t50, ptr @sc_ldr_20_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1445273163400741, i64 7, ptr %t50)
+ %t51 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 16
+ %t52 = load double, ptr %t51
+ %t53 = call ptr @sc_td_2(double %t52)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3078220272172636, i64 6, ptr %t53)
+ %t54 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 17
+ %t55 = load double, ptr %t54
+ %t56 = call ptr @sc_td_2(double %t55)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3003865410260240, i64 7, ptr %t56)
+ %t57 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 18
+ %t58 = load double, ptr %t57
+ %t59 = call ptr @sc_td_2(double %t58)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3833663445821831, i64 3, ptr %t59)
+ %t60 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 19
+ %t61 = load ptr, ptr %t60
+ %t62 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t61, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t62, ptr @sc_ldr_11_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1081761464356753, i64 5, ptr %t62)
+ %t63 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 20
+ %t64 = load ptr, ptr %t63
+ %t65 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t64, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t65, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3375901898269401, i64 6, ptr %t65)
+ %t66 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %p, i64 0, i32 21
+ %t67 = load ptr, ptr %t66
+ %t68 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t67)
+ call void @scr_dyn_release_v(ptr %t68)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_21_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.CtxCore
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3447500980845638, i64 3)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_28(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 1
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @sc_release__x25_m5_ReqViewCore(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_448101171860799, i64 4)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_29(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 2
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @sc_release__x25_m2_ResponseSink(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4141049404401276, i64 8)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_30(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 3
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @sc_release__x25_m5_CtxResCore(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3621289080171698, i64 7)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call double @sc_dc_2(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 4
+ %f3_old = load double, ptr %f3_ptr
+ store double %f3_next, ptr %f3_ptr
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2163543391075186, i64 4)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call zeroext i1 @sc_dc_3(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 5
+ %f4_old = load i8, ptr %f4_ptr
+ %f4_stored = zext i1 %f4_next to i8
+ store i8 %f4_stored, ptr %f4_ptr
+ br label %f4_after
+f4_after:
+ %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4022150258959820, i64 5)
+ %f5_missing = icmp eq ptr %f5_raw, null
+ %f5_undef = call ptr @scr_dyn_undefined()
+ %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw
+ %f5_next = call ptr @sc_dc_0(ptr %f5_input, ptr null)
+ %f5_pending.cell = load ptr, ptr @scr_exc_active
+ %f5_pending.kind = load i32, ptr %f5_pending.cell
+ %f5_pending = icmp ne i32 %f5_pending.kind, 0
+ br i1 %f5_pending, label %done, label %f5_store
+f5_store:
+ %f5_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 6
+ %f5_old = load ptr, ptr %f5_ptr
+ store ptr %f5_next, ptr %f5_ptr
+ call void @scr_str_release(ptr %f5_old)
+ br label %f5_after
+f5_after:
+ %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3084154227263888, i64 8)
+ %f6_missing = icmp eq ptr %f6_raw, null
+ %f6_undef = call ptr @scr_dyn_undefined()
+ %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw
+ %f6_next = call ptr @sc_dc_14(ptr %f6_input, ptr null)
+ %f6_pending.cell = load ptr, ptr @scr_exc_active
+ %f6_pending.kind = load i32, ptr %f6_pending.cell
+ %f6_pending = icmp ne i32 %f6_pending.kind, 0
+ br i1 %f6_pending, label %done, label %f6_store
+f6_store:
+ %f6_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 7
+ %f6_old = load ptr, ptr %f6_ptr
+ store ptr %f6_next, ptr %f6_ptr
+ call void @scr_union_release(ptr %f6_old)
+ br label %f6_after
+f6_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m5_CtxCore(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxCore(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3447500980845638, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_448101171860799, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_4141049404401276, i64 8)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_3621289080171698, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2163543391075186, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_4022150258959820, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key5)
+ %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_3084154227263888, i64 8)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key6)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %target, i64 0, i32 8
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_22_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.CtxResCore
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2620371357038102, i64 5)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_29(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %target, i64 0, i32 1
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @sc_release__x25_m2_ResponseSink(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m5_CtxResCore(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxResCore(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_2620371357038102, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_22_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.CtxResCore
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxResCore(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2620371357038102, i64 5, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t8)
+ call void @scr_dyn_release_v(ptr %t9)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_21_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.CtxCore
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m5_CtxCore(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxCore(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3447500980845638, i64 3, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_448101171860799, i64 4, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 3
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t11, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4141049404401276, i64 8, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 4
+ %t14 = load double, ptr %t13
+ %t15 = call ptr @sc_td_2(double %t14)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3621289080171698, i64 7, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 5
+ %t17 = load i8, ptr %t16
+ %t18 = trunc i8 %t17 to i1
+ %t19 = call ptr @sc_td_3(i1 %t18)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2163543391075186, i64 4, ptr %t19)
+ %t20 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 6
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_td_0(ptr %t21)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4022150258959820, i64 5, ptr %t22)
+ %t23 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 7
+ %t24 = load ptr, ptr %t23
+ %t25 = call ptr @sc_td_14(ptr %t24)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3084154227263888, i64 8, ptr %t25)
+ %t26 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %p, i64 0, i32 8
+ %t27 = load ptr, ptr %t26
+ %t28 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t27)
+ call void @scr_dyn_release_v(ptr %t28)
+ ret ptr %t0
+}
+
+define internal void @sc_dpa_0(ptr %dst, ptr %src) #0 { ; checked-dynamic promise exit bool
+entry:
+ %t0 = call ptr @scr_promise_payload_ref(ptr %src)
+ %t1 = call i1 @sc_dc_3(ptr %t0, ptr null)
+ call void @scr_dyn_release_v(ptr %t0)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %sra.fail0, label %sra.ok1
+sra.fail0:
+ call void @scr_promise_reject_pending(ptr %dst)
+ ret void
+sra.ok1:
+ call void @scr_promise_fulfill_bool(ptr %dst, i1 zeroext %t1)
+ ret void
+}
+
+define internal void @sc_ldr_23_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.App
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3038119887745057, i64 6)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_31(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 1
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_arr_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2387748979716321, i64 3)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_33(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 2
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_arr_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4074236996717255, i64 4)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_35(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 3
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @scr_arr_release(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3834689050502795, i64 4)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call ptr @sc_dc_37(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 4
+ %f3_old = load ptr, ptr %f3_ptr
+ store ptr %f3_next, ptr %f3_ptr
+ call void @scr_arr_release(ptr %f3_old)
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_772714621079184, i64 3)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call ptr @sc_dc_36(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 5
+ %f4_old = load ptr, ptr %f4_ptr
+ store ptr %f4_next, ptr %f4_ptr
+ call void @scr_closure_release(ptr %f4_old)
+ br label %f4_after
+f4_after:
+ %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1253948269358290, i64 5)
+ %f5_missing = icmp eq ptr %f5_raw, null
+ %f5_undef = call ptr @scr_dyn_undefined()
+ %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw
+ %f5_next = call ptr @sc_dc_33(ptr %f5_input, ptr null)
+ %f5_pending.cell = load ptr, ptr @scr_exc_active
+ %f5_pending.kind = load i32, ptr %f5_pending.cell
+ %f5_pending = icmp ne i32 %f5_pending.kind, 0
+ br i1 %f5_pending, label %done, label %f5_store
+f5_store:
+ %f5_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 6
+ %f5_old = load ptr, ptr %f5_ptr
+ store ptr %f5_next, ptr %f5_ptr
+ call void @scr_arr_release(ptr %f5_old)
+ br label %f5_after
+f5_after:
+ %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_872249802202544, i64 4)
+ %f6_missing = icmp eq ptr %f6_raw, null
+ %f6_undef = call ptr @scr_dyn_undefined()
+ %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw
+ %f6_next = call ptr @sc_dc_38(ptr %f6_input, ptr null)
+ %f6_pending.cell = load ptr, ptr @scr_exc_active
+ %f6_pending.kind = load i32, ptr %f6_pending.cell
+ %f6_pending = icmp ne i32 %f6_pending.kind, 0
+ br i1 %f6_pending, label %done, label %f6_store
+f6_store:
+ %f6_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 7
+ %f6_old = load ptr, ptr %f6_ptr
+ store ptr %f6_next, ptr %f6_ptr
+ call void @scr_union_release(ptr %f6_old)
+ br label %f6_after
+f6_after:
+ %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3257120253469437, i64 7)
+ %f7_missing = icmp eq ptr %f7_raw, null
+ %f7_undef = call ptr @scr_dyn_undefined()
+ %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw
+ %f7_next = call ptr @sc_dc_35(ptr %f7_input, ptr null)
+ %f7_pending.cell = load ptr, ptr @scr_exc_active
+ %f7_pending.kind = load i32, ptr %f7_pending.cell
+ %f7_pending = icmp ne i32 %f7_pending.kind, 0
+ br i1 %f7_pending, label %done, label %f7_store
+f7_store:
+ %f7_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 8
+ %f7_old = load ptr, ptr %f7_ptr
+ store ptr %f7_next, ptr %f7_ptr
+ call void @scr_arr_release(ptr %f7_old)
+ br label %f7_after
+f7_after:
+ %f8_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3782354537448346, i64 8)
+ %f8_missing = icmp eq ptr %f8_raw, null
+ %f8_undef = call ptr @scr_dyn_undefined()
+ %f8_input = select i1 %f8_missing, ptr %f8_undef, ptr %f8_raw
+ %f8_next = call ptr @sc_dc_36(ptr %f8_input, ptr null)
+ %f8_pending.cell = load ptr, ptr @scr_exc_active
+ %f8_pending.kind = load i32, ptr %f8_pending.cell
+ %f8_pending = icmp ne i32 %f8_pending.kind, 0
+ br i1 %f8_pending, label %done, label %f8_store
+f8_store:
+ %f8_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 9
+ %f8_old = load ptr, ptr %f8_ptr
+ store ptr %f8_next, ptr %f8_ptr
+ call void @scr_closure_release(ptr %f8_old)
+ br label %f8_after
+f8_after:
+ %f9_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_886324725696546, i64 3)
+ %f9_missing = icmp eq ptr %f9_raw, null
+ %f9_undef = call ptr @scr_dyn_undefined()
+ %f9_input = select i1 %f9_missing, ptr %f9_undef, ptr %f9_raw
+ %f9_next = call ptr @sc_dc_40(ptr %f9_input, ptr null)
+ %f9_pending.cell = load ptr, ptr @scr_exc_active
+ %f9_pending.kind = load i32, ptr %f9_pending.cell
+ %f9_pending = icmp ne i32 %f9_pending.kind, 0
+ br i1 %f9_pending, label %done, label %f9_store
+f9_store:
+ %f9_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 10
+ %f9_old = load ptr, ptr %f9_ptr
+ store ptr %f9_next, ptr %f9_ptr
+ call void @scr_arr_release(ptr %f9_old)
+ br label %f9_after
+f9_after:
+ %f10_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_535630044833136, i64 3)
+ %f10_missing = icmp eq ptr %f10_raw, null
+ %f10_undef = call ptr @scr_dyn_undefined()
+ %f10_input = select i1 %f10_missing, ptr %f10_undef, ptr %f10_raw
+ %f10_next = call ptr @sc_dc_41(ptr %f10_input, ptr null)
+ %f10_pending.cell = load ptr, ptr @scr_exc_active
+ %f10_pending.kind = load i32, ptr %f10_pending.cell
+ %f10_pending = icmp ne i32 %f10_pending.kind, 0
+ br i1 %f10_pending, label %done, label %f10_store
+f10_store:
+ %f10_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 11
+ %f10_old = load ptr, ptr %f10_ptr
+ store ptr %f10_next, ptr %f10_ptr
+ call void @scr_arr_release(ptr %f10_old)
+ br label %f10_after
+f10_after:
+ %f11_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4400741686745380, i64 3)
+ %f11_missing = icmp eq ptr %f11_raw, null
+ %f11_undef = call ptr @scr_dyn_undefined()
+ %f11_input = select i1 %f11_missing, ptr %f11_undef, ptr %f11_raw
+ %f11_next = call ptr @sc_dc_19(ptr %f11_input, ptr null)
+ %f11_pending.cell = load ptr, ptr @scr_exc_active
+ %f11_pending.kind = load i32, ptr %f11_pending.cell
+ %f11_pending = icmp ne i32 %f11_pending.kind, 0
+ br i1 %f11_pending, label %done, label %f11_store
+f11_store:
+ %f11_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 12
+ %f11_old = load ptr, ptr %f11_ptr
+ store ptr %f11_next, ptr %f11_ptr
+ call void @scr_arr_release(ptr %f11_old)
+ br label %f11_after
+f11_after:
+ %f12_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1668606746601237, i64 6)
+ %f12_missing = icmp eq ptr %f12_raw, null
+ %f12_undef = call ptr @scr_dyn_undefined()
+ %f12_input = select i1 %f12_missing, ptr %f12_undef, ptr %f12_raw
+ %f12_next = call ptr @sc_dc_19(ptr %f12_input, ptr null)
+ %f12_pending.cell = load ptr, ptr @scr_exc_active
+ %f12_pending.kind = load i32, ptr %f12_pending.cell
+ %f12_pending = icmp ne i32 %f12_pending.kind, 0
+ br i1 %f12_pending, label %done, label %f12_store
+f12_store:
+ %f12_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 13
+ %f12_old = load ptr, ptr %f12_ptr
+ store ptr %f12_next, ptr %f12_ptr
+ call void @scr_arr_release(ptr %f12_old)
+ br label %f12_after
+f12_after:
+ %f13_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1388999587933298, i64 3)
+ %f13_missing = icmp eq ptr %f13_raw, null
+ %f13_undef = call ptr @scr_dyn_undefined()
+ %f13_input = select i1 %f13_missing, ptr %f13_undef, ptr %f13_raw
+ %f13_next = call ptr @sc_dc_42(ptr %f13_input, ptr null)
+ %f13_pending.cell = load ptr, ptr @scr_exc_active
+ %f13_pending.kind = load i32, ptr %f13_pending.cell
+ %f13_pending = icmp ne i32 %f13_pending.kind, 0
+ br i1 %f13_pending, label %done, label %f13_store
+f13_store:
+ %f13_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 14
+ %f13_old = load ptr, ptr %f13_ptr
+ store ptr %f13_next, ptr %f13_ptr
+ call void @scr_arr_release(ptr %f13_old)
+ br label %f13_after
+f13_after:
+ %f14_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1094398669481625, i64 4)
+ %f14_missing = icmp eq ptr %f14_raw, null
+ %f14_undef = call ptr @scr_dyn_undefined()
+ %f14_input = select i1 %f14_missing, ptr %f14_undef, ptr %f14_raw
+ %f14_next = call ptr @sc_dc_44(ptr %f14_input, ptr null)
+ %f14_pending.cell = load ptr, ptr @scr_exc_active
+ %f14_pending.kind = load i32, ptr %f14_pending.cell
+ %f14_pending = icmp ne i32 %f14_pending.kind, 0
+ br i1 %f14_pending, label %done, label %f14_store
+f14_store:
+ %f14_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 15
+ %f14_old = load ptr, ptr %f14_ptr
+ store ptr %f14_next, ptr %f14_ptr
+ call void @scr_closure_release(ptr %f14_old)
+ br label %f14_after
+f14_after:
+ %f15_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1345623861448315, i64 9)
+ %f15_missing = icmp eq ptr %f15_raw, null
+ %f15_undef = call ptr @scr_dyn_undefined()
+ %f15_input = select i1 %f15_missing, ptr %f15_undef, ptr %f15_raw
+ %f15_next = call ptr @sc_dc_45(ptr %f15_input, ptr null)
+ %f15_pending.cell = load ptr, ptr @scr_exc_active
+ %f15_pending.kind = load i32, ptr %f15_pending.cell
+ %f15_pending = icmp ne i32 %f15_pending.kind, 0
+ br i1 %f15_pending, label %done, label %f15_store
+f15_store:
+ %f15_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 16
+ %f15_old = load ptr, ptr %f15_ptr
+ store ptr %f15_next, ptr %f15_ptr
+ call void @scr_closure_release(ptr %f15_old)
+ br label %f15_after
+f15_after:
+ %f16_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3774229428846185, i64 3)
+ %f16_missing = icmp eq ptr %f16_raw, null
+ %f16_undef = call ptr @scr_dyn_undefined()
+ %f16_input = select i1 %f16_missing, ptr %f16_undef, ptr %f16_raw
+ %f16_next = call ptr @sc_dc_47(ptr %f16_input, ptr null)
+ %f16_pending.cell = load ptr, ptr @scr_exc_active
+ %f16_pending.kind = load i32, ptr %f16_pending.cell
+ %f16_pending = icmp ne i32 %f16_pending.kind, 0
+ br i1 %f16_pending, label %done, label %f16_store
+f16_store:
+ %f16_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 17
+ %f16_old = load ptr, ptr %f16_ptr
+ store ptr %f16_next, ptr %f16_ptr
+ call void @scr_closure_release(ptr %f16_old)
+ br label %f16_after
+f16_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m5_App(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_App(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3038119887745057, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_2387748979716321, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_4074236996717255, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_3834689050502795, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_772714621079184, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_1253948269358290, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key5)
+ %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_872249802202544, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key6)
+ %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_3257120253469437, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key7)
+ %bag_key8 = call ptr @scr_str_new(ptr @sc_cs_3782354537448346, i64 8)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key8, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key8)
+ %bag_key9 = call ptr @scr_str_new(ptr @sc_cs_886324725696546, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key9, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key9)
+ %bag_key10 = call ptr @scr_str_new(ptr @sc_cs_535630044833136, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key10, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key10)
+ %bag_key11 = call ptr @scr_str_new(ptr @sc_cs_4400741686745380, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key11, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key11)
+ %bag_key12 = call ptr @scr_str_new(ptr @sc_cs_1668606746601237, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key12, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key12)
+ %bag_key13 = call ptr @scr_str_new(ptr @sc_cs_1388999587933298, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key13, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key13)
+ %bag_key14 = call ptr @scr_str_new(ptr @sc_cs_1094398669481625, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key14, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key14)
+ %bag_key15 = call ptr @scr_str_new(ptr @sc_cs_1345623861448315, i64 9)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key15, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key15)
+ %bag_key16 = call ptr @scr_str_new(ptr @sc_cs_3774229428846185, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key16, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key16)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m5_App, ptr %target, i64 0, i32 18
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_24_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array
+entry:
+ %next = call ptr @sc_dc_31(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_25_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r5
+entry:
+ %next = call ptr @sc_dc_32(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r5, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r5, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; children
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r5, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r5, ptr %next, i64 0, i32 2
+ %old1 = load ptr, ptr %tp1 ; hf
+ %new1 = load ptr, ptr %np1
+ store ptr %new1, ptr %tp1
+ store ptr %old1, ptr %np1
+ %tp2 = getelementptr inbounds %sc_rs_r5, ptr %target, i64 0, i32 3
+ %np2 = getelementptr inbounds %sc_rs_r5, ptr %next, i64 0, i32 3
+ %old2 = load ptr, ptr %tp2 ; hm
+ %new2 = load ptr, ptr %np2
+ store ptr %new2, ptr %tp2
+ store ptr %old2, ptr %np2
+ %tp3 = getelementptr inbounds %sc_rs_r5, ptr %target, i64 0, i32 4
+ %np3 = getelementptr inbounds %sc_rs_r5, ptr %next, i64 0, i32 4
+ %old3 = load double, ptr %tp3 ; kind
+ %new3 = load double, ptr %np3
+ store double %new3, ptr %tp3
+ store double %old3, ptr %np3
+ %tp4 = getelementptr inbounds %sc_rs_r5, ptr %target, i64 0, i32 5
+ %np4 = getelementptr inbounds %sc_rs_r5, ptr %next, i64 0, i32 5
+ %old4 = load ptr, ptr %tp4 ; seg
+ %new4 = load ptr, ptr %np4
+ store ptr %new4, ptr %tp4
+ store ptr %old4, ptr %np4
+ call void @sc_rrelease_r5(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal zeroext i1 @sc_ldr_25_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r5
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_25_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r5
+entry:
+ switch i64 %i, label %live.record.bad5 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 i64 3, label %live.record.get3 i64 4, label %live.record.get4 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 5
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @sc_td_0(ptr %t1)
+ ret ptr %t2
+live.record.get1:
+ %t3 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 4
+ %t4 = load double, ptr %t3
+ %t5 = call ptr @sc_td_2(double %t4)
+ ret ptr %t5
+live.record.get2:
+ %t6 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 1
+ %t7 = load ptr, ptr %t6
+ %t8 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t7, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t8, ptr @sc_ldr_10_materialize_ops)
+ ret ptr %t8
+live.record.get3:
+ %t9 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 3
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t11, ptr @sc_ldr_2_materialize_ops)
+ ret ptr %t11
+live.record.get4:
+ %t12 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 2
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t13, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t14, ptr @sc_ldr_10_materialize_ops)
+ ret ptr %t14
+live.record.bad5:
+ unreachable
+}
+
+@sc_ldr_25_materialize_names = internal constant [5 x ptr] [ptr @sc_lit_4121162754829271, ptr @sc_lit_196246007442230, ptr @sc_lit_291439443305035, ptr @sc_lit_3240132313272141, ptr @sc_lit_1774234212108265]
+@sc_ldr_25_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 5, ptr @sc_ldr_25_materialize_names, ptr @sc_ldr_25_materialize_has, ptr @sc_ldr_25_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_25_materialize(ptr %p) #0 { ; materialize live stream value record:r5
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 5
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4121162754829271, i64 3, ptr %t3)
+ %t4 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 4
+ %t5 = load double, ptr %t4
+ %t6 = call ptr @sc_td_2(double %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_196246007442230, i64 4, ptr %t6)
+ %t7 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 1
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t9, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_291439443305035, i64 8, ptr %t9)
+ %t10 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 3
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t12, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3240132313272141, i64 2, ptr %t12)
+ %t13 = getelementptr inbounds %sc_rs_r5, ptr %p, i64 0, i32 2
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1774234212108265, i64 2, ptr %t15)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_24_materialize_get(ptr %p, double %i) #0 { ; live element of array
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r5, ptr @sc_rrelease_r5, ptr @sc_cs_1186397750780220, i64 9, ptr @sc_ldr_25_materialize, ptr @sc_ldr_25_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t1, ptr @sc_ldr_25_materialize_rops)
+ call void @sc_rrelease_r5(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_24_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array
+entry:
+ %t0 = call zeroext i1 @sc_dm_14(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_32(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_24_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_24_materialize_get, ptr @sc_ldr_24_materialize_set }
+
+define internal ptr @sc_ldr_24_materialize(ptr %p) #0 { ; materialize live stream value array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r5, ptr @sc_rrelease_r5, ptr @sc_cs_1186397750780220, i64 9, ptr @sc_ldr_25_materialize, ptr @sc_ldr_25_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t11, ptr @sc_ldr_25_materialize_rops)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @sc_rrelease_r5(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_26_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element arraydyn)=>dyn>
+entry:
+ %next = call ptr @sc_dc_33(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_26_materialize_get(ptr %p, double %i) #0 { ; live element of arraydyn)=>dyn>
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @sc_td_21(ptr %t0)
+ call void @scr_closure_release(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_26_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into arraydyn)=>dyn>
+entry:
+ %t0 = call zeroext i1 @sc_dm_16(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_34(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_26_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_26_materialize_get, ptr @sc_ldr_26_materialize_set }
+
+define internal ptr @sc_ldr_26_materialize(ptr %p) #0 { ; materialize live stream value arraydyn)=>dyn>
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @sc_td_21(ptr %t10)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @scr_closure_release(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_27_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element arraydyn>
+entry:
+ %next = call ptr @sc_dc_35(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_27_materialize_get(ptr %p, double %i) #0 { ; live element of arraydyn>
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @sc_td_22(ptr %t0)
+ call void @scr_closure_release(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_27_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into arraydyn>
+entry:
+ %t0 = call zeroext i1 @sc_dm_17(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_36(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_27_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_27_materialize_get, ptr @sc_ldr_27_materialize_set }
+
+define internal ptr @sc_ldr_27_materialize(ptr %p) #0 { ; materialize live stream value arraydyn>
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @sc_td_22(ptr %t10)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @scr_closure_release(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_28_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element arraydyn)=>dyn>>
+entry:
+ %next = call ptr @sc_dc_37(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_28_materialize_get(ptr %p, double %i) #0 { ; live element of arraydyn)=>dyn>>
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t0, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t1, ptr @sc_ldr_26_materialize_ops)
+ call void @scr_arr_release(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_28_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into arraydyn)=>dyn>>
+entry:
+ %t0 = call zeroext i1 @sc_dm_18(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_33(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_28_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_28_materialize_get, ptr @sc_ldr_28_materialize_set }
+
+define internal ptr @sc_ldr_28_materialize(ptr %p) #0 { ; materialize live stream value arraydyn)=>dyn>>
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t10, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t11, ptr @sc_ldr_26_materialize_ops)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @scr_arr_release(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_29_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array>
+entry:
+ %next = call ptr @sc_dc_40(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_29_materialize_get(ptr %p, double %i) #0 { ; live element of array>
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t1, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_29_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array>
+entry:
+ %t0 = call zeroext i1 @sc_dm_9(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_1(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_29_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_29_materialize_get, ptr @sc_ldr_29_materialize_set }
+
+define internal ptr @sc_ldr_29_materialize(ptr %p) #0 { ; materialize live stream value array>
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t11, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @scr_arr_release(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_30_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array>
+entry:
+ %next = call ptr @sc_dc_41(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_30_materialize_get(ptr %p, double %i) #0 { ; live element of array>
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t1, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_arr_release(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_30_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array>
+entry:
+ %t0 = call zeroext i1 @sc_dm_15(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_19(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_30_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_30_materialize_get, ptr @sc_ldr_30_materialize_set }
+
+define internal ptr @sc_ldr_30_materialize(ptr %p) #0 { ; materialize live stream value array>
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t11, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @scr_arr_release(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_31_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array
+entry:
+ %next = call ptr @sc_dc_42(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_32_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.MpCfg
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3251470234448474, i64 2)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call double @sc_dc_2(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 1
+ %f0_old = load double, ptr %f0_ptr
+ store double %f0_next, ptr %f0_ptr
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1295387805544367, i64 7)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_50(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 2
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @sc_release__x25_m4_MultipartStorage(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3528980137111930, i64 5)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call double @sc_dc_2(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 3
+ %f2_old = load double, ptr %f2_ptr
+ store double %f2_next, ptr %f2_ptr
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4476522814667484, i64 5)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call double @sc_dc_2(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 4
+ %f3_old = load double, ptr %f3_ptr
+ store double %f3_next, ptr %f3_ptr
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3328648022724882, i64 7)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call double @sc_dc_2(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 5
+ %f4_old = load double, ptr %f4_ptr
+ store double %f4_next, ptr %f4_ptr
+ br label %f4_after
+f4_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3251470234448474, i64 2)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1295387805544367, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_3528980137111930, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_4476522814667484, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_3328648022724882, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %target, i64 0, i32 6
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+@sc_ldr_32_materialize_cnames = internal constant [1 x ptr] [ptr @sc_lit_4006719217465510]
+@sc_ldr_32_materialize_cops = internal constant { ptr, i64, ptr, ptr } { ptr null, i64 1, ptr @sc_ldr_32_materialize_cnames, ptr @sc_lit_2780507335947153 }
+
+define internal ptr @sc_ldu_5(ptr %u) #0 { ; materialize live union value union:u16
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t0 = select i1 %t1, i32 0, i32 1
+ switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 ]
+ldu.ref1:
+ %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ ret ptr %t2
+ldu.value2:
+ %t3 = call ptr @scr_dyn_new_null()
+ ret ptr %t3
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal ptr @sc_ldr_32_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.MpCfg
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 1
+ %t2 = load double, ptr %t1
+ %t3 = call ptr @sc_td_2(double %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3251470234448474, i64 2, ptr %t3)
+ %t4 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 2
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_ldu_5(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1295387805544367, i64 7, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 3
+ %t8 = load double, ptr %t7
+ %t9 = call ptr @sc_td_2(double %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3528980137111930, i64 5, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 4
+ %t11 = load double, ptr %t10
+ %t12 = call ptr @sc_td_2(double %t11)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4476522814667484, i64 5, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 5
+ %t14 = load double, ptr %t13
+ %t15 = call ptr @sc_td_2(double %t14)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3328648022724882, i64 7, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %p, i64 0, i32 6
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t17)
+ call void @scr_dyn_release_v(ptr %t18)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_31_materialize_get(ptr %p, double %i) #0 { ; live element of array
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t0, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t1, ptr @sc_ldr_32_materialize_cops)
+ call void @sc_release__x25_m5_MpCfg(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_31_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array
+entry:
+ %t0 = call zeroext i1 @sc_dm_20(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_43(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_31_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_31_materialize_get, ptr @sc_ldr_31_materialize_set }
+
+define internal ptr @sc_ldr_31_materialize(ptr %p) #0 { ; materialize live stream value array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t10, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t11, ptr @sc_ldr_32_materialize_cops)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @sc_release__x25_m5_MpCfg(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_23_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.App
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m5_App(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_App(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t5, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_4447116402536209, i64 16, ptr @sc_ldr_24_materialize, ptr @sc_ldr_24_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t6, ptr @sc_ldr_24_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3038119887745057, i64 6, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t9, ptr @sc_ldr_26_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2387748979716321, i64 3, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 3
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t11, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1913588278853018, i64 36, ptr @sc_ldr_27_materialize, ptr @sc_ldr_27_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t12, ptr @sc_ldr_27_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4074236996717255, i64 4, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 4
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3192918191117730, i64 55, ptr @sc_ldr_28_materialize, ptr @sc_ldr_28_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_28_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3834689050502795, i64 4, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 5
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @sc_td_22(ptr %t17)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_772714621079184, i64 3, ptr %t18)
+ %t19 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 6
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t20, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t21, ptr @sc_ldr_26_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1253948269358290, i64 5, ptr %t21)
+ %t22 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 7
+ %t23 = load ptr, ptr %t22
+ %t24 = call ptr @sc_td_23(ptr %t23)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_872249802202544, i64 4, ptr %t24)
+ %t25 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 8
+ %t26 = load ptr, ptr %t25
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1913588278853018, i64 36, ptr @sc_ldr_27_materialize, ptr @sc_ldr_27_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t27, ptr @sc_ldr_27_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3257120253469437, i64 7, ptr %t27)
+ %t28 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 9
+ %t29 = load ptr, ptr %t28
+ %t30 = call ptr @sc_td_22(ptr %t29)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3782354537448346, i64 8, ptr %t30)
+ %t31 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 10
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t32, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2337619831431474, i64 20, ptr @sc_ldr_29_materialize, ptr @sc_ldr_29_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t33, ptr @sc_ldr_29_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_886324725696546, i64 3, ptr %t33)
+ %t34 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 11
+ %t35 = load ptr, ptr %t34
+ %t36 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t35, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2888908392807325, i64 17, ptr @sc_ldr_30_materialize, ptr @sc_ldr_30_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t36, ptr @sc_ldr_30_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_535630044833136, i64 3, ptr %t36)
+ %t37 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 12
+ %t38 = load ptr, ptr %t37
+ %t39 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t38, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t39, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4400741686745380, i64 3, ptr %t39)
+ %t40 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 13
+ %t41 = load ptr, ptr %t40
+ %t42 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t41, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t42, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1668606746601237, i64 6, ptr %t42)
+ %t43 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 14
+ %t44 = load ptr, ptr %t43
+ %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_125327543764853, i64 23, ptr @sc_ldr_31_materialize, ptr @sc_ldr_31_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t45, ptr @sc_ldr_31_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1388999587933298, i64 3, ptr %t45)
+ %t46 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 15
+ %t47 = load ptr, ptr %t46
+ %t48 = call ptr @sc_td_24(ptr %t47)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1094398669481625, i64 4, ptr %t48)
+ %t49 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 16
+ %t50 = load ptr, ptr %t49
+ %t51 = call ptr @sc_td_25(ptr %t50)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1345623861448315, i64 9, ptr %t51)
+ %t52 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 17
+ %t53 = load ptr, ptr %t52
+ %t54 = call ptr @sc_td_27(ptr %t53)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3774229428846185, i64 3, ptr %t54)
+ %t55 = getelementptr inbounds %sc_o__x25_m5_App, ptr %p, i64 0, i32 18
+ %t56 = load ptr, ptr %t55
+ %t57 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t56)
+ call void @scr_dyn_release_v(ptr %t57)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_33_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r9
+entry:
+ %next = call ptr @sc_dc_54(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r9, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r9, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; idxs
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r9, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r9, ptr %next, i64 0, i32 2
+ %old1 = load ptr, ptr %tp1 ; names
+ %new1 = load ptr, ptr %np1
+ store ptr %new1, ptr %tp1
+ store ptr %old1, ptr %np1
+ %tp2 = getelementptr inbounds %sc_rs_r9, ptr %target, i64 0, i32 3
+ %np2 = getelementptr inbounds %sc_rs_r9, ptr %next, i64 0, i32 3
+ %old2 = load double, ptr %tp2 ; splat
+ %new2 = load double, ptr %np2
+ store double %new2, ptr %tp2
+ store double %old2, ptr %np2
+ call void @sc_rrelease_r9(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal zeroext i1 @sc_ldr_33_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r9
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_33_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r9
+entry:
+ switch i64 %i, label %live.record.bad3 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 2
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t1, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t2, ptr @sc_ldr_2_materialize_ops)
+ ret ptr %t2
+live.record.get1:
+ %t3 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ %t5 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t4, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t5, ptr @sc_ldr_10_materialize_ops)
+ ret ptr %t5
+live.record.get2:
+ %t6 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 3
+ %t7 = load double, ptr %t6
+ %t8 = call ptr @sc_td_2(double %t7)
+ ret ptr %t8
+live.record.bad3:
+ unreachable
+}
+
+@sc_ldr_33_materialize_names = internal constant [3 x ptr] [ptr @sc_lit_3073289709162707, ptr @sc_lit_621103891786213, ptr @sc_lit_2193851355834945]
+@sc_ldr_33_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 3, ptr @sc_ldr_33_materialize_names, ptr @sc_ldr_33_materialize_has, ptr @sc_ldr_33_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_33_materialize(ptr %p) #0 { ; materialize live stream value record:r9
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 2
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t2, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t3, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3073289709162707, i64 5, ptr %t3)
+ %t4 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t5, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t6, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_621103891786213, i64 4, ptr %t6)
+ %t7 = getelementptr inbounds %sc_rs_r9, ptr %p, i64 0, i32 3
+ %t8 = load double, ptr %t7
+ %t9 = call ptr @sc_td_2(double %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2193851355834945, i64 5, ptr %t9)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldu_6(ptr %u) #0 { ; materialize live union value union:u28
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t0 = select i1 %t1, i32 1, i32 0
+ switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.ref1 i32 1, label %ldu.value2 ]
+ldu.ref1:
+ %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t2, ptr @sc_ldr_32_materialize_cops)
+ ret ptr %t2
+ldu.value2:
+ %t3 = call ptr @scr_dyn_undefined()
+ %t4 = call ptr @scr_dyn_retain_v(ptr %t3)
+ ret ptr %t4
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal void @sc_ldr_34_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r28
+entry:
+ %next = call ptr @sc_dc_58(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r28, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r28, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; headers
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r28, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r28, ptr %next, i64 0, i32 2
+ %old1 = load double, ptr %tp1 ; status
+ %new1 = load double, ptr %np1
+ store double %new1, ptr %tp1
+ store double %old1, ptr %np1
+ call void @sc_rrelease_r28(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_35_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array
+entry:
+ %next = call ptr @sc_dc_59(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_36_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r18
+entry:
+ %next = call ptr @sc_dc_60(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r18, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r18, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; 0
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r18, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r18, ptr %next, i64 0, i32 2
+ %old1 = load ptr, ptr %tp1 ; 1
+ %new1 = load ptr, ptr %np1
+ store ptr %new1, ptr %tp1
+ store ptr %old1, ptr %np1
+ call void @sc_rrelease_r18(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_36_materialize(ptr %p) #0 { ; materialize live stream value record:r18
+entry:
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = getelementptr inbounds %sc_rs_r18, ptr %p, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t3)
+ %t4 = getelementptr inbounds %sc_rs_r18, ptr %p, i64 0, i32 2
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t6)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_35_materialize_get(ptr %p, double %i) #0 { ; live element of array
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r18, ptr @sc_rrelease_r18, ptr @sc_cs_3675905637404462, i64 10, ptr @sc_ldr_36_materialize, ptr @sc_ldr_36_materialize_commit)
+ call void @sc_rrelease_r18(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_35_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array
+entry:
+ %t0 = call zeroext i1 @sc_dm_22(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_60(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_35_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_35_materialize_get, ptr @sc_ldr_35_materialize_set }
+
+define internal ptr @sc_ldr_35_materialize(ptr %p) #0 { ; materialize live stream value array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r18, ptr @sc_rrelease_r18, ptr @sc_cs_3675905637404462, i64 10, ptr @sc_ldr_36_materialize, ptr @sc_ldr_36_materialize_commit)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @sc_rrelease_r18(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal zeroext i1 @sc_ldr_34_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r28
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_34_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r28
+entry:
+ switch i64 %i, label %live.record.bad2 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r28, ptr %p, i64 0, i32 2
+ %t1 = load double, ptr %t0
+ %t2 = call ptr @sc_td_2(double %t1)
+ ret ptr %t2
+live.record.get1:
+ %t3 = getelementptr inbounds %sc_rs_r28, ptr %p, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ %t5 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t4, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2480898009178335, i64 17, ptr @sc_ldr_35_materialize, ptr @sc_ldr_35_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t5, ptr @sc_ldr_35_materialize_ops)
+ ret ptr %t5
+live.record.bad2:
+ unreachable
+}
+
+@sc_ldr_34_materialize_names = internal constant [2 x ptr] [ptr @sc_lit_127274431826284, ptr @sc_lit_977412068193087]
+@sc_ldr_34_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 2, ptr @sc_ldr_34_materialize_names, ptr @sc_ldr_34_materialize_has, ptr @sc_ldr_34_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_34_materialize(ptr %p) #0 { ; materialize live stream value record:r28
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r28, ptr %p, i64 0, i32 2
+ %t2 = load double, ptr %t1
+ %t3 = call ptr @sc_td_2(double %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_127274431826284, i64 6, ptr %t3)
+ %t4 = getelementptr inbounds %sc_rs_r28, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t5, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2480898009178335, i64 17, ptr @sc_ldr_35_materialize, ptr @sc_ldr_35_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t6, ptr @sc_ldr_35_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_977412068193087, i64 7, ptr %t6)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_37_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r26
+entry:
+ %next = call ptr @sc_dc_61(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r26, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r26, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; [key: string] overflow
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ call void @sc_rrelease_r26(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_37_materialize(ptr %p) #0 { ; materialize live stream value record:r26
+entry:
+ %t0 = call ptr @sc_td_31(ptr %p)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_38_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m3.LiteHeaders
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1515898915129638, i64 3)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_16(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %target, i64 0, i32 1
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_http_req_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteHeaders(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1515898915129638, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_38_materialize(ptr %p) #0 { ; materialize live stream value object:%m3.LiteHeaders
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteHeaders(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_10(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1515898915129638, i64 3, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t8)
+ call void @scr_dyn_release_v(ptr %t9)
+ ret ptr %t0
+}
+
+define internal void @sc_rslv_0(ptr %self, ptr %v) #0 { ; resolve
+entry:
+ call void @scr_resolve_ref_impl(ptr %self, ptr %v, ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ ret void
+}
+
+define internal void @sc_ldr_39_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r32
+entry:
+ %next = call ptr @sc_dc_65(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r32, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r32, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; [key: string] overflow
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ call void @sc_rrelease_r32(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_39_materialize(ptr %p) #0 { ; materialize live stream value record:r32
+entry:
+ %t0 = call ptr @sc_td_32(ptr %p)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_40_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r7
+entry:
+ %next = call ptr @sc_dc_67(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r7, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r7, ptr %next, i64 0, i32 1
+ %old0 = load { i32, i64 }, ptr %tp0 ; body
+ %new0 = load { i32, i64 }, ptr %np0
+ store { i32, i64 } %new0, ptr %tp0
+ store { i32, i64 } %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r7, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r7, ptr %next, i64 0, i32 2
+ %old1 = load ptr, ptr %tp1 ; multipart
+ %new1 = load ptr, ptr %np1
+ store ptr %new1, ptr %tp1
+ store ptr %old1, ptr %np1
+ call void @sc_rrelease_r7(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_41_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r6
+entry:
+ %next = call ptr @sc_dc_70(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r6, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r6, ptr %next, i64 0, i32 1
+ %old0 = load { i32, i64 }, ptr %tp0 ; maxFieldBytes
+ %new0 = load { i32, i64 }, ptr %np0
+ store { i32, i64 } %new0, ptr %tp0
+ store { i32, i64 } %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r6, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r6, ptr %next, i64 0, i32 2
+ %old1 = load { i32, i64 }, ptr %tp1 ; maxFileBytes
+ %new1 = load { i32, i64 }, ptr %np1
+ store { i32, i64 } %new1, ptr %tp1
+ store { i32, i64 } %old1, ptr %np1
+ %tp2 = getelementptr inbounds %sc_rs_r6, ptr %target, i64 0, i32 3
+ %np2 = getelementptr inbounds %sc_rs_r6, ptr %next, i64 0, i32 3
+ %old2 = load { i32, i64 }, ptr %tp2 ; maxFiles
+ %new2 = load { i32, i64 }, ptr %np2
+ store { i32, i64 } %new2, ptr %tp2
+ store { i32, i64 } %old2, ptr %np2
+ %tp3 = getelementptr inbounds %sc_rs_r6, ptr %target, i64 0, i32 4
+ %np3 = getelementptr inbounds %sc_rs_r6, ptr %next, i64 0, i32 4
+ %old3 = load ptr, ptr %tp3 ; storage
+ %new3 = load ptr, ptr %np3
+ store ptr %new3, ptr %tp3
+ store ptr %old3, ptr %np3
+ call void @sc_rrelease_r6(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldu_9(ptr %u) #0 { ; materialize live union value union:u18
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t0 = select i1 %t1, i32 1, i32 0
+ switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.ref1 i32 1, label %ldu.value2 ]
+ldu.ref1:
+ %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ ret ptr %t2
+ldu.value2:
+ %t3 = call ptr @scr_dyn_undefined()
+ %t4 = call ptr @scr_dyn_retain_v(ptr %t3)
+ ret ptr %t4
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal zeroext i1 @sc_ldr_41_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r6
+entry:
+ %s9 = alloca %ScrUnion
+ %s25 = alloca %ScrUnion
+ %s41 = alloca %ScrUnion
+ switch i64 %i, label %live.record.always4 [ i64 0, label %live.record.has0 i64 1, label %live.record.has1 i64 2, label %live.record.has2 i64 3, label %live.record.has3 ]
+live.record.has0:
+ %t0 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 4
+ %t1 = load ptr, ptr %t0
+ %t2 = icmp eq ptr %t1, @sc_nullable_absent
+ %t3 = xor i1 %t2, true
+ ret i1 %t3
+live.record.has1:
+ %t4 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 2
+ %t5 = getelementptr inbounds { i32, i64 }, ptr %t4, i32 0, i32 0
+ %t7 = load i32, ptr %t5
+ %t6 = getelementptr inbounds { i32, i64 }, ptr %t4, i32 0, i32 1
+ %t8 = load i64, ptr %t6
+ store i64 -1, ptr %s9
+ %t10 = getelementptr inbounds %ScrUnion, ptr %s9, i64 0, i32 1
+ store i32 %t7, ptr %t10
+ %t11 = getelementptr inbounds %ScrUnion, ptr %s9, i64 0, i32 5
+ store i64 %t8, ptr %t11
+ %t12 = getelementptr inbounds %ScrUnion, ptr %s9, i64 0, i32 1
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 1
+ %t15 = getelementptr inbounds %ScrUnion, ptr %s9, i64 0, i32 5
+ %t16 = load i64, ptr %t15
+ %t17 = icmp eq i64 %t16, 1
+ %t18 = and i1 %t14, %t17
+ %t19 = xor i1 %t18, true
+ ret i1 %t19
+live.record.has2:
+ %t20 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 3
+ %t21 = getelementptr inbounds { i32, i64 }, ptr %t20, i32 0, i32 0
+ %t23 = load i32, ptr %t21
+ %t22 = getelementptr inbounds { i32, i64 }, ptr %t20, i32 0, i32 1
+ %t24 = load i64, ptr %t22
+ store i64 -1, ptr %s25
+ %t26 = getelementptr inbounds %ScrUnion, ptr %s25, i64 0, i32 1
+ store i32 %t23, ptr %t26
+ %t27 = getelementptr inbounds %ScrUnion, ptr %s25, i64 0, i32 5
+ store i64 %t24, ptr %t27
+ %t28 = getelementptr inbounds %ScrUnion, ptr %s25, i64 0, i32 1
+ %t29 = load i32, ptr %t28
+ %t30 = icmp eq i32 %t29, 1
+ %t31 = getelementptr inbounds %ScrUnion, ptr %s25, i64 0, i32 5
+ %t32 = load i64, ptr %t31
+ %t33 = icmp eq i64 %t32, 1
+ %t34 = and i1 %t30, %t33
+ %t35 = xor i1 %t34, true
+ ret i1 %t35
+live.record.has3:
+ %t36 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 1
+ %t37 = getelementptr inbounds { i32, i64 }, ptr %t36, i32 0, i32 0
+ %t39 = load i32, ptr %t37
+ %t38 = getelementptr inbounds { i32, i64 }, ptr %t36, i32 0, i32 1
+ %t40 = load i64, ptr %t38
+ store i64 -1, ptr %s41
+ %t42 = getelementptr inbounds %ScrUnion, ptr %s41, i64 0, i32 1
+ store i32 %t39, ptr %t42
+ %t43 = getelementptr inbounds %ScrUnion, ptr %s41, i64 0, i32 5
+ store i64 %t40, ptr %t43
+ %t44 = getelementptr inbounds %ScrUnion, ptr %s41, i64 0, i32 1
+ %t45 = load i32, ptr %t44
+ %t46 = icmp eq i32 %t45, 1
+ %t47 = getelementptr inbounds %ScrUnion, ptr %s41, i64 0, i32 5
+ %t48 = load i64, ptr %t47
+ %t49 = icmp eq i64 %t48, 1
+ %t50 = and i1 %t46, %t49
+ %t51 = xor i1 %t50, true
+ ret i1 %t51
+live.record.always4:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_41_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r6
+entry:
+ %s8 = alloca %ScrUnion
+ %s17 = alloca %ScrUnion
+ %s26 = alloca %ScrUnion
+ switch i64 %i, label %live.record.bad4 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 i64 3, label %live.record.get3 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 4
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @sc_ldu_9(ptr %t1)
+ ret ptr %t2
+live.record.get1:
+ %t3 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 2
+ %t4 = getelementptr inbounds { i32, i64 }, ptr %t3, i32 0, i32 0
+ %t6 = load i32, ptr %t4
+ %t5 = getelementptr inbounds { i32, i64 }, ptr %t3, i32 0, i32 1
+ %t7 = load i64, ptr %t5
+ store i64 -1, ptr %s8
+ %t9 = getelementptr inbounds %ScrUnion, ptr %s8, i64 0, i32 1
+ store i32 %t6, ptr %t9
+ %t10 = getelementptr inbounds %ScrUnion, ptr %s8, i64 0, i32 5
+ store i64 %t7, ptr %t10
+ %t11 = call ptr @sc_td_29(ptr %s8)
+ ret ptr %t11
+live.record.get2:
+ %t12 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 3
+ %t13 = getelementptr inbounds { i32, i64 }, ptr %t12, i32 0, i32 0
+ %t15 = load i32, ptr %t13
+ %t14 = getelementptr inbounds { i32, i64 }, ptr %t12, i32 0, i32 1
+ %t16 = load i64, ptr %t14
+ store i64 -1, ptr %s17
+ %t18 = getelementptr inbounds %ScrUnion, ptr %s17, i64 0, i32 1
+ store i32 %t15, ptr %t18
+ %t19 = getelementptr inbounds %ScrUnion, ptr %s17, i64 0, i32 5
+ store i64 %t16, ptr %t19
+ %t20 = call ptr @sc_td_29(ptr %s17)
+ ret ptr %t20
+live.record.get3:
+ %t21 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 1
+ %t22 = getelementptr inbounds { i32, i64 }, ptr %t21, i32 0, i32 0
+ %t24 = load i32, ptr %t22
+ %t23 = getelementptr inbounds { i32, i64 }, ptr %t21, i32 0, i32 1
+ %t25 = load i64, ptr %t23
+ store i64 -1, ptr %s26
+ %t27 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 1
+ store i32 %t24, ptr %t27
+ %t28 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 5
+ store i64 %t25, ptr %t28
+ %t29 = call ptr @sc_td_29(ptr %s26)
+ ret ptr %t29
+live.record.bad4:
+ unreachable
+}
+
+@sc_ldr_41_materialize_names = internal constant [4 x ptr] [ptr @sc_lit_1295387805544367, ptr @sc_lit_2659449979257915, ptr @sc_lit_2882770253409103, ptr @sc_lit_2857538079689091]
+@sc_ldr_41_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 4, ptr @sc_ldr_41_materialize_names, ptr @sc_ldr_41_materialize_has, ptr @sc_ldr_41_materialize_get, i8 0, ptr null }
+
+define internal ptr @sc_ldr_41_materialize(ptr %p) #0 { ; materialize live stream value record:r6
+entry:
+ %s10 = alloca %ScrUnion
+ %s26 = alloca %ScrUnion
+ %s42 = alloca %ScrUnion
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 4
+ %t2 = load ptr, ptr %t1
+ %t3 = icmp eq ptr %t2, @sc_nullable_absent
+ br i1 %t3, label %live.record.absent0, label %live.record.set1
+live.record.set1:
+ %t4 = call ptr @sc_ldu_9(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1295387805544367, i64 7, ptr %t4)
+ br label %live.record.absent0
+live.record.absent0:
+ %t5 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 2
+ %t6 = getelementptr inbounds { i32, i64 }, ptr %t5, i32 0, i32 0
+ %t8 = load i32, ptr %t6
+ %t7 = getelementptr inbounds { i32, i64 }, ptr %t5, i32 0, i32 1
+ %t9 = load i64, ptr %t7
+ store i64 -1, ptr %s10
+ %t11 = getelementptr inbounds %ScrUnion, ptr %s10, i64 0, i32 1
+ store i32 %t8, ptr %t11
+ %t12 = getelementptr inbounds %ScrUnion, ptr %s10, i64 0, i32 5
+ store i64 %t9, ptr %t12
+ %t13 = getelementptr inbounds %ScrUnion, ptr %s10, i64 0, i32 1
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 1
+ %t16 = getelementptr inbounds %ScrUnion, ptr %s10, i64 0, i32 5
+ %t17 = load i64, ptr %t16
+ %t18 = icmp eq i64 %t17, 1
+ %t19 = and i1 %t15, %t18
+ br i1 %t19, label %live.record.absent2, label %live.record.set3
+live.record.set3:
+ %t20 = call ptr @sc_td_29(ptr %s10)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2659449979257915, i64 12, ptr %t20)
+ br label %live.record.absent2
+live.record.absent2:
+ %t21 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 3
+ %t22 = getelementptr inbounds { i32, i64 }, ptr %t21, i32 0, i32 0
+ %t24 = load i32, ptr %t22
+ %t23 = getelementptr inbounds { i32, i64 }, ptr %t21, i32 0, i32 1
+ %t25 = load i64, ptr %t23
+ store i64 -1, ptr %s26
+ %t27 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 1
+ store i32 %t24, ptr %t27
+ %t28 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 5
+ store i64 %t25, ptr %t28
+ %t29 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 1
+ %t30 = load i32, ptr %t29
+ %t31 = icmp eq i32 %t30, 1
+ %t32 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 5
+ %t33 = load i64, ptr %t32
+ %t34 = icmp eq i64 %t33, 1
+ %t35 = and i1 %t31, %t34
+ br i1 %t35, label %live.record.absent4, label %live.record.set5
+live.record.set5:
+ %t36 = call ptr @sc_td_29(ptr %s26)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2882770253409103, i64 8, ptr %t36)
+ br label %live.record.absent4
+live.record.absent4:
+ %t37 = getelementptr inbounds %sc_rs_r6, ptr %p, i64 0, i32 1
+ %t38 = getelementptr inbounds { i32, i64 }, ptr %t37, i32 0, i32 0
+ %t40 = load i32, ptr %t38
+ %t39 = getelementptr inbounds { i32, i64 }, ptr %t37, i32 0, i32 1
+ %t41 = load i64, ptr %t39
+ store i64 -1, ptr %s42
+ %t43 = getelementptr inbounds %ScrUnion, ptr %s42, i64 0, i32 1
+ store i32 %t40, ptr %t43
+ %t44 = getelementptr inbounds %ScrUnion, ptr %s42, i64 0, i32 5
+ store i64 %t41, ptr %t44
+ %t45 = getelementptr inbounds %ScrUnion, ptr %s42, i64 0, i32 1
+ %t46 = load i32, ptr %t45
+ %t47 = icmp eq i32 %t46, 1
+ %t48 = getelementptr inbounds %ScrUnion, ptr %s42, i64 0, i32 5
+ %t49 = load i64, ptr %t48
+ %t50 = icmp eq i64 %t49, 1
+ %t51 = and i1 %t47, %t50
+ br i1 %t51, label %live.record.absent6, label %live.record.set7
+live.record.set7:
+ %t52 = call ptr @sc_td_29(ptr %s42)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2857538079689091, i64 13, ptr %t52)
+ br label %live.record.absent6
+live.record.absent6:
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldu_8(ptr %u) #0 { ; materialize live union value union:u19
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t0 = select i1 %t1, i32 1, i32 0
+ switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.ref1 i32 1, label %ldu.value2 ]
+ldu.ref1:
+ %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_rretain_r6, ptr @sc_rrelease_r6, ptr @sc_cs_408244120040977, i64 9, ptr @sc_ldr_41_materialize, ptr @sc_ldr_41_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t2, ptr @sc_ldr_41_materialize_rops)
+ ret ptr %t2
+ldu.value2:
+ %t3 = call ptr @scr_dyn_undefined()
+ %t4 = call ptr @scr_dyn_retain_v(ptr %t3)
+ ret ptr %t4
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal zeroext i1 @sc_ldr_40_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r7
+entry:
+ %s5 = alloca %ScrUnion
+ switch i64 %i, label %live.record.always2 [ i64 0, label %live.record.has0 i64 1, label %live.record.has1 ]
+live.record.has0:
+ %t0 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 1
+ %t1 = getelementptr inbounds { i32, i64 }, ptr %t0, i32 0, i32 0
+ %t3 = load i32, ptr %t1
+ %t2 = getelementptr inbounds { i32, i64 }, ptr %t0, i32 0, i32 1
+ %t4 = load i64, ptr %t2
+ store i64 -1, ptr %s5
+ %t6 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 1
+ store i32 %t3, ptr %t6
+ %t7 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 5
+ store i64 %t4, ptr %t7
+ %t8 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 1
+ %t9 = load i32, ptr %t8
+ %t10 = icmp eq i32 %t9, 1
+ %t11 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 5
+ %t12 = load i64, ptr %t11
+ %t13 = icmp eq i64 %t12, 1
+ %t14 = and i1 %t10, %t13
+ %t15 = xor i1 %t14, true
+ ret i1 %t15
+live.record.has1:
+ %t16 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 2
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_nullable_absent
+ %t19 = xor i1 %t18, true
+ ret i1 %t19
+live.record.always2:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_40_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r7
+entry:
+ %s5 = alloca %ScrUnion
+ switch i64 %i, label %live.record.bad2 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 1
+ %t1 = getelementptr inbounds { i32, i64 }, ptr %t0, i32 0, i32 0
+ %t3 = load i32, ptr %t1
+ %t2 = getelementptr inbounds { i32, i64 }, ptr %t0, i32 0, i32 1
+ %t4 = load i64, ptr %t2
+ store i64 -1, ptr %s5
+ %t6 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 1
+ store i32 %t3, ptr %t6
+ %t7 = getelementptr inbounds %ScrUnion, ptr %s5, i64 0, i32 5
+ store i64 %t4, ptr %t7
+ %t8 = call ptr @sc_td_34(ptr %s5)
+ ret ptr %t8
+live.record.get1:
+ %t9 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 2
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr @sc_ldu_8(ptr %t10)
+ ret ptr %t11
+live.record.bad2:
+ unreachable
+}
+
+@sc_ldr_40_materialize_names = internal constant [2 x ptr] [ptr @sc_lit_616655122974952, ptr @sc_lit_2277266704045385]
+@sc_ldr_40_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 2, ptr @sc_ldr_40_materialize_names, ptr @sc_ldr_40_materialize_has, ptr @sc_ldr_40_materialize_get, i8 0, ptr null }
+
+define internal ptr @sc_ldr_40_materialize(ptr %p) #0 { ; materialize live stream value record:r7
+entry:
+ %s6 = alloca %ScrUnion
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 1
+ %t2 = getelementptr inbounds { i32, i64 }, ptr %t1, i32 0, i32 0
+ %t4 = load i32, ptr %t2
+ %t3 = getelementptr inbounds { i32, i64 }, ptr %t1, i32 0, i32 1
+ %t5 = load i64, ptr %t3
+ store i64 -1, ptr %s6
+ %t7 = getelementptr inbounds %ScrUnion, ptr %s6, i64 0, i32 1
+ store i32 %t4, ptr %t7
+ %t8 = getelementptr inbounds %ScrUnion, ptr %s6, i64 0, i32 5
+ store i64 %t5, ptr %t8
+ %t9 = getelementptr inbounds %ScrUnion, ptr %s6, i64 0, i32 1
+ %t10 = load i32, ptr %t9
+ %t11 = icmp eq i32 %t10, 1
+ %t12 = getelementptr inbounds %ScrUnion, ptr %s6, i64 0, i32 5
+ %t13 = load i64, ptr %t12
+ %t14 = icmp eq i64 %t13, 1
+ %t15 = and i1 %t11, %t14
+ br i1 %t15, label %live.record.absent0, label %live.record.set1
+live.record.set1:
+ %t16 = call ptr @sc_td_34(ptr %s6)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t16)
+ br label %live.record.absent0
+live.record.absent0:
+ %t17 = getelementptr inbounds %sc_rs_r7, ptr %p, i64 0, i32 2
+ %t18 = load ptr, ptr %t17
+ %t19 = icmp eq ptr %t18, @sc_nullable_absent
+ br i1 %t19, label %live.record.absent2, label %live.record.set3
+live.record.set3:
+ %t20 = call ptr @sc_ldu_8(ptr %t18)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2277266704045385, i64 9, ptr %t20)
+ br label %live.record.absent2
+live.record.absent2:
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldu_7(ptr %u) #0 { ; materialize live union value union:u20
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t0 = select i1 %t1, i32 1, i32 0
+ switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.ref1 i32 1, label %ldu.value2 ]
+ldu.ref1:
+ %t2 = call ptr @scr_dyn_new_typed_ref_traced(ptr %u, ptr @sc_rretain_r7, ptr @sc_rrelease_r7, ptr @sc_cs_708899555714582, i64 9, ptr @sc_ldr_40_materialize, ptr @sc_ldr_40_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t2, ptr @sc_ldr_40_materialize_rops)
+ ret ptr %t2
+ldu.value2:
+ %t3 = call ptr @scr_dyn_undefined()
+ %t4 = call ptr @scr_dyn_retain_v(ptr %t3)
+ ret ptr %t4
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+@sc_trr_0 = internal constant { ptr, ptr, ptr, i64, ptr, ptr, i32, i32, ptr } { ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit, i32 2, i32 0, ptr null }
+define internal void @sc_ldr_43_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m14.BakedAssets
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3804612928743770, i64 4)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_74(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %target, i64 0, i32 3
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @sc_rrelease_r12(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1810373001322451, i64 7)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_75(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %target, i64 0, i32 4
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_arr_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m14_BakedAssets(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m14_BakedAssets(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3804612928743770, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1810373001322451, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_44_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r12
+entry:
+ %next = call ptr @sc_dc_74(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r12, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r12, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; [key: string] overflow
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ call void @sc_rrelease_r12(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_44_materialize(ptr %p) #0 { ; materialize live stream value record:r12
+entry:
+ %t0 = call ptr @sc_td_35(ptr %p)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_45_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array
+entry:
+ %next = call ptr @sc_dc_75(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_46_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r11
+entry:
+ %next = call ptr @sc_dc_76(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; body
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 2
+ %old1 = load ptr, ptr %tp1 ; encodings
+ %new1 = load ptr, ptr %np1
+ store ptr %new1, ptr %tp1
+ store ptr %old1, ptr %np1
+ %tp2 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 3
+ %np2 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 3
+ %old2 = load ptr, ptr %tp2 ; etag
+ %new2 = load ptr, ptr %np2
+ store ptr %new2, ptr %tp2
+ store ptr %old2, ptr %np2
+ %tp3 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 4
+ %np3 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 4
+ %old3 = load i8, ptr %tp3 ; immutable
+ %new3 = load i8, ptr %np3
+ store i8 %new3, ptr %tp3
+ store i8 %old3, ptr %np3
+ %tp4 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 5
+ %np4 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 5
+ %old4 = load double, ptr %tp4 ; mtimeMs
+ %new4 = load double, ptr %np4
+ store double %new4, ptr %tp4
+ store double %old4, ptr %np4
+ %tp5 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 6
+ %np5 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 6
+ %old5 = load double, ptr %tp5 ; size
+ %new5 = load double, ptr %np5
+ store double %new5, ptr %tp5
+ store double %old5, ptr %np5
+ %tp6 = getelementptr inbounds %sc_rs_r11, ptr %target, i64 0, i32 7
+ %np6 = getelementptr inbounds %sc_rs_r11, ptr %next, i64 0, i32 7
+ %old6 = load ptr, ptr %tp6 ; type
+ %new6 = load ptr, ptr %np6
+ store ptr %new6, ptr %tp6
+ store ptr %old6, ptr %np6
+ call void @sc_rrelease_r11(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_47_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array
+entry:
+ %next = call ptr @sc_dc_77(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_48_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r10
+entry:
+ %next = call ptr @sc_dc_78(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r10, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r10, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; body
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r10, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r10, ptr %next, i64 0, i32 2
+ %old1 = load ptr, ptr %tp1 ; enc
+ %new1 = load ptr, ptr %np1
+ store ptr %new1, ptr %tp1
+ store ptr %old1, ptr %np1
+ %tp2 = getelementptr inbounds %sc_rs_r10, ptr %target, i64 0, i32 3
+ %np2 = getelementptr inbounds %sc_rs_r10, ptr %next, i64 0, i32 3
+ %old2 = load ptr, ptr %tp2 ; etag
+ %new2 = load ptr, ptr %np2
+ store ptr %new2, ptr %tp2
+ store ptr %old2, ptr %np2
+ call void @sc_rrelease_r10(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal zeroext i1 @sc_ldr_48_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r10
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_48_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r10
+entry:
+ switch i64 %i, label %live.record.bad3 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 2
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @sc_td_0(ptr %t1)
+ ret ptr %t2
+live.record.get1:
+ %t3 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ %t5 = call ptr @sc_td_1(ptr %t4)
+ ret ptr %t5
+live.record.get2:
+ %t6 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 3
+ %t7 = load ptr, ptr %t6
+ %t8 = call ptr @sc_td_0(ptr %t7)
+ ret ptr %t8
+live.record.bad3:
+ unreachable
+}
+
+@sc_ldr_48_materialize_names = internal constant [3 x ptr] [ptr @sc_lit_1683535768246717, ptr @sc_lit_616655122974952, ptr @sc_lit_4445240590403708]
+@sc_ldr_48_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 3, ptr @sc_ldr_48_materialize_names, ptr @sc_ldr_48_materialize_has, ptr @sc_ldr_48_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_48_materialize(ptr %p) #0 { ; materialize live stream value record:r10
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 2
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1683535768246717, i64 3, ptr %t3)
+ %t4 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_1(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t6)
+ %t7 = getelementptr inbounds %sc_rs_r10, ptr %p, i64 0, i32 3
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t9)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_47_materialize_get(ptr %p, double %i) #0 { ; live element of array
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r10, ptr @sc_rrelease_r10, ptr @sc_cs_1956162535513610, i64 10, ptr @sc_ldr_48_materialize, ptr @sc_ldr_48_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t1, ptr @sc_ldr_48_materialize_rops)
+ call void @sc_rrelease_r10(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_47_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array
+entry:
+ %t0 = call zeroext i1 @sc_dm_28(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_78(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_47_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_47_materialize_get, ptr @sc_ldr_47_materialize_set }
+
+define internal ptr @sc_ldr_47_materialize(ptr %p) #0 { ; materialize live stream value array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r10, ptr @sc_rrelease_r10, ptr @sc_cs_1956162535513610, i64 10, ptr @sc_ldr_48_materialize, ptr @sc_ldr_48_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t11, ptr @sc_ldr_48_materialize_rops)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @sc_rrelease_r10(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal zeroext i1 @sc_ldr_46_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r11
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_46_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r11
+entry:
+ switch i64 %i, label %live.record.bad7 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 i64 3, label %live.record.get3 i64 4, label %live.record.get4 i64 5, label %live.record.get5 i64 6, label %live.record.get6 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @sc_td_1(ptr %t1)
+ ret ptr %t2
+live.record.get1:
+ %t3 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 7
+ %t4 = load ptr, ptr %t3
+ %t5 = call ptr @sc_td_0(ptr %t4)
+ ret ptr %t5
+live.record.get2:
+ %t6 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 3
+ %t7 = load ptr, ptr %t6
+ %t8 = call ptr @sc_td_0(ptr %t7)
+ ret ptr %t8
+live.record.get3:
+ %t9 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 6
+ %t10 = load double, ptr %t9
+ %t11 = call ptr @sc_td_2(double %t10)
+ ret ptr %t11
+live.record.get4:
+ %t12 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 5
+ %t13 = load double, ptr %t12
+ %t14 = call ptr @sc_td_2(double %t13)
+ ret ptr %t14
+live.record.get5:
+ %t15 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 4
+ %t16 = load i8, ptr %t15
+ %t17 = trunc i8 %t16 to i1
+ %t18 = call ptr @sc_td_3(i1 %t17)
+ ret ptr %t18
+live.record.get6:
+ %t19 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 2
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t20, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_4063863580779324, i64 17, ptr @sc_ldr_47_materialize, ptr @sc_ldr_47_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t21, ptr @sc_ldr_47_materialize_ops)
+ ret ptr %t21
+live.record.bad7:
+ unreachable
+}
+
+@sc_ldr_46_materialize_names = internal constant [7 x ptr] [ptr @sc_lit_616655122974952, ptr @sc_lit_334509345124372, ptr @sc_lit_4445240590403708, ptr @sc_lit_3603975379547098, ptr @sc_lit_2067668976369489, ptr @sc_lit_1096813006725504, ptr @sc_lit_2538166612030291]
+@sc_ldr_46_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 7, ptr @sc_ldr_46_materialize_names, ptr @sc_ldr_46_materialize_has, ptr @sc_ldr_46_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_46_materialize(ptr %p) #0 { ; materialize live stream value record:r11
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_1(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_616655122974952, i64 4, ptr %t3)
+ %t4 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 7
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_334509345124372, i64 4, ptr %t6)
+ %t7 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 3
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t9)
+ %t10 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 6
+ %t11 = load double, ptr %t10
+ %t12 = call ptr @sc_td_2(double %t11)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3603975379547098, i64 4, ptr %t12)
+ %t13 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 5
+ %t14 = load double, ptr %t13
+ %t15 = call ptr @sc_td_2(double %t14)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2067668976369489, i64 7, ptr %t15)
+ %t16 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 4
+ %t17 = load i8, ptr %t16
+ %t18 = trunc i8 %t17 to i1
+ %t19 = call ptr @sc_td_3(i1 %t18)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1096813006725504, i64 9, ptr %t19)
+ %t20 = getelementptr inbounds %sc_rs_r11, ptr %p, i64 0, i32 2
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t21, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_4063863580779324, i64 17, ptr @sc_ldr_47_materialize, ptr @sc_ldr_47_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t22, ptr @sc_ldr_47_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2538166612030291, i64 9, ptr %t22)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_45_materialize_get(ptr %p, double %i) #0 { ; live element of array
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t1, ptr @sc_ldr_46_materialize_rops)
+ call void @sc_rrelease_r11(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_45_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array
+entry:
+ %t0 = call zeroext i1 @sc_dm_29(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_76(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_45_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_45_materialize_get, ptr @sc_ldr_45_materialize_set }
+
+define internal ptr @sc_ldr_45_materialize(ptr %p) #0 { ; materialize live stream value array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t11, ptr @sc_ldr_46_materialize_rops)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @sc_rrelease_r11(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_43_materialize(ptr %p) #0 { ; materialize live stream value object:%m14.BakedAssets
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m14_BakedAssets(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %p, i64 0, i32 3
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t5, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, ptr @sc_cs_3599972234312006, i64 10, ptr @sc_ldr_44_materialize, ptr @sc_ldr_44_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3804612928743770, i64 4, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %p, i64 0, i32 4
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3607504563658207, i64 17, ptr @sc_ldr_45_materialize, ptr @sc_ldr_45_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t9, ptr @sc_ldr_45_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1810373001322451, i64 7, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %p, i64 0, i32 2
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t11)
+ call void @scr_dyn_release_v(ptr %t12)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_42_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m9.EmbeddedAssets
+entry:
+ %derived_vt_slot = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %target, i64 0, i32 1
+ %derived_vt = load ptr, ptr %derived_vt_slot
+ %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0
+ %derived_pre = load i64, ptr %derived_pre_slot
+ %derived0 = icmp eq i64 %derived_pre, 38
+ br i1 %derived0, label %derived0_commit, label %derived0_next
+derived0_commit:
+ call void @sc_ldr_43_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived0_next:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3804612928743770, i64 4)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_74(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %target, i64 0, i32 3
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @sc_rrelease_r12(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1810373001322451, i64 7)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_75(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %target, i64 0, i32 4
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_arr_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m9_EmbeddedAssets(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_3804612928743770, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_1810373001322451, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_42_materialize(ptr %p) #0 { ; materialize live stream value object:%m9.EmbeddedAssets
+entry:
+ %t0 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %p, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0
+ %t3 = load i64, ptr %t2
+ %t4 = icmp eq i64 %t3, 38
+ br i1 %t4, label %class.derived0, label %class.next1
+class.derived0:
+ %t5 = call ptr @sc_ldr_43_materialize(ptr %p)
+ ret ptr %t5
+class.next1:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t9 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %p)
+ %t7 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m9_EmbeddedAssets(ptr %t9)
+ %t8 = call ptr @scr_dyn_set_prototype(ptr %t6, ptr %t7)
+ call void @scr_dyn_release_v(ptr %t7)
+ call void @scr_dyn_release_v(ptr %t8)
+ %t10 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %p, i64 0, i32 3
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, ptr @sc_cs_3599972234312006, i64 10, ptr @sc_ldr_44_materialize, ptr @sc_ldr_44_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_3804612928743770, i64 4, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %p, i64 0, i32 4
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3607504563658207, i64 17, ptr @sc_ldr_45_materialize, ptr @sc_ldr_45_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_45_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t6, ptr @sc_cs_1810373001322451, i64 7, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %p, i64 0, i32 2
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @scr_dyn_copy_property_descriptors(ptr %t6, ptr %t17)
+ call void @scr_dyn_release_v(ptr %t18)
+ ret ptr %t6
+}
+
+define internal void @sc_ldr_49_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m11.StaticServer
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_662344961506331, i64 3)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_79(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 1
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @sc_release__x25_m6_AssetSource(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_24845548896369, i64 3)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call zeroext i1 @sc_dc_3(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 2
+ %f1_old = load i8, ptr %f1_ptr
+ %f1_stored = zext i1 %f1_next to i8
+ store i8 %f1_stored, ptr %f1_ptr
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_365197477495960, i64 3)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_1(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 3
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @scr_arr_release(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_488203381972006, i64 5)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call ptr @sc_dc_0(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 4
+ %f3_old = load ptr, ptr %f3_ptr
+ store ptr %f3_next, ptr %f3_ptr
+ call void @scr_str_release(ptr %f3_old)
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_938646781597298, i64 2)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call ptr @sc_dc_0(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 5
+ %f4_old = load ptr, ptr %f4_ptr
+ store ptr %f4_next, ptr %f4_ptr
+ call void @scr_str_release(ptr %f4_old)
+ br label %f4_after
+f4_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m11_StaticServer(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m11_StaticServer(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_662344961506331, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_24845548896369, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_365197477495960, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_488203381972006, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_938646781597298, i64 2)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %target, i64 0, i32 6
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_51_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m8.DiskAssets
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1267962741864417, i64 4)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 3
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_str_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2539353158381885, i64 5)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 4
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_str_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_3804612928743770, i64 4)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_74(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 5
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @sc_rrelease_r12(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1810373001322451, i64 7)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call ptr @sc_dc_75(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 6
+ %f3_old = load ptr, ptr %f3_ptr
+ store ptr %f3_next, ptr %f3_ptr
+ call void @scr_arr_release(ptr %f3_old)
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1021574860422195, i64 7)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call ptr @sc_dc_19(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 7
+ %f4_old = load ptr, ptr %f4_ptr
+ store ptr %f4_next, ptr %f4_ptr
+ call void @scr_arr_release(ptr %f4_old)
+ br label %f4_after
+f4_after:
+ %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1363884959710398, i64 6)
+ %f5_missing = icmp eq ptr %f5_raw, null
+ %f5_undef = call ptr @scr_dyn_undefined()
+ %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw
+ %f5_next = call ptr @sc_dc_19(ptr %f5_input, ptr null)
+ %f5_pending.cell = load ptr, ptr @scr_exc_active
+ %f5_pending.kind = load i32, ptr %f5_pending.cell
+ %f5_pending = icmp ne i32 %f5_pending.kind, 0
+ br i1 %f5_pending, label %done, label %f5_store
+f5_store:
+ %f5_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 8
+ %f5_old = load ptr, ptr %f5_ptr
+ store ptr %f5_next, ptr %f5_ptr
+ call void @scr_arr_release(ptr %f5_old)
+ br label %f5_after
+f5_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1267962741864417, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_2539353158381885, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_3804612928743770, i64 4)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_1810373001322451, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_1021574860422195, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_1363884959710398, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key5)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+@sc_ldr_51_materialize_cnames = internal constant [3 x ptr] [ptr @sc_lit_4006719217465510, ptr @sc_lit_731773075116702, ptr @sc_lit_411633604077632]
+@sc_ldr_51_materialize_cops = internal constant { ptr, i64, ptr, ptr } { ptr null, i64 3, ptr @sc_ldr_51_materialize_cnames, ptr @sc_lit_1662472325369337 }
+
+define internal ptr @sc_ldr_51_materialize(ptr %p) #0 { ; materialize live stream value object:%m8.DiskAssets
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 3
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1267962741864417, i64 4, ptr %t3)
+ %t4 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 4
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2539353158381885, i64 5, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 5
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, ptr @sc_cs_3599972234312006, i64 10, ptr @sc_ldr_44_materialize, ptr @sc_ldr_44_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3804612928743770, i64 4, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 6
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t11, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3607504563658207, i64 17, ptr @sc_ldr_45_materialize, ptr @sc_ldr_45_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t12, ptr @sc_ldr_45_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1810373001322451, i64 7, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 7
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t14, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t15, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1021574860422195, i64 7, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 8
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t17, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t18, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1363884959710398, i64 6, ptr %t18)
+ %t19 = getelementptr inbounds %sc_o__x25_m8_DiskAssets, ptr %p, i64 0, i32 2
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t20)
+ call void @scr_dyn_release_v(ptr %t21)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_50_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m6.AssetSource
+entry:
+ %derived_vt_slot = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %target, i64 0, i32 1
+ %derived_vt = load ptr, ptr %derived_vt_slot
+ %derived_pre_slot = getelementptr inbounds %ScrVt, ptr %derived_vt, i64 0, i32 0
+ %derived_pre = load i64, ptr %derived_pre_slot
+ %derived0 = icmp eq i64 %derived_pre, 38
+ br i1 %derived0, label %derived0_commit, label %derived0_next
+derived0_commit:
+ call void @sc_ldr_43_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived0_next:
+ %derived1 = icmp eq i64 %derived_pre, 37
+ br i1 %derived1, label %derived1_commit, label %derived1_next
+derived1_commit:
+ call void @sc_ldr_42_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived1_next:
+ %derived2 = icmp eq i64 %derived_pre, 36
+ br i1 %derived2, label %derived2_commit, label %derived2_next
+derived2_commit:
+ call void @sc_ldr_51_materialize_commit(ptr %target, ptr %d)
+ ret void
+derived2_next:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m6_AssetSource(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m6_AssetSource(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_50_materialize(ptr %p) #0 { ; materialize live stream value object:%m6.AssetSource
+entry:
+ %t0 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %p, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = getelementptr inbounds %ScrVt, ptr %t1, i64 0, i32 0
+ %t3 = load i64, ptr %t2
+ %t4 = icmp eq i64 %t3, 38
+ br i1 %t4, label %class.derived0, label %class.next1
+class.derived0:
+ %t5 = call ptr @sc_ldr_43_materialize(ptr %p)
+ ret ptr %t5
+class.next1:
+ %t6 = icmp eq i64 %t3, 37
+ br i1 %t6, label %class.derived2, label %class.next3
+class.derived2:
+ %t7 = call ptr @sc_ldr_42_materialize(ptr %p)
+ ret ptr %t7
+class.next3:
+ %t8 = icmp eq i64 %t3, 36
+ br i1 %t8, label %class.derived4, label %class.next5
+class.derived4:
+ %t9 = call ptr @sc_ldr_51_materialize(ptr %p)
+ ret ptr %t9
+class.next5:
+ %t10 = call ptr @scr_dyn_new_obj()
+ %t13 = call ptr @sc_retain__x25_m6_AssetSource(ptr %p)
+ %t11 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m6_AssetSource(ptr %t13)
+ %t12 = call ptr @scr_dyn_set_prototype(ptr %t10, ptr %t11)
+ call void @scr_dyn_release_v(ptr %t11)
+ call void @scr_dyn_release_v(ptr %t12)
+ %t14 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %p, i64 0, i32 2
+ %t15 = load ptr, ptr %t14
+ %t16 = call ptr @scr_dyn_copy_property_descriptors(ptr %t10, ptr %t15)
+ call void @scr_dyn_release_v(ptr %t16)
+ ret ptr %t10
+}
+
+define internal ptr @sc_ldr_49_materialize(ptr %p) #0 { ; materialize live stream value object:%m11.StaticServer
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m11_StaticServer(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m11_StaticServer(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_662344961506331, i64 3, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 2
+ %t8 = load i8, ptr %t7
+ %t9 = trunc i8 %t8 to i1
+ %t10 = call ptr @sc_td_3(i1 %t9)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_24845548896369, i64 3, ptr %t10)
+ %t11 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 3
+ %t12 = load ptr, ptr %t11
+ %t13 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t12, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t13, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_365197477495960, i64 3, ptr %t13)
+ %t14 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 4
+ %t15 = load ptr, ptr %t14
+ %t16 = call ptr @sc_td_0(ptr %t15)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_488203381972006, i64 5, ptr %t16)
+ %t17 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 5
+ %t18 = load ptr, ptr %t17
+ %t19 = call ptr @sc_td_0(ptr %t18)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_938646781597298, i64 2, ptr %t19)
+ %t20 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %p, i64 0, i32 6
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t21)
+ call void @scr_dyn_release_v(ptr %t22)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_52_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r33
+entry:
+ %next = call ptr @sc_dc_80(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r33, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r33, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; error
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ call void @sc_rrelease_r33(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal zeroext i1 @sc_ldr_52_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r33
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_52_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r33
+entry:
+ switch i64 %i, label %live.record.bad1 [ i64 0, label %live.record.get0 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r33, ptr %p, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @sc_td_0(ptr %t1)
+ ret ptr %t2
+live.record.bad1:
+ unreachable
+}
+
+@sc_ldr_52_materialize_names = internal constant [1 x ptr] [ptr @sc_lit_3553689444499593]
+@sc_ldr_52_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 1, ptr @sc_ldr_52_materialize_names, ptr @sc_ldr_52_materialize_has, ptr @sc_ldr_52_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_52_materialize(ptr %p) #0 { ; materialize live stream value record:r33
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r33, ptr %p, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3553689444499593, i64 5, ptr %t3)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_53_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array
+entry:
+ %next = call ptr @sc_dc_83(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_54_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r14
+entry:
+ %next = call ptr @sc_dc_84(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; b64
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 2
+ %old1 = load ptr, ptr %tp1 ; encs
+ %new1 = load ptr, ptr %np1
+ store ptr %new1, ptr %tp1
+ store ptr %old1, ptr %np1
+ %tp2 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 3
+ %np2 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 3
+ %old2 = load ptr, ptr %tp2 ; etag
+ %new2 = load ptr, ptr %np2
+ store ptr %new2, ptr %tp2
+ store ptr %old2, ptr %np2
+ %tp3 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 4
+ %np3 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 4
+ %old3 = load i8, ptr %tp3 ; immutable
+ %new3 = load i8, ptr %np3
+ store i8 %new3, ptr %tp3
+ store i8 %old3, ptr %np3
+ %tp4 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 5
+ %np4 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 5
+ %old4 = load double, ptr %tp4 ; mtimeMs
+ %new4 = load double, ptr %np4
+ store double %new4, ptr %tp4
+ store double %old4, ptr %np4
+ %tp5 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 6
+ %np5 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 6
+ %old5 = load ptr, ptr %tp5 ; path
+ %new5 = load ptr, ptr %np5
+ store ptr %new5, ptr %tp5
+ store ptr %old5, ptr %np5
+ %tp6 = getelementptr inbounds %sc_rs_r14, ptr %target, i64 0, i32 7
+ %np6 = getelementptr inbounds %sc_rs_r14, ptr %next, i64 0, i32 7
+ %old6 = load ptr, ptr %tp6 ; type
+ %new6 = load ptr, ptr %np6
+ store ptr %new6, ptr %tp6
+ store ptr %old6, ptr %np6
+ call void @sc_rrelease_r14(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_55_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element array
+entry:
+ %next = call ptr @sc_dc_85(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ call void @scr_arr_outline(ptr %target)
+ call void @scr_arr_outline(ptr %next)
+ %target_len_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 1
+ %next_len_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 1
+ %target_len = load i64, ptr %target_len_ptr
+ %next_len = load i64, ptr %next_len_ptr
+ store i64 %next_len, ptr %target_len_ptr
+ store i64 %target_len, ptr %next_len_ptr
+ %target_cap_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 2
+ %next_cap_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 2
+ %target_cap = load i64, ptr %target_cap_ptr
+ %next_cap = load i64, ptr %next_cap_ptr
+ store i64 %next_cap, ptr %target_cap_ptr
+ store i64 %target_cap, ptr %next_cap_ptr
+ %target_data_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 8
+ %next_data_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 8
+ %target_data = load ptr, ptr %target_data_ptr
+ %next_data = load ptr, ptr %next_data_ptr
+ store ptr %next_data, ptr %target_data_ptr
+ store ptr %target_data, ptr %next_data_ptr
+ %target_present_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 9
+ %next_present_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 9
+ %target_present = load ptr, ptr %target_present_ptr
+ %next_present = load ptr, ptr %next_present_ptr
+ store ptr %next_present, ptr %target_present_ptr
+ store ptr %target_present, ptr %next_present_ptr
+ %target_filled_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 6
+ %next_filled_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 6
+ %target_filled = load i32, ptr %target_filled_ptr
+ %next_filled = load i32, ptr %next_filled_ptr
+ store i32 %next_filled, ptr %target_filled_ptr
+ store i32 %target_filled, ptr %next_filled_ptr
+ %target_ext_ptr = getelementptr inbounds %ScrArr, ptr %target, i64 0, i32 10
+ %next_ext_ptr = getelementptr inbounds %ScrArr, ptr %next, i64 0, i32 10
+ %target_ext = load ptr, ptr %target_ext_ptr
+ %next_ext = load ptr, ptr %next_ext_ptr
+ store ptr %next_ext, ptr %target_ext_ptr
+ store ptr %target_ext, ptr %next_ext_ptr
+ call void @scr_arr_release(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal void @sc_ldr_56_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r13
+entry:
+ %next = call ptr @sc_dc_86(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r13, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r13, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; b64
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ %tp1 = getelementptr inbounds %sc_rs_r13, ptr %target, i64 0, i32 2
+ %np1 = getelementptr inbounds %sc_rs_r13, ptr %next, i64 0, i32 2
+ %old1 = load ptr, ptr %tp1 ; enc
+ %new1 = load ptr, ptr %np1
+ store ptr %new1, ptr %tp1
+ store ptr %old1, ptr %np1
+ %tp2 = getelementptr inbounds %sc_rs_r13, ptr %target, i64 0, i32 3
+ %np2 = getelementptr inbounds %sc_rs_r13, ptr %next, i64 0, i32 3
+ %old2 = load ptr, ptr %tp2 ; etag
+ %new2 = load ptr, ptr %np2
+ store ptr %new2, ptr %tp2
+ store ptr %old2, ptr %np2
+ call void @sc_rrelease_r13(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal zeroext i1 @sc_ldr_56_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r13
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_56_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r13
+entry:
+ switch i64 %i, label %live.record.bad3 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 2
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @sc_td_0(ptr %t1)
+ ret ptr %t2
+live.record.get1:
+ %t3 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ %t5 = call ptr @sc_td_0(ptr %t4)
+ ret ptr %t5
+live.record.get2:
+ %t6 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 3
+ %t7 = load ptr, ptr %t6
+ %t8 = call ptr @sc_td_0(ptr %t7)
+ ret ptr %t8
+live.record.bad3:
+ unreachable
+}
+
+@sc_ldr_56_materialize_names = internal constant [3 x ptr] [ptr @sc_lit_1683535768246717, ptr @sc_lit_2359144980483679, ptr @sc_lit_4445240590403708]
+@sc_ldr_56_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 3, ptr @sc_ldr_56_materialize_names, ptr @sc_ldr_56_materialize_has, ptr @sc_ldr_56_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_56_materialize(ptr %p) #0 { ; materialize live stream value record:r13
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 2
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1683535768246717, i64 3, ptr %t3)
+ %t4 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2359144980483679, i64 3, ptr %t6)
+ %t7 = getelementptr inbounds %sc_rs_r13, ptr %p, i64 0, i32 3
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t9)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_55_materialize_get(ptr %p, double %i) #0 { ; live element of array
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r13, ptr @sc_rrelease_r13, ptr @sc_cs_2563538800453537, i64 10, ptr @sc_ldr_56_materialize, ptr @sc_ldr_56_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t1, ptr @sc_ldr_56_materialize_rops)
+ call void @sc_rrelease_r13(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_55_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array
+entry:
+ %t0 = call zeroext i1 @sc_dm_31(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_86(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_55_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_55_materialize_get, ptr @sc_ldr_55_materialize_set }
+
+define internal ptr @sc_ldr_55_materialize(ptr %p) #0 { ; materialize live stream value array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r13, ptr @sc_rrelease_r13, ptr @sc_cs_2563538800453537, i64 10, ptr @sc_ldr_56_materialize, ptr @sc_ldr_56_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t11, ptr @sc_ldr_56_materialize_rops)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @sc_rrelease_r13(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal zeroext i1 @sc_ldr_54_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r14
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_54_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r14
+entry:
+ switch i64 %i, label %live.record.bad7 [ i64 0, label %live.record.get0 i64 1, label %live.record.get1 i64 2, label %live.record.get2 i64 3, label %live.record.get3 i64 4, label %live.record.get4 i64 5, label %live.record.get5 i64 6, label %live.record.get6 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 6
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @sc_td_0(ptr %t1)
+ ret ptr %t2
+live.record.get1:
+ %t3 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 7
+ %t4 = load ptr, ptr %t3
+ %t5 = call ptr @sc_td_0(ptr %t4)
+ ret ptr %t5
+live.record.get2:
+ %t6 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 1
+ %t7 = load ptr, ptr %t6
+ %t8 = call ptr @sc_td_0(ptr %t7)
+ ret ptr %t8
+live.record.get3:
+ %t9 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 3
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr @sc_td_0(ptr %t10)
+ ret ptr %t11
+live.record.get4:
+ %t12 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 5
+ %t13 = load double, ptr %t12
+ %t14 = call ptr @sc_td_2(double %t13)
+ ret ptr %t14
+live.record.get5:
+ %t15 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 4
+ %t16 = load i8, ptr %t15
+ %t17 = trunc i8 %t16 to i1
+ %t18 = call ptr @sc_td_3(i1 %t17)
+ ret ptr %t18
+live.record.get6:
+ %t19 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 2
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t20, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3299468148590259, i64 17, ptr @sc_ldr_55_materialize, ptr @sc_ldr_55_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t21, ptr @sc_ldr_55_materialize_ops)
+ ret ptr %t21
+live.record.bad7:
+ unreachable
+}
+
+@sc_ldr_54_materialize_names = internal constant [7 x ptr] [ptr @sc_lit_2826818497658723, ptr @sc_lit_334509345124372, ptr @sc_lit_2359144980483679, ptr @sc_lit_4445240590403708, ptr @sc_lit_2067668976369489, ptr @sc_lit_1096813006725504, ptr @sc_lit_448384591214783]
+@sc_ldr_54_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 7, ptr @sc_ldr_54_materialize_names, ptr @sc_ldr_54_materialize_has, ptr @sc_ldr_54_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_54_materialize(ptr %p) #0 { ; materialize live stream value record:r14
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 6
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2826818497658723, i64 4, ptr %t3)
+ %t4 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 7
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_334509345124372, i64 4, ptr %t6)
+ %t7 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 1
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2359144980483679, i64 3, ptr %t9)
+ %t10 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 3
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @sc_td_0(ptr %t11)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4445240590403708, i64 4, ptr %t12)
+ %t13 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 5
+ %t14 = load double, ptr %t13
+ %t15 = call ptr @sc_td_2(double %t14)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2067668976369489, i64 7, ptr %t15)
+ %t16 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 4
+ %t17 = load i8, ptr %t16
+ %t18 = trunc i8 %t17 to i1
+ %t19 = call ptr @sc_td_3(i1 %t18)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1096813006725504, i64 9, ptr %t19)
+ %t20 = getelementptr inbounds %sc_rs_r14, ptr %p, i64 0, i32 2
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t21, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3299468148590259, i64 17, ptr @sc_ldr_55_materialize, ptr @sc_ldr_55_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t22, ptr @sc_ldr_55_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_448384591214783, i64 4, ptr %t22)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldr_53_materialize_get(ptr %p, double %i) #0 { ; live element of array
+entry:
+ %t0 = call ptr @scr_arr_get_ref(ptr %p, double %i) ; +1
+ %t1 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t0, ptr @sc_rretain_r14, ptr @sc_rrelease_r14, ptr @sc_cs_2067294835765432, i64 10, ptr @sc_ldr_54_materialize, ptr @sc_ldr_54_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t1, ptr @sc_ldr_54_materialize_rops)
+ call void @sc_rrelease_r14(ptr %t0)
+ ret ptr %t1
+}
+
+define internal zeroext i1 @sc_ldr_53_materialize_set(ptr %p, double %i, ptr %v) #0 { ; live element store into array
+entry:
+ %t0 = call zeroext i1 @sc_dm_32(ptr %v)
+ br i1 %t0, label %live.array.store0, label %live.array.refuse1
+live.array.refuse1:
+ ret i1 false
+live.array.store0:
+ %t1 = call ptr @sc_dc_84(ptr %v, ptr null)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %live.array.failed3, label %live.array.write2
+live.array.failed3:
+ ret i1 true
+live.array.write2:
+ call void @scr_arr_set_ref(ptr %p, double %i, ptr %t1) ; takes ownership
+ ret i1 true
+}
+
+@sc_ldr_53_materialize_ops = internal constant { ptr, ptr } { ptr @sc_ldr_53_materialize_get, ptr @sc_ldr_53_materialize_set }
+
+define internal ptr @sc_ldr_53_materialize(ptr %p) #0 { ; materialize live stream value array
+entry:
+ %s2 = alloca double
+ %t0 = call ptr @scr_dyn_new_arr()
+ %t1 = call double @scr_arr_len(ptr %p)
+ store double 0x0000000000000000, ptr %s2
+ br label %count.c0
+count.c0:
+ %t3 = load double, ptr %s2
+ %t4 = fcmp olt double %t3, %t1
+ br i1 %t4, label %count.b1, label %count.e3
+count.b1:
+ %t5 = call double @scr_arr_state(ptr %p, double %t3)
+ %t6 = fcmp oeq double %t5, 1.0
+ br i1 %t6, label %live.array.value4, label %live.array.absent5
+live.array.absent5:
+ %t7 = fcmp oeq double %t5, 0.0
+ br i1 %t7, label %live.array.hole6, label %live.array.undefined7
+live.array.hole6:
+ call void @scr_dyn_arr_push_hole(ptr %t0)
+ br label %live.array.done8
+live.array.undefined7:
+ %t8 = call ptr @scr_dyn_undefined()
+ %t9 = call ptr @scr_dyn_retain_v(ptr %t8)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t9)
+ br label %live.array.done8
+live.array.value4:
+ %t10 = call ptr @scr_arr_get_ref(ptr %p, double %t3) ; +1
+ %t11 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t10, ptr @sc_rretain_r14, ptr @sc_rrelease_r14, ptr @sc_cs_2067294835765432, i64 10, ptr @sc_ldr_54_materialize, ptr @sc_ldr_54_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t11, ptr @sc_ldr_54_materialize_rops)
+ call void @scr_dyn_arr_push(ptr %t0, ptr %t11)
+ call void @sc_rrelease_r14(ptr %t10)
+ br label %live.array.done8
+live.array.done8:
+ br label %count.n2
+count.n2:
+ %t12 = fadd double %t3, 0x3FF0000000000000
+ store double %t12, ptr %s2
+ br label %count.c0
+count.e3:
+ call void @scr_arr_copy_metadata(ptr %p, ptr %t0)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_57_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r20
+entry:
+ %next = call ptr @sc_dc_87(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r20, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r20, ptr %next, i64 0, i32 1
+ %old0 = load double, ptr %tp0 ; port
+ %new0 = load double, ptr %np0
+ store double %new0, ptr %tp0
+ store double %old0, ptr %np0
+ call void @sc_rrelease_r20(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal zeroext i1 @sc_ldr_57_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r20
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_57_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r20
+entry:
+ switch i64 %i, label %live.record.bad1 [ i64 0, label %live.record.get0 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r20, ptr %p, i64 0, i32 1
+ %t1 = load double, ptr %t0
+ %t2 = call ptr @sc_td_2(double %t1)
+ ret ptr %t2
+live.record.bad1:
+ unreachable
+}
+
+@sc_ldr_57_materialize_names = internal constant [1 x ptr] [ptr @sc_lit_4377402653539513]
+@sc_ldr_57_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 1, ptr @sc_ldr_57_materialize_names, ptr @sc_ldr_57_materialize_has, ptr @sc_ldr_57_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_57_materialize(ptr %p) #0 { ; materialize live stream value record:r20
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r20, ptr %p, i64 0, i32 1
+ %t2 = load double, ptr %t1
+ %t3 = call ptr @sc_td_2(double %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4377402653539513, i64 4, ptr %t3)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_58_materialize_commit(ptr %target, ptr %d) #0 { ; commit live stream element record:r21
+entry:
+ %next = call ptr @sc_dc_112(ptr %d, ptr null)
+ %missing = icmp eq ptr %next, null
+ br i1 %missing, label %done, label %swap
+swap:
+ %tp0 = getelementptr inbounds %sc_rs_r21, ptr %target, i64 0, i32 1
+ %np0 = getelementptr inbounds %sc_rs_r21, ptr %next, i64 0, i32 1
+ %old0 = load ptr, ptr %tp0 ; message
+ %new0 = load ptr, ptr %np0
+ store ptr %new0, ptr %tp0
+ store ptr %old0, ptr %np0
+ call void @sc_rrelease_r21(ptr %next)
+ br label %done
+done:
+ ret void
+}
+
+define internal zeroext i1 @sc_ldr_58_materialize_has(ptr %p, i64 %i) #0 { ; live field presence of record:r21
+entry:
+ switch i64 %i, label %live.record.always0 [ ]
+live.record.always0:
+ ret i1 true
+}
+
+define internal ptr @sc_ldr_58_materialize_get(ptr %p, i64 %i) #0 { ; live field of record:r21
+entry:
+ switch i64 %i, label %live.record.bad1 [ i64 0, label %live.record.get0 ]
+live.record.get0:
+ %t0 = getelementptr inbounds %sc_rs_r21, ptr %p, i64 0, i32 1
+ %t1 = load ptr, ptr %t0
+ %t2 = call ptr @sc_td_0(ptr %t1)
+ ret ptr %t2
+live.record.bad1:
+ unreachable
+}
+
+@sc_ldr_58_materialize_names = internal constant [1 x ptr] [ptr @sc_lit_3013970235377041]
+@sc_ldr_58_materialize_rops = internal global { i64, ptr, ptr, ptr, i8, ptr } { i64 1, ptr @sc_ldr_58_materialize_names, ptr @sc_ldr_58_materialize_has, ptr @sc_ldr_58_materialize_get, i8 1, ptr null }
+
+define internal ptr @sc_ldr_58_materialize(ptr %p) #0 { ; materialize live stream value record:r21
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t1 = getelementptr inbounds %sc_rs_r21, ptr %p, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_3013970235377041, i64 7, ptr %t3)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_59_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m0.GenDispatch
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2251933729900935, i64 22)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call double @sc_dc_2(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %target, i64 0, i32 1
+ %f0_old = load double, ptr %f0_ptr
+ store double %f0_next, ptr %f0_ptr
+ br label %f0_after
+f0_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m0_GenDispatch(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenDispatch(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_2251933729900935, i64 22)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_59_materialize(ptr %p) #0 { ; materialize live stream value object:%m0.GenDispatch
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenDispatch(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %p, i64 0, i32 1
+ %t5 = load double, ptr %t4
+ %t6 = call ptr @sc_td_2(double %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2251933729900935, i64 22, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t8)
+ call void @scr_dyn_release_v(ptr %t9)
+ ret ptr %t0
+}
+
+define internal void @sc_ldr_60_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m0.GenFetch
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2251933729900935, i64 22)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call double @sc_dc_2(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %target, i64 0, i32 1
+ %f0_old = load double, ptr %f0_ptr
+ store double %f0_next, ptr %f0_ptr
+ br label %f0_after
+f0_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m0_GenFetch(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenFetch(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_2251933729900935, i64 22)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %target, i64 0, i32 2
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_60_materialize(ptr %p) #0 { ; materialize live stream value object:%m0.GenFetch
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m0_GenFetch(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenFetch(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %p, i64 0, i32 1
+ %t5 = load double, ptr %t4
+ %t6 = call ptr @sc_td_2(double %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2251933729900935, i64 22, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t8)
+ call void @scr_dyn_release_v(ptr %t9)
+ ret ptr %t0
+}
+
+define internal ptr @sc_ldu_10(ptr %u) #0 { ; materialize live union value union:u0
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t0 = select i1 %t1, i32 0, i32 1
+ switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 ]
+ldu.ref1:
+ %t2 = call ptr @scr_dyn_new_typed_ref_observed(ptr %u, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ ret ptr %t2
+ldu.value2:
+ %t3 = call ptr @scr_dyn_new_null()
+ ret ptr %t3
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal void @sc_ldr_61_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m1.UpgradeDispatch
+entry:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m1_UpgradeDispatch(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %target, i64 0, i32 1
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_61_materialize(ptr %p) #0 { ; materialize live stream value object:%m1.UpgradeDispatch
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m1_UpgradeDispatch(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t5)
+ call void @scr_dyn_release_v(ptr %t6)
+ ret ptr %t0
+}
+
+define internal void @sc_dpa_1(ptr %dst, ptr %src) #0 { ; checked-dynamic promise exit record:r23
+entry:
+ %t0 = call ptr @scr_promise_payload_ref(ptr %src)
+ %t1 = call ptr @sc_dc_114(ptr %t0, ptr null)
+ call void @scr_dyn_release_v(ptr %t0)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %sra.fail0, label %sra.ok1
+sra.fail0:
+ call void @scr_promise_reject_pending(ptr %dst)
+ ret void
+sra.ok1:
+ call void @scr_promise_fulfill_ref(ptr %dst, ptr %t1, ptr @sc_rretain_r23, ptr @sc_rrelease_r23, ptr null)
+ ret void
+}
+
+define internal void @sc_ldr_62_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m3.LiteRequest
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1609576561362083, i64 6)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 1
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_str_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %f1_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_719487464480143, i64 3)
+ %f1_missing = icmp eq ptr %f1_raw, null
+ %f1_undef = call ptr @scr_dyn_undefined()
+ %f1_input = select i1 %f1_missing, ptr %f1_undef, ptr %f1_raw
+ %f1_next = call ptr @sc_dc_0(ptr %f1_input, ptr null)
+ %f1_pending.cell = load ptr, ptr @scr_exc_active
+ %f1_pending.kind = load i32, ptr %f1_pending.cell
+ %f1_pending = icmp ne i32 %f1_pending.kind, 0
+ br i1 %f1_pending, label %done, label %f1_store
+f1_store:
+ %f1_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 2
+ %f1_old = load ptr, ptr %f1_ptr
+ store ptr %f1_next, ptr %f1_ptr
+ call void @scr_str_release(ptr %f1_old)
+ br label %f1_after
+f1_after:
+ %f2_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_977412068193087, i64 7)
+ %f2_missing = icmp eq ptr %f2_raw, null
+ %f2_undef = call ptr @scr_dyn_undefined()
+ %f2_input = select i1 %f2_missing, ptr %f2_undef, ptr %f2_raw
+ %f2_next = call ptr @sc_dc_6(ptr %f2_input, ptr null)
+ %f2_pending.cell = load ptr, ptr @scr_exc_active
+ %f2_pending.kind = load i32, ptr %f2_pending.cell
+ %f2_pending = icmp ne i32 %f2_pending.kind, 0
+ br i1 %f2_pending, label %done, label %f2_store
+f2_store:
+ %f2_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 3
+ %f2_old = load ptr, ptr %f2_ptr
+ store ptr %f2_next, ptr %f2_ptr
+ call void @sc_rc_release_dyn(ptr %f2_old)
+ br label %f2_after
+f2_after:
+ %f3_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1515898915129638, i64 3)
+ %f3_missing = icmp eq ptr %f3_raw, null
+ %f3_undef = call ptr @scr_dyn_undefined()
+ %f3_input = select i1 %f3_missing, ptr %f3_undef, ptr %f3_raw
+ %f3_next = call ptr @sc_dc_16(ptr %f3_input, ptr null)
+ %f3_pending.cell = load ptr, ptr @scr_exc_active
+ %f3_pending.kind = load i32, ptr %f3_pending.cell
+ %f3_pending = icmp ne i32 %f3_pending.kind, 0
+ br i1 %f3_pending, label %done, label %f3_store
+f3_store:
+ %f3_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 4
+ %f3_old = load ptr, ptr %f3_ptr
+ store ptr %f3_next, ptr %f3_ptr
+ call void @scr_http_req_release(ptr %f3_old)
+ br label %f3_after
+f3_after:
+ %f4_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_2951457732402023, i64 3)
+ %f4_missing = icmp eq ptr %f4_raw, null
+ %f4_undef = call ptr @scr_dyn_undefined()
+ %f4_input = select i1 %f4_missing, ptr %f4_undef, ptr %f4_raw
+ %f4_next = call ptr @sc_dc_13(ptr %f4_input, ptr null)
+ %f4_pending.cell = load ptr, ptr @scr_exc_active
+ %f4_pending.kind = load i32, ptr %f4_pending.cell
+ %f4_pending = icmp ne i32 %f4_pending.kind, 0
+ br i1 %f4_pending, label %done, label %f4_store
+f4_store:
+ %f4_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 5
+ %f4_old = load ptr, ptr %f4_ptr
+ store ptr %f4_next, ptr %f4_ptr
+ call void @sc_rrelease_r0(ptr %f4_old)
+ br label %f4_after
+f4_after:
+ %f5_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_4297677228401092, i64 2)
+ %f5_missing = icmp eq ptr %f5_raw, null
+ %f5_undef = call ptr @scr_dyn_undefined()
+ %f5_input = select i1 %f5_missing, ptr %f5_undef, ptr %f5_raw
+ %f5_next = call ptr @sc_dc_22(ptr %f5_input, ptr null)
+ %f5_pending.cell = load ptr, ptr @scr_exc_active
+ %f5_pending.kind = load i32, ptr %f5_pending.cell
+ %f5_pending = icmp ne i32 %f5_pending.kind, 0
+ br i1 %f5_pending, label %done, label %f5_store
+f5_store:
+ %f5_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 6
+ %f5_old = load ptr, ptr %f5_ptr
+ store ptr %f5_next, ptr %f5_ptr
+ call void @scr_str_release(ptr %f5_old)
+ br label %f5_after
+f5_after:
+ %f6_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_201462833315591, i64 7)
+ %f6_missing = icmp eq ptr %f6_raw, null
+ %f6_undef = call ptr @scr_dyn_undefined()
+ %f6_input = select i1 %f6_missing, ptr %f6_undef, ptr %f6_raw
+ %f6_next = call ptr @sc_dc_27(ptr %f6_input, ptr null)
+ %f6_pending.cell = load ptr, ptr @scr_exc_active
+ %f6_pending.kind = load i32, ptr %f6_pending.cell
+ %f6_pending = icmp ne i32 %f6_pending.kind, 0
+ br i1 %f6_pending, label %done, label %f6_store
+f6_store:
+ %f6_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 7
+ %f6_old = load ptr, ptr %f6_ptr
+ store ptr %f6_next, ptr %f6_ptr
+ call void @scr_arr_release(ptr %f6_old)
+ br label %f6_after
+f6_after:
+ %f7_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1347488745603967, i64 6)
+ %f7_missing = icmp eq ptr %f7_raw, null
+ %f7_undef = call ptr @scr_dyn_undefined()
+ %f7_input = select i1 %f7_missing, ptr %f7_undef, ptr %f7_raw
+ %f7_next = call double @sc_dc_2(ptr %f7_input, ptr null)
+ %f7_pending.cell = load ptr, ptr @scr_exc_active
+ %f7_pending.kind = load i32, ptr %f7_pending.cell
+ %f7_pending = icmp ne i32 %f7_pending.kind, 0
+ br i1 %f7_pending, label %done, label %f7_store
+f7_store:
+ %f7_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 8
+ %f7_old = load double, ptr %f7_ptr
+ store double %f7_next, ptr %f7_ptr
+ br label %f7_after
+f7_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %prototype_receiver = call ptr @sc_retain__x25_m3_LiteRequest(ptr %target)
+ %prototype = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteRequest(ptr %prototype_receiver)
+ %with_prototype = call ptr @scr_dyn_set_prototype(ptr %bag, ptr %prototype)
+ call void @scr_dyn_release_v(ptr %prototype)
+ call void @scr_dyn_release_v(ptr %with_prototype)
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1609576561362083, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_key1 = call ptr @scr_str_new(ptr @sc_cs_719487464480143, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key1, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key1)
+ %bag_key2 = call ptr @scr_str_new(ptr @sc_cs_977412068193087, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key2, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key2)
+ %bag_key3 = call ptr @scr_str_new(ptr @sc_cs_1515898915129638, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key3, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key3)
+ %bag_key4 = call ptr @scr_str_new(ptr @sc_cs_2951457732402023, i64 3)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key4, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key4)
+ %bag_key5 = call ptr @scr_str_new(ptr @sc_cs_4297677228401092, i64 2)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key5, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key5)
+ %bag_key6 = call ptr @scr_str_new(ptr @sc_cs_201462833315591, i64 7)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key6, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key6)
+ %bag_key7 = call ptr @scr_str_new(ptr @sc_cs_1347488745603967, i64 6)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key7, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key7)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %target, i64 0, i32 9
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_62_materialize(ptr %p) #0 { ; materialize live stream value object:%m3.LiteRequest
+entry:
+ %t0 = call ptr @scr_dyn_new_obj()
+ %t3 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %p)
+ %t1 = call ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteRequest(ptr %t3)
+ %t2 = call ptr @scr_dyn_set_prototype(ptr %t0, ptr %t1)
+ call void @scr_dyn_release_v(ptr %t1)
+ call void @scr_dyn_release_v(ptr %t2)
+ %t4 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 1
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @sc_td_0(ptr %t5)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1609576561362083, i64 6, ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_719487464480143, i64 3, ptr %t9)
+ %t10 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 3
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @sc_td_4(ptr %t11)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_977412068193087, i64 7, ptr %t12)
+ %t13 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 4
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_td_10(ptr %t14)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1515898915129638, i64 3, ptr %t15)
+ %t16 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 5
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t17, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_2951457732402023, i64 3, ptr %t18)
+ %t19 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 6
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @sc_td_13(ptr %t20)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_4297677228401092, i64 2, ptr %t21)
+ %t22 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 7
+ %t23 = load ptr, ptr %t22
+ %t24 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t23, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t24, ptr @sc_ldr_20_materialize_ops)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_201462833315591, i64 7, ptr %t24)
+ %t25 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 8
+ %t26 = load double, ptr %t25
+ %t27 = call ptr @sc_td_2(double %t26)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1347488745603967, i64 6, ptr %t27)
+ %t28 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %p, i64 0, i32 9
+ %t29 = load ptr, ptr %t28
+ %t30 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t29)
+ call void @scr_dyn_release_v(ptr %t30)
+ ret ptr %t0
+}
+
+define internal void @sc_dpa_2(ptr %dst, ptr %src) #0 { ; checked-dynamic promise exit void
+entry:
+ %t0 = call ptr @scr_promise_payload_ref(ptr %src)
+ ; void fulfillment ignores the checked payload
+ call void @scr_dyn_release_v(ptr %t0)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %sra.fail0, label %sra.ok1
+sra.fail0:
+ call void @scr_promise_reject_pending(ptr %dst)
+ ret void
+sra.ok1:
+ call void @scr_promise_fulfill_void(ptr %dst)
+ ret void
+}
+
+define internal void @sc_dpa_3(ptr %dst, ptr %src) #0 { ; checked-dynamic promise exit string
+entry:
+ %t0 = call ptr @scr_promise_payload_ref(ptr %src)
+ %t1 = call ptr @sc_dc_0(ptr %t0, ptr null)
+ call void @scr_dyn_release_v(ptr %t0)
+ %t2.cell = load ptr, ptr @scr_exc_active
+ %t2.kind = load i32, ptr %t2.cell
+ %t2 = icmp ne i32 %t2.kind, 0
+ br i1 %t2, label %sra.fail0, label %sra.ok1
+sra.fail0:
+ call void @scr_promise_reject_pending(ptr %dst)
+ ret void
+sra.ok1:
+ call void @scr_promise_fulfill_str(ptr %dst, ptr %t1)
+ ret void
+}
+
+define internal ptr @sc_ldu_11(ptr %u) #0 { ; materialize live union value union:u37
+entry:
+ %t1 = getelementptr inbounds %ScrUnion, ptr %u, i64 0, i32 1
+ %t0 = load i32, ptr %t1
+ switch i32 %t0, label %ldu.bad0 [ i32 0, label %ldu.value1 i32 1, label %ldu.value2 ]
+ldu.value1:
+ %t2 = getelementptr inbounds %ScrUnion, ptr %u, i64 0, i32 5
+ %t3 = load ptr, ptr %t2
+ %t4 = call ptr @sc_td_1(ptr %t3)
+ ret ptr %t4
+ldu.value2:
+ %t5 = call ptr @scr_dyn_undefined()
+ %t6 = call ptr @scr_dyn_retain_v(ptr %t5)
+ ret ptr %t6
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal ptr @sc_ldu_12(ptr %u) #0 { ; materialize live union value union:u35
+entry:
+ %t1 = icmp eq ptr %u, null
+ %t2 = icmp eq ptr %u, @sc_nullable_null
+ %t3 = select i1 %t2, i32 0, i32 1
+ %t0 = select i1 %t1, i32 2, i32 %t3
+ switch i32 %t0, label %ldu.bad0 [ i32 1, label %ldu.ref1 i32 0, label %ldu.value2 i32 2, label %ldu.value3 ]
+ldu.ref1:
+ %t4 = call ptr @scr_dyn_new_typed_ref_observed(ptr %u, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t4, ptr @sc_ldr_46_materialize_rops)
+ ret ptr %t4
+ldu.value2:
+ %t5 = call ptr @scr_dyn_new_null()
+ ret ptr %t5
+ldu.value3:
+ %t6 = call ptr @scr_dyn_undefined()
+ %t7 = call ptr @scr_dyn_retain_v(ptr %t6)
+ ret ptr %t7
+ldu.bad0:
+ call void @scr_trap(ptr @sc_cs_2780107976102968)
+ unreachable
+}
+
+define internal void @sc_ldr_63_materialize_commit(ptr %target, ptr %d) #0 { ; commit unknown class object:%m5.MethodNotAllowedError
+entry:
+ %f0_raw = call ptr @scr_dyn_obj_get(ptr %d, ptr @sc_cs_1143527378875226, i64 5)
+ %f0_missing = icmp eq ptr %f0_raw, null
+ %f0_undef = call ptr @scr_dyn_undefined()
+ %f0_input = select i1 %f0_missing, ptr %f0_undef, ptr %f0_raw
+ %f0_next = call ptr @sc_dc_0(ptr %f0_input, ptr null)
+ %f0_pending.cell = load ptr, ptr @scr_exc_active
+ %f0_pending.kind = load i32, ptr %f0_pending.cell
+ %f0_pending = icmp ne i32 %f0_pending.kind, 0
+ br i1 %f0_pending, label %done, label %f0_store
+f0_store:
+ %f0_ptr = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %target, i64 0, i32 21
+ %f0_old = load ptr, ptr %f0_ptr
+ store ptr %f0_next, ptr %f0_ptr
+ call void @scr_str_release(ptr %f0_old)
+ br label %f0_after
+f0_after:
+ %bag = call ptr @scr_dyn_new_obj()
+ %bag_copy = call ptr @scr_dyn_copy_property_descriptors(ptr %bag, ptr %d)
+ call void @scr_dyn_release_v(ptr %bag_copy)
+ %bag_pending.cell = load ptr, ptr @scr_exc_active
+ %bag_pending.kind = load i32, ptr %bag_pending.cell
+ %bag_pending = icmp ne i32 %bag_pending.kind, 0
+ br i1 %bag_pending, label %bag_fail, label %bag_keys
+bag_fail:
+ call void @scr_dyn_release_v(ptr %bag)
+ br label %done
+bag_keys:
+ %bag_key0 = call ptr @scr_str_new(ptr @sc_cs_1143527378875226, i64 5)
+ call void @scr_dyn_key_delete(ptr %bag, ptr %bag_key0, i1 zeroext false)
+ call void @scr_str_release(ptr %bag_key0)
+ %bag_ptr = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %target, i64 0, i32 22
+ %bag_old = load ptr, ptr %bag_ptr
+ store ptr %bag, ptr %bag_ptr
+ call void @scr_dyn_release_v(ptr %bag_old)
+ call void @scr_error_commit_dyn(ptr %target, ptr %d)
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_ldr_63_materialize(ptr %p) #0 { ; materialize live stream value object:%m5.MethodNotAllowedError
+entry:
+ %t0 = call ptr @scr_error_dyn_fields(ptr %p)
+ %t1 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %p, i64 0, i32 21
+ %t2 = load ptr, ptr %t1
+ %t3 = call ptr @sc_td_0(ptr %t2)
+ call void @scr_dyn_obj_set(ptr %t0, ptr @sc_cs_1143527378875226, i64 5, ptr %t3)
+ %t4 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %p, i64 0, i32 22
+ %t5 = load ptr, ptr %t4
+ %t6 = call ptr @scr_dyn_copy_property_descriptors(ptr %t0, ptr %t5)
+ call void @scr_dyn_release_v(ptr %t6)
+ ret ptr %t0
+}
+
+define internal ptr @sc_error_view_2(ptr %v) #0 {
+entry:
+ %d = call ptr @scr_dyn_new_typed_ref_traced(ptr %v, ptr @sc_retain__x25_m5_MethodNotAllowedError, ptr @sc_release__x25_m5_MethodNotAllowedError, ptr @sc_cs_1875086966829314, i64 32, ptr @sc_ldr_63_materialize, ptr @sc_ldr_63_materialize_commit)
+ ret ptr %d
+}
+
+define internal double @sc_bf__x25_m2_utf8len(ptr %p_sc_l_s_0) #0 { ; %m2.utf8len
+entry:
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_n_0 = alloca double ; n
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_c_0 = alloca double ; c
+ %sc_l_c2_0 = alloca double ; c2
+ %s19 = alloca i1
+ %s23 = alloca i1
+ %s37 = alloca i1
+ store ptr null, ptr %sc_l_b_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t0 = load ptr, ptr %sc_l_s_0
+ store ptr %t0, ptr %sc_l_b_0
+ store double 0x0000000000000000, ptr %sc_l_n_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c1
+loop.c1:
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = load ptr, ptr %sc_l_b_0
+ %t3 = call double @sc_str_utf16_len(ptr %t2)
+ %t5 = fptosi double %t3 to i32
+ %t4 = fcmp olt double %t1, %t3
+ br i1 %t4, label %loop.b2, label %loop.e0
+loop.b2:
+ %t6 = load ptr, ptr %sc_l_b_0
+ %t7 = load double, ptr %sc_l_i_0
+ %t8 = call double @sc_str_char_code_at(ptr %t6, double %t7)
+ store double %t8, ptr %sc_l_c_0
+ %t9 = load double, ptr %sc_l_c_0
+ %t10 = fcmp olt double %t9, 0x4060000000000000
+ br i1 %t10, label %if.t4, label %if.f6
+if.t4:
+ %t11 = load double, ptr %sc_l_n_0
+ %t12 = fadd double %t11, 0x3FF0000000000000
+ store double %t12, ptr %sc_l_n_0
+ br label %if.j5
+if.f6:
+ %t13 = load double, ptr %sc_l_c_0
+ %t14 = fcmp olt double %t13, 0x40A0000000000000
+ br i1 %t14, label %if.t7, label %if.f9
+if.t7:
+ %t15 = load double, ptr %sc_l_n_0
+ %t16 = fadd double %t15, 0x4000000000000000
+ store double %t16, ptr %sc_l_n_0
+ br label %if.j8
+if.f9:
+ %t17 = load double, ptr %sc_l_c_0
+ %t18 = fcmp oge double %t17, 0x40EB000000000000
+ store i1 %t18, ptr %s19
+ br i1 %t18, label %log.r10, label %log.j11
+log.r10:
+ %t20 = load double, ptr %sc_l_c_0
+ %t21 = fcmp ole double %t20, 0x40EB7FE000000000
+ store i1 %t21, ptr %s19
+ br label %log.j11
+log.j11:
+ %t22 = load i1, ptr %s19
+ store i1 %t22, ptr %s23
+ br i1 %t22, label %log.r12, label %log.j13
+log.r12:
+ %t24 = load double, ptr %sc_l_i_0
+ %t25 = fadd double %t24, 0x3FF0000000000000
+ %t26 = load ptr, ptr %sc_l_b_0
+ %t27 = call double @sc_str_utf16_len(ptr %t26)
+ %t29 = fptosi double %t27 to i32
+ %t28 = fcmp olt double %t25, %t27
+ store i1 %t28, ptr %s23
+ br label %log.j13
+log.j13:
+ %t30 = load i1, ptr %s23
+ br i1 %t30, label %if.t14, label %if.f16
+if.t14:
+ %t31 = load ptr, ptr %sc_l_b_0
+ %t32 = load double, ptr %sc_l_i_0
+ %t33 = fadd double %t32, 0x3FF0000000000000
+ %t34 = call double @sc_str_char_code_at(ptr %t31, double %t33)
+ store double %t34, ptr %sc_l_c2_0
+ %t35 = load double, ptr %sc_l_c2_0
+ %t36 = fcmp oge double %t35, 0x40EB800000000000
+ store i1 %t36, ptr %s37
+ br i1 %t36, label %log.r17, label %log.j18
+log.r17:
+ %t38 = load double, ptr %sc_l_c2_0
+ %t39 = fcmp ole double %t38, 0x40EBFFE000000000
+ store i1 %t39, ptr %s37
+ br label %log.j18
+log.j18:
+ %t40 = load i1, ptr %s37
+ br i1 %t40, label %if.t19, label %if.f21
+if.t19:
+ %t41 = load double, ptr %sc_l_n_0
+ %t42 = fadd double %t41, 0x4010000000000000
+ store double %t42, ptr %sc_l_n_0
+ %t43 = load double, ptr %sc_l_i_0
+ %t44 = fadd double %t43, 0x3FF0000000000000
+ store double %t44, ptr %sc_l_i_0
+ br label %if.j20
+if.f21:
+ %t45 = load double, ptr %sc_l_n_0
+ %t46 = fadd double %t45, 0x4008000000000000
+ store double %t46, ptr %sc_l_n_0
+ br label %if.j20
+if.j20:
+ br label %if.j15
+if.f16:
+ %t47 = load double, ptr %sc_l_n_0
+ %t48 = fadd double %t47, 0x4008000000000000
+ store double %t48, ptr %sc_l_n_0
+ br label %if.j15
+if.j15:
+ br label %if.j8
+if.j8:
+ br label %if.j5
+if.j5:
+ br label %loop.u3
+loop.u3:
+ %t49 = load double, ptr %sc_l_i_0
+ %t50 = fadd double %t49, 0x3FF0000000000000
+ store double %t50, ptr %sc_l_i_0
+ br label %loop.c1
+loop.e0:
+ %t51 = load double, ptr %sc_l_n_0
+ ret double %t51
+}
+define internal double @sc_f__x25_m2_utf8len(ptr %p0) #0 {
+entry:
+ %result = call double @sc_bf__x25_m2_utf8len(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25_m4_u8slice(ptr %p_sc_l_b_0, double %p_sc_l_from_0, double %p_sc_l_to_0) #0 { ; %m4.u8slice
+entry:
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_from_0 = alloca double ; from
+ %sc_l_to_0 = alloca double ; to
+ %sc_l_n_0 = alloca double ; n
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca double ; i
+ %s9 = alloca double
+ %s10 = alloca i32
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s17 = alloca i64 ; integer induction i
+ store ptr null, ptr %sc_l_out_0
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ store double %p_sc_l_from_0, ptr %sc_l_from_0
+ store double %p_sc_l_to_0, ptr %sc_l_to_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load double, ptr %sc_l_to_0
+ %t5 = load double, ptr %sc_l_from_0
+ %t6 = fsub double %t4, %t5
+ store double %t6, ptr %sc_l_n_0
+ %t7 = load double, ptr %sc_l_n_0
+ %t8 = fcmp ogt double %t7, 0x0000000000000000
+ br i1 %t8, label %tern.t2, label %tern.f3
+tern.t2:
+ %t11 = load double, ptr %sc_l_n_0
+ store double %t11, ptr %s9
+ br label %tern.j4
+tern.f3:
+ store double 0x0000000000000000, ptr %s9
+ store i32 0, ptr %s10
+ br label %tern.j4
+tern.j4:
+ %t12 = load double, ptr %s9
+ %t13 = call ptr @scr_bytes_new(i32 0, double %t12)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @scr_bytes_release(ptr %t13)
+ ret ptr null
+exc.k6:
+ store ptr %t13, ptr %sc_l_out_0
+ store i64 0, ptr %s17
+ br label %loop.c8
+loop.c8:
+ %t18 = load ptr, ptr %sc_l_out_0
+ %t19 = getelementptr inbounds %ScrBytes, ptr %t18, i64 0, i32 1
+ %t20 = load i64, ptr %t19
+ %t21 = load i64, ptr %s17
+ %t22 = icmp ult i64 %t21, %t20
+ br i1 %t22, label %loop.b9, label %loop.e7
+loop.b9:
+ %t23 = load ptr, ptr %sc_l_out_0
+ %t24 = load i64, ptr %s17
+ %t25 = sitofp i64 %t24 to double
+ %t26 = trunc i64 %t24 to i32
+ %t27 = load ptr, ptr %sc_l_b_0
+ %t28 = load double, ptr %sc_l_from_0
+ %t29 = load i64, ptr %s17
+ %t30 = sitofp i64 %t29 to double
+ %t31 = trunc i64 %t29 to i32
+ %t32 = fadd double %t28, %t30
+ %t33 = getelementptr inbounds %ScrBytes, ptr %t27, i64 0, i32 1
+ %t34 = load i64, ptr %t33
+ %t35 = fptosi double %t32 to i64
+ %t36 = freeze i64 %t35
+ %t37 = sitofp i64 %t36 to double
+ %t38 = fcmp oeq double %t37, %t32
+ %t39 = icmp ult i64 %t36, %t34
+ %t40 = and i1 %t38, %t39
+ br i1 %t40, label %bytes.index.valid14, label %bytes.index.invalid13
+bytes.index.invalid13:
+ br label %bytes.read.invalid11
+bytes.index.valid14:
+ %t41 = getelementptr inbounds %ScrBytes, ptr %t27, i64 0, i32 3
+ %t42 = load ptr, ptr %t41
+ %t43 = getelementptr inbounds i8, ptr %t42, i64 %t36
+ %t44 = load i8, ptr %t43, align 1
+ %t45 = zext i8 %t44 to i32
+ %t46 = uitofp i32 %t45 to double
+ br label %bytes.read.ok15
+bytes.read.ok15:
+ br label %bytes.read.done12
+bytes.read.invalid11:
+ br label %bytes.read.done12
+bytes.read.done12:
+ %t48 = phi i32 [ %t45, %bytes.read.ok15 ], [ 0, %bytes.read.invalid11 ]
+ %t49 = phi i1 [ true, %bytes.read.ok15 ], [ false, %bytes.read.invalid11 ]
+ %t50 = uitofp i32 %t48 to double
+ %t47 = select i1 %t49, double %t50, double 0x7FF8000000000000
+ %t51 = getelementptr inbounds %ScrBytes, ptr %t23, i64 0, i32 3
+ %t52 = load ptr, ptr %t51
+ %t54 = trunc i32 %t48 to i8
+ %t53 = getelementptr inbounds i8, ptr %t52, i64 %t24
+ store i8 %t54, ptr %t53, align 1
+ br label %bytes.store.done16
+bytes.store.done16:
+ br label %loop.u10
+loop.u10:
+ %t55 = load i64, ptr %s17
+ %t56 = add nuw i64 %t55, 1
+ store i64 %t56, ptr %s17
+ br label %loop.c8
+loop.e7:
+ %t57 = load ptr, ptr %sc_l_out_0
+ ret ptr %t57
+}
+define internal ptr @sc_f__x25_m4_u8slice(ptr %p0, double %p1, double %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m4_u8slice(ptr %p0, double %p1, double %p2)
+ call void @scr_bytes_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m4_u8cat(ptr %p_sc_l_a_0, ptr %p_sc_l_b_0) #0 { ; %m4.u8cat
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_i_1 = alloca double ; i
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s19 = alloca i64 ; integer induction i
+ %s52 = alloca i64 ; integer induction i
+ store ptr null, ptr %sc_l_out_0
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_a_0
+ %t5 = getelementptr inbounds %ScrBytes, ptr %t4, i64 0, i32 1
+ %t6 = load i64, ptr %t5
+ %t7 = sitofp i64 %t6 to double
+ %t8 = load ptr, ptr %sc_l_b_0
+ %t9 = getelementptr inbounds %ScrBytes, ptr %t8, i64 0, i32 1
+ %t10 = load i64, ptr %t9
+ %t11 = sitofp i64 %t10 to double
+ %t13 = fptosi double %t7 to i64
+ %t14 = fptosi double %t11 to i64
+ %t12 = fadd double %t7, %t11
+ %t15 = call ptr @scr_bytes_new(i32 0, double %t12)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_bytes_release(ptr %t15)
+ ret ptr null
+exc.k3:
+ store ptr %t15, ptr %sc_l_out_0
+ store i64 0, ptr %s19
+ br label %loop.c5
+loop.c5:
+ %t20 = load ptr, ptr %sc_l_a_0
+ %t21 = getelementptr inbounds %ScrBytes, ptr %t20, i64 0, i32 1
+ %t22 = load i64, ptr %t21
+ %t23 = load i64, ptr %s19
+ %t24 = icmp ult i64 %t23, %t22
+ br i1 %t24, label %loop.b6, label %loop.e4
+loop.b6:
+ %t25 = load ptr, ptr %sc_l_out_0
+ %t26 = load i64, ptr %s19
+ %t27 = sitofp i64 %t26 to double
+ %t28 = trunc i64 %t26 to i32
+ %t29 = load ptr, ptr %sc_l_a_0
+ %t30 = load i64, ptr %s19
+ %t31 = sitofp i64 %t30 to double
+ %t32 = trunc i64 %t30 to i32
+ %t33 = getelementptr inbounds %ScrBytes, ptr %t29, i64 0, i32 3
+ %t34 = load ptr, ptr %t33
+ %t35 = getelementptr inbounds i8, ptr %t34, i64 %t30
+ %t36 = load i8, ptr %t35, align 1
+ %t37 = zext i8 %t36 to i32
+ %t38 = uitofp i32 %t37 to double
+ br label %bytes.read.ok10
+bytes.read.ok10:
+ br label %bytes.read.done9
+bytes.read.invalid8:
+ br label %bytes.read.done9
+bytes.read.done9:
+ %t40 = phi i32 [ %t37, %bytes.read.ok10 ], [ 0, %bytes.read.invalid8 ]
+ %t41 = phi i1 [ true, %bytes.read.ok10 ], [ false, %bytes.read.invalid8 ]
+ %t42 = uitofp i32 %t40 to double
+ %t39 = select i1 %t41, double %t42, double 0x7FF8000000000000
+ %t43 = getelementptr inbounds %ScrBytes, ptr %t25, i64 0, i32 1
+ %t44 = load i64, ptr %t43
+ %t45 = icmp ult i64 %t26, %t44
+ br i1 %t45, label %bytes.index.valid13, label %bytes.index.invalid12
+bytes.index.invalid12:
+ br label %bytes.store.done11
+bytes.index.valid13:
+ %t46 = getelementptr inbounds %ScrBytes, ptr %t25, i64 0, i32 3
+ %t47 = load ptr, ptr %t46
+ %t49 = trunc i32 %t40 to i8
+ %t48 = getelementptr inbounds i8, ptr %t47, i64 %t26
+ store i8 %t49, ptr %t48, align 1
+ br label %bytes.store.done11
+bytes.store.done11:
+ br label %loop.u7
+loop.u7:
+ %t50 = load i64, ptr %s19
+ %t51 = add nuw i64 %t50, 1
+ store i64 %t51, ptr %s19
+ br label %loop.c5
+loop.e4:
+ store i64 0, ptr %s52
+ br label %loop.c15
+loop.c15:
+ %t53 = load ptr, ptr %sc_l_b_0
+ %t54 = getelementptr inbounds %ScrBytes, ptr %t53, i64 0, i32 1
+ %t55 = load i64, ptr %t54
+ %t56 = load i64, ptr %s52
+ %t57 = icmp ult i64 %t56, %t55
+ br i1 %t57, label %loop.b16, label %loop.e14
+loop.b16:
+ %t58 = load ptr, ptr %sc_l_out_0
+ %t59 = load ptr, ptr %sc_l_a_0
+ %t60 = getelementptr inbounds %ScrBytes, ptr %t59, i64 0, i32 1
+ %t61 = load i64, ptr %t60
+ %t62 = sitofp i64 %t61 to double
+ %t63 = load i64, ptr %s52
+ %t64 = sitofp i64 %t63 to double
+ %t65 = trunc i64 %t63 to i32
+ %t67 = fptosi double %t62 to i64
+ %t66 = fadd double %t62, %t64
+ %t68 = load ptr, ptr %sc_l_b_0
+ %t69 = load i64, ptr %s52
+ %t70 = sitofp i64 %t69 to double
+ %t71 = trunc i64 %t69 to i32
+ %t72 = getelementptr inbounds %ScrBytes, ptr %t68, i64 0, i32 3
+ %t73 = load ptr, ptr %t72
+ %t74 = getelementptr inbounds i8, ptr %t73, i64 %t69
+ %t75 = load i8, ptr %t74, align 1
+ %t76 = zext i8 %t75 to i32
+ %t77 = uitofp i32 %t76 to double
+ br label %bytes.read.ok20
+bytes.read.ok20:
+ br label %bytes.read.done19
+bytes.read.invalid18:
+ br label %bytes.read.done19
+bytes.read.done19:
+ %t79 = phi i32 [ %t76, %bytes.read.ok20 ], [ 0, %bytes.read.invalid18 ]
+ %t80 = phi i1 [ true, %bytes.read.ok20 ], [ false, %bytes.read.invalid18 ]
+ %t81 = uitofp i32 %t79 to double
+ %t78 = select i1 %t80, double %t81, double 0x7FF8000000000000
+ %t82 = getelementptr inbounds %ScrBytes, ptr %t58, i64 0, i32 1
+ %t83 = load i64, ptr %t82
+ %t84 = fptosi double %t66 to i64
+ %t85 = freeze i64 %t84
+ %t86 = sitofp i64 %t85 to double
+ %t87 = fcmp oeq double %t86, %t66
+ %t88 = icmp ult i64 %t85, %t83
+ %t89 = and i1 %t87, %t88
+ br i1 %t89, label %bytes.index.valid23, label %bytes.index.invalid22
+bytes.index.invalid22:
+ br label %bytes.store.done21
+bytes.index.valid23:
+ %t90 = getelementptr inbounds %ScrBytes, ptr %t58, i64 0, i32 3
+ %t91 = load ptr, ptr %t90
+ %t93 = trunc i32 %t79 to i8
+ %t92 = getelementptr inbounds i8, ptr %t91, i64 %t85
+ store i8 %t93, ptr %t92, align 1
+ br label %bytes.store.done21
+bytes.store.done21:
+ br label %loop.u17
+loop.u17:
+ %t94 = load i64, ptr %s52
+ %t95 = add nuw i64 %t94, 1
+ store i64 %t95, ptr %s52
+ br label %loop.c15
+loop.e14:
+ %t96 = load ptr, ptr %sc_l_out_0
+ ret ptr %t96
+}
+define internal ptr @sc_f__x25_m4_u8cat(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m4_u8cat(ptr %p0, ptr %p1)
+ call void @scr_bytes_release(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m4_u8catAll(ptr %p_sc_l_parts_0) #0 { ; %m4.u8catAll
+entry:
+ %sc_l_parts_0 = alloca ptr ; parts
+ %sc_l_n_0 = alloca double ; n
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_off_0 = alloca double ; off
+ %sc_l_i_1 = alloca i32 ; i
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_j_0 = alloca double ; j
+ %s4 = alloca i64 ; integer induction i
+ %s17 = alloca %ScrUnion
+ %s18 = getelementptr inbounds %ScrUnion, ptr %s17, i32 0, i32 5
+ %s19 = getelementptr inbounds %ScrUnion, ptr %s17, i32 0, i32 1
+ %s45 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s63 = alloca i64 ; integer induction i
+ %s75 = alloca %ScrUnion
+ %s76 = getelementptr inbounds %ScrUnion, ptr %s75, i32 0, i32 5
+ %s77 = getelementptr inbounds %ScrUnion, ptr %s75, i32 0, i32 1
+ %s104 = alloca ptr
+ %s124 = alloca ptr
+ %s167 = alloca ptr
+ store ptr null, ptr %sc_l__x25_propertyRecv_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_p_0
+ store ptr %p_sc_l_parts_0, ptr %sc_l_parts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ store double 0x0000000000000000, ptr %sc_l_n_0
+ %t5 = fptosi double 0x0000000000000000 to i64
+ store i64 %t5, ptr %s4
+ br label %loop.c3
+loop.c3:
+ %t6 = load ptr, ptr %sc_l_parts_0
+ %t7 = getelementptr inbounds %ScrArr, ptr %t6, i64 0, i32 1
+ %t8 = load i64, ptr %t7, !tbaa !2
+ %t9 = load i64, ptr %s4
+ %t10 = icmp ult i64 %t9, %t8
+ br i1 %t10, label %loop.b4, label %loop.e2
+loop.b4:
+ %t11 = load double, ptr %sc_l_n_0
+ %t12 = load ptr, ptr %sc_l_parts_0
+ %t13 = load i64, ptr %s4
+ %t14 = load i64, ptr %s4
+ %t15 = sitofp i64 %t14 to double
+ %t16 = trunc i64 %t14 to i32
+ %t20 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 2
+ %t21 = load i64, ptr %t20, !tbaa !2
+ %t22 = icmp ult i64 %t13, %t21
+ br i1 %t22, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t23 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 6
+ %t24 = load i32, ptr %t23, !tbaa !2
+ %t26 = zext i32 %t24 to i64
+ %t25 = icmp ult i64 %t13, %t26
+ br i1 %t25, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t27 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 1
+ %t28 = load i64, ptr %t27, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t29 = icmp ult i64 %t13, %t28
+ br i1 %t29, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t30 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 9
+ %t31 = load ptr, ptr %t30, !tbaa !2
+ %t32 = getelementptr inbounds i8, ptr %t31, i64 %t13
+ %t33 = load i8, ptr %t32, !tbaa !4
+ %t34 = icmp eq i8 %t33, 1
+ br i1 %t34, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t35 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 8
+ %t36 = load ptr, ptr %t35, !tbaa !2
+ %t37 = getelementptr inbounds i64, ptr %t36, i64 %t13
+ %t38 = load ptr, ptr %t37, !tbaa !6
+ store ptr %t38, ptr %s18
+ store i32 0, ptr %s19
+ br label %local.array.join8
+local.array.slow6:
+ %t39 = call ptr @scr_arr_peek_ref(ptr %t12, double %t15)
+ %t40 = icmp ne ptr %t39, null
+ br i1 %t40, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ store ptr %t39, ptr %s18
+ store i32 0, ptr %s19
+ br label %local.array.join8
+local.array.missing7:
+ store i64 0, ptr %s18
+ store i32 1, ptr %s19
+ br label %local.array.join8
+local.array.join8:
+ store ptr %s17, ptr %sc_l__x25_propertyRecv_0
+ %t41 = load ptr, ptr %sc_l__x25_propertyRecv_0
+ %t44 = getelementptr inbounds %ScrUnion, ptr %t41, i64 0, i32 1
+ %t43 = load i32, ptr %t44
+ %t42 = icmp eq i32 %t43, 1
+ br i1 %t42, label %tern.t15, label %tern.f16
+tern.t15:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032)
+ ret ptr null
+exc.dead18:
+ store ptr null, ptr %s45
+ br label %tern.j17
+tern.f16:
+ %t46 = load ptr, ptr %sc_l__x25_propertyRecv_0
+ %t47 = getelementptr inbounds %ScrUnion, ptr %t46, i64 0, i32 5
+ %t48 = load ptr, ptr %t47
+ %t49 = call ptr @scr_bytes_retain_v(ptr %t48)
+ store ptr %t49, ptr %s45
+ br label %tern.j17
+tern.j17:
+ %t50 = load ptr, ptr %s45
+ %t51 = getelementptr inbounds %ScrBytes, ptr %t50, i64 0, i32 1
+ %t52 = load i64, ptr %t51
+ %t53 = sitofp i64 %t52 to double
+ %t55 = fptosi double %t53 to i64
+ %t54 = fadd double %t11, %t53
+ store double %t54, ptr %sc_l_n_0
+ call void @scr_bytes_release(ptr %t50)
+ br label %loop.u5
+loop.u5:
+ %t56 = load i64, ptr %s4
+ %t57 = add nuw i64 %t56, 1
+ store i64 %t57, ptr %s4
+ br label %loop.c3
+loop.e2:
+ %t58 = load double, ptr %sc_l_n_0
+ %t59 = call ptr @scr_bytes_new(i32 0, double %t58)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @scr_bytes_release(ptr %t59)
+ ret ptr null
+exc.k20:
+ store ptr %t59, ptr %sc_l_out_0
+ store double 0x0000000000000000, ptr %sc_l_off_0
+ %t64 = fptosi double 0x0000000000000000 to i64
+ store i64 %t64, ptr %s63
+ br label %loop.c22
+loop.c22:
+ %t65 = load ptr, ptr %sc_l_parts_0
+ %t66 = getelementptr inbounds %ScrArr, ptr %t65, i64 0, i32 1
+ %t67 = load i64, ptr %t66, !tbaa !2
+ %t68 = load i64, ptr %s63
+ %t69 = icmp ult i64 %t68, %t67
+ br i1 %t69, label %loop.b23, label %loop.e21
+loop.b23:
+ %t70 = load ptr, ptr %sc_l_parts_0
+ %t71 = load i64, ptr %s63
+ %t72 = load i64, ptr %s63
+ %t73 = sitofp i64 %t72 to double
+ %t74 = trunc i64 %t72 to i32
+ %t78 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 2
+ %t79 = load i64, ptr %t78, !tbaa !2
+ %t80 = icmp ult i64 %t71, %t79
+ br i1 %t80, label %local.array.range28, label %local.array.slow25
+local.array.range28:
+ br label %local.array.dense29
+local.array.dense29:
+ %t81 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 6
+ %t82 = load i32, ptr %t81, !tbaa !2
+ %t84 = zext i32 %t82 to i64
+ %t83 = icmp ult i64 %t71, %t84
+ br i1 %t83, label %local.array.value31, label %local.array.len30
+local.array.len30:
+ %t85 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 1
+ %t86 = load i64, ptr %t85, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t87 = icmp ult i64 %t71, %t86
+ br i1 %t87, label %local.array.state32, label %local.array.missing26
+local.array.state32:
+ %t88 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 9
+ %t89 = load ptr, ptr %t88, !tbaa !2
+ %t90 = getelementptr inbounds i8, ptr %t89, i64 %t71
+ %t91 = load i8, ptr %t90, !tbaa !4
+ %t92 = icmp eq i8 %t91, 1
+ br i1 %t92, label %local.array.value31, label %local.array.missing26
+local.array.value31:
+ %t93 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 8
+ %t94 = load ptr, ptr %t93, !tbaa !2
+ %t95 = getelementptr inbounds i64, ptr %t94, i64 %t71
+ %t96 = load ptr, ptr %t95, !tbaa !6
+ store ptr %t96, ptr %s76
+ store i32 0, ptr %s77
+ br label %local.array.join27
+local.array.slow25:
+ %t97 = call ptr @scr_arr_peek_ref(ptr %t70, double %t73)
+ %t98 = icmp ne ptr %t97, null
+ br i1 %t98, label %local.array.slow.value33, label %local.array.missing26
+local.array.slow.value33:
+ store ptr %t97, ptr %s76
+ store i32 0, ptr %s77
+ br label %local.array.join27
+local.array.missing26:
+ store i64 0, ptr %s76
+ store i32 1, ptr %s77
+ br label %local.array.join27
+local.array.join27:
+ store ptr %s75, ptr %sc_l_p_0
+ store double 0x0000000000000000, ptr %sc_l_j_0
+ br label %loop.c35
+loop.c35:
+ %t99 = load double, ptr %sc_l_j_0
+ %t100 = load ptr, ptr %sc_l_p_0
+ %t103 = getelementptr inbounds %ScrUnion, ptr %t100, i64 0, i32 1
+ %t102 = load i32, ptr %t103
+ %t101 = icmp eq i32 %t102, 1
+ br i1 %t101, label %read.then38, label %read.else39
+read.then38:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032)
+ br label %exc.cleanup41
+exc.dead42:
+ store ptr null, ptr %s104
+ br label %read.join40
+read.else39:
+ %t105 = load ptr, ptr %sc_l_p_0
+ %t106 = getelementptr inbounds %ScrUnion, ptr %t105, i64 0, i32 5
+ %t107 = load ptr, ptr %t106
+ store ptr %t107, ptr %s104
+ br label %read.join40
+read.join40:
+ %t108 = load ptr, ptr %s104
+ %t109 = getelementptr inbounds %ScrBytes, ptr %t108, i64 0, i32 1
+ %t110 = load i64, ptr %t109
+ %t111 = sitofp i64 %t110 to double
+ %t113 = fptosi double %t99 to i64
+ %t114 = fptosi double %t111 to i64
+ %t112 = icmp slt i64 %t113, %t114
+ br i1 %t112, label %loop.b36, label %loop.e34
+loop.b36:
+ %t115 = load ptr, ptr %sc_l_out_0
+ %t116 = load double, ptr %sc_l_off_0
+ %t117 = load double, ptr %sc_l_j_0
+ %t119 = fptosi double %t117 to i64
+ %t118 = fadd double %t116, %t117
+ %t120 = load ptr, ptr %sc_l_p_0
+ %t123 = getelementptr inbounds %ScrUnion, ptr %t120, i64 0, i32 1
+ %t122 = load i32, ptr %t123
+ %t121 = icmp eq i32 %t122, 0
+ br i1 %t121, label %read.then43, label %read.else44
+read.then43:
+ %t125 = load ptr, ptr %sc_l_p_0
+ %t126 = getelementptr inbounds %ScrUnion, ptr %t125, i64 0, i32 5
+ %t127 = load ptr, ptr %t126
+ store ptr %t127, ptr %s124
+ br label %read.join45
+read.else44:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup41
+exc.dead46:
+ store ptr null, ptr %s124
+ br label %read.join45
+read.join45:
+ %t128 = load ptr, ptr %s124
+ %t129 = load double, ptr %sc_l_j_0
+ %t130 = fptosi double %t129 to i64
+ %t131 = getelementptr inbounds %ScrBytes, ptr %t128, i64 0, i32 1
+ %t132 = load i64, ptr %t131
+ %t133 = icmp ult i64 %t130, %t132
+ br i1 %t133, label %bytes.index.valid50, label %bytes.index.invalid49
+bytes.index.invalid49:
+ br label %bytes.read.invalid47
+bytes.index.valid50:
+ %t134 = getelementptr inbounds %ScrBytes, ptr %t128, i64 0, i32 3
+ %t135 = load ptr, ptr %t134
+ %t136 = getelementptr inbounds i8, ptr %t135, i64 %t130
+ %t137 = load i8, ptr %t136, align 1
+ %t138 = zext i8 %t137 to i32
+ %t139 = uitofp i32 %t138 to double
+ br label %bytes.read.ok51
+bytes.read.ok51:
+ br label %bytes.read.done48
+bytes.read.invalid47:
+ br label %bytes.read.done48
+bytes.read.done48:
+ %t141 = phi i32 [ %t138, %bytes.read.ok51 ], [ 0, %bytes.read.invalid47 ]
+ %t142 = phi i1 [ true, %bytes.read.ok51 ], [ false, %bytes.read.invalid47 ]
+ %t143 = uitofp i32 %t141 to double
+ %t140 = select i1 %t142, double %t143, double 0x7FF8000000000000
+ %t144 = getelementptr inbounds %ScrBytes, ptr %t115, i64 0, i32 1
+ %t145 = load i64, ptr %t144
+ %t146 = fptosi double %t118 to i64
+ %t147 = freeze i64 %t146
+ %t148 = sitofp i64 %t147 to double
+ %t149 = fcmp oeq double %t148, %t118
+ %t150 = icmp ult i64 %t147, %t145
+ %t151 = and i1 %t149, %t150
+ br i1 %t151, label %bytes.index.valid54, label %bytes.index.invalid53
+bytes.index.invalid53:
+ br label %bytes.store.done52
+bytes.index.valid54:
+ %t152 = getelementptr inbounds %ScrBytes, ptr %t115, i64 0, i32 3
+ %t153 = load ptr, ptr %t152
+ %t155 = trunc i32 %t141 to i8
+ %t154 = getelementptr inbounds i8, ptr %t153, i64 %t147
+ store i8 %t155, ptr %t154, align 1
+ br label %bytes.store.done52
+bytes.store.done52:
+ br label %loop.u37
+loop.u37:
+ %t156 = load double, ptr %sc_l_j_0
+ %t158 = fptosi double %t156 to i64
+ %t159 = add nsw i64 %t158, 1
+ %t161 = trunc i64 %t159 to i32
+ %t160 = sitofp i64 %t159 to double
+ store double %t160, ptr %sc_l_j_0
+ br label %loop.c35
+loop.e34:
+ %t162 = load double, ptr %sc_l_off_0
+ %t163 = load ptr, ptr %sc_l_p_0
+ %t166 = getelementptr inbounds %ScrUnion, ptr %t163, i64 0, i32 1
+ %t165 = load i32, ptr %t166
+ %t164 = icmp eq i32 %t165, 1
+ br i1 %t164, label %read.then55, label %read.else56
+read.then55:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032)
+ br label %exc.cleanup41
+exc.dead58:
+ store ptr null, ptr %s167
+ br label %read.join57
+read.else56:
+ %t168 = load ptr, ptr %sc_l_p_0
+ %t169 = getelementptr inbounds %ScrUnion, ptr %t168, i64 0, i32 5
+ %t170 = load ptr, ptr %t169
+ store ptr %t170, ptr %s167
+ br label %read.join57
+read.join57:
+ %t171 = load ptr, ptr %s167
+ %t172 = getelementptr inbounds %ScrBytes, ptr %t171, i64 0, i32 1
+ %t173 = load i64, ptr %t172
+ %t174 = sitofp i64 %t173 to double
+ %t176 = fptosi double %t174 to i64
+ %t175 = fadd double %t162, %t174
+ store double %t175, ptr %sc_l_off_0
+ br label %loop.u24
+loop.u24:
+ %t177 = load i64, ptr %s63
+ %t178 = add nuw i64 %t177, 1
+ store i64 %t178, ptr %s63
+ br label %loop.c22
+loop.e21:
+ %t179 = load ptr, ptr %sc_l_out_0
+ ret ptr %t179
+exc.cleanup41:
+ %t180 = load ptr, ptr %sc_l_out_0
+ call void @scr_bytes_release(ptr %t180)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m4_u8catAll(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m4_u8catAll(ptr %p0)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m4_u8str(ptr %p_sc_l_b_0) #0 { ; %m4.u8str
+entry:
+ %sc_l_b_0 = alloca ptr ; b
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_b_0
+ %t5 = call ptr @scr_bytes_retain_v(ptr %t4)
+ %t6 = call ptr @scr_buffer_from_bytes(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_bytes_release(ptr %t5)
+ call void @scr_bytes_release(ptr %t6)
+ ret ptr null
+exc.k3:
+ %t10 = call ptr @scr_bytes_as_buffer(ptr %t6)
+ %t11 = call ptr @scr_bytes_to_str(ptr %t10, ptr @sc_lit_2605532998565466)
+ call void @scr_bytes_release(ptr %t5)
+ call void @scr_bytes_release(ptr %t6)
+ call void @scr_bytes_release(ptr %t10)
+ ret ptr %t11
+}
+define internal ptr @sc_f__x25_m4_u8str(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m4_u8str(ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal double @sc_bf__x25_m4_findSeq(ptr %p_sc_l_hay_0, ptr %p_sc_l_needle_0, double %p_sc_l_from_0) #0 { ; %m4.findSeq
+entry:
+ %sc_l_hay_0 = alloca ptr ; hay
+ %sc_l_needle_0 = alloca ptr ; needle
+ %sc_l_from_0 = alloca double ; from
+ %sc_l_n_0 = alloca i32 ; n
+ %sc_l_c0_0 = alloca double ; c0
+ %sc_l_end_0 = alloca double ; end
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_j_0 = alloca i32 ; j
+ %s55 = alloca i1
+ store ptr %p_sc_l_hay_0, ptr %sc_l_hay_0
+ store ptr %p_sc_l_needle_0, ptr %sc_l_needle_0
+ store double %p_sc_l_from_0, ptr %sc_l_from_0
+ %t0 = load ptr, ptr %sc_l_needle_0
+ %t1 = call double @sc_str_utf16_len(ptr %t0)
+ %t2 = fptosi double %t1 to i32
+ store i32 %t2, ptr %sc_l_n_0
+ %t3 = load i32, ptr %sc_l_n_0
+ %t4 = sitofp i32 %t3 to double
+ %t6 = sext i32 %t3 to i64
+ %t5 = icmp eq i64 %t6, 0
+ br i1 %t5, label %if.t0, label %if.j1
+if.t0:
+ ret double 0xBFF0000000000000
+if.j1:
+ %t7 = load ptr, ptr %sc_l_needle_0
+ %t8 = call double @sc_str_char_code_at_int(ptr %t7, i64 0)
+ store double %t8, ptr %sc_l_c0_0
+ %t9 = load ptr, ptr %sc_l_hay_0
+ %t10 = getelementptr inbounds %ScrBytes, ptr %t9, i64 0, i32 1
+ %t11 = load i64, ptr %t10
+ %t12 = sitofp i64 %t11 to double
+ %t13 = load i32, ptr %sc_l_n_0
+ %t14 = sitofp i32 %t13 to double
+ %t16 = fptosi double %t12 to i64
+ %t17 = sext i32 %t13 to i64
+ %t18 = sub nsw i64 %t16, %t17
+ %t20 = trunc i64 %t18 to i32
+ %t19 = sitofp i64 %t18 to double
+ store double %t19, ptr %sc_l_end_0
+ %t21 = load double, ptr %sc_l_from_0
+ store double %t21, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t22 = load double, ptr %sc_l_i_0
+ %t23 = load double, ptr %sc_l_end_0
+ %t25 = fptosi double %t23 to i64
+ %t24 = fcmp ole double %t22, %t23
+ br i1 %t24, label %loop.b4, label %loop.e2
+loop.b4:
+ %t26 = load ptr, ptr %sc_l_hay_0
+ %t27 = load double, ptr %sc_l_i_0
+ %t28 = getelementptr inbounds %ScrBytes, ptr %t26, i64 0, i32 1
+ %t29 = load i64, ptr %t28
+ %t30 = fptosi double %t27 to i64
+ %t31 = freeze i64 %t30
+ %t32 = sitofp i64 %t31 to double
+ %t33 = fcmp oeq double %t32, %t27
+ %t34 = icmp ult i64 %t31, %t29
+ %t35 = and i1 %t33, %t34
+ br i1 %t35, label %bytes.index.valid9, label %bytes.index.invalid8
+bytes.index.invalid8:
+ br label %bytes.read.invalid6
+bytes.index.valid9:
+ %t36 = getelementptr inbounds %ScrBytes, ptr %t26, i64 0, i32 3
+ %t37 = load ptr, ptr %t36
+ %t38 = getelementptr inbounds i8, ptr %t37, i64 %t31
+ %t39 = load i8, ptr %t38, align 1
+ %t40 = zext i8 %t39 to i32
+ %t41 = uitofp i32 %t40 to double
+ br label %bytes.read.ok10
+bytes.read.ok10:
+ br label %bytes.read.done7
+bytes.read.invalid6:
+ br label %bytes.read.done7
+bytes.read.done7:
+ %t43 = phi i32 [ %t40, %bytes.read.ok10 ], [ 0, %bytes.read.invalid6 ]
+ %t44 = phi i1 [ true, %bytes.read.ok10 ], [ false, %bytes.read.invalid6 ]
+ %t45 = uitofp i32 %t43 to double
+ %t42 = select i1 %t44, double %t45, double 0x7FF8000000000000
+ %t46 = load double, ptr %sc_l_c0_0
+ %t47 = fcmp oeq double %t42, %t46
+ br i1 %t47, label %if.t11, label %if.j12
+if.t11:
+ store i32 1, ptr %sc_l_j_0
+ br label %loop.c14
+loop.c14:
+ %t48 = load i32, ptr %sc_l_j_0
+ %t49 = sitofp i32 %t48 to double
+ %t50 = load i32, ptr %sc_l_n_0
+ %t51 = sitofp i32 %t50 to double
+ %t53 = sext i32 %t48 to i64
+ %t54 = sext i32 %t50 to i64
+ %t52 = icmp slt i64 %t53, %t54
+ store i1 %t52, ptr %s55
+ br i1 %t52, label %log.r16, label %log.j17
+log.r16:
+ %t56 = load ptr, ptr %sc_l_hay_0
+ %t57 = load double, ptr %sc_l_i_0
+ %t58 = load i32, ptr %sc_l_j_0
+ %t59 = sitofp i32 %t58 to double
+ %t60 = fadd double %t57, %t59
+ %t61 = getelementptr inbounds %ScrBytes, ptr %t56, i64 0, i32 1
+ %t62 = load i64, ptr %t61
+ %t63 = fptosi double %t60 to i64
+ %t64 = freeze i64 %t63
+ %t65 = sitofp i64 %t64 to double
+ %t66 = fcmp oeq double %t65, %t60
+ %t67 = icmp ult i64 %t64, %t62
+ %t68 = and i1 %t66, %t67
+ br i1 %t68, label %bytes.index.valid21, label %bytes.index.invalid20
+bytes.index.invalid20:
+ br label %bytes.read.invalid18
+bytes.index.valid21:
+ %t69 = getelementptr inbounds %ScrBytes, ptr %t56, i64 0, i32 3
+ %t70 = load ptr, ptr %t69
+ %t71 = getelementptr inbounds i8, ptr %t70, i64 %t64
+ %t72 = load i8, ptr %t71, align 1
+ %t73 = zext i8 %t72 to i32
+ %t74 = uitofp i32 %t73 to double
+ br label %bytes.read.ok22
+bytes.read.ok22:
+ br label %bytes.read.done19
+bytes.read.invalid18:
+ br label %bytes.read.done19
+bytes.read.done19:
+ %t76 = phi i32 [ %t73, %bytes.read.ok22 ], [ 0, %bytes.read.invalid18 ]
+ %t77 = phi i1 [ true, %bytes.read.ok22 ], [ false, %bytes.read.invalid18 ]
+ %t78 = uitofp i32 %t76 to double
+ %t75 = select i1 %t77, double %t78, double 0x7FF8000000000000
+ %t79 = load ptr, ptr %sc_l_needle_0
+ %t80 = load i32, ptr %sc_l_j_0
+ %t81 = sitofp i32 %t80 to double
+ %t83 = sext i32 %t80 to i64
+ %t82 = call double @sc_str_char_code_at_int(ptr %t79, i64 %t83)
+ %t84 = fcmp oeq double %t75, %t82
+ store i1 %t84, ptr %s55
+ br label %log.j17
+log.j17:
+ %t85 = load i1, ptr %s55
+ br i1 %t85, label %loop.b15, label %loop.e13
+loop.b15:
+ %t86 = load i32, ptr %sc_l_j_0
+ %t87 = sitofp i32 %t86 to double
+ %t90 = trunc i64 1 to i32
+ %t89 = add nsw i32 %t86, %t90
+ %t91 = sitofp i32 %t89 to double
+ store i32 %t89, ptr %sc_l_j_0
+ br label %loop.c14
+loop.e13:
+ %t92 = load i32, ptr %sc_l_j_0
+ %t93 = sitofp i32 %t92 to double
+ %t94 = load i32, ptr %sc_l_n_0
+ %t95 = sitofp i32 %t94 to double
+ %t97 = sext i32 %t92 to i64
+ %t98 = sext i32 %t94 to i64
+ %t96 = icmp eq i64 %t97, %t98
+ br i1 %t96, label %if.t23, label %if.j24
+if.t23:
+ %t99 = load double, ptr %sc_l_i_0
+ ret double %t99
+if.j24:
+ br label %if.j12
+if.j12:
+ br label %loop.u5
+loop.u5:
+ %t100 = load double, ptr %sc_l_i_0
+ %t101 = fadd double %t100, 0x3FF0000000000000
+ store double %t101, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ ret double 0xBFF0000000000000
+}
+define internal double @sc_f__x25_m4_findSeq(ptr %p0, ptr %p1, double %p2) #0 {
+entry:
+ %result = call double @sc_bf__x25_m4_findSeq(ptr %p0, ptr %p1, double %p2)
+ call void @scr_bytes_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25_m4_trimWs(ptr %p_sc_l_s_0) #0 { ; %m4.trimWs
+entry:
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_a_0 = alloca i32 ; a
+ %sc_l_z_0 = alloca double ; z
+ %s10 = alloca i1
+ %s17 = alloca i1
+ %s36 = alloca i1
+ %s42 = alloca i1
+ store ptr null, ptr %sc_l_b_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t0 = load ptr, ptr %sc_l_s_0
+ store ptr %t0, ptr %sc_l_b_0
+ store i32 0, ptr %sc_l_a_0
+ %t1 = load ptr, ptr %sc_l_b_0
+ %t2 = call double @sc_str_utf16_len(ptr %t1)
+ store double %t2, ptr %sc_l_z_0
+ br label %loop.c1
+loop.c1:
+ %t3 = load i32, ptr %sc_l_a_0
+ %t4 = sitofp i32 %t3 to double
+ %t5 = load double, ptr %sc_l_z_0
+ %t7 = fptosi double %t5 to i32
+ %t8 = sext i32 %t3 to i64
+ %t9 = sext i32 %t7 to i64
+ %t6 = icmp slt i64 %t8, %t9
+ store i1 %t6, ptr %s10
+ br i1 %t6, label %log.r3, label %log.j4
+log.r3:
+ %t11 = load ptr, ptr %sc_l_b_0
+ %t12 = load i32, ptr %sc_l_a_0
+ %t13 = sitofp i32 %t12 to double
+ %t15 = sext i32 %t12 to i64
+ %t14 = call double @sc_str_char_code_at_int(ptr %t11, i64 %t15)
+ %t16 = fcmp oeq double %t14, 0x4040000000000000
+ store i1 %t16, ptr %s17
+ br i1 %t16, label %log.j6, label %log.r5
+log.r5:
+ %t18 = load ptr, ptr %sc_l_b_0
+ %t19 = load i32, ptr %sc_l_a_0
+ %t20 = sitofp i32 %t19 to double
+ %t22 = sext i32 %t19 to i64
+ %t21 = call double @sc_str_char_code_at_int(ptr %t18, i64 %t22)
+ %t23 = fcmp oeq double %t21, 0x4022000000000000
+ store i1 %t23, ptr %s17
+ br label %log.j6
+log.j6:
+ %t24 = load i1, ptr %s17
+ store i1 %t24, ptr %s10
+ br label %log.j4
+log.j4:
+ %t25 = load i1, ptr %s10
+ br i1 %t25, label %loop.b2, label %loop.e0
+loop.b2:
+ %t26 = load i32, ptr %sc_l_a_0
+ %t27 = sitofp i32 %t26 to double
+ %t30 = trunc i64 1 to i32
+ %t29 = add nsw i32 %t26, %t30
+ %t31 = sitofp i32 %t29 to double
+ store i32 %t29, ptr %sc_l_a_0
+ br label %loop.c1
+loop.e0:
+ br label %loop.c8
+loop.c8:
+ %t32 = load double, ptr %sc_l_z_0
+ %t33 = load i32, ptr %sc_l_a_0
+ %t34 = sitofp i32 %t33 to double
+ %t35 = fcmp ogt double %t32, %t34
+ store i1 %t35, ptr %s36
+ br i1 %t35, label %log.r10, label %log.j11
+log.r10:
+ %t37 = load ptr, ptr %sc_l_b_0
+ %t38 = load double, ptr %sc_l_z_0
+ %t39 = fsub double %t38, 0x3FF0000000000000
+ %t40 = call double @sc_str_char_code_at(ptr %t37, double %t39)
+ %t41 = fcmp oeq double %t40, 0x4040000000000000
+ store i1 %t41, ptr %s42
+ br i1 %t41, label %log.j13, label %log.r12
+log.r12:
+ %t43 = load ptr, ptr %sc_l_b_0
+ %t44 = load double, ptr %sc_l_z_0
+ %t45 = fsub double %t44, 0x3FF0000000000000
+ %t46 = call double @sc_str_char_code_at(ptr %t43, double %t45)
+ %t47 = fcmp oeq double %t46, 0x4022000000000000
+ store i1 %t47, ptr %s42
+ br label %log.j13
+log.j13:
+ %t48 = load i1, ptr %s42
+ store i1 %t48, ptr %s36
+ br label %log.j11
+log.j11:
+ %t49 = load i1, ptr %s36
+ br i1 %t49, label %loop.b9, label %loop.e7
+loop.b9:
+ %t50 = load double, ptr %sc_l_z_0
+ %t51 = fsub double %t50, 0x3FF0000000000000
+ store double %t51, ptr %sc_l_z_0
+ br label %loop.c8
+loop.e7:
+ %t52 = load ptr, ptr %sc_l_b_0
+ %t53 = load i32, ptr %sc_l_a_0
+ %t54 = sitofp i32 %t53 to double
+ %t55 = load double, ptr %sc_l_z_0
+ %t56 = call ptr @scr_str_slice(ptr %t52, double %t54, double %t55)
+ ret ptr %t56
+}
+define internal ptr @sc_f__x25_m4_trimWs(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m4_trimWs(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m4_multipartBoundary(ptr %p_sc_l_ct_0) #0 { ; %m4.multipartBoundary
+entry:
+ %sc_l_ct_0 = alloca ptr ; ct
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_lc_0 = alloca ptr ; lc
+ %sc_l_parts_0 = alloca ptr ; parts
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_seg_0 = alloca ptr ; seg
+ %sc_l_eq_0 = alloca i32 ; eq
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %s27 = alloca ptr
+ %s60 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s102 = alloca i1
+ %s107 = alloca i1
+ store ptr null, ptr %sc_l_s_0
+ store ptr null, ptr %sc_l_lc_0
+ store ptr null, ptr %sc_l_parts_0
+ store ptr null, ptr %sc_l_seg_0
+ store ptr null, ptr %sc_l_k_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_ct_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ ret ptr null
+if.j3:
+ %t7 = load ptr, ptr %sc_l_ct_0
+ store ptr %t7, ptr %sc_l_s_0
+ %t8 = load ptr, ptr %sc_l_s_0
+ %t9 = call ptr @scr_str_to_lower(ptr %t8)
+ store ptr %t9, ptr %sc_l_lc_0
+ %t10 = load ptr, ptr %sc_l_lc_0
+ %t11 = call double @scr_str_index_of(ptr %t10, ptr @sc_lit_1841737023330611, double 0x0000000000000000)
+ %t13 = fptosi double %t11 to i32
+ %t14 = sext i32 %t13 to i64
+ %t12 = icmp ne i64 %t14, 0
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t15 = load ptr, ptr %sc_l_lc_0
+ call void @scr_str_release(ptr %t15)
+ ret ptr null
+if.j5:
+ %t16 = load ptr, ptr %sc_l_s_0
+ %t17 = call ptr @scr_str_split_limit(ptr %t16, ptr @sc_lit_1156138064653313, double 0x41EFFFFFFFE00000)
+ store ptr %t17, ptr %sc_l_parts_0
+ store i32 1, ptr %sc_l_i_0
+ br label %loop.c7
+loop.c7:
+ %t18 = load i32, ptr %sc_l_i_0
+ %t19 = uitofp i32 %t18 to double
+ %t20 = load ptr, ptr %sc_l_parts_0
+ %t21 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 1
+ %t22 = load i64, ptr %t21, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t23 = sitofp i64 %t22 to double
+ %t25 = fptosi double %t23 to i64
+ %t26 = zext i32 %t18 to i64
+ %t24 = icmp slt i64 %t26, %t25
+ br i1 %t24, label %loop.b8, label %loop.e6
+loop.b8:
+ %t28 = load ptr, ptr %sc_l_parts_0
+ %t29 = load i32, ptr %sc_l_i_0
+ %t30 = uitofp i32 %t29 to double
+ %t31 = getelementptr inbounds %ScrArr, ptr %t28, i32 0, i32 2
+ %t32 = load i64, ptr %t31, !tbaa !2
+ %t33 = fptosi double %t30 to i64
+ %t34 = freeze i64 %t33
+ %t35 = sitofp i64 %t34 to double
+ %t36 = fcmp oeq double %t35, %t30
+ %t37 = icmp ult i64 %t34, %t32
+ %t38 = and i1 %t36, %t37
+ br i1 %t38, label %local.array.range13, label %local.array.slow10
+local.array.range13:
+ br label %local.array.dense14
+local.array.dense14:
+ %t39 = getelementptr inbounds %ScrArr, ptr %t28, i32 0, i32 6
+ %t40 = load i32, ptr %t39, !tbaa !2
+ %t42 = zext i32 %t40 to i64
+ %t41 = icmp ult i64 %t34, %t42
+ br i1 %t41, label %local.array.value16, label %local.array.len15
+local.array.len15:
+ %t43 = getelementptr inbounds %ScrArr, ptr %t28, i32 0, i32 1
+ %t44 = load i64, ptr %t43, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t45 = icmp ult i64 %t34, %t44
+ br i1 %t45, label %local.array.state17, label %local.array.missing11
+local.array.state17:
+ %t46 = getelementptr inbounds %ScrArr, ptr %t28, i32 0, i32 9
+ %t47 = load ptr, ptr %t46, !tbaa !2
+ %t48 = getelementptr inbounds i8, ptr %t47, i64 %t34
+ %t49 = load i8, ptr %t48, !tbaa !4
+ %t50 = icmp eq i8 %t49, 1
+ br i1 %t50, label %local.array.value16, label %local.array.missing11
+local.array.value16:
+ %t51 = getelementptr inbounds %ScrArr, ptr %t28, i32 0, i32 8
+ %t52 = load ptr, ptr %t51, !tbaa !2
+ %t53 = getelementptr inbounds i64, ptr %t52, i64 %t34
+ %t54 = load ptr, ptr %t53, !tbaa !6
+ %t55 = call ptr @sc_rc_retain_str(ptr %t54)
+ store ptr %t55, ptr %s27
+ br label %local.array.join12
+local.array.slow10:
+ %t56 = call ptr @scr_arr_peek_ref(ptr %t28, double %t30)
+ %t57 = icmp ne ptr %t56, null
+ br i1 %t57, label %local.array.slow.value18, label %local.array.missing11
+local.array.slow.value18:
+ %t58 = call ptr @sc_rc_retain_str(ptr %t56)
+ store ptr %t58, ptr %s27
+ br label %local.array.join12
+local.array.missing11:
+ store ptr null, ptr %s27
+ br label %local.array.join12
+local.array.join12:
+ %t59 = load ptr, ptr %s27
+ %t62 = icmp eq ptr %t59, null
+ %t61 = select i1 %t62, i32 1, i32 0
+ switch i32 %t61, label %u.bad20 [ i32 0, label %u.a21 i32 1, label %u.a22 ]
+u.a21:
+ %t63 = call ptr @sc_rc_retain_str(ptr %t59)
+ store ptr %t63, ptr %s60
+ br label %us.j19
+u.a22:
+ store ptr @sc_lit_4134463689533233, ptr %s60
+ br label %us.j19
+u.bad20:
+ call void @sc_bad_tag()
+ unreachable
+us.j19:
+ %t64 = load ptr, ptr %s60
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u23, label %exc.k24
+exc.u23:
+ %t68 = load ptr, ptr %s27
+ call void @scr_str_release(ptr %t68)
+ call void @scr_str_release(ptr %t64)
+ br label %exc.cleanup25
+exc.k24:
+ store ptr %t64, ptr %sc_l_seg_0
+ %t69 = load ptr, ptr %s27
+ call void @scr_str_release(ptr %t69)
+ %t70 = load ptr, ptr %sc_l_seg_0
+ %t71 = call double @scr_str_index_of(ptr %t70, ptr @sc_lit_985787530504786, double 0x0000000000000000)
+ %t72 = fptosi double %t71 to i32
+ store i32 %t72, ptr %sc_l_eq_0
+ %t73 = load i32, ptr %sc_l_eq_0
+ %t74 = sitofp i32 %t73 to double
+ %t76 = sext i32 %t73 to i64
+ %t75 = icmp slt i64 %t76, 0
+ br i1 %t75, label %if.t26, label %if.j27
+if.t26:
+ %t77 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t77)
+ br label %loop.u9
+if.j27:
+ %t78 = load ptr, ptr %sc_l_seg_0
+ %t79 = load i32, ptr %sc_l_eq_0
+ %t80 = sitofp i32 %t79 to double
+ %t81 = call ptr @scr_str_slice(ptr %t78, double 0x0000000000000000, double %t80)
+ %t82 = call ptr @sc_bf__x25_m4_trimWs(ptr %t81)
+ call void @scr_str_release(ptr %t81)
+ %t83 = call ptr @scr_str_to_lower(ptr %t82)
+ store ptr %t83, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t82)
+ %t84 = load ptr, ptr %sc_l_k_0
+ %t85 = call zeroext i1 @sc_streq_2587508618302557(ptr %t84)
+ br i1 %t85, label %if.t28, label %if.j29
+if.t28:
+ %t86 = load ptr, ptr %sc_l_seg_0
+ %t87 = load i32, ptr %sc_l_eq_0
+ %t88 = sitofp i32 %t87 to double
+ %t90 = sext i32 %t87 to i64
+ %t91 = add nsw i64 %t90, 1
+ %t93 = trunc i64 %t91 to i32
+ %t92 = sitofp i64 %t91 to double
+ %t94 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t95 = call ptr @scr_str_slice(ptr %t86, double %t92, double %t94)
+ %t96 = call ptr @sc_bf__x25_m4_trimWs(ptr %t95)
+ call void @scr_str_release(ptr %t95)
+ store ptr %t96, ptr %sc_l_v_0
+ %t97 = load ptr, ptr %sc_l_v_0
+ %t98 = call double @sc_str_utf16_len(ptr %t97)
+ %t100 = fptosi double %t98 to i32
+ %t101 = sext i32 %t100 to i64
+ %t99 = icmp sge i64 %t101, 2
+ store i1 %t99, ptr %s102
+ br i1 %t99, label %log.r30, label %log.j31
+log.r30:
+ %t103 = load ptr, ptr %sc_l_v_0
+ %t104 = call ptr @scr_str_char_at(ptr %t103, double 0x0000000000000000)
+ %t105 = call zeroext i1 @sc_streq_2431234921623602(ptr %t104)
+ store i1 %t105, ptr %s102
+ call void @scr_str_release(ptr %t104)
+ br label %log.j31
+log.j31:
+ %t106 = load i1, ptr %s102
+ store i1 %t106, ptr %s107
+ br i1 %t106, label %log.r32, label %log.j33
+log.r32:
+ %t108 = load ptr, ptr %sc_l_v_0
+ %t109 = load ptr, ptr %sc_l_v_0
+ %t110 = call double @sc_str_utf16_len(ptr %t109)
+ %t112 = fptosi double %t110 to i32
+ %t114 = trunc i64 1 to i32
+ %t113 = sub nsw i32 %t112, %t114
+ %t115 = sitofp i32 %t113 to double
+ %t116 = call ptr @scr_str_char_at(ptr %t108, double %t115)
+ %t117 = call zeroext i1 @sc_streq_2431234921623602(ptr %t116)
+ store i1 %t117, ptr %s107
+ call void @scr_str_release(ptr %t116)
+ br label %log.j33
+log.j33:
+ %t118 = load i1, ptr %s107
+ br i1 %t118, label %if.t34, label %if.j35
+if.t34:
+ %t119 = load ptr, ptr %sc_l_v_0
+ %t120 = load ptr, ptr %sc_l_v_0
+ %t121 = call double @sc_str_utf16_len(ptr %t120)
+ %t123 = fptosi double %t121 to i32
+ %t125 = trunc i64 1 to i32
+ %t124 = sub nsw i32 %t123, %t125
+ %t126 = sitofp i32 %t124 to double
+ %t127 = call ptr @scr_str_slice(ptr %t119, double 0x3FF0000000000000, double %t126)
+ %t128 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t128)
+ store ptr %t127, ptr %sc_l_v_0
+ br label %if.j35
+if.j35:
+ %t129 = load ptr, ptr %sc_l_v_0
+ %t130 = getelementptr inbounds i64, ptr %t129, i32 1
+ %t131 = load i64, ptr %t130
+ %t132 = icmp eq i64 %t131, 0
+ br i1 %t132, label %if.t36, label %if.j37
+if.t36:
+ %t133 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t133)
+ %t134 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t134)
+ %t135 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t135)
+ %t136 = load ptr, ptr %sc_l_lc_0
+ call void @scr_str_release(ptr %t136)
+ %t137 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t137)
+ ret ptr null
+if.j37:
+ %t138 = load ptr, ptr %sc_l_v_0
+ %t139 = call ptr @sc_rc_retain_str(ptr %t138)
+ %t140 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t140)
+ %t141 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t141)
+ %t142 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t142)
+ %t143 = load ptr, ptr %sc_l_lc_0
+ call void @scr_str_release(ptr %t143)
+ %t144 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t144)
+ ret ptr %t139
+if.j29:
+ %t145 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t145)
+ %t146 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t146)
+ br label %loop.u9
+loop.u9:
+ %t147 = load i32, ptr %sc_l_i_0
+ %t148 = uitofp i32 %t147 to double
+ %t150 = zext i32 %t147 to i64
+ %t151 = add nsw i64 %t150, 1
+ %t153 = trunc i64 %t151 to i32
+ %t152 = sitofp i64 %t151 to double
+ %t154 = trunc i64 %t151 to i32
+ store i32 %t154, ptr %sc_l_i_0
+ br label %loop.c7
+loop.e6:
+ %t155 = load ptr, ptr %sc_l_lc_0
+ call void @scr_str_release(ptr %t155)
+ %t156 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t156)
+ ret ptr null
+exc.cleanup25:
+ %t157 = load ptr, ptr %sc_l_lc_0
+ call void @scr_str_release(ptr %t157)
+ %t158 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t158)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m4_multipartBoundary(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m4_multipartBoundary(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m4_basename(ptr %p_sc_l_p_0) #0 { ; %m4.basename
+entry:
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_cut_0 = alloca i32 ; cut
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_ch_0 = alloca double ; ch
+ %s16 = alloca i1
+ %s20 = alloca i1
+ store ptr null, ptr %sc_l_s_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load ptr, ptr %sc_l_p_0
+ store ptr %t0, ptr %sc_l_s_0
+ store i32 -1, ptr %sc_l_cut_0
+ store i32 0, ptr %sc_l_i_0
+ br label %loop.c1
+loop.c1:
+ %t1 = load i32, ptr %sc_l_i_0
+ %t2 = sitofp i32 %t1 to double
+ %t3 = load ptr, ptr %sc_l_s_0
+ %t4 = call double @sc_str_utf16_len(ptr %t3)
+ %t6 = fptosi double %t4 to i32
+ %t7 = sext i32 %t1 to i64
+ %t8 = sext i32 %t6 to i64
+ %t5 = icmp slt i64 %t7, %t8
+ br i1 %t5, label %loop.b2, label %loop.e0
+loop.b2:
+ %t9 = load ptr, ptr %sc_l_s_0
+ %t10 = load i32, ptr %sc_l_i_0
+ %t11 = sitofp i32 %t10 to double
+ %t13 = sext i32 %t10 to i64
+ %t12 = call double @sc_str_char_code_at_int(ptr %t9, i64 %t13)
+ store double %t12, ptr %sc_l_ch_0
+ %t14 = load double, ptr %sc_l_ch_0
+ %t15 = fcmp oeq double %t14, 0x4047800000000000
+ store i1 %t15, ptr %s16
+ br i1 %t15, label %log.j5, label %log.r4
+log.r4:
+ %t17 = load double, ptr %sc_l_ch_0
+ %t18 = fcmp oeq double %t17, 0x4057000000000000
+ store i1 %t18, ptr %s16
+ br label %log.j5
+log.j5:
+ %t19 = load i1, ptr %s16
+ store i1 %t19, ptr %s20
+ br i1 %t19, label %log.j7, label %log.r6
+log.r6:
+ %t21 = load double, ptr %sc_l_ch_0
+ %t22 = fcmp oeq double %t21, 0x404D000000000000
+ store i1 %t22, ptr %s20
+ br label %log.j7
+log.j7:
+ %t23 = load i1, ptr %s20
+ br i1 %t23, label %if.t8, label %if.j9
+if.t8:
+ %t24 = load i32, ptr %sc_l_i_0
+ %t25 = sitofp i32 %t24 to double
+ store i32 %t24, ptr %sc_l_cut_0
+ br label %if.j9
+if.j9:
+ br label %loop.u3
+loop.u3:
+ %t26 = load i32, ptr %sc_l_i_0
+ %t27 = sitofp i32 %t26 to double
+ %t30 = trunc i64 1 to i32
+ %t29 = add nsw i32 %t26, %t30
+ %t31 = sitofp i32 %t29 to double
+ store i32 %t29, ptr %sc_l_i_0
+ br label %loop.c1
+loop.e0:
+ %t32 = load ptr, ptr %sc_l_s_0
+ %t33 = load i32, ptr %sc_l_cut_0
+ %t34 = sitofp i32 %t33 to double
+ %t37 = trunc i64 1 to i32
+ %t36 = add nsw i32 %t33, %t37
+ %t38 = sitofp i32 %t36 to double
+ %t39 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t40 = call ptr @scr_str_slice(ptr %t32, double %t38, double %t39)
+ ret ptr %t40
+}
+define internal ptr @sc_f__x25_m4_basename(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m4_basename(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m4_splitParams(ptr %p_sc_l_v_0) #0 { ; %m4.splitParams
+entry:
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_cur_0 = alloca ptr ; cur
+ %sc_l_inQ_0 = alloca i1 ; inQ
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_ch_0 = alloca double ; ch
+ %s21 = alloca i1
+ %s52 = alloca i1
+ %s55 = alloca i1
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_s_0
+ store ptr null, ptr %sc_l_cur_0
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t0 = call ptr @scr_arr_new_small(i32 2)
+ store ptr %t0, ptr %sc_l_out_0
+ %t1 = load ptr, ptr %sc_l_v_0
+ store ptr %t1, ptr %sc_l_s_0
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_cur_0
+ store i1 false, ptr %sc_l_inQ_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c1
+loop.c1:
+ %t2 = load double, ptr %sc_l_i_0
+ %t3 = load ptr, ptr %sc_l_s_0
+ %t4 = call double @sc_str_utf16_len(ptr %t3)
+ %t6 = fptosi double %t4 to i32
+ %t5 = fcmp olt double %t2, %t4
+ br i1 %t5, label %loop.b2, label %loop.e0
+loop.b2:
+ %t7 = load ptr, ptr %sc_l_s_0
+ %t8 = load double, ptr %sc_l_i_0
+ %t9 = call double @sc_str_char_code_at(ptr %t7, double %t8)
+ store double %t9, ptr %sc_l_ch_0
+ %t10 = load double, ptr %sc_l_ch_0
+ %t11 = fcmp oeq double %t10, 0x4041000000000000
+ br i1 %t11, label %if.t4, label %if.f6
+if.t4:
+ %t12 = load i1, ptr %sc_l_inQ_0
+ %t13 = xor i1 %t12, true
+ store i1 %t13, ptr %sc_l_inQ_0
+ %t14 = load ptr, ptr %sc_l_s_0
+ %t15 = load double, ptr %sc_l_i_0
+ %t16 = call ptr @scr_str_char_at(ptr %t14, double %t15)
+ %t17 = load ptr, ptr %sc_l_cur_0
+ %t18 = call ptr @scr_str_concat_move(ptr %t17, ptr %t16)
+ store ptr %t18, ptr %sc_l_cur_0
+ call void @scr_str_release(ptr %t16)
+ br label %if.j5
+if.f6:
+ %t19 = load double, ptr %sc_l_ch_0
+ %t20 = fcmp oeq double %t19, 0x404D800000000000
+ store i1 %t20, ptr %s21
+ br i1 %t20, label %log.r7, label %log.j8
+log.r7:
+ %t22 = load i1, ptr %sc_l_inQ_0
+ %t23 = xor i1 %t22, true
+ store i1 %t23, ptr %s21
+ br label %log.j8
+log.j8:
+ %t24 = load i1, ptr %s21
+ br i1 %t24, label %if.t9, label %if.f11
+if.t9:
+ %t25 = load ptr, ptr %sc_l_out_0
+ %t26 = load ptr, ptr %sc_l_cur_0
+ %t27 = call ptr @sc_rc_retain_str(ptr %t26)
+ %t28 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 1
+ %t29 = load i64, ptr %t28, !tbaa !2
+ %t32 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 2
+ %t30 = load i64, ptr %t32, !tbaa !2
+ %t31 = icmp ult i64 %t29, %t30
+ br i1 %t31, label %arr.push.dense12, label %arr.push.slow13
+arr.push.dense12:
+ %t33 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 8
+ %t35 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 9
+ %t34 = load ptr, ptr %t33, !tbaa !2
+ %t36 = load ptr, ptr %t35, !tbaa !2
+ %t37 = getelementptr inbounds i8, ptr %t36, i64 %t29
+ %t38 = getelementptr inbounds i64, ptr %t34, i64 %t29
+ store ptr %t27, ptr %t38, !tbaa !6
+ store i8 1, ptr %t37, !tbaa !4
+ %t39 = add nuw i64 %t29, 1
+ store i64 %t39, ptr %t28, !tbaa !2
+ %t41 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 6
+ %t42 = load i32, ptr %t41, !tbaa !2
+ %t46 = zext i32 %t42 to i64
+ %t43 = icmp eq i64 %t46, %t29
+ %t44 = add i32 %t42, 1
+ %t45 = select i1 %t43, i32 %t44, i32 %t42
+ store i32 %t45, ptr %t41, !tbaa !2
+ %t40 = sitofp i64 %t39 to double
+ br label %arr.push.join14
+arr.push.slow13:
+ %t47 = call double @scr_arr_push_ref(ptr %t25, ptr %t27) cold
+ br label %arr.push.join14
+arr.push.join14:
+ %t48 = phi double [ %t40, %arr.push.dense12 ], [ %t47, %arr.push.slow13 ]
+ %t49 = load ptr, ptr %sc_l_cur_0
+ call void @scr_str_release(ptr %t49)
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_cur_0
+ br label %if.j10
+if.f11:
+ %t50 = load double, ptr %sc_l_ch_0
+ %t51 = fcmp oeq double %t50, 0x4057000000000000
+ store i1 %t51, ptr %s52
+ br i1 %t51, label %log.r15, label %log.j16
+log.r15:
+ %t53 = load i1, ptr %sc_l_inQ_0
+ store i1 %t53, ptr %s52
+ br label %log.j16
+log.j16:
+ %t54 = load i1, ptr %s52
+ store i1 %t54, ptr %s55
+ br i1 %t54, label %log.r17, label %log.j18
+log.r17:
+ %t56 = load double, ptr %sc_l_i_0
+ %t57 = fadd double %t56, 0x3FF0000000000000
+ %t58 = load ptr, ptr %sc_l_s_0
+ %t59 = call double @sc_str_utf16_len(ptr %t58)
+ %t61 = fptosi double %t59 to i32
+ %t60 = fcmp olt double %t57, %t59
+ store i1 %t60, ptr %s55
+ br label %log.j18
+log.j18:
+ %t62 = load i1, ptr %s55
+ br i1 %t62, label %if.t19, label %if.f21
+if.t19:
+ %t63 = load double, ptr %sc_l_i_0
+ %t64 = fadd double %t63, 0x3FF0000000000000
+ store double %t64, ptr %sc_l_i_0
+ %t65 = load ptr, ptr %sc_l_s_0
+ %t66 = load double, ptr %sc_l_i_0
+ %t67 = call ptr @scr_str_char_at(ptr %t65, double %t66)
+ %t68 = load ptr, ptr %sc_l_cur_0
+ %t69 = call ptr @scr_str_concat_move(ptr %t68, ptr %t67)
+ store ptr %t69, ptr %sc_l_cur_0
+ call void @scr_str_release(ptr %t67)
+ br label %if.j20
+if.f21:
+ %t70 = load ptr, ptr %sc_l_s_0
+ %t71 = load double, ptr %sc_l_i_0
+ %t72 = call ptr @scr_str_char_at(ptr %t70, double %t71)
+ %t73 = load ptr, ptr %sc_l_cur_0
+ %t74 = call ptr @scr_str_concat_move(ptr %t73, ptr %t72)
+ store ptr %t74, ptr %sc_l_cur_0
+ call void @scr_str_release(ptr %t72)
+ br label %if.j20
+if.j20:
+ br label %if.j10
+if.j10:
+ br label %if.j5
+if.j5:
+ br label %loop.u3
+loop.u3:
+ %t75 = load double, ptr %sc_l_i_0
+ %t76 = fadd double %t75, 0x3FF0000000000000
+ store double %t76, ptr %sc_l_i_0
+ br label %loop.c1
+loop.e0:
+ %t77 = load ptr, ptr %sc_l_out_0
+ %t78 = load ptr, ptr %sc_l_cur_0
+ %t79 = call ptr @sc_rc_retain_str(ptr %t78)
+ %t80 = getelementptr inbounds %ScrArr, ptr %t77, i32 0, i32 1
+ %t81 = load i64, ptr %t80, !tbaa !2
+ %t84 = getelementptr inbounds %ScrArr, ptr %t77, i32 0, i32 2
+ %t82 = load i64, ptr %t84, !tbaa !2
+ %t83 = icmp ult i64 %t81, %t82
+ br i1 %t83, label %arr.push.dense22, label %arr.push.slow23
+arr.push.dense22:
+ %t85 = getelementptr inbounds %ScrArr, ptr %t77, i32 0, i32 8
+ %t87 = getelementptr inbounds %ScrArr, ptr %t77, i32 0, i32 9
+ %t86 = load ptr, ptr %t85, !tbaa !2
+ %t88 = load ptr, ptr %t87, !tbaa !2
+ %t89 = getelementptr inbounds i8, ptr %t88, i64 %t81
+ %t90 = getelementptr inbounds i64, ptr %t86, i64 %t81
+ store ptr %t79, ptr %t90, !tbaa !6
+ store i8 1, ptr %t89, !tbaa !4
+ %t91 = add nuw i64 %t81, 1
+ store i64 %t91, ptr %t80, !tbaa !2
+ %t93 = getelementptr inbounds %ScrArr, ptr %t77, i32 0, i32 6
+ %t94 = load i32, ptr %t93, !tbaa !2
+ %t98 = zext i32 %t94 to i64
+ %t95 = icmp eq i64 %t98, %t81
+ %t96 = add i32 %t94, 1
+ %t97 = select i1 %t95, i32 %t96, i32 %t94
+ store i32 %t97, ptr %t93, !tbaa !2
+ %t92 = sitofp i64 %t91 to double
+ br label %arr.push.join24
+arr.push.slow23:
+ %t99 = call double @scr_arr_push_ref(ptr %t77, ptr %t79) cold
+ br label %arr.push.join24
+arr.push.join24:
+ %t100 = phi double [ %t92, %arr.push.dense22 ], [ %t99, %arr.push.slow23 ]
+ %t101 = load ptr, ptr %sc_l_out_0
+ %t102 = load ptr, ptr %sc_l_cur_0
+ call void @scr_str_release(ptr %t102)
+ ret ptr %t101
+}
+define internal ptr @sc_f__x25_m4_splitParams(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m4_splitParams(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m4_unquote(ptr %p_sc_l_v_0) #0 { ; %m4.unquote
+entry:
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_s_0 = alloca ptr ; s
+ %s7 = alloca i1
+ %s12 = alloca i1
+ store ptr null, ptr %sc_l_s_0
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t0 = load ptr, ptr %sc_l_v_0
+ %t1 = call ptr @sc_bf__x25_m4_trimWs(ptr %t0)
+ store ptr %t1, ptr %sc_l_s_0
+ %t2 = load ptr, ptr %sc_l_s_0
+ %t3 = call double @sc_str_utf16_len(ptr %t2)
+ %t5 = fptosi double %t3 to i32
+ %t6 = sext i32 %t5 to i64
+ %t4 = icmp sge i64 %t6, 2
+ store i1 %t4, ptr %s7
+ br i1 %t4, label %log.r0, label %log.j1
+log.r0:
+ %t8 = load ptr, ptr %sc_l_s_0
+ %t9 = call ptr @scr_str_char_at(ptr %t8, double 0x0000000000000000)
+ %t10 = call zeroext i1 @sc_streq_2431234921623602(ptr %t9)
+ store i1 %t10, ptr %s7
+ call void @scr_str_release(ptr %t9)
+ br label %log.j1
+log.j1:
+ %t11 = load i1, ptr %s7
+ store i1 %t11, ptr %s12
+ br i1 %t11, label %log.r2, label %log.j3
+log.r2:
+ %t13 = load ptr, ptr %sc_l_s_0
+ %t14 = load ptr, ptr %sc_l_s_0
+ %t15 = call double @sc_str_utf16_len(ptr %t14)
+ %t17 = fptosi double %t15 to i32
+ %t19 = trunc i64 1 to i32
+ %t18 = sub nsw i32 %t17, %t19
+ %t20 = sitofp i32 %t18 to double
+ %t21 = call ptr @scr_str_char_at(ptr %t13, double %t20)
+ %t22 = call zeroext i1 @sc_streq_2431234921623602(ptr %t21)
+ store i1 %t22, ptr %s12
+ call void @scr_str_release(ptr %t21)
+ br label %log.j3
+log.j3:
+ %t23 = load i1, ptr %s12
+ br i1 %t23, label %if.t4, label %if.j5
+if.t4:
+ %t24 = load ptr, ptr %sc_l_s_0
+ %t25 = load ptr, ptr %sc_l_s_0
+ %t26 = call double @sc_str_utf16_len(ptr %t25)
+ %t28 = fptosi double %t26 to i32
+ %t30 = trunc i64 1 to i32
+ %t29 = sub nsw i32 %t28, %t30
+ %t31 = sitofp i32 %t29 to double
+ %t32 = call ptr @scr_str_slice(ptr %t24, double 0x3FF0000000000000, double %t31)
+ %t33 = load ptr, ptr %sc_l_s_0
+ call void @scr_str_release(ptr %t33)
+ ret ptr %t32
+if.j5:
+ %t34 = load ptr, ptr %sc_l_s_0
+ ret ptr %t34
+}
+define internal ptr @sc_f__x25_m4_unquote(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m4_unquote(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m4_parseDisposition(ptr %p_sc_l_v_0) #0 { ; %m4.parseDisposition
+entry:
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_segs_0 = alloca ptr ; segs
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_seg_0 = alloca ptr ; seg
+ %sc_l_eq_0 = alloca i32 ; eq
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_val_0 = alloca ptr ; val
+ %s7 = alloca i64 ; integer induction i
+ %s14 = alloca ptr
+ %s44 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_segs_0
+ store ptr null, ptr %sc_l_seg_0
+ store ptr null, ptr %sc_l_k_0
+ store ptr null, ptr %sc_l_val_0
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @sc_new__x25_m4_DispositionParams()
+ call void @sc_bf__x25__x25_m4_DispositionParams_constructor(ptr %t4)
+ store ptr %t4, ptr %sc_l_out_0
+ %t5 = load ptr, ptr %sc_l_v_0
+ %t6 = call ptr @sc_bf__x25_m4_splitParams(ptr %t5)
+ store ptr %t6, ptr %sc_l_segs_0
+ %t8 = fptosi double 0x0000000000000000 to i64
+ store i64 %t8, ptr %s7
+ br label %loop.c3
+loop.c3:
+ %t9 = load ptr, ptr %sc_l_segs_0
+ %t10 = getelementptr inbounds %ScrArr, ptr %t9, i64 0, i32 1
+ %t11 = load i64, ptr %t10, !tbaa !2
+ %t12 = load i64, ptr %s7
+ %t13 = icmp ult i64 %t12, %t11
+ br i1 %t13, label %loop.b4, label %loop.e2
+loop.b4:
+ %t15 = load ptr, ptr %sc_l_segs_0
+ %t16 = load i64, ptr %s7
+ %t17 = load i64, ptr %s7
+ %t18 = sitofp i64 %t17 to double
+ %t19 = trunc i64 %t17 to i32
+ %t20 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 2
+ %t21 = load i64, ptr %t20, !tbaa !2
+ %t22 = icmp ult i64 %t16, %t21
+ br i1 %t22, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t23 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 6
+ %t24 = load i32, ptr %t23, !tbaa !2
+ %t26 = zext i32 %t24 to i64
+ %t25 = icmp ult i64 %t16, %t26
+ br i1 %t25, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t27 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 1
+ %t28 = load i64, ptr %t27, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t29 = icmp ult i64 %t16, %t28
+ br i1 %t29, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t30 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 9
+ %t31 = load ptr, ptr %t30, !tbaa !2
+ %t32 = getelementptr inbounds i8, ptr %t31, i64 %t16
+ %t33 = load i8, ptr %t32, !tbaa !4
+ %t34 = icmp eq i8 %t33, 1
+ br i1 %t34, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t35 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 8
+ %t36 = load ptr, ptr %t35, !tbaa !2
+ %t37 = getelementptr inbounds i64, ptr %t36, i64 %t16
+ %t38 = load ptr, ptr %t37, !tbaa !6
+ %t39 = call ptr @sc_rc_retain_str(ptr %t38)
+ store ptr %t39, ptr %s14
+ br label %local.array.join8
+local.array.slow6:
+ %t40 = call ptr @scr_arr_peek_ref(ptr %t15, double %t18)
+ %t41 = icmp ne ptr %t40, null
+ br i1 %t41, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ %t42 = call ptr @sc_rc_retain_str(ptr %t40)
+ store ptr %t42, ptr %s14
+ br label %local.array.join8
+local.array.missing7:
+ store ptr null, ptr %s14
+ br label %local.array.join8
+local.array.join8:
+ %t43 = load ptr, ptr %s14
+ %t46 = icmp eq ptr %t43, null
+ %t45 = select i1 %t46, i32 1, i32 0
+ switch i32 %t45, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ]
+u.a17:
+ %t47 = call ptr @sc_rc_retain_str(ptr %t43)
+ store ptr %t47, ptr %s44
+ br label %us.j15
+u.a18:
+ store ptr @sc_lit_4134463689533233, ptr %s44
+ br label %us.j15
+u.bad16:
+ call void @sc_bad_tag()
+ unreachable
+us.j15:
+ %t48 = load ptr, ptr %s44
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u19, label %exc.k20
+exc.u19:
+ %t52 = load ptr, ptr %s14
+ call void @scr_str_release(ptr %t52)
+ call void @scr_str_release(ptr %t48)
+ br label %exc.cleanup21
+exc.k20:
+ %t53 = call ptr @sc_bf__x25_m4_trimWs(ptr %t48)
+ %t54 = load ptr, ptr %s14
+ call void @scr_str_release(ptr %t54)
+ call void @scr_str_release(ptr %t48)
+ store ptr %t53, ptr %sc_l_seg_0
+ %t55 = load i64, ptr %s7
+ %t56 = sitofp i64 %t55 to double
+ %t57 = trunc i64 %t55 to i32
+ %t58 = icmp eq i64 %t55, 0
+ br i1 %t58, label %if.t22, label %if.j23
+if.t22:
+ %t59 = load ptr, ptr %sc_l_out_0
+ %t60 = load ptr, ptr %sc_l_seg_0
+ %t61 = call ptr @scr_str_to_lower(ptr %t60)
+ %t62 = call zeroext i1 @sc_streq_3440635113177870(ptr %t61)
+ %t63 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t59, i64 0, i32 1
+ %t64 = zext i1 %t62 to i8
+ store i8 %t64, ptr %t63, !tbaa !8
+ call void @scr_str_release(ptr %t61)
+ %t65 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t65)
+ br label %loop.u5
+if.j23:
+ %t66 = load ptr, ptr %sc_l_seg_0
+ %t67 = call double @scr_str_index_of(ptr %t66, ptr @sc_lit_985787530504786, double 0x0000000000000000)
+ %t68 = fptosi double %t67 to i32
+ store i32 %t68, ptr %sc_l_eq_0
+ %t69 = load i32, ptr %sc_l_eq_0
+ %t70 = sitofp i32 %t69 to double
+ %t72 = sext i32 %t69 to i64
+ %t71 = icmp slt i64 %t72, 0
+ br i1 %t71, label %if.t24, label %if.j25
+if.t24:
+ %t73 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t73)
+ br label %loop.u5
+if.j25:
+ %t74 = load ptr, ptr %sc_l_seg_0
+ %t75 = load i32, ptr %sc_l_eq_0
+ %t76 = sitofp i32 %t75 to double
+ %t77 = call ptr @scr_str_slice(ptr %t74, double 0x0000000000000000, double %t76)
+ %t78 = call ptr @sc_bf__x25_m4_trimWs(ptr %t77)
+ call void @scr_str_release(ptr %t77)
+ %t79 = call ptr @scr_str_to_lower(ptr %t78)
+ store ptr %t79, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t78)
+ %t80 = load ptr, ptr %sc_l_seg_0
+ %t81 = load i32, ptr %sc_l_eq_0
+ %t82 = sitofp i32 %t81 to double
+ %t84 = sext i32 %t81 to i64
+ %t85 = add nsw i64 %t84, 1
+ %t87 = trunc i64 %t85 to i32
+ %t86 = sitofp i64 %t85 to double
+ %t88 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t89 = call ptr @scr_str_slice(ptr %t80, double %t86, double %t88)
+ %t90 = call ptr @sc_bf__x25_m4_unquote(ptr %t89)
+ call void @scr_str_release(ptr %t89)
+ store ptr %t90, ptr %sc_l_val_0
+ %t91 = load ptr, ptr %sc_l_k_0
+ %t92 = call zeroext i1 @sc_streq_2298207874780604(ptr %t91)
+ br i1 %t92, label %if.t26, label %if.f28
+if.t26:
+ %t93 = load ptr, ptr %sc_l_out_0
+ %t94 = load ptr, ptr %sc_l_val_0
+ %t95 = call ptr @sc_rc_retain_str(ptr %t94)
+ %t96 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t93, i64 0, i32 2
+ %t97 = load ptr, ptr %t96
+ store ptr %t95, ptr %t96, !tbaa !10
+ call void @scr_str_release(ptr %t97)
+ br label %if.j27
+if.f28:
+ %t98 = load ptr, ptr %sc_l_k_0
+ %t99 = call zeroext i1 @sc_streq_4388468866828680(ptr %t98)
+ br i1 %t99, label %if.t29, label %if.j30
+if.t29:
+ %t100 = load ptr, ptr %sc_l_out_0
+ %t101 = load ptr, ptr %sc_l_val_0
+ %t102 = call ptr @sc_rc_retain_str(ptr %t101)
+ %t103 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t100, i64 0, i32 3
+ %t104 = load ptr, ptr %t103
+ store ptr %t102, ptr %t103, !tbaa !12
+ call void @scr_str_release(ptr %t104)
+ br label %if.j30
+if.j30:
+ br label %if.j27
+if.j27:
+ %t105 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t105)
+ %t106 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t106)
+ %t107 = load ptr, ptr %sc_l_val_0
+ call void @scr_str_release(ptr %t107)
+ br label %loop.u5
+loop.u5:
+ %t108 = load i64, ptr %s7
+ %t109 = add nuw i64 %t108, 1
+ store i64 %t109, ptr %s7
+ br label %loop.c3
+loop.e2:
+ %t110 = load ptr, ptr %sc_l_out_0
+ %t111 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t111)
+ ret ptr %t110
+exc.cleanup21:
+ %t112 = load ptr, ptr %sc_l_out_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t112)
+ %t113 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t113)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m4_parseDisposition(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m4_parseDisposition(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m5_copyHeaders(ptr %p_sc_l_src_0) #0 { ; %m5.copyHeaders
+entry:
+ %sc_l_src_0 = alloca ptr ; src
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l__x25_indyn_0 = alloca ptr ; %indyn
+ %sc_l__x25_instable_0 = alloca i1 ; %instable
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l__x25_ownReceiver_0 = alloca ptr ; %ownReceiver
+ %sc_l__x25_ownKey_0 = alloca ptr ; %ownKey
+ %sc_l_v_0 = alloca ptr ; v
+ %s9 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s25 = alloca double
+ %s62 = alloca i1
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l__x25_indyn_0
+ store ptr null, ptr %sc_l_k_0
+ store ptr null, ptr %sc_l__x25_ownReceiver_0
+ store ptr null, ptr %sc_l__x25_ownKey_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr %p_sc_l_src_0, ptr %sc_l_src_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @sc_rnew_r0()
+ store ptr %t4, ptr %sc_l_out_0
+ %t5 = load ptr, ptr %sc_l_src_0
+ %t6 = getelementptr inbounds i8, ptr %t5, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 6
+ store i1 %t8, ptr %s9
+ br i1 %t8, label %log.j3, label %log.r2
+log.r2:
+ %t10 = load ptr, ptr %sc_l_src_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 0
+ store i1 %t13, ptr %s9
+ br label %log.j3
+log.j3:
+ %t14 = load i1, ptr %s9
+ br i1 %t14, label %if.t4, label %if.j5
+if.t4:
+ %t15 = load ptr, ptr %sc_l_out_0
+ ret ptr %t15
+if.j5:
+ %t16 = load ptr, ptr %sc_l_src_0
+ store ptr %t16, ptr %sc_l__x25_indyn_0
+ %t17 = load ptr, ptr %sc_l__x25_indyn_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call zeroext i1 @scr_dyn_for_in_stable(ptr %t18)
+ store i1 %t19, ptr %sc_l__x25_instable_0
+ call void @sc_rc_release_dyn(ptr %t18)
+ %t20 = load ptr, ptr %sc_l__x25_indyn_0
+ %t21 = call ptr @sc_bf__x25_dyn_class_forInKeyStrings(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_arr_release(ptr %t21)
+ br label %exc.cleanup8
+exc.k7:
+ store double 0x0000000000000000, ptr %s25
+ br label %fof.c9
+fof.c9:
+ %t27 = load double, ptr %s25
+ %t28 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1
+ %t29 = load i64, ptr %t28, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t30 = sitofp i64 %t29 to double
+ %t26 = fcmp olt double %t27, %t30
+ br i1 %t26, label %fof.b10, label %fof.e12
+fof.b10:
+ %t31 = fptosi double %t27 to i64
+ %t33 = freeze i64 %t31
+ %t32 = sitofp i64 %t33 to double
+ %t34 = fcmp oeq double %t32, %t27
+ %t39 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 8
+ %t40 = load ptr, ptr %t39, !tbaa !2
+ %t35 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1
+ %t36 = load i64, ptr %t35, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t37 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 2
+ %t38 = load i64, ptr %t37, !tbaa !2
+ %t41 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 9
+ %t42 = load ptr, ptr %t41, !tbaa !2
+ %t43 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 6
+ %t44 = load i32, ptr %t43, !tbaa !2
+ %t45 = zext i32 %t44 to i64
+ %t46 = icmp ult i64 %t33, %t45
+ %t47 = and i1 %t34, %t46
+ br i1 %t47, label %arr.get.value15, label %arr.check16
+arr.check16:
+ %t48 = icmp ult i64 %t33, %t38
+ %t49 = icmp ult i64 %t33, %t36
+ %t50 = and i1 %t34, %t48
+ %t51 = and i1 %t50, %t49
+ br i1 %t51, label %arr.dense17, label %arr.get.slow13
+arr.dense17:
+ %t52 = getelementptr inbounds i8, ptr %t42, i64 %t33
+ %t53 = load i8, ptr %t52, !tbaa !4
+ %t54 = icmp eq i8 %t53, 1
+ br i1 %t54, label %arr.get.value15, label %arr.get.slow13
+arr.get.value15:
+ %t55 = getelementptr inbounds i64, ptr %t40, i64 %t33
+ %t56 = load ptr, ptr %t55, !tbaa !6
+ %t57 = icmp ne ptr %t56, null
+ br i1 %t57, label %arr.get.ref18, label %arr.get.slow13
+arr.get.ref18:
+ %t58 = call ptr @sc_rc_retain_str(ptr %t56)
+ br label %arr.get.join14
+arr.get.slow13:
+ %t59 = call ptr @scr_arr_get_ref(ptr %t21, double %t27) cold
+ br label %arr.get.join14
+arr.get.join14:
+ %t60 = phi ptr [ %t58, %arr.get.ref18 ], [ %t59, %arr.get.slow13 ]
+ store ptr %t60, ptr %sc_l_k_0
+ %t61 = load i1, ptr %sc_l__x25_instable_0
+ br i1 %t61, label %tern.t19, label %tern.f20
+tern.t19:
+ store i1 true, ptr %s62
+ br label %tern.j21
+tern.f20:
+ %t63 = load ptr, ptr %sc_l__x25_indyn_0
+ %t64 = load ptr, ptr %sc_l_k_0
+ %t65 = call i1 @sc_bf__x25_dyn_class_forInHasKey(ptr %t63, ptr %t64)
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_arr_release(ptr %t21)
+ br label %exc.cleanup24
+exc.k23:
+ store i1 %t65, ptr %s62
+ br label %tern.j21
+tern.j21:
+ %t69 = load i1, ptr %s62
+ br i1 %t69, label %if.t25, label %if.j26
+if.t25:
+ %t70 = load ptr, ptr %sc_l_src_0
+ store ptr %t70, ptr %sc_l__x25_ownReceiver_0
+ %t71 = load ptr, ptr %sc_l_k_0
+ store ptr %t71, ptr %sc_l__x25_ownKey_0
+ %t72 = load ptr, ptr %sc_l__x25_ownReceiver_0
+ %t73 = call ptr @sc_rc_retain_dyn(ptr %t72)
+ %t74 = load ptr, ptr %sc_l__x25_ownKey_0
+ %t75 = call ptr @sc_rc_retain_str(ptr %t74)
+ %t76 = call zeroext i1 @scr_dyn_has_own(ptr %t73, ptr %t75)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @scr_str_release(ptr %t75)
+ call void @scr_arr_release(ptr %t21)
+ br label %exc.cleanup24
+exc.k28:
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @scr_str_release(ptr %t75)
+ br i1 %t76, label %if.t29, label %if.j30
+if.t29:
+ %t80 = load ptr, ptr %sc_l_src_0
+ %t81 = call ptr @sc_rc_retain_dyn(ptr %t80)
+ %t82 = load ptr, ptr %sc_l_k_0
+ %t83 = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %t81, ptr %t82)
+ %t84 = load i32, ptr %exc.cell
+ %t85 = icmp ne i32 %t84, 0
+ %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false)
+ br i1 %t86, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @scr_arr_release(ptr %t21)
+ br label %exc.cleanup24
+exc.k32:
+ store ptr %t83, ptr %sc_l_v_0
+ %t87 = load ptr, ptr %sc_l_v_0
+ %t88 = getelementptr inbounds i8, ptr %t87, i64 8 ; ->kind
+ %t89 = load i32, ptr %t88
+ %t90 = icmp eq i32 %t89, 3
+ br i1 %t90, label %if.t33, label %if.j34
+if.t33:
+ %t91 = load ptr, ptr %sc_l_out_0
+ %t92 = call ptr @sc_rretain_r0(ptr %t91)
+ %t93 = load ptr, ptr %sc_l_k_0
+ %t94 = call ptr @scr_str_to_lower(ptr %t93)
+ %t95 = load ptr, ptr %sc_l_v_0
+ %t96 = call ptr @sc_dc_0(ptr %t95, ptr null)
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rrelease_r0(ptr %t92)
+ call void @scr_str_release(ptr %t94)
+ call void @scr_str_release(ptr %t96)
+ call void @scr_arr_release(ptr %t21)
+ br label %exc.cleanup37
+exc.k36:
+ %t100 = getelementptr inbounds %sc_rs_r0, ptr %t92, i64 0, i32 1
+ %t101 = load ptr, ptr %t100
+ call void @scr_map_set_str_ref(ptr %t101, ptr %t94, ptr %t96)
+ br label %rks.j38
+rks.j38:
+ call void @sc_rrelease_r0(ptr %t92)
+ call void @scr_str_release(ptr %t94)
+ br label %if.j34
+if.j34:
+ %t102 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t102)
+ br label %if.j30
+if.j30:
+ br label %if.j26
+if.j26:
+ %t103 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t103)
+ br label %fof.u11
+fof.u11:
+ %t104 = load double, ptr %s25
+ %t105 = fadd double %t104, 0x3FF0000000000000
+ store double %t105, ptr %s25
+ br label %fof.c9
+fof.e12:
+ call void @scr_arr_release(ptr %t21)
+ %t106 = load ptr, ptr %sc_l_out_0
+ ret ptr %t106
+exc.cleanup8:
+ %t107 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r0(ptr %t107)
+ ret ptr null
+exc.cleanup24:
+ %t108 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t108)
+ %t109 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r0(ptr %t109)
+ ret ptr null
+exc.cleanup37:
+ %t110 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t110)
+ %t111 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t111)
+ %t112 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r0(ptr %t112)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_copyHeaders(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_copyHeaders(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m5_copyHeadersDistinct(ptr %p_sc_l_src_0) #0 { ; %m5.copyHeadersDistinct
+entry:
+ %sc_l_src_0 = alloca ptr ; src
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l__x25_indyn_0 = alloca ptr ; %indyn
+ %sc_l__x25_instable_0 = alloca i1 ; %instable
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l__x25_ownReceiver_0 = alloca ptr ; %ownReceiver
+ %sc_l__x25_ownKey_0 = alloca ptr ; %ownKey
+ %sc_l_v_0 = alloca ptr ; v
+ %s9 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s25 = alloca double
+ %s62 = alloca i1
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l__x25_indyn_0
+ store ptr null, ptr %sc_l_k_0
+ store ptr null, ptr %sc_l__x25_ownReceiver_0
+ store ptr null, ptr %sc_l__x25_ownKey_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr %p_sc_l_src_0, ptr %sc_l_src_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @sc_rnew_r3()
+ store ptr %t4, ptr %sc_l_out_0
+ %t5 = load ptr, ptr %sc_l_src_0
+ %t6 = getelementptr inbounds i8, ptr %t5, i64 8 ; ->kind
+ %t7 = load i32, ptr %t6
+ %t8 = icmp eq i32 %t7, 6
+ store i1 %t8, ptr %s9
+ br i1 %t8, label %log.j3, label %log.r2
+log.r2:
+ %t10 = load ptr, ptr %sc_l_src_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 0
+ store i1 %t13, ptr %s9
+ br label %log.j3
+log.j3:
+ %t14 = load i1, ptr %s9
+ br i1 %t14, label %if.t4, label %if.j5
+if.t4:
+ %t15 = load ptr, ptr %sc_l_out_0
+ ret ptr %t15
+if.j5:
+ %t16 = load ptr, ptr %sc_l_src_0
+ store ptr %t16, ptr %sc_l__x25_indyn_0
+ %t17 = load ptr, ptr %sc_l__x25_indyn_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call zeroext i1 @scr_dyn_for_in_stable(ptr %t18)
+ store i1 %t19, ptr %sc_l__x25_instable_0
+ call void @sc_rc_release_dyn(ptr %t18)
+ %t20 = load ptr, ptr %sc_l__x25_indyn_0
+ %t21 = call ptr @sc_bf__x25_dyn_class_forInKeyStrings(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_arr_release(ptr %t21)
+ br label %exc.cleanup8
+exc.k7:
+ store double 0x0000000000000000, ptr %s25
+ br label %fof.c9
+fof.c9:
+ %t27 = load double, ptr %s25
+ %t28 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1
+ %t29 = load i64, ptr %t28, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t30 = sitofp i64 %t29 to double
+ %t26 = fcmp olt double %t27, %t30
+ br i1 %t26, label %fof.b10, label %fof.e12
+fof.b10:
+ %t31 = fptosi double %t27 to i64
+ %t33 = freeze i64 %t31
+ %t32 = sitofp i64 %t33 to double
+ %t34 = fcmp oeq double %t32, %t27
+ %t39 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 8
+ %t40 = load ptr, ptr %t39, !tbaa !2
+ %t35 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1
+ %t36 = load i64, ptr %t35, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t37 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 2
+ %t38 = load i64, ptr %t37, !tbaa !2
+ %t41 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 9
+ %t42 = load ptr, ptr %t41, !tbaa !2
+ %t43 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 6
+ %t44 = load i32, ptr %t43, !tbaa !2
+ %t45 = zext i32 %t44 to i64
+ %t46 = icmp ult i64 %t33, %t45
+ %t47 = and i1 %t34, %t46
+ br i1 %t47, label %arr.get.value15, label %arr.check16
+arr.check16:
+ %t48 = icmp ult i64 %t33, %t38
+ %t49 = icmp ult i64 %t33, %t36
+ %t50 = and i1 %t34, %t48
+ %t51 = and i1 %t50, %t49
+ br i1 %t51, label %arr.dense17, label %arr.get.slow13
+arr.dense17:
+ %t52 = getelementptr inbounds i8, ptr %t42, i64 %t33
+ %t53 = load i8, ptr %t52, !tbaa !4
+ %t54 = icmp eq i8 %t53, 1
+ br i1 %t54, label %arr.get.value15, label %arr.get.slow13
+arr.get.value15:
+ %t55 = getelementptr inbounds i64, ptr %t40, i64 %t33
+ %t56 = load ptr, ptr %t55, !tbaa !6
+ %t57 = icmp ne ptr %t56, null
+ br i1 %t57, label %arr.get.ref18, label %arr.get.slow13
+arr.get.ref18:
+ %t58 = call ptr @sc_rc_retain_str(ptr %t56)
+ br label %arr.get.join14
+arr.get.slow13:
+ %t59 = call ptr @scr_arr_get_ref(ptr %t21, double %t27) cold
+ br label %arr.get.join14
+arr.get.join14:
+ %t60 = phi ptr [ %t58, %arr.get.ref18 ], [ %t59, %arr.get.slow13 ]
+ store ptr %t60, ptr %sc_l_k_0
+ %t61 = load i1, ptr %sc_l__x25_instable_0
+ br i1 %t61, label %tern.t19, label %tern.f20
+tern.t19:
+ store i1 true, ptr %s62
+ br label %tern.j21
+tern.f20:
+ %t63 = load ptr, ptr %sc_l__x25_indyn_0
+ %t64 = load ptr, ptr %sc_l_k_0
+ %t65 = call i1 @sc_bf__x25_dyn_class_forInHasKey(ptr %t63, ptr %t64)
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_arr_release(ptr %t21)
+ br label %exc.cleanup24
+exc.k23:
+ store i1 %t65, ptr %s62
+ br label %tern.j21
+tern.j21:
+ %t69 = load i1, ptr %s62
+ br i1 %t69, label %if.t25, label %if.j26
+if.t25:
+ %t70 = load ptr, ptr %sc_l_src_0
+ store ptr %t70, ptr %sc_l__x25_ownReceiver_0
+ %t71 = load ptr, ptr %sc_l_k_0
+ store ptr %t71, ptr %sc_l__x25_ownKey_0
+ %t72 = load ptr, ptr %sc_l__x25_ownReceiver_0
+ %t73 = call ptr @sc_rc_retain_dyn(ptr %t72)
+ %t74 = load ptr, ptr %sc_l__x25_ownKey_0
+ %t75 = call ptr @sc_rc_retain_str(ptr %t74)
+ %t76 = call zeroext i1 @scr_dyn_has_own(ptr %t73, ptr %t75)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @scr_str_release(ptr %t75)
+ call void @scr_arr_release(ptr %t21)
+ br label %exc.cleanup24
+exc.k28:
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @scr_str_release(ptr %t75)
+ br i1 %t76, label %if.t29, label %if.j30
+if.t29:
+ %t80 = load ptr, ptr %sc_l_src_0
+ %t81 = call ptr @sc_rc_retain_dyn(ptr %t80)
+ %t82 = load ptr, ptr %sc_l_k_0
+ %t83 = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %t81, ptr %t82)
+ %t84 = load i32, ptr %exc.cell
+ %t85 = icmp ne i32 %t84, 0
+ %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false)
+ br i1 %t86, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @scr_arr_release(ptr %t21)
+ br label %exc.cleanup24
+exc.k32:
+ store ptr %t83, ptr %sc_l_v_0
+ %t87 = load ptr, ptr %sc_l_v_0
+ %t88 = getelementptr inbounds i8, ptr %t87, i64 8 ; ->kind
+ %t89 = load i32, ptr %t88
+ %t90 = icmp eq i32 %t89, 4
+ %t91 = call zeroext i1 @scr_dyn_ref_is_array(ptr %t87)
+ %t92 = or i1 %t90, %t91
+ br i1 %t92, label %if.t33, label %if.j34
+if.t33:
+ %t93 = load ptr, ptr %sc_l_out_0
+ %t94 = call ptr @sc_rretain_r3(ptr %t93)
+ %t95 = load ptr, ptr %sc_l_k_0
+ %t96 = call ptr @scr_str_to_lower(ptr %t95)
+ %t97 = load ptr, ptr %sc_l_v_0
+ %t98 = call ptr @sc_dc_1(ptr %t97, ptr null)
+ %t99 = load i32, ptr %exc.cell
+ %t100 = icmp ne i32 %t99, 0
+ %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false)
+ br i1 %t101, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rrelease_r3(ptr %t94)
+ call void @scr_str_release(ptr %t96)
+ call void @scr_arr_release(ptr %t98)
+ call void @scr_arr_release(ptr %t21)
+ br label %exc.cleanup37
+exc.k36:
+ %t102 = getelementptr inbounds %sc_rs_r3, ptr %t94, i64 0, i32 1
+ %t103 = load ptr, ptr %t102
+ call void @scr_map_set_str_ref(ptr %t103, ptr %t96, ptr %t98)
+ br label %rks.j38
+rks.j38:
+ call void @sc_rrelease_r3(ptr %t94)
+ call void @scr_str_release(ptr %t96)
+ br label %if.j34
+if.j34:
+ %t104 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t104)
+ br label %if.j30
+if.j30:
+ br label %if.j26
+if.j26:
+ %t105 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t105)
+ br label %fof.u11
+fof.u11:
+ %t106 = load double, ptr %s25
+ %t107 = fadd double %t106, 0x3FF0000000000000
+ store double %t107, ptr %s25
+ br label %fof.c9
+fof.e12:
+ call void @scr_arr_release(ptr %t21)
+ %t108 = load ptr, ptr %sc_l_out_0
+ ret ptr %t108
+exc.cleanup8:
+ %t109 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r3(ptr %t109)
+ ret ptr null
+exc.cleanup24:
+ %t110 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t110)
+ %t111 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r3(ptr %t111)
+ ret ptr null
+exc.cleanup37:
+ %t112 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t112)
+ %t113 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t113)
+ %t114 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r3(ptr %t114)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_copyHeadersDistinct(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_copyHeadersDistinct(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal i32 @sc_bf__x25_m5_bodyFlag.i32(ptr %p_sc_l_opts_0) #0 { ; %m5.bodyFlag
+entry:
+ %sc_l_opts_0 = alloca ptr ; opts
+ %s3 = alloca i1
+ %s13 = alloca %ScrUnion
+ %s19 = alloca i1
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = load ptr, ptr %sc_l_opts_0
+ %t2 = icmp eq ptr %t0, null
+ store i1 %t2, ptr %s3
+ br i1 %t2, label %log.j1, label %log.r0
+log.r0:
+ store i1 false, ptr %s3
+ br label %log.j1
+log.j1:
+ %t4 = load i1, ptr %s3
+ br i1 %t4, label %if.t2, label %if.j3
+if.t2:
+ ret i32 0
+if.j3:
+ %t5 = load ptr, ptr %sc_l_opts_0
+ %t6 = getelementptr inbounds %sc_rs_r7, ptr %t5, i64 0, i32 1
+ %t7 = getelementptr inbounds { i32, i64 }, ptr %t6, i32 0, i32 0
+ %t9 = load i32, ptr %t7
+ %t8 = getelementptr inbounds { i32, i64 }, ptr %t6, i32 0, i32 1
+ %t10 = load i64, ptr %t8
+ %t11 = icmp eq i32 %t9, 1
+ %t12 = select i1 %t11, i64 0, i64 %t10
+ store i64 -1, ptr %s13
+ %t14 = getelementptr inbounds %ScrUnion, ptr %s13, i64 0, i32 1
+ store i32 %t9, ptr %t14
+ %t15 = getelementptr inbounds %ScrUnion, ptr %s13, i64 0, i32 5
+ store i64 %t12, ptr %t15
+ %t17 = getelementptr inbounds %ScrUnion, ptr %s13, i64 0, i32 1
+ %t16 = load i32, ptr %t17
+ %t18 = icmp eq i32 %t16, 0
+ store i1 false, ptr %s19
+ br i1 %t18, label %ueq.s4, label %ueq.j5
+ueq.s4:
+ %t21 = call zeroext i1 @scr_union_get_bool(ptr %s13)
+ %t20 = icmp eq i1 %t21, true
+ store i1 %t20, ptr %s19
+ br label %ueq.j5
+ueq.j5:
+ %t22 = load i1, ptr %s19
+ br i1 %t22, label %if.t6, label %if.j7
+if.t6:
+ ret i32 1
+if.j7:
+ ret i32 0
+}
+define internal double @sc_bf__x25_m5_bodyFlag(ptr %p0) #0 {
+entry:
+ %r = call i32 @sc_bf__x25_m5_bodyFlag.i32(ptr %p0)
+ %d = sitofp i32 %r to double
+ ret double %d
+}
+define internal double @sc_f__x25_m5_bodyFlag(ptr %p0) #0 {
+entry:
+ %result = call double @sc_bf__x25_m5_bodyFlag(ptr %p0)
+ call void @sc_rrelease_r7(ptr %p0)
+ ret double %result
+}
+
+define internal double @sc_bf__x25_m5_optNum(ptr %p_sc_l_v_0) #0 { ; %m5.optNum
+entry:
+ %sc_l_v_0 = alloca ptr ; v
+ %s4 = alloca i1
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t0 = load ptr, ptr %sc_l_v_0
+ %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1
+ %t2 = load i32, ptr %t3
+ %t1 = icmp eq i32 %t2, 1
+ store i1 %t1, ptr %s4
+ br i1 %t1, label %log.j1, label %log.r0
+log.r0:
+ store i1 false, ptr %s4
+ br label %log.j1
+log.j1:
+ %t5 = load i1, ptr %s4
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ ret double 0x0000000000000000
+if.j3:
+ %t6 = load ptr, ptr %sc_l_v_0
+ %t7 = getelementptr inbounds %ScrUnion, ptr %t6, i64 0, i32 5
+ %t8 = load double, ptr %t7
+ ret double %t8
+}
+define internal double @sc_f__x25_m5_optNum(ptr %p0) #0 {
+entry:
+ %result = call double @sc_bf__x25_m5_optNum(ptr %p0)
+ call void @scr_union_release(ptr %p0)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25_m5_resolveMp(ptr %p_sc_l_opts_0) #0 { ; %m5.resolveMp
+entry:
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_m_0 = alloca ptr ; m
+ %s4 = alloca i1
+ %s15 = alloca i1
+ %s26 = alloca %ScrUnion
+ %s32 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s52 = alloca i1
+ %s67 = alloca ptr
+ %s86 = alloca %ScrUnion
+ %s100 = alloca %ScrUnion
+ %s114 = alloca %ScrUnion
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_m_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @sc_new__x25_m5_MpCfg()
+ call void @sc_bf__x25__x25_m5_MpCfg_constructor(ptr %t0)
+ store ptr %t0, ptr %sc_l_out_0
+ %t1 = load ptr, ptr %sc_l_opts_0
+ %t3 = icmp eq ptr %t1, null
+ store i1 %t3, ptr %s4
+ br i1 %t3, label %log.j1, label %log.r0
+log.r0:
+ store i1 false, ptr %s4
+ br label %log.j1
+log.j1:
+ %t5 = load i1, ptr %s4
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_out_0
+ ret ptr %t6
+if.j3:
+ %t7 = load ptr, ptr %sc_l_opts_0
+ %t8 = getelementptr inbounds %sc_rs_r7, ptr %t7, i64 0, i32 2
+ %t9 = load ptr, ptr %t8
+ %t10 = icmp eq ptr %t9, @sc_nullable_absent
+ %t11 = select i1 %t10, ptr null, ptr %t9
+ store ptr %t11, ptr %sc_l_m_0
+ %t12 = load ptr, ptr %sc_l_m_0
+ %t14 = icmp eq ptr %t12, null
+ store i1 %t14, ptr %s15
+ br i1 %t14, label %log.j5, label %log.r4
+log.r4:
+ store i1 false, ptr %s15
+ br label %log.j5
+log.j5:
+ %t16 = load i1, ptr %s15
+ br i1 %t16, label %if.t6, label %if.j7
+if.t6:
+ %t17 = load ptr, ptr %sc_l_out_0
+ ret ptr %t17
+if.j7:
+ %t18 = load ptr, ptr %sc_l_opts_0
+ %t19 = getelementptr inbounds %sc_rs_r7, ptr %t18, i64 0, i32 1
+ %t20 = getelementptr inbounds { i32, i64 }, ptr %t19, i32 0, i32 0
+ %t22 = load i32, ptr %t20
+ %t21 = getelementptr inbounds { i32, i64 }, ptr %t19, i32 0, i32 1
+ %t23 = load i64, ptr %t21
+ %t24 = icmp eq i32 %t22, 1
+ %t25 = select i1 %t24, i64 0, i64 %t23
+ store i64 -1, ptr %s26
+ %t27 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 1
+ store i32 %t22, ptr %t27
+ %t28 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 5
+ store i64 %t25, ptr %t28
+ %t30 = getelementptr inbounds %ScrUnion, ptr %s26, i64 0, i32 1
+ %t29 = load i32, ptr %t30
+ %t31 = icmp eq i32 %t29, 0
+ store i1 false, ptr %s32
+ br i1 %t31, label %ueq.s8, label %ueq.j9
+ueq.s8:
+ %t34 = call zeroext i1 @scr_union_get_bool(ptr %s26)
+ %t33 = icmp eq i1 %t34, true
+ store i1 %t33, ptr %s32
+ br label %ueq.j9
+ueq.j9:
+ %t35 = load i1, ptr %s32
+ br i1 %t35, label %if.t10, label %if.j11
+if.t10:
+ %t36 = call ptr @sc_td_0(ptr @sc_lit_1429160018462538)
+ %t38 = call ptr @scr_dyn_undefined()
+ %t37 = call ptr @scr_dyn_retain_v(ptr %t38)
+ %t39 = call ptr @scr_error_new_options(i32 0, ptr %t36, ptr %t37)
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @scr_error_release(ptr %t39)
+ br label %exc.cleanup14
+exc.k13:
+ call void @scr_throw_obj(ptr %t39, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t37)
+ br label %exc.cleanup14
+if.j11:
+ %t43 = load ptr, ptr %sc_l_out_0
+ %t44 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t43, i64 0, i32 1
+ store double 0x3FF0000000000000, ptr %t44, !tbaa !14
+ %t45 = load ptr, ptr %sc_l_m_0
+ %t46 = getelementptr inbounds %sc_rs_r6, ptr %t45, i64 0, i32 4
+ %t47 = load ptr, ptr %t46
+ %t48 = icmp eq ptr %t47, @sc_nullable_absent
+ %t49 = select i1 %t48, ptr null, ptr %t47
+ %t51 = icmp eq ptr %t49, null
+ store i1 %t51, ptr %s52
+ br i1 %t51, label %log.j16, label %log.r15
+log.r15:
+ store i1 false, ptr %s52
+ br label %log.j16
+log.j16:
+ %t53 = load i1, ptr %s52
+ br i1 %t53, label %if.t17, label %if.f19
+if.t17:
+ %t54 = load ptr, ptr %sc_l_out_0
+ %t55 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM
+ %t56 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t55)
+ %t57 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t54, i64 0, i32 2
+ %t58 = load ptr, ptr %t57
+ store ptr %t56, ptr %t57, !tbaa !16
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t58)
+ br label %if.j18
+if.f19:
+ %t59 = load ptr, ptr %sc_l_out_0
+ %t60 = load ptr, ptr %sc_l_m_0
+ %t61 = getelementptr inbounds %sc_rs_r6, ptr %t60, i64 0, i32 4
+ %t62 = load ptr, ptr %t61
+ %t63 = icmp eq ptr %t62, @sc_nullable_absent
+ %t64 = select i1 %t63, ptr null, ptr %t62
+ %t66 = icmp ne ptr %t64, null
+ br i1 %t66, label %tern.t20, label %tern.f21
+tern.t20:
+ %t68 = load ptr, ptr %sc_l_m_0
+ %t69 = getelementptr inbounds %sc_rs_r6, ptr %t68, i64 0, i32 4
+ %t70 = load ptr, ptr %t69
+ %t71 = icmp eq ptr %t70, @sc_nullable_absent
+ %t72 = select i1 %t71, ptr null, ptr %t70
+ %t73 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t72)
+ store ptr %t73, ptr %s67
+ br label %tern.j22
+tern.f21:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup14
+exc.dead23:
+ store ptr null, ptr %s67
+ br label %tern.j22
+tern.j22:
+ %t74 = load ptr, ptr %s67
+ %t75 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t59, i64 0, i32 2
+ %t76 = load ptr, ptr %t75
+ store ptr %t74, ptr %t75, !tbaa !16
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t76)
+ br label %if.j18
+if.j18:
+ %t77 = load ptr, ptr %sc_l_out_0
+ %t78 = load ptr, ptr %sc_l_m_0
+ %t79 = getelementptr inbounds %sc_rs_r6, ptr %t78, i64 0, i32 2
+ %t80 = getelementptr inbounds { i32, i64 }, ptr %t79, i32 0, i32 0
+ %t82 = load i32, ptr %t80
+ %t81 = getelementptr inbounds { i32, i64 }, ptr %t79, i32 0, i32 1
+ %t83 = load i64, ptr %t81
+ %t84 = icmp eq i32 %t82, 1
+ %t85 = select i1 %t84, i64 0, i64 %t83
+ store i64 -1, ptr %s86
+ %t87 = getelementptr inbounds %ScrUnion, ptr %s86, i64 0, i32 1
+ store i32 %t82, ptr %t87
+ %t88 = getelementptr inbounds %ScrUnion, ptr %s86, i64 0, i32 5
+ store i64 %t85, ptr %t88
+ %t89 = call double @sc_bf__x25_m5_optNum(ptr %s86)
+ %t90 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t77, i64 0, i32 3
+ store double %t89, ptr %t90, !tbaa !18
+ %t91 = load ptr, ptr %sc_l_out_0
+ %t92 = load ptr, ptr %sc_l_m_0
+ %t93 = getelementptr inbounds %sc_rs_r6, ptr %t92, i64 0, i32 3
+ %t94 = getelementptr inbounds { i32, i64 }, ptr %t93, i32 0, i32 0
+ %t96 = load i32, ptr %t94
+ %t95 = getelementptr inbounds { i32, i64 }, ptr %t93, i32 0, i32 1
+ %t97 = load i64, ptr %t95
+ %t98 = icmp eq i32 %t96, 1
+ %t99 = select i1 %t98, i64 0, i64 %t97
+ store i64 -1, ptr %s100
+ %t101 = getelementptr inbounds %ScrUnion, ptr %s100, i64 0, i32 1
+ store i32 %t96, ptr %t101
+ %t102 = getelementptr inbounds %ScrUnion, ptr %s100, i64 0, i32 5
+ store i64 %t99, ptr %t102
+ %t103 = call double @sc_bf__x25_m5_optNum(ptr %s100)
+ %t104 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t91, i64 0, i32 4
+ store double %t103, ptr %t104, !tbaa !20
+ %t105 = load ptr, ptr %sc_l_out_0
+ %t106 = load ptr, ptr %sc_l_m_0
+ %t107 = getelementptr inbounds %sc_rs_r6, ptr %t106, i64 0, i32 1
+ %t108 = getelementptr inbounds { i32, i64 }, ptr %t107, i32 0, i32 0
+ %t110 = load i32, ptr %t108
+ %t109 = getelementptr inbounds { i32, i64 }, ptr %t107, i32 0, i32 1
+ %t111 = load i64, ptr %t109
+ %t112 = icmp eq i32 %t110, 1
+ %t113 = select i1 %t112, i64 0, i64 %t111
+ store i64 -1, ptr %s114
+ %t115 = getelementptr inbounds %ScrUnion, ptr %s114, i64 0, i32 1
+ store i32 %t110, ptr %t115
+ %t116 = getelementptr inbounds %ScrUnion, ptr %s114, i64 0, i32 5
+ store i64 %t113, ptr %t116
+ %t117 = call double @sc_bf__x25_m5_optNum(ptr %s114)
+ %t118 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t105, i64 0, i32 5
+ store double %t117, ptr %t118, !tbaa !22
+ %t119 = load ptr, ptr %sc_l_out_0
+ ret ptr %t119
+exc.cleanup14:
+ %t120 = load ptr, ptr %sc_l_out_0
+ call void @sc_release__x25_m5_MpCfg(ptr %t120)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_resolveMp(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_resolveMp(ptr %p0)
+ call void @sc_rrelease_r7(ptr %p0)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_m5_bodyMethod(ptr %p_sc_l_m_0) #0 { ; %m5.bodyMethod
+entry:
+ %sc_l_m_0 = alloca ptr ; m
+ %s2 = alloca i1
+ %s6 = alloca i1
+ %s10 = alloca i1
+ store ptr %p_sc_l_m_0, ptr %sc_l_m_0
+ %t0 = load ptr, ptr %sc_l_m_0
+ %t1 = call zeroext i1 @sc_streq_2725580638052193(ptr %t0)
+ store i1 %t1, ptr %s2
+ br i1 %t1, label %log.j1, label %log.r0
+log.r0:
+ %t3 = load ptr, ptr %sc_l_m_0
+ %t4 = call zeroext i1 @sc_streq_2541794298493390(ptr %t3)
+ store i1 %t4, ptr %s2
+ br label %log.j1
+log.j1:
+ %t5 = load i1, ptr %s2
+ store i1 %t5, ptr %s6
+ br i1 %t5, label %log.j3, label %log.r2
+log.r2:
+ %t7 = load ptr, ptr %sc_l_m_0
+ %t8 = call zeroext i1 @sc_streq_2494668324074259(ptr %t7)
+ store i1 %t8, ptr %s6
+ br label %log.j3
+log.j3:
+ %t9 = load i1, ptr %s6
+ store i1 %t9, ptr %s10
+ br i1 %t9, label %log.j5, label %log.r4
+log.r4:
+ %t11 = load ptr, ptr %sc_l_m_0
+ %t12 = call zeroext i1 @sc_streq_1791854776991212(ptr %t11)
+ store i1 %t12, ptr %s10
+ br label %log.j5
+log.j5:
+ %t13 = load i1, ptr %s10
+ ret i1 %t13
+}
+define internal i1 @sc_f__x25_m5_bodyMethod(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_m5_bodyMethod(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret i1 %result
+}
+
+define internal void @sc_bf__x25_m5_abortMultipart.i32(ptr %p_sc_l_sink_0, ptr %p_sc_l_req_0, i32 %p_sc_l_status_0.i32, ptr %p_sc_l_msg_0) #0 { ; %m5.abortMultipart
+entry:
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_status_0 = alloca i32 ; status
+ %sc_l_msg_0 = alloca ptr ; msg
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_4 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_5 = alloca ptr ; %callback
+ %s0 = alloca ptr ; lazy box req
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s16 = alloca ptr
+ %s69 = alloca ptr
+ %s84 = alloca [2 x ptr]
+ %s104 = alloca ptr
+ %s119 = alloca [1 x ptr]
+ %s138 = alloca ptr
+ %s153 = alloca [2 x ptr]
+ %s173 = alloca ptr
+ %s191 = alloca [2 x ptr]
+ %s211 = alloca ptr
+ %s226 = alloca [1 x ptr]
+ %p_sc_l_status_0 = sitofp i32 %p_sc_l_status_0.i32 to double
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_res_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr null, ptr %sc_l__x25_callbackReceiver_4
+ store ptr null, ptr %sc_l__x25_callbackBag_4
+ store ptr null, ptr %sc_l__x25_callback_4
+ store ptr null, ptr %sc_l__x25_callbackReceiver_5
+ store ptr null, ptr %sc_l__x25_callbackBag_5
+ store ptr null, ptr %sc_l__x25_callback_5
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ store ptr %p_sc_l_req_0, ptr %sc_l_req_0
+ store i32 %p_sc_l_status_0.i32, ptr %sc_l_status_0
+ store ptr %p_sc_l_msg_0, ptr %sc_l_msg_0
+ %t1 = call ptr @llvm.stacksave.p0()
+ %t2 = load ptr, ptr @scr_stack_guard
+ %t3 = icmp ult ptr %t1, %t2
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t5 = load ptr, ptr %sc_l_sink_0
+ store ptr %t5, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t8)
+ br label %exc.cleanup2
+exc.k4:
+ store ptr %t8, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t12 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t13 = getelementptr inbounds i8, ptr %t12, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 6
+ br i1 %t15, label %tern.t5, label %tern.f6
+tern.t5:
+ %t18 = call ptr @scr_dyn_undefined()
+ %t17 = call ptr @scr_dyn_retain_v(ptr %t18)
+ store ptr %t17, ptr %s16
+ br label %tern.j7
+tern.f6:
+ %t19 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t20 = call ptr @sc_rc_retain_dyn(ptr %t19)
+ %t21 = call ptr @sc_f__x25_dyn_class_property_10(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t21)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t21, ptr %s16
+ br label %tern.j7
+tern.j7:
+ %t25 = load ptr, ptr %s16
+ store ptr %t25, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callback_0
+ %t27 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t28 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t27, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t28)
+ %t29 = call ptr @scr_dyn_call(ptr %t26, ptr null, i64 0, ptr @sc_cs_2464045371370986)
+ call void @scr_dyn_this_pop()
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup13
+exc.k12:
+ %t33 = call ptr @sc_dc_14(ptr %t29, ptr null)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @scr_union_release(ptr %t33)
+ br label %exc.cleanup13
+exc.k15:
+ store ptr %t33, ptr %sc_l_res_0
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ %t37 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t38 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t39 = load ptr, ptr %sc_l_res_0
+ %t42 = getelementptr inbounds %ScrUnion, ptr %t39, i64 0, i32 1
+ %t41 = load i32, ptr %t42
+ %t40 = icmp ne i32 %t41, 1
+ br i1 %t40, label %if.t16, label %if.j17
+if.t16:
+ %t43 = load ptr, ptr %sc_l_res_0
+ %t44 = getelementptr inbounds %ScrUnion, ptr %t43, i64 0, i32 5
+ %t45 = load ptr, ptr %t44
+ %t46 = call ptr @scr_http_res_retain_v(ptr %t45)
+ %t47 = call ptr @scr_closure_new(ptr @sc_f__x25_fn67, i64 1)
+ %t48 = getelementptr inbounds %ScrClosure, ptr %t47, i64 0, i32 4
+ store i32 4, ptr %t48
+ %t49 = load ptr, ptr %s0
+ %t50 = icmp eq ptr %t49, null
+ br i1 %t50, label %lazy.box18, label %lazy.box.j19
+lazy.box18:
+ %t51 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null)
+ %t52 = load ptr, ptr %sc_l_req_0
+ %t53 = call ptr @scr_http_req_retain_v(ptr %t52)
+ call void @scr_box_set_ref(ptr %t51, ptr %t53)
+ store ptr %t51, ptr %s0
+ br label %lazy.box.j19
+lazy.box.j19:
+ %t54 = load ptr, ptr %s0
+ %t55 = call ptr @sc_retain_box(ptr %t54)
+ %t56 = getelementptr inbounds %ScrClosure, ptr %t47, i64 1 ; caps
+ %t57 = getelementptr inbounds ptr, ptr %t56, i64 0 ; caps[0]
+ store ptr %t55, ptr %t57
+ call void @scr_http_res_on_finish(ptr %t46, ptr %t47)
+ call void @scr_http_res_release(ptr %t46)
+ %t58 = load ptr, ptr %sc_l_sink_0
+ store ptr %t58, ptr %sc_l__x25_callbackReceiver_1
+ %t59 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t60 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t59, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t61 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t60)
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t61)
+ br label %exc.cleanup22
+exc.k21:
+ store ptr %t61, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t65 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t66 = getelementptr inbounds i8, ptr %t65, i64 8 ; ->kind
+ %t67 = load i32, ptr %t66
+ %t68 = icmp eq i32 %t67, 6
+ br i1 %t68, label %tern.t23, label %tern.f24
+tern.t23:
+ %t71 = call ptr @scr_dyn_undefined()
+ %t70 = call ptr @scr_dyn_retain_v(ptr %t71)
+ store ptr %t70, ptr %s69
+ br label %tern.j25
+tern.f24:
+ %t72 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t73 = call ptr @sc_rc_retain_dyn(ptr %t72)
+ %t74 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t73)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t74)
+ br label %exc.cleanup28
+exc.k27:
+ store ptr %t74, ptr %s69
+ br label %tern.j25
+tern.j25:
+ %t78 = load ptr, ptr %s69
+ store ptr %t78, ptr %sc_l__x25_callback_1
+ %t79 = load ptr, ptr %sc_l__x25_callback_1
+ %t80 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t81 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t80, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t82 = call ptr @sc_td_0(ptr @sc_lit_3158732916179886)
+ %t83 = call ptr @sc_td_0(ptr @sc_lit_863112869792180)
+ %t85 = getelementptr inbounds [2 x ptr], ptr %s84, i64 0, i64 0
+ store ptr %t82, ptr %t85
+ %t86 = getelementptr inbounds [2 x ptr], ptr %s84, i64 0, i64 1
+ store ptr %t83, ptr %t86
+ call void @scr_dyn_this_push_dyn(ptr %t81)
+ %t87 = call ptr @scr_dyn_call(ptr %t79, ptr %s84, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t81)
+ call void @sc_rc_release_dyn(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_rc_release_dyn(ptr %t87)
+ br label %exc.cleanup31
+exc.k30:
+ call void @sc_rc_release_dyn(ptr %t81)
+ call void @sc_rc_release_dyn(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_rc_release_dyn(ptr %t87)
+ %t91 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t91)
+ %t92 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t92)
+ br label %if.j17
+if.j17:
+ %t93 = load ptr, ptr %sc_l_sink_0
+ store ptr %t93, ptr %sc_l__x25_callbackReceiver_2
+ %t94 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t95 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t94, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t96 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t95)
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t96)
+ br label %exc.cleanup22
+exc.k33:
+ store ptr %t96, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t100 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t101 = getelementptr inbounds i8, ptr %t100, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 6
+ br i1 %t103, label %tern.t34, label %tern.f35
+tern.t34:
+ %t106 = call ptr @scr_dyn_undefined()
+ %t105 = call ptr @scr_dyn_retain_v(ptr %t106)
+ store ptr %t105, ptr %s104
+ br label %tern.j36
+tern.f35:
+ %t107 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t108 = call ptr @sc_rc_retain_dyn(ptr %t107)
+ %t109 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t108)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_rc_release_dyn(ptr %t109)
+ br label %exc.cleanup39
+exc.k38:
+ store ptr %t109, ptr %s104
+ br label %tern.j36
+tern.j36:
+ %t113 = load ptr, ptr %s104
+ store ptr %t113, ptr %sc_l__x25_callback_2
+ %t114 = load ptr, ptr %sc_l__x25_callback_2
+ %t115 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t117 = load i32, ptr %sc_l_status_0
+ %t118 = call ptr @sc_td_2(double %p_sc_l_status_0)
+ %t120 = getelementptr inbounds [1 x ptr], ptr %s119, i64 0, i64 0
+ store ptr %t118, ptr %t120
+ call void @scr_dyn_this_push_dyn(ptr %t116)
+ %t121 = call ptr @scr_dyn_call(ptr %t114, ptr %s119, i64 1, ptr @sc_cs_137127765515474)
+ call void @scr_dyn_this_pop()
+ %t122 = load i32, ptr %exc.cell
+ %t123 = icmp ne i32 %t122, 0
+ %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false)
+ br i1 %t124, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t121)
+ br label %exc.cleanup42
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t121)
+ %t125 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t125)
+ %t126 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t126)
+ %t127 = load ptr, ptr %sc_l_sink_0
+ store ptr %t127, ptr %sc_l__x25_callbackReceiver_3
+ %t128 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t129 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t128, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t130 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t129)
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @sc_rc_release_dyn(ptr %t130)
+ br label %exc.cleanup22
+exc.k44:
+ store ptr %t130, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t134 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t135 = getelementptr inbounds i8, ptr %t134, i64 8 ; ->kind
+ %t136 = load i32, ptr %t135
+ %t137 = icmp eq i32 %t136, 6
+ br i1 %t137, label %tern.t45, label %tern.f46
+tern.t45:
+ %t140 = call ptr @scr_dyn_undefined()
+ %t139 = call ptr @scr_dyn_retain_v(ptr %t140)
+ store ptr %t139, ptr %s138
+ br label %tern.j47
+tern.f46:
+ %t141 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t142 = call ptr @sc_rc_retain_dyn(ptr %t141)
+ %t143 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t142)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t143)
+ br label %exc.cleanup50
+exc.k49:
+ store ptr %t143, ptr %s138
+ br label %tern.j47
+tern.j47:
+ %t147 = load ptr, ptr %s138
+ store ptr %t147, ptr %sc_l__x25_callback_3
+ %t148 = load ptr, ptr %sc_l__x25_callback_3
+ %t149 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t150 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t149, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t151 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t152 = call ptr @sc_td_0(ptr @sc_lit_266676967674785)
+ %t154 = getelementptr inbounds [2 x ptr], ptr %s153, i64 0, i64 0
+ store ptr %t151, ptr %t154
+ %t155 = getelementptr inbounds [2 x ptr], ptr %s153, i64 0, i64 1
+ store ptr %t152, ptr %t155
+ call void @scr_dyn_this_push_dyn(ptr %t150)
+ %t156 = call ptr @scr_dyn_call(ptr %t148, ptr %s153, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t157 = load i32, ptr %exc.cell
+ %t158 = icmp ne i32 %t157, 0
+ %t159 = call i1 @llvm.expect.i1(i1 %t158, i1 false)
+ br i1 %t159, label %exc.u51, label %exc.k52
+exc.u51:
+ call void @sc_rc_release_dyn(ptr %t150)
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t152)
+ call void @sc_rc_release_dyn(ptr %t156)
+ br label %exc.cleanup53
+exc.k52:
+ call void @sc_rc_release_dyn(ptr %t150)
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t152)
+ call void @sc_rc_release_dyn(ptr %t156)
+ %t160 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t160)
+ %t161 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t161)
+ %t162 = load ptr, ptr %sc_l_sink_0
+ store ptr %t162, ptr %sc_l__x25_callbackReceiver_4
+ %t163 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t164 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t163, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t165 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t164)
+ %t166 = load i32, ptr %exc.cell
+ %t167 = icmp ne i32 %t166, 0
+ %t168 = call i1 @llvm.expect.i1(i1 %t167, i1 false)
+ br i1 %t168, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t165)
+ br label %exc.cleanup22
+exc.k55:
+ store ptr %t165, ptr %sc_l__x25_callbackBag_4
+ store i1 true, ptr %sc_l__x25_callbackPresent_4
+ %t169 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t170 = getelementptr inbounds i8, ptr %t169, i64 8 ; ->kind
+ %t171 = load i32, ptr %t170
+ %t172 = icmp eq i32 %t171, 6
+ br i1 %t172, label %tern.t56, label %tern.f57
+tern.t56:
+ %t175 = call ptr @scr_dyn_undefined()
+ %t174 = call ptr @scr_dyn_retain_v(ptr %t175)
+ store ptr %t174, ptr %s173
+ br label %tern.j58
+tern.f57:
+ %t176 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t177 = call ptr @sc_rc_retain_dyn(ptr %t176)
+ %t178 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u59, label %exc.k60
+exc.u59:
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup61
+exc.k60:
+ store ptr %t178, ptr %s173
+ br label %tern.j58
+tern.j58:
+ %t182 = load ptr, ptr %s173
+ store ptr %t182, ptr %sc_l__x25_callback_4
+ %t183 = load ptr, ptr %sc_l__x25_callback_4
+ %t184 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t185 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t184, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t186 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802)
+ %t187 = load ptr, ptr %sc_l_msg_0
+ %t188 = call double @sc_bf__x25_m5_utf8len(ptr %t187)
+ %t189 = call ptr @scr_f64_to_scrstr(double %t188)
+ %t190 = call ptr @sc_td_0(ptr %t189)
+ %t192 = getelementptr inbounds [2 x ptr], ptr %s191, i64 0, i64 0
+ store ptr %t186, ptr %t192
+ %t193 = getelementptr inbounds [2 x ptr], ptr %s191, i64 0, i64 1
+ store ptr %t190, ptr %t193
+ call void @scr_dyn_this_push_dyn(ptr %t185)
+ %t194 = call ptr @scr_dyn_call(ptr %t183, ptr %s191, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t195 = load i32, ptr %exc.cell
+ %t196 = icmp ne i32 %t195, 0
+ %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false)
+ br i1 %t197, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t185)
+ call void @sc_rc_release_dyn(ptr %t186)
+ call void @scr_str_release(ptr %t189)
+ call void @sc_rc_release_dyn(ptr %t190)
+ call void @sc_rc_release_dyn(ptr %t194)
+ br label %exc.cleanup64
+exc.k63:
+ call void @sc_rc_release_dyn(ptr %t185)
+ call void @sc_rc_release_dyn(ptr %t186)
+ call void @scr_str_release(ptr %t189)
+ call void @sc_rc_release_dyn(ptr %t190)
+ call void @sc_rc_release_dyn(ptr %t194)
+ %t198 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t198)
+ %t199 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t199)
+ %t200 = load ptr, ptr %sc_l_sink_0
+ store ptr %t200, ptr %sc_l__x25_callbackReceiver_5
+ %t201 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t202 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t201, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t203 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t202)
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u65, label %exc.k66
+exc.u65:
+ call void @sc_rc_release_dyn(ptr %t203)
+ br label %exc.cleanup22
+exc.k66:
+ store ptr %t203, ptr %sc_l__x25_callbackBag_5
+ store i1 true, ptr %sc_l__x25_callbackPresent_5
+ %t207 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t208 = getelementptr inbounds i8, ptr %t207, i64 8 ; ->kind
+ %t209 = load i32, ptr %t208
+ %t210 = icmp eq i32 %t209, 6
+ br i1 %t210, label %tern.t67, label %tern.f68
+tern.t67:
+ %t213 = call ptr @scr_dyn_undefined()
+ %t212 = call ptr @scr_dyn_retain_v(ptr %t213)
+ store ptr %t212, ptr %s211
+ br label %tern.j69
+tern.f68:
+ %t214 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t215 = call ptr @sc_rc_retain_dyn(ptr %t214)
+ %t216 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup72
+exc.k71:
+ store ptr %t216, ptr %s211
+ br label %tern.j69
+tern.j69:
+ %t220 = load ptr, ptr %s211
+ store ptr %t220, ptr %sc_l__x25_callback_5
+ %t221 = load ptr, ptr %sc_l__x25_callback_5
+ %t222 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t223 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t222, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t224 = load ptr, ptr %sc_l_msg_0
+ %t225 = call ptr @sc_td_0(ptr %t224)
+ %t227 = getelementptr inbounds [1 x ptr], ptr %s226, i64 0, i64 0
+ store ptr %t225, ptr %t227
+ call void @scr_dyn_this_push_dyn(ptr %t223)
+ %t228 = call ptr @scr_dyn_call(ptr %t221, ptr %s226, i64 1, ptr @sc_cs_891738944038355)
+ call void @scr_dyn_this_pop()
+ %t229 = load i32, ptr %exc.cell
+ %t230 = icmp ne i32 %t229, 0
+ %t231 = call i1 @llvm.expect.i1(i1 %t230, i1 false)
+ br i1 %t231, label %exc.u73, label %exc.k74
+exc.u73:
+ call void @sc_rc_release_dyn(ptr %t223)
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_rc_release_dyn(ptr %t228)
+ br label %exc.cleanup75
+exc.k74:
+ call void @sc_rc_release_dyn(ptr %t223)
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_rc_release_dyn(ptr %t228)
+ %t232 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t232)
+ %t233 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t233)
+ %t234 = load ptr, ptr %s0
+ %t235 = icmp ne ptr %t234, null
+ br i1 %t235, label %lazy.release76, label %lazy.release.j77
+lazy.release76:
+ call void @scr_box_release(ptr %t234)
+ br label %lazy.release.j77
+lazy.release.j77:
+ %t236 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t236)
+ ret void
+exc.cleanup2:
+ %t237 = load ptr, ptr %s0
+ %t238 = icmp ne ptr %t237, null
+ br i1 %t238, label %lazy.release78, label %lazy.release.j79
+lazy.release78:
+ call void @scr_box_release(ptr %t237)
+ br label %lazy.release.j79
+lazy.release.j79:
+ ret void
+exc.cleanup10:
+ %t239 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t239)
+ %t240 = load ptr, ptr %s0
+ %t241 = icmp ne ptr %t240, null
+ br i1 %t241, label %lazy.release80, label %lazy.release.j81
+lazy.release80:
+ call void @scr_box_release(ptr %t240)
+ br label %lazy.release.j81
+lazy.release.j81:
+ ret void
+exc.cleanup13:
+ %t242 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t242)
+ %t243 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t243)
+ %t244 = load ptr, ptr %s0
+ %t245 = icmp ne ptr %t244, null
+ br i1 %t245, label %lazy.release82, label %lazy.release.j83
+lazy.release82:
+ call void @scr_box_release(ptr %t244)
+ br label %lazy.release.j83
+lazy.release.j83:
+ ret void
+exc.cleanup22:
+ %t246 = load ptr, ptr %s0
+ %t247 = icmp ne ptr %t246, null
+ br i1 %t247, label %lazy.release84, label %lazy.release.j85
+lazy.release84:
+ call void @scr_box_release(ptr %t246)
+ br label %lazy.release.j85
+lazy.release.j85:
+ %t248 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t248)
+ ret void
+exc.cleanup28:
+ %t249 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t249)
+ %t250 = load ptr, ptr %s0
+ %t251 = icmp ne ptr %t250, null
+ br i1 %t251, label %lazy.release86, label %lazy.release.j87
+lazy.release86:
+ call void @scr_box_release(ptr %t250)
+ br label %lazy.release.j87
+lazy.release.j87:
+ %t252 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t252)
+ ret void
+exc.cleanup31:
+ %t253 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t253)
+ %t254 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t254)
+ %t255 = load ptr, ptr %s0
+ %t256 = icmp ne ptr %t255, null
+ br i1 %t256, label %lazy.release88, label %lazy.release.j89
+lazy.release88:
+ call void @scr_box_release(ptr %t255)
+ br label %lazy.release.j89
+lazy.release.j89:
+ %t257 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t257)
+ ret void
+exc.cleanup39:
+ %t258 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t258)
+ %t259 = load ptr, ptr %s0
+ %t260 = icmp ne ptr %t259, null
+ br i1 %t260, label %lazy.release90, label %lazy.release.j91
+lazy.release90:
+ call void @scr_box_release(ptr %t259)
+ br label %lazy.release.j91
+lazy.release.j91:
+ %t261 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t261)
+ ret void
+exc.cleanup42:
+ %t262 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t262)
+ %t263 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t263)
+ %t264 = load ptr, ptr %s0
+ %t265 = icmp ne ptr %t264, null
+ br i1 %t265, label %lazy.release92, label %lazy.release.j93
+lazy.release92:
+ call void @scr_box_release(ptr %t264)
+ br label %lazy.release.j93
+lazy.release.j93:
+ %t266 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t266)
+ ret void
+exc.cleanup50:
+ %t267 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t267)
+ %t268 = load ptr, ptr %s0
+ %t269 = icmp ne ptr %t268, null
+ br i1 %t269, label %lazy.release94, label %lazy.release.j95
+lazy.release94:
+ call void @scr_box_release(ptr %t268)
+ br label %lazy.release.j95
+lazy.release.j95:
+ %t270 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t270)
+ ret void
+exc.cleanup53:
+ %t271 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t271)
+ %t272 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t272)
+ %t273 = load ptr, ptr %s0
+ %t274 = icmp ne ptr %t273, null
+ br i1 %t274, label %lazy.release96, label %lazy.release.j97
+lazy.release96:
+ call void @scr_box_release(ptr %t273)
+ br label %lazy.release.j97
+lazy.release.j97:
+ %t275 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t275)
+ ret void
+exc.cleanup61:
+ %t276 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t276)
+ %t277 = load ptr, ptr %s0
+ %t278 = icmp ne ptr %t277, null
+ br i1 %t278, label %lazy.release98, label %lazy.release.j99
+lazy.release98:
+ call void @scr_box_release(ptr %t277)
+ br label %lazy.release.j99
+lazy.release.j99:
+ %t279 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t279)
+ ret void
+exc.cleanup64:
+ %t280 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t280)
+ %t281 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t281)
+ %t282 = load ptr, ptr %s0
+ %t283 = icmp ne ptr %t282, null
+ br i1 %t283, label %lazy.release100, label %lazy.release.j101
+lazy.release100:
+ call void @scr_box_release(ptr %t282)
+ br label %lazy.release.j101
+lazy.release.j101:
+ %t284 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t284)
+ ret void
+exc.cleanup72:
+ %t285 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t285)
+ %t286 = load ptr, ptr %s0
+ %t287 = icmp ne ptr %t286, null
+ br i1 %t287, label %lazy.release102, label %lazy.release.j103
+lazy.release102:
+ call void @scr_box_release(ptr %t286)
+ br label %lazy.release.j103
+lazy.release.j103:
+ %t288 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t288)
+ ret void
+exc.cleanup75:
+ %t289 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t289)
+ %t290 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t290)
+ %t291 = load ptr, ptr %s0
+ %t292 = icmp ne ptr %t291, null
+ br i1 %t292, label %lazy.release104, label %lazy.release.j105
+lazy.release104:
+ call void @scr_box_release(ptr %t291)
+ br label %lazy.release.j105
+lazy.release.j105:
+ %t293 = load ptr, ptr %sc_l_res_0
+ call void @scr_union_release(ptr %t293)
+ ret void
+}
+define internal void @sc_bf__x25_m5_abortMultipart(ptr %p0, ptr %p1, double %p2, ptr %p3) #0 {
+entry:
+ %a2 = fptosi double %p2 to i32
+ call void @sc_bf__x25_m5_abortMultipart.i32(ptr %p0, ptr %p1, i32 %a2, ptr %p3)
+ ret void
+}
+define internal void @sc_f__x25_m5_abortMultipart(ptr %p0, ptr %p1, double %p2, ptr %p3) #0 {
+entry:
+ call void @sc_bf__x25_m5_abortMultipart(ptr %p0, ptr %p1, double %p2, ptr %p3)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @scr_http_req_release(ptr %p1)
+ call void @scr_str_release(ptr %p3)
+ ret void
+}
+
+define internal void @sc_bf__x25_m5_runMultipart(ptr %p_sc_l_req_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_c_0, ptr %p_sc_l_cfg_0, ptr %p_sc_l_chain_0, ptr %p_sc_l_oef_0) #0 { ; %m5.runMultipart
+entry:
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_cfg_0 = alloca ptr ; cfg
+ %sc_l_chain_0 = alloca ptr ; chain
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_ct_0 = alloca ptr ; ct
+ %sc_l_bnd_0 = alloca ptr ; bnd
+ %sc_l_st_0 = alloca ptr ; st
+ %sc_l_parser_0 = alloca ptr ; parser
+ %sc_l_answered_0 = alloca ptr ; answered
+ %s0 = alloca ptr ; lazy box req
+ %s1 = alloca ptr ; lazy box sink
+ %s2 = alloca ptr ; lazy box c
+ %s3 = alloca ptr ; lazy box chain
+ %s4 = alloca ptr ; lazy box oef
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s22 = alloca ptr
+ %s36 = alloca [1 x ptr]
+ %s77 = alloca ptr
+ %s84 = alloca ptr
+ %s90 = alloca ptr
+ %s104 = alloca ptr
+ %s112 = alloca ptr
+ %s120 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_ct_0
+ store ptr null, ptr %sc_l_bnd_0
+ store ptr null, ptr %sc_l_st_0
+ store ptr null, ptr %sc_l_parser_0
+ store ptr null, ptr %sc_l_answered_0
+ store ptr null, ptr %s0
+ store ptr null, ptr %s1
+ store ptr null, ptr %s2
+ store ptr null, ptr %s3
+ store ptr null, ptr %s4
+ store ptr %p_sc_l_req_0, ptr %sc_l_req_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ store ptr %p_sc_l_cfg_0, ptr %sc_l_cfg_0
+ store ptr %p_sc_l_chain_0, ptr %sc_l_chain_0
+ store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0
+ %t5 = call ptr @llvm.stacksave.p0()
+ %t6 = load ptr, ptr @scr_stack_guard
+ %t7 = icmp ult ptr %t5, %t6
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t9 = load ptr, ptr %sc_l_c_0
+ %t10 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t9, i64 0, i32 1
+ %t11 = load ptr, ptr %t10, !tbaa !24
+ %t12 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t11)
+ store ptr %t12, ptr %sc_l__x25_callbackReceiver_0
+ %t13 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t14 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t13)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t14)
+ br label %exc.cleanup5
+exc.k4:
+ store ptr %t14, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind
+ %t20 = load i32, ptr %t19
+ %t21 = icmp eq i32 %t20, 6
+ br i1 %t21, label %tern.t6, label %tern.f7
+tern.t6:
+ %t24 = call ptr @scr_dyn_undefined()
+ %t23 = call ptr @scr_dyn_retain_v(ptr %t24)
+ store ptr %t23, ptr %s22
+ br label %tern.j8
+tern.f7:
+ %t25 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t26 = call ptr @sc_rc_retain_dyn(ptr %t25)
+ %t27 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t26)
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup11
+exc.k10:
+ store ptr %t27, ptr %s22
+ br label %tern.j8
+tern.j8:
+ %t31 = load ptr, ptr %s22
+ store ptr %t31, ptr %sc_l__x25_callback_0
+ %t32 = load ptr, ptr %sc_l__x25_callback_0
+ %t33 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t34 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t33, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t35 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t37 = getelementptr inbounds [1 x ptr], ptr %s36, i64 0, i64 0
+ store ptr %t35, ptr %t37
+ call void @scr_dyn_this_push_dyn(ptr %t34)
+ %t38 = call ptr @scr_dyn_call(ptr %t32, ptr %s36, i64 1, ptr @sc_cs_28105939436950)
+ call void @scr_dyn_this_pop()
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t38)
+ br label %exc.cleanup14
+exc.k13:
+ %t42 = call ptr @sc_dc_22(ptr %t38, ptr null)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @scr_str_release(ptr %t42)
+ br label %exc.cleanup14
+exc.k16:
+ store ptr %t42, ptr %sc_l_ct_0
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t46 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t47 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t48)
+ %t49 = load ptr, ptr %sc_l_ct_0
+ %t50 = call ptr @sc_bf__x25_m4_multipartBoundary(ptr %t49)
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @scr_str_release(ptr %t50)
+ br label %exc.cleanup19
+exc.k18:
+ store ptr %t50, ptr %sc_l_bnd_0
+ %t54 = load ptr, ptr %sc_l_bnd_0
+ %t56 = icmp eq ptr %t54, null
+ br i1 %t56, label %if.t20, label %if.j21
+if.t20:
+ %t57 = load ptr, ptr %sc_l_sink_0
+ %t58 = load ptr, ptr %sc_l_req_0
+ call void @sc_bf__x25_m5_abortMultipart.i32(ptr %t57, ptr %t58, i32 400, ptr @sc_lit_3781840126626301)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u22, label %exc.k23
+exc.u22:
+ br label %exc.cleanup24
+exc.k23:
+ %t62 = load ptr, ptr %s0
+ %t63 = icmp ne ptr %t62, null
+ br i1 %t63, label %lazy.release25, label %lazy.release.j26
+lazy.release25:
+ call void @scr_box_release(ptr %t62)
+ br label %lazy.release.j26
+lazy.release.j26:
+ %t64 = load ptr, ptr %s1
+ %t65 = icmp ne ptr %t64, null
+ br i1 %t65, label %lazy.release27, label %lazy.release.j28
+lazy.release27:
+ call void @scr_box_release(ptr %t64)
+ br label %lazy.release.j28
+lazy.release.j28:
+ %t66 = load ptr, ptr %s2
+ %t67 = icmp ne ptr %t66, null
+ br i1 %t67, label %lazy.release29, label %lazy.release.j30
+lazy.release29:
+ call void @scr_box_release(ptr %t66)
+ br label %lazy.release.j30
+lazy.release.j30:
+ %t68 = load ptr, ptr %s3
+ %t69 = icmp ne ptr %t68, null
+ br i1 %t69, label %lazy.release31, label %lazy.release.j32
+lazy.release31:
+ call void @scr_box_release(ptr %t68)
+ br label %lazy.release.j32
+lazy.release.j32:
+ %t70 = load ptr, ptr %s4
+ %t71 = icmp ne ptr %t70, null
+ br i1 %t71, label %lazy.release33, label %lazy.release.j34
+lazy.release33:
+ call void @scr_box_release(ptr %t70)
+ br label %lazy.release.j34
+lazy.release.j34:
+ %t72 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t72)
+ %t73 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t73)
+ ret void
+if.j21:
+ %t74 = load ptr, ptr %sc_l_cfg_0
+ %t76 = icmp eq ptr %t74, null
+ br i1 %t76, label %read.then35, label %read.else36
+read.then35:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4115635896617439)
+ br label %exc.cleanup24
+exc.dead38:
+ store ptr null, ptr %s77
+ br label %read.join37
+read.else36:
+ %t78 = load ptr, ptr %sc_l_cfg_0
+ store ptr %t78, ptr %s77
+ br label %read.join37
+read.join37:
+ %t79 = load ptr, ptr %s77
+ %t80 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t79, i64 0, i32 2
+ %t81 = load ptr, ptr %t80, !tbaa !16
+ %t83 = icmp eq ptr %t81, null
+ br i1 %t83, label %tern.t39, label %tern.f40
+tern.t39:
+ %t85 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM
+ %t86 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t85)
+ store ptr %t86, ptr %s84
+ br label %tern.j41
+tern.f40:
+ %t87 = load ptr, ptr %sc_l_cfg_0
+ %t89 = icmp eq ptr %t87, null
+ br i1 %t89, label %read.then42, label %read.else43
+read.then42:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4115635896617439)
+ br label %exc.cleanup24
+exc.dead45:
+ store ptr null, ptr %s90
+ br label %read.join44
+read.else43:
+ %t91 = load ptr, ptr %sc_l_cfg_0
+ store ptr %t91, ptr %s90
+ br label %read.join44
+read.join44:
+ %t92 = load ptr, ptr %s90
+ %t93 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t92, i64 0, i32 2
+ %t94 = load ptr, ptr %t93, !tbaa !16
+ %t95 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t94)
+ store ptr %t95, ptr %s84
+ br label %tern.j41
+tern.j41:
+ %t96 = load ptr, ptr %s84
+ store ptr %t96, ptr %sc_l_st_0
+ %t97 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_trace__x25_m4_MultipartParser) ; let parser (boxed)
+ store ptr %t97, ptr %sc_l_parser_0
+ %t98 = call ptr @sc_new__x25_m4_MultipartParser()
+ %t99 = load ptr, ptr %sc_l_bnd_0
+ %t100 = load ptr, ptr %sc_l_st_0
+ %t101 = load ptr, ptr %sc_l_cfg_0
+ %t103 = icmp eq ptr %t101, null
+ br i1 %t103, label %read.then46, label %read.else47
+read.then46:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4404486281179211)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t98)
+ br label %exc.cleanup49
+exc.dead50:
+ store ptr null, ptr %s104
+ br label %read.join48
+read.else47:
+ %t105 = load ptr, ptr %sc_l_cfg_0
+ store ptr %t105, ptr %s104
+ br label %read.join48
+read.join48:
+ %t106 = load ptr, ptr %s104
+ %t107 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t106, i64 0, i32 3
+ %t108 = load double, ptr %t107, !tbaa !18
+ %t109 = load ptr, ptr %sc_l_cfg_0
+ %t111 = icmp eq ptr %t109, null
+ br i1 %t111, label %read.then51, label %read.else52
+read.then51:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2221506895226493)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t98)
+ br label %exc.cleanup49
+exc.dead54:
+ store ptr null, ptr %s112
+ br label %read.join53
+read.else52:
+ %t113 = load ptr, ptr %sc_l_cfg_0
+ store ptr %t113, ptr %s112
+ br label %read.join53
+read.join53:
+ %t114 = load ptr, ptr %s112
+ %t115 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t114, i64 0, i32 4
+ %t116 = load double, ptr %t115, !tbaa !20
+ %t117 = load ptr, ptr %sc_l_cfg_0
+ %t119 = icmp eq ptr %t117, null
+ br i1 %t119, label %read.then55, label %read.else56
+read.then55:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4219913910401315)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t98)
+ br label %exc.cleanup49
+exc.dead58:
+ store ptr null, ptr %s120
+ br label %read.join57
+read.else56:
+ %t121 = load ptr, ptr %sc_l_cfg_0
+ store ptr %t121, ptr %s120
+ br label %read.join57
+read.join57:
+ %t122 = load ptr, ptr %s120
+ %t123 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t122, i64 0, i32 5
+ %t124 = load double, ptr %t123, !tbaa !22
+ call void @sc_bf__x25__x25_m4_MultipartParser_constructor(ptr %t98, ptr %t99, ptr %t100, double %t108, double %t116, double %t124)
+ call void @scr_box_set_ref(ptr %t97, ptr %t98)
+ %t125 = call ptr @scr_box_new(i32 1) ; let answered (boxed)
+ store ptr %t125, ptr %sc_l_answered_0
+ %t126 = zext i1 false to i64
+ %t127 = getelementptr inbounds %ScrBox, ptr %t125, i32 0, i32 5
+ store i64 %t126, ptr %t127
+ %t128 = load ptr, ptr %sc_l_req_0
+ %t129 = call ptr @scr_http_req_retain_v(ptr %t128)
+ %t130 = call ptr @scr_closure_new(ptr @sc_f__x25_fn51, i64 4)
+ %t131 = getelementptr inbounds %ScrClosure, ptr %t130, i64 0, i32 4
+ store i32 4, ptr %t131
+ %t132 = getelementptr inbounds %ScrClosure, ptr %t130, i64 0, i32 7
+ store ptr @sc_bf__x25_fn51, ptr %t132
+ %t133 = load ptr, ptr %sc_l_answered_0
+ %t134 = call ptr @sc_retain_box(ptr %t133)
+ %t135 = getelementptr inbounds %ScrClosure, ptr %t130, i64 1 ; caps
+ %t136 = getelementptr inbounds ptr, ptr %t135, i64 0 ; caps[0]
+ store ptr %t134, ptr %t136
+ %t137 = load ptr, ptr %sc_l_parser_0
+ %t138 = call ptr @sc_retain_box(ptr %t137)
+ %t139 = getelementptr inbounds %ScrClosure, ptr %t130, i64 1 ; caps
+ %t140 = getelementptr inbounds ptr, ptr %t139, i64 1 ; caps[1]
+ store ptr %t138, ptr %t140
+ %t141 = load ptr, ptr %s1
+ %t142 = icmp eq ptr %t141, null
+ br i1 %t142, label %lazy.box59, label %lazy.box.j60
+lazy.box59:
+ %t143 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_trace__x25_m2_ResponseSink)
+ %t144 = load ptr, ptr %sc_l_sink_0
+ %t145 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t144)
+ call void @scr_box_set_ref(ptr %t143, ptr %t145)
+ store ptr %t143, ptr %s1
+ br label %lazy.box.j60
+lazy.box.j60:
+ %t146 = load ptr, ptr %s1
+ %t147 = call ptr @sc_retain_box(ptr %t146)
+ %t148 = getelementptr inbounds %ScrClosure, ptr %t130, i64 1 ; caps
+ %t149 = getelementptr inbounds ptr, ptr %t148, i64 2 ; caps[2]
+ store ptr %t147, ptr %t149
+ %t150 = load ptr, ptr %s0
+ %t151 = icmp eq ptr %t150, null
+ br i1 %t151, label %lazy.box61, label %lazy.box.j62
+lazy.box61:
+ %t152 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null)
+ %t153 = load ptr, ptr %sc_l_req_0
+ %t154 = call ptr @scr_http_req_retain_v(ptr %t153)
+ call void @scr_box_set_ref(ptr %t152, ptr %t154)
+ store ptr %t152, ptr %s0
+ br label %lazy.box.j62
+lazy.box.j62:
+ %t155 = load ptr, ptr %s0
+ %t156 = call ptr @sc_retain_box(ptr %t155)
+ %t157 = getelementptr inbounds %ScrClosure, ptr %t130, i64 1 ; caps
+ %t158 = getelementptr inbounds ptr, ptr %t157, i64 3 ; caps[3]
+ store ptr %t156, ptr %t158
+ call void @scr_http_req_on_data(ptr %t129, ptr %t130, ptr @scr_net_data_thunk_bytes, i1 false)
+ call void @scr_http_req_release(ptr %t129)
+ %t159 = load ptr, ptr %sc_l_req_0
+ %t160 = call ptr @scr_http_req_retain_v(ptr %t159)
+ %t161 = call ptr @scr_closure_new(ptr @sc_f__x25_fn52, i64 7)
+ %t162 = getelementptr inbounds %ScrClosure, ptr %t161, i64 0, i32 4
+ store i32 4, ptr %t162
+ %t163 = load ptr, ptr %sc_l_answered_0
+ %t164 = call ptr @sc_retain_box(ptr %t163)
+ %t165 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps
+ %t166 = getelementptr inbounds ptr, ptr %t165, i64 0 ; caps[0]
+ store ptr %t164, ptr %t166
+ %t167 = load ptr, ptr %sc_l_parser_0
+ %t168 = call ptr @sc_retain_box(ptr %t167)
+ %t169 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps
+ %t170 = getelementptr inbounds ptr, ptr %t169, i64 1 ; caps[1]
+ store ptr %t168, ptr %t170
+ %t171 = load ptr, ptr %s1
+ %t172 = icmp eq ptr %t171, null
+ br i1 %t172, label %lazy.box63, label %lazy.box.j64
+lazy.box63:
+ %t173 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_trace__x25_m2_ResponseSink)
+ %t174 = load ptr, ptr %sc_l_sink_0
+ %t175 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t174)
+ call void @scr_box_set_ref(ptr %t173, ptr %t175)
+ store ptr %t173, ptr %s1
+ br label %lazy.box.j64
+lazy.box.j64:
+ %t176 = load ptr, ptr %s1
+ %t177 = call ptr @sc_retain_box(ptr %t176)
+ %t178 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps
+ %t179 = getelementptr inbounds ptr, ptr %t178, i64 2 ; caps[2]
+ store ptr %t177, ptr %t179
+ %t180 = load ptr, ptr %s0
+ %t181 = icmp eq ptr %t180, null
+ br i1 %t181, label %lazy.box65, label %lazy.box.j66
+lazy.box65:
+ %t182 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null)
+ %t183 = load ptr, ptr %sc_l_req_0
+ %t184 = call ptr @scr_http_req_retain_v(ptr %t183)
+ call void @scr_box_set_ref(ptr %t182, ptr %t184)
+ store ptr %t182, ptr %s0
+ br label %lazy.box.j66
+lazy.box.j66:
+ %t185 = load ptr, ptr %s0
+ %t186 = call ptr @sc_retain_box(ptr %t185)
+ %t187 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps
+ %t188 = getelementptr inbounds ptr, ptr %t187, i64 3 ; caps[3]
+ store ptr %t186, ptr %t188
+ %t189 = load ptr, ptr %s2
+ %t190 = icmp eq ptr %t189, null
+ br i1 %t190, label %lazy.box67, label %lazy.box.j68
+lazy.box67:
+ %t191 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore)
+ %t192 = load ptr, ptr %sc_l_c_0
+ %t193 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t192)
+ call void @scr_box_set_ref(ptr %t191, ptr %t193)
+ store ptr %t191, ptr %s2
+ br label %lazy.box.j68
+lazy.box.j68:
+ %t194 = load ptr, ptr %s2
+ %t195 = call ptr @sc_retain_box(ptr %t194)
+ %t196 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps
+ %t197 = getelementptr inbounds ptr, ptr %t196, i64 4 ; caps[4]
+ store ptr %t195, ptr %t197
+ %t198 = load ptr, ptr %s3
+ %t199 = icmp eq ptr %t198, null
+ br i1 %t199, label %lazy.box69, label %lazy.box.j70
+lazy.box69:
+ %t200 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v)
+ %t201 = load ptr, ptr %sc_l_chain_0
+ %t202 = call ptr @scr_union_retain_v(ptr %t201)
+ call void @scr_box_set_ref(ptr %t200, ptr %t202)
+ store ptr %t200, ptr %s3
+ br label %lazy.box.j70
+lazy.box.j70:
+ %t203 = load ptr, ptr %s3
+ %t204 = call ptr @sc_retain_box(ptr %t203)
+ %t205 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps
+ %t206 = getelementptr inbounds ptr, ptr %t205, i64 5 ; caps[5]
+ store ptr %t204, ptr %t206
+ %t207 = load ptr, ptr %s4
+ %t208 = icmp eq ptr %t207, null
+ br i1 %t208, label %lazy.box71, label %lazy.box.j72
+lazy.box71:
+ %t209 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v)
+ %t210 = load ptr, ptr %sc_l_oef_0
+ %t211 = call ptr @scr_union_retain_v(ptr %t210)
+ call void @scr_box_set_ref(ptr %t209, ptr %t211)
+ store ptr %t209, ptr %s4
+ br label %lazy.box.j72
+lazy.box.j72:
+ %t212 = load ptr, ptr %s4
+ %t213 = call ptr @sc_retain_box(ptr %t212)
+ %t214 = getelementptr inbounds %ScrClosure, ptr %t161, i64 1 ; caps
+ %t215 = getelementptr inbounds ptr, ptr %t214, i64 6 ; caps[6]
+ store ptr %t213, ptr %t215
+ call void @scr_http_req_on_end(ptr %t160, ptr %t161, i1 false)
+ call void @scr_http_req_release(ptr %t160)
+ %t216 = load ptr, ptr %s0
+ %t217 = icmp ne ptr %t216, null
+ br i1 %t217, label %lazy.release73, label %lazy.release.j74
+lazy.release73:
+ call void @scr_box_release(ptr %t216)
+ br label %lazy.release.j74
+lazy.release.j74:
+ %t218 = load ptr, ptr %s1
+ %t219 = icmp ne ptr %t218, null
+ br i1 %t219, label %lazy.release75, label %lazy.release.j76
+lazy.release75:
+ call void @scr_box_release(ptr %t218)
+ br label %lazy.release.j76
+lazy.release.j76:
+ %t220 = load ptr, ptr %s2
+ %t221 = icmp ne ptr %t220, null
+ br i1 %t221, label %lazy.release77, label %lazy.release.j78
+lazy.release77:
+ call void @scr_box_release(ptr %t220)
+ br label %lazy.release.j78
+lazy.release.j78:
+ %t222 = load ptr, ptr %s3
+ %t223 = icmp ne ptr %t222, null
+ br i1 %t223, label %lazy.release79, label %lazy.release.j80
+lazy.release79:
+ call void @scr_box_release(ptr %t222)
+ br label %lazy.release.j80
+lazy.release.j80:
+ %t224 = load ptr, ptr %s4
+ %t225 = icmp ne ptr %t224, null
+ br i1 %t225, label %lazy.release81, label %lazy.release.j82
+lazy.release81:
+ call void @scr_box_release(ptr %t224)
+ br label %lazy.release.j82
+lazy.release.j82:
+ %t226 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t226)
+ %t227 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t227)
+ %t228 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t228)
+ %t229 = load ptr, ptr %sc_l_parser_0
+ call void @scr_box_release(ptr %t229)
+ %t230 = load ptr, ptr %sc_l_answered_0
+ call void @scr_box_release(ptr %t230)
+ ret void
+exc.cleanup2:
+ %t231 = load ptr, ptr %s0
+ %t232 = icmp ne ptr %t231, null
+ br i1 %t232, label %lazy.release83, label %lazy.release.j84
+lazy.release83:
+ call void @scr_box_release(ptr %t231)
+ br label %lazy.release.j84
+lazy.release.j84:
+ %t233 = load ptr, ptr %s1
+ %t234 = icmp ne ptr %t233, null
+ br i1 %t234, label %lazy.release85, label %lazy.release.j86
+lazy.release85:
+ call void @scr_box_release(ptr %t233)
+ br label %lazy.release.j86
+lazy.release.j86:
+ %t235 = load ptr, ptr %s2
+ %t236 = icmp ne ptr %t235, null
+ br i1 %t236, label %lazy.release87, label %lazy.release.j88
+lazy.release87:
+ call void @scr_box_release(ptr %t235)
+ br label %lazy.release.j88
+lazy.release.j88:
+ %t237 = load ptr, ptr %s3
+ %t238 = icmp ne ptr %t237, null
+ br i1 %t238, label %lazy.release89, label %lazy.release.j90
+lazy.release89:
+ call void @scr_box_release(ptr %t237)
+ br label %lazy.release.j90
+lazy.release.j90:
+ %t239 = load ptr, ptr %s4
+ %t240 = icmp ne ptr %t239, null
+ br i1 %t240, label %lazy.release91, label %lazy.release.j92
+lazy.release91:
+ call void @scr_box_release(ptr %t239)
+ br label %lazy.release.j92
+lazy.release.j92:
+ ret void
+exc.cleanup5:
+ %t241 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t241)
+ %t242 = load ptr, ptr %s0
+ %t243 = icmp ne ptr %t242, null
+ br i1 %t243, label %lazy.release93, label %lazy.release.j94
+lazy.release93:
+ call void @scr_box_release(ptr %t242)
+ br label %lazy.release.j94
+lazy.release.j94:
+ %t244 = load ptr, ptr %s1
+ %t245 = icmp ne ptr %t244, null
+ br i1 %t245, label %lazy.release95, label %lazy.release.j96
+lazy.release95:
+ call void @scr_box_release(ptr %t244)
+ br label %lazy.release.j96
+lazy.release.j96:
+ %t246 = load ptr, ptr %s2
+ %t247 = icmp ne ptr %t246, null
+ br i1 %t247, label %lazy.release97, label %lazy.release.j98
+lazy.release97:
+ call void @scr_box_release(ptr %t246)
+ br label %lazy.release.j98
+lazy.release.j98:
+ %t248 = load ptr, ptr %s3
+ %t249 = icmp ne ptr %t248, null
+ br i1 %t249, label %lazy.release99, label %lazy.release.j100
+lazy.release99:
+ call void @scr_box_release(ptr %t248)
+ br label %lazy.release.j100
+lazy.release.j100:
+ %t250 = load ptr, ptr %s4
+ %t251 = icmp ne ptr %t250, null
+ br i1 %t251, label %lazy.release101, label %lazy.release.j102
+lazy.release101:
+ call void @scr_box_release(ptr %t250)
+ br label %lazy.release.j102
+lazy.release.j102:
+ ret void
+exc.cleanup11:
+ %t252 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t252)
+ %t253 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t253)
+ %t254 = load ptr, ptr %s0
+ %t255 = icmp ne ptr %t254, null
+ br i1 %t255, label %lazy.release103, label %lazy.release.j104
+lazy.release103:
+ call void @scr_box_release(ptr %t254)
+ br label %lazy.release.j104
+lazy.release.j104:
+ %t256 = load ptr, ptr %s1
+ %t257 = icmp ne ptr %t256, null
+ br i1 %t257, label %lazy.release105, label %lazy.release.j106
+lazy.release105:
+ call void @scr_box_release(ptr %t256)
+ br label %lazy.release.j106
+lazy.release.j106:
+ %t258 = load ptr, ptr %s2
+ %t259 = icmp ne ptr %t258, null
+ br i1 %t259, label %lazy.release107, label %lazy.release.j108
+lazy.release107:
+ call void @scr_box_release(ptr %t258)
+ br label %lazy.release.j108
+lazy.release.j108:
+ %t260 = load ptr, ptr %s3
+ %t261 = icmp ne ptr %t260, null
+ br i1 %t261, label %lazy.release109, label %lazy.release.j110
+lazy.release109:
+ call void @scr_box_release(ptr %t260)
+ br label %lazy.release.j110
+lazy.release.j110:
+ %t262 = load ptr, ptr %s4
+ %t263 = icmp ne ptr %t262, null
+ br i1 %t263, label %lazy.release111, label %lazy.release.j112
+lazy.release111:
+ call void @scr_box_release(ptr %t262)
+ br label %lazy.release.j112
+lazy.release.j112:
+ ret void
+exc.cleanup14:
+ %t264 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t264)
+ %t265 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t266 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t266)
+ %t267 = load ptr, ptr %s0
+ %t268 = icmp ne ptr %t267, null
+ br i1 %t268, label %lazy.release113, label %lazy.release.j114
+lazy.release113:
+ call void @scr_box_release(ptr %t267)
+ br label %lazy.release.j114
+lazy.release.j114:
+ %t269 = load ptr, ptr %s1
+ %t270 = icmp ne ptr %t269, null
+ br i1 %t270, label %lazy.release115, label %lazy.release.j116
+lazy.release115:
+ call void @scr_box_release(ptr %t269)
+ br label %lazy.release.j116
+lazy.release.j116:
+ %t271 = load ptr, ptr %s2
+ %t272 = icmp ne ptr %t271, null
+ br i1 %t272, label %lazy.release117, label %lazy.release.j118
+lazy.release117:
+ call void @scr_box_release(ptr %t271)
+ br label %lazy.release.j118
+lazy.release.j118:
+ %t273 = load ptr, ptr %s3
+ %t274 = icmp ne ptr %t273, null
+ br i1 %t274, label %lazy.release119, label %lazy.release.j120
+lazy.release119:
+ call void @scr_box_release(ptr %t273)
+ br label %lazy.release.j120
+lazy.release.j120:
+ %t275 = load ptr, ptr %s4
+ %t276 = icmp ne ptr %t275, null
+ br i1 %t276, label %lazy.release121, label %lazy.release.j122
+lazy.release121:
+ call void @scr_box_release(ptr %t275)
+ br label %lazy.release.j122
+lazy.release.j122:
+ ret void
+exc.cleanup19:
+ %t277 = load ptr, ptr %s0
+ %t278 = icmp ne ptr %t277, null
+ br i1 %t278, label %lazy.release123, label %lazy.release.j124
+lazy.release123:
+ call void @scr_box_release(ptr %t277)
+ br label %lazy.release.j124
+lazy.release.j124:
+ %t279 = load ptr, ptr %s1
+ %t280 = icmp ne ptr %t279, null
+ br i1 %t280, label %lazy.release125, label %lazy.release.j126
+lazy.release125:
+ call void @scr_box_release(ptr %t279)
+ br label %lazy.release.j126
+lazy.release.j126:
+ %t281 = load ptr, ptr %s2
+ %t282 = icmp ne ptr %t281, null
+ br i1 %t282, label %lazy.release127, label %lazy.release.j128
+lazy.release127:
+ call void @scr_box_release(ptr %t281)
+ br label %lazy.release.j128
+lazy.release.j128:
+ %t283 = load ptr, ptr %s3
+ %t284 = icmp ne ptr %t283, null
+ br i1 %t284, label %lazy.release129, label %lazy.release.j130
+lazy.release129:
+ call void @scr_box_release(ptr %t283)
+ br label %lazy.release.j130
+lazy.release.j130:
+ %t285 = load ptr, ptr %s4
+ %t286 = icmp ne ptr %t285, null
+ br i1 %t286, label %lazy.release131, label %lazy.release.j132
+lazy.release131:
+ call void @scr_box_release(ptr %t285)
+ br label %lazy.release.j132
+lazy.release.j132:
+ %t287 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t287)
+ ret void
+exc.cleanup24:
+ %t288 = load ptr, ptr %s0
+ %t289 = icmp ne ptr %t288, null
+ br i1 %t289, label %lazy.release133, label %lazy.release.j134
+lazy.release133:
+ call void @scr_box_release(ptr %t288)
+ br label %lazy.release.j134
+lazy.release.j134:
+ %t290 = load ptr, ptr %s1
+ %t291 = icmp ne ptr %t290, null
+ br i1 %t291, label %lazy.release135, label %lazy.release.j136
+lazy.release135:
+ call void @scr_box_release(ptr %t290)
+ br label %lazy.release.j136
+lazy.release.j136:
+ %t292 = load ptr, ptr %s2
+ %t293 = icmp ne ptr %t292, null
+ br i1 %t293, label %lazy.release137, label %lazy.release.j138
+lazy.release137:
+ call void @scr_box_release(ptr %t292)
+ br label %lazy.release.j138
+lazy.release.j138:
+ %t294 = load ptr, ptr %s3
+ %t295 = icmp ne ptr %t294, null
+ br i1 %t295, label %lazy.release139, label %lazy.release.j140
+lazy.release139:
+ call void @scr_box_release(ptr %t294)
+ br label %lazy.release.j140
+lazy.release.j140:
+ %t296 = load ptr, ptr %s4
+ %t297 = icmp ne ptr %t296, null
+ br i1 %t297, label %lazy.release141, label %lazy.release.j142
+lazy.release141:
+ call void @scr_box_release(ptr %t296)
+ br label %lazy.release.j142
+lazy.release.j142:
+ %t298 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t298)
+ %t299 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t299)
+ ret void
+exc.cleanup49:
+ %t300 = load ptr, ptr %s0
+ %t301 = icmp ne ptr %t300, null
+ br i1 %t301, label %lazy.release143, label %lazy.release.j144
+lazy.release143:
+ call void @scr_box_release(ptr %t300)
+ br label %lazy.release.j144
+lazy.release.j144:
+ %t302 = load ptr, ptr %s1
+ %t303 = icmp ne ptr %t302, null
+ br i1 %t303, label %lazy.release145, label %lazy.release.j146
+lazy.release145:
+ call void @scr_box_release(ptr %t302)
+ br label %lazy.release.j146
+lazy.release.j146:
+ %t304 = load ptr, ptr %s2
+ %t305 = icmp ne ptr %t304, null
+ br i1 %t305, label %lazy.release147, label %lazy.release.j148
+lazy.release147:
+ call void @scr_box_release(ptr %t304)
+ br label %lazy.release.j148
+lazy.release.j148:
+ %t306 = load ptr, ptr %s3
+ %t307 = icmp ne ptr %t306, null
+ br i1 %t307, label %lazy.release149, label %lazy.release.j150
+lazy.release149:
+ call void @scr_box_release(ptr %t306)
+ br label %lazy.release.j150
+lazy.release.j150:
+ %t308 = load ptr, ptr %s4
+ %t309 = icmp ne ptr %t308, null
+ br i1 %t309, label %lazy.release151, label %lazy.release.j152
+lazy.release151:
+ call void @scr_box_release(ptr %t308)
+ br label %lazy.release.j152
+lazy.release.j152:
+ %t310 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t310)
+ %t311 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t311)
+ %t312 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t312)
+ %t313 = load ptr, ptr %sc_l_parser_0
+ call void @scr_box_release(ptr %t313)
+ ret void
+}
+define internal void @sc_f__x25_m5_runMultipart(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) #0 {
+entry:
+ call void @sc_bf__x25_m5_runMultipart(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5)
+ call void @scr_http_req_release(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p1)
+ call void @sc_release__x25_m5_CtxCore(ptr %p2)
+ call void @sc_release__x25_m5_MpCfg(ptr %p3)
+ call void @scr_union_release(ptr %p4)
+ call void @scr_union_release(ptr %p5)
+ ret void
+}
+
+define internal i32 @sc_bf__x25_m5_runMultipartPrim.i32(ptr %p_sc_l_c_0, ptr %p_sc_l_cfg_0, ptr %p_sc_l_body_0, ptr %p_sc_l_bodyU8_0) #0 { ; %m5.runMultipartPrim
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_cfg_0 = alloca ptr ; cfg
+ %sc_l_body_0 = alloca ptr ; body
+ %sc_l_bodyU8_0 = alloca ptr ; bodyU8
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_ct_0 = alloca ptr ; ct
+ %sc_l_bnd_0 = alloca ptr ; bnd
+ %sc_l_st_0 = alloca ptr ; st
+ %sc_l_parser_0 = alloca ptr ; parser
+ %sc_l_bytes_0 = alloca ptr ; bytes
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l_rv_0 = alloca ptr ; rv
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s17 = alloca ptr
+ %s31 = alloca [1 x ptr]
+ %s59 = alloca ptr
+ %s102 = alloca ptr
+ %s118 = alloca [1 x ptr]
+ %s140 = alloca ptr
+ %s167 = alloca double
+ %s168 = alloca i32
+ %s190 = alloca ptr
+ %s213 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_ct_0
+ store ptr null, ptr %sc_l_bnd_0
+ store ptr null, ptr %sc_l_st_0
+ store ptr null, ptr %sc_l_parser_0
+ store ptr null, ptr %sc_l_bytes_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l_rv_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ store ptr %p_sc_l_cfg_0, ptr %sc_l_cfg_0
+ store ptr %p_sc_l_body_0, ptr %sc_l_body_0
+ store ptr %p_sc_l_bodyU8_0, ptr %sc_l_bodyU8_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i32 0
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_c_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !24
+ %t7 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t6)
+ store ptr %t7, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t9 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t8)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t9)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t9, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t13 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t14 = getelementptr inbounds i8, ptr %t13, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 6
+ br i1 %t16, label %tern.t5, label %tern.f6
+tern.t5:
+ %t19 = call ptr @scr_dyn_undefined()
+ %t18 = call ptr @scr_dyn_retain_v(ptr %t19)
+ store ptr %t18, ptr %s17
+ br label %tern.j7
+tern.f6:
+ %t20 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ %t22 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t21)
+ %t23 = load i32, ptr %exc.cell
+ %t24 = icmp ne i32 %t23, 0
+ %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false)
+ br i1 %t25, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t22, ptr %s17
+ br label %tern.j7
+tern.j7:
+ %t26 = load ptr, ptr %s17
+ store ptr %t26, ptr %sc_l__x25_callback_0
+ %t27 = load ptr, ptr %sc_l__x25_callback_0
+ %t28 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t29 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t28, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t30 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t32 = getelementptr inbounds [1 x ptr], ptr %s31, i64 0, i64 0
+ store ptr %t30, ptr %t32
+ call void @scr_dyn_this_push_dyn(ptr %t29)
+ %t33 = call ptr @scr_dyn_call(ptr %t27, ptr %s31, i64 1, ptr @sc_cs_28105939436950)
+ call void @scr_dyn_this_pop()
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t33)
+ br label %exc.cleanup13
+exc.k12:
+ %t37 = call ptr @sc_dc_22(ptr %t33, ptr null)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @scr_str_release(ptr %t37)
+ br label %exc.cleanup13
+exc.k15:
+ store ptr %t37, ptr %sc_l_ct_0
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t33)
+ %t41 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t42 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ %t43 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t43)
+ %t44 = load ptr, ptr %sc_l_ct_0
+ %t45 = call ptr @sc_bf__x25_m4_multipartBoundary(ptr %t44)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_str_release(ptr %t45)
+ br label %exc.cleanup18
+exc.k17:
+ store ptr %t45, ptr %sc_l_bnd_0
+ %t49 = load ptr, ptr %sc_l_bnd_0
+ %t51 = icmp eq ptr %t49, null
+ br i1 %t51, label %if.t19, label %if.j20
+if.t19:
+ %t52 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t52)
+ %t53 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t53)
+ ret i32 400
+if.j20:
+ %t54 = load ptr, ptr %sc_l_cfg_0
+ %t55 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t54, i64 0, i32 2
+ %t56 = load ptr, ptr %t55, !tbaa !16
+ %t58 = icmp eq ptr %t56, null
+ br i1 %t58, label %tern.t21, label %tern.f22
+tern.t21:
+ %t60 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM
+ %t61 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t60)
+ store ptr %t61, ptr %s59
+ br label %tern.j23
+tern.f22:
+ %t62 = load ptr, ptr %sc_l_cfg_0
+ %t63 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t62, i64 0, i32 2
+ %t64 = load ptr, ptr %t63, !tbaa !16
+ %t65 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t64)
+ store ptr %t65, ptr %s59
+ br label %tern.j23
+tern.j23:
+ %t66 = load ptr, ptr %s59
+ store ptr %t66, ptr %sc_l_st_0
+ %t67 = call ptr @sc_new__x25_m4_MultipartParser()
+ %t68 = load ptr, ptr %sc_l_bnd_0
+ %t69 = load ptr, ptr %sc_l_st_0
+ %t70 = load ptr, ptr %sc_l_cfg_0
+ %t71 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t70, i64 0, i32 3
+ %t72 = load double, ptr %t71, !tbaa !18
+ %t73 = load ptr, ptr %sc_l_cfg_0
+ %t74 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t73, i64 0, i32 4
+ %t75 = load double, ptr %t74, !tbaa !20
+ %t76 = load ptr, ptr %sc_l_cfg_0
+ %t77 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t76, i64 0, i32 5
+ %t78 = load double, ptr %t77, !tbaa !22
+ call void @sc_bf__x25__x25_m4_MultipartParser_constructor(ptr %t67, ptr %t68, ptr %t69, double %t72, double %t75, double %t78)
+ store ptr %t67, ptr %sc_l_parser_0
+ store ptr null, ptr %sc_l_bytes_0
+ %t79 = load ptr, ptr %sc_l_bodyU8_0
+ %t82 = getelementptr inbounds %ScrUnion, ptr %t79, i64 0, i32 1
+ %t81 = load i32, ptr %t82
+ %t80 = icmp ne i32 %t81, 1
+ br i1 %t80, label %if.t24, label %if.f26
+if.t24:
+ %t83 = load ptr, ptr %sc_l_bodyU8_0
+ %t84 = getelementptr inbounds %ScrUnion, ptr %t83, i64 0, i32 5
+ %t85 = load ptr, ptr %t84
+ %t86 = call ptr @scr_bytes_retain_v(ptr %t85)
+ %t87 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t87)
+ store ptr %t86, ptr %sc_l_bytes_0
+ br label %if.j25
+if.f26:
+ %t88 = load ptr, ptr %sc_l_body_0
+ %t89 = call ptr @sc_rc_retain_str(ptr %t88)
+ %t90 = call ptr @scr_bytes_from_str(ptr %t89, ptr @sc_lit_2605532998565466)
+ %t91 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t91)
+ store ptr %t90, ptr %sc_l_bytes_0
+ call void @scr_str_release(ptr %t89)
+ br label %if.j25
+if.j25:
+ %t92 = load ptr, ptr %sc_l_parser_0
+ store ptr %t92, ptr %sc_l__x25_callbackReceiver_1
+ %t93 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t94 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t93)
+ %t95 = load i32, ptr %exc.cell
+ %t96 = icmp ne i32 %t95, 0
+ %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false)
+ br i1 %t97, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t94)
+ br label %exc.cleanup29
+exc.k28:
+ store ptr %t94, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t98 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t99 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t100 = load i32, ptr %t99
+ %t101 = icmp eq i32 %t100, 6
+ br i1 %t101, label %tern.t30, label %tern.f31
+tern.t30:
+ %t104 = call ptr @scr_dyn_undefined()
+ %t103 = call ptr @scr_dyn_retain_v(ptr %t104)
+ store ptr %t103, ptr %s102
+ br label %tern.j32
+tern.f31:
+ %t105 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t106 = call ptr @sc_rc_retain_dyn(ptr %t105)
+ %t107 = call ptr @sc_f__x25_dyn_class_property_25(ptr %t106)
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u33, label %exc.k34
+exc.u33:
+ call void @sc_rc_release_dyn(ptr %t107)
+ br label %exc.cleanup35
+exc.k34:
+ store ptr %t107, ptr %s102
+ br label %tern.j32
+tern.j32:
+ %t111 = load ptr, ptr %s102
+ store ptr %t111, ptr %sc_l__x25_callback_1
+ %t112 = load ptr, ptr %sc_l__x25_callback_1
+ %t113 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t114 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t113, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t115 = load ptr, ptr %sc_l_bytes_0
+ %t116 = call ptr @scr_bytes_retain_v(ptr %t115)
+ %t117 = call ptr @sc_td_1(ptr %t116)
+ %t119 = getelementptr inbounds [1 x ptr], ptr %s118, i64 0, i64 0
+ store ptr %t117, ptr %t119
+ call void @scr_dyn_this_push_dyn(ptr %t114)
+ %t120 = call ptr @scr_dyn_call(ptr %t112, ptr %s118, i64 1, ptr @sc_cs_3152039762744504)
+ call void @scr_dyn_this_pop()
+ %t121 = load i32, ptr %exc.cell
+ %t122 = icmp ne i32 %t121, 0
+ %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false)
+ br i1 %t123, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t114)
+ call void @scr_bytes_release(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t120)
+ br label %exc.cleanup38
+exc.k37:
+ call void @sc_rc_release_dyn(ptr %t114)
+ call void @scr_bytes_release(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t120)
+ %t124 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t124)
+ %t125 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t125)
+ %t126 = load ptr, ptr %sc_l_parser_0
+ %t127 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t126, i64 0, i32 18
+ %t128 = load double, ptr %t127, !tbaa !26
+ %t129 = fcmp oeq double %t128, 0x0000000000000000
+ br i1 %t129, label %if.t39, label %if.j40
+if.t39:
+ %t130 = load ptr, ptr %sc_l_parser_0
+ store ptr %t130, ptr %sc_l__x25_callbackReceiver_2
+ %t131 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t132 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t131)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u41, label %exc.k42
+exc.u41:
+ call void @sc_rc_release_dyn(ptr %t132)
+ br label %exc.cleanup29
+exc.k42:
+ store ptr %t132, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t136 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t137 = getelementptr inbounds i8, ptr %t136, i64 8 ; ->kind
+ %t138 = load i32, ptr %t137
+ %t139 = icmp eq i32 %t138, 6
+ br i1 %t139, label %tern.t43, label %tern.f44
+tern.t43:
+ %t142 = call ptr @scr_dyn_undefined()
+ %t141 = call ptr @scr_dyn_retain_v(ptr %t142)
+ store ptr %t141, ptr %s140
+ br label %tern.j45
+tern.f44:
+ %t143 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t144 = call ptr @sc_rc_retain_dyn(ptr %t143)
+ %t145 = call ptr @sc_f__x25_dyn_class_property_26(ptr %t144)
+ %t146 = load i32, ptr %exc.cell
+ %t147 = icmp ne i32 %t146, 0
+ %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false)
+ br i1 %t148, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t145)
+ br label %exc.cleanup48
+exc.k47:
+ store ptr %t145, ptr %s140
+ br label %tern.j45
+tern.j45:
+ %t149 = load ptr, ptr %s140
+ store ptr %t149, ptr %sc_l__x25_callback_2
+ %t150 = load ptr, ptr %sc_l__x25_callback_2
+ %t151 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t152 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t151, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t152)
+ %t153 = call ptr @scr_dyn_call(ptr %t150, ptr null, i64 0, ptr @sc_cs_3007189739552489)
+ call void @scr_dyn_this_pop()
+ %t154 = load i32, ptr %exc.cell
+ %t155 = icmp ne i32 %t154, 0
+ %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false)
+ br i1 %t156, label %exc.u49, label %exc.k50
+exc.u49:
+ call void @sc_rc_release_dyn(ptr %t152)
+ call void @sc_rc_release_dyn(ptr %t153)
+ br label %exc.cleanup51
+exc.k50:
+ call void @sc_rc_release_dyn(ptr %t152)
+ call void @sc_rc_release_dyn(ptr %t153)
+ %t157 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t157)
+ %t158 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t158)
+ br label %if.j40
+if.j40:
+ %t159 = load ptr, ptr %sc_l_parser_0
+ %t160 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t159, i64 0, i32 18
+ %t161 = load double, ptr %t160, !tbaa !26
+ %t162 = fcmp une double %t161, 0x0000000000000000
+ br i1 %t162, label %if.t52, label %if.j53
+if.t52:
+ %t163 = load ptr, ptr %sc_l_parser_0
+ %t164 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t163, i64 0, i32 18
+ %t165 = load double, ptr %t164, !tbaa !26
+ %t166 = fcmp oeq double %t165, 0x4000000000000000
+ br i1 %t166, label %tern.t54, label %tern.f55
+tern.t54:
+ store double 0x4079D00000000000, ptr %s167
+ store i32 413, ptr %s168
+ br label %tern.j56
+tern.f55:
+ store double 0x4079000000000000, ptr %s167
+ store i32 400, ptr %s168
+ br label %tern.j56
+tern.j56:
+ %t169 = load double, ptr %s167
+ %t170 = load i32, ptr %s168
+ %t171 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t171)
+ %t172 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t172)
+ %t173 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t173)
+ %t174 = load ptr, ptr %sc_l_parser_0
+ call void @sc_release__x25_m4_MultipartParser(ptr %t174)
+ %t175 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t175)
+ ret i32 %t170
+if.j53:
+ %t176 = load ptr, ptr %sc_l_c_0
+ %t177 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t176, i64 0, i32 1
+ %t178 = load ptr, ptr %t177, !tbaa !24
+ %t179 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t178)
+ store ptr %t179, ptr %sc_l_rv_0
+ %t180 = load ptr, ptr %sc_l_rv_0
+ store ptr %t180, ptr %sc_l__x25_callbackReceiver_3
+ %t181 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t182 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t181)
+ %t183 = load i32, ptr %exc.cell
+ %t184 = icmp ne i32 %t183, 0
+ %t185 = call i1 @llvm.expect.i1(i1 %t184, i1 false)
+ br i1 %t185, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t182)
+ br label %exc.cleanup59
+exc.k58:
+ store ptr %t182, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t186 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t187 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t188 = load i32, ptr %t187
+ %t189 = icmp eq i32 %t188, 6
+ br i1 %t189, label %tern.t60, label %tern.f61
+tern.t60:
+ %t192 = call ptr @scr_dyn_undefined()
+ %t191 = call ptr @scr_dyn_retain_v(ptr %t192)
+ store ptr %t191, ptr %s190
+ br label %tern.j62
+tern.f61:
+ %t193 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t194 = call ptr @sc_rc_retain_dyn(ptr %t193)
+ %t195 = call ptr @sc_f__x25_dyn_class_property_27(ptr %t194)
+ %t196 = load i32, ptr %exc.cell
+ %t197 = icmp ne i32 %t196, 0
+ %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false)
+ br i1 %t198, label %exc.u63, label %exc.k64
+exc.u63:
+ call void @sc_rc_release_dyn(ptr %t195)
+ br label %exc.cleanup65
+exc.k64:
+ store ptr %t195, ptr %s190
+ br label %tern.j62
+tern.j62:
+ %t199 = load ptr, ptr %s190
+ store ptr %t199, ptr %sc_l__x25_callback_3
+ %t200 = load ptr, ptr %sc_l__x25_callback_3
+ %t201 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t202 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t201, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t203 = load ptr, ptr %sc_l_parser_0
+ %t204 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t203, i64 0, i32 19
+ %t205 = load ptr, ptr %t204, !tbaa !28
+ %t206 = call ptr @scr_arr_retain_v(ptr %t205)
+ %t207 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t206, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t207, ptr @sc_ldr_11_materialize_ops)
+ %t208 = load ptr, ptr %sc_l_parser_0
+ %t209 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t208, i64 0, i32 20
+ %t210 = load ptr, ptr %t209, !tbaa !30
+ %t211 = call ptr @scr_arr_retain_v(ptr %t210)
+ %t212 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t211, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t212, ptr @sc_ldr_2_materialize_ops)
+ %t214 = getelementptr inbounds [2 x ptr], ptr %s213, i64 0, i64 0
+ store ptr %t207, ptr %t214
+ %t215 = getelementptr inbounds [2 x ptr], ptr %s213, i64 0, i64 1
+ store ptr %t212, ptr %t215
+ call void @scr_dyn_this_push_dyn(ptr %t202)
+ %t216 = call ptr @scr_dyn_call(ptr %t200, ptr %s213, i64 2, ptr @sc_cs_1513435222814291)
+ call void @scr_dyn_this_pop()
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @scr_arr_release(ptr %t206)
+ call void @sc_rc_release_dyn(ptr %t207)
+ call void @scr_arr_release(ptr %t211)
+ call void @sc_rc_release_dyn(ptr %t212)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup68
+exc.k67:
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @scr_arr_release(ptr %t206)
+ call void @sc_rc_release_dyn(ptr %t207)
+ call void @scr_arr_release(ptr %t211)
+ call void @sc_rc_release_dyn(ptr %t212)
+ call void @sc_rc_release_dyn(ptr %t216)
+ %t220 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t220)
+ %t221 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t221)
+ %t222 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t222)
+ %t223 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t223)
+ %t224 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t224)
+ %t225 = load ptr, ptr %sc_l_parser_0
+ call void @sc_release__x25_m4_MultipartParser(ptr %t225)
+ %t226 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t226)
+ %t227 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t227)
+ ret i32 0
+exc.cleanup4:
+ %t228 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t228)
+ ret i32 0
+exc.cleanup10:
+ %t229 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t229)
+ %t230 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t230)
+ ret i32 0
+exc.cleanup13:
+ %t231 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t231)
+ %t232 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t232)
+ %t233 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t233)
+ ret i32 0
+exc.cleanup18:
+ %t234 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t234)
+ ret i32 0
+exc.cleanup29:
+ %t235 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t235)
+ %t236 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t236)
+ %t237 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t237)
+ %t238 = load ptr, ptr %sc_l_parser_0
+ call void @sc_release__x25_m4_MultipartParser(ptr %t238)
+ %t239 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t239)
+ ret i32 0
+exc.cleanup35:
+ %t240 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t240)
+ %t241 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t241)
+ %t242 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t242)
+ %t243 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t243)
+ %t244 = load ptr, ptr %sc_l_parser_0
+ call void @sc_release__x25_m4_MultipartParser(ptr %t244)
+ %t245 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t245)
+ ret i32 0
+exc.cleanup38:
+ %t246 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t246)
+ %t247 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t247)
+ %t248 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t248)
+ %t249 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t249)
+ %t250 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t250)
+ %t251 = load ptr, ptr %sc_l_parser_0
+ call void @sc_release__x25_m4_MultipartParser(ptr %t251)
+ %t252 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t252)
+ ret i32 0
+exc.cleanup48:
+ %t253 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t253)
+ %t254 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t254)
+ %t255 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t255)
+ %t256 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t256)
+ %t257 = load ptr, ptr %sc_l_parser_0
+ call void @sc_release__x25_m4_MultipartParser(ptr %t257)
+ %t258 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t258)
+ ret i32 0
+exc.cleanup51:
+ %t259 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t259)
+ %t260 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t260)
+ %t261 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t261)
+ %t262 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t262)
+ %t263 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t263)
+ %t264 = load ptr, ptr %sc_l_parser_0
+ call void @sc_release__x25_m4_MultipartParser(ptr %t264)
+ %t265 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t265)
+ ret i32 0
+exc.cleanup59:
+ %t266 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t266)
+ %t267 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t267)
+ %t268 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t268)
+ %t269 = load ptr, ptr %sc_l_parser_0
+ call void @sc_release__x25_m4_MultipartParser(ptr %t269)
+ %t270 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t270)
+ %t271 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t271)
+ ret i32 0
+exc.cleanup65:
+ %t272 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t273)
+ %t274 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t274)
+ %t275 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t275)
+ %t276 = load ptr, ptr %sc_l_parser_0
+ call void @sc_release__x25_m4_MultipartParser(ptr %t276)
+ %t277 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t277)
+ %t278 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t278)
+ ret i32 0
+exc.cleanup68:
+ %t279 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t279)
+ %t280 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t280)
+ %t281 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t281)
+ %t282 = load ptr, ptr %sc_l_bnd_0
+ call void @scr_str_release(ptr %t282)
+ %t283 = load ptr, ptr %sc_l_st_0
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t283)
+ %t284 = load ptr, ptr %sc_l_parser_0
+ call void @sc_release__x25_m4_MultipartParser(ptr %t284)
+ %t285 = load ptr, ptr %sc_l_bytes_0
+ call void @scr_bytes_release(ptr %t285)
+ %t286 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t286)
+ ret i32 0
+}
+define internal double @sc_bf__x25_m5_runMultipartPrim(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %r = call i32 @sc_bf__x25_m5_runMultipartPrim.i32(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ %d = sitofp i32 %r to double
+ ret double %d
+}
+define internal double @sc_f__x25_m5_runMultipartPrim(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call double @sc_bf__x25_m5_runMultipartPrim(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @sc_release__x25_m5_MpCfg(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_union_release(ptr %p3)
+ ret double %result
+}
+
+define internal void @sc_bf__x25_m5_replyPlain.i32(ptr %p_sc_l_sink_0, i32 %p_sc_l_status_0.i32, ptr %p_sc_l_msg_0) #0 { ; %m5.replyPlain
+entry:
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_status_0 = alloca i32 ; status
+ %sc_l_msg_0 = alloca ptr ; msg
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s15 = alloca ptr
+ %s30 = alloca [1 x ptr]
+ %s49 = alloca ptr
+ %s64 = alloca [2 x ptr]
+ %s84 = alloca ptr
+ %s102 = alloca [2 x ptr]
+ %s122 = alloca ptr
+ %s137 = alloca [1 x ptr]
+ %p_sc_l_status_0 = sitofp i32 %p_sc_l_status_0.i32 to double
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ store i32 %p_sc_l_status_0.i32, ptr %sc_l_status_0
+ store ptr %p_sc_l_msg_0, ptr %sc_l_msg_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_sink_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t7 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t6)
+ %t8 = load i32, ptr %exc.cell
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t7)
+ ret void
+exc.k3:
+ store ptr %t7, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 6
+ br i1 %t14, label %tern.t4, label %tern.f5
+tern.t4:
+ %t17 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t17)
+ store ptr %t16, ptr %s15
+ br label %tern.j6
+tern.f5:
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = call ptr @sc_rc_retain_dyn(ptr %t18)
+ %t20 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t20, ptr %s15
+ br label %tern.j6
+tern.j6:
+ %t24 = load ptr, ptr %s15
+ store ptr %t24, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t28 = load i32, ptr %sc_l_status_0
+ %t29 = call ptr @sc_td_2(double %p_sc_l_status_0)
+ %t31 = getelementptr inbounds [1 x ptr], ptr %s30, i64 0, i64 0
+ store ptr %t29, ptr %t31
+ call void @scr_dyn_this_push_dyn(ptr %t27)
+ %t32 = call ptr @scr_dyn_call(ptr %t25, ptr %s30, i64 1, ptr @sc_cs_137127765515474)
+ call void @scr_dyn_this_pop()
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t32)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t32)
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t38 = load ptr, ptr %sc_l_sink_0
+ store ptr %t38, ptr %sc_l__x25_callbackReceiver_1
+ %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t41 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t40)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret void
+exc.k14:
+ store ptr %t41, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t45 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t46 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t48 = icmp eq i32 %t47, 6
+ br i1 %t48, label %tern.t15, label %tern.f16
+tern.t15:
+ %t51 = call ptr @scr_dyn_undefined()
+ %t50 = call ptr @scr_dyn_retain_v(ptr %t51)
+ store ptr %t50, ptr %s49
+ br label %tern.j17
+tern.f16:
+ %t52 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t53 = call ptr @sc_rc_retain_dyn(ptr %t52)
+ %t54 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t53)
+ %t55 = load i32, ptr %exc.cell
+ %t56 = icmp ne i32 %t55, 0
+ %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false)
+ br i1 %t57, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t54)
+ br label %exc.cleanup20
+exc.k19:
+ store ptr %t54, ptr %s49
+ br label %tern.j17
+tern.j17:
+ %t58 = load ptr, ptr %s49
+ store ptr %t58, ptr %sc_l__x25_callback_1
+ %t59 = load ptr, ptr %sc_l__x25_callback_1
+ %t60 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t62 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t63 = call ptr @sc_td_0(ptr @sc_lit_266676967674785)
+ %t65 = getelementptr inbounds [2 x ptr], ptr %s64, i64 0, i64 0
+ store ptr %t62, ptr %t65
+ %t66 = getelementptr inbounds [2 x ptr], ptr %s64, i64 0, i64 1
+ store ptr %t63, ptr %t66
+ call void @scr_dyn_this_push_dyn(ptr %t61)
+ %t67 = call ptr @scr_dyn_call(ptr %t59, ptr %s64, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @sc_rc_release_dyn(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup23
+exc.k22:
+ call void @sc_rc_release_dyn(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t71 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t71)
+ %t72 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t72)
+ %t73 = load ptr, ptr %sc_l_sink_0
+ store ptr %t73, ptr %sc_l__x25_callbackReceiver_2
+ %t74 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t76 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t75)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret void
+exc.k25:
+ store ptr %t76, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t80 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t81 = getelementptr inbounds i8, ptr %t80, i64 8 ; ->kind
+ %t82 = load i32, ptr %t81
+ %t83 = icmp eq i32 %t82, 6
+ br i1 %t83, label %tern.t26, label %tern.f27
+tern.t26:
+ %t86 = call ptr @scr_dyn_undefined()
+ %t85 = call ptr @scr_dyn_retain_v(ptr %t86)
+ store ptr %t85, ptr %s84
+ br label %tern.j28
+tern.f27:
+ %t87 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t88 = call ptr @sc_rc_retain_dyn(ptr %t87)
+ %t89 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t88)
+ %t90 = load i32, ptr %exc.cell
+ %t91 = icmp ne i32 %t90, 0
+ %t92 = call i1 @llvm.expect.i1(i1 %t91, i1 false)
+ br i1 %t92, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t89)
+ br label %exc.cleanup31
+exc.k30:
+ store ptr %t89, ptr %s84
+ br label %tern.j28
+tern.j28:
+ %t93 = load ptr, ptr %s84
+ store ptr %t93, ptr %sc_l__x25_callback_2
+ %t94 = load ptr, ptr %sc_l__x25_callback_2
+ %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t97 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802)
+ %t98 = load ptr, ptr %sc_l_msg_0
+ %t99 = call double @sc_bf__x25_m5_utf8len(ptr %t98)
+ %t100 = call ptr @scr_f64_to_scrstr(double %t99)
+ %t101 = call ptr @sc_td_0(ptr %t100)
+ %t103 = getelementptr inbounds [2 x ptr], ptr %s102, i64 0, i64 0
+ store ptr %t97, ptr %t103
+ %t104 = getelementptr inbounds [2 x ptr], ptr %s102, i64 0, i64 1
+ store ptr %t101, ptr %t104
+ call void @scr_dyn_this_push_dyn(ptr %t96)
+ %t105 = call ptr @scr_dyn_call(ptr %t94, ptr %s102, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t97)
+ call void @scr_str_release(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t105)
+ br label %exc.cleanup34
+exc.k33:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t97)
+ call void @scr_str_release(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t105)
+ %t109 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t109)
+ %t110 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t110)
+ %t111 = load ptr, ptr %sc_l_sink_0
+ store ptr %t111, ptr %sc_l__x25_callbackReceiver_3
+ %t112 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t113 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t112, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t114 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t113)
+ %t115 = load i32, ptr %exc.cell
+ %t116 = icmp ne i32 %t115, 0
+ %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false)
+ br i1 %t117, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rc_release_dyn(ptr %t114)
+ ret void
+exc.k36:
+ store ptr %t114, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t118 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t119 = getelementptr inbounds i8, ptr %t118, i64 8 ; ->kind
+ %t120 = load i32, ptr %t119
+ %t121 = icmp eq i32 %t120, 6
+ br i1 %t121, label %tern.t37, label %tern.f38
+tern.t37:
+ %t124 = call ptr @scr_dyn_undefined()
+ %t123 = call ptr @scr_dyn_retain_v(ptr %t124)
+ store ptr %t123, ptr %s122
+ br label %tern.j39
+tern.f38:
+ %t125 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t126 = call ptr @sc_rc_retain_dyn(ptr %t125)
+ %t127 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t126)
+ %t128 = load i32, ptr %exc.cell
+ %t129 = icmp ne i32 %t128, 0
+ %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false)
+ br i1 %t130, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t127)
+ br label %exc.cleanup42
+exc.k41:
+ store ptr %t127, ptr %s122
+ br label %tern.j39
+tern.j39:
+ %t131 = load ptr, ptr %s122
+ store ptr %t131, ptr %sc_l__x25_callback_3
+ %t132 = load ptr, ptr %sc_l__x25_callback_3
+ %t133 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t134 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t133, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t135 = load ptr, ptr %sc_l_msg_0
+ %t136 = call ptr @sc_td_0(ptr %t135)
+ %t138 = getelementptr inbounds [1 x ptr], ptr %s137, i64 0, i64 0
+ store ptr %t136, ptr %t138
+ call void @scr_dyn_this_push_dyn(ptr %t134)
+ %t139 = call ptr @scr_dyn_call(ptr %t132, ptr %s137, i64 1, ptr @sc_cs_891738944038355)
+ call void @scr_dyn_this_pop()
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @sc_rc_release_dyn(ptr %t134)
+ call void @sc_rc_release_dyn(ptr %t136)
+ call void @sc_rc_release_dyn(ptr %t139)
+ br label %exc.cleanup45
+exc.k44:
+ call void @sc_rc_release_dyn(ptr %t134)
+ call void @sc_rc_release_dyn(ptr %t136)
+ call void @sc_rc_release_dyn(ptr %t139)
+ %t143 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t143)
+ %t144 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t144)
+ ret void
+exc.cleanup9:
+ %t145 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t145)
+ ret void
+exc.cleanup12:
+ %t146 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t146)
+ %t147 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t147)
+ ret void
+exc.cleanup20:
+ %t148 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t148)
+ ret void
+exc.cleanup23:
+ %t149 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t149)
+ %t150 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t150)
+ ret void
+exc.cleanup31:
+ %t151 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t151)
+ ret void
+exc.cleanup34:
+ %t152 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t152)
+ %t153 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t153)
+ ret void
+exc.cleanup42:
+ %t154 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t154)
+ ret void
+exc.cleanup45:
+ %t155 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t155)
+ %t156 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t156)
+ ret void
+}
+define internal void @sc_bf__x25_m5_replyPlain(ptr %p0, double %p1, ptr %p2) #0 {
+entry:
+ %a1 = fptosi double %p1 to i32
+ call void @sc_bf__x25_m5_replyPlain.i32(ptr %p0, i32 %a1, ptr %p2)
+ ret void
+}
+define internal void @sc_f__x25_m5_replyPlain(ptr %p0, double %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25_m5_replyPlain(ptr %p0, double %p1, ptr %p2)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal double @sc_bf__x25_m5_newNode.i32(ptr %p_sc_l_nodes_0, ptr %p_sc_l_seg_0, i32 %p_sc_l_kind_0.i32) #0 { ; %m5.newNode
+entry:
+ %sc_l_nodes_0 = alloca ptr ; nodes
+ %sc_l_seg_0 = alloca ptr ; seg
+ %sc_l_kind_0 = alloca i32 ; kind
+ %p_sc_l_kind_0 = sitofp i32 %p_sc_l_kind_0.i32 to double
+ store ptr %p_sc_l_nodes_0, ptr %sc_l_nodes_0
+ store ptr %p_sc_l_seg_0, ptr %sc_l_seg_0
+ store i32 %p_sc_l_kind_0.i32, ptr %sc_l_kind_0
+ %t0 = load ptr, ptr %sc_l_nodes_0
+ %t1 = call ptr @sc_rnew_r5()
+ %t2 = load ptr, ptr %sc_l_seg_0
+ %t3 = call ptr @sc_rc_retain_str(ptr %t2)
+ %t4 = getelementptr inbounds %sc_rs_r5, ptr %t1, i64 0, i32 5
+ store ptr %t3, ptr %t4
+ %t5 = load i32, ptr %sc_l_kind_0
+ %t6 = getelementptr inbounds %sc_rs_r5, ptr %t1, i64 0, i32 4
+ store double %p_sc_l_kind_0, ptr %t6
+ %t7 = call ptr @scr_arr_new(i32 0, i64 0)
+ %t8 = getelementptr inbounds %sc_rs_r5, ptr %t1, i64 0, i32 1
+ store ptr %t7, ptr %t8
+ %t9 = call ptr @scr_arr_new(i32 2, i64 0)
+ %t10 = getelementptr inbounds %sc_rs_r5, ptr %t1, i64 0, i32 3
+ store ptr %t9, ptr %t10
+ %t11 = call ptr @scr_arr_new(i32 0, i64 0)
+ %t12 = getelementptr inbounds %sc_rs_r5, ptr %t1, i64 0, i32 2
+ store ptr %t11, ptr %t12
+ %t13 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t14 = load i64, ptr %t13, !tbaa !2
+ %t17 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t15 = load i64, ptr %t17, !tbaa !2
+ %t16 = icmp ult i64 %t14, %t15
+ br i1 %t16, label %arr.push.dense0, label %arr.push.slow1
+arr.push.dense0:
+ %t18 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t20 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t19 = load ptr, ptr %t18, !tbaa !2
+ %t21 = load ptr, ptr %t20, !tbaa !2
+ %t22 = getelementptr inbounds i8, ptr %t21, i64 %t14
+ %t23 = getelementptr inbounds i64, ptr %t19, i64 %t14
+ store ptr %t1, ptr %t23, !tbaa !6
+ store i8 1, ptr %t22, !tbaa !4
+ %t24 = add nuw i64 %t14, 1
+ store i64 %t24, ptr %t13, !tbaa !2
+ %t26 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t27 = load i32, ptr %t26, !tbaa !2
+ %t31 = zext i32 %t27 to i64
+ %t28 = icmp eq i64 %t31, %t14
+ %t29 = add i32 %t27, 1
+ %t30 = select i1 %t28, i32 %t29, i32 %t27
+ store i32 %t30, ptr %t26, !tbaa !2
+ %t25 = sitofp i64 %t24 to double
+ br label %arr.push.join2
+arr.push.slow1:
+ %t32 = call double @scr_arr_push_ref(ptr %t0, ptr %t1) cold
+ br label %arr.push.join2
+arr.push.join2:
+ %t33 = phi double [ %t25, %arr.push.dense0 ], [ %t32, %arr.push.slow1 ]
+ %t34 = load ptr, ptr %sc_l_nodes_0
+ %t35 = getelementptr inbounds %ScrArr, ptr %t34, i32 0, i32 1
+ %t36 = load i64, ptr %t35, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t37 = sitofp i64 %t36 to double
+ %t39 = fptosi double %t37 to i64
+ %t40 = sub nsw i64 %t39, 1
+ %t42 = trunc i64 %t40 to i32
+ %t41 = sitofp i64 %t40 to double
+ ret double %t41
+}
+define internal double @sc_bf__x25_m5_newNode(ptr %p0, ptr %p1, double %p2) #0 {
+entry:
+ %a2 = fptosi double %p2 to i32
+ %r = call double @sc_bf__x25_m5_newNode.i32(ptr %p0, ptr %p1, i32 %a2)
+ ret double %r
+}
+define internal double @sc_f__x25_m5_newNode(ptr %p0, ptr %p1, double %p2) #0 {
+entry:
+ %result = call double @sc_bf__x25_m5_newNode(ptr %p0, ptr %p1, double %p2)
+ call void @scr_arr_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret double %result
+}
+
+define internal void @sc_bf__x25_m5_addRoute(ptr %p_sc_l_nodes_0, ptr %p_sc_l_method_0, ptr %p_sc_l_path_0, double %p_sc_l_hIdx_0) #0 { ; %m5.addRoute
+entry:
+ %sc_l_nodes_0 = alloca ptr ; nodes
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_hIdx_0 = alloca double ; hIdx
+ %sc_l_m_0 = alloca ptr ; m
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_segs_0 = alloca ptr ; segs
+ %sc_l_ni_0 = alloca ptr ; ni
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_seg_0 = alloca ptr ; seg
+ %sc_l_kind_0 = alloca i32 ; kind
+ %sc_l_child_0 = alloca ptr ; child
+ %sc_l_ch_0 = alloca ptr ; ch
+ %sc_l_k_0 = alloca i32 ; k
+ %sc_l_c_0 = alloca ptr ; c
+ %s5 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s16 = alloca i1
+ %s31 = alloca %ScrUnion
+ %s32 = getelementptr inbounds %ScrUnion, ptr %s31, i32 0, i32 1
+ %s33 = getelementptr inbounds %ScrUnion, ptr %s31, i32 0, i32 5
+ %s34 = alloca %ScrUnion
+ %s35 = getelementptr inbounds %ScrUnion, ptr %s34, i32 0, i32 1
+ %s36 = getelementptr inbounds %ScrUnion, ptr %s34, i32 0, i32 5
+ %s50 = alloca ptr
+ %s83 = alloca ptr
+ %s134 = alloca ptr
+ %s140 = alloca double
+ %s141 = alloca i32
+ %s182 = alloca i64 ; integer induction k
+ %s245 = alloca ptr
+ %s253 = alloca i1
+ %s257 = alloca ptr
+ %s282 = alloca double
+ %s283 = alloca i32
+ %s310 = alloca double
+ %s311 = alloca i32
+ %s357 = alloca ptr
+ %s363 = alloca double
+ %s364 = alloca i32
+ %s428 = alloca ptr
+ %s434 = alloca double
+ %s435 = alloca i32
+ store ptr null, ptr %sc_l_m_0
+ store ptr null, ptr %sc_l_p_0
+ store ptr null, ptr %sc_l_segs_0
+ store ptr null, ptr %sc_l_ni_0
+ store ptr null, ptr %sc_l_seg_0
+ store ptr null, ptr %sc_l_child_0
+ store ptr null, ptr %sc_l_ch_0
+ store ptr null, ptr %sc_l_c_0
+ store ptr %p_sc_l_nodes_0, ptr %sc_l_nodes_0
+ store ptr %p_sc_l_method_0, ptr %sc_l_method_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store double %p_sc_l_hIdx_0, ptr %sc_l_hIdx_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_method_0
+ %t7 = icmp eq ptr %t4, null
+ %t6 = select i1 %t7, i32 1, i32 0
+ switch i32 %t6, label %u.bad3 [ i32 0, label %u.a4 i32 1, label %u.a5 ]
+u.a4:
+ %t8 = call ptr @sc_rc_retain_str(ptr %t4)
+ store ptr %t8, ptr %s5
+ br label %us.j2
+u.a5:
+ store ptr @sc_lit_4134463689533233, ptr %s5
+ br label %us.j2
+u.bad3:
+ call void @sc_bad_tag()
+ unreachable
+us.j2:
+ %t9 = load ptr, ptr %s5
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_str_release(ptr %t9)
+ ret void
+exc.k7:
+ store ptr %t9, ptr %sc_l_m_0
+ %t13 = load ptr, ptr %sc_l_path_0
+ store ptr %t13, ptr %sc_l_p_0
+ %t14 = load ptr, ptr %sc_l_p_0
+ %t15 = call zeroext i1 @sc_streq_4005573543169985(ptr %t14)
+ store i1 %t15, ptr %s16
+ br i1 %t15, label %log.j9, label %log.r8
+log.r8:
+ %t17 = load ptr, ptr %sc_l_p_0
+ %t18 = call ptr @scr_str_char_at(ptr %t17, double 0x0000000000000000)
+ %t19 = call zeroext i1 @sc_streq_2434240011052594(ptr %t18)
+ %t20 = xor i1 %t19, true
+ store i1 %t20, ptr %s16
+ call void @scr_str_release(ptr %t18)
+ br label %log.j9
+log.j9:
+ %t21 = load i1, ptr %s16
+ br i1 %t21, label %if.t10, label %if.j11
+if.t10:
+ %t22 = call ptr @sc_td_0(ptr @sc_lit_1079256549531276)
+ %t24 = call ptr @scr_dyn_undefined()
+ %t23 = call ptr @scr_dyn_retain_v(ptr %t24)
+ %t25 = call ptr @scr_error_new_options(i32 0, ptr %t22, ptr %t23)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @scr_error_release(ptr %t25)
+ br label %exc.cleanup14
+exc.k13:
+ call void @scr_throw_obj(ptr %t25, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t23)
+ br label %exc.cleanup14
+if.j11:
+ %t29 = load ptr, ptr %sc_l_p_0
+ %t30 = call ptr @scr_str_split_limit(ptr %t29, ptr @sc_lit_2434240011052594, double 0x41EFFFFFFFE00000)
+ store ptr %t30, ptr %sc_l_segs_0
+ store double 0x0000000000000000, ptr %s36
+ store i32 0, ptr %s35
+ %t38 = getelementptr inbounds %ScrUnion, ptr %s34, i64 0, i32 1
+ %t37 = load i32, ptr %t38
+ %t39 = getelementptr inbounds %ScrUnion, ptr %s34, i32 0, i32 5
+ %t40 = load i64, ptr %t39
+ store i32 %t37, ptr %s32
+ store i64 %t40, ptr %s33
+ store ptr %s31, ptr %sc_l_ni_0
+ store i32 1, ptr %sc_l_i_0
+ br label %loop.c16
+loop.c16:
+ %t41 = load i32, ptr %sc_l_i_0
+ %t42 = uitofp i32 %t41 to double
+ %t43 = load ptr, ptr %sc_l_segs_0
+ %t44 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 1
+ %t45 = load i64, ptr %t44, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t46 = sitofp i64 %t45 to double
+ %t48 = fptosi double %t46 to i64
+ %t49 = zext i32 %t41 to i64
+ %t47 = icmp slt i64 %t49, %t48
+ br i1 %t47, label %loop.b17, label %loop.e15
+loop.b17:
+ %t51 = load ptr, ptr %sc_l_segs_0
+ %t52 = load i32, ptr %sc_l_i_0
+ %t53 = uitofp i32 %t52 to double
+ %t54 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 2
+ %t55 = load i64, ptr %t54, !tbaa !2
+ %t56 = fptosi double %t53 to i64
+ %t57 = freeze i64 %t56
+ %t58 = sitofp i64 %t57 to double
+ %t59 = fcmp oeq double %t58, %t53
+ %t60 = icmp ult i64 %t57, %t55
+ %t61 = and i1 %t59, %t60
+ br i1 %t61, label %local.array.range22, label %local.array.slow19
+local.array.range22:
+ br label %local.array.dense23
+local.array.dense23:
+ %t62 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 6
+ %t63 = load i32, ptr %t62, !tbaa !2
+ %t65 = zext i32 %t63 to i64
+ %t64 = icmp ult i64 %t57, %t65
+ br i1 %t64, label %local.array.value25, label %local.array.len24
+local.array.len24:
+ %t66 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 1
+ %t67 = load i64, ptr %t66, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t68 = icmp ult i64 %t57, %t67
+ br i1 %t68, label %local.array.state26, label %local.array.missing20
+local.array.state26:
+ %t69 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 9
+ %t70 = load ptr, ptr %t69, !tbaa !2
+ %t71 = getelementptr inbounds i8, ptr %t70, i64 %t57
+ %t72 = load i8, ptr %t71, !tbaa !4
+ %t73 = icmp eq i8 %t72, 1
+ br i1 %t73, label %local.array.value25, label %local.array.missing20
+local.array.value25:
+ %t74 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 8
+ %t75 = load ptr, ptr %t74, !tbaa !2
+ %t76 = getelementptr inbounds i64, ptr %t75, i64 %t57
+ %t77 = load ptr, ptr %t76, !tbaa !6
+ %t78 = call ptr @sc_rc_retain_str(ptr %t77)
+ store ptr %t78, ptr %s50
+ br label %local.array.join21
+local.array.slow19:
+ %t79 = call ptr @scr_arr_peek_ref(ptr %t51, double %t53)
+ %t80 = icmp ne ptr %t79, null
+ br i1 %t80, label %local.array.slow.value27, label %local.array.missing20
+local.array.slow.value27:
+ %t81 = call ptr @sc_rc_retain_str(ptr %t79)
+ store ptr %t81, ptr %s50
+ br label %local.array.join21
+local.array.missing20:
+ store ptr null, ptr %s50
+ br label %local.array.join21
+local.array.join21:
+ %t82 = load ptr, ptr %s50
+ %t85 = icmp eq ptr %t82, null
+ %t84 = select i1 %t85, i32 1, i32 0
+ switch i32 %t84, label %u.bad29 [ i32 0, label %u.a30 i32 1, label %u.a31 ]
+u.a30:
+ %t86 = call ptr @sc_rc_retain_str(ptr %t82)
+ store ptr %t86, ptr %s83
+ br label %us.j28
+u.a31:
+ store ptr @sc_lit_4134463689533233, ptr %s83
+ br label %us.j28
+u.bad29:
+ call void @sc_bad_tag()
+ unreachable
+us.j28:
+ %t87 = load ptr, ptr %s83
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u32, label %exc.k33
+exc.u32:
+ %t91 = load ptr, ptr %s50
+ call void @scr_str_release(ptr %t91)
+ call void @scr_str_release(ptr %t87)
+ br label %exc.cleanup34
+exc.k33:
+ store ptr %t87, ptr %sc_l_seg_0
+ %t92 = load ptr, ptr %s50
+ call void @scr_str_release(ptr %t92)
+ store i32 0, ptr %sc_l_kind_0
+ %t93 = load ptr, ptr %sc_l_seg_0
+ %t94 = call zeroext i1 @sc_streq_1834571860458263(ptr %t93)
+ br i1 %t94, label %if.t35, label %if.f37
+if.t35:
+ store i32 2, ptr %sc_l_kind_0
+ %t95 = load i32, ptr %sc_l_i_0
+ %t96 = uitofp i32 %t95 to double
+ %t97 = load ptr, ptr %sc_l_segs_0
+ %t98 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 1
+ %t99 = load i64, ptr %t98, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t100 = sitofp i64 %t99 to double
+ %t102 = fptosi double %t100 to i64
+ %t103 = sub nsw i64 %t102, 1
+ %t105 = trunc i64 %t103 to i32
+ %t104 = sitofp i64 %t103 to double
+ %t107 = zext i32 %t95 to i64
+ %t106 = icmp ne i64 %t107, %t103
+ br i1 %t106, label %if.t38, label %if.j39
+if.t38:
+ %t108 = call ptr @sc_td_0(ptr @sc_lit_109329900898828)
+ %t110 = call ptr @scr_dyn_undefined()
+ %t109 = call ptr @scr_dyn_retain_v(ptr %t110)
+ %t111 = call ptr @scr_error_new_options(i32 0, ptr %t108, ptr %t109)
+ %t112 = load i32, ptr %exc.cell
+ %t113 = icmp ne i32 %t112, 0
+ %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false)
+ br i1 %t114, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t108)
+ call void @sc_rc_release_dyn(ptr %t109)
+ call void @scr_error_release(ptr %t111)
+ br label %exc.cleanup42
+exc.k41:
+ call void @scr_throw_obj(ptr %t111, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ call void @sc_rc_release_dyn(ptr %t108)
+ call void @sc_rc_release_dyn(ptr %t109)
+ br label %exc.cleanup42
+if.j39:
+ br label %if.j36
+if.f37:
+ %t115 = load ptr, ptr %sc_l_seg_0
+ %t116 = call ptr @scr_str_char_at(ptr %t115, double 0x0000000000000000)
+ %t117 = call zeroext i1 @sc_streq_4075616746236128(ptr %t116)
+ call void @scr_str_release(ptr %t116)
+ br i1 %t117, label %if.t43, label %if.j44
+if.t43:
+ store i32 1, ptr %sc_l_kind_0
+ %t118 = load ptr, ptr %sc_l_seg_0
+ %t119 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t120 = call ptr @scr_str_slice(ptr %t118, double 0x3FF0000000000000, double %t119)
+ %t121 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t121)
+ store ptr %t120, ptr %sc_l_seg_0
+ %t122 = load ptr, ptr %sc_l_seg_0
+ %t123 = call zeroext i1 @sc_streq_4005573543169985(ptr %t122)
+ br i1 %t123, label %if.t45, label %if.j46
+if.t45:
+ %t124 = load ptr, ptr %sc_l_p_0
+ %t125 = call ptr @scr_str_concat(ptr @sc_lit_3545740730868640, ptr %t124)
+ %t126 = call ptr @sc_td_0(ptr %t125)
+ %t128 = call ptr @scr_dyn_undefined()
+ %t127 = call ptr @scr_dyn_retain_v(ptr %t128)
+ %t129 = call ptr @scr_error_new_options(i32 0, ptr %t126, ptr %t127)
+ %t130 = load i32, ptr %exc.cell
+ %t131 = icmp ne i32 %t130, 0
+ %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false)
+ br i1 %t132, label %exc.u47, label %exc.k48
+exc.u47:
+ call void @scr_str_release(ptr %t125)
+ call void @sc_rc_release_dyn(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @scr_error_release(ptr %t129)
+ br label %exc.cleanup42
+exc.k48:
+ call void @scr_throw_obj(ptr %t129, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ call void @scr_str_release(ptr %t125)
+ call void @sc_rc_release_dyn(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t127)
+ br label %exc.cleanup42
+if.j46:
+ br label %if.j44
+if.j44:
+ br label %if.j36
+if.j36:
+ %t133 = call ptr @scr_union_new_f64(i32 0, double 0xBFF0000000000000)
+ store ptr %t133, ptr %sc_l_child_0
+ %t135 = load ptr, ptr %sc_l_nodes_0
+ %t136 = load ptr, ptr %sc_l_ni_0
+ %t139 = getelementptr inbounds %ScrUnion, ptr %t136, i64 0, i32 1
+ %t138 = load i32, ptr %t139
+ %t137 = icmp eq i32 %t138, 1
+ br i1 %t137, label %tern.t49, label %tern.f50
+tern.t49:
+ store double 0x7FF8000000000000, ptr %s140
+ br label %tern.j51
+tern.f50:
+ %t142 = load ptr, ptr %sc_l_ni_0
+ %t143 = getelementptr inbounds %ScrUnion, ptr %t142, i64 0, i32 5
+ %t144 = load double, ptr %t143
+ store double %t144, ptr %s140
+ br label %tern.j51
+tern.j51:
+ %t145 = load double, ptr %s140
+ %t146 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 2
+ %t147 = load i64, ptr %t146, !tbaa !2
+ %t148 = fptosi double %t145 to i64
+ %t149 = freeze i64 %t148
+ %t150 = sitofp i64 %t149 to double
+ %t151 = fcmp oeq double %t150, %t145
+ %t152 = icmp ult i64 %t149, %t147
+ %t153 = and i1 %t151, %t152
+ br i1 %t153, label %local.array.range55, label %local.array.slow52
+local.array.range55:
+ br label %local.array.dense56
+local.array.dense56:
+ %t154 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 6
+ %t155 = load i32, ptr %t154, !tbaa !2
+ %t157 = zext i32 %t155 to i64
+ %t156 = icmp ult i64 %t149, %t157
+ br i1 %t156, label %local.array.value58, label %local.array.len57
+local.array.len57:
+ %t158 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 1
+ %t159 = load i64, ptr %t158, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t160 = icmp ult i64 %t149, %t159
+ br i1 %t160, label %local.array.state59, label %local.array.missing53
+local.array.state59:
+ %t161 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 9
+ %t162 = load ptr, ptr %t161, !tbaa !2
+ %t163 = getelementptr inbounds i8, ptr %t162, i64 %t149
+ %t164 = load i8, ptr %t163, !tbaa !4
+ %t165 = icmp eq i8 %t164, 1
+ br i1 %t165, label %local.array.value58, label %local.array.missing53
+local.array.value58:
+ %t166 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 8
+ %t167 = load ptr, ptr %t166, !tbaa !2
+ %t168 = getelementptr inbounds i64, ptr %t167, i64 %t149
+ %t169 = load ptr, ptr %t168, !tbaa !6
+ store ptr %t169, ptr %s134
+ br label %local.array.join54
+local.array.slow52:
+ %t170 = call ptr @scr_arr_peek_ref(ptr %t135, double %t145)
+ %t171 = icmp ne ptr %t170, null
+ br i1 %t171, label %local.array.slow.value60, label %local.array.missing53
+local.array.slow.value60:
+ store ptr %t170, ptr %s134
+ br label %local.array.join54
+local.array.missing53:
+ store ptr null, ptr %s134
+ br label %local.array.join54
+local.array.join54:
+ %t172 = load ptr, ptr %s134
+ %t174 = icmp eq ptr %t172, null
+ %t173 = select i1 %t174, i32 1, i32 0
+ %t175 = icmp eq i32 %t173, 0
+ br i1 %t175, label %narrow.present61, label %narrow.other62
+narrow.other62:
+ call ptr @sc_bf__x25_union_narrow_7(ptr %t172)
+ %t176 = load i32, ptr %exc.cell
+ %t177 = icmp ne i32 %t176, 0
+ %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false)
+ br i1 %t178, label %exc.u63, label %exc.k64
+exc.u63:
+ br label %exc.cleanup65
+exc.k64:
+ unreachable
+narrow.present61:
+ %t179 = getelementptr inbounds %sc_rs_r5, ptr %t172, i64 0, i32 1
+ %t180 = load ptr, ptr %t179
+ %t181 = call ptr @scr_arr_retain_v(ptr %t180)
+ store ptr %t181, ptr %sc_l_ch_0
+ %t183 = fptosi double 0x0000000000000000 to i64
+ store i64 %t183, ptr %s182
+ br label %loop.c67
+loop.c67:
+ %t184 = load ptr, ptr %sc_l_ch_0
+ %t185 = getelementptr inbounds %ScrArr, ptr %t184, i64 0, i32 1
+ %t186 = load i64, ptr %t185, !tbaa !2
+ %t187 = load i64, ptr %s182
+ %t188 = icmp ult i64 %t187, %t186
+ br i1 %t188, label %loop.b68, label %loop.e66
+loop.b68:
+ %t189 = load ptr, ptr %sc_l_nodes_0
+ %t190 = load ptr, ptr %sc_l_ch_0
+ %t191 = load i64, ptr %s182
+ %t192 = sitofp i64 %t191 to double
+ %t193 = trunc i64 %t191 to i32
+ %t198 = getelementptr inbounds %ScrArr, ptr %t190, i32 0, i32 8
+ %t199 = load ptr, ptr %t198, !tbaa !2
+ %t194 = getelementptr inbounds %ScrArr, ptr %t190, i32 0, i32 1
+ %t195 = load i64, ptr %t194, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t196 = getelementptr inbounds %ScrArr, ptr %t190, i32 0, i32 2
+ %t197 = load i64, ptr %t196, !tbaa !2
+ %t200 = getelementptr inbounds %ScrArr, ptr %t190, i32 0, i32 9
+ %t201 = load ptr, ptr %t200, !tbaa !2
+ %t202 = getelementptr inbounds %ScrArr, ptr %t190, i32 0, i32 6
+ %t203 = load i32, ptr %t202, !tbaa !2
+ %t204 = zext i32 %t203 to i64
+ %t205 = icmp ult i64 %t191, %t204
+ br i1 %t205, label %arr.get.value72, label %arr.check73
+arr.check73:
+ %t206 = icmp ult i64 %t191, %t197
+ %t207 = icmp ult i64 %t191, %t195
+ %t208 = and i1 %t206, %t207
+ br i1 %t208, label %arr.dense74, label %arr.get.slow70
+arr.dense74:
+ %t209 = getelementptr inbounds i8, ptr %t201, i64 %t191
+ %t210 = load i8, ptr %t209, !tbaa !4
+ %t211 = icmp eq i8 %t210, 1
+ br i1 %t211, label %arr.get.value72, label %arr.get.slow70
+arr.get.value72:
+ %t212 = getelementptr inbounds i64, ptr %t199, i64 %t191
+ %t213 = load double, ptr %t212, !tbaa !6
+ br label %arr.get.join71
+arr.get.slow70:
+ %t214 = call double @scr_arr_get_number(ptr %t190, double %t192) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.get.join71
+arr.get.join71:
+ %t215 = phi double [ %t213, %arr.get.value72 ], [ %t214, %arr.get.slow70 ]
+ %t216 = getelementptr inbounds %ScrArr, ptr %t189, i32 0, i32 2
+ %t217 = load i64, ptr %t216, !tbaa !2
+ %t218 = fptosi double %t215 to i64
+ %t219 = freeze i64 %t218
+ %t220 = sitofp i64 %t219 to double
+ %t221 = fcmp oeq double %t220, %t215
+ %t222 = icmp ult i64 %t219, %t217
+ %t223 = and i1 %t221, %t222
+ br i1 %t223, label %local.array.range78, label %local.array.slow75
+local.array.range78:
+ br label %local.array.dense79
+local.array.dense79:
+ %t224 = getelementptr inbounds %ScrArr, ptr %t189, i32 0, i32 6
+ %t225 = load i32, ptr %t224, !tbaa !2
+ %t227 = zext i32 %t225 to i64
+ %t226 = icmp ult i64 %t219, %t227
+ br i1 %t226, label %local.array.value81, label %local.array.len80
+local.array.len80:
+ %t228 = getelementptr inbounds %ScrArr, ptr %t189, i32 0, i32 1
+ %t229 = load i64, ptr %t228, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t230 = icmp ult i64 %t219, %t229
+ br i1 %t230, label %local.array.state82, label %local.array.missing76
+local.array.state82:
+ %t231 = getelementptr inbounds %ScrArr, ptr %t189, i32 0, i32 9
+ %t232 = load ptr, ptr %t231, !tbaa !2
+ %t233 = getelementptr inbounds i8, ptr %t232, i64 %t219
+ %t234 = load i8, ptr %t233, !tbaa !4
+ %t235 = icmp eq i8 %t234, 1
+ br i1 %t235, label %local.array.value81, label %local.array.missing76
+local.array.value81:
+ %t236 = getelementptr inbounds %ScrArr, ptr %t189, i32 0, i32 8
+ %t237 = load ptr, ptr %t236, !tbaa !2
+ %t238 = getelementptr inbounds i64, ptr %t237, i64 %t219
+ %t239 = load ptr, ptr %t238, !tbaa !6
+ store ptr %t239, ptr %sc_l_c_0
+ br label %local.array.join77
+local.array.slow75:
+ %t240 = call ptr @scr_arr_peek_ref(ptr %t189, double %t215)
+ %t241 = icmp ne ptr %t240, null
+ br i1 %t241, label %local.array.slow.value83, label %local.array.missing76
+local.array.slow.value83:
+ store ptr %t240, ptr %sc_l_c_0
+ br label %local.array.join77
+local.array.missing76:
+ store ptr null, ptr %sc_l_c_0
+ br label %local.array.join77
+local.array.join77:
+ %t242 = load ptr, ptr %sc_l_c_0
+ %t244 = icmp eq ptr %t242, null
+ br i1 %t244, label %read.then84, label %read.else85
+read.then84:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209)
+ br label %exc.cleanup87
+exc.dead88:
+ store ptr null, ptr %s245
+ br label %read.join86
+read.else85:
+ %t246 = load ptr, ptr %sc_l_c_0
+ store ptr %t246, ptr %s245
+ br label %read.join86
+read.join86:
+ %t247 = load ptr, ptr %s245
+ %t248 = getelementptr inbounds %sc_rs_r5, ptr %t247, i64 0, i32 4
+ %t249 = load double, ptr %t248
+ %t250 = load i32, ptr %sc_l_kind_0
+ %t251 = sitofp i32 %t250 to double
+ %t252 = fcmp oeq double %t249, %t251
+ store i1 %t252, ptr %s253
+ br i1 %t252, label %log.r89, label %log.j90
+log.r89:
+ %t254 = load ptr, ptr %sc_l_c_0
+ %t256 = icmp eq ptr %t254, null
+ br i1 %t256, label %read.then91, label %read.else92
+read.then91:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_180082455986257)
+ br label %exc.cleanup87
+exc.dead94:
+ store ptr null, ptr %s257
+ br label %read.join93
+read.else92:
+ %t258 = load ptr, ptr %sc_l_c_0
+ store ptr %t258, ptr %s257
+ br label %read.join93
+read.join93:
+ %t259 = load ptr, ptr %s257
+ %t260 = getelementptr inbounds %sc_rs_r5, ptr %t259, i64 0, i32 5
+ %t261 = load ptr, ptr %t260
+ %t262 = load ptr, ptr %sc_l_seg_0
+ %t263 = call zeroext i1 @sc_str_eq(ptr %t261, ptr %t262)
+ store i1 %t263, ptr %s253
+ br label %log.j90
+log.j90:
+ %t264 = load i1, ptr %s253
+ br i1 %t264, label %if.t95, label %if.j96
+if.t95:
+ %t265 = load ptr, ptr %sc_l_ch_0
+ %t266 = load i64, ptr %s182
+ %t267 = sitofp i64 %t266 to double
+ %t268 = trunc i64 %t266 to i32
+ %t269 = call { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %t265, double %t267)
+ %t270 = extractvalue { i32, i64 } %t269, 0
+ %t271 = extractvalue { i32, i64 } %t269, 1
+ switch i32 %t270, label %union.box.none98 [ i32 0, label %union.box.arm99 i32 1, label %union.box.arm100 ]
+union.box.arm99:
+ %t272 = bitcast i64 %t271 to double
+ %t273 = call ptr @scr_union_new_f64(i32 0, double %t272)
+ br label %union.box.join97
+union.box.arm100:
+ br label %union.box.join97
+union.box.none98:
+ br label %union.box.join97
+union.box.join97:
+ %t274 = phi ptr [ %t273, %union.box.arm99 ], [ @sc_unit_3, %union.box.arm100 ], [ null, %union.box.none98 ]
+ %t275 = load ptr, ptr %sc_l_child_0
+ call void @scr_union_release(ptr %t275)
+ store ptr %t274, ptr %sc_l_child_0
+ br label %loop.e66
+if.j96:
+ br label %loop.u69
+loop.u69:
+ %t276 = load i64, ptr %s182
+ %t277 = add nuw i64 %t276, 1
+ store i64 %t277, ptr %s182
+ br label %loop.c67
+loop.e66:
+ %t278 = load ptr, ptr %sc_l_child_0
+ %t281 = getelementptr inbounds %ScrUnion, ptr %t278, i64 0, i32 1
+ %t280 = load i32, ptr %t281
+ %t279 = icmp eq i32 %t280, 1
+ br i1 %t279, label %tern.t101, label %tern.f102
+tern.t101:
+ store double 0x7FF8000000000000, ptr %s282
+ br label %tern.j103
+tern.f102:
+ %t284 = load ptr, ptr %sc_l_child_0
+ %t285 = getelementptr inbounds %ScrUnion, ptr %t284, i64 0, i32 5
+ %t286 = load double, ptr %t285
+ store double %t286, ptr %s282
+ br label %tern.j103
+tern.j103:
+ %t287 = load double, ptr %s282
+ %t288 = fcmp olt double %t287, 0x0000000000000000
+ br i1 %t288, label %if.t104, label %if.j105
+if.t104:
+ %t289 = load ptr, ptr %sc_l_nodes_0
+ %t290 = load ptr, ptr %sc_l_seg_0
+ %t291 = load i32, ptr %sc_l_kind_0
+ %t292 = sitofp i32 %t291 to double
+ %t293 = call double @sc_bf__x25_m5_newNode.i32(ptr %t289, ptr %t290, i32 %t291)
+ %t294 = call ptr @scr_union_new_f64(i32 0, double %t293)
+ %t295 = load ptr, ptr %sc_l_child_0
+ call void @scr_union_release(ptr %t295)
+ store ptr %t294, ptr %sc_l_child_0
+ %t296 = load ptr, ptr %sc_l_child_0
+ %t299 = getelementptr inbounds %ScrUnion, ptr %t296, i64 0, i32 1
+ %t298 = load i32, ptr %t299
+ %t297 = icmp eq i32 %t298, 1
+ br i1 %t297, label %if.t106, label %if.f108
+if.t106:
+ %t300 = load ptr, ptr %sc_l_ch_0
+ %t301 = load ptr, ptr %sc_l_ch_0
+ %t302 = getelementptr inbounds %ScrArr, ptr %t301, i32 0, i32 1
+ %t303 = load i64, ptr %t302, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t304 = sitofp i64 %t303 to double
+ call void @scr_arr_set_undefined(ptr %t300, double %t304)
+ br label %if.j107
+if.f108:
+ %t305 = load ptr, ptr %sc_l_ch_0
+ %t306 = load ptr, ptr %sc_l_child_0
+ %t309 = getelementptr inbounds %ScrUnion, ptr %t306, i64 0, i32 1
+ %t308 = load i32, ptr %t309
+ %t307 = icmp eq i32 %t308, 0
+ br i1 %t307, label %tern.t109, label %tern.f110
+tern.t109:
+ %t312 = load ptr, ptr %sc_l_child_0
+ %t313 = getelementptr inbounds %ScrUnion, ptr %t312, i64 0, i32 5
+ %t314 = load double, ptr %t313
+ store double %t314, ptr %s310
+ br label %tern.j111
+tern.f110:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup87
+exc.dead112:
+ store double 0x0000000000000000, ptr %s310
+ br label %tern.j111
+tern.j111:
+ %t315 = load double, ptr %s310
+ %t316 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 1
+ %t317 = load i64, ptr %t316, !tbaa !2
+ %t320 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 2
+ %t318 = load i64, ptr %t320, !tbaa !2
+ %t319 = icmp ult i64 %t317, %t318
+ br i1 %t319, label %arr.push.dense113, label %arr.push.slow114
+arr.push.dense113:
+ %t321 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 8
+ %t323 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 9
+ %t322 = load ptr, ptr %t321, !tbaa !2
+ %t324 = load ptr, ptr %t323, !tbaa !2
+ %t325 = getelementptr inbounds i8, ptr %t324, i64 %t317
+ %t326 = getelementptr inbounds i64, ptr %t322, i64 %t317
+ store double %t315, ptr %t326, !tbaa !6
+ store i8 1, ptr %t325, !tbaa !4
+ %t327 = add nuw i64 %t317, 1
+ store i64 %t327, ptr %t316, !tbaa !2
+ %t329 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 6
+ %t330 = load i32, ptr %t329, !tbaa !2
+ %t334 = zext i32 %t330 to i64
+ %t331 = icmp eq i64 %t334, %t317
+ %t332 = add i32 %t330, 1
+ %t333 = select i1 %t331, i32 %t332, i32 %t330
+ store i32 %t333, ptr %t329, !tbaa !2
+ %t328 = sitofp i64 %t327 to double
+ br label %arr.push.join115
+arr.push.slow114:
+ %t335 = call double @scr_arr_push_f64(ptr %t305, double %t315) cold
+ br label %arr.push.join115
+arr.push.join115:
+ %t336 = phi double [ %t328, %arr.push.dense113 ], [ %t335, %arr.push.slow114 ]
+ br label %if.j107
+if.j107:
+ %t337 = load ptr, ptr %sc_l_ch_0
+ %t338 = getelementptr inbounds %ScrArr, ptr %t337, i32 0, i32 1
+ %t339 = load i64, ptr %t338, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t340 = sitofp i64 %t339 to double
+ br label %if.j105
+if.j105:
+ %t341 = load ptr, ptr %sc_l_child_0
+ %t343 = getelementptr inbounds %ScrUnion, ptr %t341, i64 0, i32 1
+ %t342 = load i32, ptr %t343
+ %t344 = getelementptr inbounds %ScrUnion, ptr %t341, i32 0, i32 5
+ %t345 = load i64, ptr %t344
+ store i32 %t342, ptr %s32
+ store i64 %t345, ptr %s33
+ %t346 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t346)
+ %t347 = load ptr, ptr %sc_l_child_0
+ call void @scr_union_release(ptr %t347)
+ %t348 = load ptr, ptr %sc_l_ch_0
+ call void @scr_arr_release(ptr %t348)
+ br label %loop.u18
+loop.u18:
+ %t349 = load i32, ptr %sc_l_i_0
+ %t350 = uitofp i32 %t349 to double
+ %t352 = zext i32 %t349 to i64
+ %t353 = add nsw i64 %t352, 1
+ %t355 = trunc i64 %t353 to i32
+ %t354 = sitofp i64 %t353 to double
+ %t356 = trunc i64 %t353 to i32
+ store i32 %t356, ptr %sc_l_i_0
+ br label %loop.c16
+loop.e15:
+ %t358 = load ptr, ptr %sc_l_nodes_0
+ %t359 = load ptr, ptr %sc_l_ni_0
+ %t362 = getelementptr inbounds %ScrUnion, ptr %t359, i64 0, i32 1
+ %t361 = load i32, ptr %t362
+ %t360 = icmp eq i32 %t361, 1
+ br i1 %t360, label %tern.t116, label %tern.f117
+tern.t116:
+ store double 0x7FF8000000000000, ptr %s363
+ br label %tern.j118
+tern.f117:
+ %t365 = load ptr, ptr %sc_l_ni_0
+ %t366 = getelementptr inbounds %ScrUnion, ptr %t365, i64 0, i32 5
+ %t367 = load double, ptr %t366
+ store double %t367, ptr %s363
+ br label %tern.j118
+tern.j118:
+ %t368 = load double, ptr %s363
+ %t369 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 2
+ %t370 = load i64, ptr %t369, !tbaa !2
+ %t371 = fptosi double %t368 to i64
+ %t372 = freeze i64 %t371
+ %t373 = sitofp i64 %t372 to double
+ %t374 = fcmp oeq double %t373, %t368
+ %t375 = icmp ult i64 %t372, %t370
+ %t376 = and i1 %t374, %t375
+ br i1 %t376, label %local.array.range122, label %local.array.slow119
+local.array.range122:
+ br label %local.array.dense123
+local.array.dense123:
+ %t377 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 6
+ %t378 = load i32, ptr %t377, !tbaa !2
+ %t380 = zext i32 %t378 to i64
+ %t379 = icmp ult i64 %t372, %t380
+ br i1 %t379, label %local.array.value125, label %local.array.len124
+local.array.len124:
+ %t381 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 1
+ %t382 = load i64, ptr %t381, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t383 = icmp ult i64 %t372, %t382
+ br i1 %t383, label %local.array.state126, label %local.array.missing120
+local.array.state126:
+ %t384 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 9
+ %t385 = load ptr, ptr %t384, !tbaa !2
+ %t386 = getelementptr inbounds i8, ptr %t385, i64 %t372
+ %t387 = load i8, ptr %t386, !tbaa !4
+ %t388 = icmp eq i8 %t387, 1
+ br i1 %t388, label %local.array.value125, label %local.array.missing120
+local.array.value125:
+ %t389 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 8
+ %t390 = load ptr, ptr %t389, !tbaa !2
+ %t391 = getelementptr inbounds i64, ptr %t390, i64 %t372
+ %t392 = load ptr, ptr %t391, !tbaa !6
+ store ptr %t392, ptr %s357
+ br label %local.array.join121
+local.array.slow119:
+ %t393 = call ptr @scr_arr_peek_ref(ptr %t358, double %t368)
+ %t394 = icmp ne ptr %t393, null
+ br i1 %t394, label %local.array.slow.value127, label %local.array.missing120
+local.array.slow.value127:
+ store ptr %t393, ptr %s357
+ br label %local.array.join121
+local.array.missing120:
+ store ptr null, ptr %s357
+ br label %local.array.join121
+local.array.join121:
+ %t395 = load ptr, ptr %s357
+ %t397 = icmp eq ptr %t395, null
+ %t396 = select i1 %t397, i32 1, i32 0
+ %t398 = icmp eq i32 %t396, 0
+ br i1 %t398, label %narrow.present128, label %narrow.other129
+narrow.other129:
+ call ptr @sc_bf__x25_union_narrow_7(ptr %t395)
+ %t399 = load i32, ptr %exc.cell
+ %t400 = icmp ne i32 %t399, 0
+ %t401 = call i1 @llvm.expect.i1(i1 %t400, i1 false)
+ br i1 %t401, label %exc.u130, label %exc.k131
+exc.u130:
+ br label %exc.cleanup34
+exc.k131:
+ unreachable
+narrow.present128:
+ %t402 = getelementptr inbounds %sc_rs_r5, ptr %t395, i64 0, i32 3
+ %t403 = load ptr, ptr %t402
+ %t404 = call ptr @scr_arr_retain_v(ptr %t403)
+ %t405 = load ptr, ptr %sc_l_m_0
+ %t406 = call ptr @sc_rc_retain_str(ptr %t405)
+ %t407 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 1
+ %t408 = load i64, ptr %t407, !tbaa !2
+ %t411 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 2
+ %t409 = load i64, ptr %t411, !tbaa !2
+ %t410 = icmp ult i64 %t408, %t409
+ br i1 %t410, label %arr.push.dense132, label %arr.push.slow133
+arr.push.dense132:
+ %t412 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 8
+ %t414 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 9
+ %t413 = load ptr, ptr %t412, !tbaa !2
+ %t415 = load ptr, ptr %t414, !tbaa !2
+ %t416 = getelementptr inbounds i8, ptr %t415, i64 %t408
+ %t417 = getelementptr inbounds i64, ptr %t413, i64 %t408
+ store ptr %t406, ptr %t417, !tbaa !6
+ store i8 1, ptr %t416, !tbaa !4
+ %t418 = add nuw i64 %t408, 1
+ store i64 %t418, ptr %t407, !tbaa !2
+ %t420 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 6
+ %t421 = load i32, ptr %t420, !tbaa !2
+ %t425 = zext i32 %t421 to i64
+ %t422 = icmp eq i64 %t425, %t408
+ %t423 = add i32 %t421, 1
+ %t424 = select i1 %t422, i32 %t423, i32 %t421
+ store i32 %t424, ptr %t420, !tbaa !2
+ %t419 = sitofp i64 %t418 to double
+ br label %arr.push.join134
+arr.push.slow133:
+ %t426 = call double @scr_arr_push_ref(ptr %t404, ptr %t406) cold
+ br label %arr.push.join134
+arr.push.join134:
+ %t427 = phi double [ %t419, %arr.push.dense132 ], [ %t426, %arr.push.slow133 ]
+ call void @scr_arr_release(ptr %t404)
+ %t429 = load ptr, ptr %sc_l_nodes_0
+ %t430 = load ptr, ptr %sc_l_ni_0
+ %t433 = getelementptr inbounds %ScrUnion, ptr %t430, i64 0, i32 1
+ %t432 = load i32, ptr %t433
+ %t431 = icmp eq i32 %t432, 1
+ br i1 %t431, label %tern.t135, label %tern.f136
+tern.t135:
+ store double 0x7FF8000000000000, ptr %s434
+ br label %tern.j137
+tern.f136:
+ %t436 = load ptr, ptr %sc_l_ni_0
+ %t437 = getelementptr inbounds %ScrUnion, ptr %t436, i64 0, i32 5
+ %t438 = load double, ptr %t437
+ store double %t438, ptr %s434
+ br label %tern.j137
+tern.j137:
+ %t439 = load double, ptr %s434
+ %t440 = getelementptr inbounds %ScrArr, ptr %t429, i32 0, i32 2
+ %t441 = load i64, ptr %t440, !tbaa !2
+ %t442 = fptosi double %t439 to i64
+ %t443 = freeze i64 %t442
+ %t444 = sitofp i64 %t443 to double
+ %t445 = fcmp oeq double %t444, %t439
+ %t446 = icmp ult i64 %t443, %t441
+ %t447 = and i1 %t445, %t446
+ br i1 %t447, label %local.array.range141, label %local.array.slow138
+local.array.range141:
+ br label %local.array.dense142
+local.array.dense142:
+ %t448 = getelementptr inbounds %ScrArr, ptr %t429, i32 0, i32 6
+ %t449 = load i32, ptr %t448, !tbaa !2
+ %t451 = zext i32 %t449 to i64
+ %t450 = icmp ult i64 %t443, %t451
+ br i1 %t450, label %local.array.value144, label %local.array.len143
+local.array.len143:
+ %t452 = getelementptr inbounds %ScrArr, ptr %t429, i32 0, i32 1
+ %t453 = load i64, ptr %t452, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t454 = icmp ult i64 %t443, %t453
+ br i1 %t454, label %local.array.state145, label %local.array.missing139
+local.array.state145:
+ %t455 = getelementptr inbounds %ScrArr, ptr %t429, i32 0, i32 9
+ %t456 = load ptr, ptr %t455, !tbaa !2
+ %t457 = getelementptr inbounds i8, ptr %t456, i64 %t443
+ %t458 = load i8, ptr %t457, !tbaa !4
+ %t459 = icmp eq i8 %t458, 1
+ br i1 %t459, label %local.array.value144, label %local.array.missing139
+local.array.value144:
+ %t460 = getelementptr inbounds %ScrArr, ptr %t429, i32 0, i32 8
+ %t461 = load ptr, ptr %t460, !tbaa !2
+ %t462 = getelementptr inbounds i64, ptr %t461, i64 %t443
+ %t463 = load ptr, ptr %t462, !tbaa !6
+ store ptr %t463, ptr %s428
+ br label %local.array.join140
+local.array.slow138:
+ %t464 = call ptr @scr_arr_peek_ref(ptr %t429, double %t439)
+ %t465 = icmp ne ptr %t464, null
+ br i1 %t465, label %local.array.slow.value146, label %local.array.missing139
+local.array.slow.value146:
+ store ptr %t464, ptr %s428
+ br label %local.array.join140
+local.array.missing139:
+ store ptr null, ptr %s428
+ br label %local.array.join140
+local.array.join140:
+ %t466 = load ptr, ptr %s428
+ %t468 = icmp eq ptr %t466, null
+ %t467 = select i1 %t468, i32 1, i32 0
+ %t469 = icmp eq i32 %t467, 0
+ br i1 %t469, label %narrow.present147, label %narrow.other148
+narrow.other148:
+ call ptr @sc_bf__x25_union_narrow_7(ptr %t466)
+ %t470 = load i32, ptr %exc.cell
+ %t471 = icmp ne i32 %t470, 0
+ %t472 = call i1 @llvm.expect.i1(i1 %t471, i1 false)
+ br i1 %t472, label %exc.u149, label %exc.k150
+exc.u149:
+ br label %exc.cleanup34
+exc.k150:
+ unreachable
+narrow.present147:
+ %t473 = getelementptr inbounds %sc_rs_r5, ptr %t466, i64 0, i32 2
+ %t474 = load ptr, ptr %t473
+ %t475 = call ptr @scr_arr_retain_v(ptr %t474)
+ %t476 = load double, ptr %sc_l_hIdx_0
+ %t477 = getelementptr inbounds %ScrArr, ptr %t475, i32 0, i32 1
+ %t478 = load i64, ptr %t477, !tbaa !2
+ %t481 = getelementptr inbounds %ScrArr, ptr %t475, i32 0, i32 2
+ %t479 = load i64, ptr %t481, !tbaa !2
+ %t480 = icmp ult i64 %t478, %t479
+ br i1 %t480, label %arr.push.dense151, label %arr.push.slow152
+arr.push.dense151:
+ %t482 = getelementptr inbounds %ScrArr, ptr %t475, i32 0, i32 8
+ %t484 = getelementptr inbounds %ScrArr, ptr %t475, i32 0, i32 9
+ %t483 = load ptr, ptr %t482, !tbaa !2
+ %t485 = load ptr, ptr %t484, !tbaa !2
+ %t486 = getelementptr inbounds i8, ptr %t485, i64 %t478
+ %t487 = getelementptr inbounds i64, ptr %t483, i64 %t478
+ store double %t476, ptr %t487, !tbaa !6
+ store i8 1, ptr %t486, !tbaa !4
+ %t488 = add nuw i64 %t478, 1
+ store i64 %t488, ptr %t477, !tbaa !2
+ %t490 = getelementptr inbounds %ScrArr, ptr %t475, i32 0, i32 6
+ %t491 = load i32, ptr %t490, !tbaa !2
+ %t495 = zext i32 %t491 to i64
+ %t492 = icmp eq i64 %t495, %t478
+ %t493 = add i32 %t491, 1
+ %t494 = select i1 %t492, i32 %t493, i32 %t491
+ store i32 %t494, ptr %t490, !tbaa !2
+ %t489 = sitofp i64 %t488 to double
+ br label %arr.push.join153
+arr.push.slow152:
+ %t496 = call double @scr_arr_push_f64(ptr %t475, double %t476) cold
+ br label %arr.push.join153
+arr.push.join153:
+ %t497 = phi double [ %t489, %arr.push.dense151 ], [ %t496, %arr.push.slow152 ]
+ call void @scr_arr_release(ptr %t475)
+ %t498 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t498)
+ %t499 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t499)
+ ret void
+exc.cleanup14:
+ %t500 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t500)
+ ret void
+exc.cleanup34:
+ %t501 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t501)
+ %t502 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t502)
+ ret void
+exc.cleanup42:
+ %t503 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t503)
+ %t504 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t504)
+ %t505 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t505)
+ ret void
+exc.cleanup65:
+ %t506 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t506)
+ %t507 = load ptr, ptr %sc_l_child_0
+ call void @scr_union_release(ptr %t507)
+ %t508 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t508)
+ %t509 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t509)
+ ret void
+exc.cleanup87:
+ %t510 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t510)
+ %t511 = load ptr, ptr %sc_l_child_0
+ call void @scr_union_release(ptr %t511)
+ %t512 = load ptr, ptr %sc_l_ch_0
+ call void @scr_arr_release(ptr %t512)
+ %t513 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t513)
+ %t514 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t514)
+ ret void
+}
+define internal void @sc_f__x25_m5_addRoute(ptr %p0, ptr %p1, ptr %p2, double %p3) #0 {
+entry:
+ call void @sc_bf__x25_m5_addRoute(ptr %p0, ptr %p1, ptr %p2, double %p3)
+ call void @scr_arr_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal double @sc_bf__x25_m5_segEndAt(ptr %p_sc_l_path_0, double %p_sc_l_pos_0, double %p_sc_l_len_0) #0 { ; %m5.segEndAt
+entry:
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_pos_0 = alloca double ; pos
+ %sc_l_len_0 = alloca i32 ; len
+ %sc_l_i_0 = alloca double ; i
+ %s23 = alloca i64 ; integer induction i
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store double %p_sc_l_pos_0, ptr %sc_l_pos_0
+ %t0 = fptosi double %p_sc_l_len_0 to i32
+ store i32 %t0, ptr %sc_l_len_0
+ %t1 = load double, ptr %sc_l_pos_0
+ %t2 = fcmp oge double %t1, 0xC33FFFFFFFFFFFFF
+ %t3 = fcmp ole double %t1, 0x433FFFFFFFFFFFFF
+ %t10 = and i1 %t2, %t3
+ %t4 = fptosi double %t1 to i64
+ %t5 = freeze i64 %t4
+ %t6 = sitofp i64 %t5 to double
+ %t7 = bitcast double %t1 to i64
+ %t8 = bitcast double %t6 to i64
+ %t9 = icmp eq i64 %t7, %t8
+ %t11 = and i1 %t10, %t9
+ br i1 %t11, label %counted.fast0, label %counted.slow1
+counted.slow1:
+ %t12 = load double, ptr %sc_l_pos_0
+ store double %t12, ptr %sc_l_i_0
+ br label %loop.c4
+loop.c4:
+ %t13 = load double, ptr %sc_l_i_0
+ %t14 = load i32, ptr %sc_l_len_0
+ %t15 = fcmp olt double %t13, %p_sc_l_len_0
+ br i1 %t15, label %loop.b5, label %loop.e3
+loop.b5:
+ %t16 = load ptr, ptr %sc_l_path_0
+ %t17 = load double, ptr %sc_l_i_0
+ %t18 = call double @sc_str_char_code_at(ptr %t16, double %t17)
+ %t19 = fcmp oeq double %t18, 0x4047800000000000
+ br i1 %t19, label %if.t7, label %if.j8
+if.t7:
+ %t20 = load double, ptr %sc_l_i_0
+ ret double %t20
+if.j8:
+ br label %loop.u6
+loop.u6:
+ %t21 = load double, ptr %sc_l_i_0
+ %t22 = fadd double %t21, 0x3FF0000000000000
+ store double %t22, ptr %sc_l_i_0
+ br label %loop.c4
+loop.e3:
+ br label %counted.done2
+counted.fast0:
+ %t24 = load double, ptr %sc_l_pos_0
+ %t25 = fptosi double %t24 to i64
+ store i64 %t25, ptr %s23
+ %t26 = load i32, ptr %sc_l_len_0
+ %t27 = fcmp oge double %p_sc_l_len_0, 0xC340000000000000
+ %t28 = select i1 %t27, double %p_sc_l_len_0, double 0xC340000000000000
+ %t29 = call double @llvm.ceil.f64(double %t28)
+ %t30 = fptosi double %t29 to i64
+ br label %loop.c10
+loop.c10:
+ %t31 = load i64, ptr %s23
+ %t32 = icmp slt i64 %t31, %t30
+ br i1 %t32, label %loop.b11, label %loop.e9
+loop.b11:
+ %t33 = load ptr, ptr %sc_l_path_0
+ %t34 = load i64, ptr %s23
+ %t35 = sitofp i64 %t34 to double
+ %t36 = trunc i64 %t34 to i32
+ %t37 = call double @sc_str_char_code_at_int(ptr %t33, i64 %t34)
+ %t38 = fcmp oeq double %t37, 0x4047800000000000
+ br i1 %t38, label %if.t13, label %if.j14
+if.t13:
+ %t39 = load i64, ptr %s23
+ %t40 = sitofp i64 %t39 to double
+ %t41 = trunc i64 %t39 to i32
+ ret double %t40
+if.j14:
+ br label %loop.u12
+loop.u12:
+ %t42 = load i64, ptr %s23
+ %t43 = add nsw i64 %t42, 1
+ store i64 %t43, ptr %s23
+ br label %loop.c10
+loop.e9:
+ br label %counted.done2
+counted.done2:
+ %t44 = load i32, ptr %sc_l_len_0
+ ret double %p_sc_l_len_0
+}
+define internal double @sc_f__x25_m5_segEndAt(ptr %p0, double %p1, double %p2) #0 {
+entry:
+ %result = call double @sc_bf__x25_m5_segEndAt(ptr %p0, double %p1, double %p2)
+ call void @scr_str_release(ptr %p0)
+ ret double %result
+}
+
+define internal i1 @sc_bf__x25_m5_segEq(ptr %p_sc_l_path_0, double %p_sc_l_pos_0, double %p_sc_l_end_0, ptr %p_sc_l_seg_0) #0 { ; %m5.segEq
+entry:
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_pos_0 = alloca double ; pos
+ %sc_l_end_0 = alloca double ; end
+ %sc_l_seg_0 = alloca ptr ; seg
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_i_0 = alloca i32 ; i
+ store ptr null, ptr %sc_l_s_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store double %p_sc_l_pos_0, ptr %sc_l_pos_0
+ store double %p_sc_l_end_0, ptr %sc_l_end_0
+ store ptr %p_sc_l_seg_0, ptr %sc_l_seg_0
+ %t0 = load ptr, ptr %sc_l_seg_0
+ store ptr %t0, ptr %sc_l_s_0
+ %t1 = load double, ptr %sc_l_end_0
+ %t2 = load double, ptr %sc_l_pos_0
+ %t3 = fsub double %t1, %t2
+ %t4 = load ptr, ptr %sc_l_s_0
+ %t5 = call double @sc_str_utf16_len(ptr %t4)
+ %t7 = fptosi double %t5 to i32
+ %t6 = fcmp une double %t3, %t5
+ br i1 %t6, label %if.t0, label %if.j1
+if.t0:
+ ret i1 false
+if.j1:
+ store i32 0, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t8 = load i32, ptr %sc_l_i_0
+ %t9 = sitofp i32 %t8 to double
+ %t10 = load ptr, ptr %sc_l_s_0
+ %t11 = call double @sc_str_utf16_len(ptr %t10)
+ %t13 = fptosi double %t11 to i32
+ %t14 = sext i32 %t8 to i64
+ %t15 = sext i32 %t13 to i64
+ %t12 = icmp slt i64 %t14, %t15
+ br i1 %t12, label %loop.b4, label %loop.e2
+loop.b4:
+ %t16 = load ptr, ptr %sc_l_path_0
+ %t17 = load double, ptr %sc_l_pos_0
+ %t18 = load i32, ptr %sc_l_i_0
+ %t19 = sitofp i32 %t18 to double
+ %t20 = fadd double %t17, %t19
+ %t21 = call double @sc_str_char_code_at(ptr %t16, double %t20)
+ %t22 = load ptr, ptr %sc_l_s_0
+ %t23 = load i32, ptr %sc_l_i_0
+ %t24 = sitofp i32 %t23 to double
+ %t26 = sext i32 %t23 to i64
+ %t25 = call double @sc_str_char_code_at_int(ptr %t22, i64 %t26)
+ %t27 = fcmp une double %t21, %t25
+ br i1 %t27, label %if.t6, label %if.j7
+if.t6:
+ ret i1 false
+if.j7:
+ br label %loop.u5
+loop.u5:
+ %t28 = load i32, ptr %sc_l_i_0
+ %t29 = sitofp i32 %t28 to double
+ %t32 = trunc i64 1 to i32
+ %t31 = add nsw i32 %t28, %t32
+ %t33 = sitofp i32 %t31 to double
+ store i32 %t31, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ ret i1 true
+}
+define internal i1 @sc_f__x25_m5_segEq(ptr %p0, double %p1, double %p2, ptr %p3) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_m5_segEq(ptr %p0, double %p1, double %p2, ptr %p3)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p3)
+ ret i1 %result
+}
+
+define internal ptr @sc_bf__x25_m5_matchPath(ptr %p_sc_l_nodes_0, ptr %p_sc_l_path_0) #0 { ; %m5.matchPath
+entry:
+ %sc_l_nodes_0 = alloca ptr ; nodes
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_len_0 = alloca i32 ; len
+ %sc_l_node_0 = alloca ptr ; node
+ %sc_l_pos_0 = alloca double ; pos
+ %sc_l_dive_0 = alloca i1 ; dive
+ %sc_l_end_0 = alloca double ; end
+ %sc_l_ch_0 = alloca ptr ; ch
+ %sc_l_next_0 = alloca ptr ; next
+ %sc_l_alt_0 = alloca i1 ; alt
+ %sc_l_k_0 = alloca i32 ; k
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_stack_0 = alloca ptr ; stack
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l__x25_popArray_0 = alloca ptr ; %popArray
+ %sc_l__x25_popLength_0 = alloca i32 ; %popLength
+ %sc_l_fnode_0 = alloca ptr ; fnode
+ %sc_l_fpos_0 = alloca double ; fpos
+ %sc_l_end_1 = alloca double ; end
+ %sc_l_ch_1 = alloca ptr ; ch
+ %sc_l_k_1 = alloca double ; k
+ %sc_l_c_1 = alloca ptr ; c
+ %sc_l_k_2 = alloca double ; k
+ %sc_l_c_2 = alloca ptr ; c
+ %sc_l_k_3 = alloca double ; k
+ %sc_l_c_3 = alloca ptr ; c
+ %s22 = alloca ptr
+ %s28 = alloca %ScrUnion
+ %s29 = getelementptr inbounds %ScrUnion, ptr %s28, i32 0, i32 1
+ %s30 = getelementptr inbounds %ScrUnion, ptr %s28, i32 0, i32 5
+ %s31 = alloca %ScrUnion
+ %s32 = getelementptr inbounds %ScrUnion, ptr %s31, i32 0, i32 1
+ %s33 = getelementptr inbounds %ScrUnion, ptr %s31, i32 0, i32 5
+ %s38 = alloca i64 ; integer induction k
+ %s101 = alloca ptr
+ %s114 = alloca ptr
+ %s120 = alloca %ScrUnion
+ %s121 = getelementptr inbounds %ScrUnion, ptr %s120, i32 0, i32 5
+ %s122 = getelementptr inbounds %ScrUnion, ptr %s120, i32 0, i32 1
+ %s154 = alloca i1
+ %s159 = alloca double
+ %s160 = alloca i32
+ %s172 = alloca double
+ %s173 = alloca i32
+ %s191 = alloca i1
+ %s195 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s319 = alloca ptr
+ %s327 = alloca ptr
+ %s425 = alloca ptr
+ %s538 = alloca ptr
+ %s646 = alloca ptr
+ %s652 = alloca i1
+ %s659 = alloca ptr
+ store ptr null, ptr %sc_l_p_0
+ store ptr null, ptr %sc_l_node_0
+ store ptr null, ptr %sc_l_ch_0
+ store ptr null, ptr %sc_l_next_0
+ store ptr null, ptr %sc_l_c_0
+ store ptr null, ptr %sc_l_stack_0
+ store ptr null, ptr %sc_l_f_0
+ store ptr null, ptr %sc_l__x25_popArray_0
+ store ptr null, ptr %sc_l_fnode_0
+ store ptr null, ptr %sc_l_ch_1
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %sc_l_c_2
+ store ptr null, ptr %sc_l_c_3
+ store ptr %p_sc_l_nodes_0, ptr %sc_l_nodes_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ %t0 = load ptr, ptr %sc_l_path_0
+ store ptr %t0, ptr %sc_l_p_0
+ %t1 = load ptr, ptr %sc_l_p_0
+ %t2 = call double @sc_str_utf16_len(ptr %t1)
+ %t3 = fptosi double %t2 to i32
+ store i32 %t3, ptr %sc_l_len_0
+ %t4 = load ptr, ptr %sc_l_nodes_0
+ %t5 = call ptr @sc_bf__x25_arr_idxOr_11(ptr %t4, double 0x0000000000000000)
+ store ptr %t5, ptr %sc_l_node_0
+ store double 0x3FF0000000000000, ptr %sc_l_pos_0
+ %t6 = load double, ptr %sc_l_pos_0
+ %t7 = load i32, ptr %sc_l_len_0
+ %t8 = sitofp i32 %t7 to double
+ %t10 = fptosi double %t6 to i32
+ %t11 = sext i32 %t10 to i64
+ %t12 = sext i32 %t7 to i64
+ %t9 = icmp sle i64 %t11, %t12
+ store i1 %t9, ptr %sc_l_dive_0
+ br label %loop.c1
+loop.c1:
+ %t13 = load i1, ptr %sc_l_dive_0
+ br i1 %t13, label %loop.b2, label %loop.e0
+loop.b2:
+ %t14 = load ptr, ptr %sc_l_p_0
+ %t15 = load double, ptr %sc_l_pos_0
+ %t16 = load i32, ptr %sc_l_len_0
+ %t17 = sitofp i32 %t16 to double
+ %t18 = call double @sc_bf__x25_m5_segEndAt(ptr %t14, double %t15, double %t17)
+ store double %t18, ptr %sc_l_end_0
+ %t19 = load ptr, ptr %sc_l_node_0
+ %t21 = icmp eq ptr %t19, null
+ br i1 %t21, label %read.then3, label %read.else4
+read.then3:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2399462614592355)
+ br label %exc.cleanup6
+exc.dead7:
+ store ptr null, ptr %s22
+ br label %read.join5
+read.else4:
+ %t23 = load ptr, ptr %sc_l_node_0
+ store ptr %t23, ptr %s22
+ br label %read.join5
+read.join5:
+ %t24 = load ptr, ptr %s22
+ %t25 = getelementptr inbounds %sc_rs_r5, ptr %t24, i64 0, i32 1
+ %t26 = load ptr, ptr %t25
+ %t27 = call ptr @scr_arr_retain_v(ptr %t26)
+ store ptr %t27, ptr %sc_l_ch_0
+ store double 0xBFF0000000000000, ptr %s33
+ store i32 0, ptr %s32
+ %t35 = getelementptr inbounds %ScrUnion, ptr %s31, i64 0, i32 1
+ %t34 = load i32, ptr %t35
+ %t36 = getelementptr inbounds %ScrUnion, ptr %s31, i32 0, i32 5
+ %t37 = load i64, ptr %t36
+ store i32 %t34, ptr %s29
+ store i64 %t37, ptr %s30
+ store ptr %s28, ptr %sc_l_next_0
+ store i1 false, ptr %sc_l_alt_0
+ %t39 = fptosi double 0x0000000000000000 to i64
+ store i64 %t39, ptr %s38
+ br label %loop.c9
+loop.c9:
+ %t40 = load ptr, ptr %sc_l_ch_0
+ %t41 = getelementptr inbounds %ScrArr, ptr %t40, i64 0, i32 1
+ %t42 = load i64, ptr %t41, !tbaa !2
+ %t43 = load i64, ptr %s38
+ %t44 = icmp ult i64 %t43, %t42
+ br i1 %t44, label %loop.b10, label %loop.e8
+loop.b10:
+ %t45 = load ptr, ptr %sc_l_nodes_0
+ %t46 = load ptr, ptr %sc_l_ch_0
+ %t47 = load i64, ptr %s38
+ %t48 = sitofp i64 %t47 to double
+ %t49 = trunc i64 %t47 to i32
+ %t54 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 8
+ %t55 = load ptr, ptr %t54, !tbaa !2
+ %t50 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 1
+ %t51 = load i64, ptr %t50, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t52 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 2
+ %t53 = load i64, ptr %t52, !tbaa !2
+ %t56 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 9
+ %t57 = load ptr, ptr %t56, !tbaa !2
+ %t58 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 6
+ %t59 = load i32, ptr %t58, !tbaa !2
+ %t60 = zext i32 %t59 to i64
+ %t61 = icmp ult i64 %t47, %t60
+ br i1 %t61, label %arr.get.value14, label %arr.check15
+arr.check15:
+ %t62 = icmp ult i64 %t47, %t53
+ %t63 = icmp ult i64 %t47, %t51
+ %t64 = and i1 %t62, %t63
+ br i1 %t64, label %arr.dense16, label %arr.get.slow12
+arr.dense16:
+ %t65 = getelementptr inbounds i8, ptr %t57, i64 %t47
+ %t66 = load i8, ptr %t65, !tbaa !4
+ %t67 = icmp eq i8 %t66, 1
+ br i1 %t67, label %arr.get.value14, label %arr.get.slow12
+arr.get.value14:
+ %t68 = getelementptr inbounds i64, ptr %t55, i64 %t47
+ %t69 = load double, ptr %t68, !tbaa !6
+ br label %arr.get.join13
+arr.get.slow12:
+ %t70 = call double @scr_arr_get_number(ptr %t46, double %t48) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.get.join13
+arr.get.join13:
+ %t71 = phi double [ %t69, %arr.get.value14 ], [ %t70, %arr.get.slow12 ]
+ %t72 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 2
+ %t73 = load i64, ptr %t72, !tbaa !2
+ %t74 = fptosi double %t71 to i64
+ %t75 = freeze i64 %t74
+ %t76 = sitofp i64 %t75 to double
+ %t77 = fcmp oeq double %t76, %t71
+ %t78 = icmp ult i64 %t75, %t73
+ %t79 = and i1 %t77, %t78
+ br i1 %t79, label %local.array.range20, label %local.array.slow17
+local.array.range20:
+ br label %local.array.dense21
+local.array.dense21:
+ %t80 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 6
+ %t81 = load i32, ptr %t80, !tbaa !2
+ %t83 = zext i32 %t81 to i64
+ %t82 = icmp ult i64 %t75, %t83
+ br i1 %t82, label %local.array.value23, label %local.array.len22
+local.array.len22:
+ %t84 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 1
+ %t85 = load i64, ptr %t84, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t86 = icmp ult i64 %t75, %t85
+ br i1 %t86, label %local.array.state24, label %local.array.missing18
+local.array.state24:
+ %t87 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 9
+ %t88 = load ptr, ptr %t87, !tbaa !2
+ %t89 = getelementptr inbounds i8, ptr %t88, i64 %t75
+ %t90 = load i8, ptr %t89, !tbaa !4
+ %t91 = icmp eq i8 %t90, 1
+ br i1 %t91, label %local.array.value23, label %local.array.missing18
+local.array.value23:
+ %t92 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 8
+ %t93 = load ptr, ptr %t92, !tbaa !2
+ %t94 = getelementptr inbounds i64, ptr %t93, i64 %t75
+ %t95 = load ptr, ptr %t94, !tbaa !6
+ store ptr %t95, ptr %sc_l_c_0
+ br label %local.array.join19
+local.array.slow17:
+ %t96 = call ptr @scr_arr_peek_ref(ptr %t45, double %t71)
+ %t97 = icmp ne ptr %t96, null
+ br i1 %t97, label %local.array.slow.value25, label %local.array.missing18
+local.array.slow.value25:
+ store ptr %t96, ptr %sc_l_c_0
+ br label %local.array.join19
+local.array.missing18:
+ store ptr null, ptr %sc_l_c_0
+ br label %local.array.join19
+local.array.join19:
+ %t98 = load ptr, ptr %sc_l_c_0
+ %t100 = icmp eq ptr %t98, null
+ br i1 %t100, label %read.then26, label %read.else27
+read.then26:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209)
+ br label %exc.cleanup29
+exc.dead30:
+ store ptr null, ptr %s101
+ br label %read.join28
+read.else27:
+ %t102 = load ptr, ptr %sc_l_c_0
+ store ptr %t102, ptr %s101
+ br label %read.join28
+read.join28:
+ %t103 = load ptr, ptr %s101
+ %t104 = getelementptr inbounds %sc_rs_r5, ptr %t103, i64 0, i32 4
+ %t105 = load double, ptr %t104
+ %t106 = fcmp oeq double %t105, 0x0000000000000000
+ br i1 %t106, label %if.t31, label %if.f33
+if.t31:
+ %t107 = load ptr, ptr %sc_l_p_0
+ %t108 = load double, ptr %sc_l_pos_0
+ %t109 = load double, ptr %sc_l_end_0
+ %t110 = load ptr, ptr %sc_l_c_0
+ %t111 = getelementptr inbounds %sc_rs_r5, ptr %t110, i64 0, i32 5
+ %t112 = load ptr, ptr %t111
+ %t113 = call i1 @sc_bf__x25_m5_segEq(ptr %t107, double %t108, double %t109, ptr %t112)
+ br i1 %t113, label %if.t34, label %if.j35
+if.t34:
+ %t115 = load ptr, ptr %sc_l_ch_0
+ %t116 = load i64, ptr %s38
+ %t117 = load i64, ptr %s38
+ %t118 = sitofp i64 %t117 to double
+ %t119 = trunc i64 %t117 to i32
+ %t123 = getelementptr inbounds %ScrArr, ptr %t115, i32 0, i32 2
+ %t124 = load i64, ptr %t123, !tbaa !2
+ %t125 = icmp ult i64 %t116, %t124
+ br i1 %t125, label %local.array.range39, label %local.array.slow36
+local.array.range39:
+ br label %local.array.dense40
+local.array.dense40:
+ %t126 = getelementptr inbounds %ScrArr, ptr %t115, i32 0, i32 6
+ %t127 = load i32, ptr %t126, !tbaa !2
+ %t129 = zext i32 %t127 to i64
+ %t128 = icmp ult i64 %t116, %t129
+ br i1 %t128, label %local.array.value42, label %local.array.len41
+local.array.len41:
+ %t130 = getelementptr inbounds %ScrArr, ptr %t115, i32 0, i32 1
+ %t131 = load i64, ptr %t130, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t132 = icmp ult i64 %t116, %t131
+ br i1 %t132, label %local.array.state43, label %local.array.missing37
+local.array.state43:
+ %t133 = getelementptr inbounds %ScrArr, ptr %t115, i32 0, i32 9
+ %t134 = load ptr, ptr %t133, !tbaa !2
+ %t135 = getelementptr inbounds i8, ptr %t134, i64 %t116
+ %t136 = load i8, ptr %t135, !tbaa !4
+ %t137 = icmp eq i8 %t136, 1
+ br i1 %t137, label %local.array.value42, label %local.array.missing37
+local.array.value42:
+ %t138 = getelementptr inbounds %ScrArr, ptr %t115, i32 0, i32 8
+ %t139 = load ptr, ptr %t138, !tbaa !2
+ %t140 = getelementptr inbounds i64, ptr %t139, i64 %t116
+ %t141 = load i64, ptr %t140, !tbaa !6
+ store i64 %t141, ptr %s121
+ store i32 0, ptr %s122
+ br label %local.array.join38
+local.array.slow36:
+ %t142 = call double @scr_arr_state(ptr %t115, double %t118) cold memory(read, inaccessiblemem: readwrite)
+ %t143 = fcmp oeq double %t142, 1.0
+ br i1 %t143, label %local.array.slow.value44, label %local.array.missing37
+local.array.slow.value44:
+ %t144 = call double @scr_arr_get_f64(ptr %t115, double %t118) cold memory(read, inaccessiblemem: readwrite)
+ %t145 = bitcast double %t144 to i64
+ store i64 %t145, ptr %s121
+ store i32 0, ptr %s122
+ br label %local.array.join38
+local.array.missing37:
+ store i64 0, ptr %s121
+ store i32 1, ptr %s122
+ br label %local.array.join38
+local.array.join38:
+ store ptr %s120, ptr %s114
+ %t146 = load ptr, ptr %s114
+ %t148 = getelementptr inbounds %ScrUnion, ptr %t146, i64 0, i32 1
+ %t147 = load i32, ptr %t148
+ %t149 = getelementptr inbounds %ScrUnion, ptr %t146, i32 0, i32 5
+ %t150 = load i64, ptr %t149
+ store i32 %t147, ptr %s29
+ store i64 %t150, ptr %s30
+ br label %if.j35
+if.j35:
+ br label %if.j32
+if.f33:
+ store i1 true, ptr %sc_l_alt_0
+ br label %if.j32
+if.j32:
+ br label %loop.u11
+loop.u11:
+ %t151 = load i64, ptr %s38
+ %t152 = add nuw i64 %t151, 1
+ store i64 %t152, ptr %s38
+ br label %loop.c9
+loop.e8:
+ %t153 = load i1, ptr %sc_l_alt_0
+ store i1 %t153, ptr %s154
+ br i1 %t153, label %log.j46, label %log.r45
+log.r45:
+ %t155 = load ptr, ptr %sc_l_next_0
+ %t158 = getelementptr inbounds %ScrUnion, ptr %t155, i64 0, i32 1
+ %t157 = load i32, ptr %t158
+ %t156 = icmp eq i32 %t157, 1
+ br i1 %t156, label %tern.t47, label %tern.f48
+tern.t47:
+ store double 0x7FF8000000000000, ptr %s159
+ br label %tern.j49
+tern.f48:
+ %t161 = load ptr, ptr %sc_l_next_0
+ %t162 = getelementptr inbounds %ScrUnion, ptr %t161, i64 0, i32 5
+ %t163 = load double, ptr %t162
+ store double %t163, ptr %s159
+ br label %tern.j49
+tern.j49:
+ %t164 = load double, ptr %s159
+ %t165 = fcmp olt double %t164, 0x0000000000000000
+ store i1 %t165, ptr %s154
+ br label %log.j46
+log.j46:
+ %t166 = load i1, ptr %s154
+ br i1 %t166, label %if.t50, label %if.f52
+if.t50:
+ store i1 false, ptr %sc_l_dive_0
+ br label %if.j51
+if.f52:
+ %t167 = load ptr, ptr %sc_l_nodes_0
+ %t168 = load ptr, ptr %sc_l_next_0
+ %t171 = getelementptr inbounds %ScrUnion, ptr %t168, i64 0, i32 1
+ %t170 = load i32, ptr %t171
+ %t169 = icmp eq i32 %t170, 1
+ br i1 %t169, label %tern.t53, label %tern.f54
+tern.t53:
+ store double 0x7FF8000000000000, ptr %s172
+ br label %tern.j55
+tern.f54:
+ %t174 = load ptr, ptr %sc_l_next_0
+ %t175 = getelementptr inbounds %ScrUnion, ptr %t174, i64 0, i32 5
+ %t176 = load double, ptr %t175
+ store double %t176, ptr %s172
+ br label %tern.j55
+tern.j55:
+ %t177 = load double, ptr %s172
+ %t178 = call ptr @sc_bf__x25_arr_idxOr_11(ptr %t167, double %t177)
+ %t179 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t179)
+ store ptr %t178, ptr %sc_l_node_0
+ %t180 = load double, ptr %sc_l_end_0
+ %t181 = fadd double %t180, 0x3FF0000000000000
+ store double %t181, ptr %sc_l_pos_0
+ %t182 = load double, ptr %sc_l_pos_0
+ %t183 = load i32, ptr %sc_l_len_0
+ %t184 = sitofp i32 %t183 to double
+ %t185 = fcmp ole double %t182, %t184
+ store i1 %t185, ptr %sc_l_dive_0
+ br label %if.j51
+if.j51:
+ %t186 = load ptr, ptr %sc_l_ch_0
+ call void @scr_arr_release(ptr %t186)
+ br label %loop.c1
+loop.e0:
+ %t187 = load double, ptr %sc_l_pos_0
+ %t188 = load i32, ptr %sc_l_len_0
+ %t189 = sitofp i32 %t188 to double
+ %t190 = fcmp ogt double %t187, %t189
+ store i1 %t190, ptr %s191
+ br i1 %t190, label %log.r56, label %log.j57
+log.r56:
+ %t192 = load ptr, ptr %sc_l_node_0
+ %t194 = icmp eq ptr %t192, null
+ br i1 %t194, label %read.then58, label %read.else59
+read.then58:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2156830633837320)
+ br label %exc.cleanup6
+exc.dead61:
+ store ptr null, ptr %s195
+ br label %read.join60
+read.else59:
+ %t196 = load ptr, ptr %sc_l_node_0
+ store ptr %t196, ptr %s195
+ br label %read.join60
+read.join60:
+ %t197 = load ptr, ptr %s195
+ %t198 = getelementptr inbounds %sc_rs_r5, ptr %t197, i64 0, i32 2
+ %t199 = load ptr, ptr %t198
+ %t200 = getelementptr inbounds %ScrArr, ptr %t199, i32 0, i32 1
+ %t201 = load i64, ptr %t200, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t202 = sitofp i64 %t201 to double
+ %t204 = fptosi double %t202 to i64
+ %t203 = icmp sgt i64 %t204, 0
+ store i1 %t203, ptr %s191
+ br label %log.j57
+log.j57:
+ %t205 = load i1, ptr %s191
+ br i1 %t205, label %if.t62, label %if.j63
+if.t62:
+ %t206 = load ptr, ptr %sc_l_node_0
+ %t207 = call ptr @sc_bf__x25_union_retag_7(ptr %t206)
+ %t208 = load i32, ptr %exc.cell
+ %t209 = icmp ne i32 %t208, 0
+ %t210 = call i1 @llvm.expect.i1(i1 %t209, i1 false)
+ br i1 %t210, label %exc.u64, label %exc.k65
+exc.u64:
+ br label %exc.cleanup6
+exc.k65:
+ %t211 = call ptr @sc_rretain_r5(ptr %t207)
+ %t212 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t212)
+ ret ptr %t211
+if.j63:
+ %t213 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.sc_rretain_r16.sc_rrelease_r16.null)
+ store ptr %t213, ptr %sc_l_stack_0
+ %t214 = load ptr, ptr %sc_l_stack_0
+ %t215 = call ptr @sc_rnew_r31()
+ %t216 = load ptr, ptr %sc_l_node_0
+ %t217 = call ptr @sc_rretain_r5(ptr %t216)
+ %t218 = getelementptr inbounds %sc_rs_r31, ptr %t215, i64 0, i32 1
+ store ptr %t217, ptr %t218
+ %t219 = load double, ptr %sc_l_pos_0
+ %t220 = getelementptr inbounds %sc_rs_r31, ptr %t215, i64 0, i32 2
+ store double %t219, ptr %t220
+ %t221 = call ptr @sc_bf__x25_rec_width_3(ptr %t215)
+ %t222 = load i32, ptr %exc.cell
+ %t223 = icmp ne i32 %t222, 0
+ %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false)
+ br i1 %t224, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rrelease_r31(ptr %t215)
+ call void @sc_rrelease_r16(ptr %t221)
+ br label %exc.cleanup68
+exc.k67:
+ call void @sc_rrelease_r31(ptr %t215)
+ %t225 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 1
+ %t226 = load i64, ptr %t225, !tbaa !2
+ %t229 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 2
+ %t227 = load i64, ptr %t229, !tbaa !2
+ %t228 = icmp ult i64 %t226, %t227
+ br i1 %t228, label %arr.push.dense69, label %arr.push.slow70
+arr.push.dense69:
+ %t230 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 8
+ %t232 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 9
+ %t231 = load ptr, ptr %t230, !tbaa !2
+ %t233 = load ptr, ptr %t232, !tbaa !2
+ %t234 = getelementptr inbounds i8, ptr %t233, i64 %t226
+ %t235 = getelementptr inbounds i64, ptr %t231, i64 %t226
+ store ptr %t221, ptr %t235, !tbaa !6
+ store i8 1, ptr %t234, !tbaa !4
+ %t236 = add nuw i64 %t226, 1
+ store i64 %t236, ptr %t225, !tbaa !2
+ %t238 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 6
+ %t239 = load i32, ptr %t238, !tbaa !2
+ %t243 = zext i32 %t239 to i64
+ %t240 = icmp eq i64 %t243, %t226
+ %t241 = add i32 %t239, 1
+ %t242 = select i1 %t240, i32 %t241, i32 %t239
+ store i32 %t242, ptr %t238, !tbaa !2
+ %t237 = sitofp i64 %t236 to double
+ br label %arr.push.join71
+arr.push.slow70:
+ %t244 = call double @scr_arr_push_ref(ptr %t214, ptr %t221) cold
+ br label %arr.push.join71
+arr.push.join71:
+ %t245 = phi double [ %t237, %arr.push.dense69 ], [ %t244, %arr.push.slow70 ]
+ br label %loop.c73
+loop.c73:
+ %t246 = load ptr, ptr %sc_l_stack_0
+ %t247 = getelementptr inbounds %ScrArr, ptr %t246, i32 0, i32 1
+ %t248 = load i64, ptr %t247, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t249 = sitofp i64 %t248 to double
+ %t251 = fptosi double %t249 to i64
+ %t250 = icmp sgt i64 %t251, 0
+ br i1 %t250, label %loop.b74, label %loop.e72
+loop.b74:
+ %t252 = load ptr, ptr %sc_l_stack_0
+ %t253 = load ptr, ptr %sc_l_stack_0
+ %t254 = getelementptr inbounds %ScrArr, ptr %t253, i32 0, i32 1
+ %t255 = load i64, ptr %t254, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t256 = sitofp i64 %t255 to double
+ %t258 = fptosi double %t256 to i64
+ %t259 = sub nsw i64 %t258, 1
+ %t261 = trunc i64 %t259 to i32
+ %t260 = sitofp i64 %t259 to double
+ %t262 = getelementptr inbounds %ScrArr, ptr %t252, i32 0, i32 2
+ %t263 = load i64, ptr %t262, !tbaa !2
+ %t264 = fptosi double %t260 to i64
+ %t265 = freeze i64 %t264
+ %t266 = sitofp i64 %t265 to double
+ %t267 = fcmp oeq double %t266, %t260
+ %t268 = icmp ult i64 %t265, %t263
+ %t269 = and i1 %t267, %t268
+ br i1 %t269, label %local.array.range78, label %local.array.slow75
+local.array.range78:
+ br label %local.array.dense79
+local.array.dense79:
+ %t270 = getelementptr inbounds %ScrArr, ptr %t252, i32 0, i32 6
+ %t271 = load i32, ptr %t270, !tbaa !2
+ %t273 = zext i32 %t271 to i64
+ %t272 = icmp ult i64 %t265, %t273
+ br i1 %t272, label %local.array.value81, label %local.array.len80
+local.array.len80:
+ %t274 = getelementptr inbounds %ScrArr, ptr %t252, i32 0, i32 1
+ %t275 = load i64, ptr %t274, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t276 = icmp ult i64 %t265, %t275
+ br i1 %t276, label %local.array.state82, label %local.array.missing76
+local.array.state82:
+ %t277 = getelementptr inbounds %ScrArr, ptr %t252, i32 0, i32 9
+ %t278 = load ptr, ptr %t277, !tbaa !2
+ %t279 = getelementptr inbounds i8, ptr %t278, i64 %t265
+ %t280 = load i8, ptr %t279, !tbaa !4
+ %t281 = icmp eq i8 %t280, 1
+ br i1 %t281, label %local.array.value81, label %local.array.missing76
+local.array.value81:
+ %t282 = getelementptr inbounds %ScrArr, ptr %t252, i32 0, i32 8
+ %t283 = load ptr, ptr %t282, !tbaa !2
+ %t284 = getelementptr inbounds i64, ptr %t283, i64 %t265
+ %t285 = load ptr, ptr %t284, !tbaa !6
+ %t286 = call ptr @sc_rretain_r16(ptr %t285)
+ store ptr %t286, ptr %sc_l_f_0
+ br label %local.array.join77
+local.array.slow75:
+ %t287 = call ptr @scr_arr_peek_ref(ptr %t252, double %t260)
+ %t288 = icmp ne ptr %t287, null
+ br i1 %t288, label %local.array.slow.value83, label %local.array.missing76
+local.array.slow.value83:
+ %t289 = call ptr @sc_rretain_r16(ptr %t287)
+ store ptr %t289, ptr %sc_l_f_0
+ br label %local.array.join77
+local.array.missing76:
+ store ptr null, ptr %sc_l_f_0
+ br label %local.array.join77
+local.array.join77:
+ %t290 = load ptr, ptr %sc_l_stack_0
+ store ptr %t290, ptr %sc_l__x25_popArray_0
+ %t291 = load ptr, ptr %sc_l__x25_popArray_0
+ %t292 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 1
+ %t293 = load i64, ptr %t292, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t294 = sitofp i64 %t293 to double
+ %t295 = fptosi double %t294 to i64
+ %t296 = trunc i64 %t295 to i32
+ store i32 %t296, ptr %sc_l__x25_popLength_0
+ %t297 = load i32, ptr %sc_l__x25_popLength_0
+ %t298 = uitofp i32 %t297 to double
+ %t300 = zext i32 %t297 to i64
+ %t299 = icmp sgt i64 %t300, 0
+ br i1 %t299, label %if.t84, label %if.f86
+if.t84:
+ %t301 = load ptr, ptr %sc_l__x25_popArray_0
+ %t302 = load i32, ptr %sc_l__x25_popLength_0
+ %t303 = uitofp i32 %t302 to double
+ %t305 = zext i32 %t302 to i64
+ %t306 = sub nsw i64 %t305, 1
+ %t308 = trunc i64 %t306 to i32
+ %t307 = sitofp i64 %t306 to double
+ %t309 = getelementptr inbounds %ScrArr, ptr %t301, i32 0, i32 1
+ %t310 = load i64, ptr %t309, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t311 = sitofp i64 %t310 to double
+ %t312 = fcmp oeq double %t307, %t311
+ br i1 %t312, label %arr.len.done88, label %arr.len.set87
+arr.len.set87:
+ call void @scr_arr_set_len(ptr %t301, double %t307)
+ %t313 = load i32, ptr %exc.cell
+ %t314 = icmp ne i32 %t313, 0
+ %t315 = call i1 @llvm.expect.i1(i1 %t314, i1 false)
+ br i1 %t315, label %exc.u89, label %exc.k90
+exc.u89:
+ br label %exc.cleanup91
+exc.k90:
+ br label %arr.len.done88
+arr.len.done88:
+ br label %if.j85
+if.f86:
+ br label %if.j85
+if.j85:
+ %t316 = load ptr, ptr %sc_l_f_0
+ %t318 = icmp eq ptr %t316, null
+ br i1 %t318, label %read.then92, label %read.else93
+read.then92:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1390182173853979)
+ br label %exc.cleanup91
+exc.dead95:
+ store ptr null, ptr %s319
+ br label %read.join94
+read.else93:
+ %t320 = load ptr, ptr %sc_l_f_0
+ store ptr %t320, ptr %s319
+ br label %read.join94
+read.join94:
+ %t321 = load ptr, ptr %s319
+ %t322 = getelementptr inbounds %sc_rs_r16, ptr %t321, i64 0, i32 1
+ %t323 = load ptr, ptr %t322
+ store ptr %t323, ptr %sc_l_fnode_0
+ %t324 = load ptr, ptr %sc_l_f_0
+ %t326 = icmp eq ptr %t324, null
+ br i1 %t326, label %read.then96, label %read.else97
+read.then96:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1639075665038257)
+ br label %exc.cleanup91
+exc.dead99:
+ store ptr null, ptr %s327
+ br label %read.join98
+read.else97:
+ %t328 = load ptr, ptr %sc_l_f_0
+ store ptr %t328, ptr %s327
+ br label %read.join98
+read.join98:
+ %t329 = load ptr, ptr %s327
+ %t330 = getelementptr inbounds %sc_rs_r16, ptr %t329, i64 0, i32 2
+ %t331 = load double, ptr %t330
+ store double %t331, ptr %sc_l_fpos_0
+ %t332 = load double, ptr %sc_l_fpos_0
+ %t333 = load i32, ptr %sc_l_len_0
+ %t334 = sitofp i32 %t333 to double
+ %t335 = fcmp ogt double %t332, %t334
+ br i1 %t335, label %if.t100, label %if.j101
+if.t100:
+ %t336 = load ptr, ptr %sc_l_fnode_0
+ %t337 = getelementptr inbounds %sc_rs_r5, ptr %t336, i64 0, i32 2
+ %t338 = load ptr, ptr %t337
+ %t339 = getelementptr inbounds %ScrArr, ptr %t338, i32 0, i32 1
+ %t340 = load i64, ptr %t339, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t341 = sitofp i64 %t340 to double
+ %t343 = fptosi double %t341 to i64
+ %t342 = icmp sgt i64 %t343, 0
+ br i1 %t342, label %if.t102, label %if.j103
+if.t102:
+ %t344 = load ptr, ptr %sc_l_fnode_0
+ %t345 = call ptr @sc_rretain_r5(ptr %t344)
+ %t346 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r16(ptr %t346)
+ %t347 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t347)
+ %t348 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t348)
+ ret ptr %t345
+if.j103:
+ %t349 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r16(ptr %t349)
+ br label %loop.c73
+if.j101:
+ %t350 = load ptr, ptr %sc_l_p_0
+ %t351 = load double, ptr %sc_l_fpos_0
+ %t352 = load i32, ptr %sc_l_len_0
+ %t353 = sitofp i32 %t352 to double
+ %t354 = call double @sc_bf__x25_m5_segEndAt(ptr %t350, double %t351, double %t353)
+ store double %t354, ptr %sc_l_end_1
+ %t355 = load ptr, ptr %sc_l_fnode_0
+ %t356 = getelementptr inbounds %sc_rs_r5, ptr %t355, i64 0, i32 1
+ %t357 = load ptr, ptr %t356
+ store ptr %t357, ptr %sc_l_ch_1
+ %t358 = load ptr, ptr %sc_l_ch_1
+ %t359 = getelementptr inbounds %ScrArr, ptr %t358, i32 0, i32 1
+ %t360 = load i64, ptr %t359, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t361 = sitofp i64 %t360 to double
+ %t363 = fptosi double %t361 to i64
+ %t364 = sub nsw i64 %t363, 1
+ %t366 = trunc i64 %t364 to i32
+ %t365 = sitofp i64 %t364 to double
+ store double %t365, ptr %sc_l_k_1
+ br label %loop.c105
+loop.c105:
+ %t367 = load double, ptr %sc_l_k_1
+ %t369 = fptosi double %t367 to i64
+ %t368 = icmp sge i64 %t369, 0
+ br i1 %t368, label %loop.b106, label %loop.e104
+loop.b106:
+ %t370 = load ptr, ptr %sc_l_nodes_0
+ %t371 = load ptr, ptr %sc_l_ch_1
+ %t372 = load double, ptr %sc_l_k_1
+ %t373 = fptosi double %t372 to i64
+ %t378 = getelementptr inbounds %ScrArr, ptr %t371, i32 0, i32 8
+ %t379 = load ptr, ptr %t378, !tbaa !2
+ %t374 = getelementptr inbounds %ScrArr, ptr %t371, i32 0, i32 1
+ %t375 = load i64, ptr %t374, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t376 = getelementptr inbounds %ScrArr, ptr %t371, i32 0, i32 2
+ %t377 = load i64, ptr %t376, !tbaa !2
+ %t380 = getelementptr inbounds %ScrArr, ptr %t371, i32 0, i32 9
+ %t381 = load ptr, ptr %t380, !tbaa !2
+ %t382 = getelementptr inbounds %ScrArr, ptr %t371, i32 0, i32 6
+ %t383 = load i32, ptr %t382, !tbaa !2
+ %t384 = zext i32 %t383 to i64
+ %t385 = icmp ult i64 %t373, %t384
+ br i1 %t385, label %arr.get.value110, label %arr.check111
+arr.check111:
+ %t386 = icmp ult i64 %t373, %t377
+ %t387 = icmp ult i64 %t373, %t375
+ %t388 = and i1 %t386, %t387
+ br i1 %t388, label %arr.dense112, label %arr.get.slow108
+arr.dense112:
+ %t389 = getelementptr inbounds i8, ptr %t381, i64 %t373
+ %t390 = load i8, ptr %t389, !tbaa !4
+ %t391 = icmp eq i8 %t390, 1
+ br i1 %t391, label %arr.get.value110, label %arr.get.slow108
+arr.get.value110:
+ %t392 = getelementptr inbounds i64, ptr %t379, i64 %t373
+ %t393 = load double, ptr %t392, !tbaa !6
+ br label %arr.get.join109
+arr.get.slow108:
+ %t394 = call double @scr_arr_get_number(ptr %t371, double %t372) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.get.join109
+arr.get.join109:
+ %t395 = phi double [ %t393, %arr.get.value110 ], [ %t394, %arr.get.slow108 ]
+ %t396 = getelementptr inbounds %ScrArr, ptr %t370, i32 0, i32 2
+ %t397 = load i64, ptr %t396, !tbaa !2
+ %t398 = fptosi double %t395 to i64
+ %t399 = freeze i64 %t398
+ %t400 = sitofp i64 %t399 to double
+ %t401 = fcmp oeq double %t400, %t395
+ %t402 = icmp ult i64 %t399, %t397
+ %t403 = and i1 %t401, %t402
+ br i1 %t403, label %local.array.range116, label %local.array.slow113
+local.array.range116:
+ br label %local.array.dense117
+local.array.dense117:
+ %t404 = getelementptr inbounds %ScrArr, ptr %t370, i32 0, i32 6
+ %t405 = load i32, ptr %t404, !tbaa !2
+ %t407 = zext i32 %t405 to i64
+ %t406 = icmp ult i64 %t399, %t407
+ br i1 %t406, label %local.array.value119, label %local.array.len118
+local.array.len118:
+ %t408 = getelementptr inbounds %ScrArr, ptr %t370, i32 0, i32 1
+ %t409 = load i64, ptr %t408, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t410 = icmp ult i64 %t399, %t409
+ br i1 %t410, label %local.array.state120, label %local.array.missing114
+local.array.state120:
+ %t411 = getelementptr inbounds %ScrArr, ptr %t370, i32 0, i32 9
+ %t412 = load ptr, ptr %t411, !tbaa !2
+ %t413 = getelementptr inbounds i8, ptr %t412, i64 %t399
+ %t414 = load i8, ptr %t413, !tbaa !4
+ %t415 = icmp eq i8 %t414, 1
+ br i1 %t415, label %local.array.value119, label %local.array.missing114
+local.array.value119:
+ %t416 = getelementptr inbounds %ScrArr, ptr %t370, i32 0, i32 8
+ %t417 = load ptr, ptr %t416, !tbaa !2
+ %t418 = getelementptr inbounds i64, ptr %t417, i64 %t399
+ %t419 = load ptr, ptr %t418, !tbaa !6
+ store ptr %t419, ptr %sc_l_c_1
+ br label %local.array.join115
+local.array.slow113:
+ %t420 = call ptr @scr_arr_peek_ref(ptr %t370, double %t395)
+ %t421 = icmp ne ptr %t420, null
+ br i1 %t421, label %local.array.slow.value121, label %local.array.missing114
+local.array.slow.value121:
+ store ptr %t420, ptr %sc_l_c_1
+ br label %local.array.join115
+local.array.missing114:
+ store ptr null, ptr %sc_l_c_1
+ br label %local.array.join115
+local.array.join115:
+ %t422 = load ptr, ptr %sc_l_c_1
+ %t424 = icmp eq ptr %t422, null
+ br i1 %t424, label %read.then122, label %read.else123
+read.then122:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209)
+ br label %exc.cleanup91
+exc.dead125:
+ store ptr null, ptr %s425
+ br label %read.join124
+read.else123:
+ %t426 = load ptr, ptr %sc_l_c_1
+ store ptr %t426, ptr %s425
+ br label %read.join124
+read.join124:
+ %t427 = load ptr, ptr %s425
+ %t428 = getelementptr inbounds %sc_rs_r5, ptr %t427, i64 0, i32 4
+ %t429 = load double, ptr %t428
+ %t430 = fcmp oeq double %t429, 0x4000000000000000
+ br i1 %t430, label %if.t126, label %if.j127
+if.t126:
+ %t431 = load ptr, ptr %sc_l_stack_0
+ %t432 = call ptr @sc_rnew_r16()
+ %t433 = load ptr, ptr %sc_l_c_1
+ %t434 = call ptr @sc_rretain_r5(ptr %t433)
+ %t435 = getelementptr inbounds %sc_rs_r16, ptr %t432, i64 0, i32 1
+ store ptr %t434, ptr %t435
+ %t436 = load i32, ptr %sc_l_len_0
+ %t437 = sitofp i32 %t436 to double
+ %t439 = sext i32 %t436 to i64
+ %t440 = add nsw i64 %t439, 1
+ %t442 = trunc i64 %t440 to i32
+ %t441 = sitofp i64 %t440 to double
+ %t443 = getelementptr inbounds %sc_rs_r16, ptr %t432, i64 0, i32 2
+ store double %t441, ptr %t443
+ %t444 = getelementptr inbounds %ScrArr, ptr %t431, i32 0, i32 1
+ %t445 = load i64, ptr %t444, !tbaa !2
+ %t448 = getelementptr inbounds %ScrArr, ptr %t431, i32 0, i32 2
+ %t446 = load i64, ptr %t448, !tbaa !2
+ %t447 = icmp ult i64 %t445, %t446
+ br i1 %t447, label %arr.push.dense128, label %arr.push.slow129
+arr.push.dense128:
+ %t449 = getelementptr inbounds %ScrArr, ptr %t431, i32 0, i32 8
+ %t451 = getelementptr inbounds %ScrArr, ptr %t431, i32 0, i32 9
+ %t450 = load ptr, ptr %t449, !tbaa !2
+ %t452 = load ptr, ptr %t451, !tbaa !2
+ %t453 = getelementptr inbounds i8, ptr %t452, i64 %t445
+ %t454 = getelementptr inbounds i64, ptr %t450, i64 %t445
+ store ptr %t432, ptr %t454, !tbaa !6
+ store i8 1, ptr %t453, !tbaa !4
+ %t455 = add nuw i64 %t445, 1
+ store i64 %t455, ptr %t444, !tbaa !2
+ %t457 = getelementptr inbounds %ScrArr, ptr %t431, i32 0, i32 6
+ %t458 = load i32, ptr %t457, !tbaa !2
+ %t462 = zext i32 %t458 to i64
+ %t459 = icmp eq i64 %t462, %t445
+ %t460 = add i32 %t458, 1
+ %t461 = select i1 %t459, i32 %t460, i32 %t458
+ store i32 %t461, ptr %t457, !tbaa !2
+ %t456 = sitofp i64 %t455 to double
+ br label %arr.push.join130
+arr.push.slow129:
+ %t463 = call double @scr_arr_push_ref(ptr %t431, ptr %t432) cold
+ br label %arr.push.join130
+arr.push.join130:
+ %t464 = phi double [ %t456, %arr.push.dense128 ], [ %t463, %arr.push.slow129 ]
+ br label %if.j127
+if.j127:
+ br label %loop.u107
+loop.u107:
+ %t465 = load double, ptr %sc_l_k_1
+ %t467 = fptosi double %t465 to i64
+ %t468 = sub nsw i64 %t467, 1
+ %t470 = trunc i64 %t468 to i32
+ %t469 = sitofp i64 %t468 to double
+ store double %t469, ptr %sc_l_k_1
+ br label %loop.c105
+loop.e104:
+ %t471 = load ptr, ptr %sc_l_ch_1
+ %t472 = getelementptr inbounds %ScrArr, ptr %t471, i32 0, i32 1
+ %t473 = load i64, ptr %t472, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t474 = sitofp i64 %t473 to double
+ %t476 = fptosi double %t474 to i64
+ %t477 = sub nsw i64 %t476, 1
+ %t479 = trunc i64 %t477 to i32
+ %t478 = sitofp i64 %t477 to double
+ store double %t478, ptr %sc_l_k_2
+ br label %loop.c132
+loop.c132:
+ %t480 = load double, ptr %sc_l_k_2
+ %t482 = fptosi double %t480 to i64
+ %t481 = icmp sge i64 %t482, 0
+ br i1 %t481, label %loop.b133, label %loop.e131
+loop.b133:
+ %t483 = load ptr, ptr %sc_l_nodes_0
+ %t484 = load ptr, ptr %sc_l_ch_1
+ %t485 = load double, ptr %sc_l_k_2
+ %t486 = fptosi double %t485 to i64
+ %t491 = getelementptr inbounds %ScrArr, ptr %t484, i32 0, i32 8
+ %t492 = load ptr, ptr %t491, !tbaa !2
+ %t487 = getelementptr inbounds %ScrArr, ptr %t484, i32 0, i32 1
+ %t488 = load i64, ptr %t487, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t489 = getelementptr inbounds %ScrArr, ptr %t484, i32 0, i32 2
+ %t490 = load i64, ptr %t489, !tbaa !2
+ %t493 = getelementptr inbounds %ScrArr, ptr %t484, i32 0, i32 9
+ %t494 = load ptr, ptr %t493, !tbaa !2
+ %t495 = getelementptr inbounds %ScrArr, ptr %t484, i32 0, i32 6
+ %t496 = load i32, ptr %t495, !tbaa !2
+ %t497 = zext i32 %t496 to i64
+ %t498 = icmp ult i64 %t486, %t497
+ br i1 %t498, label %arr.get.value137, label %arr.check138
+arr.check138:
+ %t499 = icmp ult i64 %t486, %t490
+ %t500 = icmp ult i64 %t486, %t488
+ %t501 = and i1 %t499, %t500
+ br i1 %t501, label %arr.dense139, label %arr.get.slow135
+arr.dense139:
+ %t502 = getelementptr inbounds i8, ptr %t494, i64 %t486
+ %t503 = load i8, ptr %t502, !tbaa !4
+ %t504 = icmp eq i8 %t503, 1
+ br i1 %t504, label %arr.get.value137, label %arr.get.slow135
+arr.get.value137:
+ %t505 = getelementptr inbounds i64, ptr %t492, i64 %t486
+ %t506 = load double, ptr %t505, !tbaa !6
+ br label %arr.get.join136
+arr.get.slow135:
+ %t507 = call double @scr_arr_get_number(ptr %t484, double %t485) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.get.join136
+arr.get.join136:
+ %t508 = phi double [ %t506, %arr.get.value137 ], [ %t507, %arr.get.slow135 ]
+ %t509 = getelementptr inbounds %ScrArr, ptr %t483, i32 0, i32 2
+ %t510 = load i64, ptr %t509, !tbaa !2
+ %t511 = fptosi double %t508 to i64
+ %t512 = freeze i64 %t511
+ %t513 = sitofp i64 %t512 to double
+ %t514 = fcmp oeq double %t513, %t508
+ %t515 = icmp ult i64 %t512, %t510
+ %t516 = and i1 %t514, %t515
+ br i1 %t516, label %local.array.range143, label %local.array.slow140
+local.array.range143:
+ br label %local.array.dense144
+local.array.dense144:
+ %t517 = getelementptr inbounds %ScrArr, ptr %t483, i32 0, i32 6
+ %t518 = load i32, ptr %t517, !tbaa !2
+ %t520 = zext i32 %t518 to i64
+ %t519 = icmp ult i64 %t512, %t520
+ br i1 %t519, label %local.array.value146, label %local.array.len145
+local.array.len145:
+ %t521 = getelementptr inbounds %ScrArr, ptr %t483, i32 0, i32 1
+ %t522 = load i64, ptr %t521, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t523 = icmp ult i64 %t512, %t522
+ br i1 %t523, label %local.array.state147, label %local.array.missing141
+local.array.state147:
+ %t524 = getelementptr inbounds %ScrArr, ptr %t483, i32 0, i32 9
+ %t525 = load ptr, ptr %t524, !tbaa !2
+ %t526 = getelementptr inbounds i8, ptr %t525, i64 %t512
+ %t527 = load i8, ptr %t526, !tbaa !4
+ %t528 = icmp eq i8 %t527, 1
+ br i1 %t528, label %local.array.value146, label %local.array.missing141
+local.array.value146:
+ %t529 = getelementptr inbounds %ScrArr, ptr %t483, i32 0, i32 8
+ %t530 = load ptr, ptr %t529, !tbaa !2
+ %t531 = getelementptr inbounds i64, ptr %t530, i64 %t512
+ %t532 = load ptr, ptr %t531, !tbaa !6
+ store ptr %t532, ptr %sc_l_c_2
+ br label %local.array.join142
+local.array.slow140:
+ %t533 = call ptr @scr_arr_peek_ref(ptr %t483, double %t508)
+ %t534 = icmp ne ptr %t533, null
+ br i1 %t534, label %local.array.slow.value148, label %local.array.missing141
+local.array.slow.value148:
+ store ptr %t533, ptr %sc_l_c_2
+ br label %local.array.join142
+local.array.missing141:
+ store ptr null, ptr %sc_l_c_2
+ br label %local.array.join142
+local.array.join142:
+ %t535 = load ptr, ptr %sc_l_c_2
+ %t537 = icmp eq ptr %t535, null
+ br i1 %t537, label %read.then149, label %read.else150
+read.then149:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209)
+ br label %exc.cleanup91
+exc.dead152:
+ store ptr null, ptr %s538
+ br label %read.join151
+read.else150:
+ %t539 = load ptr, ptr %sc_l_c_2
+ store ptr %t539, ptr %s538
+ br label %read.join151
+read.join151:
+ %t540 = load ptr, ptr %s538
+ %t541 = getelementptr inbounds %sc_rs_r5, ptr %t540, i64 0, i32 4
+ %t542 = load double, ptr %t541
+ %t543 = fcmp oeq double %t542, 0x3FF0000000000000
+ br i1 %t543, label %if.t153, label %if.j154
+if.t153:
+ %t544 = load ptr, ptr %sc_l_stack_0
+ %t545 = call ptr @sc_rnew_r16()
+ %t546 = load ptr, ptr %sc_l_c_2
+ %t547 = call ptr @sc_rretain_r5(ptr %t546)
+ %t548 = getelementptr inbounds %sc_rs_r16, ptr %t545, i64 0, i32 1
+ store ptr %t547, ptr %t548
+ %t549 = load double, ptr %sc_l_end_1
+ %t550 = fadd double %t549, 0x3FF0000000000000
+ %t551 = getelementptr inbounds %sc_rs_r16, ptr %t545, i64 0, i32 2
+ store double %t550, ptr %t551
+ %t552 = getelementptr inbounds %ScrArr, ptr %t544, i32 0, i32 1
+ %t553 = load i64, ptr %t552, !tbaa !2
+ %t556 = getelementptr inbounds %ScrArr, ptr %t544, i32 0, i32 2
+ %t554 = load i64, ptr %t556, !tbaa !2
+ %t555 = icmp ult i64 %t553, %t554
+ br i1 %t555, label %arr.push.dense155, label %arr.push.slow156
+arr.push.dense155:
+ %t557 = getelementptr inbounds %ScrArr, ptr %t544, i32 0, i32 8
+ %t559 = getelementptr inbounds %ScrArr, ptr %t544, i32 0, i32 9
+ %t558 = load ptr, ptr %t557, !tbaa !2
+ %t560 = load ptr, ptr %t559, !tbaa !2
+ %t561 = getelementptr inbounds i8, ptr %t560, i64 %t553
+ %t562 = getelementptr inbounds i64, ptr %t558, i64 %t553
+ store ptr %t545, ptr %t562, !tbaa !6
+ store i8 1, ptr %t561, !tbaa !4
+ %t563 = add nuw i64 %t553, 1
+ store i64 %t563, ptr %t552, !tbaa !2
+ %t565 = getelementptr inbounds %ScrArr, ptr %t544, i32 0, i32 6
+ %t566 = load i32, ptr %t565, !tbaa !2
+ %t570 = zext i32 %t566 to i64
+ %t567 = icmp eq i64 %t570, %t553
+ %t568 = add i32 %t566, 1
+ %t569 = select i1 %t567, i32 %t568, i32 %t566
+ store i32 %t569, ptr %t565, !tbaa !2
+ %t564 = sitofp i64 %t563 to double
+ br label %arr.push.join157
+arr.push.slow156:
+ %t571 = call double @scr_arr_push_ref(ptr %t544, ptr %t545) cold
+ br label %arr.push.join157
+arr.push.join157:
+ %t572 = phi double [ %t564, %arr.push.dense155 ], [ %t571, %arr.push.slow156 ]
+ br label %if.j154
+if.j154:
+ br label %loop.u134
+loop.u134:
+ %t573 = load double, ptr %sc_l_k_2
+ %t575 = fptosi double %t573 to i64
+ %t576 = sub nsw i64 %t575, 1
+ %t578 = trunc i64 %t576 to i32
+ %t577 = sitofp i64 %t576 to double
+ store double %t577, ptr %sc_l_k_2
+ br label %loop.c132
+loop.e131:
+ %t579 = load ptr, ptr %sc_l_ch_1
+ %t580 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 1
+ %t581 = load i64, ptr %t580, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t582 = sitofp i64 %t581 to double
+ %t584 = fptosi double %t582 to i64
+ %t585 = sub nsw i64 %t584, 1
+ %t587 = trunc i64 %t585 to i32
+ %t586 = sitofp i64 %t585 to double
+ store double %t586, ptr %sc_l_k_3
+ br label %loop.c159
+loop.c159:
+ %t588 = load double, ptr %sc_l_k_3
+ %t590 = fptosi double %t588 to i64
+ %t589 = icmp sge i64 %t590, 0
+ br i1 %t589, label %loop.b160, label %loop.e158
+loop.b160:
+ %t591 = load ptr, ptr %sc_l_nodes_0
+ %t592 = load ptr, ptr %sc_l_ch_1
+ %t593 = load double, ptr %sc_l_k_3
+ %t594 = fptosi double %t593 to i64
+ %t599 = getelementptr inbounds %ScrArr, ptr %t592, i32 0, i32 8
+ %t600 = load ptr, ptr %t599, !tbaa !2
+ %t595 = getelementptr inbounds %ScrArr, ptr %t592, i32 0, i32 1
+ %t596 = load i64, ptr %t595, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t597 = getelementptr inbounds %ScrArr, ptr %t592, i32 0, i32 2
+ %t598 = load i64, ptr %t597, !tbaa !2
+ %t601 = getelementptr inbounds %ScrArr, ptr %t592, i32 0, i32 9
+ %t602 = load ptr, ptr %t601, !tbaa !2
+ %t603 = getelementptr inbounds %ScrArr, ptr %t592, i32 0, i32 6
+ %t604 = load i32, ptr %t603, !tbaa !2
+ %t605 = zext i32 %t604 to i64
+ %t606 = icmp ult i64 %t594, %t605
+ br i1 %t606, label %arr.get.value164, label %arr.check165
+arr.check165:
+ %t607 = icmp ult i64 %t594, %t598
+ %t608 = icmp ult i64 %t594, %t596
+ %t609 = and i1 %t607, %t608
+ br i1 %t609, label %arr.dense166, label %arr.get.slow162
+arr.dense166:
+ %t610 = getelementptr inbounds i8, ptr %t602, i64 %t594
+ %t611 = load i8, ptr %t610, !tbaa !4
+ %t612 = icmp eq i8 %t611, 1
+ br i1 %t612, label %arr.get.value164, label %arr.get.slow162
+arr.get.value164:
+ %t613 = getelementptr inbounds i64, ptr %t600, i64 %t594
+ %t614 = load double, ptr %t613, !tbaa !6
+ br label %arr.get.join163
+arr.get.slow162:
+ %t615 = call double @scr_arr_get_number(ptr %t592, double %t593) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.get.join163
+arr.get.join163:
+ %t616 = phi double [ %t614, %arr.get.value164 ], [ %t615, %arr.get.slow162 ]
+ %t617 = getelementptr inbounds %ScrArr, ptr %t591, i32 0, i32 2
+ %t618 = load i64, ptr %t617, !tbaa !2
+ %t619 = fptosi double %t616 to i64
+ %t620 = freeze i64 %t619
+ %t621 = sitofp i64 %t620 to double
+ %t622 = fcmp oeq double %t621, %t616
+ %t623 = icmp ult i64 %t620, %t618
+ %t624 = and i1 %t622, %t623
+ br i1 %t624, label %local.array.range170, label %local.array.slow167
+local.array.range170:
+ br label %local.array.dense171
+local.array.dense171:
+ %t625 = getelementptr inbounds %ScrArr, ptr %t591, i32 0, i32 6
+ %t626 = load i32, ptr %t625, !tbaa !2
+ %t628 = zext i32 %t626 to i64
+ %t627 = icmp ult i64 %t620, %t628
+ br i1 %t627, label %local.array.value173, label %local.array.len172
+local.array.len172:
+ %t629 = getelementptr inbounds %ScrArr, ptr %t591, i32 0, i32 1
+ %t630 = load i64, ptr %t629, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t631 = icmp ult i64 %t620, %t630
+ br i1 %t631, label %local.array.state174, label %local.array.missing168
+local.array.state174:
+ %t632 = getelementptr inbounds %ScrArr, ptr %t591, i32 0, i32 9
+ %t633 = load ptr, ptr %t632, !tbaa !2
+ %t634 = getelementptr inbounds i8, ptr %t633, i64 %t620
+ %t635 = load i8, ptr %t634, !tbaa !4
+ %t636 = icmp eq i8 %t635, 1
+ br i1 %t636, label %local.array.value173, label %local.array.missing168
+local.array.value173:
+ %t637 = getelementptr inbounds %ScrArr, ptr %t591, i32 0, i32 8
+ %t638 = load ptr, ptr %t637, !tbaa !2
+ %t639 = getelementptr inbounds i64, ptr %t638, i64 %t620
+ %t640 = load ptr, ptr %t639, !tbaa !6
+ store ptr %t640, ptr %sc_l_c_3
+ br label %local.array.join169
+local.array.slow167:
+ %t641 = call ptr @scr_arr_peek_ref(ptr %t591, double %t616)
+ %t642 = icmp ne ptr %t641, null
+ br i1 %t642, label %local.array.slow.value175, label %local.array.missing168
+local.array.slow.value175:
+ store ptr %t641, ptr %sc_l_c_3
+ br label %local.array.join169
+local.array.missing168:
+ store ptr null, ptr %sc_l_c_3
+ br label %local.array.join169
+local.array.join169:
+ %t643 = load ptr, ptr %sc_l_c_3
+ %t645 = icmp eq ptr %t643, null
+ br i1 %t645, label %read.then176, label %read.else177
+read.then176:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209)
+ br label %exc.cleanup91
+exc.dead179:
+ store ptr null, ptr %s646
+ br label %read.join178
+read.else177:
+ %t647 = load ptr, ptr %sc_l_c_3
+ store ptr %t647, ptr %s646
+ br label %read.join178
+read.join178:
+ %t648 = load ptr, ptr %s646
+ %t649 = getelementptr inbounds %sc_rs_r5, ptr %t648, i64 0, i32 4
+ %t650 = load double, ptr %t649
+ %t651 = fcmp oeq double %t650, 0x0000000000000000
+ store i1 %t651, ptr %s652
+ br i1 %t651, label %log.r180, label %log.j181
+log.r180:
+ %t653 = load ptr, ptr %sc_l_p_0
+ %t654 = load double, ptr %sc_l_fpos_0
+ %t655 = load double, ptr %sc_l_end_1
+ %t656 = load ptr, ptr %sc_l_c_3
+ %t658 = icmp eq ptr %t656, null
+ br i1 %t658, label %read.then182, label %read.else183
+read.then182:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_180082455986257)
+ br label %exc.cleanup91
+exc.dead185:
+ store ptr null, ptr %s659
+ br label %read.join184
+read.else183:
+ %t660 = load ptr, ptr %sc_l_c_3
+ store ptr %t660, ptr %s659
+ br label %read.join184
+read.join184:
+ %t661 = load ptr, ptr %s659
+ %t662 = getelementptr inbounds %sc_rs_r5, ptr %t661, i64 0, i32 5
+ %t663 = load ptr, ptr %t662
+ %t664 = call i1 @sc_bf__x25_m5_segEq(ptr %t653, double %t654, double %t655, ptr %t663)
+ store i1 %t664, ptr %s652
+ br label %log.j181
+log.j181:
+ %t665 = load i1, ptr %s652
+ br i1 %t665, label %if.t186, label %if.j187
+if.t186:
+ %t666 = load ptr, ptr %sc_l_stack_0
+ %t667 = call ptr @sc_rnew_r16()
+ %t668 = load ptr, ptr %sc_l_c_3
+ %t669 = call ptr @sc_rretain_r5(ptr %t668)
+ %t670 = getelementptr inbounds %sc_rs_r16, ptr %t667, i64 0, i32 1
+ store ptr %t669, ptr %t670
+ %t671 = load double, ptr %sc_l_end_1
+ %t672 = fadd double %t671, 0x3FF0000000000000
+ %t673 = getelementptr inbounds %sc_rs_r16, ptr %t667, i64 0, i32 2
+ store double %t672, ptr %t673
+ %t674 = getelementptr inbounds %ScrArr, ptr %t666, i32 0, i32 1
+ %t675 = load i64, ptr %t674, !tbaa !2
+ %t678 = getelementptr inbounds %ScrArr, ptr %t666, i32 0, i32 2
+ %t676 = load i64, ptr %t678, !tbaa !2
+ %t677 = icmp ult i64 %t675, %t676
+ br i1 %t677, label %arr.push.dense188, label %arr.push.slow189
+arr.push.dense188:
+ %t679 = getelementptr inbounds %ScrArr, ptr %t666, i32 0, i32 8
+ %t681 = getelementptr inbounds %ScrArr, ptr %t666, i32 0, i32 9
+ %t680 = load ptr, ptr %t679, !tbaa !2
+ %t682 = load ptr, ptr %t681, !tbaa !2
+ %t683 = getelementptr inbounds i8, ptr %t682, i64 %t675
+ %t684 = getelementptr inbounds i64, ptr %t680, i64 %t675
+ store ptr %t667, ptr %t684, !tbaa !6
+ store i8 1, ptr %t683, !tbaa !4
+ %t685 = add nuw i64 %t675, 1
+ store i64 %t685, ptr %t674, !tbaa !2
+ %t687 = getelementptr inbounds %ScrArr, ptr %t666, i32 0, i32 6
+ %t688 = load i32, ptr %t687, !tbaa !2
+ %t692 = zext i32 %t688 to i64
+ %t689 = icmp eq i64 %t692, %t675
+ %t690 = add i32 %t688, 1
+ %t691 = select i1 %t689, i32 %t690, i32 %t688
+ store i32 %t691, ptr %t687, !tbaa !2
+ %t686 = sitofp i64 %t685 to double
+ br label %arr.push.join190
+arr.push.slow189:
+ %t693 = call double @scr_arr_push_ref(ptr %t666, ptr %t667) cold
+ br label %arr.push.join190
+arr.push.join190:
+ %t694 = phi double [ %t686, %arr.push.dense188 ], [ %t693, %arr.push.slow189 ]
+ br label %if.j187
+if.j187:
+ br label %loop.u161
+loop.u161:
+ %t695 = load double, ptr %sc_l_k_3
+ %t697 = fptosi double %t695 to i64
+ %t698 = sub nsw i64 %t697, 1
+ %t700 = trunc i64 %t698 to i32
+ %t699 = sitofp i64 %t698 to double
+ store double %t699, ptr %sc_l_k_3
+ br label %loop.c159
+loop.e158:
+ %t701 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r16(ptr %t701)
+ br label %loop.c73
+loop.e72:
+ %t702 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t702)
+ %t703 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t703)
+ ret ptr @sc_nullable_null
+exc.cleanup6:
+ %t704 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t704)
+ ret ptr null
+exc.cleanup29:
+ %t705 = load ptr, ptr %sc_l_ch_0
+ call void @scr_arr_release(ptr %t705)
+ %t706 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t706)
+ ret ptr null
+exc.cleanup68:
+ %t707 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t707)
+ %t708 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t708)
+ ret ptr null
+exc.cleanup91:
+ %t709 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r16(ptr %t709)
+ %t710 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t710)
+ %t711 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t711)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_matchPath(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_matchPath(ptr %p0, ptr %p1)
+ call void @scr_arr_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal double @sc_bf__x25_m5_findEntry(ptr %p_sc_l_node_0, ptr %p_sc_l_method_0) #0 { ; %m5.findEntry
+entry:
+ %sc_l_node_0 = alloca ptr ; node
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_m_0 = alloca ptr ; m
+ %sc_l_hm_0 = alloca ptr ; hm
+ %sc_l_star_0 = alloca double ; star
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_i_1 = alloca i32 ; i
+ %s4 = alloca ptr
+ %s9 = alloca i64 ; integer induction i
+ %s16 = alloca ptr
+ %s47 = alloca i1
+ %s60 = alloca ptr
+ %s90 = alloca i1
+ %s99 = alloca i1
+ %s114 = alloca i64 ; integer induction i
+ %s121 = alloca ptr
+ %s151 = alloca i1
+ store ptr null, ptr %sc_l_m_0
+ store ptr null, ptr %sc_l_hm_0
+ store ptr %p_sc_l_node_0, ptr %sc_l_node_0
+ store ptr %p_sc_l_method_0, ptr %sc_l_method_0
+ %t0 = load ptr, ptr %sc_l_method_0
+ store ptr %t0, ptr %sc_l_m_0
+ %t1 = load ptr, ptr %sc_l_node_0
+ %t3 = icmp eq ptr %t1, null
+ br i1 %t3, label %read.then0, label %read.else1
+read.then0:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4226955055047009)
+ ret double 0x0000000000000000
+exc.dead3:
+ store ptr null, ptr %s4
+ br label %read.join2
+read.else1:
+ %t5 = load ptr, ptr %sc_l_node_0
+ store ptr %t5, ptr %s4
+ br label %read.join2
+read.join2:
+ %t6 = load ptr, ptr %s4
+ %t7 = getelementptr inbounds %sc_rs_r5, ptr %t6, i64 0, i32 3
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_hm_0
+ store double 0xBFF0000000000000, ptr %sc_l_star_0
+ %t10 = fptosi double 0x0000000000000000 to i64
+ store i64 %t10, ptr %s9
+ br label %loop.c5
+loop.c5:
+ %t11 = load ptr, ptr %sc_l_hm_0
+ %t12 = getelementptr inbounds %ScrArr, ptr %t11, i64 0, i32 1
+ %t13 = load i64, ptr %t12, !tbaa !2
+ %t14 = load i64, ptr %s9
+ %t15 = icmp ult i64 %t14, %t13
+ br i1 %t15, label %loop.b6, label %loop.e4
+loop.b6:
+ %t17 = load ptr, ptr %sc_l_hm_0
+ %t18 = load i64, ptr %s9
+ %t19 = load i64, ptr %s9
+ %t20 = sitofp i64 %t19 to double
+ %t21 = trunc i64 %t19 to i32
+ %t22 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2
+ %t23 = load i64, ptr %t22, !tbaa !2
+ %t24 = icmp ult i64 %t18, %t23
+ br i1 %t24, label %local.array.range11, label %local.array.slow8
+local.array.range11:
+ br label %local.array.dense12
+local.array.dense12:
+ %t25 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6
+ %t26 = load i32, ptr %t25, !tbaa !2
+ %t28 = zext i32 %t26 to i64
+ %t27 = icmp ult i64 %t18, %t28
+ br i1 %t27, label %local.array.value14, label %local.array.len13
+local.array.len13:
+ %t29 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1
+ %t30 = load i64, ptr %t29, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t31 = icmp ult i64 %t18, %t30
+ br i1 %t31, label %local.array.state15, label %local.array.missing9
+local.array.state15:
+ %t32 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9
+ %t33 = load ptr, ptr %t32, !tbaa !2
+ %t34 = getelementptr inbounds i8, ptr %t33, i64 %t18
+ %t35 = load i8, ptr %t34, !tbaa !4
+ %t36 = icmp eq i8 %t35, 1
+ br i1 %t36, label %local.array.value14, label %local.array.missing9
+local.array.value14:
+ %t37 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8
+ %t38 = load ptr, ptr %t37, !tbaa !2
+ %t39 = getelementptr inbounds i64, ptr %t38, i64 %t18
+ %t40 = load ptr, ptr %t39, !tbaa !6
+ %t41 = call ptr @sc_rc_retain_str(ptr %t40)
+ store ptr %t41, ptr %s16
+ br label %local.array.join10
+local.array.slow8:
+ %t42 = call ptr @scr_arr_peek_ref(ptr %t17, double %t20)
+ %t43 = icmp ne ptr %t42, null
+ br i1 %t43, label %local.array.slow.value16, label %local.array.missing9
+local.array.slow.value16:
+ %t44 = call ptr @sc_rc_retain_str(ptr %t42)
+ store ptr %t44, ptr %s16
+ br label %local.array.join10
+local.array.missing9:
+ store ptr null, ptr %s16
+ br label %local.array.join10
+local.array.join10:
+ %t45 = load ptr, ptr %s16
+ %t46 = load ptr, ptr %sc_l_m_0
+ %t48 = icmp eq ptr %t45, %t46
+ %t50 = icmp ne ptr %t45, null
+ %t51 = icmp ne ptr %t46, null
+ %t49 = and i1 %t50, %t51
+ store i1 %t48, ptr %s47
+ %t52 = xor i1 %t48, true
+ %t53 = and i1 %t52, %t49
+ br i1 %t53, label %ues.b17, label %ues.j18
+ues.b17:
+ %t54 = call zeroext i1 @sc_str_eq(ptr %t45, ptr %t46)
+ store i1 %t54, ptr %s47
+ br label %ues.j18
+ues.j18:
+ %t55 = load i1, ptr %s47
+ %t56 = load ptr, ptr %s16
+ call void @scr_str_release(ptr %t56)
+ br i1 %t55, label %if.t19, label %if.j20
+if.t19:
+ %t57 = load i64, ptr %s9
+ %t58 = sitofp i64 %t57 to double
+ %t59 = trunc i64 %t57 to i32
+ ret double %t58
+if.j20:
+ %t61 = load ptr, ptr %sc_l_hm_0
+ %t62 = load i64, ptr %s9
+ %t63 = load i64, ptr %s9
+ %t64 = sitofp i64 %t63 to double
+ %t65 = trunc i64 %t63 to i32
+ %t66 = getelementptr inbounds %ScrArr, ptr %t61, i32 0, i32 2
+ %t67 = load i64, ptr %t66, !tbaa !2
+ %t68 = icmp ult i64 %t62, %t67
+ br i1 %t68, label %local.array.range24, label %local.array.slow21
+local.array.range24:
+ br label %local.array.dense25
+local.array.dense25:
+ %t69 = getelementptr inbounds %ScrArr, ptr %t61, i32 0, i32 6
+ %t70 = load i32, ptr %t69, !tbaa !2
+ %t72 = zext i32 %t70 to i64
+ %t71 = icmp ult i64 %t62, %t72
+ br i1 %t71, label %local.array.value27, label %local.array.len26
+local.array.len26:
+ %t73 = getelementptr inbounds %ScrArr, ptr %t61, i32 0, i32 1
+ %t74 = load i64, ptr %t73, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t75 = icmp ult i64 %t62, %t74
+ br i1 %t75, label %local.array.state28, label %local.array.missing22
+local.array.state28:
+ %t76 = getelementptr inbounds %ScrArr, ptr %t61, i32 0, i32 9
+ %t77 = load ptr, ptr %t76, !tbaa !2
+ %t78 = getelementptr inbounds i8, ptr %t77, i64 %t62
+ %t79 = load i8, ptr %t78, !tbaa !4
+ %t80 = icmp eq i8 %t79, 1
+ br i1 %t80, label %local.array.value27, label %local.array.missing22
+local.array.value27:
+ %t81 = getelementptr inbounds %ScrArr, ptr %t61, i32 0, i32 8
+ %t82 = load ptr, ptr %t81, !tbaa !2
+ %t83 = getelementptr inbounds i64, ptr %t82, i64 %t62
+ %t84 = load ptr, ptr %t83, !tbaa !6
+ %t85 = call ptr @sc_rc_retain_str(ptr %t84)
+ store ptr %t85, ptr %s60
+ br label %local.array.join23
+local.array.slow21:
+ %t86 = call ptr @scr_arr_peek_ref(ptr %t61, double %t64)
+ %t87 = icmp ne ptr %t86, null
+ br i1 %t87, label %local.array.slow.value29, label %local.array.missing22
+local.array.slow.value29:
+ %t88 = call ptr @sc_rc_retain_str(ptr %t86)
+ store ptr %t88, ptr %s60
+ br label %local.array.join23
+local.array.missing22:
+ store ptr null, ptr %s60
+ br label %local.array.join23
+local.array.join23:
+ %t89 = load ptr, ptr %s60
+ %t91 = icmp eq ptr %t89, @sc_lit_1834571860458263
+ %t93 = icmp ne ptr %t89, null
+ %t94 = icmp ne ptr @sc_lit_1834571860458263, null
+ %t92 = and i1 %t93, %t94
+ store i1 %t91, ptr %s90
+ %t95 = xor i1 %t91, true
+ %t96 = and i1 %t95, %t92
+ br i1 %t96, label %ues.b30, label %ues.j31
+ues.b30:
+ %t97 = call zeroext i1 @sc_streq_1834571860458263(ptr %t89)
+ store i1 %t97, ptr %s90
+ br label %ues.j31
+ues.j31:
+ %t98 = load i1, ptr %s90
+ store i1 %t98, ptr %s99
+ br i1 %t98, label %log.r32, label %log.j33
+log.r32:
+ %t100 = load double, ptr %sc_l_star_0
+ %t101 = fcmp olt double %t100, 0x0000000000000000
+ store i1 %t101, ptr %s99
+ br label %log.j33
+log.j33:
+ %t102 = load i1, ptr %s99
+ %t103 = load ptr, ptr %s60
+ call void @scr_str_release(ptr %t103)
+ br i1 %t102, label %if.t34, label %if.j35
+if.t34:
+ %t104 = load i64, ptr %s9
+ %t105 = sitofp i64 %t104 to double
+ %t106 = trunc i64 %t104 to i32
+ store double %t105, ptr %sc_l_star_0
+ br label %if.j35
+if.j35:
+ br label %loop.u7
+loop.u7:
+ %t107 = load i64, ptr %s9
+ %t108 = add nuw i64 %t107, 1
+ store i64 %t108, ptr %s9
+ br label %loop.c5
+loop.e4:
+ %t109 = load double, ptr %sc_l_star_0
+ %t110 = fcmp oge double %t109, 0x0000000000000000
+ br i1 %t110, label %if.t36, label %if.j37
+if.t36:
+ %t111 = load double, ptr %sc_l_star_0
+ ret double %t111
+if.j37:
+ %t112 = load ptr, ptr %sc_l_m_0
+ %t113 = call zeroext i1 @sc_streq_3185835515143599(ptr %t112)
+ br i1 %t113, label %if.t38, label %if.j39
+if.t38:
+ %t115 = fptosi double 0x0000000000000000 to i64
+ store i64 %t115, ptr %s114
+ br label %loop.c41
+loop.c41:
+ %t116 = load ptr, ptr %sc_l_hm_0
+ %t117 = getelementptr inbounds %ScrArr, ptr %t116, i64 0, i32 1
+ %t118 = load i64, ptr %t117, !tbaa !2
+ %t119 = load i64, ptr %s114
+ %t120 = icmp ult i64 %t119, %t118
+ br i1 %t120, label %loop.b42, label %loop.e40
+loop.b42:
+ %t122 = load ptr, ptr %sc_l_hm_0
+ %t123 = load i64, ptr %s114
+ %t124 = load i64, ptr %s114
+ %t125 = sitofp i64 %t124 to double
+ %t126 = trunc i64 %t124 to i32
+ %t127 = getelementptr inbounds %ScrArr, ptr %t122, i32 0, i32 2
+ %t128 = load i64, ptr %t127, !tbaa !2
+ %t129 = icmp ult i64 %t123, %t128
+ br i1 %t129, label %local.array.range47, label %local.array.slow44
+local.array.range47:
+ br label %local.array.dense48
+local.array.dense48:
+ %t130 = getelementptr inbounds %ScrArr, ptr %t122, i32 0, i32 6
+ %t131 = load i32, ptr %t130, !tbaa !2
+ %t133 = zext i32 %t131 to i64
+ %t132 = icmp ult i64 %t123, %t133
+ br i1 %t132, label %local.array.value50, label %local.array.len49
+local.array.len49:
+ %t134 = getelementptr inbounds %ScrArr, ptr %t122, i32 0, i32 1
+ %t135 = load i64, ptr %t134, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t136 = icmp ult i64 %t123, %t135
+ br i1 %t136, label %local.array.state51, label %local.array.missing45
+local.array.state51:
+ %t137 = getelementptr inbounds %ScrArr, ptr %t122, i32 0, i32 9
+ %t138 = load ptr, ptr %t137, !tbaa !2
+ %t139 = getelementptr inbounds i8, ptr %t138, i64 %t123
+ %t140 = load i8, ptr %t139, !tbaa !4
+ %t141 = icmp eq i8 %t140, 1
+ br i1 %t141, label %local.array.value50, label %local.array.missing45
+local.array.value50:
+ %t142 = getelementptr inbounds %ScrArr, ptr %t122, i32 0, i32 8
+ %t143 = load ptr, ptr %t142, !tbaa !2
+ %t144 = getelementptr inbounds i64, ptr %t143, i64 %t123
+ %t145 = load ptr, ptr %t144, !tbaa !6
+ %t146 = call ptr @sc_rc_retain_str(ptr %t145)
+ store ptr %t146, ptr %s121
+ br label %local.array.join46
+local.array.slow44:
+ %t147 = call ptr @scr_arr_peek_ref(ptr %t122, double %t125)
+ %t148 = icmp ne ptr %t147, null
+ br i1 %t148, label %local.array.slow.value52, label %local.array.missing45
+local.array.slow.value52:
+ %t149 = call ptr @sc_rc_retain_str(ptr %t147)
+ store ptr %t149, ptr %s121
+ br label %local.array.join46
+local.array.missing45:
+ store ptr null, ptr %s121
+ br label %local.array.join46
+local.array.join46:
+ %t150 = load ptr, ptr %s121
+ %t152 = icmp eq ptr %t150, @sc_lit_367446482893939
+ %t154 = icmp ne ptr %t150, null
+ %t155 = icmp ne ptr @sc_lit_367446482893939, null
+ %t153 = and i1 %t154, %t155
+ store i1 %t152, ptr %s151
+ %t156 = xor i1 %t152, true
+ %t157 = and i1 %t156, %t153
+ br i1 %t157, label %ues.b53, label %ues.j54
+ues.b53:
+ %t158 = call zeroext i1 @sc_streq_367446482893939(ptr %t150)
+ store i1 %t158, ptr %s151
+ br label %ues.j54
+ues.j54:
+ %t159 = load i1, ptr %s151
+ %t160 = load ptr, ptr %s121
+ call void @scr_str_release(ptr %t160)
+ br i1 %t159, label %if.t55, label %if.j56
+if.t55:
+ %t161 = load i64, ptr %s114
+ %t162 = sitofp i64 %t161 to double
+ %t163 = trunc i64 %t161 to i32
+ ret double %t162
+if.j56:
+ br label %loop.u43
+loop.u43:
+ %t164 = load i64, ptr %s114
+ %t165 = add nuw i64 %t164, 1
+ store i64 %t165, ptr %s114
+ br label %loop.c41
+loop.e40:
+ br label %if.j39
+if.j39:
+ ret double 0xBFF0000000000000
+}
+define internal double @sc_f__x25_m5_findEntry(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call double @sc_bf__x25_m5_findEntry(ptr %p0, ptr %p1)
+ call void @sc_rrelease_r5(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret double %result
+}
+
+define internal void @sc_bf__x25_m5_defaultNotFound(ptr %p_sc_l_c_0) #0 { ; %m5.defaultNotFound
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s28 = alloca [1 x ptr]
+ %s50 = alloca ptr
+ %s64 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_c_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret void
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_12(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t27 = call ptr @sc_td_2(double 0x4079400000000000)
+ %t29 = getelementptr inbounds [1 x ptr], ptr %s28, i64 0, i64 0
+ store ptr %t27, ptr %t29
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t30 = call ptr @scr_dyn_call(ptr %t24, ptr %s28, i64 1, ptr @sc_cs_1113611553843547)
+ call void @scr_dyn_this_pop()
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t30)
+ br label %exc.cleanup12
+exc.k11:
+ %t34 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t30)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_release__x25_m5_CtxCore(ptr %t34)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_release__x25_m5_CtxCore(ptr %t34)
+ %t38 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t39 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load ptr, ptr %sc_l_c_0
+ store ptr %t40, ptr %sc_l__x25_callbackReceiver_1
+ %t41 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t42 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t41)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret void
+exc.k16:
+ store ptr %t42, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t46 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t47 = getelementptr inbounds i8, ptr %t46, i64 8 ; ->kind
+ %t48 = load i32, ptr %t47
+ %t49 = icmp eq i32 %t48, 6
+ br i1 %t49, label %tern.t17, label %tern.f18
+tern.t17:
+ %t52 = call ptr @scr_dyn_undefined()
+ %t51 = call ptr @scr_dyn_retain_v(ptr %t52)
+ store ptr %t51, ptr %s50
+ br label %tern.j19
+tern.f18:
+ %t53 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t54 = call ptr @sc_rc_retain_dyn(ptr %t53)
+ %t55 = call ptr @sc_f__x25_dyn_class_property_33(ptr %t54)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t55)
+ br label %exc.cleanup22
+exc.k21:
+ store ptr %t55, ptr %s50
+ br label %tern.j19
+tern.j19:
+ %t59 = load ptr, ptr %s50
+ store ptr %t59, ptr %sc_l__x25_callback_1
+ %t60 = load ptr, ptr %sc_l__x25_callback_1
+ %t61 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t62 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t61, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t63 = call ptr @sc_td_0(ptr @sc_lit_1778054279894)
+ %t65 = getelementptr inbounds [1 x ptr], ptr %s64, i64 0, i64 0
+ store ptr %t63, ptr %t65
+ call void @scr_dyn_this_push_dyn(ptr %t62)
+ %t66 = call ptr @scr_dyn_call(ptr %t60, ptr %s64, i64 1, ptr @sc_cs_4031902885015721)
+ call void @scr_dyn_this_pop()
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u23, label %exc.k24
+exc.u23:
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t66)
+ br label %exc.cleanup25
+exc.k24:
+ %t70 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t66)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_release__x25_m5_CtxCore(ptr %t70)
+ br label %exc.cleanup25
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_release__x25_m5_CtxCore(ptr %t70)
+ %t74 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t74)
+ %t75 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret void
+exc.cleanup9:
+ %t76 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret void
+exc.cleanup12:
+ %t77 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t77)
+ %t78 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t78)
+ ret void
+exc.cleanup22:
+ %t79 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t79)
+ ret void
+exc.cleanup25:
+ %t80 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t80)
+ %t81 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t81)
+ ret void
+}
+define internal void @sc_f__x25_m5_defaultNotFound(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_m5_defaultNotFound(ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_m5_allow405(ptr %p_sc_l_node_0, ptr %p_sc_l_req_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0) #0 { ; %m5.allow405
+entry:
+ %sc_l_node_0 = alloca ptr ; node
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_hm_0 = alloca ptr ; hm
+ %sc_l_seen_0 = alloca ptr ; seen
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_m_0 = alloca ptr ; m
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_qs_0 = alloca ptr ; qs
+ %sc_l_qi_0 = alloca i32 ; qi
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_4 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_5 = alloca ptr ; %callback
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l__x25_callbackReceiver_6 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_6 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_6 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_6 = alloca ptr ; %callback
+ %s10 = alloca i64 ; integer induction i
+ %s17 = alloca ptr
+ %s47 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s62 = alloca i1
+ %s65 = alloca ptr
+ %s68 = alloca double
+ %s79 = alloca ptr
+ %s82 = alloca double
+ %s121 = alloca ptr
+ %s124 = alloca double
+ %s172 = alloca ptr
+ %s242 = alloca ptr
+ %s285 = alloca ptr
+ %s299 = alloca [1 x ptr]
+ %s318 = alloca ptr
+ %s335 = alloca [2 x ptr]
+ %s355 = alloca ptr
+ %s370 = alloca [2 x ptr]
+ %s390 = alloca ptr
+ %s405 = alloca [2 x ptr]
+ %s425 = alloca ptr
+ %s439 = alloca [1 x ptr]
+ %s459 = alloca ptr
+ store ptr null, ptr %sc_l_hm_0
+ store ptr null, ptr %sc_l_seen_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_m_0
+ store ptr null, ptr %sc_l_url_0
+ store ptr null, ptr %sc_l_path_0
+ store ptr null, ptr %sc_l_qs_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr null, ptr %sc_l__x25_callbackReceiver_4
+ store ptr null, ptr %sc_l__x25_callbackBag_4
+ store ptr null, ptr %sc_l__x25_callback_4
+ store ptr null, ptr %sc_l__x25_callbackReceiver_5
+ store ptr null, ptr %sc_l__x25_callbackBag_5
+ store ptr null, ptr %sc_l__x25_callback_5
+ store ptr null, ptr %sc_l_e_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_6
+ store ptr null, ptr %sc_l__x25_callbackBag_6
+ store ptr null, ptr %sc_l__x25_callback_6
+ store ptr %p_sc_l_node_0, ptr %sc_l_node_0
+ store ptr %p_sc_l_req_0, ptr %sc_l_req_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_node_0
+ %t5 = getelementptr inbounds %sc_rs_r5, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5
+ %t7 = call ptr @scr_arr_retain_v(ptr %t6)
+ store ptr %t7, ptr %sc_l_hm_0
+ %t8 = call ptr @sc_rnew_r12()
+ store ptr %t8, ptr %sc_l_seen_0
+ %t9 = call ptr @scr_arr_new_small(i32 2)
+ store ptr %t9, ptr %sc_l_out_0
+ %t11 = fptosi double 0x0000000000000000 to i64
+ store i64 %t11, ptr %s10
+ br label %loop.c3
+loop.c3:
+ %t12 = load ptr, ptr %sc_l_hm_0
+ %t13 = getelementptr inbounds %ScrArr, ptr %t12, i64 0, i32 1
+ %t14 = load i64, ptr %t13, !tbaa !2
+ %t15 = load i64, ptr %s10
+ %t16 = icmp ult i64 %t15, %t14
+ br i1 %t16, label %loop.b4, label %loop.e2
+loop.b4:
+ %t18 = load ptr, ptr %sc_l_hm_0
+ %t19 = load i64, ptr %s10
+ %t20 = load i64, ptr %s10
+ %t21 = sitofp i64 %t20 to double
+ %t22 = trunc i64 %t20 to i32
+ %t23 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2
+ %t24 = load i64, ptr %t23, !tbaa !2
+ %t25 = icmp ult i64 %t19, %t24
+ br i1 %t25, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t26 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6
+ %t27 = load i32, ptr %t26, !tbaa !2
+ %t29 = zext i32 %t27 to i64
+ %t28 = icmp ult i64 %t19, %t29
+ br i1 %t28, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t30 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1
+ %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t32 = icmp ult i64 %t19, %t31
+ br i1 %t32, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t33 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9
+ %t34 = load ptr, ptr %t33, !tbaa !2
+ %t35 = getelementptr inbounds i8, ptr %t34, i64 %t19
+ %t36 = load i8, ptr %t35, !tbaa !4
+ %t37 = icmp eq i8 %t36, 1
+ br i1 %t37, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t38 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8
+ %t39 = load ptr, ptr %t38, !tbaa !2
+ %t40 = getelementptr inbounds i64, ptr %t39, i64 %t19
+ %t41 = load ptr, ptr %t40, !tbaa !6
+ %t42 = call ptr @sc_rc_retain_str(ptr %t41)
+ store ptr %t42, ptr %s17
+ br label %local.array.join8
+local.array.slow6:
+ %t43 = call ptr @scr_arr_peek_ref(ptr %t18, double %t21)
+ %t44 = icmp ne ptr %t43, null
+ br i1 %t44, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ %t45 = call ptr @sc_rc_retain_str(ptr %t43)
+ store ptr %t45, ptr %s17
+ br label %local.array.join8
+local.array.missing7:
+ store ptr null, ptr %s17
+ br label %local.array.join8
+local.array.join8:
+ %t46 = load ptr, ptr %s17
+ %t49 = icmp eq ptr %t46, null
+ %t48 = select i1 %t49, i32 1, i32 0
+ switch i32 %t48, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ]
+u.a17:
+ %t50 = call ptr @sc_rc_retain_str(ptr %t46)
+ store ptr %t50, ptr %s47
+ br label %us.j15
+u.a18:
+ store ptr @sc_lit_4134463689533233, ptr %s47
+ br label %us.j15
+u.bad16:
+ call void @sc_bad_tag()
+ unreachable
+us.j15:
+ %t51 = load ptr, ptr %s47
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u19, label %exc.k20
+exc.u19:
+ %t55 = load ptr, ptr %s17
+ call void @scr_str_release(ptr %t55)
+ call void @scr_str_release(ptr %t51)
+ br label %exc.cleanup21
+exc.k20:
+ store ptr %t51, ptr %sc_l_m_0
+ %t56 = load ptr, ptr %s17
+ call void @scr_str_release(ptr %t56)
+ %t57 = load ptr, ptr %sc_l_m_0
+ %t58 = call zeroext i1 @sc_streq_1834571860458263(ptr %t57)
+ br i1 %t58, label %if.t22, label %if.f24
+if.t22:
+ %t59 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t59)
+ store ptr @sc_lit_1613346130462307, ptr %sc_l_m_0
+ br label %if.j23
+if.f24:
+ %t60 = load ptr, ptr %sc_l_m_0
+ %t61 = call zeroext i1 @sc_streq_367446482893939(ptr %t60)
+ store i1 %t61, ptr %s62
+ br i1 %t61, label %log.r25, label %log.j26
+log.r25:
+ %t63 = load ptr, ptr %sc_l_seen_0
+ %t64 = call ptr @sc_rretain_r12(ptr %t63)
+ %t66 = getelementptr inbounds %sc_rs_r12, ptr %t64, i64 0, i32 1
+ %t67 = load ptr, ptr %t66
+ store double 0x0000000000000000, ptr %s68
+ %t69 = call zeroext i1 @scr_map_get_str_f64(ptr %t67, ptr @sc_lit_3185835515143599, ptr %s68)
+ br i1 %t69, label %rkg.h28, label %rkg.n29
+rkg.h28:
+ %t70 = load double, ptr %s68
+ %t71 = call ptr @scr_union_new_f64(i32 0, double %t70)
+ store ptr %t71, ptr %s65
+ br label %rkg.j27
+rkg.n29:
+ store ptr @sc_unit_3, ptr %s65
+ br label %rkg.j27
+rkg.j27:
+ %t72 = load ptr, ptr %s65
+ %t75 = getelementptr inbounds %ScrUnion, ptr %t72, i64 0, i32 1
+ %t74 = load i32, ptr %t75
+ %t73 = icmp eq i32 %t74, 1
+ store i1 %t73, ptr %s62
+ call void @sc_rrelease_r12(ptr %t64)
+ call void @scr_union_release(ptr %t72)
+ br label %log.j26
+log.j26:
+ %t76 = load i1, ptr %s62
+ br i1 %t76, label %if.t30, label %if.j31
+if.t30:
+ %t77 = load ptr, ptr %sc_l_seen_0
+ %t78 = call ptr @sc_rretain_r12(ptr %t77)
+ %t80 = getelementptr inbounds %sc_rs_r12, ptr %t78, i64 0, i32 1
+ %t81 = load ptr, ptr %t80
+ store double 0x0000000000000000, ptr %s82
+ %t83 = call zeroext i1 @scr_map_get_str_f64(ptr %t81, ptr @sc_lit_367446482893939, ptr %s82)
+ br i1 %t83, label %rkg.h33, label %rkg.n34
+rkg.h33:
+ %t84 = load double, ptr %s82
+ %t85 = call ptr @scr_union_new_f64(i32 0, double %t84)
+ store ptr %t85, ptr %s79
+ br label %rkg.j32
+rkg.n34:
+ store ptr @sc_unit_3, ptr %s79
+ br label %rkg.j32
+rkg.j32:
+ %t86 = load ptr, ptr %s79
+ %t89 = getelementptr inbounds %ScrUnion, ptr %t86, i64 0, i32 1
+ %t88 = load i32, ptr %t89
+ %t87 = icmp eq i32 %t88, 1
+ call void @sc_rrelease_r12(ptr %t78)
+ call void @scr_union_release(ptr %t86)
+ br i1 %t87, label %if.t35, label %if.j36
+if.t35:
+ %t90 = load ptr, ptr %sc_l_seen_0
+ %t91 = call ptr @sc_rretain_r12(ptr %t90)
+ %t92 = getelementptr inbounds %sc_rs_r12, ptr %t91, i64 0, i32 1
+ %t93 = load ptr, ptr %t92
+ call void @scr_map_set_str_f64(ptr %t93, ptr @sc_lit_367446482893939, double 0x3FF0000000000000)
+ call void @sc_rrelease_r12(ptr %t91)
+ %t94 = load ptr, ptr %sc_l_out_0
+ %t95 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 1
+ %t96 = load i64, ptr %t95, !tbaa !2
+ %t99 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 2
+ %t97 = load i64, ptr %t99, !tbaa !2
+ %t98 = icmp ult i64 %t96, %t97
+ br i1 %t98, label %arr.push.dense37, label %arr.push.slow38
+arr.push.dense37:
+ %t100 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 8
+ %t102 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 9
+ %t101 = load ptr, ptr %t100, !tbaa !2
+ %t103 = load ptr, ptr %t102, !tbaa !2
+ %t104 = getelementptr inbounds i8, ptr %t103, i64 %t96
+ %t105 = getelementptr inbounds i64, ptr %t101, i64 %t96
+ store ptr @sc_lit_367446482893939, ptr %t105, !tbaa !6
+ store i8 1, ptr %t104, !tbaa !4
+ %t106 = add nuw i64 %t96, 1
+ store i64 %t106, ptr %t95, !tbaa !2
+ %t108 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 6
+ %t109 = load i32, ptr %t108, !tbaa !2
+ %t113 = zext i32 %t109 to i64
+ %t110 = icmp eq i64 %t113, %t96
+ %t111 = add i32 %t109, 1
+ %t112 = select i1 %t110, i32 %t111, i32 %t109
+ store i32 %t112, ptr %t108, !tbaa !2
+ %t107 = sitofp i64 %t106 to double
+ br label %arr.push.join39
+arr.push.slow38:
+ %t114 = call double @scr_arr_push_ref(ptr %t94, ptr @sc_lit_367446482893939) cold
+ br label %arr.push.join39
+arr.push.join39:
+ %t115 = phi double [ %t107, %arr.push.dense37 ], [ %t114, %arr.push.slow38 ]
+ br label %if.j36
+if.j36:
+ %t116 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t116)
+ store ptr @sc_lit_3185835515143599, ptr %sc_l_m_0
+ br label %if.j31
+if.j31:
+ br label %if.j23
+if.j23:
+ %t117 = load ptr, ptr %sc_l_seen_0
+ %t118 = call ptr @sc_rretain_r12(ptr %t117)
+ %t119 = load ptr, ptr %sc_l_m_0
+ %t120 = call ptr @sc_rc_retain_str(ptr %t119)
+ %t122 = getelementptr inbounds %sc_rs_r12, ptr %t118, i64 0, i32 1
+ %t123 = load ptr, ptr %t122
+ store double 0x0000000000000000, ptr %s124
+ %t125 = call zeroext i1 @scr_map_get_str_f64(ptr %t123, ptr %t120, ptr %s124)
+ br i1 %t125, label %rkg.h41, label %rkg.n42
+rkg.h41:
+ %t126 = load double, ptr %s124
+ %t127 = call ptr @scr_union_new_f64(i32 0, double %t126)
+ store ptr %t127, ptr %s121
+ br label %rkg.j40
+rkg.n42:
+ store ptr @sc_unit_3, ptr %s121
+ br label %rkg.j40
+rkg.j40:
+ %t128 = load ptr, ptr %s121
+ %t131 = getelementptr inbounds %ScrUnion, ptr %t128, i64 0, i32 1
+ %t130 = load i32, ptr %t131
+ %t129 = icmp eq i32 %t130, 1
+ call void @sc_rrelease_r12(ptr %t118)
+ call void @scr_str_release(ptr %t120)
+ call void @scr_union_release(ptr %t128)
+ br i1 %t129, label %if.t43, label %if.j44
+if.t43:
+ %t132 = load ptr, ptr %sc_l_seen_0
+ %t133 = call ptr @sc_rretain_r12(ptr %t132)
+ %t134 = load ptr, ptr %sc_l_m_0
+ %t135 = call ptr @sc_rc_retain_str(ptr %t134)
+ %t136 = getelementptr inbounds %sc_rs_r12, ptr %t133, i64 0, i32 1
+ %t137 = load ptr, ptr %t136
+ call void @scr_map_set_str_f64(ptr %t137, ptr %t135, double 0x3FF0000000000000)
+ br label %rks.j45
+rks.j45:
+ call void @sc_rrelease_r12(ptr %t133)
+ call void @scr_str_release(ptr %t135)
+ %t138 = load ptr, ptr %sc_l_out_0
+ %t139 = load ptr, ptr %sc_l_m_0
+ %t140 = call ptr @sc_rc_retain_str(ptr %t139)
+ %t141 = getelementptr inbounds %ScrArr, ptr %t138, i32 0, i32 1
+ %t142 = load i64, ptr %t141, !tbaa !2
+ %t145 = getelementptr inbounds %ScrArr, ptr %t138, i32 0, i32 2
+ %t143 = load i64, ptr %t145, !tbaa !2
+ %t144 = icmp ult i64 %t142, %t143
+ br i1 %t144, label %arr.push.dense46, label %arr.push.slow47
+arr.push.dense46:
+ %t146 = getelementptr inbounds %ScrArr, ptr %t138, i32 0, i32 8
+ %t148 = getelementptr inbounds %ScrArr, ptr %t138, i32 0, i32 9
+ %t147 = load ptr, ptr %t146, !tbaa !2
+ %t149 = load ptr, ptr %t148, !tbaa !2
+ %t150 = getelementptr inbounds i8, ptr %t149, i64 %t142
+ %t151 = getelementptr inbounds i64, ptr %t147, i64 %t142
+ store ptr %t140, ptr %t151, !tbaa !6
+ store i8 1, ptr %t150, !tbaa !4
+ %t152 = add nuw i64 %t142, 1
+ store i64 %t152, ptr %t141, !tbaa !2
+ %t154 = getelementptr inbounds %ScrArr, ptr %t138, i32 0, i32 6
+ %t155 = load i32, ptr %t154, !tbaa !2
+ %t159 = zext i32 %t155 to i64
+ %t156 = icmp eq i64 %t159, %t142
+ %t157 = add i32 %t155, 1
+ %t158 = select i1 %t156, i32 %t157, i32 %t155
+ store i32 %t158, ptr %t154, !tbaa !2
+ %t153 = sitofp i64 %t152 to double
+ br label %arr.push.join48
+arr.push.slow47:
+ %t160 = call double @scr_arr_push_ref(ptr %t138, ptr %t140) cold
+ br label %arr.push.join48
+arr.push.join48:
+ %t161 = phi double [ %t153, %arr.push.dense46 ], [ %t160, %arr.push.slow47 ]
+ br label %if.j44
+if.j44:
+ %t162 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t162)
+ br label %loop.u5
+loop.u5:
+ %t163 = load i64, ptr %s10
+ %t164 = add nuw i64 %t163, 1
+ store i64 %t164, ptr %s10
+ br label %loop.c3
+loop.e2:
+ %t165 = load ptr, ptr %sc_l_oef_0
+ %t168 = getelementptr inbounds %ScrUnion, ptr %t165, i64 0, i32 1
+ %t167 = load i32, ptr %t168
+ %t166 = icmp ne i32 %t167, 1
+ br i1 %t166, label %if.t49, label %if.j50
+if.t49:
+ %t169 = load ptr, ptr %sc_l_req_0
+ %t170 = call ptr @scr_http_req_retain_v(ptr %t169)
+ %t171 = call ptr @scr_http_req_url(ptr %t170)
+ store ptr %t171, ptr %s172
+ %t173 = getelementptr inbounds %ScrStr, ptr %t171, i64 0, i32 1
+ %t174 = load i64, ptr %t173
+ %t175 = icmp ne i64 %t174, 0
+ br i1 %t175, label %log.j52, label %log.r51
+log.r51:
+ call void @scr_str_release(ptr %t171)
+ store ptr @sc_lit_2434240011052594, ptr %s172
+ br label %log.j52
+log.j52:
+ %t176 = load ptr, ptr %s172
+ store ptr %t176, ptr %sc_l_url_0
+ call void @scr_http_req_release(ptr %t170)
+ %t177 = load ptr, ptr %sc_l_url_0
+ %t178 = call ptr @sc_rc_retain_str(ptr %t177)
+ store ptr %t178, ptr %sc_l_path_0
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_qs_0
+ %t179 = load ptr, ptr %sc_l_url_0
+ %t180 = call double @scr_str_index_of(ptr %t179, ptr @sc_lit_2437473434951379, double 0x0000000000000000)
+ %t181 = fptosi double %t180 to i32
+ store i32 %t181, ptr %sc_l_qi_0
+ %t182 = load i32, ptr %sc_l_qi_0
+ %t183 = sitofp i32 %t182 to double
+ %t185 = sext i32 %t182 to i64
+ %t184 = icmp sge i64 %t185, 0
+ br i1 %t184, label %if.t53, label %if.j54
+if.t53:
+ %t186 = load ptr, ptr %sc_l_url_0
+ %t187 = load i32, ptr %sc_l_qi_0
+ %t188 = sitofp i32 %t187 to double
+ %t189 = call ptr @scr_str_slice(ptr %t186, double 0x0000000000000000, double %t188)
+ %t190 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t190)
+ store ptr %t189, ptr %sc_l_path_0
+ %t191 = load ptr, ptr %sc_l_url_0
+ %t192 = load i32, ptr %sc_l_qi_0
+ %t193 = sitofp i32 %t192 to double
+ %t195 = sext i32 %t192 to i64
+ %t196 = add nsw i64 %t195, 1
+ %t198 = trunc i64 %t196 to i32
+ %t197 = sitofp i64 %t196 to double
+ %t199 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t200 = call ptr @scr_str_slice(ptr %t191, double %t197, double %t199)
+ %t201 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t201)
+ store ptr %t200, ptr %sc_l_qs_0
+ br label %if.j54
+if.j54:
+ %t202 = load ptr, ptr %sc_l_oef_0
+ %t203 = getelementptr inbounds %ScrUnion, ptr %t202, i64 0, i32 5
+ %t204 = load ptr, ptr %t203
+ %t205 = call ptr @sc_new__x25_m5_MethodNotAllowedError()
+ %t206 = load ptr, ptr %sc_l_out_0
+ %t207 = call ptr @scr_arr_join(ptr %t206, ptr @sc_lit_3662817572149066)
+ call void @sc_bf__x25__x25_m5_MethodNotAllowedError_constructor(ptr %t205, ptr %t207)
+ %t208 = load i32, ptr %exc.cell
+ %t209 = icmp ne i32 %t208, 0
+ %t210 = call i1 @llvm.expect.i1(i1 %t209, i1 false)
+ br i1 %t210, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @scr_str_release(ptr %t207)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t205)
+ br label %exc.cleanup57
+exc.k56:
+ call void @scr_str_release(ptr %t207)
+ %t211 = call ptr @sc_td_15(ptr %t205)
+ %t212 = call ptr @sc_new__x25_m5_CtxCore()
+ %t213 = call ptr @sc_new__x25_m5_ReqViewCore()
+ %t214 = load ptr, ptr %sc_l_req_0
+ %t215 = call ptr @scr_http_req_retain_v(ptr %t214)
+ %t216 = call ptr @scr_union_new_ref(i32 0, ptr %t215, ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null)
+ %t217 = load ptr, ptr %sc_l_qs_0
+ %t218 = load ptr, ptr %sc_l_path_0
+ call void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %t213, ptr %t216, ptr %t217, ptr %t218, ptr null, ptr null, ptr null, ptr null)
+ %t219 = load i32, ptr %exc.cell
+ %t220 = icmp ne i32 %t219, 0
+ %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false)
+ br i1 %t221, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @scr_union_release(ptr %t216)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t213)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t205)
+ call void @sc_rc_release_dyn(ptr %t211)
+ call void @sc_release__x25_m5_CtxCore(ptr %t212)
+ br label %exc.cleanup57
+exc.k59:
+ call void @scr_union_release(ptr %t216)
+ %t222 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %t212, ptr %t213, ptr %t222)
+ %t223 = load i32, ptr %exc.cell
+ %t224 = icmp ne i32 %t223, 0
+ %t225 = call i1 @llvm.expect.i1(i1 %t224, i1 false)
+ br i1 %t225, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t213)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t205)
+ call void @sc_rc_release_dyn(ptr %t211)
+ call void @sc_release__x25_m5_CtxCore(ptr %t212)
+ br label %exc.cleanup57
+exc.k61:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t213)
+ %t226 = getelementptr inbounds %ScrClosure, ptr %t204, i64 0, i32 1
+ %t227 = load ptr, ptr %t226
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t227(ptr %t204, ptr %t211, ptr %t212)
+ call void @scr_dyn_this_pop()
+ %t228 = load i32, ptr %exc.cell
+ %t229 = icmp ne i32 %t228, 0
+ %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false)
+ br i1 %t230, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t205)
+ br label %exc.cleanup57
+exc.k63:
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t205)
+ %t231 = load ptr, ptr %sc_l_sink_0
+ store ptr %t231, ptr %sc_l__x25_callbackReceiver_0
+ %t232 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t233 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t232, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t234 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t233)
+ %t235 = load i32, ptr %exc.cell
+ %t236 = icmp ne i32 %t235, 0
+ %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false)
+ br i1 %t237, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t234)
+ br label %exc.cleanup57
+exc.k65:
+ store ptr %t234, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t238 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t239 = getelementptr inbounds i8, ptr %t238, i64 8 ; ->kind
+ %t240 = load i32, ptr %t239
+ %t241 = icmp eq i32 %t240, 6
+ br i1 %t241, label %tern.t66, label %tern.f67
+tern.t66:
+ %t244 = call ptr @scr_dyn_undefined()
+ %t243 = call ptr @scr_dyn_retain_v(ptr %t244)
+ store ptr %t243, ptr %s242
+ br label %tern.j68
+tern.f67:
+ %t245 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t246 = call ptr @sc_rc_retain_dyn(ptr %t245)
+ %t247 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t246)
+ %t248 = load i32, ptr %exc.cell
+ %t249 = icmp ne i32 %t248, 0
+ %t250 = call i1 @llvm.expect.i1(i1 %t249, i1 false)
+ br i1 %t250, label %exc.u69, label %exc.k70
+exc.u69:
+ call void @sc_rc_release_dyn(ptr %t247)
+ br label %exc.cleanup71
+exc.k70:
+ store ptr %t247, ptr %s242
+ br label %tern.j68
+tern.j68:
+ %t251 = load ptr, ptr %s242
+ store ptr %t251, ptr %sc_l__x25_callback_0
+ %t252 = load ptr, ptr %sc_l__x25_callback_0
+ %t253 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t254 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t253, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t254)
+ %t255 = call ptr @scr_dyn_call(ptr %t252, ptr null, i64 0, ptr @sc_cs_3079164241922068)
+ call void @scr_dyn_this_pop()
+ %t256 = load i32, ptr %exc.cell
+ %t257 = icmp ne i32 %t256, 0
+ %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false)
+ br i1 %t258, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t254)
+ call void @sc_rc_release_dyn(ptr %t255)
+ br label %exc.cleanup74
+exc.k73:
+ %t259 = call zeroext i1 @sc_dc_3(ptr %t255, ptr null)
+ %t260 = load i32, ptr %exc.cell
+ %t261 = icmp ne i32 %t260, 0
+ %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false)
+ br i1 %t262, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t254)
+ call void @sc_rc_release_dyn(ptr %t255)
+ br label %exc.cleanup74
+exc.k76:
+ call void @sc_rc_release_dyn(ptr %t254)
+ call void @sc_rc_release_dyn(ptr %t255)
+ %t263 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t263)
+ %t264 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t264)
+ br i1 %t259, label %if.t77, label %if.j78
+if.t77:
+ %t265 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t265)
+ %t266 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t266)
+ %t267 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t267)
+ %t268 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t268)
+ %t269 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t269)
+ %t270 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t270)
+ ret void
+if.j78:
+ %t271 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t271)
+ %t272 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t273)
+ br label %if.j50
+if.j50:
+ %t274 = load ptr, ptr %sc_l_sink_0
+ store ptr %t274, ptr %sc_l__x25_callbackReceiver_1
+ %t275 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t276 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t275, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t277 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t276)
+ %t278 = load i32, ptr %exc.cell
+ %t279 = icmp ne i32 %t278, 0
+ %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false)
+ br i1 %t280, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t277)
+ br label %try.c79
+exc.k83:
+ store ptr %t277, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t281 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t282 = getelementptr inbounds i8, ptr %t281, i64 8 ; ->kind
+ %t283 = load i32, ptr %t282
+ %t284 = icmp eq i32 %t283, 6
+ br i1 %t284, label %tern.t84, label %tern.f85
+tern.t84:
+ %t287 = call ptr @scr_dyn_undefined()
+ %t286 = call ptr @scr_dyn_retain_v(ptr %t287)
+ store ptr %t286, ptr %s285
+ br label %tern.j86
+tern.f85:
+ %t288 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t289 = call ptr @sc_rc_retain_dyn(ptr %t288)
+ %t290 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t289)
+ %t291 = load i32, ptr %exc.cell
+ %t292 = icmp ne i32 %t291, 0
+ %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false)
+ br i1 %t293, label %exc.u87, label %exc.k88
+exc.u87:
+ call void @sc_rc_release_dyn(ptr %t290)
+ br label %exc.cleanup89
+exc.k88:
+ store ptr %t290, ptr %s285
+ br label %tern.j86
+tern.j86:
+ %t294 = load ptr, ptr %s285
+ store ptr %t294, ptr %sc_l__x25_callback_1
+ %t295 = load ptr, ptr %sc_l__x25_callback_1
+ %t296 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t297 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t296, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t298 = call ptr @sc_td_2(double 0x4079500000000000)
+ %t300 = getelementptr inbounds [1 x ptr], ptr %s299, i64 0, i64 0
+ store ptr %t298, ptr %t300
+ call void @scr_dyn_this_push_dyn(ptr %t297)
+ %t301 = call ptr @scr_dyn_call(ptr %t295, ptr %s299, i64 1, ptr @sc_cs_137127765515474)
+ call void @scr_dyn_this_pop()
+ %t302 = load i32, ptr %exc.cell
+ %t303 = icmp ne i32 %t302, 0
+ %t304 = call i1 @llvm.expect.i1(i1 %t303, i1 false)
+ br i1 %t304, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t297)
+ call void @sc_rc_release_dyn(ptr %t298)
+ call void @sc_rc_release_dyn(ptr %t301)
+ br label %exc.cleanup92
+exc.k91:
+ call void @sc_rc_release_dyn(ptr %t297)
+ call void @sc_rc_release_dyn(ptr %t298)
+ call void @sc_rc_release_dyn(ptr %t301)
+ %t305 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t305)
+ %t306 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t306)
+ %t307 = load ptr, ptr %sc_l_sink_0
+ store ptr %t307, ptr %sc_l__x25_callbackReceiver_2
+ %t308 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t309 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t308, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t310 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t309)
+ %t311 = load i32, ptr %exc.cell
+ %t312 = icmp ne i32 %t311, 0
+ %t313 = call i1 @llvm.expect.i1(i1 %t312, i1 false)
+ br i1 %t313, label %exc.u93, label %exc.k94
+exc.u93:
+ call void @sc_rc_release_dyn(ptr %t310)
+ br label %try.c79
+exc.k94:
+ store ptr %t310, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t314 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t315 = getelementptr inbounds i8, ptr %t314, i64 8 ; ->kind
+ %t316 = load i32, ptr %t315
+ %t317 = icmp eq i32 %t316, 6
+ br i1 %t317, label %tern.t95, label %tern.f96
+tern.t95:
+ %t320 = call ptr @scr_dyn_undefined()
+ %t319 = call ptr @scr_dyn_retain_v(ptr %t320)
+ store ptr %t319, ptr %s318
+ br label %tern.j97
+tern.f96:
+ %t321 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t322 = call ptr @sc_rc_retain_dyn(ptr %t321)
+ %t323 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t322)
+ %t324 = load i32, ptr %exc.cell
+ %t325 = icmp ne i32 %t324, 0
+ %t326 = call i1 @llvm.expect.i1(i1 %t325, i1 false)
+ br i1 %t326, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @sc_rc_release_dyn(ptr %t323)
+ br label %exc.cleanup100
+exc.k99:
+ store ptr %t323, ptr %s318
+ br label %tern.j97
+tern.j97:
+ %t327 = load ptr, ptr %s318
+ store ptr %t327, ptr %sc_l__x25_callback_2
+ %t328 = load ptr, ptr %sc_l__x25_callback_2
+ %t329 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_td_0(ptr @sc_lit_1143527378875226)
+ %t332 = load ptr, ptr %sc_l_out_0
+ %t333 = call ptr @scr_arr_join(ptr %t332, ptr @sc_lit_176469025513879)
+ %t334 = call ptr @sc_td_0(ptr %t333)
+ %t336 = getelementptr inbounds [2 x ptr], ptr %s335, i64 0, i64 0
+ store ptr %t331, ptr %t336
+ %t337 = getelementptr inbounds [2 x ptr], ptr %s335, i64 0, i64 1
+ store ptr %t334, ptr %t337
+ call void @scr_dyn_this_push_dyn(ptr %t330)
+ %t338 = call ptr @scr_dyn_call(ptr %t328, ptr %s335, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t339 = load i32, ptr %exc.cell
+ %t340 = icmp ne i32 %t339, 0
+ %t341 = call i1 @llvm.expect.i1(i1 %t340, i1 false)
+ br i1 %t341, label %exc.u101, label %exc.k102
+exc.u101:
+ call void @sc_rc_release_dyn(ptr %t330)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @scr_str_release(ptr %t333)
+ call void @sc_rc_release_dyn(ptr %t334)
+ call void @sc_rc_release_dyn(ptr %t338)
+ br label %exc.cleanup103
+exc.k102:
+ call void @sc_rc_release_dyn(ptr %t330)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @scr_str_release(ptr %t333)
+ call void @sc_rc_release_dyn(ptr %t334)
+ call void @sc_rc_release_dyn(ptr %t338)
+ %t342 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t342)
+ %t343 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t343)
+ %t344 = load ptr, ptr %sc_l_sink_0
+ store ptr %t344, ptr %sc_l__x25_callbackReceiver_3
+ %t345 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t346 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t345, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t347 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t346)
+ %t348 = load i32, ptr %exc.cell
+ %t349 = icmp ne i32 %t348, 0
+ %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false)
+ br i1 %t350, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t347)
+ br label %try.c79
+exc.k105:
+ store ptr %t347, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t351 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t352 = getelementptr inbounds i8, ptr %t351, i64 8 ; ->kind
+ %t353 = load i32, ptr %t352
+ %t354 = icmp eq i32 %t353, 6
+ br i1 %t354, label %tern.t106, label %tern.f107
+tern.t106:
+ %t357 = call ptr @scr_dyn_undefined()
+ %t356 = call ptr @scr_dyn_retain_v(ptr %t357)
+ store ptr %t356, ptr %s355
+ br label %tern.j108
+tern.f107:
+ %t358 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t359 = call ptr @sc_rc_retain_dyn(ptr %t358)
+ %t360 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t359)
+ %t361 = load i32, ptr %exc.cell
+ %t362 = icmp ne i32 %t361, 0
+ %t363 = call i1 @llvm.expect.i1(i1 %t362, i1 false)
+ br i1 %t363, label %exc.u109, label %exc.k110
+exc.u109:
+ call void @sc_rc_release_dyn(ptr %t360)
+ br label %exc.cleanup111
+exc.k110:
+ store ptr %t360, ptr %s355
+ br label %tern.j108
+tern.j108:
+ %t364 = load ptr, ptr %s355
+ store ptr %t364, ptr %sc_l__x25_callback_3
+ %t365 = load ptr, ptr %sc_l__x25_callback_3
+ %t366 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t367 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t366, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t368 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t369 = call ptr @sc_td_0(ptr @sc_lit_266676967674785)
+ %t371 = getelementptr inbounds [2 x ptr], ptr %s370, i64 0, i64 0
+ store ptr %t368, ptr %t371
+ %t372 = getelementptr inbounds [2 x ptr], ptr %s370, i64 0, i64 1
+ store ptr %t369, ptr %t372
+ call void @scr_dyn_this_push_dyn(ptr %t367)
+ %t373 = call ptr @scr_dyn_call(ptr %t365, ptr %s370, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t374 = load i32, ptr %exc.cell
+ %t375 = icmp ne i32 %t374, 0
+ %t376 = call i1 @llvm.expect.i1(i1 %t375, i1 false)
+ br i1 %t376, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t367)
+ call void @sc_rc_release_dyn(ptr %t368)
+ call void @sc_rc_release_dyn(ptr %t369)
+ call void @sc_rc_release_dyn(ptr %t373)
+ br label %exc.cleanup114
+exc.k113:
+ call void @sc_rc_release_dyn(ptr %t367)
+ call void @sc_rc_release_dyn(ptr %t368)
+ call void @sc_rc_release_dyn(ptr %t369)
+ call void @sc_rc_release_dyn(ptr %t373)
+ %t377 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t377)
+ %t378 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t378)
+ %t379 = load ptr, ptr %sc_l_sink_0
+ store ptr %t379, ptr %sc_l__x25_callbackReceiver_4
+ %t380 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t381 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t380, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t382 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t381)
+ %t383 = load i32, ptr %exc.cell
+ %t384 = icmp ne i32 %t383, 0
+ %t385 = call i1 @llvm.expect.i1(i1 %t384, i1 false)
+ br i1 %t385, label %exc.u115, label %exc.k116
+exc.u115:
+ call void @sc_rc_release_dyn(ptr %t382)
+ br label %try.c79
+exc.k116:
+ store ptr %t382, ptr %sc_l__x25_callbackBag_4
+ store i1 true, ptr %sc_l__x25_callbackPresent_4
+ %t386 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t387 = getelementptr inbounds i8, ptr %t386, i64 8 ; ->kind
+ %t388 = load i32, ptr %t387
+ %t389 = icmp eq i32 %t388, 6
+ br i1 %t389, label %tern.t117, label %tern.f118
+tern.t117:
+ %t392 = call ptr @scr_dyn_undefined()
+ %t391 = call ptr @scr_dyn_retain_v(ptr %t392)
+ store ptr %t391, ptr %s390
+ br label %tern.j119
+tern.f118:
+ %t393 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t394 = call ptr @sc_rc_retain_dyn(ptr %t393)
+ %t395 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t394)
+ %t396 = load i32, ptr %exc.cell
+ %t397 = icmp ne i32 %t396, 0
+ %t398 = call i1 @llvm.expect.i1(i1 %t397, i1 false)
+ br i1 %t398, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @sc_rc_release_dyn(ptr %t395)
+ br label %exc.cleanup122
+exc.k121:
+ store ptr %t395, ptr %s390
+ br label %tern.j119
+tern.j119:
+ %t399 = load ptr, ptr %s390
+ store ptr %t399, ptr %sc_l__x25_callback_4
+ %t400 = load ptr, ptr %sc_l__x25_callback_4
+ %t401 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t402 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t401, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t403 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802)
+ %t404 = call ptr @sc_td_0(ptr @sc_lit_1386027184562237)
+ %t406 = getelementptr inbounds [2 x ptr], ptr %s405, i64 0, i64 0
+ store ptr %t403, ptr %t406
+ %t407 = getelementptr inbounds [2 x ptr], ptr %s405, i64 0, i64 1
+ store ptr %t404, ptr %t407
+ call void @scr_dyn_this_push_dyn(ptr %t402)
+ %t408 = call ptr @scr_dyn_call(ptr %t400, ptr %s405, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t409 = load i32, ptr %exc.cell
+ %t410 = icmp ne i32 %t409, 0
+ %t411 = call i1 @llvm.expect.i1(i1 %t410, i1 false)
+ br i1 %t411, label %exc.u123, label %exc.k124
+exc.u123:
+ call void @sc_rc_release_dyn(ptr %t402)
+ call void @sc_rc_release_dyn(ptr %t403)
+ call void @sc_rc_release_dyn(ptr %t404)
+ call void @sc_rc_release_dyn(ptr %t408)
+ br label %exc.cleanup125
+exc.k124:
+ call void @sc_rc_release_dyn(ptr %t402)
+ call void @sc_rc_release_dyn(ptr %t403)
+ call void @sc_rc_release_dyn(ptr %t404)
+ call void @sc_rc_release_dyn(ptr %t408)
+ %t412 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t412)
+ %t413 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t413)
+ %t414 = load ptr, ptr %sc_l_sink_0
+ store ptr %t414, ptr %sc_l__x25_callbackReceiver_5
+ %t415 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t416 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t415, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t417 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t416)
+ %t418 = load i32, ptr %exc.cell
+ %t419 = icmp ne i32 %t418, 0
+ %t420 = call i1 @llvm.expect.i1(i1 %t419, i1 false)
+ br i1 %t420, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t417)
+ br label %try.c79
+exc.k127:
+ store ptr %t417, ptr %sc_l__x25_callbackBag_5
+ store i1 true, ptr %sc_l__x25_callbackPresent_5
+ %t421 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t422 = getelementptr inbounds i8, ptr %t421, i64 8 ; ->kind
+ %t423 = load i32, ptr %t422
+ %t424 = icmp eq i32 %t423, 6
+ br i1 %t424, label %tern.t128, label %tern.f129
+tern.t128:
+ %t427 = call ptr @scr_dyn_undefined()
+ %t426 = call ptr @scr_dyn_retain_v(ptr %t427)
+ store ptr %t426, ptr %s425
+ br label %tern.j130
+tern.f129:
+ %t428 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t429 = call ptr @sc_rc_retain_dyn(ptr %t428)
+ %t430 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t429)
+ %t431 = load i32, ptr %exc.cell
+ %t432 = icmp ne i32 %t431, 0
+ %t433 = call i1 @llvm.expect.i1(i1 %t432, i1 false)
+ br i1 %t433, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t430)
+ br label %exc.cleanup133
+exc.k132:
+ store ptr %t430, ptr %s425
+ br label %tern.j130
+tern.j130:
+ %t434 = load ptr, ptr %s425
+ store ptr %t434, ptr %sc_l__x25_callback_5
+ %t435 = load ptr, ptr %sc_l__x25_callback_5
+ %t436 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t437 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t436, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t438 = call ptr @sc_td_0(ptr @sc_lit_4003541287264371)
+ %t440 = getelementptr inbounds [1 x ptr], ptr %s439, i64 0, i64 0
+ store ptr %t438, ptr %t440
+ call void @scr_dyn_this_push_dyn(ptr %t437)
+ %t441 = call ptr @scr_dyn_call(ptr %t435, ptr %s439, i64 1, ptr @sc_cs_891738944038355)
+ call void @scr_dyn_this_pop()
+ %t442 = load i32, ptr %exc.cell
+ %t443 = icmp ne i32 %t442, 0
+ %t444 = call i1 @llvm.expect.i1(i1 %t443, i1 false)
+ br i1 %t444, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t437)
+ call void @sc_rc_release_dyn(ptr %t438)
+ call void @sc_rc_release_dyn(ptr %t441)
+ br label %exc.cleanup136
+exc.k135:
+ call void @sc_rc_release_dyn(ptr %t437)
+ call void @sc_rc_release_dyn(ptr %t438)
+ call void @sc_rc_release_dyn(ptr %t441)
+ %t445 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t445)
+ %t446 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t446)
+ br label %try.e81
+try.c79:
+ %t447 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t447, ptr %sc_l_e_0
+ %t448 = load ptr, ptr %sc_l_sink_0
+ store ptr %t448, ptr %sc_l__x25_callbackReceiver_6
+ %t449 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ %t450 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t449, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t451 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t450)
+ %t452 = load i32, ptr %exc.cell
+ %t453 = icmp ne i32 %t452, 0
+ %t454 = call i1 @llvm.expect.i1(i1 %t453, i1 false)
+ br i1 %t454, label %exc.u137, label %exc.k138
+exc.u137:
+ call void @sc_rc_release_dyn(ptr %t451)
+ br label %exc.cleanup139
+exc.k138:
+ store ptr %t451, ptr %sc_l__x25_callbackBag_6
+ store i1 true, ptr %sc_l__x25_callbackPresent_6
+ %t455 = load ptr, ptr %sc_l__x25_callbackBag_6
+ %t456 = getelementptr inbounds i8, ptr %t455, i64 8 ; ->kind
+ %t457 = load i32, ptr %t456
+ %t458 = icmp eq i32 %t457, 6
+ br i1 %t458, label %tern.t140, label %tern.f141
+tern.t140:
+ %t461 = call ptr @scr_dyn_undefined()
+ %t460 = call ptr @scr_dyn_retain_v(ptr %t461)
+ store ptr %t460, ptr %s459
+ br label %tern.j142
+tern.f141:
+ %t462 = load ptr, ptr %sc_l__x25_callbackBag_6
+ %t463 = call ptr @sc_rc_retain_dyn(ptr %t462)
+ %t464 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t463)
+ %t465 = load i32, ptr %exc.cell
+ %t466 = icmp ne i32 %t465, 0
+ %t467 = call i1 @llvm.expect.i1(i1 %t466, i1 false)
+ br i1 %t467, label %exc.u143, label %exc.k144
+exc.u143:
+ call void @sc_rc_release_dyn(ptr %t464)
+ br label %exc.cleanup145
+exc.k144:
+ store ptr %t464, ptr %s459
+ br label %tern.j142
+tern.j142:
+ %t468 = load ptr, ptr %s459
+ store ptr %t468, ptr %sc_l__x25_callback_6
+ %t469 = load ptr, ptr %sc_l__x25_callback_6
+ %t470 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ %t471 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t470, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t471)
+ %t472 = call ptr @scr_dyn_call(ptr %t469, ptr null, i64 0, ptr @sc_cs_3499760650817953)
+ call void @scr_dyn_this_pop()
+ %t473 = load i32, ptr %exc.cell
+ %t474 = icmp ne i32 %t473, 0
+ %t475 = call i1 @llvm.expect.i1(i1 %t474, i1 false)
+ br i1 %t475, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @sc_rc_release_dyn(ptr %t471)
+ call void @sc_rc_release_dyn(ptr %t472)
+ br label %exc.cleanup148
+exc.k147:
+ call void @sc_rc_release_dyn(ptr %t471)
+ call void @sc_rc_release_dyn(ptr %t472)
+ %t476 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t476)
+ %t477 = load ptr, ptr %sc_l__x25_callback_6
+ call void @sc_rc_release_dyn(ptr %t477)
+ %t478 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t478)
+ br label %try.e81
+try.e81:
+ %t479 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t479)
+ %t480 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t480)
+ %t481 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t481)
+ ret void
+exc.cleanup21:
+ %t482 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t482)
+ %t483 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t483)
+ %t484 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t484)
+ ret void
+exc.cleanup57:
+ %t485 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t485)
+ %t486 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t486)
+ %t487 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t487)
+ %t488 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t488)
+ %t489 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t489)
+ %t490 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t490)
+ ret void
+exc.cleanup71:
+ %t491 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t491)
+ %t492 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t492)
+ %t493 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t493)
+ %t494 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t494)
+ %t495 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t495)
+ %t496 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t496)
+ %t497 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t497)
+ ret void
+exc.cleanup74:
+ %t498 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t498)
+ %t499 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t499)
+ %t500 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t500)
+ %t501 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t501)
+ %t502 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t502)
+ %t503 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t503)
+ %t504 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t504)
+ %t505 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t505)
+ ret void
+exc.cleanup89:
+ %t506 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t506)
+ br label %try.c79
+exc.cleanup92:
+ %t507 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t507)
+ %t508 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t508)
+ br label %try.c79
+exc.cleanup100:
+ %t509 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t509)
+ br label %try.c79
+exc.cleanup103:
+ %t510 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t510)
+ %t511 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t511)
+ br label %try.c79
+exc.cleanup111:
+ %t512 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t512)
+ br label %try.c79
+exc.cleanup114:
+ %t513 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t513)
+ %t514 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t514)
+ br label %try.c79
+exc.cleanup122:
+ %t515 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t515)
+ br label %try.c79
+exc.cleanup125:
+ %t516 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t516)
+ %t517 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t517)
+ br label %try.c79
+exc.cleanup133:
+ %t518 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t518)
+ br label %try.c79
+exc.cleanup136:
+ %t519 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t519)
+ %t520 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t520)
+ br label %try.c79
+exc.cleanup139:
+ %t521 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t521)
+ %t522 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t522)
+ %t523 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t523)
+ %t524 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t524)
+ ret void
+exc.cleanup145:
+ %t525 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t525)
+ %t526 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t526)
+ %t527 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t527)
+ %t528 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t528)
+ %t529 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t529)
+ ret void
+exc.cleanup148:
+ %t530 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t530)
+ %t531 = load ptr, ptr %sc_l__x25_callback_6
+ call void @sc_rc_release_dyn(ptr %t531)
+ %t532 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t532)
+ %t533 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t533)
+ %t534 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t534)
+ %t535 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t535)
+ ret void
+}
+define internal void @sc_f__x25_m5_allow405(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ call void @sc_bf__x25_m5_allow405(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_rrelease_r5(ptr %p0)
+ call void @scr_http_req_release(ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p2)
+ call void @scr_union_release(ptr %p3)
+ ret void
+}
+
+define internal void @sc_bf__x25_m5_send500(ptr %p_sc_l_sink_0) #0 { ; %m5.send500
+entry:
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_4 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_5 = alloca ptr ; %callback
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l__x25_callbackReceiver_6 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_6 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_6 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_6 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s15 = alloca ptr
+ %s49 = alloca ptr
+ %s79 = alloca ptr
+ %s93 = alloca [1 x ptr]
+ %s112 = alloca ptr
+ %s127 = alloca [2 x ptr]
+ %s147 = alloca ptr
+ %s162 = alloca [2 x ptr]
+ %s182 = alloca ptr
+ %s196 = alloca [1 x ptr]
+ %s216 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr null, ptr %sc_l__x25_callbackReceiver_4
+ store ptr null, ptr %sc_l__x25_callbackBag_4
+ store ptr null, ptr %sc_l__x25_callback_4
+ store ptr null, ptr %sc_l__x25_callbackReceiver_5
+ store ptr null, ptr %sc_l__x25_callbackBag_5
+ store ptr null, ptr %sc_l__x25_callback_5
+ store ptr null, ptr %sc_l_e_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_6
+ store ptr null, ptr %sc_l__x25_callbackBag_6
+ store ptr null, ptr %sc_l__x25_callback_6
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_sink_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t7 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t6)
+ %t8 = load i32, ptr %exc.cell
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t7)
+ br label %try.c2
+exc.k6:
+ store ptr %t7, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 6
+ br i1 %t14, label %tern.t7, label %tern.f8
+tern.t7:
+ %t17 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t17)
+ store ptr %t16, ptr %s15
+ br label %tern.j9
+tern.f8:
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = call ptr @sc_rc_retain_dyn(ptr %t18)
+ %t20 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup12
+exc.k11:
+ store ptr %t20, ptr %s15
+ br label %tern.j9
+tern.j9:
+ %t24 = load ptr, ptr %s15
+ store ptr %t24, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t27)
+ %t28 = call ptr @scr_dyn_call(ptr %t25, ptr null, i64 0, ptr @sc_cs_3079164241922068)
+ call void @scr_dyn_this_pop()
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ br label %exc.cleanup15
+exc.k14:
+ %t32 = call zeroext i1 @sc_dc_3(ptr %t28, ptr null)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ br label %exc.cleanup15
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ br i1 %t32, label %if.t18, label %if.f20
+if.t18:
+ %t38 = load ptr, ptr %sc_l_sink_0
+ store ptr %t38, ptr %sc_l__x25_callbackReceiver_1
+ %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t41 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t40)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @sc_rc_release_dyn(ptr %t41)
+ br label %try.c2
+exc.k22:
+ store ptr %t41, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t45 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t46 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t48 = icmp eq i32 %t47, 6
+ br i1 %t48, label %tern.t23, label %tern.f24
+tern.t23:
+ %t51 = call ptr @scr_dyn_undefined()
+ %t50 = call ptr @scr_dyn_retain_v(ptr %t51)
+ store ptr %t50, ptr %s49
+ br label %tern.j25
+tern.f24:
+ %t52 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t53 = call ptr @sc_rc_retain_dyn(ptr %t52)
+ %t54 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t53)
+ %t55 = load i32, ptr %exc.cell
+ %t56 = icmp ne i32 %t55, 0
+ %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false)
+ br i1 %t57, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t54)
+ br label %exc.cleanup28
+exc.k27:
+ store ptr %t54, ptr %s49
+ br label %tern.j25
+tern.j25:
+ %t58 = load ptr, ptr %s49
+ store ptr %t58, ptr %sc_l__x25_callback_1
+ %t59 = load ptr, ptr %sc_l__x25_callback_1
+ %t60 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t61)
+ %t62 = call ptr @scr_dyn_call(ptr %t59, ptr null, i64 0, ptr @sc_cs_3499760650817953)
+ call void @scr_dyn_this_pop()
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ br label %exc.cleanup31
+exc.k30:
+ call void @sc_rc_release_dyn(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ %t66 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t66)
+ %t67 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %if.j19
+if.f20:
+ %t68 = load ptr, ptr %sc_l_sink_0
+ store ptr %t68, ptr %sc_l__x25_callbackReceiver_2
+ %t69 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t70 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t69, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t71 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t70)
+ %t72 = load i32, ptr %exc.cell
+ %t73 = icmp ne i32 %t72, 0
+ %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false)
+ br i1 %t74, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t71)
+ br label %try.c2
+exc.k33:
+ store ptr %t71, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t75 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t76 = getelementptr inbounds i8, ptr %t75, i64 8 ; ->kind
+ %t77 = load i32, ptr %t76
+ %t78 = icmp eq i32 %t77, 6
+ br i1 %t78, label %tern.t34, label %tern.f35
+tern.t34:
+ %t81 = call ptr @scr_dyn_undefined()
+ %t80 = call ptr @scr_dyn_retain_v(ptr %t81)
+ store ptr %t80, ptr %s79
+ br label %tern.j36
+tern.f35:
+ %t82 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t83 = call ptr @sc_rc_retain_dyn(ptr %t82)
+ %t84 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t83)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_rc_release_dyn(ptr %t84)
+ br label %exc.cleanup39
+exc.k38:
+ store ptr %t84, ptr %s79
+ br label %tern.j36
+tern.j36:
+ %t88 = load ptr, ptr %s79
+ store ptr %t88, ptr %sc_l__x25_callback_2
+ %t89 = load ptr, ptr %sc_l__x25_callback_2
+ %t90 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t91 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t90, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t92 = call ptr @sc_td_2(double 0x407F400000000000)
+ %t94 = getelementptr inbounds [1 x ptr], ptr %s93, i64 0, i64 0
+ store ptr %t92, ptr %t94
+ call void @scr_dyn_this_push_dyn(ptr %t91)
+ %t95 = call ptr @scr_dyn_call(ptr %t89, ptr %s93, i64 1, ptr @sc_cs_137127765515474)
+ call void @scr_dyn_this_pop()
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t91)
+ call void @sc_rc_release_dyn(ptr %t92)
+ call void @sc_rc_release_dyn(ptr %t95)
+ br label %exc.cleanup42
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t91)
+ call void @sc_rc_release_dyn(ptr %t92)
+ call void @sc_rc_release_dyn(ptr %t95)
+ %t99 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t99)
+ %t100 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t100)
+ %t101 = load ptr, ptr %sc_l_sink_0
+ store ptr %t101, ptr %sc_l__x25_callbackReceiver_3
+ %t102 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t103 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t102, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t104 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t103)
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @sc_rc_release_dyn(ptr %t104)
+ br label %try.c2
+exc.k44:
+ store ptr %t104, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t108 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t109 = getelementptr inbounds i8, ptr %t108, i64 8 ; ->kind
+ %t110 = load i32, ptr %t109
+ %t111 = icmp eq i32 %t110, 6
+ br i1 %t111, label %tern.t45, label %tern.f46
+tern.t45:
+ %t114 = call ptr @scr_dyn_undefined()
+ %t113 = call ptr @scr_dyn_retain_v(ptr %t114)
+ store ptr %t113, ptr %s112
+ br label %tern.j47
+tern.f46:
+ %t115 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t116 = call ptr @sc_rc_retain_dyn(ptr %t115)
+ %t117 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t116)
+ %t118 = load i32, ptr %exc.cell
+ %t119 = icmp ne i32 %t118, 0
+ %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false)
+ br i1 %t120, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t117)
+ br label %exc.cleanup50
+exc.k49:
+ store ptr %t117, ptr %s112
+ br label %tern.j47
+tern.j47:
+ %t121 = load ptr, ptr %s112
+ store ptr %t121, ptr %sc_l__x25_callback_3
+ %t122 = load ptr, ptr %sc_l__x25_callback_3
+ %t123 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t124 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t123, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t125 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t126 = call ptr @sc_td_0(ptr @sc_lit_266676967674785)
+ %t128 = getelementptr inbounds [2 x ptr], ptr %s127, i64 0, i64 0
+ store ptr %t125, ptr %t128
+ %t129 = getelementptr inbounds [2 x ptr], ptr %s127, i64 0, i64 1
+ store ptr %t126, ptr %t129
+ call void @scr_dyn_this_push_dyn(ptr %t124)
+ %t130 = call ptr @scr_dyn_call(ptr %t122, ptr %s127, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u51, label %exc.k52
+exc.u51:
+ call void @sc_rc_release_dyn(ptr %t124)
+ call void @sc_rc_release_dyn(ptr %t125)
+ call void @sc_rc_release_dyn(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t130)
+ br label %exc.cleanup53
+exc.k52:
+ call void @sc_rc_release_dyn(ptr %t124)
+ call void @sc_rc_release_dyn(ptr %t125)
+ call void @sc_rc_release_dyn(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t130)
+ %t134 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t134)
+ %t135 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t135)
+ %t136 = load ptr, ptr %sc_l_sink_0
+ store ptr %t136, ptr %sc_l__x25_callbackReceiver_4
+ %t137 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t138 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t137, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t139 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t138)
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t139)
+ br label %try.c2
+exc.k55:
+ store ptr %t139, ptr %sc_l__x25_callbackBag_4
+ store i1 true, ptr %sc_l__x25_callbackPresent_4
+ %t143 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t144 = getelementptr inbounds i8, ptr %t143, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t146 = icmp eq i32 %t145, 6
+ br i1 %t146, label %tern.t56, label %tern.f57
+tern.t56:
+ %t149 = call ptr @scr_dyn_undefined()
+ %t148 = call ptr @scr_dyn_retain_v(ptr %t149)
+ store ptr %t148, ptr %s147
+ br label %tern.j58
+tern.f57:
+ %t150 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t151 = call ptr @sc_rc_retain_dyn(ptr %t150)
+ %t152 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t151)
+ %t153 = load i32, ptr %exc.cell
+ %t154 = icmp ne i32 %t153, 0
+ %t155 = call i1 @llvm.expect.i1(i1 %t154, i1 false)
+ br i1 %t155, label %exc.u59, label %exc.k60
+exc.u59:
+ call void @sc_rc_release_dyn(ptr %t152)
+ br label %exc.cleanup61
+exc.k60:
+ store ptr %t152, ptr %s147
+ br label %tern.j58
+tern.j58:
+ %t156 = load ptr, ptr %s147
+ store ptr %t156, ptr %sc_l__x25_callback_4
+ %t157 = load ptr, ptr %sc_l__x25_callback_4
+ %t158 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t159 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t158, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t160 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802)
+ %t161 = call ptr @sc_td_0(ptr @sc_lit_1957914011051515)
+ %t163 = getelementptr inbounds [2 x ptr], ptr %s162, i64 0, i64 0
+ store ptr %t160, ptr %t163
+ %t164 = getelementptr inbounds [2 x ptr], ptr %s162, i64 0, i64 1
+ store ptr %t161, ptr %t164
+ call void @scr_dyn_this_push_dyn(ptr %t159)
+ %t165 = call ptr @scr_dyn_call(ptr %t157, ptr %s162, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t166 = load i32, ptr %exc.cell
+ %t167 = icmp ne i32 %t166, 0
+ %t168 = call i1 @llvm.expect.i1(i1 %t167, i1 false)
+ br i1 %t168, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t159)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_rc_release_dyn(ptr %t161)
+ call void @sc_rc_release_dyn(ptr %t165)
+ br label %exc.cleanup64
+exc.k63:
+ call void @sc_rc_release_dyn(ptr %t159)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_rc_release_dyn(ptr %t161)
+ call void @sc_rc_release_dyn(ptr %t165)
+ %t169 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t169)
+ %t170 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t170)
+ %t171 = load ptr, ptr %sc_l_sink_0
+ store ptr %t171, ptr %sc_l__x25_callbackReceiver_5
+ %t172 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t173 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t172, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t174 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t173)
+ %t175 = load i32, ptr %exc.cell
+ %t176 = icmp ne i32 %t175, 0
+ %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false)
+ br i1 %t177, label %exc.u65, label %exc.k66
+exc.u65:
+ call void @sc_rc_release_dyn(ptr %t174)
+ br label %try.c2
+exc.k66:
+ store ptr %t174, ptr %sc_l__x25_callbackBag_5
+ store i1 true, ptr %sc_l__x25_callbackPresent_5
+ %t178 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t179 = getelementptr inbounds i8, ptr %t178, i64 8 ; ->kind
+ %t180 = load i32, ptr %t179
+ %t181 = icmp eq i32 %t180, 6
+ br i1 %t181, label %tern.t67, label %tern.f68
+tern.t67:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ store ptr %t183, ptr %s182
+ br label %tern.j69
+tern.f68:
+ %t185 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t186 = call ptr @sc_rc_retain_dyn(ptr %t185)
+ %t187 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t186)
+ %t188 = load i32, ptr %exc.cell
+ %t189 = icmp ne i32 %t188, 0
+ %t190 = call i1 @llvm.expect.i1(i1 %t189, i1 false)
+ br i1 %t190, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t187)
+ br label %exc.cleanup72
+exc.k71:
+ store ptr %t187, ptr %s182
+ br label %tern.j69
+tern.j69:
+ %t191 = load ptr, ptr %s182
+ store ptr %t191, ptr %sc_l__x25_callback_5
+ %t192 = load ptr, ptr %sc_l__x25_callback_5
+ %t193 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t195 = call ptr @sc_td_0(ptr @sc_lit_4012553578658412)
+ %t197 = getelementptr inbounds [1 x ptr], ptr %s196, i64 0, i64 0
+ store ptr %t195, ptr %t197
+ call void @scr_dyn_this_push_dyn(ptr %t194)
+ %t198 = call ptr @scr_dyn_call(ptr %t192, ptr %s196, i64 1, ptr @sc_cs_891738944038355)
+ call void @scr_dyn_this_pop()
+ %t199 = load i32, ptr %exc.cell
+ %t200 = icmp ne i32 %t199, 0
+ %t201 = call i1 @llvm.expect.i1(i1 %t200, i1 false)
+ br i1 %t201, label %exc.u73, label %exc.k74
+exc.u73:
+ call void @sc_rc_release_dyn(ptr %t194)
+ call void @sc_rc_release_dyn(ptr %t195)
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup75
+exc.k74:
+ call void @sc_rc_release_dyn(ptr %t194)
+ call void @sc_rc_release_dyn(ptr %t195)
+ call void @sc_rc_release_dyn(ptr %t198)
+ %t202 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t202)
+ %t203 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t203)
+ br label %if.j19
+if.j19:
+ br label %try.e4
+try.c2:
+ %t204 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t204, ptr %sc_l_e_0
+ %t205 = load ptr, ptr %sc_l_sink_0
+ store ptr %t205, ptr %sc_l__x25_callbackReceiver_6
+ %t206 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ %t207 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t206, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t208 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t207)
+ %t209 = load i32, ptr %exc.cell
+ %t210 = icmp ne i32 %t209, 0
+ %t211 = call i1 @llvm.expect.i1(i1 %t210, i1 false)
+ br i1 %t211, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t208)
+ br label %exc.cleanup78
+exc.k77:
+ store ptr %t208, ptr %sc_l__x25_callbackBag_6
+ store i1 true, ptr %sc_l__x25_callbackPresent_6
+ %t212 = load ptr, ptr %sc_l__x25_callbackBag_6
+ %t213 = getelementptr inbounds i8, ptr %t212, i64 8 ; ->kind
+ %t214 = load i32, ptr %t213
+ %t215 = icmp eq i32 %t214, 6
+ br i1 %t215, label %tern.t79, label %tern.f80
+tern.t79:
+ %t218 = call ptr @scr_dyn_undefined()
+ %t217 = call ptr @scr_dyn_retain_v(ptr %t218)
+ store ptr %t217, ptr %s216
+ br label %tern.j81
+tern.f80:
+ %t219 = load ptr, ptr %sc_l__x25_callbackBag_6
+ %t220 = call ptr @sc_rc_retain_dyn(ptr %t219)
+ %t221 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t220)
+ %t222 = load i32, ptr %exc.cell
+ %t223 = icmp ne i32 %t222, 0
+ %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false)
+ br i1 %t224, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t221)
+ br label %exc.cleanup84
+exc.k83:
+ store ptr %t221, ptr %s216
+ br label %tern.j81
+tern.j81:
+ %t225 = load ptr, ptr %s216
+ store ptr %t225, ptr %sc_l__x25_callback_6
+ %t226 = load ptr, ptr %sc_l__x25_callback_6
+ %t227 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ %t228 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t227, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t228)
+ %t229 = call ptr @scr_dyn_call(ptr %t226, ptr null, i64 0, ptr @sc_cs_3499760650817953)
+ call void @scr_dyn_this_pop()
+ %t230 = load i32, ptr %exc.cell
+ %t231 = icmp ne i32 %t230, 0
+ %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false)
+ br i1 %t232, label %exc.u85, label %exc.k86
+exc.u85:
+ call void @sc_rc_release_dyn(ptr %t228)
+ call void @sc_rc_release_dyn(ptr %t229)
+ br label %exc.cleanup87
+exc.k86:
+ call void @sc_rc_release_dyn(ptr %t228)
+ call void @sc_rc_release_dyn(ptr %t229)
+ %t233 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t233)
+ %t234 = load ptr, ptr %sc_l__x25_callback_6
+ call void @sc_rc_release_dyn(ptr %t234)
+ %t235 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t235)
+ br label %try.e4
+try.e4:
+ ret void
+exc.cleanup12:
+ %t236 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t236)
+ br label %try.c2
+exc.cleanup15:
+ %t237 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t237)
+ %t238 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t238)
+ br label %try.c2
+exc.cleanup28:
+ %t239 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t239)
+ br label %try.c2
+exc.cleanup31:
+ %t240 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t240)
+ %t241 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t241)
+ br label %try.c2
+exc.cleanup39:
+ %t242 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t242)
+ br label %try.c2
+exc.cleanup42:
+ %t243 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t243)
+ %t244 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t244)
+ br label %try.c2
+exc.cleanup50:
+ %t245 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t245)
+ br label %try.c2
+exc.cleanup53:
+ %t246 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t246)
+ %t247 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t247)
+ br label %try.c2
+exc.cleanup61:
+ %t248 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %try.c2
+exc.cleanup64:
+ %t249 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t249)
+ %t250 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t250)
+ br label %try.c2
+exc.cleanup72:
+ %t251 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t251)
+ br label %try.c2
+exc.cleanup75:
+ %t252 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t252)
+ %t253 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t253)
+ br label %try.c2
+exc.cleanup78:
+ %t254 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t254)
+ ret void
+exc.cleanup84:
+ %t255 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t255)
+ %t256 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t256)
+ ret void
+exc.cleanup87:
+ %t257 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t257)
+ %t258 = load ptr, ptr %sc_l__x25_callback_6
+ call void @sc_rc_release_dyn(ptr %t258)
+ %t259 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t259)
+ ret void
+}
+define internal void @sc_f__x25_m5_send500(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_m5_send500(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret void
+}
+
+define internal double @sc_bf__x25_m5_utf8len(ptr %p_sc_l_s_0) #0 { ; %m5.utf8len
+entry:
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_n_0 = alloca double ; n
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_c_0 = alloca double ; c
+ %sc_l_c2_0 = alloca double ; c2
+ %s19 = alloca i1
+ %s23 = alloca i1
+ %s37 = alloca i1
+ store ptr null, ptr %sc_l_b_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t0 = load ptr, ptr %sc_l_s_0
+ store ptr %t0, ptr %sc_l_b_0
+ store double 0x0000000000000000, ptr %sc_l_n_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c1
+loop.c1:
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = load ptr, ptr %sc_l_b_0
+ %t3 = call double @sc_str_utf16_len(ptr %t2)
+ %t5 = fptosi double %t3 to i32
+ %t4 = fcmp olt double %t1, %t3
+ br i1 %t4, label %loop.b2, label %loop.e0
+loop.b2:
+ %t6 = load ptr, ptr %sc_l_b_0
+ %t7 = load double, ptr %sc_l_i_0
+ %t8 = call double @sc_str_char_code_at(ptr %t6, double %t7)
+ store double %t8, ptr %sc_l_c_0
+ %t9 = load double, ptr %sc_l_c_0
+ %t10 = fcmp olt double %t9, 0x4060000000000000
+ br i1 %t10, label %if.t4, label %if.f6
+if.t4:
+ %t11 = load double, ptr %sc_l_n_0
+ %t12 = fadd double %t11, 0x3FF0000000000000
+ store double %t12, ptr %sc_l_n_0
+ br label %if.j5
+if.f6:
+ %t13 = load double, ptr %sc_l_c_0
+ %t14 = fcmp olt double %t13, 0x40A0000000000000
+ br i1 %t14, label %if.t7, label %if.f9
+if.t7:
+ %t15 = load double, ptr %sc_l_n_0
+ %t16 = fadd double %t15, 0x4000000000000000
+ store double %t16, ptr %sc_l_n_0
+ br label %if.j8
+if.f9:
+ %t17 = load double, ptr %sc_l_c_0
+ %t18 = fcmp oge double %t17, 0x40EB000000000000
+ store i1 %t18, ptr %s19
+ br i1 %t18, label %log.r10, label %log.j11
+log.r10:
+ %t20 = load double, ptr %sc_l_c_0
+ %t21 = fcmp ole double %t20, 0x40EB7FE000000000
+ store i1 %t21, ptr %s19
+ br label %log.j11
+log.j11:
+ %t22 = load i1, ptr %s19
+ store i1 %t22, ptr %s23
+ br i1 %t22, label %log.r12, label %log.j13
+log.r12:
+ %t24 = load double, ptr %sc_l_i_0
+ %t25 = fadd double %t24, 0x3FF0000000000000
+ %t26 = load ptr, ptr %sc_l_b_0
+ %t27 = call double @sc_str_utf16_len(ptr %t26)
+ %t29 = fptosi double %t27 to i32
+ %t28 = fcmp olt double %t25, %t27
+ store i1 %t28, ptr %s23
+ br label %log.j13
+log.j13:
+ %t30 = load i1, ptr %s23
+ br i1 %t30, label %if.t14, label %if.f16
+if.t14:
+ %t31 = load ptr, ptr %sc_l_b_0
+ %t32 = load double, ptr %sc_l_i_0
+ %t33 = fadd double %t32, 0x3FF0000000000000
+ %t34 = call double @sc_str_char_code_at(ptr %t31, double %t33)
+ store double %t34, ptr %sc_l_c2_0
+ %t35 = load double, ptr %sc_l_c2_0
+ %t36 = fcmp oge double %t35, 0x40EB800000000000
+ store i1 %t36, ptr %s37
+ br i1 %t36, label %log.r17, label %log.j18
+log.r17:
+ %t38 = load double, ptr %sc_l_c2_0
+ %t39 = fcmp ole double %t38, 0x40EBFFE000000000
+ store i1 %t39, ptr %s37
+ br label %log.j18
+log.j18:
+ %t40 = load i1, ptr %s37
+ br i1 %t40, label %if.t19, label %if.f21
+if.t19:
+ %t41 = load double, ptr %sc_l_n_0
+ %t42 = fadd double %t41, 0x4010000000000000
+ store double %t42, ptr %sc_l_n_0
+ %t43 = load double, ptr %sc_l_i_0
+ %t44 = fadd double %t43, 0x3FF0000000000000
+ store double %t44, ptr %sc_l_i_0
+ br label %if.j20
+if.f21:
+ %t45 = load double, ptr %sc_l_n_0
+ %t46 = fadd double %t45, 0x4008000000000000
+ store double %t46, ptr %sc_l_n_0
+ br label %if.j20
+if.j20:
+ br label %if.j15
+if.f16:
+ %t47 = load double, ptr %sc_l_n_0
+ %t48 = fadd double %t47, 0x4008000000000000
+ store double %t48, ptr %sc_l_n_0
+ br label %if.j15
+if.j15:
+ br label %if.j8
+if.j8:
+ br label %if.j5
+if.j5:
+ br label %loop.u3
+loop.u3:
+ %t49 = load double, ptr %sc_l_i_0
+ %t50 = fadd double %t49, 0x3FF0000000000000
+ store double %t50, ptr %sc_l_i_0
+ br label %loop.c1
+loop.e0:
+ %t51 = load double, ptr %sc_l_n_0
+ ret double %t51
+}
+define internal double @sc_f__x25_m5_utf8len(ptr %p0) #0 {
+entry:
+ %result = call double @sc_bf__x25_m5_utf8len(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25_m5_dec(ptr %p_sc_l_s_0) #0 { ; %m5.dec
+entry:
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_t_0 = alloca ptr ; t
+ %sc_l_e_0 = alloca ptr ; e
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_t_0
+ store ptr null, ptr %sc_l_e_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_s_0
+ %t5 = call ptr @scr_str_split_limit(ptr %t4, ptr @sc_lit_2869227738459631, double 0x41EFFFFFFFE00000)
+ %t6 = call ptr @scr_arr_join(ptr %t5, ptr @sc_lit_961653900088760)
+ store ptr %t6, ptr %sc_l_t_0
+ call void @scr_arr_release(ptr %t5)
+ %t7 = load ptr, ptr %sc_l_t_0
+ %t8 = call ptr @sc_rc_retain_str(ptr %t7)
+ %t9 = call ptr @scr_str_decode_uri_component(ptr %t8)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @scr_str_release(ptr %t8)
+ call void @scr_str_release(ptr %t9)
+ br label %try.c2
+exc.k6:
+ call void @scr_str_release(ptr %t8)
+ %t13 = load ptr, ptr %sc_l_t_0
+ call void @scr_str_release(ptr %t13)
+ ret ptr %t9
+try.c2:
+ %t14 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t14, ptr %sc_l_e_0
+ %t15 = load ptr, ptr %sc_l_t_0
+ %t16 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t16)
+ ret ptr %t15
+try.e4:
+ call void @scr_throw_error_msg_code(i32 0, ptr @sc_cs_492252702126034, i64 123, ptr @sc_cs_4391986516593320)
+ br label %exc.cleanup7
+exc.cleanup7:
+ %t17 = load ptr, ptr %sc_l_t_0
+ call void @scr_str_release(ptr %t17)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_dec(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_dec(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m5_copyMw(ptr %p_sc_l_mw_0) #0 { ; %m5.copyMw
+entry:
+ %sc_l_mw_0 = alloca ptr ; mw
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget
+ %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue
+ %s1 = alloca i64 ; integer induction i
+ %s14 = alloca %ScrUnion
+ %s15 = getelementptr inbounds %ScrUnion, ptr %s14, i32 0, i32 5
+ %s16 = getelementptr inbounds %ScrUnion, ptr %s14, i32 0, i32 1
+ %s54 = alloca ptr
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l__x25_pushTarget_0
+ store ptr null, ptr %sc_l__x25_pushValue_0
+ store ptr %p_sc_l_mw_0, ptr %sc_l_mw_0
+ %t0 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v, i64 0)
+ store ptr %t0, ptr %sc_l_out_0
+ %t2 = fptosi double 0x0000000000000000 to i64
+ store i64 %t2, ptr %s1
+ br label %loop.c1
+loop.c1:
+ %t3 = load ptr, ptr %sc_l_mw_0
+ %t4 = getelementptr inbounds %ScrArr, ptr %t3, i64 0, i32 1
+ %t5 = load i64, ptr %t4, !tbaa !2
+ %t6 = load i64, ptr %s1
+ %t7 = icmp ult i64 %t6, %t5
+ br i1 %t7, label %loop.b2, label %loop.e0
+loop.b2:
+ %t8 = load ptr, ptr %sc_l_out_0
+ store ptr %t8, ptr %sc_l__x25_pushTarget_0
+ %t9 = load ptr, ptr %sc_l_mw_0
+ %t10 = load i64, ptr %s1
+ %t11 = load i64, ptr %s1
+ %t12 = sitofp i64 %t11 to double
+ %t13 = trunc i64 %t11 to i32
+ %t17 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 2
+ %t18 = load i64, ptr %t17, !tbaa !2
+ %t19 = icmp ult i64 %t10, %t18
+ br i1 %t19, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t20 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 6
+ %t21 = load i32, ptr %t20, !tbaa !2
+ %t23 = zext i32 %t21 to i64
+ %t22 = icmp ult i64 %t10, %t23
+ br i1 %t22, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t24 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1
+ %t25 = load i64, ptr %t24, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t26 = icmp ult i64 %t10, %t25
+ br i1 %t26, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t27 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 9
+ %t28 = load ptr, ptr %t27, !tbaa !2
+ %t29 = getelementptr inbounds i8, ptr %t28, i64 %t10
+ %t30 = load i8, ptr %t29, !tbaa !4
+ %t31 = icmp eq i8 %t30, 1
+ br i1 %t31, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t32 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 8
+ %t33 = load ptr, ptr %t32, !tbaa !2
+ %t34 = getelementptr inbounds i64, ptr %t33, i64 %t10
+ %t35 = load ptr, ptr %t34, !tbaa !6
+ %t36 = call ptr @scr_closure_retain_v(ptr %t35)
+ store ptr %t36, ptr %s15
+ store i32 0, ptr %s16
+ br label %local.array.join6
+local.array.slow4:
+ %t37 = call ptr @scr_arr_peek_ref(ptr %t9, double %t12)
+ %t38 = icmp ne ptr %t37, null
+ br i1 %t38, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ %t39 = call ptr @scr_closure_retain_v(ptr %t37)
+ store ptr %t39, ptr %s15
+ store i32 0, ptr %s16
+ br label %local.array.join6
+local.array.missing5:
+ store i64 0, ptr %s15
+ store i32 1, ptr %s16
+ br label %local.array.join6
+local.array.join6:
+ store ptr %s14, ptr %sc_l__x25_pushValue_0
+ %t40 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t43 = getelementptr inbounds %ScrUnion, ptr %t40, i64 0, i32 1
+ %t42 = load i32, ptr %t43
+ %t41 = icmp eq i32 %t42, 1
+ br i1 %t41, label %if.t13, label %if.f15
+if.t13:
+ %t44 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t45 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t46 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 1
+ %t47 = load i64, ptr %t46, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t48 = sitofp i64 %t47 to double
+ call void @scr_arr_set_undefined(ptr %t44, double %t48)
+ br label %if.j14
+if.f15:
+ %t49 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t50 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t53 = getelementptr inbounds %ScrUnion, ptr %t50, i64 0, i32 1
+ %t52 = load i32, ptr %t53
+ %t51 = icmp eq i32 %t52, 0
+ br i1 %t51, label %tern.t16, label %tern.f17
+tern.t16:
+ %t55 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t56 = getelementptr inbounds %ScrUnion, ptr %t55, i64 0, i32 5
+ %t57 = load ptr, ptr %t56
+ %t58 = call ptr @scr_closure_retain_v(ptr %t57)
+ store ptr %t58, ptr %s54
+ br label %tern.j18
+tern.f17:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup19
+exc.dead20:
+ store ptr null, ptr %s54
+ br label %tern.j18
+tern.j18:
+ %t59 = load ptr, ptr %s54
+ %t60 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 1
+ %t61 = load i64, ptr %t60, !tbaa !2
+ %t64 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 2
+ %t62 = load i64, ptr %t64, !tbaa !2
+ %t63 = icmp ult i64 %t61, %t62
+ br i1 %t63, label %arr.push.dense21, label %arr.push.slow22
+arr.push.dense21:
+ %t65 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 8
+ %t67 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 9
+ %t66 = load ptr, ptr %t65, !tbaa !2
+ %t68 = load ptr, ptr %t67, !tbaa !2
+ %t69 = getelementptr inbounds i8, ptr %t68, i64 %t61
+ %t70 = getelementptr inbounds i64, ptr %t66, i64 %t61
+ store ptr %t59, ptr %t70, !tbaa !6
+ store i8 1, ptr %t69, !tbaa !4
+ %t71 = add nuw i64 %t61, 1
+ store i64 %t71, ptr %t60, !tbaa !2
+ %t73 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 6
+ %t74 = load i32, ptr %t73, !tbaa !2
+ %t78 = zext i32 %t74 to i64
+ %t75 = icmp eq i64 %t78, %t61
+ %t76 = add i32 %t74, 1
+ %t77 = select i1 %t75, i32 %t76, i32 %t74
+ store i32 %t77, ptr %t73, !tbaa !2
+ %t72 = sitofp i64 %t71 to double
+ br label %arr.push.join23
+arr.push.slow22:
+ %t79 = call double @scr_arr_push_ref(ptr %t49, ptr %t59) cold
+ br label %arr.push.join23
+arr.push.join23:
+ %t80 = phi double [ %t72, %arr.push.dense21 ], [ %t79, %arr.push.slow22 ]
+ br label %if.j14
+if.j14:
+ %t81 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t82 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 1
+ %t83 = load i64, ptr %t82, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t84 = sitofp i64 %t83 to double
+ %t85 = load ptr, ptr %s15
+ call void @scr_closure_release(ptr %t85)
+ br label %loop.u3
+loop.u3:
+ %t86 = load i64, ptr %s1
+ %t87 = add nuw i64 %t86, 1
+ store i64 %t87, ptr %s1
+ br label %loop.c1
+loop.e0:
+ %t88 = load ptr, ptr %sc_l_out_0
+ ret ptr %t88
+exc.cleanup19:
+ %t89 = load ptr, ptr %s15
+ call void @scr_closure_release(ptr %t89)
+ %t90 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t90)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_copyMw(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_copyMw(ptr %p0)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_m5_matchUsePath(ptr %p_sc_l_reqPath_0, ptr %p_sc_l_filter_0) #0 { ; %m5.matchUsePath
+entry:
+ %sc_l_reqPath_0 = alloca ptr ; reqPath
+ %sc_l_filter_0 = alloca ptr ; filter
+ %sc_l_prefix_0 = alloca ptr ; prefix
+ %s7 = alloca i1
+ store ptr null, ptr %sc_l_prefix_0
+ store ptr %p_sc_l_reqPath_0, ptr %sc_l_reqPath_0
+ store ptr %p_sc_l_filter_0, ptr %sc_l_filter_0
+ %t0 = load ptr, ptr %sc_l_filter_0
+ %t1 = call zeroext i1 @sc_streq_1834571860458263(ptr %t0)
+ br i1 %t1, label %if.t0, label %if.j1
+if.t0:
+ ret i1 true
+if.j1:
+ %t2 = load ptr, ptr %sc_l_filter_0
+ %t3 = call double @sc_str_utf16_len(ptr %t2)
+ %t5 = fptosi double %t3 to i32
+ %t6 = sext i32 %t5 to i64
+ %t4 = icmp sgt i64 %t6, 0
+ store i1 %t4, ptr %s7
+ br i1 %t4, label %log.r2, label %log.j3
+log.r2:
+ %t8 = load ptr, ptr %sc_l_filter_0
+ %t9 = load ptr, ptr %sc_l_filter_0
+ %t10 = call double @sc_str_utf16_len(ptr %t9)
+ %t12 = fptosi double %t10 to i32
+ %t14 = trunc i64 1 to i32
+ %t13 = sub nsw i32 %t12, %t14
+ %t15 = sitofp i32 %t13 to double
+ %t16 = call ptr @scr_str_char_at(ptr %t8, double %t15)
+ %t17 = call zeroext i1 @sc_streq_1834571860458263(ptr %t16)
+ store i1 %t17, ptr %s7
+ call void @scr_str_release(ptr %t16)
+ br label %log.j3
+log.j3:
+ %t18 = load i1, ptr %s7
+ br i1 %t18, label %if.t4, label %if.j5
+if.t4:
+ %t19 = load ptr, ptr %sc_l_filter_0
+ %t20 = load ptr, ptr %sc_l_filter_0
+ %t21 = call double @sc_str_utf16_len(ptr %t20)
+ %t23 = fptosi double %t21 to i32
+ %t25 = trunc i64 1 to i32
+ %t24 = sub nsw i32 %t23, %t25
+ %t26 = sitofp i32 %t24 to double
+ %t27 = call ptr @scr_str_slice(ptr %t19, double 0x0000000000000000, double %t26)
+ store ptr %t27, ptr %sc_l_prefix_0
+ %t28 = load ptr, ptr %sc_l_reqPath_0
+ %t29 = load ptr, ptr %sc_l_prefix_0
+ %t30 = call double @scr_str_index_of(ptr %t28, ptr %t29, double 0x0000000000000000)
+ %t32 = fptosi double %t30 to i32
+ %t33 = sext i32 %t32 to i64
+ %t31 = icmp eq i64 %t33, 0
+ %t34 = load ptr, ptr %sc_l_prefix_0
+ call void @scr_str_release(ptr %t34)
+ ret i1 %t31
+if.j5:
+ %t35 = load ptr, ptr %sc_l_reqPath_0
+ %t36 = load ptr, ptr %sc_l_filter_0
+ %t37 = call zeroext i1 @sc_str_eq(ptr %t35, ptr %t36)
+ ret i1 %t37
+}
+define internal i1 @sc_f__x25_m5_matchUsePath(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_m5_matchUsePath(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal ptr @sc_bf__x25_m5_runPrefixed(ptr %p_sc_l_mws_0, double %p_sc_l_i_0, ptr %p_sc_l_c_0, ptr %p_sc_l_outerNext_0) #0 { ; %m5.runPrefixed
+entry:
+ %sc_l_mws_0 = alloca ptr ; mws
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_outerNext_0 = alloca ptr ; outerNext
+ %sc_l_mw_0 = alloca ptr ; mw
+ %sc_l_i_1 = alloca double ; i
+ %s0 = alloca ptr ; lazy box mws
+ %s1 = alloca ptr ; lazy box i
+ %s2 = alloca ptr ; lazy box c
+ %s3 = alloca ptr ; lazy box outerNext
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s33 = alloca %ScrUnion
+ %s34 = getelementptr inbounds %ScrUnion, ptr %s33, i32 0, i32 5
+ %s35 = getelementptr inbounds %ScrUnion, ptr %s33, i32 0, i32 1
+ %s68 = alloca ptr
+ store ptr null, ptr %sc_l_mw_0
+ store ptr null, ptr %s0
+ store ptr null, ptr %s1
+ store ptr null, ptr %s2
+ store ptr null, ptr %s3
+ store ptr %p_sc_l_mws_0, ptr %sc_l_mws_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ store ptr %p_sc_l_outerNext_0, ptr %sc_l_outerNext_0
+ %t4 = call ptr @llvm.stacksave.p0()
+ %t5 = load ptr, ptr @scr_stack_guard
+ %t6 = icmp ult ptr %t4, %t5
+ %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false)
+ br i1 %t7, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t8 = load double, ptr %sc_l_i_0
+ store double %t8, ptr %sc_l_i_1
+ %t9 = load double, ptr %sc_l_i_1
+ %t10 = load ptr, ptr %sc_l_mws_0
+ %t11 = getelementptr inbounds %ScrArr, ptr %t10, i32 0, i32 1
+ %t12 = load i64, ptr %t11, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t13 = sitofp i64 %t12 to double
+ %t15 = fptosi double %t13 to i64
+ %t14 = fcmp oge double %t9, %t13
+ br i1 %t14, label %if.t3, label %if.j4
+if.t3:
+ %t16 = load ptr, ptr %sc_l_outerNext_0
+ %t17 = getelementptr inbounds %ScrClosure, ptr %t16, i64 0, i32 1
+ %t18 = load ptr, ptr %t17
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t19 = call ptr %t18(ptr %t16)
+ call void @scr_dyn_this_pop()
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup2
+exc.k6:
+ %t23 = load ptr, ptr %s0
+ %t24 = icmp ne ptr %t23, null
+ br i1 %t24, label %lazy.release7, label %lazy.release.j8
+lazy.release7:
+ call void @scr_box_release(ptr %t23)
+ br label %lazy.release.j8
+lazy.release.j8:
+ %t25 = load ptr, ptr %s1
+ %t26 = icmp ne ptr %t25, null
+ br i1 %t26, label %lazy.release9, label %lazy.release.j10
+lazy.release9:
+ call void @scr_box_release(ptr %t25)
+ br label %lazy.release.j10
+lazy.release.j10:
+ %t27 = load ptr, ptr %s2
+ %t28 = icmp ne ptr %t27, null
+ br i1 %t28, label %lazy.release11, label %lazy.release.j12
+lazy.release11:
+ call void @scr_box_release(ptr %t27)
+ br label %lazy.release.j12
+lazy.release.j12:
+ %t29 = load ptr, ptr %s3
+ %t30 = icmp ne ptr %t29, null
+ br i1 %t30, label %lazy.release13, label %lazy.release.j14
+lazy.release13:
+ call void @scr_box_release(ptr %t29)
+ br label %lazy.release.j14
+lazy.release.j14:
+ ret ptr %t19
+if.j4:
+ %t31 = load ptr, ptr %sc_l_mws_0
+ %t32 = load double, ptr %sc_l_i_1
+ %t36 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 2
+ %t37 = load i64, ptr %t36, !tbaa !2
+ %t38 = fptosi double %t32 to i64
+ %t39 = freeze i64 %t38
+ %t40 = sitofp i64 %t39 to double
+ %t41 = fcmp oeq double %t40, %t32
+ %t42 = icmp ult i64 %t39, %t37
+ %t43 = and i1 %t41, %t42
+ br i1 %t43, label %local.array.range18, label %local.array.slow15
+local.array.range18:
+ br label %local.array.dense19
+local.array.dense19:
+ %t44 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t47 = zext i32 %t45 to i64
+ %t46 = icmp ult i64 %t39, %t47
+ br i1 %t46, label %local.array.value21, label %local.array.len20
+local.array.len20:
+ %t48 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 1
+ %t49 = load i64, ptr %t48, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t50 = icmp ult i64 %t39, %t49
+ br i1 %t50, label %local.array.state22, label %local.array.missing16
+local.array.state22:
+ %t51 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 9
+ %t52 = load ptr, ptr %t51, !tbaa !2
+ %t53 = getelementptr inbounds i8, ptr %t52, i64 %t39
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %local.array.value21, label %local.array.missing16
+local.array.value21:
+ %t56 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 8
+ %t57 = load ptr, ptr %t56, !tbaa !2
+ %t58 = getelementptr inbounds i64, ptr %t57, i64 %t39
+ %t59 = load ptr, ptr %t58, !tbaa !6
+ %t60 = call ptr @scr_closure_retain_v(ptr %t59)
+ store ptr %t60, ptr %s34
+ store i32 0, ptr %s35
+ br label %local.array.join17
+local.array.slow15:
+ %t61 = call ptr @scr_arr_peek_ref(ptr %t31, double %t32)
+ %t62 = icmp ne ptr %t61, null
+ br i1 %t62, label %local.array.slow.value23, label %local.array.missing16
+local.array.slow.value23:
+ %t63 = call ptr @scr_closure_retain_v(ptr %t61)
+ store ptr %t63, ptr %s34
+ store i32 0, ptr %s35
+ br label %local.array.join17
+local.array.missing16:
+ store i64 0, ptr %s34
+ store i32 1, ptr %s35
+ br label %local.array.join17
+local.array.join17:
+ store ptr %s33, ptr %sc_l_mw_0
+ %t64 = load ptr, ptr %sc_l_mw_0
+ %t67 = getelementptr inbounds %ScrUnion, ptr %t64, i64 0, i32 1
+ %t66 = load i32, ptr %t67
+ %t65 = icmp eq i32 %t66, 1
+ br i1 %t65, label %read.then24, label %read.else25
+read.then24:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2573344890364836)
+ br label %exc.cleanup27
+exc.dead28:
+ store ptr null, ptr %s68
+ br label %read.join26
+read.else25:
+ %t69 = load ptr, ptr %sc_l_mw_0
+ %t70 = getelementptr inbounds %ScrUnion, ptr %t69, i64 0, i32 5
+ %t71 = load ptr, ptr %t70
+ store ptr %t71, ptr %s68
+ br label %read.join26
+read.join26:
+ %t72 = load ptr, ptr %s68
+ %t73 = load ptr, ptr %sc_l_c_0
+ %t74 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t73)
+ %t75 = call ptr @scr_closure_new(ptr @sc_f__x25_fn30, i64 4)
+ %t76 = getelementptr inbounds %ScrClosure, ptr %t75, i64 0, i32 4
+ store i32 4, ptr %t76
+ %t77 = load ptr, ptr %s0
+ %t78 = icmp eq ptr %t77, null
+ br i1 %t78, label %lazy.box29, label %lazy.box.j30
+lazy.box29:
+ %t79 = call ptr @scr_box_new_obj(ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @scr_arr_trace_v)
+ %t80 = load ptr, ptr %sc_l_mws_0
+ %t81 = call ptr @scr_arr_retain_v(ptr %t80)
+ call void @scr_box_set_ref(ptr %t79, ptr %t81)
+ store ptr %t79, ptr %s0
+ br label %lazy.box.j30
+lazy.box.j30:
+ %t82 = load ptr, ptr %s0
+ %t83 = call ptr @sc_retain_box(ptr %t82)
+ %t84 = getelementptr inbounds %ScrClosure, ptr %t75, i64 1 ; caps
+ %t85 = getelementptr inbounds ptr, ptr %t84, i64 0 ; caps[0]
+ store ptr %t83, ptr %t85
+ %t86 = load ptr, ptr %s1
+ %t87 = icmp eq ptr %t86, null
+ br i1 %t87, label %lazy.box31, label %lazy.box.j32
+lazy.box31:
+ %t88 = call ptr @scr_box_new(i32 0)
+ %t89 = load double, ptr %sc_l_i_0
+ %t90 = getelementptr inbounds %ScrBox, ptr %t88, i32 0, i32 5
+ store double %t89, ptr %t90
+ store ptr %t88, ptr %s1
+ br label %lazy.box.j32
+lazy.box.j32:
+ %t91 = load ptr, ptr %s1
+ %t92 = call ptr @sc_retain_box(ptr %t91)
+ %t93 = getelementptr inbounds %ScrClosure, ptr %t75, i64 1 ; caps
+ %t94 = getelementptr inbounds ptr, ptr %t93, i64 1 ; caps[1]
+ store ptr %t92, ptr %t94
+ %t95 = load ptr, ptr %s2
+ %t96 = icmp eq ptr %t95, null
+ br i1 %t96, label %lazy.box33, label %lazy.box.j34
+lazy.box33:
+ %t97 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore)
+ %t98 = load ptr, ptr %sc_l_c_0
+ %t99 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t98)
+ call void @scr_box_set_ref(ptr %t97, ptr %t99)
+ store ptr %t97, ptr %s2
+ br label %lazy.box.j34
+lazy.box.j34:
+ %t100 = load ptr, ptr %s2
+ %t101 = call ptr @sc_retain_box(ptr %t100)
+ %t102 = getelementptr inbounds %ScrClosure, ptr %t75, i64 1 ; caps
+ %t103 = getelementptr inbounds ptr, ptr %t102, i64 2 ; caps[2]
+ store ptr %t101, ptr %t103
+ %t104 = load ptr, ptr %s3
+ %t105 = icmp eq ptr %t104, null
+ br i1 %t105, label %lazy.box35, label %lazy.box.j36
+lazy.box35:
+ %t106 = call ptr @scr_box_new(i32 4)
+ %t107 = load ptr, ptr %sc_l_outerNext_0
+ %t108 = call ptr @scr_closure_retain_v(ptr %t107)
+ call void @scr_box_set_ref(ptr %t106, ptr %t108)
+ store ptr %t106, ptr %s3
+ br label %lazy.box.j36
+lazy.box.j36:
+ %t109 = load ptr, ptr %s3
+ %t110 = call ptr @sc_retain_box(ptr %t109)
+ %t111 = getelementptr inbounds %ScrClosure, ptr %t75, i64 1 ; caps
+ %t112 = getelementptr inbounds ptr, ptr %t111, i64 3 ; caps[3]
+ store ptr %t110, ptr %t112
+ %t113 = getelementptr inbounds %ScrClosure, ptr %t72, i64 0, i32 1
+ %t114 = load ptr, ptr %t113
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t115 = call ptr %t114(ptr %t72, ptr %t74, ptr %t75)
+ call void @scr_dyn_this_pop()
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_rc_release_dyn(ptr %t115)
+ br label %exc.cleanup27
+exc.k38:
+ %t119 = load ptr, ptr %s0
+ %t120 = icmp ne ptr %t119, null
+ br i1 %t120, label %lazy.release39, label %lazy.release.j40
+lazy.release39:
+ call void @scr_box_release(ptr %t119)
+ br label %lazy.release.j40
+lazy.release.j40:
+ %t121 = load ptr, ptr %s1
+ %t122 = icmp ne ptr %t121, null
+ br i1 %t122, label %lazy.release41, label %lazy.release.j42
+lazy.release41:
+ call void @scr_box_release(ptr %t121)
+ br label %lazy.release.j42
+lazy.release.j42:
+ %t123 = load ptr, ptr %s2
+ %t124 = icmp ne ptr %t123, null
+ br i1 %t124, label %lazy.release43, label %lazy.release.j44
+lazy.release43:
+ call void @scr_box_release(ptr %t123)
+ br label %lazy.release.j44
+lazy.release.j44:
+ %t125 = load ptr, ptr %s3
+ %t126 = icmp ne ptr %t125, null
+ br i1 %t126, label %lazy.release45, label %lazy.release.j46
+lazy.release45:
+ call void @scr_box_release(ptr %t125)
+ br label %lazy.release.j46
+lazy.release.j46:
+ %t127 = load ptr, ptr %s34
+ call void @scr_closure_release(ptr %t127)
+ ret ptr %t115
+exc.cleanup2:
+ %t128 = load ptr, ptr %s0
+ %t129 = icmp ne ptr %t128, null
+ br i1 %t129, label %lazy.release47, label %lazy.release.j48
+lazy.release47:
+ call void @scr_box_release(ptr %t128)
+ br label %lazy.release.j48
+lazy.release.j48:
+ %t130 = load ptr, ptr %s1
+ %t131 = icmp ne ptr %t130, null
+ br i1 %t131, label %lazy.release49, label %lazy.release.j50
+lazy.release49:
+ call void @scr_box_release(ptr %t130)
+ br label %lazy.release.j50
+lazy.release.j50:
+ %t132 = load ptr, ptr %s2
+ %t133 = icmp ne ptr %t132, null
+ br i1 %t133, label %lazy.release51, label %lazy.release.j52
+lazy.release51:
+ call void @scr_box_release(ptr %t132)
+ br label %lazy.release.j52
+lazy.release.j52:
+ %t134 = load ptr, ptr %s3
+ %t135 = icmp ne ptr %t134, null
+ br i1 %t135, label %lazy.release53, label %lazy.release.j54
+lazy.release53:
+ call void @scr_box_release(ptr %t134)
+ br label %lazy.release.j54
+lazy.release.j54:
+ ret ptr null
+exc.cleanup27:
+ %t136 = load ptr, ptr %s0
+ %t137 = icmp ne ptr %t136, null
+ br i1 %t137, label %lazy.release55, label %lazy.release.j56
+lazy.release55:
+ call void @scr_box_release(ptr %t136)
+ br label %lazy.release.j56
+lazy.release.j56:
+ %t138 = load ptr, ptr %s1
+ %t139 = icmp ne ptr %t138, null
+ br i1 %t139, label %lazy.release57, label %lazy.release.j58
+lazy.release57:
+ call void @scr_box_release(ptr %t138)
+ br label %lazy.release.j58
+lazy.release.j58:
+ %t140 = load ptr, ptr %s2
+ %t141 = icmp ne ptr %t140, null
+ br i1 %t141, label %lazy.release59, label %lazy.release.j60
+lazy.release59:
+ call void @scr_box_release(ptr %t140)
+ br label %lazy.release.j60
+lazy.release.j60:
+ %t142 = load ptr, ptr %s3
+ %t143 = icmp ne ptr %t142, null
+ br i1 %t143, label %lazy.release61, label %lazy.release.j62
+lazy.release61:
+ call void @scr_box_release(ptr %t142)
+ br label %lazy.release.j62
+lazy.release.j62:
+ %t144 = load ptr, ptr %s34
+ call void @scr_closure_release(ptr %t144)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_runPrefixed(ptr %p0, double %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_runPrefixed(ptr %p0, double %p1, ptr %p2, ptr %p3)
+ call void @scr_arr_release(ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p2)
+ call void @scr_closure_release(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m5_compose(ptr %p_sc_l_mw_0, ptr %p_sc_l_h_0) #0 { ; %m5.compose
+entry:
+ %sc_l_mw_0 = alloca ptr ; mw
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_chain_0 = alloca ptr ; chain
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_fn_0 = alloca ptr ; fn
+ %sc_l_inner_0 = alloca ptr ; inner
+ store ptr null, ptr %sc_l_chain_0
+ store ptr null, ptr %sc_l_fn_0
+ store ptr null, ptr %sc_l_inner_0
+ store ptr %p_sc_l_mw_0, ptr %sc_l_mw_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ %t0 = load ptr, ptr %sc_l_h_0
+ %t1 = call ptr @scr_union_retain_v(ptr %t0)
+ store ptr %t1, ptr %sc_l_chain_0
+ %t2 = load ptr, ptr %sc_l_mw_0
+ %t3 = getelementptr inbounds %ScrArr, ptr %t2, i32 0, i32 1
+ %t4 = load i64, ptr %t3, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t5 = sitofp i64 %t4 to double
+ %t7 = fptosi double %t5 to i64
+ %t8 = sub nsw i64 %t7, 1
+ %t10 = trunc i64 %t8 to i32
+ %t9 = sitofp i64 %t8 to double
+ store double %t9, ptr %sc_l_i_0
+ br label %loop.c1
+loop.c1:
+ %t11 = load double, ptr %sc_l_i_0
+ %t13 = fptosi double %t11 to i64
+ %t12 = icmp sge i64 %t13, 0
+ br i1 %t12, label %loop.b2, label %loop.e0
+loop.b2:
+ %t14 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let fn (boxed)
+ store ptr %t14, ptr %sc_l_fn_0
+ %t15 = load ptr, ptr %sc_l_mw_0
+ %t16 = load double, ptr %sc_l_i_0
+ %t17 = call ptr @sc_bf__x25_arr_idxOr_9(ptr %t15, double %t16)
+ call void @scr_box_set_ref(ptr %t14, ptr %t17)
+ %t18 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let inner (boxed)
+ store ptr %t18, ptr %sc_l_inner_0
+ %t19 = load ptr, ptr %sc_l_chain_0
+ %t20 = call ptr @scr_union_retain_v(ptr %t19)
+ call void @scr_box_set_ref(ptr %t18, ptr %t20)
+ %t21 = call ptr @scr_closure_new(ptr @sc_f__x25_fn31, i64 2)
+ %t22 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ store i32 4, ptr %t22
+ %t23 = load ptr, ptr %sc_l_fn_0
+ %t24 = call ptr @sc_retain_box(ptr %t23)
+ %t25 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps
+ %t26 = getelementptr inbounds ptr, ptr %t25, i64 0 ; caps[0]
+ store ptr %t24, ptr %t26
+ %t27 = load ptr, ptr %sc_l_inner_0
+ %t28 = call ptr @sc_retain_box(ptr %t27)
+ %t29 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps
+ %t30 = getelementptr inbounds ptr, ptr %t29, i64 1 ; caps[1]
+ store ptr %t28, ptr %t30
+ %t31 = call ptr @scr_union_new_ref(i32 0, ptr %t21, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ %t32 = load ptr, ptr %sc_l_chain_0
+ call void @scr_union_release(ptr %t32)
+ store ptr %t31, ptr %sc_l_chain_0
+ %t33 = load ptr, ptr %sc_l_fn_0
+ call void @scr_box_release(ptr %t33)
+ %t34 = load ptr, ptr %sc_l_inner_0
+ call void @scr_box_release(ptr %t34)
+ br label %loop.u3
+loop.u3:
+ %t35 = load double, ptr %sc_l_i_0
+ %t37 = fptosi double %t35 to i64
+ %t38 = sub nsw i64 %t37, 1
+ %t40 = trunc i64 %t38 to i32
+ %t39 = sitofp i64 %t38 to double
+ store double %t39, ptr %sc_l_i_0
+ br label %loop.c1
+loop.e0:
+ %t41 = load ptr, ptr %sc_l_chain_0
+ ret ptr %t41
+}
+define internal ptr @sc_f__x25_m5_compose(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_compose(ptr %p0, ptr %p1)
+ call void @scr_arr_release(ptr %p0)
+ call void @scr_union_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m5_mergeMw(ptr %p_sc_l_a_0, ptr %p_sc_l_b_0) #0 { ; %m5.mergeMw
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget
+ %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue
+ %sc_l_i_1 = alloca i32 ; i
+ %sc_l__x25_pushTarget_1 = alloca ptr ; %pushTarget
+ %sc_l__x25_pushValue_1 = alloca ptr ; %pushValue
+ %s1 = alloca i64 ; integer induction i
+ %s14 = alloca %ScrUnion
+ %s15 = getelementptr inbounds %ScrUnion, ptr %s14, i32 0, i32 5
+ %s16 = getelementptr inbounds %ScrUnion, ptr %s14, i32 0, i32 1
+ %s54 = alloca ptr
+ %s93 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s110 = alloca %ScrUnion
+ %s111 = getelementptr inbounds %ScrUnion, ptr %s110, i32 0, i32 5
+ %s112 = getelementptr inbounds %ScrUnion, ptr %s110, i32 0, i32 1
+ %s155 = alloca ptr
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l__x25_pushTarget_0
+ store ptr null, ptr %sc_l__x25_pushValue_0
+ store ptr null, ptr %sc_l__x25_pushTarget_1
+ store ptr null, ptr %sc_l__x25_pushValue_1
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ %t0 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v, i64 0)
+ store ptr %t0, ptr %sc_l_out_0
+ %t2 = fptosi double 0x0000000000000000 to i64
+ store i64 %t2, ptr %s1
+ br label %loop.c1
+loop.c1:
+ %t3 = load ptr, ptr %sc_l_a_0
+ %t4 = getelementptr inbounds %ScrArr, ptr %t3, i64 0, i32 1
+ %t5 = load i64, ptr %t4, !tbaa !2
+ %t6 = load i64, ptr %s1
+ %t7 = icmp ult i64 %t6, %t5
+ br i1 %t7, label %loop.b2, label %loop.e0
+loop.b2:
+ %t8 = load ptr, ptr %sc_l_out_0
+ store ptr %t8, ptr %sc_l__x25_pushTarget_0
+ %t9 = load ptr, ptr %sc_l_a_0
+ %t10 = load i64, ptr %s1
+ %t11 = load i64, ptr %s1
+ %t12 = sitofp i64 %t11 to double
+ %t13 = trunc i64 %t11 to i32
+ %t17 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 2
+ %t18 = load i64, ptr %t17, !tbaa !2
+ %t19 = icmp ult i64 %t10, %t18
+ br i1 %t19, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t20 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 6
+ %t21 = load i32, ptr %t20, !tbaa !2
+ %t23 = zext i32 %t21 to i64
+ %t22 = icmp ult i64 %t10, %t23
+ br i1 %t22, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t24 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1
+ %t25 = load i64, ptr %t24, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t26 = icmp ult i64 %t10, %t25
+ br i1 %t26, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t27 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 9
+ %t28 = load ptr, ptr %t27, !tbaa !2
+ %t29 = getelementptr inbounds i8, ptr %t28, i64 %t10
+ %t30 = load i8, ptr %t29, !tbaa !4
+ %t31 = icmp eq i8 %t30, 1
+ br i1 %t31, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t32 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 8
+ %t33 = load ptr, ptr %t32, !tbaa !2
+ %t34 = getelementptr inbounds i64, ptr %t33, i64 %t10
+ %t35 = load ptr, ptr %t34, !tbaa !6
+ %t36 = call ptr @scr_closure_retain_v(ptr %t35)
+ store ptr %t36, ptr %s15
+ store i32 0, ptr %s16
+ br label %local.array.join6
+local.array.slow4:
+ %t37 = call ptr @scr_arr_peek_ref(ptr %t9, double %t12)
+ %t38 = icmp ne ptr %t37, null
+ br i1 %t38, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ %t39 = call ptr @scr_closure_retain_v(ptr %t37)
+ store ptr %t39, ptr %s15
+ store i32 0, ptr %s16
+ br label %local.array.join6
+local.array.missing5:
+ store i64 0, ptr %s15
+ store i32 1, ptr %s16
+ br label %local.array.join6
+local.array.join6:
+ store ptr %s14, ptr %sc_l__x25_pushValue_0
+ %t40 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t43 = getelementptr inbounds %ScrUnion, ptr %t40, i64 0, i32 1
+ %t42 = load i32, ptr %t43
+ %t41 = icmp eq i32 %t42, 1
+ br i1 %t41, label %if.t13, label %if.f15
+if.t13:
+ %t44 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t45 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t46 = getelementptr inbounds %ScrArr, ptr %t45, i32 0, i32 1
+ %t47 = load i64, ptr %t46, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t48 = sitofp i64 %t47 to double
+ call void @scr_arr_set_undefined(ptr %t44, double %t48)
+ br label %if.j14
+if.f15:
+ %t49 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t50 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t53 = getelementptr inbounds %ScrUnion, ptr %t50, i64 0, i32 1
+ %t52 = load i32, ptr %t53
+ %t51 = icmp eq i32 %t52, 0
+ br i1 %t51, label %tern.t16, label %tern.f17
+tern.t16:
+ %t55 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t56 = getelementptr inbounds %ScrUnion, ptr %t55, i64 0, i32 5
+ %t57 = load ptr, ptr %t56
+ %t58 = call ptr @scr_closure_retain_v(ptr %t57)
+ store ptr %t58, ptr %s54
+ br label %tern.j18
+tern.f17:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup19
+exc.dead20:
+ store ptr null, ptr %s54
+ br label %tern.j18
+tern.j18:
+ %t59 = load ptr, ptr %s54
+ %t60 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 1
+ %t61 = load i64, ptr %t60, !tbaa !2
+ %t64 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 2
+ %t62 = load i64, ptr %t64, !tbaa !2
+ %t63 = icmp ult i64 %t61, %t62
+ br i1 %t63, label %arr.push.dense21, label %arr.push.slow22
+arr.push.dense21:
+ %t65 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 8
+ %t67 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 9
+ %t66 = load ptr, ptr %t65, !tbaa !2
+ %t68 = load ptr, ptr %t67, !tbaa !2
+ %t69 = getelementptr inbounds i8, ptr %t68, i64 %t61
+ %t70 = getelementptr inbounds i64, ptr %t66, i64 %t61
+ store ptr %t59, ptr %t70, !tbaa !6
+ store i8 1, ptr %t69, !tbaa !4
+ %t71 = add nuw i64 %t61, 1
+ store i64 %t71, ptr %t60, !tbaa !2
+ %t73 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 6
+ %t74 = load i32, ptr %t73, !tbaa !2
+ %t78 = zext i32 %t74 to i64
+ %t75 = icmp eq i64 %t78, %t61
+ %t76 = add i32 %t74, 1
+ %t77 = select i1 %t75, i32 %t76, i32 %t74
+ store i32 %t77, ptr %t73, !tbaa !2
+ %t72 = sitofp i64 %t71 to double
+ br label %arr.push.join23
+arr.push.slow22:
+ %t79 = call double @scr_arr_push_ref(ptr %t49, ptr %t59) cold
+ br label %arr.push.join23
+arr.push.join23:
+ %t80 = phi double [ %t72, %arr.push.dense21 ], [ %t79, %arr.push.slow22 ]
+ br label %if.j14
+if.j14:
+ %t81 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t82 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 1
+ %t83 = load i64, ptr %t82, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t84 = sitofp i64 %t83 to double
+ %t85 = load ptr, ptr %s15
+ call void @scr_closure_release(ptr %t85)
+ br label %loop.u3
+loop.u3:
+ %t86 = load i64, ptr %s1
+ %t87 = add nuw i64 %t86, 1
+ store i64 %t87, ptr %s1
+ br label %loop.c1
+loop.e0:
+ store i32 0, ptr %sc_l_i_1
+ br label %loop.c25
+loop.c25:
+ %t88 = load i32, ptr %sc_l_i_1
+ %t89 = uitofp i32 %t88 to double
+ %t90 = load ptr, ptr %sc_l_b_0
+ %t92 = icmp eq ptr %t90, null
+ br i1 %t92, label %read.then28, label %read.else29
+read.then28:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032)
+ br label %exc.cleanup31
+exc.dead32:
+ store ptr null, ptr %s93
+ br label %read.join30
+read.else29:
+ %t94 = load ptr, ptr %sc_l_b_0
+ store ptr %t94, ptr %s93
+ br label %read.join30
+read.join30:
+ %t95 = load ptr, ptr %s93
+ %t96 = getelementptr inbounds %ScrArr, ptr %t95, i32 0, i32 1
+ %t97 = load i64, ptr %t96, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t98 = sitofp i64 %t97 to double
+ %t100 = fptosi double %t98 to i64
+ %t101 = zext i32 %t88 to i64
+ %t99 = icmp slt i64 %t101, %t100
+ br i1 %t99, label %loop.b26, label %loop.e24
+loop.b26:
+ %t102 = load ptr, ptr %sc_l_out_0
+ store ptr %t102, ptr %sc_l__x25_pushTarget_1
+ %t103 = load ptr, ptr %sc_l_b_0
+ %t104 = call ptr @sc_bf__x25_union_narrow_12(ptr %t103) ; borrowed result
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u33, label %exc.k34
+exc.u33:
+ br label %exc.cleanup31
+exc.k34:
+ %t108 = load i32, ptr %sc_l_i_1
+ %t109 = uitofp i32 %t108 to double
+ %t113 = getelementptr inbounds %ScrArr, ptr %t104, i32 0, i32 2
+ %t114 = load i64, ptr %t113, !tbaa !2
+ %t115 = fptosi double %t109 to i64
+ %t116 = freeze i64 %t115
+ %t117 = sitofp i64 %t116 to double
+ %t118 = fcmp oeq double %t117, %t109
+ %t119 = icmp ult i64 %t116, %t114
+ %t120 = and i1 %t118, %t119
+ br i1 %t120, label %local.array.range38, label %local.array.slow35
+local.array.range38:
+ br label %local.array.dense39
+local.array.dense39:
+ %t121 = getelementptr inbounds %ScrArr, ptr %t104, i32 0, i32 6
+ %t122 = load i32, ptr %t121, !tbaa !2
+ %t124 = zext i32 %t122 to i64
+ %t123 = icmp ult i64 %t116, %t124
+ br i1 %t123, label %local.array.value41, label %local.array.len40
+local.array.len40:
+ %t125 = getelementptr inbounds %ScrArr, ptr %t104, i32 0, i32 1
+ %t126 = load i64, ptr %t125, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t127 = icmp ult i64 %t116, %t126
+ br i1 %t127, label %local.array.state42, label %local.array.missing36
+local.array.state42:
+ %t128 = getelementptr inbounds %ScrArr, ptr %t104, i32 0, i32 9
+ %t129 = load ptr, ptr %t128, !tbaa !2
+ %t130 = getelementptr inbounds i8, ptr %t129, i64 %t116
+ %t131 = load i8, ptr %t130, !tbaa !4
+ %t132 = icmp eq i8 %t131, 1
+ br i1 %t132, label %local.array.value41, label %local.array.missing36
+local.array.value41:
+ %t133 = getelementptr inbounds %ScrArr, ptr %t104, i32 0, i32 8
+ %t134 = load ptr, ptr %t133, !tbaa !2
+ %t135 = getelementptr inbounds i64, ptr %t134, i64 %t116
+ %t136 = load ptr, ptr %t135, !tbaa !6
+ %t137 = call ptr @scr_closure_retain_v(ptr %t136)
+ store ptr %t137, ptr %s111
+ store i32 0, ptr %s112
+ br label %local.array.join37
+local.array.slow35:
+ %t138 = call ptr @scr_arr_peek_ref(ptr %t104, double %t109)
+ %t139 = icmp ne ptr %t138, null
+ br i1 %t139, label %local.array.slow.value43, label %local.array.missing36
+local.array.slow.value43:
+ %t140 = call ptr @scr_closure_retain_v(ptr %t138)
+ store ptr %t140, ptr %s111
+ store i32 0, ptr %s112
+ br label %local.array.join37
+local.array.missing36:
+ store i64 0, ptr %s111
+ store i32 1, ptr %s112
+ br label %local.array.join37
+local.array.join37:
+ store ptr %s110, ptr %sc_l__x25_pushValue_1
+ %t141 = load ptr, ptr %sc_l__x25_pushValue_1
+ %t144 = getelementptr inbounds %ScrUnion, ptr %t141, i64 0, i32 1
+ %t143 = load i32, ptr %t144
+ %t142 = icmp eq i32 %t143, 1
+ br i1 %t142, label %if.t44, label %if.f46
+if.t44:
+ %t145 = load ptr, ptr %sc_l__x25_pushTarget_1
+ %t146 = load ptr, ptr %sc_l__x25_pushTarget_1
+ %t147 = getelementptr inbounds %ScrArr, ptr %t146, i32 0, i32 1
+ %t148 = load i64, ptr %t147, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t149 = sitofp i64 %t148 to double
+ call void @scr_arr_set_undefined(ptr %t145, double %t149)
+ br label %if.j45
+if.f46:
+ %t150 = load ptr, ptr %sc_l__x25_pushTarget_1
+ %t151 = load ptr, ptr %sc_l__x25_pushValue_1
+ %t154 = getelementptr inbounds %ScrUnion, ptr %t151, i64 0, i32 1
+ %t153 = load i32, ptr %t154
+ %t152 = icmp eq i32 %t153, 0
+ br i1 %t152, label %tern.t47, label %tern.f48
+tern.t47:
+ %t156 = load ptr, ptr %sc_l__x25_pushValue_1
+ %t157 = getelementptr inbounds %ScrUnion, ptr %t156, i64 0, i32 5
+ %t158 = load ptr, ptr %t157
+ %t159 = call ptr @scr_closure_retain_v(ptr %t158)
+ store ptr %t159, ptr %s155
+ br label %tern.j49
+tern.f48:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup50
+exc.dead51:
+ store ptr null, ptr %s155
+ br label %tern.j49
+tern.j49:
+ %t160 = load ptr, ptr %s155
+ %t161 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 1
+ %t162 = load i64, ptr %t161, !tbaa !2
+ %t165 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 2
+ %t163 = load i64, ptr %t165, !tbaa !2
+ %t164 = icmp ult i64 %t162, %t163
+ br i1 %t164, label %arr.push.dense52, label %arr.push.slow53
+arr.push.dense52:
+ %t166 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 8
+ %t168 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 9
+ %t167 = load ptr, ptr %t166, !tbaa !2
+ %t169 = load ptr, ptr %t168, !tbaa !2
+ %t170 = getelementptr inbounds i8, ptr %t169, i64 %t162
+ %t171 = getelementptr inbounds i64, ptr %t167, i64 %t162
+ store ptr %t160, ptr %t171, !tbaa !6
+ store i8 1, ptr %t170, !tbaa !4
+ %t172 = add nuw i64 %t162, 1
+ store i64 %t172, ptr %t161, !tbaa !2
+ %t174 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 6
+ %t175 = load i32, ptr %t174, !tbaa !2
+ %t179 = zext i32 %t175 to i64
+ %t176 = icmp eq i64 %t179, %t162
+ %t177 = add i32 %t175, 1
+ %t178 = select i1 %t176, i32 %t177, i32 %t175
+ store i32 %t178, ptr %t174, !tbaa !2
+ %t173 = sitofp i64 %t172 to double
+ br label %arr.push.join54
+arr.push.slow53:
+ %t180 = call double @scr_arr_push_ref(ptr %t150, ptr %t160) cold
+ br label %arr.push.join54
+arr.push.join54:
+ %t181 = phi double [ %t173, %arr.push.dense52 ], [ %t180, %arr.push.slow53 ]
+ br label %if.j45
+if.j45:
+ %t182 = load ptr, ptr %sc_l__x25_pushTarget_1
+ %t183 = getelementptr inbounds %ScrArr, ptr %t182, i32 0, i32 1
+ %t184 = load i64, ptr %t183, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t185 = sitofp i64 %t184 to double
+ %t186 = load ptr, ptr %s111
+ call void @scr_closure_release(ptr %t186)
+ br label %loop.u27
+loop.u27:
+ %t187 = load i32, ptr %sc_l_i_1
+ %t188 = uitofp i32 %t187 to double
+ %t190 = zext i32 %t187 to i64
+ %t191 = add nsw i64 %t190, 1
+ %t193 = trunc i64 %t191 to i32
+ %t192 = sitofp i64 %t191 to double
+ %t194 = trunc i64 %t191 to i32
+ store i32 %t194, ptr %sc_l_i_1
+ br label %loop.c25
+loop.e24:
+ %t195 = load ptr, ptr %sc_l_out_0
+ ret ptr %t195
+exc.cleanup19:
+ %t196 = load ptr, ptr %s15
+ call void @scr_closure_release(ptr %t196)
+ %t197 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t197)
+ ret ptr null
+exc.cleanup31:
+ %t198 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t198)
+ ret ptr null
+exc.cleanup50:
+ %t199 = load ptr, ptr %s111
+ call void @scr_closure_release(ptr %t199)
+ %t200 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t200)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_mergeMw(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_mergeMw(ptr %p0, ptr %p1)
+ call void @scr_arr_release(ptr %p0)
+ call void @scr_arr_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_m5_pathMeta(ptr %p_sc_l_path_0) #0 { ; %m5.pathMeta
+entry:
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_names_0 = alloca ptr ; names
+ %sc_l_idxs_0 = alloca ptr ; idxs
+ %sc_l_splat_0 = alloca double ; splat
+ %sc_l_segs_0 = alloca ptr ; segs
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_seg_0 = alloca ptr ; seg
+ %s17 = alloca ptr
+ %s50 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_names_0
+ store ptr null, ptr %sc_l_idxs_0
+ store ptr null, ptr %sc_l_segs_0
+ store ptr null, ptr %sc_l_seg_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_arr_new_small(i32 2)
+ store ptr %t4, ptr %sc_l_names_0
+ %t5 = call ptr @scr_arr_new_small(i32 0)
+ store ptr %t5, ptr %sc_l_idxs_0
+ store double 0xBFF0000000000000, ptr %sc_l_splat_0
+ %t6 = load ptr, ptr %sc_l_path_0
+ %t7 = call ptr @scr_str_split_limit(ptr %t6, ptr @sc_lit_2434240011052594, double 0x41EFFFFFFFE00000)
+ store ptr %t7, ptr %sc_l_segs_0
+ store i32 1, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t8 = load i32, ptr %sc_l_i_0
+ %t9 = uitofp i32 %t8 to double
+ %t10 = load ptr, ptr %sc_l_segs_0
+ %t11 = getelementptr inbounds %ScrArr, ptr %t10, i32 0, i32 1
+ %t12 = load i64, ptr %t11, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t13 = sitofp i64 %t12 to double
+ %t15 = fptosi double %t13 to i64
+ %t16 = zext i32 %t8 to i64
+ %t14 = icmp slt i64 %t16, %t15
+ br i1 %t14, label %loop.b4, label %loop.e2
+loop.b4:
+ %t18 = load ptr, ptr %sc_l_segs_0
+ %t19 = load i32, ptr %sc_l_i_0
+ %t20 = uitofp i32 %t19 to double
+ %t21 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2
+ %t22 = load i64, ptr %t21, !tbaa !2
+ %t23 = fptosi double %t20 to i64
+ %t24 = freeze i64 %t23
+ %t25 = sitofp i64 %t24 to double
+ %t26 = fcmp oeq double %t25, %t20
+ %t27 = icmp ult i64 %t24, %t22
+ %t28 = and i1 %t26, %t27
+ br i1 %t28, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t29 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6
+ %t30 = load i32, ptr %t29, !tbaa !2
+ %t32 = zext i32 %t30 to i64
+ %t31 = icmp ult i64 %t24, %t32
+ br i1 %t31, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t33 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1
+ %t34 = load i64, ptr %t33, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t35 = icmp ult i64 %t24, %t34
+ br i1 %t35, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t36 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9
+ %t37 = load ptr, ptr %t36, !tbaa !2
+ %t38 = getelementptr inbounds i8, ptr %t37, i64 %t24
+ %t39 = load i8, ptr %t38, !tbaa !4
+ %t40 = icmp eq i8 %t39, 1
+ br i1 %t40, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t41 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8
+ %t42 = load ptr, ptr %t41, !tbaa !2
+ %t43 = getelementptr inbounds i64, ptr %t42, i64 %t24
+ %t44 = load ptr, ptr %t43, !tbaa !6
+ %t45 = call ptr @sc_rc_retain_str(ptr %t44)
+ store ptr %t45, ptr %s17
+ br label %local.array.join8
+local.array.slow6:
+ %t46 = call ptr @scr_arr_peek_ref(ptr %t18, double %t20)
+ %t47 = icmp ne ptr %t46, null
+ br i1 %t47, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ %t48 = call ptr @sc_rc_retain_str(ptr %t46)
+ store ptr %t48, ptr %s17
+ br label %local.array.join8
+local.array.missing7:
+ store ptr null, ptr %s17
+ br label %local.array.join8
+local.array.join8:
+ %t49 = load ptr, ptr %s17
+ %t52 = icmp eq ptr %t49, null
+ %t51 = select i1 %t52, i32 1, i32 0
+ switch i32 %t51, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ]
+u.a17:
+ %t53 = call ptr @sc_rc_retain_str(ptr %t49)
+ store ptr %t53, ptr %s50
+ br label %us.j15
+u.a18:
+ store ptr @sc_lit_4134463689533233, ptr %s50
+ br label %us.j15
+u.bad16:
+ call void @sc_bad_tag()
+ unreachable
+us.j15:
+ %t54 = load ptr, ptr %s50
+ %t55 = load i32, ptr %exc.cell
+ %t56 = icmp ne i32 %t55, 0
+ %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false)
+ br i1 %t57, label %exc.u19, label %exc.k20
+exc.u19:
+ %t58 = load ptr, ptr %s17
+ call void @scr_str_release(ptr %t58)
+ call void @scr_str_release(ptr %t54)
+ br label %exc.cleanup21
+exc.k20:
+ store ptr %t54, ptr %sc_l_seg_0
+ %t59 = load ptr, ptr %s17
+ call void @scr_str_release(ptr %t59)
+ %t60 = load ptr, ptr %sc_l_seg_0
+ %t61 = call zeroext i1 @sc_streq_1834571860458263(ptr %t60)
+ br i1 %t61, label %if.t22, label %if.f24
+if.t22:
+ %t62 = load i32, ptr %sc_l_i_0
+ %t63 = uitofp i32 %t62 to double
+ store double %t63, ptr %sc_l_splat_0
+ br label %if.j23
+if.f24:
+ %t64 = load ptr, ptr %sc_l_seg_0
+ %t65 = call ptr @scr_str_char_at(ptr %t64, double 0x0000000000000000)
+ %t66 = call zeroext i1 @sc_streq_4075616746236128(ptr %t65)
+ call void @scr_str_release(ptr %t65)
+ br i1 %t66, label %if.t25, label %if.j26
+if.t25:
+ %t67 = load ptr, ptr %sc_l_names_0
+ %t68 = load ptr, ptr %sc_l_seg_0
+ %t69 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t70 = call ptr @scr_str_slice(ptr %t68, double 0x3FF0000000000000, double %t69)
+ %t71 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 1
+ %t72 = load i64, ptr %t71, !tbaa !2
+ %t75 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 2
+ %t73 = load i64, ptr %t75, !tbaa !2
+ %t74 = icmp ult i64 %t72, %t73
+ br i1 %t74, label %arr.push.dense27, label %arr.push.slow28
+arr.push.dense27:
+ %t76 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 8
+ %t78 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 9
+ %t77 = load ptr, ptr %t76, !tbaa !2
+ %t79 = load ptr, ptr %t78, !tbaa !2
+ %t80 = getelementptr inbounds i8, ptr %t79, i64 %t72
+ %t81 = getelementptr inbounds i64, ptr %t77, i64 %t72
+ store ptr %t70, ptr %t81, !tbaa !6
+ store i8 1, ptr %t80, !tbaa !4
+ %t82 = add nuw i64 %t72, 1
+ store i64 %t82, ptr %t71, !tbaa !2
+ %t84 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 6
+ %t85 = load i32, ptr %t84, !tbaa !2
+ %t89 = zext i32 %t85 to i64
+ %t86 = icmp eq i64 %t89, %t72
+ %t87 = add i32 %t85, 1
+ %t88 = select i1 %t86, i32 %t87, i32 %t85
+ store i32 %t88, ptr %t84, !tbaa !2
+ %t83 = sitofp i64 %t82 to double
+ br label %arr.push.join29
+arr.push.slow28:
+ %t90 = call double @scr_arr_push_ref(ptr %t67, ptr %t70) cold
+ br label %arr.push.join29
+arr.push.join29:
+ %t91 = phi double [ %t83, %arr.push.dense27 ], [ %t90, %arr.push.slow28 ]
+ %t92 = load ptr, ptr %sc_l_idxs_0
+ %t93 = load i32, ptr %sc_l_i_0
+ %t94 = uitofp i32 %t93 to double
+ %t95 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 1
+ %t96 = load i64, ptr %t95, !tbaa !2
+ %t99 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 2
+ %t97 = load i64, ptr %t99, !tbaa !2
+ %t98 = icmp ult i64 %t96, %t97
+ br i1 %t98, label %arr.push.dense30, label %arr.push.slow31
+arr.push.dense30:
+ %t100 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 8
+ %t102 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 9
+ %t101 = load ptr, ptr %t100, !tbaa !2
+ %t103 = load ptr, ptr %t102, !tbaa !2
+ %t104 = getelementptr inbounds i8, ptr %t103, i64 %t96
+ %t105 = getelementptr inbounds i64, ptr %t101, i64 %t96
+ store double %t94, ptr %t105, !tbaa !6
+ store i8 1, ptr %t104, !tbaa !4
+ %t106 = add nuw i64 %t96, 1
+ store i64 %t106, ptr %t95, !tbaa !2
+ %t108 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 6
+ %t109 = load i32, ptr %t108, !tbaa !2
+ %t113 = zext i32 %t109 to i64
+ %t110 = icmp eq i64 %t113, %t96
+ %t111 = add i32 %t109, 1
+ %t112 = select i1 %t110, i32 %t111, i32 %t109
+ store i32 %t112, ptr %t108, !tbaa !2
+ %t107 = sitofp i64 %t106 to double
+ br label %arr.push.join32
+arr.push.slow31:
+ %t114 = call double @scr_arr_push_f64(ptr %t92, double %t94) cold
+ br label %arr.push.join32
+arr.push.join32:
+ %t115 = phi double [ %t107, %arr.push.dense30 ], [ %t114, %arr.push.slow31 ]
+ br label %if.j26
+if.j26:
+ br label %if.j23
+if.j23:
+ %t116 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t116)
+ br label %loop.u5
+loop.u5:
+ %t117 = load i32, ptr %sc_l_i_0
+ %t118 = uitofp i32 %t117 to double
+ %t120 = zext i32 %t117 to i64
+ %t121 = add nsw i64 %t120, 1
+ %t123 = trunc i64 %t121 to i32
+ %t122 = sitofp i64 %t121 to double
+ %t124 = trunc i64 %t121 to i32
+ store i32 %t124, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ %t125 = call ptr @sc_rnew_r9()
+ %t126 = load ptr, ptr %sc_l_names_0
+ %t127 = call ptr @scr_arr_retain_v(ptr %t126)
+ %t128 = getelementptr inbounds %sc_rs_r9, ptr %t125, i64 0, i32 2
+ store ptr %t127, ptr %t128
+ %t129 = load ptr, ptr %sc_l_idxs_0
+ %t130 = call ptr @scr_arr_retain_v(ptr %t129)
+ %t131 = getelementptr inbounds %sc_rs_r9, ptr %t125, i64 0, i32 1
+ store ptr %t130, ptr %t131
+ %t132 = load double, ptr %sc_l_splat_0
+ %t133 = getelementptr inbounds %sc_rs_r9, ptr %t125, i64 0, i32 3
+ store double %t132, ptr %t133
+ %t134 = load ptr, ptr %sc_l_names_0
+ call void @scr_arr_release(ptr %t134)
+ %t135 = load ptr, ptr %sc_l_idxs_0
+ call void @scr_arr_release(ptr %t135)
+ %t136 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t136)
+ ret ptr %t125
+exc.cleanup21:
+ %t137 = load ptr, ptr %sc_l_names_0
+ call void @scr_arr_release(ptr %t137)
+ %t138 = load ptr, ptr %sc_l_idxs_0
+ call void @scr_arr_release(ptr %t138)
+ %t139 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t139)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_pathMeta(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_pathMeta(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_m5_mountRoutes(ptr %p_sc_l_sub_0, ptr %p_sc_l_app_0, ptr %p_sc_l_prefix_0, ptr %p_sc_l_pre_0) #0 { ; %m5.mountRoutes
+entry:
+ %sc_l_sub_0 = alloca ptr ; sub
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l_prefix_0 = alloca ptr ; prefix
+ %sc_l_pre_0 = alloca ptr ; pre
+ %sc_l_sn_0 = alloca ptr ; sn
+ %sc_l_stack_0 = alloca ptr ; stack
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l__x25_popArray_0 = alloca ptr ; %popArray
+ %sc_l__x25_popLength_0 = alloca i32 ; %popLength
+ %sc_l_n_0 = alloca ptr ; n
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_hs_0 = alloca ptr ; hs
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_subMw_0 = alloca ptr ; subMw
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_idx_0 = alloca double ; idx
+ %sc_l_ch_0 = alloca ptr ; ch
+ %sc_l_i_1 = alloca i32 ; i
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_seg_0 = alloca ptr ; seg
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s107 = alloca ptr
+ %s143 = alloca ptr
+ %s151 = alloca ptr
+ %s170 = alloca i64 ; integer induction i
+ %s244 = alloca ptr
+ %s368 = alloca [5 x ptr]
+ %s387 = alloca ptr
+ %s391 = alloca ptr
+ %s438 = alloca ptr
+ %s443 = alloca i64 ; integer induction i
+ %s506 = alloca ptr
+ %s515 = alloca ptr
+ %s526 = alloca ptr
+ %s532 = alloca %ScrUnion
+ %s533 = getelementptr inbounds %ScrUnion, ptr %s532, i32 0, i32 5
+ %s534 = getelementptr inbounds %ScrUnion, ptr %s532, i32 0, i32 1
+ %s570 = alloca [3 x ptr]
+ store ptr null, ptr %sc_l_sn_0
+ store ptr null, ptr %sc_l_stack_0
+ store ptr null, ptr %sc_l_f_0
+ store ptr null, ptr %sc_l__x25_popArray_0
+ store ptr null, ptr %sc_l_n_0
+ store ptr null, ptr %sc_l_a_0
+ store ptr null, ptr %sc_l_hs_0
+ store ptr null, ptr %sc_l_path_0
+ store ptr null, ptr %sc_l_subMw_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_ch_0
+ store ptr null, ptr %sc_l_c_0
+ store ptr null, ptr %sc_l_seg_0
+ store ptr %p_sc_l_sub_0, ptr %sc_l_sub_0
+ store ptr %p_sc_l_app_0, ptr %sc_l_app_0
+ store ptr %p_sc_l_prefix_0, ptr %sc_l_prefix_0
+ store ptr %p_sc_l_pre_0, ptr %sc_l_pre_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_sub_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !32
+ %t7 = call ptr @scr_arr_retain_v(ptr %t6)
+ store ptr %t7, ptr %sc_l_sn_0
+ %t8 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r17.sc_rrelease_r17.null, i64 1)
+ %t9 = call ptr @sc_rnew_r17()
+ %t10 = getelementptr inbounds %sc_rs_r17, ptr %t9, i64 0, i32 2
+ store double 0x0000000000000000, ptr %t10
+ %t11 = getelementptr inbounds %sc_rs_r17, ptr %t9, i64 0, i32 1
+ store ptr @sc_lit_4005573543169985, ptr %t11
+ %t12 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 1
+ %t13 = load i64, ptr %t12, !tbaa !2
+ %t16 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 2
+ %t14 = load i64, ptr %t16, !tbaa !2
+ %t15 = icmp ult i64 %t13, %t14
+ br i1 %t15, label %arr.push.dense2, label %arr.push.slow3
+arr.push.dense2:
+ %t17 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 8
+ %t19 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 9
+ %t18 = load ptr, ptr %t17, !tbaa !2
+ %t20 = load ptr, ptr %t19, !tbaa !2
+ %t21 = getelementptr inbounds i8, ptr %t20, i64 %t13
+ %t22 = getelementptr inbounds i64, ptr %t18, i64 %t13
+ store ptr %t9, ptr %t22, !tbaa !6
+ store i8 1, ptr %t21, !tbaa !4
+ %t23 = add nuw i64 %t13, 1
+ store i64 %t23, ptr %t12, !tbaa !2
+ %t25 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 6
+ %t26 = load i32, ptr %t25, !tbaa !2
+ %t30 = zext i32 %t26 to i64
+ %t27 = icmp eq i64 %t30, %t13
+ %t28 = add i32 %t26, 1
+ %t29 = select i1 %t27, i32 %t28, i32 %t26
+ store i32 %t29, ptr %t25, !tbaa !2
+ %t24 = sitofp i64 %t23 to double
+ br label %arr.push.join4
+arr.push.slow3:
+ %t31 = call double @scr_arr_push_ref(ptr %t8, ptr %t9) cold
+ br label %arr.push.join4
+arr.push.join4:
+ %t32 = phi double [ %t24, %arr.push.dense2 ], [ %t31, %arr.push.slow3 ]
+ store ptr %t8, ptr %sc_l_stack_0
+ br label %loop.c6
+loop.c6:
+ %t33 = load ptr, ptr %sc_l_stack_0
+ %t34 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 1
+ %t35 = load i64, ptr %t34, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t36 = sitofp i64 %t35 to double
+ %t38 = fptosi double %t36 to i64
+ %t37 = icmp sgt i64 %t38, 0
+ br i1 %t37, label %loop.b7, label %loop.e5
+loop.b7:
+ %t39 = load ptr, ptr %sc_l_stack_0
+ %t40 = load ptr, ptr %sc_l_stack_0
+ %t41 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 1
+ %t42 = load i64, ptr %t41, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t43 = sitofp i64 %t42 to double
+ %t45 = fptosi double %t43 to i64
+ %t46 = sub nsw i64 %t45, 1
+ %t48 = trunc i64 %t46 to i32
+ %t47 = sitofp i64 %t46 to double
+ %t49 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 2
+ %t50 = load i64, ptr %t49, !tbaa !2
+ %t51 = fptosi double %t47 to i64
+ %t52 = freeze i64 %t51
+ %t53 = sitofp i64 %t52 to double
+ %t54 = fcmp oeq double %t53, %t47
+ %t55 = icmp ult i64 %t52, %t50
+ %t56 = and i1 %t54, %t55
+ br i1 %t56, label %local.array.range11, label %local.array.slow8
+local.array.range11:
+ br label %local.array.dense12
+local.array.dense12:
+ %t57 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 6
+ %t58 = load i32, ptr %t57, !tbaa !2
+ %t60 = zext i32 %t58 to i64
+ %t59 = icmp ult i64 %t52, %t60
+ br i1 %t59, label %local.array.value14, label %local.array.len13
+local.array.len13:
+ %t61 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 1
+ %t62 = load i64, ptr %t61, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t63 = icmp ult i64 %t52, %t62
+ br i1 %t63, label %local.array.state15, label %local.array.missing9
+local.array.state15:
+ %t64 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 9
+ %t65 = load ptr, ptr %t64, !tbaa !2
+ %t66 = getelementptr inbounds i8, ptr %t65, i64 %t52
+ %t67 = load i8, ptr %t66, !tbaa !4
+ %t68 = icmp eq i8 %t67, 1
+ br i1 %t68, label %local.array.value14, label %local.array.missing9
+local.array.value14:
+ %t69 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 8
+ %t70 = load ptr, ptr %t69, !tbaa !2
+ %t71 = getelementptr inbounds i64, ptr %t70, i64 %t52
+ %t72 = load ptr, ptr %t71, !tbaa !6
+ %t73 = call ptr @sc_rretain_r17(ptr %t72)
+ store ptr %t73, ptr %sc_l_f_0
+ br label %local.array.join10
+local.array.slow8:
+ %t74 = call ptr @scr_arr_peek_ref(ptr %t39, double %t47)
+ %t75 = icmp ne ptr %t74, null
+ br i1 %t75, label %local.array.slow.value16, label %local.array.missing9
+local.array.slow.value16:
+ %t76 = call ptr @sc_rretain_r17(ptr %t74)
+ store ptr %t76, ptr %sc_l_f_0
+ br label %local.array.join10
+local.array.missing9:
+ store ptr null, ptr %sc_l_f_0
+ br label %local.array.join10
+local.array.join10:
+ %t77 = load ptr, ptr %sc_l_stack_0
+ store ptr %t77, ptr %sc_l__x25_popArray_0
+ %t78 = load ptr, ptr %sc_l__x25_popArray_0
+ %t79 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 1
+ %t80 = load i64, ptr %t79, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t81 = sitofp i64 %t80 to double
+ %t82 = fptosi double %t81 to i64
+ %t83 = trunc i64 %t82 to i32
+ store i32 %t83, ptr %sc_l__x25_popLength_0
+ %t84 = load i32, ptr %sc_l__x25_popLength_0
+ %t85 = uitofp i32 %t84 to double
+ %t87 = zext i32 %t84 to i64
+ %t86 = icmp sgt i64 %t87, 0
+ br i1 %t86, label %if.t17, label %if.f19
+if.t17:
+ %t88 = load ptr, ptr %sc_l__x25_popArray_0
+ %t89 = load i32, ptr %sc_l__x25_popLength_0
+ %t90 = uitofp i32 %t89 to double
+ %t92 = zext i32 %t89 to i64
+ %t93 = sub nsw i64 %t92, 1
+ %t95 = trunc i64 %t93 to i32
+ %t94 = sitofp i64 %t93 to double
+ %t96 = getelementptr inbounds %ScrArr, ptr %t88, i32 0, i32 1
+ %t97 = load i64, ptr %t96, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t98 = sitofp i64 %t97 to double
+ %t99 = fcmp oeq double %t94, %t98
+ br i1 %t99, label %arr.len.done21, label %arr.len.set20
+arr.len.set20:
+ call void @scr_arr_set_len(ptr %t88, double %t94)
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u22, label %exc.k23
+exc.u22:
+ br label %exc.cleanup24
+exc.k23:
+ br label %arr.len.done21
+arr.len.done21:
+ br label %if.j18
+if.f19:
+ br label %if.j18
+if.j18:
+ %t103 = load ptr, ptr %sc_l_sn_0
+ %t104 = load ptr, ptr %sc_l_f_0
+ %t106 = icmp eq ptr %t104, null
+ br i1 %t106, label %read.then25, label %read.else26
+read.then25:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1410221948126323)
+ br label %exc.cleanup24
+exc.dead28:
+ store ptr null, ptr %s107
+ br label %read.join27
+read.else26:
+ %t108 = load ptr, ptr %sc_l_f_0
+ store ptr %t108, ptr %s107
+ br label %read.join27
+read.join27:
+ %t109 = load ptr, ptr %s107
+ %t110 = getelementptr inbounds %sc_rs_r17, ptr %t109, i64 0, i32 2
+ %t111 = load double, ptr %t110
+ %t112 = getelementptr inbounds %ScrArr, ptr %t103, i32 0, i32 2
+ %t113 = load i64, ptr %t112, !tbaa !2
+ %t114 = fptosi double %t111 to i64
+ %t115 = freeze i64 %t114
+ %t116 = sitofp i64 %t115 to double
+ %t117 = fcmp oeq double %t116, %t111
+ %t118 = icmp ult i64 %t115, %t113
+ %t119 = and i1 %t117, %t118
+ br i1 %t119, label %local.array.range32, label %local.array.slow29
+local.array.range32:
+ br label %local.array.dense33
+local.array.dense33:
+ %t120 = getelementptr inbounds %ScrArr, ptr %t103, i32 0, i32 6
+ %t121 = load i32, ptr %t120, !tbaa !2
+ %t123 = zext i32 %t121 to i64
+ %t122 = icmp ult i64 %t115, %t123
+ br i1 %t122, label %local.array.value35, label %local.array.len34
+local.array.len34:
+ %t124 = getelementptr inbounds %ScrArr, ptr %t103, i32 0, i32 1
+ %t125 = load i64, ptr %t124, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t126 = icmp ult i64 %t115, %t125
+ br i1 %t126, label %local.array.state36, label %local.array.missing30
+local.array.state36:
+ %t127 = getelementptr inbounds %ScrArr, ptr %t103, i32 0, i32 9
+ %t128 = load ptr, ptr %t127, !tbaa !2
+ %t129 = getelementptr inbounds i8, ptr %t128, i64 %t115
+ %t130 = load i8, ptr %t129, !tbaa !4
+ %t131 = icmp eq i8 %t130, 1
+ br i1 %t131, label %local.array.value35, label %local.array.missing30
+local.array.value35:
+ %t132 = getelementptr inbounds %ScrArr, ptr %t103, i32 0, i32 8
+ %t133 = load ptr, ptr %t132, !tbaa !2
+ %t134 = getelementptr inbounds i64, ptr %t133, i64 %t115
+ %t135 = load ptr, ptr %t134, !tbaa !6
+ %t136 = call ptr @sc_rretain_r5(ptr %t135)
+ store ptr %t136, ptr %sc_l_n_0
+ br label %local.array.join31
+local.array.slow29:
+ %t137 = call ptr @scr_arr_peek_ref(ptr %t103, double %t111)
+ %t138 = icmp ne ptr %t137, null
+ br i1 %t138, label %local.array.slow.value37, label %local.array.missing30
+local.array.slow.value37:
+ %t139 = call ptr @sc_rretain_r5(ptr %t137)
+ store ptr %t139, ptr %sc_l_n_0
+ br label %local.array.join31
+local.array.missing30:
+ store ptr null, ptr %sc_l_n_0
+ br label %local.array.join31
+local.array.join31:
+ %t140 = load ptr, ptr %sc_l_f_0
+ %t142 = icmp eq ptr %t140, null
+ br i1 %t142, label %read.then38, label %read.else39
+read.then38:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4291706737594396)
+ br label %exc.cleanup41
+exc.dead42:
+ store ptr null, ptr %s143
+ br label %read.join40
+read.else39:
+ %t144 = load ptr, ptr %sc_l_f_0
+ store ptr %t144, ptr %s143
+ br label %read.join40
+read.join40:
+ %t145 = load ptr, ptr %s143
+ %t146 = getelementptr inbounds %sc_rs_r17, ptr %t145, i64 0, i32 1
+ %t147 = load ptr, ptr %t146
+ store ptr %t147, ptr %sc_l_a_0
+ %t148 = load ptr, ptr %sc_l_n_0
+ %t150 = icmp eq ptr %t148, null
+ br i1 %t150, label %read.then43, label %read.else44
+read.then43:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2156830633837320)
+ br label %exc.cleanup41
+exc.dead46:
+ store ptr null, ptr %s151
+ br label %read.join45
+read.else44:
+ %t152 = load ptr, ptr %sc_l_n_0
+ store ptr %t152, ptr %s151
+ br label %read.join45
+read.join45:
+ %t153 = load ptr, ptr %s151
+ %t154 = getelementptr inbounds %sc_rs_r5, ptr %t153, i64 0, i32 2
+ %t155 = load ptr, ptr %t154
+ %t156 = call ptr @scr_arr_retain_v(ptr %t155)
+ store ptr %t156, ptr %sc_l_hs_0
+ %t157 = load ptr, ptr %sc_l_hs_0
+ %t158 = getelementptr inbounds %ScrArr, ptr %t157, i32 0, i32 1
+ %t159 = load i64, ptr %t158, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t160 = sitofp i64 %t159 to double
+ %t162 = fptosi double %t160 to i64
+ %t161 = icmp sgt i64 %t162, 0
+ br i1 %t161, label %if.t47, label %if.j48
+if.t47:
+ %t163 = load ptr, ptr %sc_l_prefix_0
+ %t164 = call ptr @sc_rc_retain_str(ptr %t163)
+ %t165 = load ptr, ptr %sc_l_a_0
+ %t166 = call ptr @scr_str_concat(ptr %t164, ptr %t165)
+ store ptr %t166, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t164)
+ %t167 = load ptr, ptr %sc_l_path_0
+ %t168 = call zeroext i1 @sc_streq_4005573543169985(ptr %t167)
+ br i1 %t168, label %if.t49, label %if.j50
+if.t49:
+ %t169 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t169)
+ store ptr @sc_lit_2434240011052594, ptr %sc_l_path_0
+ br label %if.j50
+if.j50:
+ %t171 = fptosi double 0x0000000000000000 to i64
+ store i64 %t171, ptr %s170
+ br label %loop.c52
+loop.c52:
+ %t172 = load ptr, ptr %sc_l_hs_0
+ %t173 = getelementptr inbounds %ScrArr, ptr %t172, i64 0, i32 1
+ %t174 = load i64, ptr %t173, !tbaa !2
+ %t175 = load i64, ptr %s170
+ %t176 = icmp ult i64 %t175, %t174
+ br i1 %t176, label %loop.b53, label %loop.e51
+loop.b53:
+ %t177 = load ptr, ptr %sc_l_sub_0
+ %t178 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t177, i64 0, i32 4
+ %t179 = load ptr, ptr %t178, !tbaa !34
+ %t180 = load ptr, ptr %sc_l_hs_0
+ %t181 = load i64, ptr %s170
+ %t182 = sitofp i64 %t181 to double
+ %t183 = trunc i64 %t181 to i32
+ %t188 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 8
+ %t189 = load ptr, ptr %t188, !tbaa !2
+ %t184 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 1
+ %t185 = load i64, ptr %t184, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t186 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 2
+ %t187 = load i64, ptr %t186, !tbaa !2
+ %t190 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 9
+ %t191 = load ptr, ptr %t190, !tbaa !2
+ %t192 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 6
+ %t193 = load i32, ptr %t192, !tbaa !2
+ %t194 = zext i32 %t193 to i64
+ %t195 = icmp ult i64 %t181, %t194
+ br i1 %t195, label %arr.get.value57, label %arr.check58
+arr.check58:
+ %t196 = icmp ult i64 %t181, %t187
+ %t197 = icmp ult i64 %t181, %t185
+ %t198 = and i1 %t196, %t197
+ br i1 %t198, label %arr.dense59, label %arr.get.slow55
+arr.dense59:
+ %t199 = getelementptr inbounds i8, ptr %t191, i64 %t181
+ %t200 = load i8, ptr %t199, !tbaa !4
+ %t201 = icmp eq i8 %t200, 1
+ br i1 %t201, label %arr.get.value57, label %arr.get.slow55
+arr.get.value57:
+ %t202 = getelementptr inbounds i64, ptr %t189, i64 %t181
+ %t203 = load double, ptr %t202, !tbaa !6
+ br label %arr.get.join56
+arr.get.slow55:
+ %t204 = call double @scr_arr_get_number(ptr %t180, double %t182) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.get.join56
+arr.get.join56:
+ %t205 = phi double [ %t203, %arr.get.value57 ], [ %t204, %arr.get.slow55 ]
+ %t206 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 2
+ %t207 = load i64, ptr %t206, !tbaa !2
+ %t208 = fptosi double %t205 to i64
+ %t209 = freeze i64 %t208
+ %t210 = sitofp i64 %t209 to double
+ %t211 = fcmp oeq double %t210, %t205
+ %t212 = icmp ult i64 %t209, %t207
+ %t213 = and i1 %t211, %t212
+ br i1 %t213, label %local.array.range63, label %local.array.slow60
+local.array.range63:
+ br label %local.array.dense64
+local.array.dense64:
+ %t214 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 6
+ %t215 = load i32, ptr %t214, !tbaa !2
+ %t217 = zext i32 %t215 to i64
+ %t216 = icmp ult i64 %t209, %t217
+ br i1 %t216, label %local.array.value66, label %local.array.len65
+local.array.len65:
+ %t218 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 1
+ %t219 = load i64, ptr %t218, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t220 = icmp ult i64 %t209, %t219
+ br i1 %t220, label %local.array.state67, label %local.array.missing61
+local.array.state67:
+ %t221 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 9
+ %t222 = load ptr, ptr %t221, !tbaa !2
+ %t223 = getelementptr inbounds i8, ptr %t222, i64 %t209
+ %t224 = load i8, ptr %t223, !tbaa !4
+ %t225 = icmp eq i8 %t224, 1
+ br i1 %t225, label %local.array.value66, label %local.array.missing61
+local.array.value66:
+ %t226 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 8
+ %t227 = load ptr, ptr %t226, !tbaa !2
+ %t228 = getelementptr inbounds i64, ptr %t227, i64 %t209
+ %t229 = load ptr, ptr %t228, !tbaa !6
+ %t230 = call ptr @scr_arr_retain_v(ptr %t229)
+ store ptr %t230, ptr %sc_l_subMw_0
+ br label %local.array.join62
+local.array.slow60:
+ %t231 = call ptr @scr_arr_peek_ref(ptr %t179, double %t205)
+ %t232 = icmp ne ptr %t231, null
+ br i1 %t232, label %local.array.slow.value68, label %local.array.missing61
+local.array.slow.value68:
+ %t233 = call ptr @scr_arr_retain_v(ptr %t231)
+ store ptr %t233, ptr %sc_l_subMw_0
+ br label %local.array.join62
+local.array.missing61:
+ store ptr null, ptr %sc_l_subMw_0
+ br label %local.array.join62
+local.array.join62:
+ %t234 = load ptr, ptr %sc_l_app_0
+ store ptr %t234, ptr %sc_l__x25_callbackReceiver_0
+ %t235 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t236 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t235)
+ %t237 = load i32, ptr %exc.cell
+ %t238 = icmp ne i32 %t237, 0
+ %t239 = call i1 @llvm.expect.i1(i1 %t238, i1 false)
+ br i1 %t239, label %exc.u69, label %exc.k70
+exc.u69:
+ call void @sc_rc_release_dyn(ptr %t236)
+ br label %exc.cleanup71
+exc.k70:
+ store ptr %t236, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t240 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t241 = getelementptr inbounds i8, ptr %t240, i64 8 ; ->kind
+ %t242 = load i32, ptr %t241
+ %t243 = icmp eq i32 %t242, 6
+ br i1 %t243, label %tern.t72, label %tern.f73
+tern.t72:
+ %t246 = call ptr @scr_dyn_undefined()
+ %t245 = call ptr @scr_dyn_retain_v(ptr %t246)
+ store ptr %t245, ptr %s244
+ br label %tern.j74
+tern.f73:
+ %t247 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t249 = call ptr @sc_f__x25_dyn_class_property_5(ptr %t248)
+ %t250 = load i32, ptr %exc.cell
+ %t251 = icmp ne i32 %t250, 0
+ %t252 = call i1 @llvm.expect.i1(i1 %t251, i1 false)
+ br i1 %t252, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t249)
+ br label %exc.cleanup77
+exc.k76:
+ store ptr %t249, ptr %s244
+ br label %tern.j74
+tern.j74:
+ %t253 = load ptr, ptr %s244
+ store ptr %t253, ptr %sc_l__x25_callback_0
+ %t254 = load ptr, ptr %sc_l__x25_callback_0
+ %t255 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t256 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t255, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t257 = load ptr, ptr %sc_l_sub_0
+ %t258 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t257, i64 0, i32 3
+ %t259 = load ptr, ptr %t258, !tbaa !36
+ %t260 = load ptr, ptr %sc_l_hs_0
+ %t261 = load i64, ptr %s170
+ %t262 = sitofp i64 %t261 to double
+ %t263 = trunc i64 %t261 to i32
+ %t268 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 8
+ %t269 = load ptr, ptr %t268, !tbaa !2
+ %t264 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 1
+ %t265 = load i64, ptr %t264, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t266 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 2
+ %t267 = load i64, ptr %t266, !tbaa !2
+ %t270 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 9
+ %t271 = load ptr, ptr %t270, !tbaa !2
+ %t272 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 6
+ %t273 = load i32, ptr %t272, !tbaa !2
+ %t274 = zext i32 %t273 to i64
+ %t275 = icmp ult i64 %t261, %t274
+ br i1 %t275, label %arr.get.value80, label %arr.check81
+arr.check81:
+ %t276 = icmp ult i64 %t261, %t267
+ %t277 = icmp ult i64 %t261, %t265
+ %t278 = and i1 %t276, %t277
+ br i1 %t278, label %arr.dense82, label %arr.get.slow78
+arr.dense82:
+ %t279 = getelementptr inbounds i8, ptr %t271, i64 %t261
+ %t280 = load i8, ptr %t279, !tbaa !4
+ %t281 = icmp eq i8 %t280, 1
+ br i1 %t281, label %arr.get.value80, label %arr.get.slow78
+arr.get.value80:
+ %t282 = getelementptr inbounds i64, ptr %t269, i64 %t261
+ %t283 = load double, ptr %t282, !tbaa !6
+ br label %arr.get.join79
+arr.get.slow78:
+ %t284 = call double @scr_arr_get_number(ptr %t260, double %t262) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.get.join79
+arr.get.join79:
+ %t285 = phi double [ %t283, %arr.get.value80 ], [ %t284, %arr.get.slow78 ]
+ %t286 = call ptr @sc_bf__x25_arr_idxOr_2(ptr %t259, double %t285)
+ %t287 = call ptr @sc_td_28(ptr %t286)
+ %t288 = load ptr, ptr %sc_l_pre_0
+ %t289 = load ptr, ptr %sc_l_subMw_0
+ %t290 = call ptr @sc_bf__x25_m5_mergeMw(ptr %t288, ptr %t289)
+ %t291 = load i32, ptr %exc.cell
+ %t292 = icmp ne i32 %t291, 0
+ %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false)
+ br i1 %t293, label %exc.u83, label %exc.k84
+exc.u83:
+ call void @scr_arr_release(ptr %t290)
+ call void @sc_rc_release_dyn(ptr %t256)
+ call void @scr_union_release(ptr %t286)
+ call void @sc_rc_release_dyn(ptr %t287)
+ br label %exc.cleanup85
+exc.k84:
+ %t294 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t290, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t294, ptr @sc_ldr_26_materialize_ops)
+ %t295 = load ptr, ptr %sc_l_path_0
+ %t296 = call ptr @sc_bf__x25_m5_pathMeta(ptr %t295)
+ %t297 = load i32, ptr %exc.cell
+ %t298 = icmp ne i32 %t297, 0
+ %t299 = call i1 @llvm.expect.i1(i1 %t298, i1 false)
+ br i1 %t299, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rrelease_r9(ptr %t296)
+ call void @sc_rc_release_dyn(ptr %t256)
+ call void @scr_union_release(ptr %t286)
+ call void @sc_rc_release_dyn(ptr %t287)
+ call void @scr_arr_release(ptr %t290)
+ call void @sc_rc_release_dyn(ptr %t294)
+ br label %exc.cleanup85
+exc.k87:
+ %t300 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t296, ptr @sc_rretain_r9, ptr @sc_rrelease_r9, ptr @sc_cs_1790505695584955, i64 9, ptr @sc_ldr_33_materialize, ptr @sc_ldr_33_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t300, ptr @sc_ldr_33_materialize_rops)
+ %t301 = load ptr, ptr %sc_l_sub_0
+ %t302 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t301, i64 0, i32 13
+ %t303 = load ptr, ptr %t302, !tbaa !38
+ %t304 = load ptr, ptr %sc_l_hs_0
+ %t305 = load i64, ptr %s170
+ %t306 = sitofp i64 %t305 to double
+ %t307 = trunc i64 %t305 to i32
+ %t312 = getelementptr inbounds %ScrArr, ptr %t304, i32 0, i32 8
+ %t313 = load ptr, ptr %t312, !tbaa !2
+ %t308 = getelementptr inbounds %ScrArr, ptr %t304, i32 0, i32 1
+ %t309 = load i64, ptr %t308, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t310 = getelementptr inbounds %ScrArr, ptr %t304, i32 0, i32 2
+ %t311 = load i64, ptr %t310, !tbaa !2
+ %t314 = getelementptr inbounds %ScrArr, ptr %t304, i32 0, i32 9
+ %t315 = load ptr, ptr %t314, !tbaa !2
+ %t316 = getelementptr inbounds %ScrArr, ptr %t304, i32 0, i32 6
+ %t317 = load i32, ptr %t316, !tbaa !2
+ %t318 = zext i32 %t317 to i64
+ %t319 = icmp ult i64 %t305, %t318
+ br i1 %t319, label %arr.get.value90, label %arr.check91
+arr.check91:
+ %t320 = icmp ult i64 %t305, %t311
+ %t321 = icmp ult i64 %t305, %t309
+ %t322 = and i1 %t320, %t321
+ br i1 %t322, label %arr.dense92, label %arr.get.slow88
+arr.dense92:
+ %t323 = getelementptr inbounds i8, ptr %t315, i64 %t305
+ %t324 = load i8, ptr %t323, !tbaa !4
+ %t325 = icmp eq i8 %t324, 1
+ br i1 %t325, label %arr.get.value90, label %arr.get.slow88
+arr.get.value90:
+ %t326 = getelementptr inbounds i64, ptr %t313, i64 %t305
+ %t327 = load double, ptr %t326, !tbaa !6
+ br label %arr.get.join89
+arr.get.slow88:
+ %t328 = call double @scr_arr_get_number(ptr %t304, double %t306) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.get.join89
+arr.get.join89:
+ %t329 = phi double [ %t327, %arr.get.value90 ], [ %t328, %arr.get.slow88 ]
+ %t330 = call { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %t303, double %t329)
+ %t331 = extractvalue { i32, i64 } %t330, 0
+ %t332 = extractvalue { i32, i64 } %t330, 1
+ switch i32 %t331, label %union.box.none94 [ i32 0, label %union.box.arm95 i32 1, label %union.box.arm96 ]
+union.box.arm95:
+ %t333 = bitcast i64 %t332 to double
+ %t334 = call ptr @scr_union_new_f64(i32 0, double %t333)
+ br label %union.box.join93
+union.box.arm96:
+ br label %union.box.join93
+union.box.none94:
+ br label %union.box.join93
+union.box.join93:
+ %t335 = phi ptr [ %t334, %union.box.arm95 ], [ @sc_unit_3, %union.box.arm96 ], [ null, %union.box.none94 ]
+ %t336 = call ptr @sc_td_29(ptr %t335)
+ %t337 = load ptr, ptr %sc_l_sub_0
+ %t338 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t337, i64 0, i32 14
+ %t339 = load ptr, ptr %t338, !tbaa !40
+ %t340 = load ptr, ptr %sc_l_hs_0
+ %t341 = load i64, ptr %s170
+ %t342 = sitofp i64 %t341 to double
+ %t343 = trunc i64 %t341 to i32
+ %t348 = getelementptr inbounds %ScrArr, ptr %t340, i32 0, i32 8
+ %t349 = load ptr, ptr %t348, !tbaa !2
+ %t344 = getelementptr inbounds %ScrArr, ptr %t340, i32 0, i32 1
+ %t345 = load i64, ptr %t344, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t346 = getelementptr inbounds %ScrArr, ptr %t340, i32 0, i32 2
+ %t347 = load i64, ptr %t346, !tbaa !2
+ %t350 = getelementptr inbounds %ScrArr, ptr %t340, i32 0, i32 9
+ %t351 = load ptr, ptr %t350, !tbaa !2
+ %t352 = getelementptr inbounds %ScrArr, ptr %t340, i32 0, i32 6
+ %t353 = load i32, ptr %t352, !tbaa !2
+ %t354 = zext i32 %t353 to i64
+ %t355 = icmp ult i64 %t341, %t354
+ br i1 %t355, label %arr.get.value99, label %arr.check100
+arr.check100:
+ %t356 = icmp ult i64 %t341, %t347
+ %t357 = icmp ult i64 %t341, %t345
+ %t358 = and i1 %t356, %t357
+ br i1 %t358, label %arr.dense101, label %arr.get.slow97
+arr.dense101:
+ %t359 = getelementptr inbounds i8, ptr %t351, i64 %t341
+ %t360 = load i8, ptr %t359, !tbaa !4
+ %t361 = icmp eq i8 %t360, 1
+ br i1 %t361, label %arr.get.value99, label %arr.get.slow97
+arr.get.value99:
+ %t362 = getelementptr inbounds i64, ptr %t349, i64 %t341
+ %t363 = load double, ptr %t362, !tbaa !6
+ br label %arr.get.join98
+arr.get.slow97:
+ %t364 = call double @scr_arr_get_number(ptr %t340, double %t342) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.get.join98
+arr.get.join98:
+ %t365 = phi double [ %t363, %arr.get.value99 ], [ %t364, %arr.get.slow97 ]
+ %t366 = call ptr @sc_bf__x25_arr_idxOr_5(ptr %t339, double %t365)
+ %t367 = call ptr @sc_ldu_6(ptr %t366)
+ %t369 = getelementptr inbounds [5 x ptr], ptr %s368, i64 0, i64 0
+ store ptr %t287, ptr %t369
+ %t370 = getelementptr inbounds [5 x ptr], ptr %s368, i64 0, i64 1
+ store ptr %t294, ptr %t370
+ %t371 = getelementptr inbounds [5 x ptr], ptr %s368, i64 0, i64 2
+ store ptr %t300, ptr %t371
+ %t372 = getelementptr inbounds [5 x ptr], ptr %s368, i64 0, i64 3
+ store ptr %t336, ptr %t372
+ %t373 = getelementptr inbounds [5 x ptr], ptr %s368, i64 0, i64 4
+ store ptr %t367, ptr %t373
+ call void @scr_dyn_this_push_dyn(ptr %t256)
+ %t374 = call ptr @scr_dyn_call(ptr %t254, ptr %s368, i64 5, ptr @sc_cs_618920405504547)
+ call void @scr_dyn_this_pop()
+ %t375 = load i32, ptr %exc.cell
+ %t376 = icmp ne i32 %t375, 0
+ %t377 = call i1 @llvm.expect.i1(i1 %t376, i1 false)
+ br i1 %t377, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t256)
+ call void @scr_union_release(ptr %t286)
+ call void @sc_rc_release_dyn(ptr %t287)
+ call void @scr_arr_release(ptr %t290)
+ call void @sc_rc_release_dyn(ptr %t294)
+ call void @sc_rrelease_r9(ptr %t296)
+ call void @sc_rc_release_dyn(ptr %t300)
+ call void @scr_union_release(ptr %t335)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m5_MpCfg(ptr %t366)
+ call void @sc_rc_release_dyn(ptr %t367)
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup85
+exc.k103:
+ %t378 = call double @sc_dc_2(ptr %t374, ptr null)
+ %t379 = load i32, ptr %exc.cell
+ %t380 = icmp ne i32 %t379, 0
+ %t381 = call i1 @llvm.expect.i1(i1 %t380, i1 false)
+ br i1 %t381, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t256)
+ call void @scr_union_release(ptr %t286)
+ call void @sc_rc_release_dyn(ptr %t287)
+ call void @scr_arr_release(ptr %t290)
+ call void @sc_rc_release_dyn(ptr %t294)
+ call void @sc_rrelease_r9(ptr %t296)
+ call void @sc_rc_release_dyn(ptr %t300)
+ call void @scr_union_release(ptr %t335)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m5_MpCfg(ptr %t366)
+ call void @sc_rc_release_dyn(ptr %t367)
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup85
+exc.k105:
+ store double %t378, ptr %sc_l_idx_0
+ call void @sc_rc_release_dyn(ptr %t256)
+ call void @scr_union_release(ptr %t286)
+ call void @sc_rc_release_dyn(ptr %t287)
+ call void @scr_arr_release(ptr %t290)
+ call void @sc_rc_release_dyn(ptr %t294)
+ call void @sc_rrelease_r9(ptr %t296)
+ call void @sc_rc_release_dyn(ptr %t300)
+ call void @scr_union_release(ptr %t335)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m5_MpCfg(ptr %t366)
+ call void @sc_rc_release_dyn(ptr %t367)
+ call void @sc_rc_release_dyn(ptr %t374)
+ %t382 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t382)
+ %t383 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t383)
+ %t384 = load ptr, ptr %sc_l_app_0
+ %t385 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t384, i64 0, i32 1
+ %t386 = load ptr, ptr %t385, !tbaa !32
+ %t388 = load ptr, ptr %sc_l_n_0
+ %t390 = icmp eq ptr %t388, null
+ br i1 %t390, label %read.then106, label %read.else107
+read.then106:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4226955055047009)
+ br label %exc.cleanup71
+exc.dead109:
+ store ptr null, ptr %s391
+ br label %read.join108
+read.else107:
+ %t392 = load ptr, ptr %sc_l_n_0
+ store ptr %t392, ptr %s391
+ br label %read.join108
+read.join108:
+ %t393 = load ptr, ptr %s391
+ %t394 = getelementptr inbounds %sc_rs_r5, ptr %t393, i64 0, i32 3
+ %t395 = load ptr, ptr %t394
+ %t396 = load i64, ptr %s170
+ %t397 = load i64, ptr %s170
+ %t398 = sitofp i64 %t397 to double
+ %t399 = trunc i64 %t397 to i32
+ %t400 = getelementptr inbounds %ScrArr, ptr %t395, i32 0, i32 2
+ %t401 = load i64, ptr %t400, !tbaa !2
+ %t402 = icmp ult i64 %t396, %t401
+ br i1 %t402, label %local.array.range113, label %local.array.slow110
+local.array.range113:
+ br label %local.array.dense114
+local.array.dense114:
+ %t403 = getelementptr inbounds %ScrArr, ptr %t395, i32 0, i32 6
+ %t404 = load i32, ptr %t403, !tbaa !2
+ %t406 = zext i32 %t404 to i64
+ %t405 = icmp ult i64 %t396, %t406
+ br i1 %t405, label %local.array.value116, label %local.array.len115
+local.array.len115:
+ %t407 = getelementptr inbounds %ScrArr, ptr %t395, i32 0, i32 1
+ %t408 = load i64, ptr %t407, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t409 = icmp ult i64 %t396, %t408
+ br i1 %t409, label %local.array.state117, label %local.array.missing111
+local.array.state117:
+ %t410 = getelementptr inbounds %ScrArr, ptr %t395, i32 0, i32 9
+ %t411 = load ptr, ptr %t410, !tbaa !2
+ %t412 = getelementptr inbounds i8, ptr %t411, i64 %t396
+ %t413 = load i8, ptr %t412, !tbaa !4
+ %t414 = icmp eq i8 %t413, 1
+ br i1 %t414, label %local.array.value116, label %local.array.missing111
+local.array.value116:
+ %t415 = getelementptr inbounds %ScrArr, ptr %t395, i32 0, i32 8
+ %t416 = load ptr, ptr %t415, !tbaa !2
+ %t417 = getelementptr inbounds i64, ptr %t416, i64 %t396
+ %t418 = load ptr, ptr %t417, !tbaa !6
+ %t419 = call ptr @sc_rc_retain_str(ptr %t418)
+ store ptr %t419, ptr %s387
+ br label %local.array.join112
+local.array.slow110:
+ %t420 = call ptr @scr_arr_peek_ref(ptr %t395, double %t398)
+ %t421 = icmp ne ptr %t420, null
+ br i1 %t421, label %local.array.slow.value118, label %local.array.missing111
+local.array.slow.value118:
+ %t422 = call ptr @sc_rc_retain_str(ptr %t420)
+ store ptr %t422, ptr %s387
+ br label %local.array.join112
+local.array.missing111:
+ store ptr null, ptr %s387
+ br label %local.array.join112
+local.array.join112:
+ %t423 = load ptr, ptr %s387
+ %t424 = load ptr, ptr %sc_l_path_0
+ %t425 = load double, ptr %sc_l_idx_0
+ call void @sc_bf__x25_m5_addRoute(ptr %t386, ptr %t423, ptr %t424, double %t425)
+ %t426 = load i32, ptr %exc.cell
+ %t427 = icmp ne i32 %t426, 0
+ %t428 = call i1 @llvm.expect.i1(i1 %t427, i1 false)
+ br i1 %t428, label %exc.u119, label %exc.k120
+exc.u119:
+ %t429 = load ptr, ptr %s387
+ call void @scr_str_release(ptr %t429)
+ br label %exc.cleanup71
+exc.k120:
+ %t430 = load ptr, ptr %s387
+ call void @scr_str_release(ptr %t430)
+ %t431 = load ptr, ptr %sc_l_subMw_0
+ call void @scr_arr_release(ptr %t431)
+ br label %loop.u54
+loop.u54:
+ %t432 = load i64, ptr %s170
+ %t433 = add nuw i64 %t432, 1
+ store i64 %t433, ptr %s170
+ br label %loop.c52
+loop.e51:
+ %t434 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t434)
+ br label %if.j48
+if.j48:
+ %t435 = load ptr, ptr %sc_l_n_0
+ %t437 = icmp eq ptr %t435, null
+ br i1 %t437, label %read.then121, label %read.else122
+read.then121:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2399462614592355)
+ br label %exc.cleanup124
+exc.dead125:
+ store ptr null, ptr %s438
+ br label %read.join123
+read.else122:
+ %t439 = load ptr, ptr %sc_l_n_0
+ store ptr %t439, ptr %s438
+ br label %read.join123
+read.join123:
+ %t440 = load ptr, ptr %s438
+ %t441 = getelementptr inbounds %sc_rs_r5, ptr %t440, i64 0, i32 1
+ %t442 = load ptr, ptr %t441
+ store ptr %t442, ptr %sc_l_ch_0
+ %t444 = fptosi double 0x0000000000000000 to i64
+ store i64 %t444, ptr %s443
+ br label %loop.c127
+loop.c127:
+ %t445 = load ptr, ptr %sc_l_ch_0
+ %t446 = getelementptr inbounds %ScrArr, ptr %t445, i64 0, i32 1
+ %t447 = load i64, ptr %t446, !tbaa !2
+ %t448 = load i64, ptr %s443
+ %t449 = icmp ult i64 %t448, %t447
+ br i1 %t449, label %loop.b128, label %loop.e126
+loop.b128:
+ %t450 = load ptr, ptr %sc_l_sn_0
+ %t451 = load ptr, ptr %sc_l_ch_0
+ %t452 = load i64, ptr %s443
+ %t453 = sitofp i64 %t452 to double
+ %t454 = trunc i64 %t452 to i32
+ %t459 = getelementptr inbounds %ScrArr, ptr %t451, i32 0, i32 8
+ %t460 = load ptr, ptr %t459, !tbaa !2
+ %t455 = getelementptr inbounds %ScrArr, ptr %t451, i32 0, i32 1
+ %t456 = load i64, ptr %t455, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t457 = getelementptr inbounds %ScrArr, ptr %t451, i32 0, i32 2
+ %t458 = load i64, ptr %t457, !tbaa !2
+ %t461 = getelementptr inbounds %ScrArr, ptr %t451, i32 0, i32 9
+ %t462 = load ptr, ptr %t461, !tbaa !2
+ %t463 = getelementptr inbounds %ScrArr, ptr %t451, i32 0, i32 6
+ %t464 = load i32, ptr %t463, !tbaa !2
+ %t465 = zext i32 %t464 to i64
+ %t466 = icmp ult i64 %t452, %t465
+ br i1 %t466, label %arr.get.value132, label %arr.check133
+arr.check133:
+ %t467 = icmp ult i64 %t452, %t458
+ %t468 = icmp ult i64 %t452, %t456
+ %t469 = and i1 %t467, %t468
+ br i1 %t469, label %arr.dense134, label %arr.get.slow130
+arr.dense134:
+ %t470 = getelementptr inbounds i8, ptr %t462, i64 %t452
+ %t471 = load i8, ptr %t470, !tbaa !4
+ %t472 = icmp eq i8 %t471, 1
+ br i1 %t472, label %arr.get.value132, label %arr.get.slow130
+arr.get.value132:
+ %t473 = getelementptr inbounds i64, ptr %t460, i64 %t452
+ %t474 = load double, ptr %t473, !tbaa !6
+ br label %arr.get.join131
+arr.get.slow130:
+ %t475 = call double @scr_arr_get_number(ptr %t451, double %t453) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.get.join131
+arr.get.join131:
+ %t476 = phi double [ %t474, %arr.get.value132 ], [ %t475, %arr.get.slow130 ]
+ %t477 = getelementptr inbounds %ScrArr, ptr %t450, i32 0, i32 2
+ %t478 = load i64, ptr %t477, !tbaa !2
+ %t479 = fptosi double %t476 to i64
+ %t480 = freeze i64 %t479
+ %t481 = sitofp i64 %t480 to double
+ %t482 = fcmp oeq double %t481, %t476
+ %t483 = icmp ult i64 %t480, %t478
+ %t484 = and i1 %t482, %t483
+ br i1 %t484, label %local.array.range138, label %local.array.slow135
+local.array.range138:
+ br label %local.array.dense139
+local.array.dense139:
+ %t485 = getelementptr inbounds %ScrArr, ptr %t450, i32 0, i32 6
+ %t486 = load i32, ptr %t485, !tbaa !2
+ %t488 = zext i32 %t486 to i64
+ %t487 = icmp ult i64 %t480, %t488
+ br i1 %t487, label %local.array.value141, label %local.array.len140
+local.array.len140:
+ %t489 = getelementptr inbounds %ScrArr, ptr %t450, i32 0, i32 1
+ %t490 = load i64, ptr %t489, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t491 = icmp ult i64 %t480, %t490
+ br i1 %t491, label %local.array.state142, label %local.array.missing136
+local.array.state142:
+ %t492 = getelementptr inbounds %ScrArr, ptr %t450, i32 0, i32 9
+ %t493 = load ptr, ptr %t492, !tbaa !2
+ %t494 = getelementptr inbounds i8, ptr %t493, i64 %t480
+ %t495 = load i8, ptr %t494, !tbaa !4
+ %t496 = icmp eq i8 %t495, 1
+ br i1 %t496, label %local.array.value141, label %local.array.missing136
+local.array.value141:
+ %t497 = getelementptr inbounds %ScrArr, ptr %t450, i32 0, i32 8
+ %t498 = load ptr, ptr %t497, !tbaa !2
+ %t499 = getelementptr inbounds i64, ptr %t498, i64 %t480
+ %t500 = load ptr, ptr %t499, !tbaa !6
+ store ptr %t500, ptr %sc_l_c_0
+ br label %local.array.join137
+local.array.slow135:
+ %t501 = call ptr @scr_arr_peek_ref(ptr %t450, double %t476)
+ %t502 = icmp ne ptr %t501, null
+ br i1 %t502, label %local.array.slow.value143, label %local.array.missing136
+local.array.slow.value143:
+ store ptr %t501, ptr %sc_l_c_0
+ br label %local.array.join137
+local.array.missing136:
+ store ptr null, ptr %sc_l_c_0
+ br label %local.array.join137
+local.array.join137:
+ %t503 = load ptr, ptr %sc_l_c_0
+ %t505 = icmp eq ptr %t503, null
+ br i1 %t505, label %read.then144, label %read.else145
+read.then144:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_180082455986257)
+ br label %exc.cleanup124
+exc.dead147:
+ store ptr null, ptr %s506
+ br label %read.join146
+read.else145:
+ %t507 = load ptr, ptr %sc_l_c_0
+ store ptr %t507, ptr %s506
+ br label %read.join146
+read.join146:
+ %t508 = load ptr, ptr %s506
+ %t509 = getelementptr inbounds %sc_rs_r5, ptr %t508, i64 0, i32 5
+ %t510 = load ptr, ptr %t509
+ %t511 = call ptr @sc_rc_retain_str(ptr %t510)
+ store ptr %t511, ptr %sc_l_seg_0
+ %t512 = load ptr, ptr %sc_l_c_0
+ %t514 = icmp eq ptr %t512, null
+ br i1 %t514, label %read.then148, label %read.else149
+read.then148:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3084778991795209)
+ br label %exc.cleanup151
+exc.dead152:
+ store ptr null, ptr %s515
+ br label %read.join150
+read.else149:
+ %t516 = load ptr, ptr %sc_l_c_0
+ store ptr %t516, ptr %s515
+ br label %read.join150
+read.join150:
+ %t517 = load ptr, ptr %s515
+ %t518 = getelementptr inbounds %sc_rs_r5, ptr %t517, i64 0, i32 4
+ %t519 = load double, ptr %t518
+ %t520 = fcmp oeq double %t519, 0x3FF0000000000000
+ br i1 %t520, label %if.t153, label %if.j154
+if.t153:
+ %t521 = load ptr, ptr %sc_l_seg_0
+ %t522 = call ptr @scr_str_concat(ptr @sc_lit_4075616746236128, ptr %t521)
+ %t523 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t523)
+ store ptr %t522, ptr %sc_l_seg_0
+ br label %if.j154
+if.j154:
+ %t524 = load ptr, ptr %sc_l_stack_0
+ %t525 = call ptr @sc_rnew_r25()
+ %t527 = load ptr, ptr %sc_l_ch_0
+ %t528 = load i64, ptr %s443
+ %t529 = load i64, ptr %s443
+ %t530 = sitofp i64 %t529 to double
+ %t531 = trunc i64 %t529 to i32
+ %t535 = getelementptr inbounds %ScrArr, ptr %t527, i32 0, i32 2
+ %t536 = load i64, ptr %t535, !tbaa !2
+ %t537 = icmp ult i64 %t528, %t536
+ br i1 %t537, label %local.array.range158, label %local.array.slow155
+local.array.range158:
+ br label %local.array.dense159
+local.array.dense159:
+ %t538 = getelementptr inbounds %ScrArr, ptr %t527, i32 0, i32 6
+ %t539 = load i32, ptr %t538, !tbaa !2
+ %t541 = zext i32 %t539 to i64
+ %t540 = icmp ult i64 %t528, %t541
+ br i1 %t540, label %local.array.value161, label %local.array.len160
+local.array.len160:
+ %t542 = getelementptr inbounds %ScrArr, ptr %t527, i32 0, i32 1
+ %t543 = load i64, ptr %t542, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t544 = icmp ult i64 %t528, %t543
+ br i1 %t544, label %local.array.state162, label %local.array.missing156
+local.array.state162:
+ %t545 = getelementptr inbounds %ScrArr, ptr %t527, i32 0, i32 9
+ %t546 = load ptr, ptr %t545, !tbaa !2
+ %t547 = getelementptr inbounds i8, ptr %t546, i64 %t528
+ %t548 = load i8, ptr %t547, !tbaa !4
+ %t549 = icmp eq i8 %t548, 1
+ br i1 %t549, label %local.array.value161, label %local.array.missing156
+local.array.value161:
+ %t550 = getelementptr inbounds %ScrArr, ptr %t527, i32 0, i32 8
+ %t551 = load ptr, ptr %t550, !tbaa !2
+ %t552 = getelementptr inbounds i64, ptr %t551, i64 %t528
+ %t553 = load i64, ptr %t552, !tbaa !6
+ store i64 %t553, ptr %s533
+ store i32 0, ptr %s534
+ br label %local.array.join157
+local.array.slow155:
+ %t554 = call double @scr_arr_state(ptr %t527, double %t530) cold memory(read, inaccessiblemem: readwrite)
+ %t555 = fcmp oeq double %t554, 1.0
+ br i1 %t555, label %local.array.slow.value163, label %local.array.missing156
+local.array.slow.value163:
+ %t556 = call double @scr_arr_get_f64(ptr %t527, double %t530) cold memory(read, inaccessiblemem: readwrite)
+ %t557 = bitcast double %t556 to i64
+ store i64 %t557, ptr %s533
+ store i32 0, ptr %s534
+ br label %local.array.join157
+local.array.missing156:
+ store i64 0, ptr %s533
+ store i32 1, ptr %s534
+ br label %local.array.join157
+local.array.join157:
+ store ptr %s532, ptr %s526
+ %t558 = load ptr, ptr %s526
+ %t559 = getelementptr inbounds %sc_rs_r25, ptr %t525, i64 0, i32 2
+ %t560 = icmp eq ptr %t558, null
+ %t561 = select i1 %t560, ptr @sc_union_none, ptr %t558
+ %t562 = getelementptr inbounds %ScrUnion, ptr %t561, i64 0, i32 1
+ %t564 = load i32, ptr %t562
+ %t563 = getelementptr inbounds %ScrUnion, ptr %t561, i64 0, i32 5
+ %t565 = load i64, ptr %t563
+ %t566 = getelementptr inbounds { i32, i64 }, ptr %t559, i32 0, i32 0
+ store i32 %t564, ptr %t566
+ %t567 = getelementptr inbounds { i32, i64 }, ptr %t559, i32 0, i32 1
+ store i64 %t565, ptr %t567
+ %t568 = load ptr, ptr %sc_l_a_0
+ %t569 = load ptr, ptr %sc_l_seg_0
+ %t571 = getelementptr [3 x ptr], ptr %s570, i32 0, i32 0
+ store ptr %t568, ptr %t571
+ %t572 = getelementptr [3 x ptr], ptr %s570, i32 0, i32 1
+ store ptr @sc_lit_2434240011052594, ptr %t572
+ %t573 = getelementptr [3 x ptr], ptr %s570, i32 0, i32 2
+ store ptr %t569, ptr %t573
+ %t574 = call ptr @scr_str_concat_parts(ptr %s570, i64 3)
+ %t575 = getelementptr inbounds %sc_rs_r25, ptr %t525, i64 0, i32 1
+ store ptr %t574, ptr %t575
+ %t576 = call ptr @sc_bf__x25_rec_width_1(ptr %t525)
+ %t577 = load i32, ptr %exc.cell
+ %t578 = icmp ne i32 %t577, 0
+ %t579 = call i1 @llvm.expect.i1(i1 %t578, i1 false)
+ br i1 %t579, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rrelease_r25(ptr %t525)
+ call void @sc_rrelease_r17(ptr %t576)
+ br label %exc.cleanup151
+exc.k165:
+ call void @sc_rrelease_r25(ptr %t525)
+ %t580 = getelementptr inbounds %ScrArr, ptr %t524, i32 0, i32 1
+ %t581 = load i64, ptr %t580, !tbaa !2
+ %t584 = getelementptr inbounds %ScrArr, ptr %t524, i32 0, i32 2
+ %t582 = load i64, ptr %t584, !tbaa !2
+ %t583 = icmp ult i64 %t581, %t582
+ br i1 %t583, label %arr.push.dense166, label %arr.push.slow167
+arr.push.dense166:
+ %t585 = getelementptr inbounds %ScrArr, ptr %t524, i32 0, i32 8
+ %t587 = getelementptr inbounds %ScrArr, ptr %t524, i32 0, i32 9
+ %t586 = load ptr, ptr %t585, !tbaa !2
+ %t588 = load ptr, ptr %t587, !tbaa !2
+ %t589 = getelementptr inbounds i8, ptr %t588, i64 %t581
+ %t590 = getelementptr inbounds i64, ptr %t586, i64 %t581
+ store ptr %t576, ptr %t590, !tbaa !6
+ store i8 1, ptr %t589, !tbaa !4
+ %t591 = add nuw i64 %t581, 1
+ store i64 %t591, ptr %t580, !tbaa !2
+ %t593 = getelementptr inbounds %ScrArr, ptr %t524, i32 0, i32 6
+ %t594 = load i32, ptr %t593, !tbaa !2
+ %t598 = zext i32 %t594 to i64
+ %t595 = icmp eq i64 %t598, %t581
+ %t596 = add i32 %t594, 1
+ %t597 = select i1 %t595, i32 %t596, i32 %t594
+ store i32 %t597, ptr %t593, !tbaa !2
+ %t592 = sitofp i64 %t591 to double
+ br label %arr.push.join168
+arr.push.slow167:
+ %t599 = call double @scr_arr_push_ref(ptr %t524, ptr %t576) cold
+ br label %arr.push.join168
+arr.push.join168:
+ %t600 = phi double [ %t592, %arr.push.dense166 ], [ %t599, %arr.push.slow167 ]
+ %t601 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t601)
+ br label %loop.u129
+loop.u129:
+ %t602 = load i64, ptr %s443
+ %t603 = add nuw i64 %t602, 1
+ store i64 %t603, ptr %s443
+ br label %loop.c127
+loop.e126:
+ %t604 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r17(ptr %t604)
+ %t605 = load ptr, ptr %sc_l_n_0
+ call void @sc_rrelease_r5(ptr %t605)
+ %t606 = load ptr, ptr %sc_l_hs_0
+ call void @scr_arr_release(ptr %t606)
+ br label %loop.c6
+loop.e5:
+ %t607 = load ptr, ptr %sc_l_sn_0
+ call void @scr_arr_release(ptr %t607)
+ %t608 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t608)
+ ret void
+exc.cleanup24:
+ %t609 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r17(ptr %t609)
+ %t610 = load ptr, ptr %sc_l_sn_0
+ call void @scr_arr_release(ptr %t610)
+ %t611 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t611)
+ ret void
+exc.cleanup41:
+ %t612 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r17(ptr %t612)
+ %t613 = load ptr, ptr %sc_l_n_0
+ call void @sc_rrelease_r5(ptr %t613)
+ %t614 = load ptr, ptr %sc_l_sn_0
+ call void @scr_arr_release(ptr %t614)
+ %t615 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t615)
+ ret void
+exc.cleanup71:
+ %t616 = load ptr, ptr %sc_l_subMw_0
+ call void @scr_arr_release(ptr %t616)
+ %t617 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t617)
+ %t618 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r17(ptr %t618)
+ %t619 = load ptr, ptr %sc_l_n_0
+ call void @sc_rrelease_r5(ptr %t619)
+ %t620 = load ptr, ptr %sc_l_hs_0
+ call void @scr_arr_release(ptr %t620)
+ %t621 = load ptr, ptr %sc_l_sn_0
+ call void @scr_arr_release(ptr %t621)
+ %t622 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t622)
+ ret void
+exc.cleanup77:
+ %t623 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t623)
+ %t624 = load ptr, ptr %sc_l_subMw_0
+ call void @scr_arr_release(ptr %t624)
+ %t625 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t625)
+ %t626 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r17(ptr %t626)
+ %t627 = load ptr, ptr %sc_l_n_0
+ call void @sc_rrelease_r5(ptr %t627)
+ %t628 = load ptr, ptr %sc_l_hs_0
+ call void @scr_arr_release(ptr %t628)
+ %t629 = load ptr, ptr %sc_l_sn_0
+ call void @scr_arr_release(ptr %t629)
+ %t630 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t630)
+ ret void
+exc.cleanup85:
+ %t631 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t631)
+ %t632 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t632)
+ %t633 = load ptr, ptr %sc_l_subMw_0
+ call void @scr_arr_release(ptr %t633)
+ %t634 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t634)
+ %t635 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r17(ptr %t635)
+ %t636 = load ptr, ptr %sc_l_n_0
+ call void @sc_rrelease_r5(ptr %t636)
+ %t637 = load ptr, ptr %sc_l_hs_0
+ call void @scr_arr_release(ptr %t637)
+ %t638 = load ptr, ptr %sc_l_sn_0
+ call void @scr_arr_release(ptr %t638)
+ %t639 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t639)
+ ret void
+exc.cleanup124:
+ %t640 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r17(ptr %t640)
+ %t641 = load ptr, ptr %sc_l_n_0
+ call void @sc_rrelease_r5(ptr %t641)
+ %t642 = load ptr, ptr %sc_l_hs_0
+ call void @scr_arr_release(ptr %t642)
+ %t643 = load ptr, ptr %sc_l_sn_0
+ call void @scr_arr_release(ptr %t643)
+ %t644 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t644)
+ ret void
+exc.cleanup151:
+ %t645 = load ptr, ptr %sc_l_seg_0
+ call void @scr_str_release(ptr %t645)
+ %t646 = load ptr, ptr %sc_l_f_0
+ call void @sc_rrelease_r17(ptr %t646)
+ %t647 = load ptr, ptr %sc_l_n_0
+ call void @sc_rrelease_r5(ptr %t647)
+ %t648 = load ptr, ptr %sc_l_hs_0
+ call void @scr_arr_release(ptr %t648)
+ %t649 = load ptr, ptr %sc_l_sn_0
+ call void @scr_arr_release(ptr %t649)
+ %t650 = load ptr, ptr %sc_l_stack_0
+ call void @scr_arr_release(ptr %t650)
+ ret void
+}
+define internal void @sc_f__x25_m5_mountRoutes(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ call void @sc_bf__x25_m5_mountRoutes(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @sc_release__x25_m5_App(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_arr_release(ptr %p3)
+ ret void
+}
+
+define internal i1 @sc_bf__x25_m5_isSettled(ptr %p_sc_l_r_0, ptr %p_sc_l_c_0) #0 { ; %m5.isSettled
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_c_0 = alloca ptr ; c
+ %s8 = alloca i1
+ %s14 = alloca i1
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_r_0
+ %t5 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 6
+ store i1 %t7, ptr %s8
+ br i1 %t7, label %log.j3, label %log.r2
+log.r2:
+ %t9 = load ptr, ptr %sc_l_r_0
+ %t10 = getelementptr inbounds i8, ptr %t9, i64 8 ; ->kind
+ %t11 = load i32, ptr %t10
+ %t12 = icmp eq i32 %t11, 0
+ store i1 %t12, ptr %s8
+ br label %log.j3
+log.j3:
+ %t13 = load i1, ptr %s8
+ store i1 %t13, ptr %s14
+ br i1 %t13, label %log.j5, label %log.r4
+log.r4:
+ %t15 = load ptr, ptr %sc_l_r_0
+ %t16 = load ptr, ptr %sc_l_c_0
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t18 = call zeroext i1 @scr_dyn_strict_eq(ptr %t15, ptr %t17)
+ store i1 %t18, ptr %s14
+ call void @sc_rc_release_dyn(ptr %t17)
+ br label %log.j5
+log.j5:
+ %t19 = load i1, ptr %s14
+ ret i1 %t19
+}
+define internal i1 @sc_f__x25_m5_isSettled(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_m5_isSettled(ptr %p0, ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p1)
+ ret i1 %result
+}
+
+define internal void @sc_f__x25_m5_settleChain(ptr %p_sc_l_r_0, ptr %p_sc_l_c_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0) #0 { ; %m5.settleChain
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %s46 = alloca i1
+ %s60 = alloca ptr
+ store ptr null, ptr %sc_l_e_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_r_0
+ %t5 = call ptr @sc_rc_retain_dyn(ptr %t4)
+ %t6 = call ptr @scr_await_dyn_value(ptr %t5)
+ %t7 = load ptr, ptr @scr_exc_active
+ %t8 = load i32, ptr %t7
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t6)
+ br label %try.c3
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t6)
+ br label %try.e5
+try.c3:
+ %t11 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t11, ptr %sc_l_e_0
+ %t12 = load ptr, ptr %sc_l_oef_0
+ %t15 = getelementptr inbounds %ScrUnion, ptr %t12, i64 0, i32 1
+ %t14 = load i32, ptr %t15
+ %t13 = icmp ne i32 %t14, 1
+ br i1 %t13, label %if.t8, label %if.f10
+if.t8:
+ %t16 = load ptr, ptr %sc_l_oef_0
+ %t17 = getelementptr inbounds %ScrUnion, ptr %t16, i64 0, i32 5
+ %t18 = load ptr, ptr %t17
+ %t19 = load ptr, ptr %sc_l_e_0
+ %t20 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t19)
+ %t21 = load ptr, ptr @scr_exc_active
+ %t22 = load i32, ptr %t21
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup13
+exc.k12:
+ %t25 = load ptr, ptr %sc_l_sink_0
+ %t26 = load ptr, ptr %sc_l_c_0
+ call void @sc_bf__x25_m5_runOnError(ptr %t18, ptr %t20, ptr %t25, ptr %t26)
+ %t27 = load ptr, ptr @scr_exc_active
+ %t28 = load i32, ptr %t27
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup13
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %if.j9
+if.f10:
+ %t31 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25_m5_send500(ptr %t31)
+ %t32 = load ptr, ptr @scr_exc_active
+ %t33 = load i32, ptr %t32
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u16, label %exc.k17
+exc.u16:
+ br label %exc.cleanup13
+exc.k17:
+ br label %if.j9
+if.j9:
+ %t36 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t36)
+ %t37 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t38 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ %t39 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t39)
+ %t40 = load ptr, ptr %sc_l_oef_0
+ call void @scr_union_release(ptr %t40)
+ ret void
+try.e5:
+ %t41 = load ptr, ptr %sc_l_c_0
+ %t42 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t41, i64 0, i32 5
+ %t43 = load i8, ptr %t42, !tbaa !42
+ %t44 = trunc i8 %t43 to i1
+ %t45 = icmp eq i1 %t44, false
+ store i1 %t45, ptr %s46
+ br i1 %t45, label %log.r18, label %log.j19
+log.r18:
+ %t47 = load ptr, ptr %sc_l_sink_0
+ %t48 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t47)
+ store ptr %t48, ptr %sc_l__x25_callbackReceiver_0
+ %t49 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t50 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t49, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t51 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t50)
+ %t52 = load ptr, ptr @scr_exc_active
+ %t53 = load i32, ptr %t52
+ %t54 = icmp ne i32 %t53, 0
+ %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false)
+ br i1 %t55, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t51)
+ br label %exc.cleanup22
+exc.k21:
+ store ptr %t51, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t56 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t57 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t58 = load i32, ptr %t57
+ %t59 = icmp eq i32 %t58, 6
+ br i1 %t59, label %tern.t23, label %tern.f24
+tern.t23:
+ %t62 = call ptr @scr_dyn_undefined()
+ %t61 = call ptr @scr_dyn_retain_v(ptr %t62)
+ store ptr %t61, ptr %s60
+ br label %tern.j25
+tern.f24:
+ %t63 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t64 = call ptr @sc_rc_retain_dyn(ptr %t63)
+ %t65 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t64)
+ %t66 = load ptr, ptr @scr_exc_active
+ %t67 = load i32, ptr %t66
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t65)
+ br label %exc.cleanup28
+exc.k27:
+ store ptr %t65, ptr %s60
+ br label %tern.j25
+tern.j25:
+ %t70 = load ptr, ptr %s60
+ store ptr %t70, ptr %sc_l__x25_callback_0
+ %t71 = load ptr, ptr %sc_l__x25_callback_0
+ %t72 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t73 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t72, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t73)
+ %t74 = call ptr @scr_dyn_call(ptr %t71, ptr null, i64 0, ptr @sc_cs_3079164241922068)
+ call void @scr_dyn_this_pop()
+ %t75 = load ptr, ptr @scr_exc_active
+ %t76 = load i32, ptr %t75
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false)
+ br i1 %t78, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ br label %exc.cleanup31
+exc.k30:
+ %t79 = call zeroext i1 @sc_dc_3(ptr %t74, ptr null)
+ %t80 = load ptr, ptr @scr_exc_active
+ %t81 = load i32, ptr %t80
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ br label %exc.cleanup31
+exc.k33:
+ %t84 = icmp eq i1 %t79, false
+ store i1 %t84, ptr %s46
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ %t85 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t85)
+ %t86 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t86)
+ %t87 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t87)
+ br label %log.j19
+log.j19:
+ %t88 = load i1, ptr %s46
+ br i1 %t88, label %if.t34, label %if.j35
+if.t34:
+ %t89 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25_m5_send500(ptr %t89)
+ %t90 = load ptr, ptr @scr_exc_active
+ %t91 = load i32, ptr %t90
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u36, label %exc.k37
+exc.u36:
+ br label %exc.cleanup2
+exc.k37:
+ br label %if.j35
+if.j35:
+ %t94 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ %t95 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t95)
+ %t96 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_oef_0
+ call void @scr_union_release(ptr %t97)
+ ret void
+exc.cleanup2:
+ %t98 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t98)
+ %t99 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t99)
+ %t100 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t100)
+ %t101 = load ptr, ptr %sc_l_oef_0
+ call void @scr_union_release(ptr %t101)
+ ret void
+exc.cleanup13:
+ %t102 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t102)
+ %t103 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t103)
+ %t104 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t104)
+ %t105 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t105)
+ %t106 = load ptr, ptr %sc_l_oef_0
+ call void @scr_union_release(ptr %t106)
+ ret void
+exc.cleanup22:
+ %t107 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t107)
+ %t108 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t108)
+ %t109 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t109)
+ %t110 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t110)
+ %t111 = load ptr, ptr %sc_l_oef_0
+ call void @scr_union_release(ptr %t111)
+ ret void
+exc.cleanup28:
+ %t112 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t112)
+ %t113 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t113)
+ %t114 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t114)
+ %t115 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t115)
+ %t116 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t116)
+ %t117 = load ptr, ptr %sc_l_oef_0
+ call void @scr_union_release(ptr %t117)
+ ret void
+exc.cleanup31:
+ %t118 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t118)
+ %t119 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t119)
+ %t120 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t120)
+ %t121 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t121)
+ %t122 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t122)
+ %t123 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t123)
+ %t124 = load ptr, ptr %sc_l_oef_0
+ call void @scr_union_release(ptr %t124)
+ ret void
+}
+
+define internal void @sc_bf__x25_m5_runChain(ptr %p_sc_l_chain_0, ptr %p_sc_l_c_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0) #0 { ; %m5.runChain
+entry:
+ %sc_l_chain_0 = alloca ptr ; chain
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_e_0 = alloca ptr ; e
+ %s8 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s37 = alloca i1
+ %s49 = alloca ptr
+ store ptr null, ptr %sc_l_r_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_e_0
+ store ptr %p_sc_l_chain_0, ptr %sc_l_chain_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_chain_0
+ %t7 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 1
+ %t6 = load i32, ptr %t7
+ %t5 = icmp eq i32 %t6, 1
+ br i1 %t5, label %read.then5, label %read.else6
+read.then5:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1988484489435674)
+ br label %try.c2
+exc.dead8:
+ store ptr null, ptr %s8
+ br label %read.join7
+read.else6:
+ %t9 = load ptr, ptr %sc_l_chain_0
+ %t10 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 5
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %s8
+ br label %read.join7
+read.join7:
+ %t12 = load ptr, ptr %s8
+ %t13 = load ptr, ptr %sc_l_c_0
+ %t14 = getelementptr inbounds %ScrClosure, ptr %t12, i64 0, i32 1
+ %t15 = load ptr, ptr %t14
+ %t16 = getelementptr inbounds %ScrClosure, ptr %t12, i64 0, i32 7
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp ne ptr %t17, null
+ br i1 %t18, label %callback.lend9, label %callback.own10
+callback.lend9:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t19 = call ptr %t17(ptr %t12, ptr %t13)
+ call void @scr_dyn_this_pop()
+ br label %callback.done11
+callback.own10:
+ %t20 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t13)
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t21 = call ptr %t15(ptr %t12, ptr %t20)
+ call void @scr_dyn_this_pop()
+ br label %callback.done11
+callback.done11:
+ %t22 = phi ptr [ %t19, %callback.lend9 ], [ %t21, %callback.own10 ]
+ %t23 = load i32, ptr %exc.cell
+ %t24 = icmp ne i32 %t23, 0
+ %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false)
+ br i1 %t25, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %try.c2
+exc.k13:
+ store ptr %t22, ptr %sc_l_r_0
+ %t26 = load ptr, ptr %sc_l_r_0
+ %t27 = load ptr, ptr %sc_l_c_0
+ %t28 = call i1 @sc_bf__x25_m5_isSettled(ptr %t26, ptr %t27)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u14, label %exc.k15
+exc.u14:
+ br label %exc.cleanup16
+exc.k15:
+ br i1 %t28, label %if.t17, label %if.f19
+if.t17:
+ %t32 = load ptr, ptr %sc_l_c_0
+ %t33 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t32, i64 0, i32 5
+ %t34 = load i8, ptr %t33, !tbaa !42
+ %t35 = trunc i8 %t34 to i1
+ %t36 = icmp eq i1 %t35, false
+ store i1 %t36, ptr %s37
+ br i1 %t36, label %log.r20, label %log.j21
+log.r20:
+ %t38 = load ptr, ptr %sc_l_sink_0
+ store ptr %t38, ptr %sc_l__x25_callbackReceiver_0
+ %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t41 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t40)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t41)
+ br label %exc.cleanup16
+exc.k23:
+ store ptr %t41, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t45 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t46 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t48 = icmp eq i32 %t47, 6
+ br i1 %t48, label %tern.t24, label %tern.f25
+tern.t24:
+ %t51 = call ptr @scr_dyn_undefined()
+ %t50 = call ptr @scr_dyn_retain_v(ptr %t51)
+ store ptr %t50, ptr %s49
+ br label %tern.j26
+tern.f25:
+ %t52 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t53 = call ptr @sc_rc_retain_dyn(ptr %t52)
+ %t54 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t53)
+ %t55 = load i32, ptr %exc.cell
+ %t56 = icmp ne i32 %t55, 0
+ %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false)
+ br i1 %t57, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t54)
+ br label %exc.cleanup29
+exc.k28:
+ store ptr %t54, ptr %s49
+ br label %tern.j26
+tern.j26:
+ %t58 = load ptr, ptr %s49
+ store ptr %t58, ptr %sc_l__x25_callback_0
+ %t59 = load ptr, ptr %sc_l__x25_callback_0
+ %t60 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t61)
+ %t62 = call ptr @scr_dyn_call(ptr %t59, ptr null, i64 0, ptr @sc_cs_3079164241922068)
+ call void @scr_dyn_this_pop()
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ br label %exc.cleanup32
+exc.k31:
+ %t66 = call zeroext i1 @sc_dc_3(ptr %t62, ptr null)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u33, label %exc.k34
+exc.u33:
+ call void @sc_rc_release_dyn(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ br label %exc.cleanup32
+exc.k34:
+ %t70 = icmp eq i1 %t66, false
+ store i1 %t70, ptr %s37
+ call void @sc_rc_release_dyn(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ %t71 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t71)
+ %t72 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %log.j21
+log.j21:
+ %t73 = load i1, ptr %s37
+ br i1 %t73, label %if.t35, label %if.j36
+if.t35:
+ %t74 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25_m5_send500(ptr %t74)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u37, label %exc.k38
+exc.u37:
+ br label %exc.cleanup16
+exc.k38:
+ br label %if.j36
+if.j36:
+ br label %if.j18
+if.f19:
+ %t78 = load ptr, ptr %sc_l_r_0
+ %t79 = call ptr @sc_rc_retain_dyn(ptr %t78)
+ %t80 = load ptr, ptr %sc_l_c_0
+ %t81 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t80)
+ %t82 = load ptr, ptr %sc_l_sink_0
+ %t83 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t82)
+ %t84 = load ptr, ptr %sc_l_oef_0
+ %t85 = call ptr @scr_union_retain_v(ptr %t84)
+ %t86 = call ptr @sc_as__x25_m5_settleChain(ptr %t79, ptr %t81, ptr %t83, ptr %t85)
+ %t87 = load i32, ptr %exc.cell
+ %t88 = icmp ne i32 %t87, 0
+ %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false)
+ br i1 %t89, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @scr_promise_release(ptr %t86)
+ br label %exc.cleanup16
+exc.k40:
+ call void @scr_promise_release(ptr %t86)
+ br label %if.j18
+if.j18:
+ %t90 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %try.e4
+try.c2:
+ %t91 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t91, ptr %sc_l_e_0
+ %t92 = load ptr, ptr %sc_l_oef_0
+ %t95 = getelementptr inbounds %ScrUnion, ptr %t92, i64 0, i32 1
+ %t94 = load i32, ptr %t95
+ %t93 = icmp ne i32 %t94, 1
+ br i1 %t93, label %if.t41, label %if.f43
+if.t41:
+ %t96 = load ptr, ptr %sc_l_oef_0
+ %t97 = getelementptr inbounds %ScrUnion, ptr %t96, i64 0, i32 5
+ %t98 = load ptr, ptr %t97
+ %t99 = load ptr, ptr %sc_l_e_0
+ %t100 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup46
+exc.k45:
+ %t104 = load ptr, ptr %sc_l_sink_0
+ %t105 = load ptr, ptr %sc_l_c_0
+ call void @sc_bf__x25_m5_runOnError(ptr %t98, ptr %t100, ptr %t104, ptr %t105)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u47, label %exc.k48
+exc.u47:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup46
+exc.k48:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %if.j42
+if.f43:
+ %t109 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25_m5_send500(ptr %t109)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u49, label %exc.k50
+exc.u49:
+ br label %exc.cleanup46
+exc.k50:
+ br label %if.j42
+if.j42:
+ %t113 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t113)
+ br label %try.e4
+try.e4:
+ ret void
+exc.cleanup16:
+ %t114 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t114)
+ br label %try.c2
+exc.cleanup29:
+ %t115 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t115)
+ %t116 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t116)
+ br label %try.c2
+exc.cleanup32:
+ %t117 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t117)
+ %t118 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t118)
+ %t119 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t119)
+ br label %try.c2
+exc.cleanup46:
+ %t120 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t120)
+ ret void
+}
+define internal void @sc_f__x25_m5_runChain(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ call void @sc_bf__x25_m5_runChain(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @scr_union_release(ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p2)
+ call void @scr_union_release(ptr %p3)
+ ret void
+}
+
+define internal void @sc_bf__x25_m5_runOnError(ptr %p_sc_l_oef_0, ptr %p_sc_l_e_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_c_0) #0 { ; %m5.runOnError
+entry:
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l_e2_0 = alloca ptr ; e2
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s22 = alloca i1
+ %s34 = alloca ptr
+ %s74 = alloca ptr
+ %s105 = alloca ptr
+ %s144 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l_e2_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0
+ store ptr %p_sc_l_e_0, ptr %sc_l_e_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_oef_0
+ %t5 = load ptr, ptr %sc_l_e_0
+ %t6 = load ptr, ptr %sc_l_c_0
+ %t7 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 1
+ %t8 = load ptr, ptr %t7
+ %t9 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 7
+ %t10 = load ptr, ptr %t9
+ %t11 = icmp ne ptr %t10, null
+ br i1 %t11, label %callback.lend5, label %callback.own6
+callback.lend5:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t10(ptr %t4, ptr %t5, ptr %t6)
+ call void @scr_dyn_this_pop()
+ br label %callback.done7
+callback.own6:
+ %t12 = call ptr @sc_rc_retain_dyn(ptr %t5)
+ %t13 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t6)
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t8(ptr %t4, ptr %t12, ptr %t13)
+ call void @scr_dyn_this_pop()
+ br label %callback.done7
+callback.done7:
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u8, label %exc.k9
+exc.u8:
+ br label %try.c2
+exc.k9:
+ %t17 = load ptr, ptr %sc_l_c_0
+ %t18 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t17, i64 0, i32 5
+ %t19 = load i8, ptr %t18, !tbaa !42
+ %t20 = trunc i8 %t19 to i1
+ %t21 = xor i1 %t20, true
+ store i1 %t21, ptr %s22
+ br i1 %t21, label %log.r10, label %log.j11
+log.r10:
+ %t23 = load ptr, ptr %sc_l_sink_0
+ store ptr %t23, ptr %sc_l__x25_callbackReceiver_0
+ %t24 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t25 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t24, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t26 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t25)
+ %t27 = load i32, ptr %exc.cell
+ %t28 = icmp ne i32 %t27, 0
+ %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false)
+ br i1 %t29, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t26)
+ br label %try.c2
+exc.k13:
+ store ptr %t26, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t30 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t31 = getelementptr inbounds i8, ptr %t30, i64 8 ; ->kind
+ %t32 = load i32, ptr %t31
+ %t33 = icmp eq i32 %t32, 6
+ br i1 %t33, label %tern.t14, label %tern.f15
+tern.t14:
+ %t36 = call ptr @scr_dyn_undefined()
+ %t35 = call ptr @scr_dyn_retain_v(ptr %t36)
+ store ptr %t35, ptr %s34
+ br label %tern.j16
+tern.f15:
+ %t37 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t38 = call ptr @sc_rc_retain_dyn(ptr %t37)
+ %t39 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t38)
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup19
+exc.k18:
+ store ptr %t39, ptr %s34
+ br label %tern.j16
+tern.j16:
+ %t43 = load ptr, ptr %s34
+ store ptr %t43, ptr %sc_l__x25_callback_0
+ %t44 = load ptr, ptr %sc_l__x25_callback_0
+ %t45 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t46 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t45, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t46)
+ %t47 = call ptr @scr_dyn_call(ptr %t44, ptr null, i64 0, ptr @sc_cs_3079164241922068)
+ call void @scr_dyn_this_pop()
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t46)
+ call void @sc_rc_release_dyn(ptr %t47)
+ br label %exc.cleanup22
+exc.k21:
+ %t51 = call zeroext i1 @sc_dc_3(ptr %t47, ptr null)
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u23, label %exc.k24
+exc.u23:
+ call void @sc_rc_release_dyn(ptr %t46)
+ call void @sc_rc_release_dyn(ptr %t47)
+ br label %exc.cleanup22
+exc.k24:
+ %t55 = xor i1 %t51, true
+ store i1 %t55, ptr %s22
+ call void @sc_rc_release_dyn(ptr %t46)
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t56 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t56)
+ %t57 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t57)
+ br label %log.j11
+log.j11:
+ %t58 = load i1, ptr %s22
+ br i1 %t58, label %if.t25, label %if.f27
+if.t25:
+ %t59 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25_m5_send500(ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u28, label %exc.k29
+exc.u28:
+ br label %try.c2
+exc.k29:
+ br label %if.j26
+if.f27:
+ %t63 = load ptr, ptr %sc_l_sink_0
+ store ptr %t63, ptr %sc_l__x25_callbackReceiver_1
+ %t64 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t65 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t64, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t66 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t65)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t66)
+ br label %try.c2
+exc.k31:
+ store ptr %t66, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t70 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t71 = getelementptr inbounds i8, ptr %t70, i64 8 ; ->kind
+ %t72 = load i32, ptr %t71
+ %t73 = icmp eq i32 %t72, 6
+ br i1 %t73, label %tern.t32, label %tern.f33
+tern.t32:
+ %t76 = call ptr @scr_dyn_undefined()
+ %t75 = call ptr @scr_dyn_retain_v(ptr %t76)
+ store ptr %t75, ptr %s74
+ br label %tern.j34
+tern.f33:
+ %t77 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t78 = call ptr @sc_rc_retain_dyn(ptr %t77)
+ %t79 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t78)
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rc_release_dyn(ptr %t79)
+ br label %exc.cleanup37
+exc.k36:
+ store ptr %t79, ptr %s74
+ br label %tern.j34
+tern.j34:
+ %t83 = load ptr, ptr %s74
+ store ptr %t83, ptr %sc_l__x25_callback_1
+ %t84 = load ptr, ptr %sc_l__x25_callback_1
+ %t85 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t86 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t85, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t86)
+ %t87 = call ptr @scr_dyn_call(ptr %t84, ptr null, i64 0, ptr @sc_cs_3499760650817953)
+ call void @scr_dyn_this_pop()
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t86)
+ call void @sc_rc_release_dyn(ptr %t87)
+ br label %exc.cleanup40
+exc.k39:
+ call void @sc_rc_release_dyn(ptr %t86)
+ call void @sc_rc_release_dyn(ptr %t87)
+ %t91 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t91)
+ %t92 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t92)
+ br label %if.j26
+if.j26:
+ br label %try.e4
+try.c2:
+ %t93 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t93, ptr %sc_l_e2_0
+ %t94 = load ptr, ptr %sc_l_sink_0
+ store ptr %t94, ptr %sc_l__x25_callbackReceiver_2
+ %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t97 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t96)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u41, label %exc.k42
+exc.u41:
+ call void @sc_rc_release_dyn(ptr %t97)
+ br label %exc.cleanup43
+exc.k42:
+ store ptr %t97, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t101 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t102 = getelementptr inbounds i8, ptr %t101, i64 8 ; ->kind
+ %t103 = load i32, ptr %t102
+ %t104 = icmp eq i32 %t103, 6
+ br i1 %t104, label %tern.t44, label %tern.f45
+tern.t44:
+ %t107 = call ptr @scr_dyn_undefined()
+ %t106 = call ptr @scr_dyn_retain_v(ptr %t107)
+ store ptr %t106, ptr %s105
+ br label %tern.j46
+tern.f45:
+ %t108 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t109 = call ptr @sc_rc_retain_dyn(ptr %t108)
+ %t110 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t109)
+ %t111 = load i32, ptr %exc.cell
+ %t112 = icmp ne i32 %t111, 0
+ %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false)
+ br i1 %t113, label %exc.u47, label %exc.k48
+exc.u47:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup49
+exc.k48:
+ store ptr %t110, ptr %s105
+ br label %tern.j46
+tern.j46:
+ %t114 = load ptr, ptr %s105
+ store ptr %t114, ptr %sc_l__x25_callback_2
+ %t115 = load ptr, ptr %sc_l__x25_callback_2
+ %t116 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t117 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t116, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t117)
+ %t118 = call ptr @scr_dyn_call(ptr %t115, ptr null, i64 0, ptr @sc_cs_3079164241922068)
+ call void @scr_dyn_this_pop()
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ br label %exc.cleanup52
+exc.k51:
+ %t122 = call zeroext i1 @sc_dc_3(ptr %t118, ptr null)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ br label %exc.cleanup52
+exc.k54:
+ %t126 = xor i1 %t122, true
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ %t127 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t127)
+ %t128 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t126, label %if.t55, label %if.f57
+if.t55:
+ %t129 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25_m5_send500(ptr %t129)
+ %t130 = load i32, ptr %exc.cell
+ %t131 = icmp ne i32 %t130, 0
+ %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false)
+ br i1 %t132, label %exc.u58, label %exc.k59
+exc.u58:
+ br label %exc.cleanup43
+exc.k59:
+ br label %if.j56
+if.f57:
+ %t133 = load ptr, ptr %sc_l_sink_0
+ store ptr %t133, ptr %sc_l__x25_callbackReceiver_3
+ %t134 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t135 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t134, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t136 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t135)
+ %t137 = load i32, ptr %exc.cell
+ %t138 = icmp ne i32 %t137, 0
+ %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false)
+ br i1 %t139, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t136)
+ br label %exc.cleanup43
+exc.k61:
+ store ptr %t136, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t140 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t141 = getelementptr inbounds i8, ptr %t140, i64 8 ; ->kind
+ %t142 = load i32, ptr %t141
+ %t143 = icmp eq i32 %t142, 6
+ br i1 %t143, label %tern.t62, label %tern.f63
+tern.t62:
+ %t146 = call ptr @scr_dyn_undefined()
+ %t145 = call ptr @scr_dyn_retain_v(ptr %t146)
+ store ptr %t145, ptr %s144
+ br label %tern.j64
+tern.f63:
+ %t147 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t148 = call ptr @sc_rc_retain_dyn(ptr %t147)
+ %t149 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t148)
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u65, label %exc.k66
+exc.u65:
+ call void @sc_rc_release_dyn(ptr %t149)
+ br label %exc.cleanup67
+exc.k66:
+ store ptr %t149, ptr %s144
+ br label %tern.j64
+tern.j64:
+ %t153 = load ptr, ptr %s144
+ store ptr %t153, ptr %sc_l__x25_callback_3
+ %t154 = load ptr, ptr %sc_l__x25_callback_3
+ %t155 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t156 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t155, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t156)
+ %t157 = call ptr @scr_dyn_call(ptr %t154, ptr null, i64 0, ptr @sc_cs_3499760650817953)
+ call void @scr_dyn_this_pop()
+ %t158 = load i32, ptr %exc.cell
+ %t159 = icmp ne i32 %t158, 0
+ %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false)
+ br i1 %t160, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_rc_release_dyn(ptr %t157)
+ br label %exc.cleanup70
+exc.k69:
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_rc_release_dyn(ptr %t157)
+ %t161 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t161)
+ %t162 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t162)
+ br label %if.j56
+if.j56:
+ %t163 = load ptr, ptr %sc_l_e2_0
+ call void @scr_caught_release(ptr %t163)
+ br label %try.e4
+try.e4:
+ ret void
+exc.cleanup19:
+ %t164 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t164)
+ br label %try.c2
+exc.cleanup22:
+ %t165 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t165)
+ %t166 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t166)
+ br label %try.c2
+exc.cleanup37:
+ %t167 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t167)
+ br label %try.c2
+exc.cleanup40:
+ %t168 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t168)
+ %t169 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t169)
+ br label %try.c2
+exc.cleanup43:
+ %t170 = load ptr, ptr %sc_l_e2_0
+ call void @scr_caught_release(ptr %t170)
+ ret void
+exc.cleanup49:
+ %t171 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t171)
+ %t172 = load ptr, ptr %sc_l_e2_0
+ call void @scr_caught_release(ptr %t172)
+ ret void
+exc.cleanup52:
+ %t173 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t173)
+ %t174 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t174)
+ %t175 = load ptr, ptr %sc_l_e2_0
+ call void @scr_caught_release(ptr %t175)
+ ret void
+exc.cleanup67:
+ %t176 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t176)
+ %t177 = load ptr, ptr %sc_l_e2_0
+ call void @scr_caught_release(ptr %t177)
+ ret void
+exc.cleanup70:
+ %t178 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t178)
+ %t179 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t179)
+ %t180 = load ptr, ptr %sc_l_e2_0
+ call void @scr_caught_release(ptr %t180)
+ ret void
+}
+define internal void @sc_f__x25_m5_runOnError(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ call void @sc_bf__x25_m5_runOnError(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @scr_closure_release(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p2)
+ call void @sc_release__x25_m5_CtxCore(ptr %p3)
+ ret void
+}
+
+define internal ptr @sc_f__x25_m5_createRouter() #0 { ; %m5.createRouter
+entry:
+ %t0 = call ptr @sc_new__x25_m5_App()
+ call void @sc_bf__x25__x25_m5_App_constructor(ptr %t0)
+ ret ptr %t0
+}
+
+define internal ptr @sc_bf__x25_m5_headersFromRaw(ptr %p_sc_l_req_0) #0 { ; %m5.headersFromRaw
+entry:
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_out_1 = alloca ptr ; out
+ %s12 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_h_0
+ store ptr null, ptr %sc_l_out_1
+ store ptr %p_sc_l_req_0, ptr %sc_l_req_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @sc_rnew_r0()
+ store ptr %t4, ptr %sc_l_out_1
+ %t5 = call ptr @scr_box_new_obj(ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr null) ; let out (boxed)
+ store ptr %t5, ptr %sc_l_out_0
+ %t6 = load ptr, ptr %sc_l_out_1
+ %t7 = call ptr @sc_rretain_r0(ptr %t6)
+ call void @scr_box_set_ref(ptr %t5, ptr %t7)
+ %t8 = load ptr, ptr %sc_l_req_0
+ %t9 = getelementptr inbounds i8, ptr %t8, i64 8 ; ->kind
+ %t10 = load i32, ptr %t9
+ %t11 = icmp eq i32 %t10, 0
+ store i1 %t11, ptr %s12
+ br i1 %t11, label %log.j3, label %log.r2
+log.r2:
+ %t13 = load ptr, ptr %sc_l_req_0
+ %t14 = getelementptr inbounds i8, ptr %t13, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 6
+ store i1 %t16, ptr %s12
+ br label %log.j3
+log.j3:
+ %t17 = load i1, ptr %s12
+ br i1 %t17, label %if.t4, label %if.j5
+if.t4:
+ %t18 = load ptr, ptr %sc_l_out_1
+ %t19 = load ptr, ptr %sc_l_out_0
+ call void @scr_box_release(ptr %t19)
+ ret ptr %t18
+if.j5:
+ %t20 = load ptr, ptr %sc_l_req_0
+ %t21 = call ptr @sc_dc_55(ptr %t20, ptr null)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rrelease_r27(ptr %t21)
+ br label %exc.cleanup8
+exc.k7:
+ %t25 = getelementptr inbounds %sc_rs_r27, ptr %t21, i64 0, i32 1
+ %t26 = load ptr, ptr %t25
+ %t27 = call ptr @sc_rretain_r19(ptr %t26)
+ store ptr %t27, ptr %sc_l_h_0
+ call void @sc_rrelease_r27(ptr %t21)
+ %t28 = load ptr, ptr %sc_l_h_0
+ %t29 = getelementptr inbounds %sc_rs_r19, ptr %t28, i64 0, i32 1
+ %t30 = load ptr, ptr %t29
+ %t31 = call ptr @scr_closure_retain_v(ptr %t30)
+ %t32 = call ptr @scr_closure_new(ptr @sc_f__x25_fn47, i64 1)
+ %t33 = getelementptr inbounds %ScrClosure, ptr %t32, i64 0, i32 4
+ store i32 4, ptr %t33
+ %t34 = getelementptr inbounds %ScrClosure, ptr %t32, i64 0, i32 7
+ store ptr @sc_bf__x25_fn47, ptr %t34
+ %t35 = load ptr, ptr %sc_l_out_0
+ %t36 = call ptr @sc_retain_box(ptr %t35)
+ %t37 = getelementptr inbounds %ScrClosure, ptr %t32, i64 1 ; caps
+ %t38 = getelementptr inbounds ptr, ptr %t37, i64 0 ; caps[0]
+ store ptr %t36, ptr %t38
+ %t39 = getelementptr inbounds %ScrClosure, ptr %t31, i64 0, i32 1
+ %t40 = load ptr, ptr %t39
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t40(ptr %t31, ptr %t32)
+ call void @scr_dyn_this_pop()
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @scr_closure_release(ptr %t31)
+ br label %exc.cleanup11
+exc.k10:
+ call void @scr_closure_release(ptr %t31)
+ %t44 = load ptr, ptr %sc_l_out_1
+ %t45 = load ptr, ptr %sc_l_out_0
+ call void @scr_box_release(ptr %t45)
+ %t46 = load ptr, ptr %sc_l_h_0
+ call void @sc_rrelease_r19(ptr %t46)
+ ret ptr %t44
+exc.cleanup8:
+ %t47 = load ptr, ptr %sc_l_out_1
+ call void @sc_rrelease_r0(ptr %t47)
+ %t48 = load ptr, ptr %sc_l_out_0
+ call void @scr_box_release(ptr %t48)
+ ret ptr null
+exc.cleanup11:
+ %t49 = load ptr, ptr %sc_l_out_1
+ call void @sc_rrelease_r0(ptr %t49)
+ %t50 = load ptr, ptr %sc_l_out_0
+ call void @scr_box_release(ptr %t50)
+ %t51 = load ptr, ptr %sc_l_h_0
+ call void @sc_rrelease_r19(ptr %t51)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_headersFromRaw(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_headersFromRaw(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_m5_adoptResponse(ptr %p_sc_l_r_0, ptr %p_sc_l_c_0) #0 { ; %m5.adoptResponse
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_o_0 = alloca ptr ; o
+ %sc_l_view_0 = alloca ptr ; view
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %s8 = alloca i1
+ %s14 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s44 = alloca i1
+ %s76 = alloca i1
+ %s87 = alloca ptr
+ %s119 = alloca ptr
+ %s134 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l_o_0
+ store ptr null, ptr %sc_l_view_0
+ store ptr null, ptr %sc_l_sink_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_r_0
+ %t5 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 0
+ store i1 %t7, ptr %s8
+ br i1 %t7, label %log.j3, label %log.r2
+log.r2:
+ %t9 = load ptr, ptr %sc_l_r_0
+ %t10 = getelementptr inbounds i8, ptr %t9, i64 8 ; ->kind
+ %t11 = load i32, ptr %t10
+ %t12 = icmp eq i32 %t11, 6
+ store i1 %t12, ptr %s8
+ br label %log.j3
+log.j3:
+ %t13 = load i1, ptr %s8
+ store i1 %t13, ptr %s14
+ br i1 %t13, label %log.j5, label %log.r4
+log.r4:
+ %t15 = load ptr, ptr %sc_l_r_0
+ %t16 = load ptr, ptr %sc_l_c_0
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t18 = call zeroext i1 @scr_dyn_strict_eq(ptr %t15, ptr %t17)
+ store i1 %t18, ptr %s14
+ call void @sc_rc_release_dyn(ptr %t17)
+ br label %log.j5
+log.j5:
+ %t19 = load i1, ptr %s14
+ br i1 %t19, label %if.t6, label %if.j7
+if.t6:
+ ret i1 false
+if.j7:
+ %t20 = load ptr, ptr %sc_l_r_0
+ store ptr %t20, ptr %sc_l_o_0
+ %t21 = load ptr, ptr %sc_l_o_0
+ %t22 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t24 = icmp eq i32 %t23, 0
+ br i1 %t24, label %if.t8, label %if.j9
+if.t8:
+ ret i1 false
+if.j9:
+ %t25 = load ptr, ptr %sc_l_o_0
+ %t26 = call ptr @sc_rc_retain_dyn(ptr %t25)
+ %t27 = call ptr @sc_f__x25_dyn_class_property_12(ptr %t26)
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t27)
+ ret i1 false
+exc.k11:
+ %t31 = getelementptr inbounds i8, ptr %t27, i64 8 ; ->kind
+ %t32 = load i32, ptr %t31
+ %t33 = icmp eq i32 %t32, 2
+ %t34 = xor i1 %t33, true
+ call void @sc_rc_release_dyn(ptr %t27)
+ br i1 %t34, label %if.t12, label %if.j13
+if.t12:
+ ret i1 false
+if.j13:
+ %t35 = load ptr, ptr %sc_l_o_0
+ %t36 = call ptr @sc_rc_retain_dyn(ptr %t35)
+ %t37 = call ptr @sc_f__x25_dyn_class_property_50(ptr %t36)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t37)
+ ret i1 false
+exc.k15:
+ %t41 = getelementptr inbounds i8, ptr %t37, i64 8 ; ->kind
+ %t42 = load i32, ptr %t41
+ %t43 = icmp eq i32 %t42, 0
+ store i1 %t43, ptr %s44
+ br i1 %t43, label %log.j17, label %log.r16
+log.r16:
+ %t45 = load ptr, ptr %sc_l_o_0
+ %t46 = call ptr @sc_rc_retain_dyn(ptr %t45)
+ %t47 = call ptr @sc_f__x25_dyn_class_property_50(ptr %t46)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t47)
+ call void @sc_rc_release_dyn(ptr %t37)
+ ret i1 false
+exc.k19:
+ %t51 = getelementptr inbounds i8, ptr %t47, i64 8 ; ->kind
+ %t52 = load i32, ptr %t51
+ %t53 = icmp eq i32 %t52, 6
+ store i1 %t53, ptr %s44
+ call void @sc_rc_release_dyn(ptr %t47)
+ br label %log.j17
+log.j17:
+ %t54 = load i1, ptr %s44
+ call void @sc_rc_release_dyn(ptr %t37)
+ br i1 %t54, label %if.t20, label %if.j21
+if.t20:
+ ret i1 false
+if.j21:
+ %t55 = call ptr @sc_rnew_r1()
+ %t56 = load ptr, ptr %sc_l_o_0
+ %t57 = call ptr @sc_rc_retain_dyn(ptr %t56)
+ %t58 = call ptr @sc_f__x25_dyn_class_property_12(ptr %t57)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rrelease_r1(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t58)
+ ret i1 false
+exc.k23:
+ %t62 = call double @sc_dc_2(ptr %t58, ptr null)
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rrelease_r1(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t58)
+ ret i1 false
+exc.k25:
+ %t66 = getelementptr inbounds %sc_rs_r1, ptr %t55, i64 0, i32 3
+ store double %t62, ptr %t66
+ %t67 = load ptr, ptr %sc_l_o_0
+ %t68 = call ptr @sc_rc_retain_dyn(ptr %t67)
+ %t69 = call ptr @sc_f__x25_dyn_class_property_51(ptr %t68)
+ %t70 = load i32, ptr %exc.cell
+ %t71 = icmp ne i32 %t70, 0
+ %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false)
+ br i1 %t72, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rrelease_r1(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t69)
+ ret i1 false
+exc.k27:
+ %t73 = getelementptr inbounds i8, ptr %t69, i64 8 ; ->kind
+ %t74 = load i32, ptr %t73
+ %t75 = icmp eq i32 %t74, 0
+ store i1 %t75, ptr %s76
+ br i1 %t75, label %log.j29, label %log.r28
+log.r28:
+ %t77 = load ptr, ptr %sc_l_o_0
+ %t78 = call ptr @sc_rc_retain_dyn(ptr %t77)
+ %t79 = call ptr @sc_f__x25_dyn_class_property_51(ptr %t78)
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t79)
+ call void @sc_rrelease_r1(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t69)
+ ret i1 false
+exc.k31:
+ %t83 = getelementptr inbounds i8, ptr %t79, i64 8 ; ->kind
+ %t84 = load i32, ptr %t83
+ %t85 = icmp eq i32 %t84, 6
+ store i1 %t85, ptr %s76
+ call void @sc_rc_release_dyn(ptr %t79)
+ br label %log.j29
+log.j29:
+ %t86 = load i1, ptr %s76
+ br i1 %t86, label %tern.t32, label %tern.f33
+tern.t32:
+ %t88 = call ptr @scr_dyn_new_null()
+ store ptr %t88, ptr %s87
+ br label %tern.j34
+tern.f33:
+ %t89 = load ptr, ptr %sc_l_o_0
+ %t90 = call ptr @sc_rc_retain_dyn(ptr %t89)
+ %t91 = call ptr @sc_f__x25_dyn_class_property_51(ptr %t90)
+ %t92 = load i32, ptr %exc.cell
+ %t93 = icmp ne i32 %t92, 0
+ %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false)
+ br i1 %t94, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rc_release_dyn(ptr %t91)
+ call void @sc_rrelease_r1(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t69)
+ ret i1 false
+exc.k36:
+ store ptr %t91, ptr %s87
+ br label %tern.j34
+tern.j34:
+ %t95 = load ptr, ptr %s87
+ %t96 = getelementptr inbounds %sc_rs_r1, ptr %t55, i64 0, i32 1
+ store ptr %t95, ptr %t96
+ %t97 = load ptr, ptr %sc_l_o_0
+ %t98 = call ptr @sc_rc_retain_dyn(ptr %t97)
+ %t99 = call ptr @sc_f__x25_dyn_class_property_50(ptr %t98)
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_rrelease_r1(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t69)
+ call void @sc_rc_release_dyn(ptr %t99)
+ ret i1 false
+exc.k38:
+ %t103 = getelementptr inbounds %sc_rs_r1, ptr %t55, i64 0, i32 2
+ store ptr %t99, ptr %t103
+ store ptr %t55, ptr %sc_l_view_0
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t69)
+ %t104 = load ptr, ptr %sc_l_c_0
+ %t105 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t104, i64 0, i32 2
+ %t106 = load ptr, ptr %t105, !tbaa !44
+ %t107 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t106)
+ store ptr %t107, ptr %sc_l_sink_0
+ %t108 = load ptr, ptr %sc_l_sink_0
+ store ptr %t108, ptr %sc_l__x25_callbackReceiver_0
+ %t109 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t110 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t109, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t111 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t110)
+ %t112 = load i32, ptr %exc.cell
+ %t113 = icmp ne i32 %t112, 0
+ %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false)
+ br i1 %t114, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @sc_rc_release_dyn(ptr %t111)
+ br label %exc.cleanup41
+exc.k40:
+ store ptr %t111, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t115 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t116 = getelementptr inbounds i8, ptr %t115, i64 8 ; ->kind
+ %t117 = load i32, ptr %t116
+ %t118 = icmp eq i32 %t117, 6
+ br i1 %t118, label %tern.t42, label %tern.f43
+tern.t42:
+ %t121 = call ptr @scr_dyn_undefined()
+ %t120 = call ptr @scr_dyn_retain_v(ptr %t121)
+ store ptr %t120, ptr %s119
+ br label %tern.j44
+tern.f43:
+ %t122 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t123 = call ptr @sc_rc_retain_dyn(ptr %t122)
+ %t124 = call ptr @sc_f__x25_dyn_class_property_52(ptr %t123)
+ %t125 = load i32, ptr %exc.cell
+ %t126 = icmp ne i32 %t125, 0
+ %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false)
+ br i1 %t127, label %exc.u45, label %exc.k46
+exc.u45:
+ call void @sc_rc_release_dyn(ptr %t124)
+ br label %exc.cleanup47
+exc.k46:
+ store ptr %t124, ptr %s119
+ br label %tern.j44
+tern.j44:
+ %t128 = load ptr, ptr %s119
+ store ptr %t128, ptr %sc_l__x25_callback_0
+ %t129 = load ptr, ptr %sc_l__x25_callback_0
+ %t130 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t131 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t130, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t132 = load ptr, ptr %sc_l_view_0
+ %t133 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t132, ptr @sc_rretain_r1, ptr @sc_rrelease_r1, ptr @sc_cs_2073431270519518, i64 9, ptr @sc_ldr_3_materialize, ptr @sc_ldr_3_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t133, ptr @sc_ldr_3_materialize_rops)
+ %t135 = getelementptr inbounds [1 x ptr], ptr %s134, i64 0, i64 0
+ store ptr %t133, ptr %t135
+ call void @scr_dyn_this_push_dyn(ptr %t131)
+ %t136 = call ptr @scr_dyn_call(ptr %t129, ptr %s134, i64 1, ptr @sc_cs_1005168979260425)
+ call void @scr_dyn_this_pop()
+ %t137 = load i32, ptr %exc.cell
+ %t138 = icmp ne i32 %t137, 0
+ %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false)
+ br i1 %t139, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t131)
+ call void @sc_rc_release_dyn(ptr %t133)
+ call void @sc_rc_release_dyn(ptr %t136)
+ br label %exc.cleanup50
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t131)
+ call void @sc_rc_release_dyn(ptr %t133)
+ call void @sc_rc_release_dyn(ptr %t136)
+ %t140 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t140)
+ %t141 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t141)
+ %t142 = load ptr, ptr %sc_l_view_0
+ call void @sc_rrelease_r1(ptr %t142)
+ %t143 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t143)
+ ret i1 true
+exc.cleanup41:
+ %t144 = load ptr, ptr %sc_l_view_0
+ call void @sc_rrelease_r1(ptr %t144)
+ %t145 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t145)
+ ret i1 false
+exc.cleanup47:
+ %t146 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t146)
+ %t147 = load ptr, ptr %sc_l_view_0
+ call void @sc_rrelease_r1(ptr %t147)
+ %t148 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t148)
+ ret i1 false
+exc.cleanup50:
+ %t149 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t149)
+ %t150 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t150)
+ %t151 = load ptr, ptr %sc_l_view_0
+ call void @sc_rrelease_r1(ptr %t151)
+ %t152 = load ptr, ptr %sc_l_sink_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t152)
+ ret i1 false
+}
+define internal i1 @sc_f__x25_m5_adoptResponse(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_m5_adoptResponse(ptr %p0, ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p1)
+ ret i1 %result
+}
+
+define internal void @sc_bf__x25_m5_runChainPromise(ptr %p_sc_l_chain_0, ptr %p_sc_l_c_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0, ptr %p_sc_l_resolve_0) #0 { ; %m5.runChainPromise
+entry:
+ %sc_l_chain_0 = alloca ptr ; chain
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_p_0 = alloca ptr ; p
+ %s10 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s70 = alloca i1
+ %s82 = alloca ptr
+ store ptr null, ptr %sc_l_r_0
+ store ptr null, ptr %sc_l_e_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_p_0
+ store ptr %p_sc_l_chain_0, ptr %sc_l_chain_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0
+ store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t5 = call ptr @scr_dyn_undefined()
+ %t4 = call ptr @scr_dyn_retain_v(ptr %t5)
+ store ptr %t4, ptr %sc_l_r_0
+ %t6 = load ptr, ptr %sc_l_chain_0
+ %t9 = getelementptr inbounds %ScrUnion, ptr %t6, i64 0, i32 1
+ %t8 = load i32, ptr %t9
+ %t7 = icmp eq i32 %t8, 1
+ br i1 %t7, label %read.then5, label %read.else6
+read.then5:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1988484489435674)
+ br label %try.c2
+exc.dead8:
+ store ptr null, ptr %s10
+ br label %read.join7
+read.else6:
+ %t11 = load ptr, ptr %sc_l_chain_0
+ %t12 = getelementptr inbounds %ScrUnion, ptr %t11, i64 0, i32 5
+ %t13 = load ptr, ptr %t12
+ store ptr %t13, ptr %s10
+ br label %read.join7
+read.join7:
+ %t14 = load ptr, ptr %s10
+ %t15 = load ptr, ptr %sc_l_c_0
+ %t16 = getelementptr inbounds %ScrClosure, ptr %t14, i64 0, i32 1
+ %t17 = load ptr, ptr %t16
+ %t18 = getelementptr inbounds %ScrClosure, ptr %t14, i64 0, i32 7
+ %t19 = load ptr, ptr %t18
+ %t20 = icmp ne ptr %t19, null
+ br i1 %t20, label %callback.lend9, label %callback.own10
+callback.lend9:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t21 = call ptr %t19(ptr %t14, ptr %t15)
+ call void @scr_dyn_this_pop()
+ br label %callback.done11
+callback.own10:
+ %t22 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t15)
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t23 = call ptr %t17(ptr %t14, ptr %t22)
+ call void @scr_dyn_this_pop()
+ br label %callback.done11
+callback.done11:
+ %t24 = phi ptr [ %t21, %callback.lend9 ], [ %t23, %callback.own10 ]
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t24)
+ br label %try.c2
+exc.k13:
+ %t28 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t28)
+ store ptr %t24, ptr %sc_l_r_0
+ br label %try.e4
+try.c2:
+ %t29 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t29, ptr %sc_l_e_0
+ %t30 = load ptr, ptr %sc_l_oef_0
+ %t33 = getelementptr inbounds %ScrUnion, ptr %t30, i64 0, i32 1
+ %t32 = load i32, ptr %t33
+ %t31 = icmp ne i32 %t32, 1
+ br i1 %t31, label %if.t14, label %if.f16
+if.t14:
+ %t34 = load ptr, ptr %sc_l_oef_0
+ %t35 = getelementptr inbounds %ScrUnion, ptr %t34, i64 0, i32 5
+ %t36 = load ptr, ptr %t35
+ %t37 = load ptr, ptr %sc_l_e_0
+ %t38 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t37)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @sc_rc_release_dyn(ptr %t38)
+ br label %exc.cleanup19
+exc.k18:
+ %t42 = load ptr, ptr %sc_l_sink_0
+ %t43 = load ptr, ptr %sc_l_c_0
+ call void @sc_bf__x25_m5_runOnError(ptr %t36, ptr %t38, ptr %t42, ptr %t43)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t38)
+ br label %exc.cleanup19
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t38)
+ br label %if.j15
+if.f16:
+ %t47 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25_m5_send500(ptr %t47)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u22, label %exc.k23
+exc.u22:
+ br label %exc.cleanup19
+exc.k23:
+ br label %if.j15
+if.j15:
+ %t51 = load ptr, ptr %sc_l_resolve_0
+ %t52 = getelementptr inbounds %ScrClosure, ptr %t51, i64 0, i32 1
+ %t53 = load ptr, ptr %t52
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t53(ptr %t51)
+ call void @scr_dyn_this_pop()
+ %t54 = load i32, ptr %exc.cell
+ %t55 = icmp ne i32 %t54, 0
+ %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false)
+ br i1 %t56, label %exc.u24, label %exc.k25
+exc.u24:
+ br label %exc.cleanup19
+exc.k25:
+ %t57 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t57)
+ %t58 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t58)
+ ret void
+try.e4:
+ %t59 = load ptr, ptr %sc_l_r_0
+ %t60 = load ptr, ptr %sc_l_c_0
+ %t61 = call i1 @sc_bf__x25_m5_isSettled(ptr %t59, ptr %t60)
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u26, label %exc.k27
+exc.u26:
+ br label %exc.cleanup28
+exc.k27:
+ br i1 %t61, label %if.t29, label %if.j30
+if.t29:
+ %t65 = load ptr, ptr %sc_l_c_0
+ %t66 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t65, i64 0, i32 5
+ %t67 = load i8, ptr %t66, !tbaa !42
+ %t68 = trunc i8 %t67 to i1
+ %t69 = icmp eq i1 %t68, false
+ store i1 %t69, ptr %s70
+ br i1 %t69, label %log.r31, label %log.j32
+log.r31:
+ %t71 = load ptr, ptr %sc_l_sink_0
+ store ptr %t71, ptr %sc_l__x25_callbackReceiver_0
+ %t72 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t73 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t72, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t74 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t73)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u33, label %exc.k34
+exc.u33:
+ call void @sc_rc_release_dyn(ptr %t74)
+ br label %exc.cleanup28
+exc.k34:
+ store ptr %t74, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t78 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t79 = getelementptr inbounds i8, ptr %t78, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t81 = icmp eq i32 %t80, 6
+ br i1 %t81, label %tern.t35, label %tern.f36
+tern.t35:
+ %t84 = call ptr @scr_dyn_undefined()
+ %t83 = call ptr @scr_dyn_retain_v(ptr %t84)
+ store ptr %t83, ptr %s82
+ br label %tern.j37
+tern.f36:
+ %t85 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t86 = call ptr @sc_rc_retain_dyn(ptr %t85)
+ %t87 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t86)
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t87)
+ br label %exc.cleanup40
+exc.k39:
+ store ptr %t87, ptr %s82
+ br label %tern.j37
+tern.j37:
+ %t91 = load ptr, ptr %s82
+ store ptr %t91, ptr %sc_l__x25_callback_0
+ %t92 = load ptr, ptr %sc_l__x25_callback_0
+ %t93 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t94 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t93, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t94)
+ %t95 = call ptr @scr_dyn_call(ptr %t92, ptr null, i64 0, ptr @sc_cs_3079164241922068)
+ call void @scr_dyn_this_pop()
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u41, label %exc.k42
+exc.u41:
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ br label %exc.cleanup43
+exc.k42:
+ %t99 = call zeroext i1 @sc_dc_3(ptr %t95, ptr null)
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ br label %exc.cleanup43
+exc.k45:
+ %t103 = icmp eq i1 %t99, false
+ store i1 %t103, ptr %s70
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ %t104 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t104)
+ %t105 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t105)
+ br label %log.j32
+log.j32:
+ %t106 = load i1, ptr %s70
+ br i1 %t106, label %if.t46, label %if.j47
+if.t46:
+ %t107 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25_m5_send500(ptr %t107)
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u48, label %exc.k49
+exc.u48:
+ br label %exc.cleanup28
+exc.k49:
+ br label %if.j47
+if.j47:
+ %t111 = load ptr, ptr %sc_l_resolve_0
+ %t112 = getelementptr inbounds %ScrClosure, ptr %t111, i64 0, i32 1
+ %t113 = load ptr, ptr %t112
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t113(ptr %t111)
+ call void @scr_dyn_this_pop()
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u50, label %exc.k51
+exc.u50:
+ br label %exc.cleanup28
+exc.k51:
+ %t117 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret void
+if.j30:
+ %t118 = load ptr, ptr %sc_l_r_0
+ %t119 = call ptr @sc_rc_retain_dyn(ptr %t118)
+ %t120 = load ptr, ptr %sc_l_c_0
+ %t121 = load ptr, ptr %sc_l_sink_0
+ %t122 = load ptr, ptr %sc_l_oef_0
+ %t123 = call ptr @sc_bf__x25_m5_settleAndResolveAdopting(ptr %t119, ptr %t120, ptr %t121, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @scr_promise_release(ptr %t123)
+ br label %exc.cleanup28
+exc.k53:
+ store ptr %t123, ptr %sc_l_p_0
+ %t127 = call ptr @scr_closure_new(ptr @sc_as__x25_fn50_then2, i64 0)
+ %t128 = getelementptr inbounds %ScrClosure, ptr %t127, i64 0, i32 4
+ store i32 2, ptr %t128
+ %t129 = load ptr, ptr %sc_l_p_0
+ %t130 = call ptr @scr_promise_retain_v(ptr %t129)
+ %t131 = load ptr, ptr %sc_l_resolve_0
+ %t132 = call ptr @scr_closure_retain_v(ptr %t131)
+ %t133 = load ptr, ptr %sc_l_resolve_0
+ %t134 = call ptr @sc_dfb_1(ptr %t133, ptr null)
+ %t135 = getelementptr inbounds %ScrClosure, ptr %t127, i64 0, i32 1
+ %t136 = load ptr, ptr %t135
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t137 = call ptr %t136(ptr %t127, ptr %t130, ptr %t132, ptr %t134)
+ call void @scr_dyn_this_pop()
+ %t138 = load i32, ptr %exc.cell
+ %t139 = icmp ne i32 %t138, 0
+ %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false)
+ br i1 %t140, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @scr_closure_release(ptr %t127)
+ call void @scr_promise_release(ptr %t137)
+ br label %exc.cleanup56
+exc.k55:
+ call void @scr_closure_release(ptr %t127)
+ call void @scr_promise_release(ptr %t137)
+ %t141 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t141)
+ %t142 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t142)
+ ret void
+exc.cleanup19:
+ %t143 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t143)
+ %t144 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t144)
+ ret void
+exc.cleanup28:
+ %t145 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t145)
+ ret void
+exc.cleanup40:
+ %t146 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t146)
+ %t147 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t147)
+ ret void
+exc.cleanup43:
+ %t148 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t148)
+ %t149 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t149)
+ %t150 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t150)
+ ret void
+exc.cleanup56:
+ %t151 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t151)
+ %t152 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t152)
+ ret void
+}
+define internal void @sc_f__x25_m5_runChainPromise(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_m5_runChainPromise(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @scr_union_release(ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p2)
+ call void @scr_union_release(ptr %p3)
+ call void @scr_closure_release(ptr %p4)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_m5_settleAndResolveAdopting(ptr %p_sc_l_r_0, ptr %p_sc_l_c_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0) #0 { ; %m5.settleAndResolveAdopting
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_oef_0 = alloca ptr ; oef
+ %s0 = alloca ptr ; lazy box c
+ %s1 = alloca ptr ; lazy box sink
+ %s2 = alloca ptr ; lazy box oef
+ store ptr null, ptr %s0
+ store ptr null, ptr %s1
+ store ptr null, ptr %s2
+ %t3 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) ; r (boxed param)
+ call void @scr_box_set_ref(ptr %t3, ptr %p_sc_l_r_0)
+ store ptr %t3, ptr %sc_l_r_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0
+ %t4 = call ptr @llvm.stacksave.p0()
+ %t5 = load ptr, ptr @scr_stack_guard
+ %t6 = icmp ult ptr %t4, %t5
+ %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false)
+ br i1 %t7, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t8 = call ptr @scr_promise_new()
+ %t9 = call ptr @scr_make_resolve(ptr %t8, i32 3)
+ %t10 = call ptr @scr_closure_new(ptr @sc_f__x25_fn62, i64 4)
+ %t11 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 4
+ store i32 4, ptr %t11
+ %t12 = load ptr, ptr %s0
+ %t13 = icmp eq ptr %t12, null
+ br i1 %t13, label %lazy.box3, label %lazy.box.j4
+lazy.box3:
+ %t14 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore)
+ %t15 = load ptr, ptr %sc_l_c_0
+ %t16 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t15)
+ call void @scr_box_set_ref(ptr %t14, ptr %t16)
+ store ptr %t14, ptr %s0
+ br label %lazy.box.j4
+lazy.box.j4:
+ %t17 = load ptr, ptr %s0
+ %t18 = call ptr @sc_retain_box(ptr %t17)
+ %t19 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps
+ %t20 = getelementptr inbounds ptr, ptr %t19, i64 0 ; caps[0]
+ store ptr %t18, ptr %t20
+ %t21 = load ptr, ptr %s1
+ %t22 = icmp eq ptr %t21, null
+ br i1 %t22, label %lazy.box5, label %lazy.box.j6
+lazy.box5:
+ %t23 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_trace__x25_m2_ResponseSink)
+ %t24 = load ptr, ptr %sc_l_sink_0
+ %t25 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t24)
+ call void @scr_box_set_ref(ptr %t23, ptr %t25)
+ store ptr %t23, ptr %s1
+ br label %lazy.box.j6
+lazy.box.j6:
+ %t26 = load ptr, ptr %s1
+ %t27 = call ptr @sc_retain_box(ptr %t26)
+ %t28 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps
+ %t29 = getelementptr inbounds ptr, ptr %t28, i64 1 ; caps[1]
+ store ptr %t27, ptr %t29
+ %t30 = load ptr, ptr %sc_l_r_0
+ %t31 = call ptr @sc_retain_box(ptr %t30)
+ %t32 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps
+ %t33 = getelementptr inbounds ptr, ptr %t32, i64 2 ; caps[2]
+ store ptr %t31, ptr %t33
+ %t34 = load ptr, ptr %s2
+ %t35 = icmp eq ptr %t34, null
+ br i1 %t35, label %lazy.box7, label %lazy.box.j8
+lazy.box7:
+ %t36 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v)
+ %t37 = load ptr, ptr %sc_l_oef_0
+ %t38 = call ptr @scr_union_retain_v(ptr %t37)
+ call void @scr_box_set_ref(ptr %t36, ptr %t38)
+ store ptr %t36, ptr %s2
+ br label %lazy.box.j8
+lazy.box.j8:
+ %t39 = load ptr, ptr %s2
+ %t40 = call ptr @sc_retain_box(ptr %t39)
+ %t41 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps
+ %t42 = getelementptr inbounds ptr, ptr %t41, i64 3 ; caps[3]
+ store ptr %t40, ptr %t42
+ call void @scr_promise_run_executor(ptr %t8, ptr %t10, ptr %t9)
+ call void @scr_closure_release(ptr %t10)
+ %t43 = load ptr, ptr %s0
+ %t44 = icmp ne ptr %t43, null
+ br i1 %t44, label %lazy.release9, label %lazy.release.j10
+lazy.release9:
+ call void @scr_box_release(ptr %t43)
+ br label %lazy.release.j10
+lazy.release.j10:
+ %t45 = load ptr, ptr %s1
+ %t46 = icmp ne ptr %t45, null
+ br i1 %t46, label %lazy.release11, label %lazy.release.j12
+lazy.release11:
+ call void @scr_box_release(ptr %t45)
+ br label %lazy.release.j12
+lazy.release.j12:
+ %t47 = load ptr, ptr %s2
+ %t48 = icmp ne ptr %t47, null
+ br i1 %t48, label %lazy.release13, label %lazy.release.j14
+lazy.release13:
+ call void @scr_box_release(ptr %t47)
+ br label %lazy.release.j14
+lazy.release.j14:
+ %t49 = load ptr, ptr %sc_l_r_0
+ call void @scr_box_release(ptr %t49)
+ ret ptr %t8
+exc.cleanup2:
+ %t50 = load ptr, ptr %s0
+ %t51 = icmp ne ptr %t50, null
+ br i1 %t51, label %lazy.release15, label %lazy.release.j16
+lazy.release15:
+ call void @scr_box_release(ptr %t50)
+ br label %lazy.release.j16
+lazy.release.j16:
+ %t52 = load ptr, ptr %s1
+ %t53 = icmp ne ptr %t52, null
+ br i1 %t53, label %lazy.release17, label %lazy.release.j18
+lazy.release17:
+ call void @scr_box_release(ptr %t52)
+ br label %lazy.release.j18
+lazy.release.j18:
+ %t54 = load ptr, ptr %s2
+ %t55 = icmp ne ptr %t54, null
+ br i1 %t55, label %lazy.release19, label %lazy.release.j20
+lazy.release19:
+ call void @scr_box_release(ptr %t54)
+ br label %lazy.release.j20
+lazy.release.j20:
+ %t56 = load ptr, ptr %sc_l_r_0
+ call void @scr_box_release(ptr %t56)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m5_settleAndResolveAdopting(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m5_settleAndResolveAdopting(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_CtxCore(ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p2)
+ call void @scr_union_release(ptr %p3)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_m5_allow405Promise(ptr %p_sc_l_node_0, ptr %p_sc_l_method_0, ptr %p_sc_l_url_0, ptr %p_sc_l_sink_0, ptr %p_sc_l_oef_0, ptr %p_sc_l_resolve_0) #0 { ; %m5.allow405Promise
+entry:
+ %sc_l_node_0 = alloca ptr ; node
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_hm_0 = alloca ptr ; hm
+ %sc_l_seen_0 = alloca ptr ; seen
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_m_0 = alloca ptr ; m
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_qs_0 = alloca ptr ; qs
+ %sc_l_qi_0 = alloca i32 ; qi
+ %sc_l_rv_0 = alloca ptr ; rv
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_4 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_5 = alloca ptr ; %callback
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l__x25_callbackReceiver_6 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_6 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_6 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_6 = alloca ptr ; %callback
+ %s10 = alloca i64 ; integer induction i
+ %s17 = alloca ptr
+ %s47 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s62 = alloca i1
+ %s65 = alloca ptr
+ %s68 = alloca double
+ %s79 = alloca ptr
+ %s82 = alloca double
+ %s121 = alloca ptr
+ %s124 = alloca double
+ %s132 = alloca i1
+ %s241 = alloca ptr
+ %s292 = alloca ptr
+ %s306 = alloca [1 x ptr]
+ %s325 = alloca ptr
+ %s342 = alloca [2 x ptr]
+ %s362 = alloca ptr
+ %s377 = alloca [2 x ptr]
+ %s397 = alloca ptr
+ %s412 = alloca [2 x ptr]
+ %s432 = alloca ptr
+ %s446 = alloca [1 x ptr]
+ %s466 = alloca ptr
+ store ptr null, ptr %sc_l_hm_0
+ store ptr null, ptr %sc_l_seen_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_m_0
+ store ptr null, ptr %sc_l_path_0
+ store ptr null, ptr %sc_l_qs_0
+ store ptr null, ptr %sc_l_rv_0
+ store ptr null, ptr %sc_l_c_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr null, ptr %sc_l__x25_callbackReceiver_4
+ store ptr null, ptr %sc_l__x25_callbackBag_4
+ store ptr null, ptr %sc_l__x25_callback_4
+ store ptr null, ptr %sc_l__x25_callbackReceiver_5
+ store ptr null, ptr %sc_l__x25_callbackBag_5
+ store ptr null, ptr %sc_l__x25_callback_5
+ store ptr null, ptr %sc_l_e_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_6
+ store ptr null, ptr %sc_l__x25_callbackBag_6
+ store ptr null, ptr %sc_l__x25_callback_6
+ store ptr %p_sc_l_node_0, ptr %sc_l_node_0
+ store ptr %p_sc_l_method_0, ptr %sc_l_method_0
+ store ptr %p_sc_l_url_0, ptr %sc_l_url_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ store ptr %p_sc_l_oef_0, ptr %sc_l_oef_0
+ store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_node_0
+ %t5 = getelementptr inbounds %sc_rs_r5, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5
+ %t7 = call ptr @scr_arr_retain_v(ptr %t6)
+ store ptr %t7, ptr %sc_l_hm_0
+ %t8 = call ptr @sc_rnew_r12()
+ store ptr %t8, ptr %sc_l_seen_0
+ %t9 = call ptr @scr_arr_new_small(i32 2)
+ store ptr %t9, ptr %sc_l_out_0
+ %t11 = fptosi double 0x0000000000000000 to i64
+ store i64 %t11, ptr %s10
+ br label %loop.c3
+loop.c3:
+ %t12 = load ptr, ptr %sc_l_hm_0
+ %t13 = getelementptr inbounds %ScrArr, ptr %t12, i64 0, i32 1
+ %t14 = load i64, ptr %t13, !tbaa !2
+ %t15 = load i64, ptr %s10
+ %t16 = icmp ult i64 %t15, %t14
+ br i1 %t16, label %loop.b4, label %loop.e2
+loop.b4:
+ %t18 = load ptr, ptr %sc_l_hm_0
+ %t19 = load i64, ptr %s10
+ %t20 = load i64, ptr %s10
+ %t21 = sitofp i64 %t20 to double
+ %t22 = trunc i64 %t20 to i32
+ %t23 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2
+ %t24 = load i64, ptr %t23, !tbaa !2
+ %t25 = icmp ult i64 %t19, %t24
+ br i1 %t25, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t26 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6
+ %t27 = load i32, ptr %t26, !tbaa !2
+ %t29 = zext i32 %t27 to i64
+ %t28 = icmp ult i64 %t19, %t29
+ br i1 %t28, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t30 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1
+ %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t32 = icmp ult i64 %t19, %t31
+ br i1 %t32, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t33 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9
+ %t34 = load ptr, ptr %t33, !tbaa !2
+ %t35 = getelementptr inbounds i8, ptr %t34, i64 %t19
+ %t36 = load i8, ptr %t35, !tbaa !4
+ %t37 = icmp eq i8 %t36, 1
+ br i1 %t37, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t38 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8
+ %t39 = load ptr, ptr %t38, !tbaa !2
+ %t40 = getelementptr inbounds i64, ptr %t39, i64 %t19
+ %t41 = load ptr, ptr %t40, !tbaa !6
+ %t42 = call ptr @sc_rc_retain_str(ptr %t41)
+ store ptr %t42, ptr %s17
+ br label %local.array.join8
+local.array.slow6:
+ %t43 = call ptr @scr_arr_peek_ref(ptr %t18, double %t21)
+ %t44 = icmp ne ptr %t43, null
+ br i1 %t44, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ %t45 = call ptr @sc_rc_retain_str(ptr %t43)
+ store ptr %t45, ptr %s17
+ br label %local.array.join8
+local.array.missing7:
+ store ptr null, ptr %s17
+ br label %local.array.join8
+local.array.join8:
+ %t46 = load ptr, ptr %s17
+ %t49 = icmp eq ptr %t46, null
+ %t48 = select i1 %t49, i32 1, i32 0
+ switch i32 %t48, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ]
+u.a17:
+ %t50 = call ptr @sc_rc_retain_str(ptr %t46)
+ store ptr %t50, ptr %s47
+ br label %us.j15
+u.a18:
+ store ptr @sc_lit_4134463689533233, ptr %s47
+ br label %us.j15
+u.bad16:
+ call void @sc_bad_tag()
+ unreachable
+us.j15:
+ %t51 = load ptr, ptr %s47
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u19, label %exc.k20
+exc.u19:
+ %t55 = load ptr, ptr %s17
+ call void @scr_str_release(ptr %t55)
+ call void @scr_str_release(ptr %t51)
+ br label %exc.cleanup21
+exc.k20:
+ store ptr %t51, ptr %sc_l_m_0
+ %t56 = load ptr, ptr %s17
+ call void @scr_str_release(ptr %t56)
+ %t57 = load ptr, ptr %sc_l_m_0
+ %t58 = call zeroext i1 @sc_streq_1834571860458263(ptr %t57)
+ br i1 %t58, label %if.t22, label %if.f24
+if.t22:
+ %t59 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t59)
+ store ptr @sc_lit_1613346130462307, ptr %sc_l_m_0
+ br label %if.j23
+if.f24:
+ %t60 = load ptr, ptr %sc_l_m_0
+ %t61 = call zeroext i1 @sc_streq_367446482893939(ptr %t60)
+ store i1 %t61, ptr %s62
+ br i1 %t61, label %log.r25, label %log.j26
+log.r25:
+ %t63 = load ptr, ptr %sc_l_seen_0
+ %t64 = call ptr @sc_rretain_r12(ptr %t63)
+ %t66 = getelementptr inbounds %sc_rs_r12, ptr %t64, i64 0, i32 1
+ %t67 = load ptr, ptr %t66
+ store double 0x0000000000000000, ptr %s68
+ %t69 = call zeroext i1 @scr_map_get_str_f64(ptr %t67, ptr @sc_lit_3185835515143599, ptr %s68)
+ br i1 %t69, label %rkg.h28, label %rkg.n29
+rkg.h28:
+ %t70 = load double, ptr %s68
+ %t71 = call ptr @scr_union_new_f64(i32 0, double %t70)
+ store ptr %t71, ptr %s65
+ br label %rkg.j27
+rkg.n29:
+ store ptr @sc_unit_3, ptr %s65
+ br label %rkg.j27
+rkg.j27:
+ %t72 = load ptr, ptr %s65
+ %t75 = getelementptr inbounds %ScrUnion, ptr %t72, i64 0, i32 1
+ %t74 = load i32, ptr %t75
+ %t73 = icmp eq i32 %t74, 1
+ store i1 %t73, ptr %s62
+ call void @sc_rrelease_r12(ptr %t64)
+ call void @scr_union_release(ptr %t72)
+ br label %log.j26
+log.j26:
+ %t76 = load i1, ptr %s62
+ br i1 %t76, label %if.t30, label %if.j31
+if.t30:
+ %t77 = load ptr, ptr %sc_l_seen_0
+ %t78 = call ptr @sc_rretain_r12(ptr %t77)
+ %t80 = getelementptr inbounds %sc_rs_r12, ptr %t78, i64 0, i32 1
+ %t81 = load ptr, ptr %t80
+ store double 0x0000000000000000, ptr %s82
+ %t83 = call zeroext i1 @scr_map_get_str_f64(ptr %t81, ptr @sc_lit_367446482893939, ptr %s82)
+ br i1 %t83, label %rkg.h33, label %rkg.n34
+rkg.h33:
+ %t84 = load double, ptr %s82
+ %t85 = call ptr @scr_union_new_f64(i32 0, double %t84)
+ store ptr %t85, ptr %s79
+ br label %rkg.j32
+rkg.n34:
+ store ptr @sc_unit_3, ptr %s79
+ br label %rkg.j32
+rkg.j32:
+ %t86 = load ptr, ptr %s79
+ %t89 = getelementptr inbounds %ScrUnion, ptr %t86, i64 0, i32 1
+ %t88 = load i32, ptr %t89
+ %t87 = icmp eq i32 %t88, 1
+ call void @sc_rrelease_r12(ptr %t78)
+ call void @scr_union_release(ptr %t86)
+ br i1 %t87, label %if.t35, label %if.j36
+if.t35:
+ %t90 = load ptr, ptr %sc_l_seen_0
+ %t91 = call ptr @sc_rretain_r12(ptr %t90)
+ %t92 = getelementptr inbounds %sc_rs_r12, ptr %t91, i64 0, i32 1
+ %t93 = load ptr, ptr %t92
+ call void @scr_map_set_str_f64(ptr %t93, ptr @sc_lit_367446482893939, double 0x3FF0000000000000)
+ call void @sc_rrelease_r12(ptr %t91)
+ %t94 = load ptr, ptr %sc_l_out_0
+ %t95 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 1
+ %t96 = load i64, ptr %t95, !tbaa !2
+ %t99 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 2
+ %t97 = load i64, ptr %t99, !tbaa !2
+ %t98 = icmp ult i64 %t96, %t97
+ br i1 %t98, label %arr.push.dense37, label %arr.push.slow38
+arr.push.dense37:
+ %t100 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 8
+ %t102 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 9
+ %t101 = load ptr, ptr %t100, !tbaa !2
+ %t103 = load ptr, ptr %t102, !tbaa !2
+ %t104 = getelementptr inbounds i8, ptr %t103, i64 %t96
+ %t105 = getelementptr inbounds i64, ptr %t101, i64 %t96
+ store ptr @sc_lit_367446482893939, ptr %t105, !tbaa !6
+ store i8 1, ptr %t104, !tbaa !4
+ %t106 = add nuw i64 %t96, 1
+ store i64 %t106, ptr %t95, !tbaa !2
+ %t108 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 6
+ %t109 = load i32, ptr %t108, !tbaa !2
+ %t113 = zext i32 %t109 to i64
+ %t110 = icmp eq i64 %t113, %t96
+ %t111 = add i32 %t109, 1
+ %t112 = select i1 %t110, i32 %t111, i32 %t109
+ store i32 %t112, ptr %t108, !tbaa !2
+ %t107 = sitofp i64 %t106 to double
+ br label %arr.push.join39
+arr.push.slow38:
+ %t114 = call double @scr_arr_push_ref(ptr %t94, ptr @sc_lit_367446482893939) cold
+ br label %arr.push.join39
+arr.push.join39:
+ %t115 = phi double [ %t107, %arr.push.dense37 ], [ %t114, %arr.push.slow38 ]
+ br label %if.j36
+if.j36:
+ %t116 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t116)
+ store ptr @sc_lit_3185835515143599, ptr %sc_l_m_0
+ br label %if.j31
+if.j31:
+ br label %if.j23
+if.j23:
+ %t117 = load ptr, ptr %sc_l_seen_0
+ %t118 = call ptr @sc_rretain_r12(ptr %t117)
+ %t119 = load ptr, ptr %sc_l_m_0
+ %t120 = call ptr @sc_rc_retain_str(ptr %t119)
+ %t122 = getelementptr inbounds %sc_rs_r12, ptr %t118, i64 0, i32 1
+ %t123 = load ptr, ptr %t122
+ store double 0x0000000000000000, ptr %s124
+ %t125 = call zeroext i1 @scr_map_get_str_f64(ptr %t123, ptr %t120, ptr %s124)
+ br i1 %t125, label %rkg.h41, label %rkg.n42
+rkg.h41:
+ %t126 = load double, ptr %s124
+ %t127 = call ptr @scr_union_new_f64(i32 0, double %t126)
+ store ptr %t127, ptr %s121
+ br label %rkg.j40
+rkg.n42:
+ store ptr @sc_unit_3, ptr %s121
+ br label %rkg.j40
+rkg.j40:
+ %t128 = load ptr, ptr %s121
+ %t130 = getelementptr inbounds %ScrUnion, ptr %t128, i64 0, i32 1
+ %t129 = load i32, ptr %t130
+ %t131 = icmp eq i32 %t129, 0
+ store i1 false, ptr %s132
+ br i1 %t131, label %ueq.s43, label %ueq.j44
+ueq.s43:
+ %t134 = call double @scr_union_get_f64(ptr %t128)
+ %t133 = fcmp oeq double %t134, 0x3FF0000000000000
+ store i1 %t133, ptr %s132
+ br label %ueq.j44
+ueq.j44:
+ %t135 = load i1, ptr %s132
+ %t136 = xor i1 %t135, true
+ call void @sc_rrelease_r12(ptr %t118)
+ call void @scr_str_release(ptr %t120)
+ call void @scr_union_release(ptr %t128)
+ br i1 %t136, label %if.t45, label %if.j46
+if.t45:
+ %t137 = load ptr, ptr %sc_l_seen_0
+ %t138 = call ptr @sc_rretain_r12(ptr %t137)
+ %t139 = load ptr, ptr %sc_l_m_0
+ %t140 = call ptr @sc_rc_retain_str(ptr %t139)
+ %t141 = getelementptr inbounds %sc_rs_r12, ptr %t138, i64 0, i32 1
+ %t142 = load ptr, ptr %t141
+ call void @scr_map_set_str_f64(ptr %t142, ptr %t140, double 0x3FF0000000000000)
+ br label %rks.j47
+rks.j47:
+ call void @sc_rrelease_r12(ptr %t138)
+ call void @scr_str_release(ptr %t140)
+ %t143 = load ptr, ptr %sc_l_out_0
+ %t144 = load ptr, ptr %sc_l_m_0
+ %t145 = call ptr @sc_rc_retain_str(ptr %t144)
+ %t146 = getelementptr inbounds %ScrArr, ptr %t143, i32 0, i32 1
+ %t147 = load i64, ptr %t146, !tbaa !2
+ %t150 = getelementptr inbounds %ScrArr, ptr %t143, i32 0, i32 2
+ %t148 = load i64, ptr %t150, !tbaa !2
+ %t149 = icmp ult i64 %t147, %t148
+ br i1 %t149, label %arr.push.dense48, label %arr.push.slow49
+arr.push.dense48:
+ %t151 = getelementptr inbounds %ScrArr, ptr %t143, i32 0, i32 8
+ %t153 = getelementptr inbounds %ScrArr, ptr %t143, i32 0, i32 9
+ %t152 = load ptr, ptr %t151, !tbaa !2
+ %t154 = load ptr, ptr %t153, !tbaa !2
+ %t155 = getelementptr inbounds i8, ptr %t154, i64 %t147
+ %t156 = getelementptr inbounds i64, ptr %t152, i64 %t147
+ store ptr %t145, ptr %t156, !tbaa !6
+ store i8 1, ptr %t155, !tbaa !4
+ %t157 = add nuw i64 %t147, 1
+ store i64 %t157, ptr %t146, !tbaa !2
+ %t159 = getelementptr inbounds %ScrArr, ptr %t143, i32 0, i32 6
+ %t160 = load i32, ptr %t159, !tbaa !2
+ %t164 = zext i32 %t160 to i64
+ %t161 = icmp eq i64 %t164, %t147
+ %t162 = add i32 %t160, 1
+ %t163 = select i1 %t161, i32 %t162, i32 %t160
+ store i32 %t163, ptr %t159, !tbaa !2
+ %t158 = sitofp i64 %t157 to double
+ br label %arr.push.join50
+arr.push.slow49:
+ %t165 = call double @scr_arr_push_ref(ptr %t143, ptr %t145) cold
+ br label %arr.push.join50
+arr.push.join50:
+ %t166 = phi double [ %t158, %arr.push.dense48 ], [ %t165, %arr.push.slow49 ]
+ br label %if.j46
+if.j46:
+ %t167 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t167)
+ br label %loop.u5
+loop.u5:
+ %t168 = load i64, ptr %s10
+ %t169 = add nuw i64 %t168, 1
+ store i64 %t169, ptr %s10
+ br label %loop.c3
+loop.e2:
+ %t170 = load ptr, ptr %sc_l_oef_0
+ %t173 = getelementptr inbounds %ScrUnion, ptr %t170, i64 0, i32 1
+ %t172 = load i32, ptr %t173
+ %t171 = icmp ne i32 %t172, 1
+ br i1 %t171, label %if.t51, label %if.j52
+if.t51:
+ %t174 = load ptr, ptr %sc_l_url_0
+ %t175 = call ptr @sc_rc_retain_str(ptr %t174)
+ store ptr %t175, ptr %sc_l_path_0
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_qs_0
+ %t176 = load ptr, ptr %sc_l_url_0
+ %t177 = call double @scr_str_index_of(ptr %t176, ptr @sc_lit_2437473434951379, double 0x0000000000000000)
+ %t178 = fptosi double %t177 to i32
+ store i32 %t178, ptr %sc_l_qi_0
+ %t179 = load i32, ptr %sc_l_qi_0
+ %t180 = sitofp i32 %t179 to double
+ %t182 = sext i32 %t179 to i64
+ %t181 = icmp sge i64 %t182, 0
+ br i1 %t181, label %if.t53, label %if.j54
+if.t53:
+ %t183 = load ptr, ptr %sc_l_url_0
+ %t184 = load i32, ptr %sc_l_qi_0
+ %t185 = sitofp i32 %t184 to double
+ %t186 = call ptr @scr_str_slice(ptr %t183, double 0x0000000000000000, double %t185)
+ %t187 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t187)
+ store ptr %t186, ptr %sc_l_path_0
+ %t188 = load ptr, ptr %sc_l_url_0
+ %t189 = load i32, ptr %sc_l_qi_0
+ %t190 = sitofp i32 %t189 to double
+ %t192 = sext i32 %t189 to i64
+ %t193 = add nsw i64 %t192, 1
+ %t195 = trunc i64 %t193 to i32
+ %t194 = sitofp i64 %t193 to double
+ %t196 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t197 = call ptr @scr_str_slice(ptr %t188, double %t194, double %t196)
+ %t198 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t198)
+ store ptr %t197, ptr %sc_l_qs_0
+ br label %if.j54
+if.j54:
+ %t199 = call ptr @sc_new__x25_m5_ReqViewCore()
+ %t200 = load ptr, ptr %sc_l_qs_0
+ %t201 = load ptr, ptr %sc_l_path_0
+ %t202 = load ptr, ptr %sc_l_url_0
+ %t203 = load ptr, ptr %sc_l_method_0
+ call void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %t199, ptr @sc_unit_1, ptr %t200, ptr %t201, ptr %t202, ptr %t203, ptr null, ptr null)
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t199)
+ br label %exc.cleanup57
+exc.k56:
+ store ptr %t199, ptr %sc_l_rv_0
+ %t207 = call ptr @sc_new__x25_m5_CtxCore()
+ %t208 = load ptr, ptr %sc_l_rv_0
+ %t209 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %t207, ptr %t208, ptr %t209)
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_release__x25_m5_CtxCore(ptr %t207)
+ br label %exc.cleanup60
+exc.k59:
+ store ptr %t207, ptr %sc_l_c_0
+ %t213 = load ptr, ptr %sc_l_oef_0
+ %t214 = getelementptr inbounds %ScrUnion, ptr %t213, i64 0, i32 5
+ %t215 = load ptr, ptr %t214
+ %t216 = call ptr @sc_new__x25_m5_MethodNotAllowedError()
+ %t217 = load ptr, ptr %sc_l_out_0
+ %t218 = call ptr @scr_arr_join(ptr %t217, ptr @sc_lit_3662817572149066)
+ call void @sc_bf__x25__x25_m5_MethodNotAllowedError_constructor(ptr %t216, ptr %t218)
+ %t219 = load i32, ptr %exc.cell
+ %t220 = icmp ne i32 %t219, 0
+ %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false)
+ br i1 %t221, label %exc.u61, label %exc.k62
+exc.u61:
+ call void @scr_str_release(ptr %t218)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t216)
+ br label %exc.cleanup63
+exc.k62:
+ call void @scr_str_release(ptr %t218)
+ %t222 = call ptr @sc_td_15(ptr %t216)
+ %t223 = load ptr, ptr %sc_l_c_0
+ %t224 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t223)
+ %t225 = getelementptr inbounds %ScrClosure, ptr %t215, i64 0, i32 1
+ %t226 = load ptr, ptr %t225
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t226(ptr %t215, ptr %t222, ptr %t224)
+ call void @scr_dyn_this_pop()
+ %t227 = load i32, ptr %exc.cell
+ %t228 = icmp ne i32 %t227, 0
+ %t229 = call i1 @llvm.expect.i1(i1 %t228, i1 false)
+ br i1 %t229, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t216)
+ br label %exc.cleanup63
+exc.k65:
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t216)
+ %t230 = load ptr, ptr %sc_l_sink_0
+ store ptr %t230, ptr %sc_l__x25_callbackReceiver_0
+ %t231 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t232 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t231, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t233 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t232)
+ %t234 = load i32, ptr %exc.cell
+ %t235 = icmp ne i32 %t234, 0
+ %t236 = call i1 @llvm.expect.i1(i1 %t235, i1 false)
+ br i1 %t236, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t233)
+ br label %exc.cleanup63
+exc.k67:
+ store ptr %t233, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t237 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t238 = getelementptr inbounds i8, ptr %t237, i64 8 ; ->kind
+ %t239 = load i32, ptr %t238
+ %t240 = icmp eq i32 %t239, 6
+ br i1 %t240, label %tern.t68, label %tern.f69
+tern.t68:
+ %t243 = call ptr @scr_dyn_undefined()
+ %t242 = call ptr @scr_dyn_retain_v(ptr %t243)
+ store ptr %t242, ptr %s241
+ br label %tern.j70
+tern.f69:
+ %t244 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t245 = call ptr @sc_rc_retain_dyn(ptr %t244)
+ %t246 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t245)
+ %t247 = load i32, ptr %exc.cell
+ %t248 = icmp ne i32 %t247, 0
+ %t249 = call i1 @llvm.expect.i1(i1 %t248, i1 false)
+ br i1 %t249, label %exc.u71, label %exc.k72
+exc.u71:
+ call void @sc_rc_release_dyn(ptr %t246)
+ br label %exc.cleanup73
+exc.k72:
+ store ptr %t246, ptr %s241
+ br label %tern.j70
+tern.j70:
+ %t250 = load ptr, ptr %s241
+ store ptr %t250, ptr %sc_l__x25_callback_0
+ %t251 = load ptr, ptr %sc_l__x25_callback_0
+ %t252 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t253 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t252, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t253)
+ %t254 = call ptr @scr_dyn_call(ptr %t251, ptr null, i64 0, ptr @sc_cs_3079164241922068)
+ call void @scr_dyn_this_pop()
+ %t255 = load i32, ptr %exc.cell
+ %t256 = icmp ne i32 %t255, 0
+ %t257 = call i1 @llvm.expect.i1(i1 %t256, i1 false)
+ br i1 %t257, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @sc_rc_release_dyn(ptr %t253)
+ call void @sc_rc_release_dyn(ptr %t254)
+ br label %exc.cleanup76
+exc.k75:
+ %t258 = call zeroext i1 @sc_dc_3(ptr %t254, ptr null)
+ %t259 = load i32, ptr %exc.cell
+ %t260 = icmp ne i32 %t259, 0
+ %t261 = call i1 @llvm.expect.i1(i1 %t260, i1 false)
+ br i1 %t261, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t253)
+ call void @sc_rc_release_dyn(ptr %t254)
+ br label %exc.cleanup76
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t253)
+ call void @sc_rc_release_dyn(ptr %t254)
+ %t262 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t262)
+ %t263 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t263)
+ br i1 %t258, label %if.t79, label %if.j80
+if.t79:
+ %t264 = load ptr, ptr %sc_l_resolve_0
+ %t265 = getelementptr inbounds %ScrClosure, ptr %t264, i64 0, i32 1
+ %t266 = load ptr, ptr %t265
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t266(ptr %t264)
+ call void @scr_dyn_this_pop()
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u81, label %exc.k82
+exc.u81:
+ br label %exc.cleanup63
+exc.k82:
+ %t270 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t270)
+ %t271 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t271)
+ %t272 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t273)
+ %t274 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t274)
+ %t275 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t275)
+ %t276 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t276)
+ ret void
+if.j80:
+ %t277 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t277)
+ %t278 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t278)
+ %t279 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t279)
+ %t280 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t280)
+ br label %if.j52
+if.j52:
+ %t281 = load ptr, ptr %sc_l_sink_0
+ store ptr %t281, ptr %sc_l__x25_callbackReceiver_1
+ %t282 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t283 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t282, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t284 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t283)
+ %t285 = load i32, ptr %exc.cell
+ %t286 = icmp ne i32 %t285, 0
+ %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false)
+ br i1 %t287, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t284)
+ br label %try.c83
+exc.k87:
+ store ptr %t284, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t288 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t289 = getelementptr inbounds i8, ptr %t288, i64 8 ; ->kind
+ %t290 = load i32, ptr %t289
+ %t291 = icmp eq i32 %t290, 6
+ br i1 %t291, label %tern.t88, label %tern.f89
+tern.t88:
+ %t294 = call ptr @scr_dyn_undefined()
+ %t293 = call ptr @scr_dyn_retain_v(ptr %t294)
+ store ptr %t293, ptr %s292
+ br label %tern.j90
+tern.f89:
+ %t295 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t296 = call ptr @sc_rc_retain_dyn(ptr %t295)
+ %t297 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t296)
+ %t298 = load i32, ptr %exc.cell
+ %t299 = icmp ne i32 %t298, 0
+ %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false)
+ br i1 %t300, label %exc.u91, label %exc.k92
+exc.u91:
+ call void @sc_rc_release_dyn(ptr %t297)
+ br label %exc.cleanup93
+exc.k92:
+ store ptr %t297, ptr %s292
+ br label %tern.j90
+tern.j90:
+ %t301 = load ptr, ptr %s292
+ store ptr %t301, ptr %sc_l__x25_callback_1
+ %t302 = load ptr, ptr %sc_l__x25_callback_1
+ %t303 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t304 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t303, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t305 = call ptr @sc_td_2(double 0x4079500000000000)
+ %t307 = getelementptr inbounds [1 x ptr], ptr %s306, i64 0, i64 0
+ store ptr %t305, ptr %t307
+ call void @scr_dyn_this_push_dyn(ptr %t304)
+ %t308 = call ptr @scr_dyn_call(ptr %t302, ptr %s306, i64 1, ptr @sc_cs_137127765515474)
+ call void @scr_dyn_this_pop()
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t304)
+ call void @sc_rc_release_dyn(ptr %t305)
+ call void @sc_rc_release_dyn(ptr %t308)
+ br label %exc.cleanup96
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t304)
+ call void @sc_rc_release_dyn(ptr %t305)
+ call void @sc_rc_release_dyn(ptr %t308)
+ %t312 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t312)
+ %t313 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t313)
+ %t314 = load ptr, ptr %sc_l_sink_0
+ store ptr %t314, ptr %sc_l__x25_callbackReceiver_2
+ %t315 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t316 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t315, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t317 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t316)
+ %t318 = load i32, ptr %exc.cell
+ %t319 = icmp ne i32 %t318, 0
+ %t320 = call i1 @llvm.expect.i1(i1 %t319, i1 false)
+ br i1 %t320, label %exc.u97, label %exc.k98
+exc.u97:
+ call void @sc_rc_release_dyn(ptr %t317)
+ br label %try.c83
+exc.k98:
+ store ptr %t317, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t321 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t322 = getelementptr inbounds i8, ptr %t321, i64 8 ; ->kind
+ %t323 = load i32, ptr %t322
+ %t324 = icmp eq i32 %t323, 6
+ br i1 %t324, label %tern.t99, label %tern.f100
+tern.t99:
+ %t327 = call ptr @scr_dyn_undefined()
+ %t326 = call ptr @scr_dyn_retain_v(ptr %t327)
+ store ptr %t326, ptr %s325
+ br label %tern.j101
+tern.f100:
+ %t328 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t329 = call ptr @sc_rc_retain_dyn(ptr %t328)
+ %t330 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t329)
+ %t331 = load i32, ptr %exc.cell
+ %t332 = icmp ne i32 %t331, 0
+ %t333 = call i1 @llvm.expect.i1(i1 %t332, i1 false)
+ br i1 %t333, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t330)
+ br label %exc.cleanup104
+exc.k103:
+ store ptr %t330, ptr %s325
+ br label %tern.j101
+tern.j101:
+ %t334 = load ptr, ptr %s325
+ store ptr %t334, ptr %sc_l__x25_callback_2
+ %t335 = load ptr, ptr %sc_l__x25_callback_2
+ %t336 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t337 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t336, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t338 = call ptr @sc_td_0(ptr @sc_lit_1143527378875226)
+ %t339 = load ptr, ptr %sc_l_out_0
+ %t340 = call ptr @scr_arr_join(ptr %t339, ptr @sc_lit_176469025513879)
+ %t341 = call ptr @sc_td_0(ptr %t340)
+ %t343 = getelementptr inbounds [2 x ptr], ptr %s342, i64 0, i64 0
+ store ptr %t338, ptr %t343
+ %t344 = getelementptr inbounds [2 x ptr], ptr %s342, i64 0, i64 1
+ store ptr %t341, ptr %t344
+ call void @scr_dyn_this_push_dyn(ptr %t337)
+ %t345 = call ptr @scr_dyn_call(ptr %t335, ptr %s342, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t346 = load i32, ptr %exc.cell
+ %t347 = icmp ne i32 %t346, 0
+ %t348 = call i1 @llvm.expect.i1(i1 %t347, i1 false)
+ br i1 %t348, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t337)
+ call void @sc_rc_release_dyn(ptr %t338)
+ call void @scr_str_release(ptr %t340)
+ call void @sc_rc_release_dyn(ptr %t341)
+ call void @sc_rc_release_dyn(ptr %t345)
+ br label %exc.cleanup107
+exc.k106:
+ call void @sc_rc_release_dyn(ptr %t337)
+ call void @sc_rc_release_dyn(ptr %t338)
+ call void @scr_str_release(ptr %t340)
+ call void @sc_rc_release_dyn(ptr %t341)
+ call void @sc_rc_release_dyn(ptr %t345)
+ %t349 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t349)
+ %t350 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t350)
+ %t351 = load ptr, ptr %sc_l_sink_0
+ store ptr %t351, ptr %sc_l__x25_callbackReceiver_3
+ %t352 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %try.c83
+exc.k109:
+ store ptr %t354, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t358 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t359 = getelementptr inbounds i8, ptr %t358, i64 8 ; ->kind
+ %t360 = load i32, ptr %t359
+ %t361 = icmp eq i32 %t360, 6
+ br i1 %t361, label %tern.t110, label %tern.f111
+tern.t110:
+ %t364 = call ptr @scr_dyn_undefined()
+ %t363 = call ptr @scr_dyn_retain_v(ptr %t364)
+ store ptr %t363, ptr %s362
+ br label %tern.j112
+tern.f111:
+ %t365 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t366 = call ptr @sc_rc_retain_dyn(ptr %t365)
+ %t367 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t366)
+ %t368 = load i32, ptr %exc.cell
+ %t369 = icmp ne i32 %t368, 0
+ %t370 = call i1 @llvm.expect.i1(i1 %t369, i1 false)
+ br i1 %t370, label %exc.u113, label %exc.k114
+exc.u113:
+ call void @sc_rc_release_dyn(ptr %t367)
+ br label %exc.cleanup115
+exc.k114:
+ store ptr %t367, ptr %s362
+ br label %tern.j112
+tern.j112:
+ %t371 = load ptr, ptr %s362
+ store ptr %t371, ptr %sc_l__x25_callback_3
+ %t372 = load ptr, ptr %sc_l__x25_callback_3
+ %t373 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t374 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t373, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t375 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t376 = call ptr @sc_td_0(ptr @sc_lit_266676967674785)
+ %t378 = getelementptr inbounds [2 x ptr], ptr %s377, i64 0, i64 0
+ store ptr %t375, ptr %t378
+ %t379 = getelementptr inbounds [2 x ptr], ptr %s377, i64 0, i64 1
+ store ptr %t376, ptr %t379
+ call void @scr_dyn_this_push_dyn(ptr %t374)
+ %t380 = call ptr @scr_dyn_call(ptr %t372, ptr %s377, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t381 = load i32, ptr %exc.cell
+ %t382 = icmp ne i32 %t381, 0
+ %t383 = call i1 @llvm.expect.i1(i1 %t382, i1 false)
+ br i1 %t383, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @sc_rc_release_dyn(ptr %t375)
+ call void @sc_rc_release_dyn(ptr %t376)
+ call void @sc_rc_release_dyn(ptr %t380)
+ br label %exc.cleanup118
+exc.k117:
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @sc_rc_release_dyn(ptr %t375)
+ call void @sc_rc_release_dyn(ptr %t376)
+ call void @sc_rc_release_dyn(ptr %t380)
+ %t384 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t384)
+ %t385 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t385)
+ %t386 = load ptr, ptr %sc_l_sink_0
+ store ptr %t386, ptr %sc_l__x25_callbackReceiver_4
+ %t387 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t388 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t387, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t389 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t388)
+ %t390 = load i32, ptr %exc.cell
+ %t391 = icmp ne i32 %t390, 0
+ %t392 = call i1 @llvm.expect.i1(i1 %t391, i1 false)
+ br i1 %t392, label %exc.u119, label %exc.k120
+exc.u119:
+ call void @sc_rc_release_dyn(ptr %t389)
+ br label %try.c83
+exc.k120:
+ store ptr %t389, ptr %sc_l__x25_callbackBag_4
+ store i1 true, ptr %sc_l__x25_callbackPresent_4
+ %t393 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t394 = getelementptr inbounds i8, ptr %t393, i64 8 ; ->kind
+ %t395 = load i32, ptr %t394
+ %t396 = icmp eq i32 %t395, 6
+ br i1 %t396, label %tern.t121, label %tern.f122
+tern.t121:
+ %t399 = call ptr @scr_dyn_undefined()
+ %t398 = call ptr @scr_dyn_retain_v(ptr %t399)
+ store ptr %t398, ptr %s397
+ br label %tern.j123
+tern.f122:
+ %t400 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t401 = call ptr @sc_rc_retain_dyn(ptr %t400)
+ %t402 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t401)
+ %t403 = load i32, ptr %exc.cell
+ %t404 = icmp ne i32 %t403, 0
+ %t405 = call i1 @llvm.expect.i1(i1 %t404, i1 false)
+ br i1 %t405, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t402)
+ br label %exc.cleanup126
+exc.k125:
+ store ptr %t402, ptr %s397
+ br label %tern.j123
+tern.j123:
+ %t406 = load ptr, ptr %s397
+ store ptr %t406, ptr %sc_l__x25_callback_4
+ %t407 = load ptr, ptr %sc_l__x25_callback_4
+ %t408 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t409 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t408, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t410 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802)
+ %t411 = call ptr @sc_td_0(ptr @sc_lit_1386027184562237)
+ %t413 = getelementptr inbounds [2 x ptr], ptr %s412, i64 0, i64 0
+ store ptr %t410, ptr %t413
+ %t414 = getelementptr inbounds [2 x ptr], ptr %s412, i64 0, i64 1
+ store ptr %t411, ptr %t414
+ call void @scr_dyn_this_push_dyn(ptr %t409)
+ %t415 = call ptr @scr_dyn_call(ptr %t407, ptr %s412, i64 2, ptr @sc_cs_4266970018381842)
+ call void @scr_dyn_this_pop()
+ %t416 = load i32, ptr %exc.cell
+ %t417 = icmp ne i32 %t416, 0
+ %t418 = call i1 @llvm.expect.i1(i1 %t417, i1 false)
+ br i1 %t418, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t409)
+ call void @sc_rc_release_dyn(ptr %t410)
+ call void @sc_rc_release_dyn(ptr %t411)
+ call void @sc_rc_release_dyn(ptr %t415)
+ br label %exc.cleanup129
+exc.k128:
+ call void @sc_rc_release_dyn(ptr %t409)
+ call void @sc_rc_release_dyn(ptr %t410)
+ call void @sc_rc_release_dyn(ptr %t411)
+ call void @sc_rc_release_dyn(ptr %t415)
+ %t419 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t419)
+ %t420 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t420)
+ %t421 = load ptr, ptr %sc_l_sink_0
+ store ptr %t421, ptr %sc_l__x25_callbackReceiver_5
+ %t422 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t423 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t422, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t424 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t423)
+ %t425 = load i32, ptr %exc.cell
+ %t426 = icmp ne i32 %t425, 0
+ %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false)
+ br i1 %t427, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t424)
+ br label %try.c83
+exc.k131:
+ store ptr %t424, ptr %sc_l__x25_callbackBag_5
+ store i1 true, ptr %sc_l__x25_callbackPresent_5
+ %t428 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t429 = getelementptr inbounds i8, ptr %t428, i64 8 ; ->kind
+ %t430 = load i32, ptr %t429
+ %t431 = icmp eq i32 %t430, 6
+ br i1 %t431, label %tern.t132, label %tern.f133
+tern.t132:
+ %t434 = call ptr @scr_dyn_undefined()
+ %t433 = call ptr @scr_dyn_retain_v(ptr %t434)
+ store ptr %t433, ptr %s432
+ br label %tern.j134
+tern.f133:
+ %t435 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t436 = call ptr @sc_rc_retain_dyn(ptr %t435)
+ %t437 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t436)
+ %t438 = load i32, ptr %exc.cell
+ %t439 = icmp ne i32 %t438, 0
+ %t440 = call i1 @llvm.expect.i1(i1 %t439, i1 false)
+ br i1 %t440, label %exc.u135, label %exc.k136
+exc.u135:
+ call void @sc_rc_release_dyn(ptr %t437)
+ br label %exc.cleanup137
+exc.k136:
+ store ptr %t437, ptr %s432
+ br label %tern.j134
+tern.j134:
+ %t441 = load ptr, ptr %s432
+ store ptr %t441, ptr %sc_l__x25_callback_5
+ %t442 = load ptr, ptr %sc_l__x25_callback_5
+ %t443 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t444 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t443, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t445 = call ptr @sc_td_0(ptr @sc_lit_4003541287264371)
+ %t447 = getelementptr inbounds [1 x ptr], ptr %s446, i64 0, i64 0
+ store ptr %t445, ptr %t447
+ call void @scr_dyn_this_push_dyn(ptr %t444)
+ %t448 = call ptr @scr_dyn_call(ptr %t442, ptr %s446, i64 1, ptr @sc_cs_891738944038355)
+ call void @scr_dyn_this_pop()
+ %t449 = load i32, ptr %exc.cell
+ %t450 = icmp ne i32 %t449, 0
+ %t451 = call i1 @llvm.expect.i1(i1 %t450, i1 false)
+ br i1 %t451, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t444)
+ call void @sc_rc_release_dyn(ptr %t445)
+ call void @sc_rc_release_dyn(ptr %t448)
+ br label %exc.cleanup140
+exc.k139:
+ call void @sc_rc_release_dyn(ptr %t444)
+ call void @sc_rc_release_dyn(ptr %t445)
+ call void @sc_rc_release_dyn(ptr %t448)
+ %t452 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t452)
+ %t453 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t453)
+ br label %try.e85
+try.c83:
+ %t454 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t454, ptr %sc_l_e_0
+ %t455 = load ptr, ptr %sc_l_sink_0
+ store ptr %t455, ptr %sc_l__x25_callbackReceiver_6
+ %t456 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ %t457 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t456, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t458 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t457)
+ %t459 = load i32, ptr %exc.cell
+ %t460 = icmp ne i32 %t459, 0
+ %t461 = call i1 @llvm.expect.i1(i1 %t460, i1 false)
+ br i1 %t461, label %exc.u141, label %exc.k142
+exc.u141:
+ call void @sc_rc_release_dyn(ptr %t458)
+ br label %exc.cleanup143
+exc.k142:
+ store ptr %t458, ptr %sc_l__x25_callbackBag_6
+ store i1 true, ptr %sc_l__x25_callbackPresent_6
+ %t462 = load ptr, ptr %sc_l__x25_callbackBag_6
+ %t463 = getelementptr inbounds i8, ptr %t462, i64 8 ; ->kind
+ %t464 = load i32, ptr %t463
+ %t465 = icmp eq i32 %t464, 6
+ br i1 %t465, label %tern.t144, label %tern.f145
+tern.t144:
+ %t468 = call ptr @scr_dyn_undefined()
+ %t467 = call ptr @scr_dyn_retain_v(ptr %t468)
+ store ptr %t467, ptr %s466
+ br label %tern.j146
+tern.f145:
+ %t469 = load ptr, ptr %sc_l__x25_callbackBag_6
+ %t470 = call ptr @sc_rc_retain_dyn(ptr %t469)
+ %t471 = call ptr @sc_f__x25_dyn_class_property_21(ptr %t470)
+ %t472 = load i32, ptr %exc.cell
+ %t473 = icmp ne i32 %t472, 0
+ %t474 = call i1 @llvm.expect.i1(i1 %t473, i1 false)
+ br i1 %t474, label %exc.u147, label %exc.k148
+exc.u147:
+ call void @sc_rc_release_dyn(ptr %t471)
+ br label %exc.cleanup149
+exc.k148:
+ store ptr %t471, ptr %s466
+ br label %tern.j146
+tern.j146:
+ %t475 = load ptr, ptr %s466
+ store ptr %t475, ptr %sc_l__x25_callback_6
+ %t476 = load ptr, ptr %sc_l__x25_callback_6
+ %t477 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ %t478 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t477, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t478)
+ %t479 = call ptr @scr_dyn_call(ptr %t476, ptr null, i64 0, ptr @sc_cs_3499760650817953)
+ call void @scr_dyn_this_pop()
+ %t480 = load i32, ptr %exc.cell
+ %t481 = icmp ne i32 %t480, 0
+ %t482 = call i1 @llvm.expect.i1(i1 %t481, i1 false)
+ br i1 %t482, label %exc.u150, label %exc.k151
+exc.u150:
+ call void @sc_rc_release_dyn(ptr %t478)
+ call void @sc_rc_release_dyn(ptr %t479)
+ br label %exc.cleanup152
+exc.k151:
+ call void @sc_rc_release_dyn(ptr %t478)
+ call void @sc_rc_release_dyn(ptr %t479)
+ %t483 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t483)
+ %t484 = load ptr, ptr %sc_l__x25_callback_6
+ call void @sc_rc_release_dyn(ptr %t484)
+ %t485 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t485)
+ br label %try.e85
+try.e85:
+ %t486 = load ptr, ptr %sc_l_resolve_0
+ %t487 = getelementptr inbounds %ScrClosure, ptr %t486, i64 0, i32 1
+ %t488 = load ptr, ptr %t487
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t488(ptr %t486)
+ call void @scr_dyn_this_pop()
+ %t489 = load i32, ptr %exc.cell
+ %t490 = icmp ne i32 %t489, 0
+ %t491 = call i1 @llvm.expect.i1(i1 %t490, i1 false)
+ br i1 %t491, label %exc.u153, label %exc.k154
+exc.u153:
+ br label %exc.cleanup21
+exc.k154:
+ %t492 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t492)
+ %t493 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t493)
+ %t494 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t494)
+ ret void
+exc.cleanup21:
+ %t495 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t495)
+ %t496 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t496)
+ %t497 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t497)
+ ret void
+exc.cleanup57:
+ %t498 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t498)
+ %t499 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t499)
+ %t500 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t500)
+ %t501 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t501)
+ %t502 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t502)
+ ret void
+exc.cleanup60:
+ %t503 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t503)
+ %t504 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t504)
+ %t505 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t505)
+ %t506 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t506)
+ %t507 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t507)
+ %t508 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t508)
+ ret void
+exc.cleanup63:
+ %t509 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t509)
+ %t510 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t510)
+ %t511 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t511)
+ %t512 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t512)
+ %t513 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t513)
+ %t514 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t514)
+ %t515 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t515)
+ ret void
+exc.cleanup73:
+ %t516 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t516)
+ %t517 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t517)
+ %t518 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t518)
+ %t519 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t519)
+ %t520 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t520)
+ %t521 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t521)
+ %t522 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t522)
+ %t523 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t523)
+ ret void
+exc.cleanup76:
+ %t524 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t524)
+ %t525 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t525)
+ %t526 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t526)
+ %t527 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t527)
+ %t528 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t528)
+ %t529 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t529)
+ %t530 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t530)
+ %t531 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t531)
+ %t532 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t532)
+ ret void
+exc.cleanup93:
+ %t533 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t533)
+ br label %try.c83
+exc.cleanup96:
+ %t534 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t534)
+ %t535 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t535)
+ br label %try.c83
+exc.cleanup104:
+ %t536 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t536)
+ br label %try.c83
+exc.cleanup107:
+ %t537 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t537)
+ %t538 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t538)
+ br label %try.c83
+exc.cleanup115:
+ %t539 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t539)
+ br label %try.c83
+exc.cleanup118:
+ %t540 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t540)
+ %t541 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t541)
+ br label %try.c83
+exc.cleanup126:
+ %t542 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t542)
+ br label %try.c83
+exc.cleanup129:
+ %t543 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t543)
+ %t544 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t544)
+ br label %try.c83
+exc.cleanup137:
+ %t545 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t545)
+ br label %try.c83
+exc.cleanup140:
+ %t546 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t546)
+ %t547 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t547)
+ br label %try.c83
+exc.cleanup143:
+ %t548 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t548)
+ %t549 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t549)
+ %t550 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t550)
+ %t551 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t551)
+ ret void
+exc.cleanup149:
+ %t552 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t552)
+ %t553 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t553)
+ %t554 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t554)
+ %t555 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t555)
+ %t556 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t556)
+ ret void
+exc.cleanup152:
+ %t557 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t557)
+ %t558 = load ptr, ptr %sc_l__x25_callback_6
+ call void @sc_rc_release_dyn(ptr %t558)
+ %t559 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t559)
+ %t560 = load ptr, ptr %sc_l_hm_0
+ call void @scr_arr_release(ptr %t560)
+ %t561 = load ptr, ptr %sc_l_seen_0
+ call void @sc_rrelease_r12(ptr %t561)
+ %t562 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t562)
+ ret void
+}
+define internal void @sc_f__x25_m5_allow405Promise(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) #0 {
+entry:
+ call void @sc_bf__x25_m5_allow405Promise(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5)
+ call void @sc_rrelease_r5(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p3)
+ call void @scr_union_release(ptr %p4)
+ call void @scr_closure_release(ptr %p5)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_m7_extOf(ptr %p_sc_l_path_0) #0 { ; %m7.extOf
+entry:
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_slash_0 = alloca double ; slash
+ %sc_l_base_0 = alloca ptr ; base
+ %sc_l_dot_0 = alloca double ; dot
+ %s5 = alloca ptr
+ store ptr null, ptr %sc_l_base_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ %t0 = load ptr, ptr %sc_l_path_0
+ %t1 = call ptr @sc_rc_retain_str(ptr %t0)
+ %t2 = call double @scr_str_last_index_of(ptr %t1, ptr @sc_lit_2434240011052594)
+ store double %t2, ptr %sc_l_slash_0
+ call void @scr_str_release(ptr %t1)
+ %t3 = load double, ptr %sc_l_slash_0
+ %t4 = fcmp oeq double %t3, 0xBFF0000000000000
+ br i1 %t4, label %tern.t0, label %tern.f1
+tern.t0:
+ %t6 = load ptr, ptr %sc_l_path_0
+ %t7 = call ptr @sc_rc_retain_str(ptr %t6)
+ store ptr %t7, ptr %s5
+ br label %tern.j2
+tern.f1:
+ %t8 = load ptr, ptr %sc_l_path_0
+ %t9 = load double, ptr %sc_l_slash_0
+ %t10 = fadd double %t9, 0x3FF0000000000000
+ %t11 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t12 = call ptr @scr_str_slice(ptr %t8, double %t10, double %t11)
+ store ptr %t12, ptr %s5
+ br label %tern.j2
+tern.j2:
+ %t13 = load ptr, ptr %s5
+ store ptr %t13, ptr %sc_l_base_0
+ %t14 = load ptr, ptr %sc_l_base_0
+ %t15 = call ptr @sc_rc_retain_str(ptr %t14)
+ %t16 = call double @scr_str_last_index_of(ptr %t15, ptr @sc_lit_3618831577556636)
+ store double %t16, ptr %sc_l_dot_0
+ call void @scr_str_release(ptr %t15)
+ %t17 = load double, ptr %sc_l_dot_0
+ %t18 = fcmp oeq double %t17, 0xBFF0000000000000
+ br i1 %t18, label %if.t3, label %if.j4
+if.t3:
+ %t19 = load ptr, ptr %sc_l_base_0
+ call void @scr_str_release(ptr %t19)
+ ret ptr @sc_lit_4005573543169985
+if.j4:
+ %t20 = load ptr, ptr %sc_l_base_0
+ %t21 = load double, ptr %sc_l_dot_0
+ %t22 = fadd double %t21, 0x3FF0000000000000
+ %t23 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t24 = call ptr @scr_str_slice(ptr %t20, double %t22, double %t23)
+ %t25 = call ptr @scr_str_to_lower(ptr %t24)
+ call void @scr_str_release(ptr %t24)
+ %t26 = load ptr, ptr %sc_l_base_0
+ call void @scr_str_release(ptr %t26)
+ ret ptr %t25
+}
+define internal ptr @sc_f__x25_m7_extOf(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m7_extOf(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_m10_pad2(double %p_sc_l_n_0) #0 { ; %m10.pad2
+entry:
+ %sc_l_n_0 = alloca double ; n
+ %s2 = alloca ptr
+ store double %p_sc_l_n_0, ptr %sc_l_n_0
+ %t0 = load double, ptr %sc_l_n_0
+ %t1 = fcmp olt double %t0, 0x4024000000000000
+ br i1 %t1, label %tern.t0, label %tern.f1
+tern.t0:
+ %t3 = load double, ptr %sc_l_n_0
+ %t4 = call ptr @scr_str_concat_f64(ptr @sc_lit_1687538661063814, double %t3)
+ store ptr %t4, ptr %s2
+ br label %tern.j2
+tern.f1:
+ %t5 = load double, ptr %sc_l_n_0
+ %t6 = call ptr @scr_f64_to_scrstr(double %t5)
+ store ptr %t6, ptr %s2
+ br label %tern.j2
+tern.j2:
+ %t7 = load ptr, ptr %s2
+ ret ptr %t7
+}
+
+define internal ptr @sc_f__x25_m10_httpDate(double %p_sc_l_ms_0) #0 { ; %m10.httpDate
+entry:
+ %sc_l_ms_0 = alloca double ; ms
+ %sc_l_d_0 = alloca double ; d
+ %sc_l_wd_0 = alloca double ; wd
+ %sc_l_mo_0 = alloca double ; mo
+ %s36 = alloca [14 x ptr]
+ %s37 = alloca [14 x double]
+ store double %p_sc_l_ms_0, ptr %sc_l_ms_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load double, ptr %sc_l_ms_0
+ %t5 = call double @scr_date_new_ms(double %t4)
+ store double %t5, ptr %sc_l_d_0
+ %t6 = load double, ptr %sc_l_d_0
+ %t7 = call double @scr_date_get_day_utc(double %t6)
+ %t8 = fmul double %t7, 0x4008000000000000
+ store double %t8, ptr %sc_l_wd_0
+ %t9 = load double, ptr %sc_l_d_0
+ %t10 = call double @scr_date_get_month_utc(double %t9)
+ %t11 = fmul double %t10, 0x4008000000000000
+ store double %t11, ptr %sc_l_mo_0
+ %t12 = load ptr, ptr @sc_g_m10_DAYS
+ %t13 = load double, ptr %sc_l_wd_0
+ %t14 = load double, ptr %sc_l_wd_0
+ %t15 = fadd double %t14, 0x4008000000000000
+ %t16 = call ptr @scr_str_slice(ptr %t12, double %t13, double %t15)
+ %t17 = load double, ptr %sc_l_d_0
+ %t18 = call double @scr_date_get_date_utc(double %t17)
+ %t19 = call ptr @sc_f__x25_m10_pad2(double %t18)
+ %t20 = load ptr, ptr @sc_g_m10_MONTHS
+ %t21 = load double, ptr %sc_l_mo_0
+ %t22 = load double, ptr %sc_l_mo_0
+ %t23 = fadd double %t22, 0x4008000000000000
+ %t24 = call ptr @scr_str_slice(ptr %t20, double %t21, double %t23)
+ %t25 = load double, ptr %sc_l_d_0
+ %t26 = call double @scr_date_get_full_year_utc(double %t25)
+ %t27 = load double, ptr %sc_l_d_0
+ %t28 = call double @scr_date_get_hours_utc(double %t27)
+ %t29 = call ptr @sc_f__x25_m10_pad2(double %t28)
+ %t30 = load double, ptr %sc_l_d_0
+ %t31 = call double @scr_date_get_minutes_utc(double %t30)
+ %t32 = call ptr @sc_f__x25_m10_pad2(double %t31)
+ %t33 = load double, ptr %sc_l_d_0
+ %t34 = call double @scr_date_get_seconds_utc(double %t33)
+ %t35 = call ptr @sc_f__x25_m10_pad2(double %t34)
+ %t38 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 0
+ store ptr %t16, ptr %t38
+ %t39 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 1
+ store ptr @sc_lit_176469025513879, ptr %t39
+ %t40 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 2
+ store ptr %t19, ptr %t40
+ %t41 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 3
+ store ptr @sc_lit_961653900088760, ptr %t41
+ %t42 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 4
+ store ptr %t24, ptr %t42
+ %t43 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 5
+ store ptr @sc_lit_961653900088760, ptr %t43
+ %t44 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 6
+ store ptr null, ptr %t44
+ %t45 = getelementptr [14 x double], ptr %s37, i32 0, i32 6
+ store double %t26, ptr %t45
+ %t46 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 7
+ store ptr @sc_lit_961653900088760, ptr %t46
+ %t47 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 8
+ store ptr %t29, ptr %t47
+ %t48 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 9
+ store ptr @sc_lit_4075616746236128, ptr %t48
+ %t49 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 10
+ store ptr %t32, ptr %t49
+ %t50 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 11
+ store ptr @sc_lit_4075616746236128, ptr %t50
+ %t51 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 12
+ store ptr %t35, ptr %t51
+ %t52 = getelementptr [14 x ptr], ptr %s36, i32 0, i32 13
+ store ptr @sc_lit_2009709968767209, ptr %t52
+ %t53 = call ptr @scr_str_concat_mixed(ptr null, ptr %s36, ptr %s37, i64 14)
+ call void @scr_str_release(ptr %t16)
+ call void @scr_str_release(ptr %t19)
+ call void @scr_str_release(ptr %t24)
+ call void @scr_str_release(ptr %t29)
+ call void @scr_str_release(ptr %t32)
+ call void @scr_str_release(ptr %t35)
+ ret ptr %t53
+}
+
+define internal i1 @sc_bf__x25_m11_traversal(ptr %p_sc_l_rel_0) #0 { ; %m11.traversal
+entry:
+ %sc_l_rel_0 = alloca ptr ; rel
+ %sc_l_segs_0 = alloca ptr ; segs
+ %sc_l_i_0 = alloca i32 ; i
+ %s8 = alloca i1
+ %s15 = alloca i1
+ %s24 = alloca i64 ; integer induction i
+ %s31 = alloca ptr
+ %s61 = alloca i1
+ store ptr null, ptr %sc_l_segs_0
+ store ptr %p_sc_l_rel_0, ptr %sc_l_rel_0
+ %t0 = load ptr, ptr %sc_l_rel_0
+ %t1 = call ptr @scr_str_char_at(ptr %t0, double 0x0000000000000000)
+ %t2 = call zeroext i1 @sc_streq_2434240011052594(ptr %t1)
+ call void @scr_str_release(ptr %t1)
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ ret i1 true
+if.j1:
+ %t3 = load ptr, ptr %sc_l_rel_0
+ %t4 = call double @scr_str_index_of(ptr %t3, ptr @sc_lit_2975638646761949, double 0x0000000000000000)
+ %t6 = fptosi double %t4 to i32
+ %t7 = sext i32 %t6 to i64
+ %t5 = icmp ne i64 %t7, -1
+ store i1 %t5, ptr %s8
+ br i1 %t5, label %log.j3, label %log.r2
+log.r2:
+ %t9 = load ptr, ptr %sc_l_rel_0
+ %t10 = call double @scr_str_index_of(ptr %t9, ptr @sc_lit_1938716995091255, double 0x0000000000000000)
+ %t12 = fptosi double %t10 to i32
+ %t13 = sext i32 %t12 to i64
+ %t11 = icmp ne i64 %t13, -1
+ store i1 %t11, ptr %s8
+ br label %log.j3
+log.j3:
+ %t14 = load i1, ptr %s8
+ store i1 %t14, ptr %s15
+ br i1 %t14, label %log.j5, label %log.r4
+log.r4:
+ %t16 = load ptr, ptr %sc_l_rel_0
+ %t17 = call double @scr_str_index_of(ptr %t16, ptr @sc_lit_4075616746236128, double 0x0000000000000000)
+ %t19 = fptosi double %t17 to i32
+ %t20 = sext i32 %t19 to i64
+ %t18 = icmp ne i64 %t20, -1
+ store i1 %t18, ptr %s15
+ br label %log.j5
+log.j5:
+ %t21 = load i1, ptr %s15
+ br i1 %t21, label %if.t6, label %if.j7
+if.t6:
+ ret i1 true
+if.j7:
+ %t22 = load ptr, ptr %sc_l_rel_0
+ %t23 = call ptr @scr_str_split_limit(ptr %t22, ptr @sc_lit_2434240011052594, double 0x41EFFFFFFFE00000)
+ store ptr %t23, ptr %sc_l_segs_0
+ %t25 = fptosi double 0x0000000000000000 to i64
+ store i64 %t25, ptr %s24
+ br label %loop.c9
+loop.c9:
+ %t26 = load ptr, ptr %sc_l_segs_0
+ %t27 = getelementptr inbounds %ScrArr, ptr %t26, i64 0, i32 1
+ %t28 = load i64, ptr %t27, !tbaa !2
+ %t29 = load i64, ptr %s24
+ %t30 = icmp ult i64 %t29, %t28
+ br i1 %t30, label %loop.b10, label %loop.e8
+loop.b10:
+ %t32 = load ptr, ptr %sc_l_segs_0
+ %t33 = load i64, ptr %s24
+ %t34 = load i64, ptr %s24
+ %t35 = sitofp i64 %t34 to double
+ %t36 = trunc i64 %t34 to i32
+ %t37 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 2
+ %t38 = load i64, ptr %t37, !tbaa !2
+ %t39 = icmp ult i64 %t33, %t38
+ br i1 %t39, label %local.array.range15, label %local.array.slow12
+local.array.range15:
+ br label %local.array.dense16
+local.array.dense16:
+ %t40 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 6
+ %t41 = load i32, ptr %t40, !tbaa !2
+ %t43 = zext i32 %t41 to i64
+ %t42 = icmp ult i64 %t33, %t43
+ br i1 %t42, label %local.array.value18, label %local.array.len17
+local.array.len17:
+ %t44 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 1
+ %t45 = load i64, ptr %t44, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t46 = icmp ult i64 %t33, %t45
+ br i1 %t46, label %local.array.state19, label %local.array.missing13
+local.array.state19:
+ %t47 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 9
+ %t48 = load ptr, ptr %t47, !tbaa !2
+ %t49 = getelementptr inbounds i8, ptr %t48, i64 %t33
+ %t50 = load i8, ptr %t49, !tbaa !4
+ %t51 = icmp eq i8 %t50, 1
+ br i1 %t51, label %local.array.value18, label %local.array.missing13
+local.array.value18:
+ %t52 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 8
+ %t53 = load ptr, ptr %t52, !tbaa !2
+ %t54 = getelementptr inbounds i64, ptr %t53, i64 %t33
+ %t55 = load ptr, ptr %t54, !tbaa !6
+ %t56 = call ptr @sc_rc_retain_str(ptr %t55)
+ store ptr %t56, ptr %s31
+ br label %local.array.join14
+local.array.slow12:
+ %t57 = call ptr @scr_arr_peek_ref(ptr %t32, double %t35)
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %local.array.slow.value20, label %local.array.missing13
+local.array.slow.value20:
+ %t59 = call ptr @sc_rc_retain_str(ptr %t57)
+ store ptr %t59, ptr %s31
+ br label %local.array.join14
+local.array.missing13:
+ store ptr null, ptr %s31
+ br label %local.array.join14
+local.array.join14:
+ %t60 = load ptr, ptr %s31
+ %t62 = icmp eq ptr %t60, @sc_lit_1666994892967735
+ %t64 = icmp ne ptr %t60, null
+ %t65 = icmp ne ptr @sc_lit_1666994892967735, null
+ %t63 = and i1 %t64, %t65
+ store i1 %t62, ptr %s61
+ %t66 = xor i1 %t62, true
+ %t67 = and i1 %t66, %t63
+ br i1 %t67, label %ues.b21, label %ues.j22
+ues.b21:
+ %t68 = call zeroext i1 @sc_streq_1666994892967735(ptr %t60)
+ store i1 %t68, ptr %s61
+ br label %ues.j22
+ues.j22:
+ %t69 = load i1, ptr %s61
+ %t70 = load ptr, ptr %s31
+ call void @scr_str_release(ptr %t70)
+ br i1 %t69, label %if.t23, label %if.j24
+if.t23:
+ %t71 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t71)
+ ret i1 true
+if.j24:
+ br label %loop.u11
+loop.u11:
+ %t72 = load i64, ptr %s24
+ %t73 = add nuw i64 %t72, 1
+ store i64 %t73, ptr %s24
+ br label %loop.c9
+loop.e8:
+ %t74 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t74)
+ ret i1 false
+}
+define internal i1 @sc_f__x25_m11_traversal(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_m11_traversal(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret i1 %result
+}
+
+define internal i1 @sc_bf__x25_m11_hidden(ptr %p_sc_l_rel_0) #0 { ; %m11.hidden
+entry:
+ %sc_l_rel_0 = alloca ptr ; rel
+ %sc_l_segs_0 = alloca ptr ; segs
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_s_0 = alloca ptr ; s
+ %s2 = alloca i64 ; integer induction i
+ %s38 = alloca ptr
+ %s45 = alloca i1
+ %s49 = alloca ptr
+ %s55 = alloca i1
+ %s57 = alloca i1
+ store ptr null, ptr %sc_l_segs_0
+ store ptr null, ptr %sc_l_s_0
+ store ptr %p_sc_l_rel_0, ptr %sc_l_rel_0
+ %t0 = load ptr, ptr %sc_l_rel_0
+ %t1 = call ptr @scr_str_split_limit(ptr %t0, ptr @sc_lit_2434240011052594, double 0x41EFFFFFFFE00000)
+ store ptr %t1, ptr %sc_l_segs_0
+ %t3 = fptosi double 0x0000000000000000 to i64
+ store i64 %t3, ptr %s2
+ br label %loop.c1
+loop.c1:
+ %t4 = load ptr, ptr %sc_l_segs_0
+ %t5 = getelementptr inbounds %ScrArr, ptr %t4, i64 0, i32 1
+ %t6 = load i64, ptr %t5, !tbaa !2
+ %t7 = load i64, ptr %s2
+ %t8 = icmp ult i64 %t7, %t6
+ br i1 %t8, label %loop.b2, label %loop.e0
+loop.b2:
+ %t9 = load ptr, ptr %sc_l_segs_0
+ %t10 = load i64, ptr %s2
+ %t11 = load i64, ptr %s2
+ %t12 = sitofp i64 %t11 to double
+ %t13 = trunc i64 %t11 to i32
+ %t14 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 2
+ %t15 = load i64, ptr %t14, !tbaa !2
+ %t16 = icmp ult i64 %t10, %t15
+ br i1 %t16, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t17 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 6
+ %t18 = load i32, ptr %t17, !tbaa !2
+ %t20 = zext i32 %t18 to i64
+ %t19 = icmp ult i64 %t10, %t20
+ br i1 %t19, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t21 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1
+ %t22 = load i64, ptr %t21, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t23 = icmp ult i64 %t10, %t22
+ br i1 %t23, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t24 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 9
+ %t25 = load ptr, ptr %t24, !tbaa !2
+ %t26 = getelementptr inbounds i8, ptr %t25, i64 %t10
+ %t27 = load i8, ptr %t26, !tbaa !4
+ %t28 = icmp eq i8 %t27, 1
+ br i1 %t28, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t29 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 8
+ %t30 = load ptr, ptr %t29, !tbaa !2
+ %t31 = getelementptr inbounds i64, ptr %t30, i64 %t10
+ %t32 = load ptr, ptr %t31, !tbaa !6
+ store ptr %t32, ptr %sc_l_s_0
+ br label %local.array.join6
+local.array.slow4:
+ %t33 = call ptr @scr_arr_peek_ref(ptr %t9, double %t12)
+ %t34 = icmp ne ptr %t33, null
+ br i1 %t34, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ store ptr %t33, ptr %sc_l_s_0
+ br label %local.array.join6
+local.array.missing5:
+ store ptr null, ptr %sc_l_s_0
+ br label %local.array.join6
+local.array.join6:
+ %t35 = load ptr, ptr %sc_l_s_0
+ %t37 = icmp eq ptr %t35, null
+ br i1 %t37, label %read.then13, label %read.else14
+read.then13:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032)
+ br label %exc.cleanup16
+exc.dead17:
+ store ptr null, ptr %s38
+ br label %read.join15
+read.else14:
+ %t39 = load ptr, ptr %sc_l_s_0
+ store ptr %t39, ptr %s38
+ br label %read.join15
+read.join15:
+ %t40 = load ptr, ptr %s38
+ %t41 = call double @sc_str_utf16_len(ptr %t40)
+ %t43 = fptosi double %t41 to i32
+ %t44 = sext i32 %t43 to i64
+ %t42 = icmp sgt i64 %t44, 0
+ store i1 %t42, ptr %s45
+ br i1 %t42, label %log.r18, label %log.j19
+log.r18:
+ %t46 = load ptr, ptr %sc_l_s_0
+ %t48 = icmp eq ptr %t46, null
+ br i1 %t48, label %read.then20, label %read.else21
+read.then20:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2770123098238102)
+ br label %exc.cleanup16
+exc.dead23:
+ store ptr null, ptr %s49
+ br label %read.join22
+read.else21:
+ %t50 = load ptr, ptr %sc_l_s_0
+ store ptr %t50, ptr %s49
+ br label %read.join22
+read.join22:
+ %t51 = load ptr, ptr %s49
+ %t52 = call ptr @scr_str_char_at(ptr %t51, double 0x0000000000000000)
+ %t53 = call zeroext i1 @sc_streq_3618831577556636(ptr %t52)
+ store i1 %t53, ptr %s45
+ call void @scr_str_release(ptr %t52)
+ br label %log.j19
+log.j19:
+ %t54 = load i1, ptr %s45
+ store i1 %t54, ptr %s55
+ br i1 %t54, label %log.r24, label %log.j25
+log.r24:
+ %t56 = load ptr, ptr %sc_l_s_0
+ %t58 = icmp eq ptr %t56, @sc_lit_438854160789283
+ %t60 = icmp ne ptr %t56, null
+ %t61 = icmp ne ptr @sc_lit_438854160789283, null
+ %t59 = and i1 %t60, %t61
+ store i1 %t58, ptr %s57
+ %t62 = xor i1 %t58, true
+ %t63 = and i1 %t62, %t59
+ br i1 %t63, label %ues.b26, label %ues.j27
+ues.b26:
+ %t64 = call zeroext i1 @sc_streq_438854160789283(ptr %t56)
+ store i1 %t64, ptr %s57
+ br label %ues.j27
+ues.j27:
+ %t65 = load i1, ptr %s57
+ %t66 = xor i1 %t65, true
+ store i1 %t66, ptr %s55
+ br label %log.j25
+log.j25:
+ %t67 = load i1, ptr %s55
+ br i1 %t67, label %if.t28, label %if.j29
+if.t28:
+ %t68 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t68)
+ ret i1 true
+if.j29:
+ br label %loop.u3
+loop.u3:
+ %t69 = load i64, ptr %s2
+ %t70 = add nuw i64 %t69, 1
+ store i64 %t70, ptr %s2
+ br label %loop.c1
+loop.e0:
+ %t71 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t71)
+ ret i1 false
+exc.cleanup16:
+ %t72 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t72)
+ ret i1 false
+}
+define internal i1 @sc_f__x25_m11_hidden(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_m11_hidden(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret i1 %result
+}
+
+define internal i1 @sc_bf__x25_m11_etagMatches(ptr %p_sc_l_header_0, ptr %p_sc_l_tag_0) #0 { ; %m11.etagMatches
+entry:
+ %sc_l_header_0 = alloca ptr ; header
+ %sc_l_tag_0 = alloca ptr ; tag
+ %sc_l_parts_0 = alloca ptr ; parts
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv
+ %sc_l_p_0 = alloca ptr ; p
+ %s2 = alloca i64 ; integer induction i
+ %s38 = alloca ptr
+ store ptr null, ptr %sc_l_parts_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_0
+ store ptr null, ptr %sc_l_p_0
+ store ptr %p_sc_l_header_0, ptr %sc_l_header_0
+ store ptr %p_sc_l_tag_0, ptr %sc_l_tag_0
+ %t0 = load ptr, ptr %sc_l_header_0
+ %t1 = call ptr @scr_str_split_limit(ptr %t0, ptr @sc_lit_3662817572149066, double 0x41EFFFFFFFE00000)
+ store ptr %t1, ptr %sc_l_parts_0
+ %t3 = fptosi double 0x0000000000000000 to i64
+ store i64 %t3, ptr %s2
+ br label %loop.c1
+loop.c1:
+ %t4 = load ptr, ptr %sc_l_parts_0
+ %t5 = getelementptr inbounds %ScrArr, ptr %t4, i64 0, i32 1
+ %t6 = load i64, ptr %t5, !tbaa !2
+ %t7 = load i64, ptr %s2
+ %t8 = icmp ult i64 %t7, %t6
+ br i1 %t8, label %loop.b2, label %loop.e0
+loop.b2:
+ %t9 = load ptr, ptr %sc_l_parts_0
+ %t10 = load i64, ptr %s2
+ %t11 = load i64, ptr %s2
+ %t12 = sitofp i64 %t11 to double
+ %t13 = trunc i64 %t11 to i32
+ %t14 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 2
+ %t15 = load i64, ptr %t14, !tbaa !2
+ %t16 = icmp ult i64 %t10, %t15
+ br i1 %t16, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t17 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 6
+ %t18 = load i32, ptr %t17, !tbaa !2
+ %t20 = zext i32 %t18 to i64
+ %t19 = icmp ult i64 %t10, %t20
+ br i1 %t19, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t21 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1
+ %t22 = load i64, ptr %t21, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t23 = icmp ult i64 %t10, %t22
+ br i1 %t23, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t24 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 9
+ %t25 = load ptr, ptr %t24, !tbaa !2
+ %t26 = getelementptr inbounds i8, ptr %t25, i64 %t10
+ %t27 = load i8, ptr %t26, !tbaa !4
+ %t28 = icmp eq i8 %t27, 1
+ br i1 %t28, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t29 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 8
+ %t30 = load ptr, ptr %t29, !tbaa !2
+ %t31 = getelementptr inbounds i64, ptr %t30, i64 %t10
+ %t32 = load ptr, ptr %t31, !tbaa !6
+ store ptr %t32, ptr %sc_l__x25_propertyRecv_0
+ br label %local.array.join6
+local.array.slow4:
+ %t33 = call ptr @scr_arr_peek_ref(ptr %t9, double %t12)
+ %t34 = icmp ne ptr %t33, null
+ br i1 %t34, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ store ptr %t33, ptr %sc_l__x25_propertyRecv_0
+ br label %local.array.join6
+local.array.missing5:
+ store ptr null, ptr %sc_l__x25_propertyRecv_0
+ br label %local.array.join6
+local.array.join6:
+ %t35 = load ptr, ptr %sc_l__x25_propertyRecv_0
+ %t37 = icmp eq ptr %t35, null
+ br i1 %t37, label %tern.t13, label %tern.f14
+tern.t13:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1511482959134555)
+ br label %exc.cleanup16
+exc.dead17:
+ store ptr null, ptr %s38
+ br label %tern.j15
+tern.f14:
+ %t39 = load ptr, ptr %sc_l__x25_propertyRecv_0
+ %t40 = call ptr @sc_rc_retain_str(ptr %t39)
+ store ptr %t40, ptr %s38
+ br label %tern.j15
+tern.j15:
+ %t41 = load ptr, ptr %s38
+ %t42 = call ptr @scr_str_trim(ptr %t41)
+ store ptr %t42, ptr %sc_l_p_0
+ call void @scr_str_release(ptr %t41)
+ %t43 = load ptr, ptr %sc_l_p_0
+ %t44 = call zeroext i1 @sc_streq_1834571860458263(ptr %t43)
+ br i1 %t44, label %if.t18, label %if.j19
+if.t18:
+ %t45 = load ptr, ptr %sc_l_p_0
+ call void @scr_str_release(ptr %t45)
+ %t46 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t46)
+ ret i1 true
+if.j19:
+ %t47 = load ptr, ptr %sc_l_p_0
+ %t48 = call i1 @scr_str_starts_with(ptr %t47, ptr @sc_lit_3124163672232319)
+ br i1 %t48, label %if.t20, label %if.j21
+if.t20:
+ %t49 = load ptr, ptr %sc_l_p_0
+ %t50 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t51 = call ptr @scr_str_slice(ptr %t49, double 0x4000000000000000, double %t50)
+ %t52 = load ptr, ptr %sc_l_p_0
+ call void @scr_str_release(ptr %t52)
+ store ptr %t51, ptr %sc_l_p_0
+ br label %if.j21
+if.j21:
+ %t53 = load ptr, ptr %sc_l_p_0
+ %t54 = load ptr, ptr %sc_l_tag_0
+ %t55 = call zeroext i1 @sc_str_eq(ptr %t53, ptr %t54)
+ br i1 %t55, label %if.t22, label %if.j23
+if.t22:
+ %t56 = load ptr, ptr %sc_l_p_0
+ call void @scr_str_release(ptr %t56)
+ %t57 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t57)
+ ret i1 true
+if.j23:
+ %t58 = load ptr, ptr %sc_l_p_0
+ call void @scr_str_release(ptr %t58)
+ br label %loop.u3
+loop.u3:
+ %t59 = load i64, ptr %s2
+ %t60 = add nuw i64 %t59, 1
+ store i64 %t60, ptr %s2
+ br label %loop.c1
+loop.e0:
+ %t61 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t61)
+ ret i1 false
+exc.cleanup16:
+ %t62 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t62)
+ ret i1 false
+}
+define internal i1 @sc_f__x25_m11_etagMatches(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_m11_etagMatches(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal i1 @sc_bf__x25_m11_acceptable(ptr %p_sc_l_ae_0, ptr %p_sc_l_encs_0) #0 { ; %m11.acceptable
+entry:
+ %sc_l_ae_0 = alloca ptr ; ae
+ %sc_l_encs_0 = alloca ptr ; encs
+ %sc_l_parts_0 = alloca ptr ; parts
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_member_0 = alloca ptr ; member
+ %sc_l_qi_0 = alloca i32 ; qi
+ %sc_l_head_0 = alloca ptr ; head
+ %sc_l_coding_0 = alloca ptr ; coding
+ %sc_l_excluded_0 = alloca i1 ; excluded
+ %sc_l_params_0 = alloca ptr ; params
+ %sc_l_pi_0 = alloca i32 ; pi
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_si_0 = alloca i32 ; si
+ %sc_l_k_0 = alloca i32 ; k
+ %sc_l_ch_0 = alloca ptr ; ch
+ %sc_l_j_0 = alloca i32 ; j
+ %s2 = alloca i64 ; integer induction i
+ %s17 = alloca ptr
+ %s31 = alloca ptr
+ %s41 = alloca ptr
+ %s53 = alloca ptr
+ %s116 = alloca i1
+ %s141 = alloca i64 ; integer induction j
+ %s149 = alloca ptr
+ %s179 = alloca i1
+ store ptr null, ptr %sc_l_parts_0
+ store ptr null, ptr %sc_l_member_0
+ store ptr null, ptr %sc_l_head_0
+ store ptr null, ptr %sc_l_coding_0
+ store ptr null, ptr %sc_l_params_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr null, ptr %sc_l_ch_0
+ store ptr %p_sc_l_ae_0, ptr %sc_l_ae_0
+ store ptr %p_sc_l_encs_0, ptr %sc_l_encs_0
+ %t0 = load ptr, ptr %sc_l_ae_0
+ %t1 = call ptr @scr_str_split_limit(ptr %t0, ptr @sc_lit_3662817572149066, double 0x41EFFFFFFFE00000)
+ store ptr %t1, ptr %sc_l_parts_0
+ %t3 = fptosi double 0x0000000000000000 to i64
+ store i64 %t3, ptr %s2
+ br label %loop.c1
+loop.c1:
+ %t4 = load ptr, ptr %sc_l_parts_0
+ %t5 = getelementptr inbounds %ScrArr, ptr %t4, i64 0, i32 1
+ %t6 = load i64, ptr %t5, !tbaa !2
+ %t7 = load i64, ptr %s2
+ %t8 = icmp ult i64 %t7, %t6
+ br i1 %t8, label %loop.b2, label %loop.e0
+loop.b2:
+ %t9 = load ptr, ptr %sc_l_parts_0
+ %t10 = load i64, ptr %s2
+ %t11 = sitofp i64 %t10 to double
+ %t12 = trunc i64 %t10 to i32
+ %t13 = call ptr @sc_bf__x25_arr_idxOr_13(ptr %t9, double %t11)
+ store ptr %t13, ptr %sc_l_member_0
+ %t14 = load ptr, ptr %sc_l_member_0
+ %t16 = icmp eq ptr %t14, null
+ br i1 %t16, label %read.then4, label %read.else5
+read.then4:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1344306789531462)
+ br label %exc.cleanup7
+exc.dead8:
+ store ptr null, ptr %s17
+ br label %read.join6
+read.else5:
+ %t18 = load ptr, ptr %sc_l_member_0
+ store ptr %t18, ptr %s17
+ br label %read.join6
+read.join6:
+ %t19 = load ptr, ptr %s17
+ %t20 = call double @scr_str_index_of(ptr %t19, ptr @sc_lit_1156138064653313, double 0x0000000000000000)
+ %t21 = fptosi double %t20 to i32
+ store i32 %t21, ptr %sc_l_qi_0
+ %t22 = load ptr, ptr %sc_l_member_0
+ %t23 = call ptr @sc_nretain_string(ptr %t22)
+ store ptr %t23, ptr %sc_l_head_0
+ %t24 = load i32, ptr %sc_l_qi_0
+ %t25 = sitofp i32 %t24 to double
+ %t27 = sext i32 %t24 to i64
+ %t26 = icmp ne i64 %t27, -1
+ br i1 %t26, label %if.t9, label %if.j10
+if.t9:
+ %t28 = load ptr, ptr %sc_l_member_0
+ %t30 = icmp eq ptr %t28, null
+ br i1 %t30, label %read.then11, label %read.else12
+read.then11:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1153253657065408)
+ br label %exc.cleanup14
+exc.dead15:
+ store ptr null, ptr %s31
+ br label %read.join13
+read.else12:
+ %t32 = load ptr, ptr %sc_l_member_0
+ store ptr %t32, ptr %s31
+ br label %read.join13
+read.join13:
+ %t33 = load ptr, ptr %s31
+ %t34 = load i32, ptr %sc_l_qi_0
+ %t35 = sitofp i32 %t34 to double
+ %t36 = call ptr @scr_str_slice(ptr %t33, double 0x0000000000000000, double %t35)
+ %t37 = load ptr, ptr %sc_l_head_0
+ call void @scr_str_release(ptr %t37)
+ store ptr %t36, ptr %sc_l_head_0
+ br label %if.j10
+if.j10:
+ %t38 = load ptr, ptr %sc_l_head_0
+ %t40 = icmp eq ptr %t38, null
+ br i1 %t40, label %read.then16, label %read.else17
+read.then16:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1511482959134555)
+ br label %exc.cleanup14
+exc.dead19:
+ store ptr null, ptr %s41
+ br label %read.join18
+read.else17:
+ %t42 = load ptr, ptr %sc_l_head_0
+ store ptr %t42, ptr %s41
+ br label %read.join18
+read.join18:
+ %t43 = load ptr, ptr %s41
+ %t44 = call ptr @scr_str_trim(ptr %t43)
+ %t45 = call ptr @scr_str_to_lower(ptr %t44)
+ store ptr %t45, ptr %sc_l_coding_0
+ call void @scr_str_release(ptr %t44)
+ store i1 false, ptr %sc_l_excluded_0
+ %t46 = load i32, ptr %sc_l_qi_0
+ %t47 = sitofp i32 %t46 to double
+ %t49 = sext i32 %t46 to i64
+ %t48 = icmp ne i64 %t49, -1
+ br i1 %t48, label %if.t20, label %if.j21
+if.t20:
+ %t50 = load ptr, ptr %sc_l_member_0
+ %t52 = icmp eq ptr %t50, null
+ br i1 %t52, label %read.then22, label %read.else23
+read.then22:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1153253657065408)
+ br label %exc.cleanup25
+exc.dead26:
+ store ptr null, ptr %s53
+ br label %read.join24
+read.else23:
+ %t54 = load ptr, ptr %sc_l_member_0
+ store ptr %t54, ptr %s53
+ br label %read.join24
+read.join24:
+ %t55 = load ptr, ptr %s53
+ %t56 = load i32, ptr %sc_l_qi_0
+ %t57 = sitofp i32 %t56 to double
+ %t59 = sext i32 %t56 to i64
+ %t60 = add nsw i64 %t59, 1
+ %t62 = trunc i64 %t60 to i32
+ %t61 = sitofp i64 %t60 to double
+ %t63 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t64 = call ptr @scr_str_slice(ptr %t55, double %t61, double %t63)
+ %t65 = call ptr @scr_str_to_lower(ptr %t64)
+ store ptr %t65, ptr %sc_l_params_0
+ call void @scr_str_release(ptr %t64)
+ %t66 = load ptr, ptr %sc_l_params_0
+ %t67 = call double @scr_str_index_of(ptr %t66, ptr @sc_lit_2459074672043502, double 0x0000000000000000)
+ %t68 = fptosi double %t67 to i32
+ store i32 %t68, ptr %sc_l_pi_0
+ %t69 = load i32, ptr %sc_l_pi_0
+ %t70 = sitofp i32 %t69 to double
+ %t72 = sext i32 %t69 to i64
+ %t71 = icmp ne i64 %t72, -1
+ br i1 %t71, label %if.t27, label %if.j28
+if.t27:
+ %t73 = load ptr, ptr %sc_l_params_0
+ %t74 = load i32, ptr %sc_l_pi_0
+ %t75 = sitofp i32 %t74 to double
+ %t77 = sext i32 %t74 to i64
+ %t78 = add nsw i64 %t77, 2
+ %t80 = trunc i64 %t78 to i32
+ %t79 = sitofp i64 %t78 to double
+ %t81 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t82 = call ptr @scr_str_slice(ptr %t73, double %t79, double %t81)
+ store ptr %t82, ptr %sc_l_v_0
+ %t83 = load ptr, ptr %sc_l_v_0
+ %t84 = call double @scr_str_index_of(ptr %t83, ptr @sc_lit_1156138064653313, double 0x0000000000000000)
+ %t85 = fptosi double %t84 to i32
+ store i32 %t85, ptr %sc_l_si_0
+ %t86 = load i32, ptr %sc_l_si_0
+ %t87 = sitofp i32 %t86 to double
+ %t89 = sext i32 %t86 to i64
+ %t88 = icmp ne i64 %t89, -1
+ br i1 %t88, label %if.t29, label %if.j30
+if.t29:
+ %t90 = load ptr, ptr %sc_l_v_0
+ %t91 = load i32, ptr %sc_l_si_0
+ %t92 = sitofp i32 %t91 to double
+ %t93 = call ptr @scr_str_slice(ptr %t90, double 0x0000000000000000, double %t92)
+ %t94 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t94)
+ store ptr %t93, ptr %sc_l_v_0
+ br label %if.j30
+if.j30:
+ %t95 = load ptr, ptr %sc_l_v_0
+ %t96 = call ptr @scr_str_trim(ptr %t95)
+ %t97 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t97)
+ store ptr %t96, ptr %sc_l_v_0
+ %t98 = load ptr, ptr %sc_l_v_0
+ %t99 = call ptr @scr_str_char_at(ptr %t98, double 0x0000000000000000)
+ %t100 = call zeroext i1 @sc_streq_1687538661063814(ptr %t99)
+ call void @scr_str_release(ptr %t99)
+ br i1 %t100, label %if.t31, label %if.j32
+if.t31:
+ store i1 true, ptr %sc_l_excluded_0
+ store i32 1, ptr %sc_l_k_0
+ br label %loop.c34
+loop.c34:
+ %t101 = load i32, ptr %sc_l_k_0
+ %t102 = sitofp i32 %t101 to double
+ %t103 = load ptr, ptr %sc_l_v_0
+ %t104 = call double @sc_str_utf16_len(ptr %t103)
+ %t106 = fptosi double %t104 to i32
+ %t107 = sext i32 %t101 to i64
+ %t108 = sext i32 %t106 to i64
+ %t105 = icmp slt i64 %t107, %t108
+ br i1 %t105, label %loop.b35, label %loop.e33
+loop.b35:
+ %t109 = load ptr, ptr %sc_l_v_0
+ %t110 = load i32, ptr %sc_l_k_0
+ %t111 = sitofp i32 %t110 to double
+ %t112 = call ptr @scr_str_char_at(ptr %t109, double %t111)
+ store ptr %t112, ptr %sc_l_ch_0
+ %t113 = load ptr, ptr %sc_l_ch_0
+ %t114 = call zeroext i1 @sc_streq_3618831577556636(ptr %t113)
+ %t115 = xor i1 %t114, true
+ store i1 %t115, ptr %s116
+ br i1 %t115, label %log.r37, label %log.j38
+log.r37:
+ %t117 = load ptr, ptr %sc_l_ch_0
+ %t118 = call zeroext i1 @sc_streq_1687538661063814(ptr %t117)
+ %t119 = xor i1 %t118, true
+ store i1 %t119, ptr %s116
+ br label %log.j38
+log.j38:
+ %t120 = load i1, ptr %s116
+ br i1 %t120, label %if.t39, label %if.j40
+if.t39:
+ store i1 false, ptr %sc_l_excluded_0
+ %t121 = load ptr, ptr %sc_l_ch_0
+ call void @scr_str_release(ptr %t121)
+ br label %loop.e33
+if.j40:
+ %t122 = load ptr, ptr %sc_l_ch_0
+ call void @scr_str_release(ptr %t122)
+ br label %loop.u36
+loop.u36:
+ %t123 = load i32, ptr %sc_l_k_0
+ %t124 = sitofp i32 %t123 to double
+ %t127 = trunc i64 1 to i32
+ %t126 = add nsw i32 %t123, %t127
+ %t128 = sitofp i32 %t126 to double
+ store i32 %t126, ptr %sc_l_k_0
+ br label %loop.c34
+loop.e33:
+ br label %if.j32
+if.j32:
+ %t129 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t129)
+ br label %if.j28
+if.j28:
+ %t130 = load ptr, ptr %sc_l_params_0
+ call void @scr_str_release(ptr %t130)
+ br label %if.j21
+if.j21:
+ %t131 = load i1, ptr %sc_l_excluded_0
+ br i1 %t131, label %if.t41, label %if.j42
+if.t41:
+ %t132 = load ptr, ptr %sc_l_member_0
+ call void @scr_str_release(ptr %t132)
+ %t133 = load ptr, ptr %sc_l_head_0
+ call void @scr_str_release(ptr %t133)
+ %t134 = load ptr, ptr %sc_l_coding_0
+ call void @scr_str_release(ptr %t134)
+ br label %loop.u3
+if.j42:
+ %t135 = load ptr, ptr %sc_l_coding_0
+ %t136 = call zeroext i1 @sc_streq_1834571860458263(ptr %t135)
+ br i1 %t136, label %if.t43, label %if.j44
+if.t43:
+ %t137 = load ptr, ptr %sc_l_member_0
+ call void @scr_str_release(ptr %t137)
+ %t138 = load ptr, ptr %sc_l_head_0
+ call void @scr_str_release(ptr %t138)
+ %t139 = load ptr, ptr %sc_l_coding_0
+ call void @scr_str_release(ptr %t139)
+ %t140 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t140)
+ ret i1 true
+if.j44:
+ %t142 = fptosi double 0x0000000000000000 to i64
+ store i64 %t142, ptr %s141
+ br label %loop.c46
+loop.c46:
+ %t143 = load ptr, ptr %sc_l_encs_0
+ %t144 = getelementptr inbounds %ScrArr, ptr %t143, i64 0, i32 1
+ %t145 = load i64, ptr %t144, !tbaa !2
+ %t146 = load i64, ptr %s141
+ %t147 = icmp ult i64 %t146, %t145
+ br i1 %t147, label %loop.b47, label %loop.e45
+loop.b47:
+ %t148 = load ptr, ptr %sc_l_coding_0
+ %t150 = load ptr, ptr %sc_l_encs_0
+ %t151 = load i64, ptr %s141
+ %t152 = load i64, ptr %s141
+ %t153 = sitofp i64 %t152 to double
+ %t154 = trunc i64 %t152 to i32
+ %t155 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 2
+ %t156 = load i64, ptr %t155, !tbaa !2
+ %t157 = icmp ult i64 %t151, %t156
+ br i1 %t157, label %local.array.range52, label %local.array.slow49
+local.array.range52:
+ br label %local.array.dense53
+local.array.dense53:
+ %t158 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 6
+ %t159 = load i32, ptr %t158, !tbaa !2
+ %t161 = zext i32 %t159 to i64
+ %t160 = icmp ult i64 %t151, %t161
+ br i1 %t160, label %local.array.value55, label %local.array.len54
+local.array.len54:
+ %t162 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 1
+ %t163 = load i64, ptr %t162, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t164 = icmp ult i64 %t151, %t163
+ br i1 %t164, label %local.array.state56, label %local.array.missing50
+local.array.state56:
+ %t165 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 9
+ %t166 = load ptr, ptr %t165, !tbaa !2
+ %t167 = getelementptr inbounds i8, ptr %t166, i64 %t151
+ %t168 = load i8, ptr %t167, !tbaa !4
+ %t169 = icmp eq i8 %t168, 1
+ br i1 %t169, label %local.array.value55, label %local.array.missing50
+local.array.value55:
+ %t170 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 8
+ %t171 = load ptr, ptr %t170, !tbaa !2
+ %t172 = getelementptr inbounds i64, ptr %t171, i64 %t151
+ %t173 = load ptr, ptr %t172, !tbaa !6
+ %t174 = call ptr @sc_rc_retain_str(ptr %t173)
+ store ptr %t174, ptr %s149
+ br label %local.array.join51
+local.array.slow49:
+ %t175 = call ptr @scr_arr_peek_ref(ptr %t150, double %t153)
+ %t176 = icmp ne ptr %t175, null
+ br i1 %t176, label %local.array.slow.value57, label %local.array.missing50
+local.array.slow.value57:
+ %t177 = call ptr @sc_rc_retain_str(ptr %t175)
+ store ptr %t177, ptr %s149
+ br label %local.array.join51
+local.array.missing50:
+ store ptr null, ptr %s149
+ br label %local.array.join51
+local.array.join51:
+ %t178 = load ptr, ptr %s149
+ %t180 = icmp eq ptr %t148, %t178
+ %t182 = icmp ne ptr %t148, null
+ %t183 = icmp ne ptr %t178, null
+ %t181 = and i1 %t182, %t183
+ store i1 %t180, ptr %s179
+ %t184 = xor i1 %t180, true
+ %t185 = and i1 %t184, %t181
+ br i1 %t185, label %ues.b58, label %ues.j59
+ues.b58:
+ %t186 = call zeroext i1 @sc_str_eq(ptr %t148, ptr %t178)
+ store i1 %t186, ptr %s179
+ br label %ues.j59
+ues.j59:
+ %t187 = load i1, ptr %s179
+ %t188 = load ptr, ptr %s149
+ call void @scr_str_release(ptr %t188)
+ br i1 %t187, label %if.t60, label %if.j61
+if.t60:
+ %t189 = load ptr, ptr %sc_l_member_0
+ call void @scr_str_release(ptr %t189)
+ %t190 = load ptr, ptr %sc_l_head_0
+ call void @scr_str_release(ptr %t190)
+ %t191 = load ptr, ptr %sc_l_coding_0
+ call void @scr_str_release(ptr %t191)
+ %t192 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t192)
+ ret i1 true
+if.j61:
+ br label %loop.u48
+loop.u48:
+ %t193 = load i64, ptr %s141
+ %t194 = add nuw i64 %t193, 1
+ store i64 %t194, ptr %s141
+ br label %loop.c46
+loop.e45:
+ %t195 = load ptr, ptr %sc_l_member_0
+ call void @scr_str_release(ptr %t195)
+ %t196 = load ptr, ptr %sc_l_head_0
+ call void @scr_str_release(ptr %t196)
+ %t197 = load ptr, ptr %sc_l_coding_0
+ call void @scr_str_release(ptr %t197)
+ br label %loop.u3
+loop.u3:
+ %t198 = load i64, ptr %s2
+ %t199 = add nuw i64 %t198, 1
+ store i64 %t199, ptr %s2
+ br label %loop.c1
+loop.e0:
+ %t200 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t200)
+ ret i1 false
+exc.cleanup7:
+ %t201 = load ptr, ptr %sc_l_member_0
+ call void @scr_str_release(ptr %t201)
+ %t202 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t202)
+ ret i1 false
+exc.cleanup14:
+ %t203 = load ptr, ptr %sc_l_member_0
+ call void @scr_str_release(ptr %t203)
+ %t204 = load ptr, ptr %sc_l_head_0
+ call void @scr_str_release(ptr %t204)
+ %t205 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t205)
+ ret i1 false
+exc.cleanup25:
+ %t206 = load ptr, ptr %sc_l_member_0
+ call void @scr_str_release(ptr %t206)
+ %t207 = load ptr, ptr %sc_l_head_0
+ call void @scr_str_release(ptr %t207)
+ %t208 = load ptr, ptr %sc_l_coding_0
+ call void @scr_str_release(ptr %t208)
+ %t209 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t209)
+ ret i1 false
+}
+define internal i1 @sc_f__x25_m11_acceptable(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_m11_acceptable(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_arr_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal ptr @sc_bf__x25_m11_serveStatic(ptr %p_sc_l_app_0, ptr %p_sc_l_prefix_0, ptr %p_sc_l_src_0, ptr %p_sc_l_opts_0) #0 { ; %m11.serveStatic
+entry:
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l_prefix_0 = alloca ptr ; prefix
+ %sc_l_src_0 = alloca ptr ; src
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l_srv_0 = alloca ptr ; srv
+ %sc_l_base_0 = alloca ptr ; base
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %s11 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s43 = alloca ptr
+ %s67 = alloca [2 x ptr]
+ %s90 = alloca ptr
+ %s105 = alloca ptr
+ %s118 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l_srv_0
+ store ptr null, ptr %sc_l_base_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr %p_sc_l_app_0, ptr %sc_l_app_0
+ store ptr %p_sc_l_prefix_0, ptr %sc_l_prefix_0
+ store ptr %p_sc_l_src_0, ptr %sc_l_src_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_trace__x25_m11_StaticServer) ; let srv (boxed)
+ store ptr %t0, ptr %sc_l_srv_0
+ %t1 = call ptr @sc_new__x25_m11_StaticServer()
+ %t2 = load ptr, ptr %sc_l_src_0
+ %t3 = load ptr, ptr %sc_l_opts_0
+ call void @sc_bf__x25__x25_m11_StaticServer_constructor(ptr %t1, ptr %t2, ptr %t3)
+ call void @scr_box_set_ref(ptr %t0, ptr %t1)
+ %t4 = load ptr, ptr %sc_l_prefix_0
+ %t5 = call ptr @sc_rc_retain_str(ptr %t4)
+ store ptr %t5, ptr %sc_l_base_0
+ br label %loop.c1
+loop.c1:
+ %t6 = load ptr, ptr %sc_l_base_0
+ %t7 = call double @sc_str_utf16_len(ptr %t6)
+ %t9 = fptosi double %t7 to i32
+ %t10 = sext i32 %t9 to i64
+ %t8 = icmp sgt i64 %t10, 0
+ store i1 %t8, ptr %s11
+ br i1 %t8, label %log.r3, label %log.j4
+log.r3:
+ %t12 = load ptr, ptr %sc_l_base_0
+ %t13 = load ptr, ptr %sc_l_base_0
+ %t14 = call double @sc_str_utf16_len(ptr %t13)
+ %t16 = fptosi double %t14 to i32
+ %t18 = trunc i64 1 to i32
+ %t17 = sub nsw i32 %t16, %t18
+ %t19 = sitofp i32 %t17 to double
+ %t20 = call ptr @scr_str_char_at(ptr %t12, double %t19)
+ %t21 = call zeroext i1 @sc_streq_2434240011052594(ptr %t20)
+ store i1 %t21, ptr %s11
+ call void @scr_str_release(ptr %t20)
+ br label %log.j4
+log.j4:
+ %t22 = load i1, ptr %s11
+ br i1 %t22, label %loop.b2, label %loop.e0
+loop.b2:
+ %t23 = load ptr, ptr %sc_l_base_0
+ %t24 = load ptr, ptr %sc_l_base_0
+ %t25 = call double @sc_str_utf16_len(ptr %t24)
+ %t27 = fptosi double %t25 to i32
+ %t29 = trunc i64 1 to i32
+ %t28 = sub nsw i32 %t27, %t29
+ %t30 = sitofp i32 %t28 to double
+ %t31 = call ptr @scr_str_slice(ptr %t23, double 0x0000000000000000, double %t30)
+ %t32 = load ptr, ptr %sc_l_base_0
+ call void @scr_str_release(ptr %t32)
+ store ptr %t31, ptr %sc_l_base_0
+ br label %loop.c1
+loop.e0:
+ %t33 = load ptr, ptr %sc_l_app_0
+ store ptr %t33, ptr %sc_l__x25_callbackReceiver_0
+ %t34 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t35 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t34)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t35)
+ br label %exc.cleanup7
+exc.k6:
+ store ptr %t35, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t39 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t40 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t41 = load i32, ptr %t40
+ %t42 = icmp eq i32 %t41, 6
+ br i1 %t42, label %tern.t8, label %tern.f9
+tern.t8:
+ %t45 = call ptr @scr_dyn_undefined()
+ %t44 = call ptr @scr_dyn_retain_v(ptr %t45)
+ store ptr %t44, ptr %s43
+ br label %tern.j10
+tern.f9:
+ %t46 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t47 = call ptr @sc_rc_retain_dyn(ptr %t46)
+ %t48 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t47)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t48)
+ br label %exc.cleanup13
+exc.k12:
+ store ptr %t48, ptr %s43
+ br label %tern.j10
+tern.j10:
+ %t52 = load ptr, ptr %s43
+ store ptr %t52, ptr %sc_l__x25_callback_0
+ %t53 = load ptr, ptr %sc_l__x25_callback_0
+ %t54 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t55 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t54, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t56 = load ptr, ptr %sc_l_base_0
+ %t57 = call ptr @sc_rc_retain_str(ptr %t56)
+ %t58 = call ptr @scr_str_concat(ptr %t57, ptr @sc_lit_2083437452017534)
+ %t59 = call ptr @sc_td_0(ptr %t58)
+ %t60 = call ptr @scr_closure_new(ptr @sc_f__x25_fn27, i64 1)
+ %t61 = getelementptr inbounds %ScrClosure, ptr %t60, i64 0, i32 7
+ store ptr @sc_bf__x25_fn27, ptr %t61
+ %t62 = load ptr, ptr %sc_l_srv_0
+ %t63 = call ptr @sc_retain_box(ptr %t62)
+ %t64 = getelementptr inbounds %ScrClosure, ptr %t60, i64 1 ; caps
+ %t65 = getelementptr inbounds ptr, ptr %t64, i64 0 ; caps[0]
+ store ptr %t63, ptr %t65
+ %t66 = call ptr @sc_dfb_10(ptr %t60, ptr null)
+ %t68 = getelementptr inbounds [2 x ptr], ptr %s67, i64 0, i64 0
+ store ptr %t59, ptr %t68
+ %t69 = getelementptr inbounds [2 x ptr], ptr %s67, i64 0, i64 1
+ store ptr %t66, ptr %t69
+ call void @scr_dyn_this_push_dyn(ptr %t55)
+ %t70 = call ptr @scr_dyn_call(ptr %t53, ptr %s67, i64 2, ptr @sc_cs_3227648507238367)
+ call void @scr_dyn_this_pop()
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @scr_str_release(ptr %t57)
+ call void @scr_str_release(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @scr_closure_release(ptr %t60)
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t70)
+ br label %exc.cleanup16
+exc.k15:
+ %t74 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t70)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @scr_str_release(ptr %t57)
+ call void @scr_str_release(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @scr_closure_release(ptr %t60)
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_release__x25_m5_App(ptr %t74)
+ br label %exc.cleanup16
+exc.k18:
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @scr_str_release(ptr %t57)
+ call void @scr_str_release(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @scr_closure_release(ptr %t60)
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_release__x25_m5_App(ptr %t74)
+ %t78 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t78)
+ %t79 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t79)
+ %t80 = load ptr, ptr %sc_l_app_0
+ store ptr %t80, ptr %sc_l__x25_callbackReceiver_1
+ %t81 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t82 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t81)
+ %t83 = load i32, ptr %exc.cell
+ %t84 = icmp ne i32 %t83, 0
+ %t85 = call i1 @llvm.expect.i1(i1 %t84, i1 false)
+ br i1 %t85, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @sc_rc_release_dyn(ptr %t82)
+ br label %exc.cleanup7
+exc.k20:
+ store ptr %t82, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t86 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t87 = getelementptr inbounds i8, ptr %t86, i64 8 ; ->kind
+ %t88 = load i32, ptr %t87
+ %t89 = icmp eq i32 %t88, 6
+ br i1 %t89, label %tern.t21, label %tern.f22
+tern.t21:
+ %t92 = call ptr @scr_dyn_undefined()
+ %t91 = call ptr @scr_dyn_retain_v(ptr %t92)
+ store ptr %t91, ptr %s90
+ br label %tern.j23
+tern.f22:
+ %t93 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t94 = call ptr @sc_rc_retain_dyn(ptr %t93)
+ %t95 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t94)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t95)
+ br label %exc.cleanup26
+exc.k25:
+ store ptr %t95, ptr %s90
+ br label %tern.j23
+tern.j23:
+ %t99 = load ptr, ptr %s90
+ store ptr %t99, ptr %sc_l__x25_callback_1
+ %t100 = load ptr, ptr %sc_l__x25_callback_1
+ %t101 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t102 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t101, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t103 = load ptr, ptr %sc_l_base_0
+ %t104 = call zeroext i1 @sc_streq_4005573543169985(ptr %t103)
+ br i1 %t104, label %tern.t27, label %tern.f28
+tern.t27:
+ %t106 = call ptr @sc_td_0(ptr @sc_lit_2434240011052594)
+ store ptr %t106, ptr %s105
+ br label %tern.j29
+tern.f28:
+ %t107 = load ptr, ptr %sc_l_base_0
+ %t108 = call ptr @sc_rc_retain_str(ptr %t107)
+ %t109 = call ptr @sc_td_0(ptr %t108)
+ store ptr %t109, ptr %s105
+ call void @scr_str_release(ptr %t108)
+ br label %tern.j29
+tern.j29:
+ %t110 = load ptr, ptr %s105
+ %t111 = call ptr @scr_closure_new(ptr @sc_f__x25_fn29, i64 1)
+ %t112 = getelementptr inbounds %ScrClosure, ptr %t111, i64 0, i32 7
+ store ptr @sc_bf__x25_fn29, ptr %t112
+ %t113 = load ptr, ptr %sc_l_srv_0
+ %t114 = call ptr @sc_retain_box(ptr %t113)
+ %t115 = getelementptr inbounds %ScrClosure, ptr %t111, i64 1 ; caps
+ %t116 = getelementptr inbounds ptr, ptr %t115, i64 0 ; caps[0]
+ store ptr %t114, ptr %t116
+ %t117 = call ptr @sc_dfb_10(ptr %t111, ptr null)
+ %t119 = getelementptr inbounds [2 x ptr], ptr %s118, i64 0, i64 0
+ store ptr %t110, ptr %t119
+ %t120 = getelementptr inbounds [2 x ptr], ptr %s118, i64 0, i64 1
+ store ptr %t117, ptr %t120
+ call void @scr_dyn_this_push_dyn(ptr %t102)
+ %t121 = call ptr @scr_dyn_call(ptr %t100, ptr %s118, i64 2, ptr @sc_cs_3227648507238367)
+ call void @scr_dyn_this_pop()
+ %t122 = load i32, ptr %exc.cell
+ %t123 = icmp ne i32 %t122, 0
+ %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false)
+ br i1 %t124, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @scr_closure_release(ptr %t111)
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t121)
+ br label %exc.cleanup32
+exc.k31:
+ %t125 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t121)
+ %t126 = load i32, ptr %exc.cell
+ %t127 = icmp ne i32 %t126, 0
+ %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false)
+ br i1 %t128, label %exc.u33, label %exc.k34
+exc.u33:
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @scr_closure_release(ptr %t111)
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t121)
+ call void @sc_release__x25_m5_App(ptr %t125)
+ br label %exc.cleanup32
+exc.k34:
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @scr_closure_release(ptr %t111)
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t121)
+ call void @sc_release__x25_m5_App(ptr %t125)
+ %t129 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t129)
+ %t130 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t130)
+ %t131 = load ptr, ptr %sc_l_app_0
+ %t132 = load ptr, ptr %sc_l_srv_0
+ call void @scr_box_release(ptr %t132)
+ %t133 = load ptr, ptr %sc_l_base_0
+ call void @scr_str_release(ptr %t133)
+ ret ptr %t131
+exc.cleanup7:
+ %t134 = load ptr, ptr %sc_l_srv_0
+ call void @scr_box_release(ptr %t134)
+ %t135 = load ptr, ptr %sc_l_base_0
+ call void @scr_str_release(ptr %t135)
+ ret ptr null
+exc.cleanup13:
+ %t136 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t136)
+ %t137 = load ptr, ptr %sc_l_srv_0
+ call void @scr_box_release(ptr %t137)
+ %t138 = load ptr, ptr %sc_l_base_0
+ call void @scr_str_release(ptr %t138)
+ ret ptr null
+exc.cleanup16:
+ %t139 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t139)
+ %t140 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t140)
+ %t141 = load ptr, ptr %sc_l_srv_0
+ call void @scr_box_release(ptr %t141)
+ %t142 = load ptr, ptr %sc_l_base_0
+ call void @scr_str_release(ptr %t142)
+ ret ptr null
+exc.cleanup26:
+ %t143 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t143)
+ %t144 = load ptr, ptr %sc_l_srv_0
+ call void @scr_box_release(ptr %t144)
+ %t145 = load ptr, ptr %sc_l_base_0
+ call void @scr_str_release(ptr %t145)
+ ret ptr null
+exc.cleanup32:
+ %t146 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t146)
+ %t147 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t147)
+ %t148 = load ptr, ptr %sc_l_srv_0
+ call void @scr_box_release(ptr %t148)
+ %t149 = load ptr, ptr %sc_l_base_0
+ call void @scr_str_release(ptr %t149)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m11_serveStatic(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_m11_serveStatic(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m6_AssetSource(ptr %p2)
+ call void @sc_rrelease_r15(ptr %p3)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_m13_buildApp(ptr %p_sc_l_src_0) #0 { ; %m13.buildApp
+entry:
+ %sc_l_src_0 = alloca ptr ; src
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca ptr
+ %s28 = alloca [2 x ptr]
+ %s44 = alloca %ScrUnion
+ %s45 = getelementptr inbounds %ScrUnion, ptr %s44, i32 0, i32 1
+ %s46 = getelementptr inbounds %ScrUnion, ptr %s44, i32 0, i32 5
+ store ptr null, ptr %sc_l_app_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_src_0, ptr %sc_l_src_0
+ %t0 = call ptr @sc_f__x25_m5_createRouter()
+ store ptr %t0, ptr %sc_l_app_0
+ %t1 = load ptr, ptr %sc_l_app_0
+ store ptr %t1, ptr %sc_l__x25_callbackReceiver_0
+ %t2 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t3 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t2)
+ %t4 = load i32, ptr %exc.cell
+ %t5 = icmp ne i32 %t4, 0
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t3)
+ br label %exc.cleanup2
+exc.k1:
+ store ptr %t3, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t7 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t8 = getelementptr inbounds i8, ptr %t7, i64 8 ; ->kind
+ %t9 = load i32, ptr %t8
+ %t10 = icmp eq i32 %t9, 6
+ br i1 %t10, label %tern.t3, label %tern.f4
+tern.t3:
+ %t13 = call ptr @scr_dyn_undefined()
+ %t12 = call ptr @scr_dyn_retain_v(ptr %t13)
+ store ptr %t12, ptr %s11
+ br label %tern.j5
+tern.f4:
+ %t14 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t15 = call ptr @sc_rc_retain_dyn(ptr %t14)
+ %t16 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t15)
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t16)
+ br label %exc.cleanup8
+exc.k7:
+ store ptr %t16, ptr %s11
+ br label %tern.j5
+tern.j5:
+ %t20 = load ptr, ptr %s11
+ store ptr %t20, ptr %sc_l__x25_callback_0
+ %t21 = load ptr, ptr %sc_l__x25_callback_0
+ %t22 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t24 = call ptr @sc_td_0(ptr @sc_lit_2431203152239253)
+ %t25 = call ptr @scr_closure_new(ptr @sc_f__x25_fn1, i64 0)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t25, i64 0, i32 7
+ store ptr @sc_bf__x25_fn1, ptr %t26
+ %t27 = call ptr @sc_dfb_11(ptr %t25, ptr null)
+ %t29 = getelementptr inbounds [2 x ptr], ptr %s28, i64 0, i64 0
+ store ptr %t24, ptr %t29
+ %t30 = getelementptr inbounds [2 x ptr], ptr %s28, i64 0, i64 1
+ store ptr %t27, ptr %t30
+ call void @scr_dyn_this_push_dyn(ptr %t23)
+ %t31 = call ptr @scr_dyn_call(ptr %t21, ptr %s28, i64 2, ptr @sc_cs_3227648507238367)
+ call void @scr_dyn_this_pop()
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @scr_closure_release(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup11
+exc.k10:
+ %t35 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t31)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @scr_closure_release(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_release__x25_m5_App(ptr %t35)
+ br label %exc.cleanup11
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @scr_closure_release(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_release__x25_m5_App(ptr %t35)
+ %t39 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l_app_0
+ %t42 = load ptr, ptr %sc_l_src_0
+ %t43 = call ptr @sc_rnew_r15()
+ %t47 = zext i1 true to i64
+ store i64 %t47, ptr %s46
+ store i32 0, ptr %s45
+ %t48 = getelementptr inbounds %sc_rs_r15, ptr %t43, i64 0, i32 4
+ %t49 = icmp eq ptr %s44, null
+ %t50 = select i1 %t49, ptr @sc_union_none, ptr %s44
+ %t51 = getelementptr inbounds %ScrUnion, ptr %t50, i64 0, i32 1
+ %t53 = load i32, ptr %t51
+ %t52 = getelementptr inbounds %ScrUnion, ptr %t50, i64 0, i32 5
+ %t54 = load i64, ptr %t52
+ %t55 = getelementptr inbounds { i32, i64 }, ptr %t48, i32 0, i32 0
+ store i32 %t53, ptr %t55
+ %t56 = getelementptr inbounds { i32, i64 }, ptr %t48, i32 0, i32 1
+ store i64 %t54, ptr %t56
+ %t57 = getelementptr inbounds %sc_rs_r15, ptr %t43, i64 0, i32 1
+ store ptr @sc_nullable_absent, ptr %t57
+ %t58 = getelementptr inbounds %sc_rs_r15, ptr %t43, i64 0, i32 2
+ store ptr @sc_nullable_absent, ptr %t58
+ %t59 = getelementptr inbounds %sc_rs_r15, ptr %t43, i64 0, i32 3
+ store ptr @sc_nullable_absent, ptr %t59
+ %t60 = call ptr @sc_bf__x25_m11_serveStatic(ptr %t41, ptr @sc_lit_2434240011052594, ptr %t42, ptr %t43)
+ %t61 = load i32, ptr %exc.cell
+ %t62 = icmp ne i32 %t61, 0
+ %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false)
+ br i1 %t63, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rrelease_r15(ptr %t43)
+ br label %exc.cleanup2
+exc.k15:
+ %t64 = call ptr @sc_retain__x25_m5_App(ptr %t60)
+ call void @sc_rrelease_r15(ptr %t43)
+ call void @sc_release__x25_m5_App(ptr %t64)
+ %t65 = load ptr, ptr %sc_l_app_0
+ ret ptr %t65
+exc.cleanup2:
+ %t66 = load ptr, ptr %sc_l_app_0
+ call void @sc_release__x25_m5_App(ptr %t66)
+ ret ptr null
+exc.cleanup8:
+ %t67 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t68 = load ptr, ptr %sc_l_app_0
+ call void @sc_release__x25_m5_App(ptr %t68)
+ ret ptr null
+exc.cleanup11:
+ %t69 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t69)
+ %t70 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t70)
+ %t71 = load ptr, ptr %sc_l_app_0
+ call void @sc_release__x25_m5_App(ptr %t71)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_m13_buildApp(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_m13_buildApp(ptr %p0)
+ call void @sc_release__x25_m6_AssetSource(ptr %p0)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25__x25_m0_GenDispatch_dispatch(ptr %p_sc_l_this_0, ptr %p_sc_l__req_0, ptr %p_sc_l__res_0) #0 { ; %%m0.GenDispatch.dispatch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__req_0 = alloca ptr ; _req
+ %sc_l__res_0 = alloca ptr ; _res
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__req_0, ptr %sc_l__req_0
+ store ptr %p_sc_l__res_0, ptr %sc_l__res_0
+ ret i1 false
+}
+define internal i1 @sc_f__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m0_GenDispatch(ptr %p0)
+ call void @scr_http_req_release(ptr %p1)
+ call void @scr_http_res_release(ptr %p2)
+ ret i1 %result
+}
+
+define internal ptr @sc_bf__x25__x25_m0_GenFetch_dispatchFetch(ptr %p_sc_l_this_0, ptr %p_sc_l__method_0, ptr %p_sc_l__url_0, ptr %p_sc_l__headers_0, ptr %p_sc_l__webReq_0, ptr %p_sc_l__body_0, ptr %p_sc_l__bodyU8_0, ptr %p_sc_l__sink_0) #0 { ; %%m0.GenFetch.dispatchFetch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__method_0 = alloca ptr ; _method
+ %sc_l__url_0 = alloca ptr ; _url
+ %sc_l__headers_0 = alloca ptr ; _headers
+ %sc_l__webReq_0 = alloca ptr ; _webReq
+ %sc_l__body_0 = alloca ptr ; _body
+ %sc_l__bodyU8_0 = alloca ptr ; _bodyU8
+ %sc_l__sink_0 = alloca ptr ; _sink
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__method_0, ptr %sc_l__method_0
+ store ptr %p_sc_l__url_0, ptr %sc_l__url_0
+ store ptr %p_sc_l__headers_0, ptr %sc_l__headers_0
+ store ptr %p_sc_l__webReq_0, ptr %sc_l__webReq_0
+ store ptr %p_sc_l__body_0, ptr %sc_l__body_0
+ store ptr %p_sc_l__bodyU8_0, ptr %sc_l__bodyU8_0
+ store ptr %p_sc_l__sink_0, ptr %sc_l__sink_0
+ %t0 = call ptr @scr_promise_new()
+ %t1 = call ptr @scr_make_resolve(ptr %t0, i32 1)
+ %t2 = call ptr @scr_closure_new(ptr @sc_f__x25_fn33, i64 0)
+ %t3 = getelementptr inbounds %ScrClosure, ptr %t2, i64 0, i32 4
+ store i32 4, ptr %t3
+ %t4 = getelementptr inbounds %ScrClosure, ptr %t2, i64 0, i32 7
+ store ptr @sc_bf__x25_fn33, ptr %t4
+ call void @scr_promise_run_executor(ptr %t0, ptr %t2, ptr %t1)
+ call void @scr_closure_release(ptr %t2)
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6, ptr %p7) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6, ptr %p7)
+ call void @sc_release__x25_m0_GenFetch(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @sc_rrelease_r0(ptr %p3)
+ call void @sc_rc_release_dyn(ptr %p4)
+ call void @scr_str_release(ptr %p5)
+ call void @scr_union_release(ptr %p6)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p7)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p_sc_l_this_0, ptr %p_sc_l__req_0, ptr %p_sc_l__socket_0, ptr %p_sc_l__head_0) #0 { ; %%m1.UpgradeDispatch.upgrade
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__req_0 = alloca ptr ; _req
+ %sc_l__socket_0 = alloca ptr ; _socket
+ %sc_l__head_0 = alloca ptr ; _head
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__req_0, ptr %sc_l__req_0
+ store ptr %p_sc_l__socket_0, ptr %sc_l__socket_0
+ store ptr %p_sc_l__head_0, ptr %sc_l__head_0
+ ret i1 false
+}
+define internal i1 @sc_f__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %p0)
+ call void @scr_http_req_release(ptr %p1)
+ call void @scr_net_sock_release(ptr %p2)
+ call void @scr_bytes_release(ptr %p3)
+ ret i1 %result
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_constructor(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_constructor(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_setStatus(ptr %p_sc_l_this_0, double %p_sc_l__n_0) #0 { ; %%m2.ResponseSink.setStatus
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__n_0 = alloca double ; _n
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store double %p_sc_l__n_0, ptr %sc_l__n_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_setStatus(ptr %p0, double %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_setStatus(ptr %p0, double %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_setHeader(ptr %p_sc_l_this_0, ptr %p_sc_l__k_0, ptr %p_sc_l__v_0) #0 { ; %%m2.ResponseSink.setHeader
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__k_0 = alloca ptr ; _k
+ %sc_l__v_0 = alloca ptr ; _v
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__k_0, ptr %sc_l__k_0
+ store ptr %p_sc_l__v_0, ptr %sc_l__v_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_appendHeader(ptr %p_sc_l_this_0, ptr %p_sc_l__k_0, ptr %p_sc_l__v_0) #0 { ; %%m2.ResponseSink.appendHeader
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__k_0 = alloca ptr ; _k
+ %sc_l__v_0 = alloca ptr ; _v
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__k_0, ptr %sc_l__k_0
+ store ptr %p_sc_l__v_0, ptr %sc_l__v_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_writeBody(ptr %p_sc_l_this_0, ptr %p_sc_l__s_0) #0 { ; %%m2.ResponseSink.writeBody
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__s_0 = alloca ptr ; _s
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__s_0, ptr %sc_l__s_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_writeBody(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_writeBody(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_bodyBytes(ptr %p_sc_l_this_0, ptr %p_sc_l__b_0, ptr %p_sc_l__ct_0) #0 { ; %%m2.ResponseSink.bodyBytes
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__b_0 = alloca ptr ; _b
+ %sc_l__ct_0 = alloca ptr ; _ct
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__b_0, ptr %sc_l__b_0
+ store ptr %p_sc_l__ct_0, ptr %sc_l__ct_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_redirect(ptr %p_sc_l_this_0, ptr %p_sc_l__url_0, double %p_sc_l__code_0) #0 { ; %%m2.ResponseSink.redirect
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__url_0 = alloca ptr ; _url
+ %sc_l__code_0 = alloca double ; _code
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__url_0, ptr %sc_l__url_0
+ store double %p_sc_l__code_0, ptr %sc_l__code_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_redirect(ptr %p0, ptr %p1, double %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_redirect(ptr %p0, ptr %p1, double %p2)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_write(ptr %p_sc_l_this_0, ptr %p_sc_l__chunk_0) #0 { ; %%m2.ResponseSink.write
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__chunk_0 = alloca ptr ; _chunk
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__chunk_0, ptr %sc_l__chunk_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_write(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_write(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_writeHead(ptr %p_sc_l_this_0, double %p_sc_l__status_0, ptr %p_sc_l__flatPairs_0) #0 { ; %%m2.ResponseSink.writeHead
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__status_0 = alloca double ; _status
+ %sc_l__flatPairs_0 = alloca ptr ; _flatPairs
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store double %p_sc_l__status_0, ptr %sc_l__status_0
+ store ptr %p_sc_l__flatPairs_0, ptr %sc_l__flatPairs_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_writeHead(ptr %p0, double %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_writeHead(ptr %p0, double %p1, ptr %p2)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @scr_arr_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_endStream(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.endStream
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_endStream(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_endStream(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_adopt(ptr %p_sc_l_this_0, ptr %p_sc_l__view_0) #0 { ; %%m2.ResponseSink.adopt
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__view_0 = alloca ptr ; _view
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__view_0, ptr %sc_l__view_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_adopt(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_adopt(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @sc_rrelease_r1(ptr %p1)
+ ret void
+}
+
+define internal i1 @sc_bf__x25__x25_m2_ResponseSink_isSent(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.isSent
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret i1 false
+}
+define internal i1 @sc_f__x25__x25_m2_ResponseSink_isSent(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m2_ResponseSink_isSent(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret i1 %result
+}
+
+define internal i1 @sc_bf__x25__x25_m2_ResponseSink_isHeadersSent(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.isHeadersSent
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret i1 false
+}
+define internal i1 @sc_f__x25__x25_m2_ResponseSink_isHeadersSent(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m2_ResponseSink_isHeadersSent(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret i1 %result
+}
+
+define internal void @sc_bf__x25__x25_m2_ResponseSink_destroy(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.destroy
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_ResponseSink_destroy(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_ResponseSink_destroy(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret void
+}
+
+define internal double @sc_bf__x25__x25_m2_ResponseSink_statusOf(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.statusOf
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret double 0x4069000000000000
+}
+define internal double @sc_f__x25__x25_m2_ResponseSink_statusOf(ptr %p0) #0 {
+entry:
+ %result = call double @sc_bf__x25__x25_m2_ResponseSink_statusOf(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25__x25_m2_ResponseSink_headerOf(ptr %p_sc_l_this_0, ptr %p_sc_l__k_0) #0 { ; %%m2.ResponseSink.headerOf
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__k_0 = alloca ptr ; _k
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__k_0, ptr %sc_l__k_0
+ ret ptr @sc_nullable_null
+}
+define internal ptr @sc_f__x25__x25_m2_ResponseSink_headerOf(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m2_ResponseSink_headerOf(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m2_ResponseSink_headersMap(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.headersMap
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @sc_rnew_r0()
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25__x25_m2_ResponseSink_headersMap(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m2_ResponseSink_headersMap(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m2_ResponseSink_nodeRes(ptr %p_sc_l_this_0) #0 { ; %%m2.ResponseSink.nodeRes
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret ptr @sc_unit_0
+}
+define internal ptr @sc_f__x25__x25_m2_ResponseSink_nodeRes(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m2_ResponseSink_nodeRes(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_res_0) #0 { ; %%m2.NodeResponseSink.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_res_0, ptr %sc_l_res_0
+ store i1 false, ptr %sc_l__x25_superInitialized_0
+ %t0 = load i1, ptr %sc_l__x25_superInitialized_0
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207)
+ ret void
+exc.dead2:
+ br label %if.j1
+if.j1:
+ %t1 = load ptr, ptr %sc_l_this_0
+ call void @sc_bf__x25__x25_m2_ResponseSink_constructor(ptr %t1)
+ store i1 true, ptr %sc_l__x25_superInitialized_0
+ %t2 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t3 = xor i1 %t2, true
+ br i1 %t3, label %if.t3, label %if.j4
+if.t3:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead5:
+ br label %if.j4
+if.j4:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load ptr, ptr %sc_l_res_0
+ %t6 = call ptr @scr_http_res_retain_v(ptr %t5)
+ %t7 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3
+ %t8 = load ptr, ptr %t7
+ store ptr %t6, ptr %t7, !tbaa !46
+ call void @scr_http_res_release(ptr %t8)
+ %t9 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t10 = xor i1 %t9, true
+ br i1 %t10, label %if.t6, label %if.j7
+if.t6:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead8:
+ br label %if.j7
+if.j7:
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t11, i64 0, i32 4
+ store double 0x4069000000000000, ptr %t12, !tbaa !48
+ %t13 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t14 = xor i1 %t13, true
+ br i1 %t14, label %if.t9, label %if.j10
+if.t9:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead11:
+ br label %if.j10
+if.j10:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t16 = call ptr @sc_rnew_r0()
+ %t17 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t15, i64 0, i32 5
+ %t18 = load ptr, ptr %t17
+ store ptr %t16, ptr %t17, !tbaa !50
+ call void @sc_rrelease_r0(ptr %t18)
+ %t19 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t20 = xor i1 %t19, true
+ br i1 %t20, label %if.t12, label %if.j13
+if.t12:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead14:
+ br label %if.j13
+if.j13:
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_constructor(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_constructor(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ call void @scr_http_res_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_setStatus(ptr %p_sc_l_this_0, double %p_sc_l_n_0) #0 { ; %%m2.NodeResponseSink.setStatus
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_n_0 = alloca double ; n
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store double %p_sc_l_n_0, ptr %sc_l_n_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load double, ptr %sc_l_n_0
+ %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 4
+ store double %t5, ptr %t6, !tbaa !48
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t7, i64 0, i32 3
+ %t9 = load ptr, ptr %t8, !tbaa !46
+ %t10 = call ptr @scr_http_res_retain_v(ptr %t9)
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t11, i64 0, i32 4
+ %t13 = load double, ptr %t12, !tbaa !48
+ call void @scr_http_res_status_set(ptr %t10, double %t13)
+ call void @scr_http_res_release(ptr %t10)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_setStatus(ptr %p0, double %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_setStatus(ptr %p0, double %p1)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_setHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m2.NodeResponseSink.setHeader
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_kk_0 = alloca ptr ; kk
+ store ptr null, ptr %sc_l_kk_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_k_0
+ store ptr %t4, ptr %sc_l_kk_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t5, i64 0, i32 3
+ %t7 = load ptr, ptr %t6, !tbaa !46
+ %t8 = call ptr @scr_http_res_retain_v(ptr %t7)
+ %t9 = load ptr, ptr %sc_l_kk_0
+ %t10 = call ptr @sc_rc_retain_str(ptr %t9)
+ %t11 = load ptr, ptr %sc_l_v_0
+ %t12 = call ptr @sc_rc_retain_str(ptr %t11)
+ call void @scr_http_res_set_header(ptr %t8, ptr %t10, ptr %t12)
+ call void @scr_http_res_release(ptr %t8)
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t12)
+ %t13 = load ptr, ptr %sc_l_this_0
+ %t14 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t13, i64 0, i32 5
+ %t15 = load ptr, ptr %t14, !tbaa !50
+ %t16 = call ptr @sc_rretain_r0(ptr %t15)
+ %t17 = load ptr, ptr %sc_l_kk_0
+ %t18 = call ptr @scr_str_to_lower(ptr %t17)
+ %t19 = load ptr, ptr %sc_l_v_0
+ %t20 = call ptr @sc_rc_retain_str(ptr %t19)
+ %t21 = getelementptr inbounds %sc_rs_r0, ptr %t16, i64 0, i32 1
+ %t22 = load ptr, ptr %t21
+ call void @scr_map_set_str_ref(ptr %t22, ptr %t18, ptr %t20)
+ br label %rks.j2
+rks.j2:
+ call void @sc_rrelease_r0(ptr %t16)
+ call void @scr_str_release(ptr %t18)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m2.NodeResponseSink.appendHeader
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_kk_0 = alloca ptr ; kk
+ store ptr null, ptr %sc_l_kk_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_k_0
+ store ptr %t4, ptr %sc_l_kk_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t5, i64 0, i32 3
+ %t7 = load ptr, ptr %t6, !tbaa !46
+ %t8 = call ptr @scr_http_res_retain_v(ptr %t7)
+ %t9 = load ptr, ptr %sc_l_kk_0
+ %t10 = call ptr @sc_rc_retain_str(ptr %t9)
+ %t11 = load ptr, ptr %sc_l_v_0
+ %t12 = call ptr @sc_rc_retain_str(ptr %t11)
+ call void @scr_http_res_set_header(ptr %t8, ptr %t10, ptr %t12)
+ call void @scr_http_res_release(ptr %t8)
+ call void @scr_str_release(ptr %t10)
+ call void @scr_str_release(ptr %t12)
+ %t13 = load ptr, ptr %sc_l_this_0
+ %t14 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t13, i64 0, i32 5
+ %t15 = load ptr, ptr %t14, !tbaa !50
+ %t16 = call ptr @sc_rretain_r0(ptr %t15)
+ %t17 = load ptr, ptr %sc_l_kk_0
+ %t18 = call ptr @scr_str_to_lower(ptr %t17)
+ %t19 = load ptr, ptr %sc_l_v_0
+ %t20 = call ptr @sc_rc_retain_str(ptr %t19)
+ %t21 = getelementptr inbounds %sc_rs_r0, ptr %t16, i64 0, i32 1
+ %t22 = load ptr, ptr %t21
+ call void @scr_map_set_str_ref(ptr %t22, ptr %t18, ptr %t20)
+ br label %rks.j2
+rks.j2:
+ call void @sc_rrelease_r0(ptr %t16)
+ call void @scr_str_release(ptr %t18)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_writeBody(ptr %p_sc_l_this_0, ptr %p_sc_l_w_0) #0 { ; %%m2.NodeResponseSink.writeBody
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_w_0 = alloca ptr ; w
+ %sc_l_s_0 = alloca ptr ; s
+ %s16 = alloca ptr
+ %s24 = alloca i1
+ %s45 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_s_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_w_0, ptr %sc_l_w_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_w_0
+ store ptr %t4, ptr %sc_l_s_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t5, i64 0, i32 3
+ %t7 = load ptr, ptr %t6, !tbaa !46
+ %t8 = call ptr @scr_http_res_retain_v(ptr %t7)
+ %t9 = load ptr, ptr %sc_l_this_0
+ %t10 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t9, i64 0, i32 4
+ %t11 = load double, ptr %t10, !tbaa !48
+ call void @scr_http_res_status_set(ptr %t8, double %t11)
+ call void @scr_http_res_release(ptr %t8)
+ %t12 = load ptr, ptr %sc_l_this_0
+ %t13 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t12, i64 0, i32 5
+ %t14 = load ptr, ptr %t13, !tbaa !50
+ %t15 = call ptr @sc_rretain_r0(ptr %t14)
+ %t17 = getelementptr inbounds %sc_rs_r0, ptr %t15, i64 0, i32 1
+ %t18 = load ptr, ptr %t17
+ %t19 = call ptr @scr_map_get_str_ref(ptr %t18, ptr @sc_lit_2329537264393449)
+ %t20 = icmp eq ptr %t19, null
+ br i1 %t20, label %rkg.n4, label %rkg.h3
+rkg.h3:
+ store ptr %t19, ptr %s16
+ br label %rkg.j2
+rkg.n4:
+ store ptr null, ptr %s16
+ br label %rkg.j2
+rkg.j2:
+ %t21 = load ptr, ptr %s16
+ %t23 = icmp eq ptr %t21, null
+ store i1 %t23, ptr %s24
+ br i1 %t23, label %log.r5, label %log.j6
+log.r5:
+ %t25 = load ptr, ptr %sc_l_s_0
+ %t26 = call double @sc_str_utf16_len(ptr %t25)
+ %t28 = fptosi double %t26 to i32
+ %t29 = sext i32 %t28 to i64
+ %t27 = icmp sgt i64 %t29, 0
+ store i1 %t27, ptr %s24
+ br label %log.j6
+log.j6:
+ %t30 = load i1, ptr %s24
+ call void @sc_rrelease_r0(ptr %t15)
+ call void @scr_str_release(ptr %t21)
+ br i1 %t30, label %if.t7, label %if.j8
+if.t7:
+ %t31 = load ptr, ptr %sc_l_this_0
+ %t32 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t31, i64 0, i32 3
+ %t33 = load ptr, ptr %t32, !tbaa !46
+ %t34 = call ptr @scr_http_res_retain_v(ptr %t33)
+ call void @scr_http_res_set_header(ptr %t34, ptr @sc_lit_2329537264393449, ptr @sc_lit_266676967674785)
+ call void @scr_http_res_release(ptr %t34)
+ %t35 = load ptr, ptr %sc_l_this_0
+ %t36 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t35, i64 0, i32 5
+ %t37 = load ptr, ptr %t36, !tbaa !50
+ %t38 = call ptr @sc_rretain_r0(ptr %t37)
+ %t39 = getelementptr inbounds %sc_rs_r0, ptr %t38, i64 0, i32 1
+ %t40 = load ptr, ptr %t39
+ call void @scr_map_set_str_ref(ptr %t40, ptr @sc_lit_2329537264393449, ptr @sc_lit_266676967674785)
+ call void @sc_rrelease_r0(ptr %t38)
+ br label %if.j8
+if.j8:
+ %t41 = load ptr, ptr %sc_l_this_0
+ %t42 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t41, i64 0, i32 5
+ %t43 = load ptr, ptr %t42, !tbaa !50
+ %t44 = call ptr @sc_rretain_r0(ptr %t43)
+ %t46 = getelementptr inbounds %sc_rs_r0, ptr %t44, i64 0, i32 1
+ %t47 = load ptr, ptr %t46
+ %t48 = call ptr @scr_map_get_str_ref(ptr %t47, ptr @sc_lit_1821151629374802)
+ %t49 = icmp eq ptr %t48, null
+ br i1 %t49, label %rkg.n11, label %rkg.h10
+rkg.h10:
+ store ptr %t48, ptr %s45
+ br label %rkg.j9
+rkg.n11:
+ store ptr null, ptr %s45
+ br label %rkg.j9
+rkg.j9:
+ %t50 = load ptr, ptr %s45
+ %t52 = icmp eq ptr %t50, null
+ call void @sc_rrelease_r0(ptr %t44)
+ call void @scr_str_release(ptr %t50)
+ br i1 %t52, label %if.t12, label %if.j13
+if.t12:
+ %t53 = load ptr, ptr %sc_l_this_0
+ %t54 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t53, i64 0, i32 3
+ %t55 = load ptr, ptr %t54, !tbaa !46
+ %t56 = call ptr @scr_http_res_retain_v(ptr %t55)
+ %t57 = load ptr, ptr %sc_l_s_0
+ %t58 = call double @sc_bf__x25_m2_utf8len(ptr %t57)
+ %t59 = call ptr @scr_f64_to_scrstr(double %t58)
+ call void @scr_http_res_set_header(ptr %t56, ptr @sc_lit_1821151629374802, ptr %t59)
+ call void @scr_http_res_release(ptr %t56)
+ call void @scr_str_release(ptr %t59)
+ %t60 = load ptr, ptr %sc_l_this_0
+ %t61 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t60, i64 0, i32 5
+ %t62 = load ptr, ptr %t61, !tbaa !50
+ %t63 = call ptr @sc_rretain_r0(ptr %t62)
+ %t64 = load ptr, ptr %sc_l_s_0
+ %t65 = call double @sc_bf__x25_m2_utf8len(ptr %t64)
+ %t66 = call ptr @scr_f64_to_scrstr(double %t65)
+ %t67 = getelementptr inbounds %sc_rs_r0, ptr %t63, i64 0, i32 1
+ %t68 = load ptr, ptr %t67
+ call void @scr_map_set_str_ref(ptr %t68, ptr @sc_lit_1821151629374802, ptr %t66)
+ call void @sc_rrelease_r0(ptr %t63)
+ br label %if.j13
+if.j13:
+ %t69 = load ptr, ptr %sc_l_this_0
+ %t70 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t69, i64 0, i32 3
+ %t71 = load ptr, ptr %t70, !tbaa !46
+ %t72 = call ptr @scr_http_res_retain_v(ptr %t71)
+ %t73 = load ptr, ptr %sc_l_s_0
+ %t74 = call ptr @sc_rc_retain_str(ptr %t73)
+ call void @scr_http_res_end_str(ptr %t72, ptr %t74)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @scr_http_res_release(ptr %t72)
+ call void @scr_str_release(ptr %t74)
+ ret void
+exc.k15:
+ call void @scr_http_res_release(ptr %t72)
+ call void @scr_str_release(ptr %t74)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_writeBody(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_writeBody(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p_sc_l_this_0, ptr %p_sc_l_b_0, ptr %p_sc_l_ct_0) #0 { ; %%m2.NodeResponseSink.bodyBytes
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_ct_0 = alloca ptr ; ct
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5, !tbaa !46
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t8, i64 0, i32 4
+ %t10 = load double, ptr %t9, !tbaa !48
+ call void @scr_http_res_status_set(ptr %t7, double %t10)
+ call void @scr_http_res_release(ptr %t7)
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t11, i64 0, i32 3
+ %t13 = load ptr, ptr %t12, !tbaa !46
+ %t14 = call ptr @scr_http_res_retain_v(ptr %t13)
+ %t15 = load ptr, ptr %sc_l_ct_0
+ %t16 = call ptr @sc_rc_retain_str(ptr %t15)
+ call void @scr_http_res_set_header(ptr %t14, ptr @sc_lit_2329537264393449, ptr %t16)
+ call void @scr_http_res_release(ptr %t14)
+ call void @scr_str_release(ptr %t16)
+ %t17 = load ptr, ptr %sc_l_this_0
+ %t18 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t17, i64 0, i32 3
+ %t19 = load ptr, ptr %t18, !tbaa !46
+ %t20 = call ptr @scr_http_res_retain_v(ptr %t19)
+ %t21 = load ptr, ptr %sc_l_b_0
+ %t22 = getelementptr inbounds %ScrBytes, ptr %t21, i64 0, i32 1
+ %t23 = load i64, ptr %t22
+ %t24 = sitofp i64 %t23 to double
+ %t25 = call ptr @scr_f64_to_scrstr(double %t24)
+ call void @scr_http_res_set_header(ptr %t20, ptr @sc_lit_1821151629374802, ptr %t25)
+ call void @scr_http_res_release(ptr %t20)
+ call void @scr_str_release(ptr %t25)
+ %t26 = load ptr, ptr %sc_l_this_0
+ %t27 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t26, i64 0, i32 3
+ %t28 = load ptr, ptr %t27, !tbaa !46
+ %t29 = call ptr @scr_http_res_retain_v(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_b_0
+ %t31 = call ptr @scr_bytes_retain_v(ptr %t30)
+ call void @scr_http_res_end_bytes(ptr %t29, ptr %t31)
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t29)
+ call void @scr_bytes_release(ptr %t31)
+ ret void
+exc.k3:
+ call void @scr_http_res_release(ptr %t29)
+ call void @scr_bytes_release(ptr %t31)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_redirect(ptr %p_sc_l_this_0, ptr %p_sc_l_url_0, double %p_sc_l_code_0) #0 { ; %%m2.NodeResponseSink.redirect
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_code_0 = alloca double ; code
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_url_0, ptr %sc_l_url_0
+ store double %p_sc_l_code_0, ptr %sc_l_code_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load double, ptr %sc_l_code_0
+ %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 4
+ store double %t5, ptr %t6, !tbaa !48
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t7, i64 0, i32 3
+ %t9 = load ptr, ptr %t8, !tbaa !46
+ %t10 = call ptr @scr_http_res_retain_v(ptr %t9)
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t11, i64 0, i32 4
+ %t13 = load double, ptr %t12, !tbaa !48
+ call void @scr_http_res_status_set(ptr %t10, double %t13)
+ call void @scr_http_res_release(ptr %t10)
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t14, i64 0, i32 3
+ %t16 = load ptr, ptr %t15, !tbaa !46
+ %t17 = call ptr @scr_http_res_retain_v(ptr %t16)
+ %t18 = load ptr, ptr %sc_l_url_0
+ %t19 = call ptr @sc_rc_retain_str(ptr %t18)
+ call void @scr_http_res_set_header(ptr %t17, ptr @sc_lit_4062345987786846, ptr %t19)
+ call void @scr_http_res_release(ptr %t17)
+ call void @scr_str_release(ptr %t19)
+ %t20 = load ptr, ptr %sc_l_this_0
+ %t21 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t20, i64 0, i32 3
+ %t22 = load ptr, ptr %t21, !tbaa !46
+ %t23 = call ptr @scr_http_res_retain_v(ptr %t22)
+ call void @scr_http_res_end(ptr %t23)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t23)
+ ret void
+exc.k3:
+ call void @scr_http_res_release(ptr %t23)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_redirect(ptr %p0, ptr %p1, double %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_redirect(ptr %p0, ptr %p1, double %p2)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_write(ptr %p_sc_l_this_0, ptr %p_sc_l_chunk_0) #0 { ; %%m2.NodeResponseSink.write
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_chunk_0 = alloca ptr ; chunk
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5, !tbaa !46
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ %t8 = load ptr, ptr %sc_l_chunk_0
+ %t9 = call ptr @sc_rc_retain_str(ptr %t8)
+ call void @scr_http_res_write_str(ptr %t7, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t7)
+ call void @scr_str_release(ptr %t9)
+ ret void
+exc.k3:
+ call void @scr_http_res_release(ptr %t7)
+ call void @scr_str_release(ptr %t9)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_write(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_write(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_writeHead(ptr %p_sc_l_this_0, double %p_sc_l_status_0, ptr %p_sc_l_flatPairs_0) #0 { ; %%m2.NodeResponseSink.writeHead
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_status_0 = alloca double ; status
+ %sc_l_flatPairs_0 = alloca ptr ; flatPairs
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_obj_0 = alloca ptr ; obj
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_kk_0 = alloca ptr ; kk
+ %s20 = alloca ptr
+ %s52 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s66 = alloca ptr
+ %s99 = alloca ptr
+ %s117 = alloca ptr
+ %s150 = alloca ptr
+ store ptr null, ptr %sc_l_res_0
+ store ptr null, ptr %sc_l_obj_0
+ store ptr null, ptr %sc_l_kk_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store double %p_sc_l_status_0, ptr %sc_l_status_0
+ store ptr %p_sc_l_flatPairs_0, ptr %sc_l_flatPairs_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5, !tbaa !46
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ store ptr %t7, ptr %sc_l_res_0
+ %t8 = call ptr @sc_rnew_r0()
+ store ptr %t8, ptr %sc_l_obj_0
+ %t9 = load ptr, ptr %sc_l_this_0
+ %t10 = load double, ptr %sc_l_status_0
+ %t11 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t9, i64 0, i32 4
+ store double %t10, ptr %t11, !tbaa !48
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t12 = load double, ptr %sc_l_i_0
+ %t13 = fadd double %t12, 0x3FF0000000000000
+ %t14 = load ptr, ptr %sc_l_flatPairs_0
+ %t15 = getelementptr inbounds %ScrArr, ptr %t14, i32 0, i32 1
+ %t16 = load i64, ptr %t15, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t17 = sitofp i64 %t16 to double
+ %t19 = fptosi double %t17 to i64
+ %t18 = fcmp olt double %t13, %t17
+ br i1 %t18, label %loop.b4, label %loop.e2
+loop.b4:
+ %t21 = load ptr, ptr %sc_l_flatPairs_0
+ %t22 = load double, ptr %sc_l_i_0
+ %t23 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 2
+ %t24 = load i64, ptr %t23, !tbaa !2
+ %t25 = fptosi double %t22 to i64
+ %t26 = freeze i64 %t25
+ %t27 = sitofp i64 %t26 to double
+ %t28 = fcmp oeq double %t27, %t22
+ %t29 = icmp ult i64 %t26, %t24
+ %t30 = and i1 %t28, %t29
+ br i1 %t30, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t31 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 6
+ %t32 = load i32, ptr %t31, !tbaa !2
+ %t34 = zext i32 %t32 to i64
+ %t33 = icmp ult i64 %t26, %t34
+ br i1 %t33, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t35 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1
+ %t36 = load i64, ptr %t35, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t37 = icmp ult i64 %t26, %t36
+ br i1 %t37, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t38 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 9
+ %t39 = load ptr, ptr %t38, !tbaa !2
+ %t40 = getelementptr inbounds i8, ptr %t39, i64 %t26
+ %t41 = load i8, ptr %t40, !tbaa !4
+ %t42 = icmp eq i8 %t41, 1
+ br i1 %t42, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t43 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 8
+ %t44 = load ptr, ptr %t43, !tbaa !2
+ %t45 = getelementptr inbounds i64, ptr %t44, i64 %t26
+ %t46 = load ptr, ptr %t45, !tbaa !6
+ %t47 = call ptr @sc_rc_retain_str(ptr %t46)
+ store ptr %t47, ptr %s20
+ br label %local.array.join8
+local.array.slow6:
+ %t48 = call ptr @scr_arr_peek_ref(ptr %t21, double %t22)
+ %t49 = icmp ne ptr %t48, null
+ br i1 %t49, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ %t50 = call ptr @sc_rc_retain_str(ptr %t48)
+ store ptr %t50, ptr %s20
+ br label %local.array.join8
+local.array.missing7:
+ store ptr null, ptr %s20
+ br label %local.array.join8
+local.array.join8:
+ %t51 = load ptr, ptr %s20
+ %t54 = icmp eq ptr %t51, null
+ %t53 = select i1 %t54, i32 1, i32 0
+ switch i32 %t53, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ]
+u.a17:
+ %t55 = call ptr @sc_rc_retain_str(ptr %t51)
+ store ptr %t55, ptr %s52
+ br label %us.j15
+u.a18:
+ store ptr @sc_lit_4134463689533233, ptr %s52
+ br label %us.j15
+u.bad16:
+ call void @sc_bad_tag()
+ unreachable
+us.j15:
+ %t56 = load ptr, ptr %s52
+ %t57 = load i32, ptr %exc.cell
+ %t58 = icmp ne i32 %t57, 0
+ %t59 = call i1 @llvm.expect.i1(i1 %t58, i1 false)
+ br i1 %t59, label %exc.u19, label %exc.k20
+exc.u19:
+ %t60 = load ptr, ptr %s20
+ call void @scr_str_release(ptr %t60)
+ call void @scr_str_release(ptr %t56)
+ br label %exc.cleanup21
+exc.k20:
+ store ptr %t56, ptr %sc_l_kk_0
+ %t61 = load ptr, ptr %s20
+ call void @scr_str_release(ptr %t61)
+ %t62 = load ptr, ptr %sc_l_obj_0
+ %t63 = call ptr @sc_rretain_r0(ptr %t62)
+ %t64 = load ptr, ptr %sc_l_kk_0
+ %t65 = call ptr @sc_rc_retain_str(ptr %t64)
+ %t67 = load ptr, ptr %sc_l_flatPairs_0
+ %t68 = load double, ptr %sc_l_i_0
+ %t69 = fadd double %t68, 0x3FF0000000000000
+ %t70 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 2
+ %t71 = load i64, ptr %t70, !tbaa !2
+ %t72 = fptosi double %t69 to i64
+ %t73 = freeze i64 %t72
+ %t74 = sitofp i64 %t73 to double
+ %t75 = fcmp oeq double %t74, %t69
+ %t76 = icmp ult i64 %t73, %t71
+ %t77 = and i1 %t75, %t76
+ br i1 %t77, label %local.array.range25, label %local.array.slow22
+local.array.range25:
+ br label %local.array.dense26
+local.array.dense26:
+ %t78 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 6
+ %t79 = load i32, ptr %t78, !tbaa !2
+ %t81 = zext i32 %t79 to i64
+ %t80 = icmp ult i64 %t73, %t81
+ br i1 %t80, label %local.array.value28, label %local.array.len27
+local.array.len27:
+ %t82 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 1
+ %t83 = load i64, ptr %t82, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t84 = icmp ult i64 %t73, %t83
+ br i1 %t84, label %local.array.state29, label %local.array.missing23
+local.array.state29:
+ %t85 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 9
+ %t86 = load ptr, ptr %t85, !tbaa !2
+ %t87 = getelementptr inbounds i8, ptr %t86, i64 %t73
+ %t88 = load i8, ptr %t87, !tbaa !4
+ %t89 = icmp eq i8 %t88, 1
+ br i1 %t89, label %local.array.value28, label %local.array.missing23
+local.array.value28:
+ %t90 = getelementptr inbounds %ScrArr, ptr %t67, i32 0, i32 8
+ %t91 = load ptr, ptr %t90, !tbaa !2
+ %t92 = getelementptr inbounds i64, ptr %t91, i64 %t73
+ %t93 = load ptr, ptr %t92, !tbaa !6
+ %t94 = call ptr @sc_rc_retain_str(ptr %t93)
+ store ptr %t94, ptr %s66
+ br label %local.array.join24
+local.array.slow22:
+ %t95 = call ptr @scr_arr_peek_ref(ptr %t67, double %t69)
+ %t96 = icmp ne ptr %t95, null
+ br i1 %t96, label %local.array.slow.value30, label %local.array.missing23
+local.array.slow.value30:
+ %t97 = call ptr @sc_rc_retain_str(ptr %t95)
+ store ptr %t97, ptr %s66
+ br label %local.array.join24
+local.array.missing23:
+ store ptr null, ptr %s66
+ br label %local.array.join24
+local.array.join24:
+ %t98 = load ptr, ptr %s66
+ %t101 = icmp eq ptr %t98, null
+ %t100 = select i1 %t101, i32 1, i32 0
+ switch i32 %t100, label %u.bad32 [ i32 0, label %u.a33 i32 1, label %u.a34 ]
+u.a33:
+ %t102 = call ptr @sc_rc_retain_str(ptr %t98)
+ store ptr %t102, ptr %s99
+ br label %us.j31
+u.a34:
+ store ptr @sc_lit_4134463689533233, ptr %s99
+ br label %us.j31
+u.bad32:
+ call void @sc_bad_tag()
+ unreachable
+us.j31:
+ %t103 = load ptr, ptr %s99
+ %t104 = load i32, ptr %exc.cell
+ %t105 = icmp ne i32 %t104, 0
+ %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false)
+ br i1 %t106, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rrelease_r0(ptr %t63)
+ call void @scr_str_release(ptr %t65)
+ %t107 = load ptr, ptr %s66
+ call void @scr_str_release(ptr %t107)
+ call void @scr_str_release(ptr %t103)
+ br label %exc.cleanup37
+exc.k36:
+ %t108 = getelementptr inbounds %sc_rs_r0, ptr %t63, i64 0, i32 1
+ %t109 = load ptr, ptr %t108
+ call void @scr_map_set_str_ref(ptr %t109, ptr %t65, ptr %t103)
+ br label %rks.j38
+rks.j38:
+ call void @sc_rrelease_r0(ptr %t63)
+ call void @scr_str_release(ptr %t65)
+ %t110 = load ptr, ptr %s66
+ call void @scr_str_release(ptr %t110)
+ %t111 = load ptr, ptr %sc_l_this_0
+ %t112 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t111, i64 0, i32 5
+ %t113 = load ptr, ptr %t112, !tbaa !50
+ %t114 = call ptr @sc_rretain_r0(ptr %t113)
+ %t115 = load ptr, ptr %sc_l_kk_0
+ %t116 = call ptr @scr_str_to_lower(ptr %t115)
+ %t118 = load ptr, ptr %sc_l_flatPairs_0
+ %t119 = load double, ptr %sc_l_i_0
+ %t120 = fadd double %t119, 0x3FF0000000000000
+ %t121 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 2
+ %t122 = load i64, ptr %t121, !tbaa !2
+ %t123 = fptosi double %t120 to i64
+ %t124 = freeze i64 %t123
+ %t125 = sitofp i64 %t124 to double
+ %t126 = fcmp oeq double %t125, %t120
+ %t127 = icmp ult i64 %t124, %t122
+ %t128 = and i1 %t126, %t127
+ br i1 %t128, label %local.array.range42, label %local.array.slow39
+local.array.range42:
+ br label %local.array.dense43
+local.array.dense43:
+ %t129 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 6
+ %t130 = load i32, ptr %t129, !tbaa !2
+ %t132 = zext i32 %t130 to i64
+ %t131 = icmp ult i64 %t124, %t132
+ br i1 %t131, label %local.array.value45, label %local.array.len44
+local.array.len44:
+ %t133 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 1
+ %t134 = load i64, ptr %t133, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t135 = icmp ult i64 %t124, %t134
+ br i1 %t135, label %local.array.state46, label %local.array.missing40
+local.array.state46:
+ %t136 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 9
+ %t137 = load ptr, ptr %t136, !tbaa !2
+ %t138 = getelementptr inbounds i8, ptr %t137, i64 %t124
+ %t139 = load i8, ptr %t138, !tbaa !4
+ %t140 = icmp eq i8 %t139, 1
+ br i1 %t140, label %local.array.value45, label %local.array.missing40
+local.array.value45:
+ %t141 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 8
+ %t142 = load ptr, ptr %t141, !tbaa !2
+ %t143 = getelementptr inbounds i64, ptr %t142, i64 %t124
+ %t144 = load ptr, ptr %t143, !tbaa !6
+ %t145 = call ptr @sc_rc_retain_str(ptr %t144)
+ store ptr %t145, ptr %s117
+ br label %local.array.join41
+local.array.slow39:
+ %t146 = call ptr @scr_arr_peek_ref(ptr %t118, double %t120)
+ %t147 = icmp ne ptr %t146, null
+ br i1 %t147, label %local.array.slow.value47, label %local.array.missing40
+local.array.slow.value47:
+ %t148 = call ptr @sc_rc_retain_str(ptr %t146)
+ store ptr %t148, ptr %s117
+ br label %local.array.join41
+local.array.missing40:
+ store ptr null, ptr %s117
+ br label %local.array.join41
+local.array.join41:
+ %t149 = load ptr, ptr %s117
+ %t152 = icmp eq ptr %t149, null
+ %t151 = select i1 %t152, i32 1, i32 0
+ switch i32 %t151, label %u.bad49 [ i32 0, label %u.a50 i32 1, label %u.a51 ]
+u.a50:
+ %t153 = call ptr @sc_rc_retain_str(ptr %t149)
+ store ptr %t153, ptr %s150
+ br label %us.j48
+u.a51:
+ store ptr @sc_lit_4134463689533233, ptr %s150
+ br label %us.j48
+u.bad49:
+ call void @sc_bad_tag()
+ unreachable
+us.j48:
+ %t154 = load ptr, ptr %s150
+ %t155 = load i32, ptr %exc.cell
+ %t156 = icmp ne i32 %t155, 0
+ %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false)
+ br i1 %t157, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rrelease_r0(ptr %t114)
+ call void @scr_str_release(ptr %t116)
+ %t158 = load ptr, ptr %s117
+ call void @scr_str_release(ptr %t158)
+ call void @scr_str_release(ptr %t154)
+ br label %exc.cleanup37
+exc.k53:
+ %t159 = getelementptr inbounds %sc_rs_r0, ptr %t114, i64 0, i32 1
+ %t160 = load ptr, ptr %t159
+ call void @scr_map_set_str_ref(ptr %t160, ptr %t116, ptr %t154)
+ br label %rks.j54
+rks.j54:
+ call void @sc_rrelease_r0(ptr %t114)
+ call void @scr_str_release(ptr %t116)
+ %t161 = load ptr, ptr %s117
+ call void @scr_str_release(ptr %t161)
+ %t162 = load ptr, ptr %sc_l_kk_0
+ call void @scr_str_release(ptr %t162)
+ br label %loop.u5
+loop.u5:
+ %t163 = load double, ptr %sc_l_i_0
+ %t164 = fadd double %t163, 0x4000000000000000
+ store double %t164, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ %t165 = load ptr, ptr %sc_l_res_0
+ %t166 = call ptr @scr_http_res_retain_v(ptr %t165)
+ %t167 = load ptr, ptr %sc_l_this_0
+ %t168 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t167, i64 0, i32 4
+ %t169 = load double, ptr %t168, !tbaa !48
+ %t170 = load ptr, ptr %sc_l_obj_0
+ %t171 = call ptr @sc_bf__x25_env_pairs_5(ptr %t170)
+ %t172 = load i32, ptr %exc.cell
+ %t173 = icmp ne i32 %t172, 0
+ %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false)
+ br i1 %t174, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @scr_arr_release(ptr %t171)
+ call void @scr_http_res_release(ptr %t166)
+ br label %exc.cleanup21
+exc.k56:
+ call void @scr_http_res_write_head_pairs(ptr %t166, double %t169, ptr %t171)
+ %t175 = load i32, ptr %exc.cell
+ %t176 = icmp ne i32 %t175, 0
+ %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false)
+ br i1 %t177, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @scr_http_res_release(ptr %t166)
+ call void @scr_arr_release(ptr %t171)
+ br label %exc.cleanup21
+exc.k58:
+ call void @scr_http_res_release(ptr %t166)
+ call void @scr_arr_release(ptr %t171)
+ %t178 = load ptr, ptr %sc_l_res_0
+ %t179 = call ptr @scr_http_res_retain_v(ptr %t178)
+ call void @scr_http_res_flush_headers(ptr %t179)
+ %t180 = load i32, ptr %exc.cell
+ %t181 = icmp ne i32 %t180, 0
+ %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false)
+ br i1 %t182, label %exc.u59, label %exc.k60
+exc.u59:
+ call void @scr_http_res_release(ptr %t179)
+ br label %exc.cleanup21
+exc.k60:
+ call void @scr_http_res_release(ptr %t179)
+ %t183 = load ptr, ptr %sc_l_res_0
+ call void @scr_http_res_release(ptr %t183)
+ %t184 = load ptr, ptr %sc_l_obj_0
+ call void @sc_rrelease_r0(ptr %t184)
+ ret void
+exc.cleanup21:
+ %t185 = load ptr, ptr %sc_l_res_0
+ call void @scr_http_res_release(ptr %t185)
+ %t186 = load ptr, ptr %sc_l_obj_0
+ call void @sc_rrelease_r0(ptr %t186)
+ ret void
+exc.cleanup37:
+ %t187 = load ptr, ptr %sc_l_kk_0
+ call void @scr_str_release(ptr %t187)
+ %t188 = load ptr, ptr %sc_l_res_0
+ call void @scr_http_res_release(ptr %t188)
+ %t189 = load ptr, ptr %sc_l_obj_0
+ call void @sc_rrelease_r0(ptr %t189)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_writeHead(ptr %p0, double %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_writeHead(ptr %p0, double %p1, ptr %p2)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ call void @scr_arr_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_endStream(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.endStream
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5, !tbaa !46
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ call void @scr_http_res_end(ptr %t7)
+ %t8 = load i32, ptr %exc.cell
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t7)
+ ret void
+exc.k3:
+ call void @scr_http_res_release(ptr %t7)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_endStream(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_endStream(ptr %p0)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ ret void
+}
+
+define internal i1 @sc_bf__x25__x25_m2_NodeResponseSink_isSent(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.isSent
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5, !tbaa !46
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ %t8 = call zeroext i1 @scr_http_res_headers_sent(ptr %t7)
+ call void @scr_http_res_release(ptr %t7)
+ ret i1 %t8
+}
+define internal i1 @sc_f__x25__x25_m2_NodeResponseSink_isSent(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m2_NodeResponseSink_isSent(ptr %p0)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ ret i1 %result
+}
+
+define internal i1 @sc_bf__x25__x25_m2_NodeResponseSink_isHeadersSent(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.isHeadersSent
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5, !tbaa !46
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ %t8 = call zeroext i1 @scr_http_res_headers_sent(ptr %t7)
+ call void @scr_http_res_release(ptr %t7)
+ ret i1 %t8
+}
+define internal i1 @sc_f__x25__x25_m2_NodeResponseSink_isHeadersSent(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m2_NodeResponseSink_isHeadersSent(ptr %p0)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ ret i1 %result
+}
+
+define internal void @sc_bf__x25__x25_m2_NodeResponseSink_destroy(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.destroy
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_e_0 = alloca ptr ; e
+ store ptr null, ptr %sc_l_e_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5, !tbaa !46
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ call void @scr_http_res_destroy(ptr %t7)
+ call void @scr_http_res_release(ptr %t7)
+ br label %try.e4
+try.e4:
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_NodeResponseSink_destroy(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_destroy(ptr %p0)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ ret void
+}
+
+define internal double @sc_bf__x25__x25_m2_NodeResponseSink_statusOf(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.statusOf
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t0, i64 0, i32 4
+ %t2 = load double, ptr %t1, !tbaa !48
+ ret double %t2
+}
+define internal double @sc_f__x25__x25_m2_NodeResponseSink_statusOf(ptr %p0) #0 {
+entry:
+ %result = call double @sc_bf__x25__x25_m2_NodeResponseSink_statusOf(ptr %p0)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25__x25_m2_NodeResponseSink_headerOf(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0) #0 { ; %%m2.NodeResponseSink.headerOf
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %s10 = alloca ptr
+ store ptr null, ptr %sc_l_v_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t4, i64 0, i32 5
+ %t6 = load ptr, ptr %t5, !tbaa !50
+ %t7 = call ptr @sc_rretain_r0(ptr %t6)
+ %t8 = load ptr, ptr %sc_l_k_0
+ %t9 = call ptr @scr_str_to_lower(ptr %t8)
+ %t11 = getelementptr inbounds %sc_rs_r0, ptr %t7, i64 0, i32 1
+ %t12 = load ptr, ptr %t11
+ %t13 = call ptr @scr_map_get_str_ref(ptr %t12, ptr %t9)
+ %t14 = icmp eq ptr %t13, null
+ br i1 %t14, label %rkg.n4, label %rkg.h3
+rkg.h3:
+ store ptr %t13, ptr %s10
+ br label %rkg.j2
+rkg.n4:
+ call void @sc_bad_key()
+ unreachable
+rkg.j2:
+ %t15 = load ptr, ptr %s10
+ store ptr %t15, ptr %sc_l_v_0
+ call void @sc_rrelease_r0(ptr %t7)
+ call void @scr_str_release(ptr %t9)
+ br i1 false, label %if.t5, label %if.j6
+if.t5:
+ %t16 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t16)
+ ret ptr @sc_nullable_null
+if.j6:
+ %t17 = load ptr, ptr %sc_l_v_0
+ %t18 = call ptr @sc_rc_retain_str(ptr %t17)
+ %t19 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t19)
+ ret ptr %t18
+}
+define internal ptr @sc_f__x25__x25_m2_NodeResponseSink_headerOf(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_headerOf(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m2_NodeResponseSink_headersMap(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.headersMap
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_keys_0 = alloca ptr ; keys
+ %sc_l_i_0 = alloca i32 ; i
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s12 = alloca i64 ; integer induction i
+ %s45 = alloca ptr
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_keys_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @sc_rnew_r0()
+ store ptr %t4, ptr %sc_l_out_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t5, i64 0, i32 5
+ %t7 = load ptr, ptr %t6, !tbaa !50
+ %t8 = call ptr @sc_bf__x25_obj_keys_19(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_arr_release(ptr %t8)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t8, ptr %sc_l_keys_0
+ %t13 = fptosi double 0x0000000000000000 to i64
+ store i64 %t13, ptr %s12
+ br label %loop.c6
+loop.c6:
+ %t14 = load ptr, ptr %sc_l_keys_0
+ %t15 = getelementptr inbounds %ScrArr, ptr %t14, i64 0, i32 1
+ %t16 = load i64, ptr %t15, !tbaa !2
+ %t17 = load i64, ptr %s12
+ %t18 = icmp ult i64 %t17, %t16
+ br i1 %t18, label %loop.b7, label %loop.e5
+loop.b7:
+ %t19 = load ptr, ptr %sc_l_out_0
+ %t20 = call ptr @sc_rretain_r0(ptr %t19)
+ %t21 = load ptr, ptr %sc_l_keys_0
+ %t22 = load i64, ptr %s12
+ %t23 = sitofp i64 %t22 to double
+ %t24 = trunc i64 %t22 to i32
+ %t25 = call ptr @sc_bf__x25_arr_idxOr_13(ptr %t21, double %t23)
+ %t26 = call ptr @sc_td_30(ptr %t25)
+ %t27 = call ptr @scr_dyn_string_coerce_js(ptr %t26)
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rrelease_r0(ptr %t20)
+ call void @scr_str_release(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @scr_str_release(ptr %t27)
+ br label %exc.cleanup11
+exc.k10:
+ %t31 = load ptr, ptr %sc_l_this_0
+ %t32 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t31, i64 0, i32 5
+ %t33 = load ptr, ptr %t32, !tbaa !50
+ %t34 = call ptr @sc_rretain_r0(ptr %t33)
+ %t35 = load ptr, ptr %sc_l_keys_0
+ %t36 = load i64, ptr %s12
+ %t37 = sitofp i64 %t36 to double
+ %t38 = trunc i64 %t36 to i32
+ %t39 = call ptr @sc_bf__x25_arr_idxOr_13(ptr %t35, double %t37)
+ %t40 = call ptr @sc_td_30(ptr %t39)
+ %t41 = call ptr @scr_dyn_string_coerce_js(ptr %t40)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rrelease_r0(ptr %t20)
+ call void @scr_str_release(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @scr_str_release(ptr %t27)
+ call void @sc_rrelease_r0(ptr %t34)
+ call void @scr_str_release(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @scr_str_release(ptr %t41)
+ br label %exc.cleanup11
+exc.k13:
+ %t46 = getelementptr inbounds %sc_rs_r0, ptr %t34, i64 0, i32 1
+ %t47 = load ptr, ptr %t46
+ %t48 = call ptr @scr_map_get_str_ref(ptr %t47, ptr %t41)
+ %t49 = icmp eq ptr %t48, null
+ br i1 %t49, label %rkg.n16, label %rkg.h15
+rkg.h15:
+ store ptr %t48, ptr %s45
+ br label %rkg.j14
+rkg.n16:
+ call void @sc_bad_key()
+ unreachable
+rkg.j14:
+ %t50 = load ptr, ptr %s45
+ %t51 = getelementptr inbounds %sc_rs_r0, ptr %t20, i64 0, i32 1
+ %t52 = load ptr, ptr %t51
+ call void @scr_map_set_str_ref(ptr %t52, ptr %t27, ptr %t50)
+ br label %rks.j17
+rks.j17:
+ call void @sc_rrelease_r0(ptr %t20)
+ call void @scr_str_release(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @scr_str_release(ptr %t27)
+ call void @sc_rrelease_r0(ptr %t34)
+ call void @scr_str_release(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @scr_str_release(ptr %t41)
+ br label %loop.u8
+loop.u8:
+ %t53 = load i64, ptr %s12
+ %t54 = add nuw i64 %t53, 1
+ store i64 %t54, ptr %s12
+ br label %loop.c6
+loop.e5:
+ %t55 = load ptr, ptr %sc_l_out_0
+ %t56 = load ptr, ptr %sc_l_keys_0
+ call void @scr_arr_release(ptr %t56)
+ ret ptr %t55
+exc.cleanup4:
+ %t57 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r0(ptr %t57)
+ ret ptr null
+exc.cleanup11:
+ %t58 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r0(ptr %t58)
+ %t59 = load ptr, ptr %sc_l_keys_0
+ call void @scr_arr_release(ptr %t59)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m2_NodeResponseSink_headersMap(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_headersMap(ptr %p0)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m2_NodeResponseSink_nodeRes(ptr %p_sc_l_this_0) #0 { ; %%m2.NodeResponseSink.nodeRes
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t0, i64 0, i32 3
+ %t2 = load ptr, ptr %t1, !tbaa !46
+ %t3 = call ptr @scr_http_res_retain_v(ptr %t2)
+ %t4 = call ptr @scr_union_new_ref(i32 0, ptr %t3, ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null)
+ ret ptr %t4
+}
+define internal ptr @sc_f__x25__x25_m2_NodeResponseSink_nodeRes(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_nodeRes(ptr %p0)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_constructor(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store i1 false, ptr %sc_l__x25_superInitialized_0
+ %t0 = load i1, ptr %sc_l__x25_superInitialized_0
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207)
+ ret void
+exc.dead2:
+ br label %if.j1
+if.j1:
+ %t1 = load ptr, ptr %sc_l_this_0
+ call void @sc_bf__x25__x25_m2_ResponseSink_constructor(ptr %t1)
+ store i1 true, ptr %sc_l__x25_superInitialized_0
+ %t2 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t3 = xor i1 %t2, true
+ br i1 %t3, label %if.t3, label %if.j4
+if.t3:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead5:
+ br label %if.j4
+if.j4:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 3
+ store double 0x4069000000000000, ptr %t5, !tbaa !52
+ %t6 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t7 = xor i1 %t6, true
+ br i1 %t7, label %if.t6, label %if.j7
+if.t6:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead8:
+ br label %if.j7
+if.j7:
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = call ptr @scr_arr_new_small(i32 2)
+ %t10 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t8, i64 0, i32 4
+ %t11 = load ptr, ptr %t10
+ store ptr %t9, ptr %t10, !tbaa !54
+ call void @scr_arr_release(ptr %t11)
+ %t12 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t13 = xor i1 %t12, true
+ br i1 %t13, label %if.t9, label %if.j10
+if.t9:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead11:
+ br label %if.j10
+if.j10:
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = call ptr @scr_arr_new_small(i32 2)
+ %t16 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t14, i64 0, i32 5
+ %t17 = load ptr, ptr %t16
+ store ptr %t15, ptr %t16, !tbaa !56
+ call void @scr_arr_release(ptr %t17)
+ %t18 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t19 = xor i1 %t18, true
+ br i1 %t19, label %if.t12, label %if.j13
+if.t12:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead14:
+ br label %if.j13
+if.j13:
+ %t20 = load ptr, ptr %sc_l_this_0
+ %t21 = call ptr @scr_arr_new_small(i32 2)
+ %t22 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t20, i64 0, i32 6
+ %t23 = load ptr, ptr %t22
+ store ptr %t21, ptr %t22, !tbaa !58
+ call void @scr_arr_release(ptr %t23)
+ %t24 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t25 = xor i1 %t24, true
+ br i1 %t25, label %if.t15, label %if.j16
+if.t15:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead17:
+ br label %if.j16
+if.j16:
+ %t26 = load ptr, ptr %sc_l_this_0
+ %t27 = call ptr @scr_arr_new_small(i32 2)
+ %t28 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t26, i64 0, i32 7
+ %t29 = load ptr, ptr %t28
+ store ptr %t27, ptr %t28, !tbaa !60
+ call void @scr_arr_release(ptr %t29)
+ %t30 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t31 = xor i1 %t30, true
+ br i1 %t31, label %if.t18, label %if.j19
+if.t18:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead20:
+ br label %if.j19
+if.j19:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t32, i64 0, i32 8
+ %t34 = zext i1 false to i8
+ store i8 %t34, ptr %t33, !tbaa !42
+ %t35 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t36 = xor i1 %t35, true
+ br i1 %t36, label %if.t21, label %if.j22
+if.t21:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead23:
+ br label %if.j22
+if.j22:
+ %t37 = load ptr, ptr %sc_l_this_0
+ %t38 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t37, i64 0, i32 9
+ %t39 = zext i1 false to i8
+ store i8 %t39, ptr %t38, !tbaa !62
+ %t40 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t41 = xor i1 %t40, true
+ br i1 %t41, label %if.t24, label %if.j25
+if.t24:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead26:
+ br label %if.j25
+if.j25:
+ %t42 = load ptr, ptr %sc_l_this_0
+ %t43 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t42, i64 0, i32 10
+ %t44 = load ptr, ptr %t43
+ store ptr null, ptr %t43, !tbaa !64
+ call void @sc_rrelease_r1(ptr %t44)
+ %t45 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t46 = xor i1 %t45, true
+ br i1 %t46, label %if.t27, label %if.j28
+if.t27:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead29:
+ br label %if.j28
+if.j28:
+ %t47 = load ptr, ptr %sc_l_this_0
+ %t48 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t47, i64 0, i32 11
+ %t49 = zext i1 false to i8
+ store i8 %t49, ptr %t48, !tbaa !66
+ %t50 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t51 = xor i1 %t50, true
+ br i1 %t51, label %if.t30, label %if.j31
+if.t30:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead32:
+ br label %if.j31
+if.j31:
+ %t52 = load ptr, ptr %sc_l_this_0
+ %t53 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t52, i64 0, i32 12
+ %t54 = load ptr, ptr %t53
+ store ptr null, ptr %t53, !tbaa !68
+ call void @sc_rrelease_r2(ptr %t54)
+ %t55 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t56 = xor i1 %t55, true
+ br i1 %t56, label %if.t33, label %if.j34
+if.t33:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead35:
+ br label %if.j34
+if.j34:
+ %t57 = load ptr, ptr %sc_l_this_0
+ %t58 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t57, i64 0, i32 13
+ %t59 = zext i1 false to i8
+ store i8 %t59, ptr %t58, !tbaa !70
+ %t60 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t61 = xor i1 %t60, true
+ br i1 %t61, label %if.t36, label %if.j37
+if.t36:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead38:
+ br label %if.j37
+if.j37:
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_constructor(ptr %p0)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_setStatus(ptr %p_sc_l_this_0, double %p_sc_l_n_0) #0 { ; %%m2.FetchResponseSink.setStatus
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_n_0 = alloca double ; n
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store double %p_sc_l_n_0, ptr %sc_l_n_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load double, ptr %sc_l_n_0
+ %t2 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t0, i64 0, i32 3
+ store double %t1, ptr %t2, !tbaa !52
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_setStatus(ptr %p0, double %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_setStatus(ptr %p0, double %p1)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_setHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m2.FetchResponseSink.setHeader
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_kk_0 = alloca ptr ; kk
+ %sc_l_vv_0 = alloca ptr ; vv
+ %sc_l_found_0 = alloca double ; found
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_i_1 = alloca double ; i
+ %sc_l_j_0 = alloca double ; j
+ %sc_l__x25_arrayValue_0 = alloca ptr ; %arrayValue
+ %sc_l__x25_popArray_0 = alloca ptr ; %popArray
+ %sc_l__x25_popLength_0 = alloca i32 ; %popLength
+ %sc_l__x25_popArray_1 = alloca ptr ; %popArray
+ %sc_l__x25_popLength_1 = alloca i32 ; %popLength
+ %s13 = alloca ptr
+ %s49 = alloca i1
+ %s175 = alloca ptr
+ %s210 = alloca i1
+ %s279 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_kk_0
+ store ptr null, ptr %sc_l_vv_0
+ store ptr null, ptr %sc_l__x25_arrayValue_0
+ store ptr null, ptr %sc_l__x25_popArray_0
+ store ptr null, ptr %sc_l__x25_popArray_1
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t0 = load ptr, ptr %sc_l_k_0
+ store ptr %t0, ptr %sc_l_kk_0
+ %t1 = load ptr, ptr %sc_l_v_0
+ store ptr %t1, ptr %sc_l_vv_0
+ store double 0xBFF0000000000000, ptr %sc_l_found_0
+ store i32 0, ptr %sc_l_i_0
+ br label %loop.c1
+loop.c1:
+ %t2 = load i32, ptr %sc_l_i_0
+ %t3 = uitofp i32 %t2 to double
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 4
+ %t6 = load ptr, ptr %t5, !tbaa !54
+ %t7 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 1
+ %t8 = load i64, ptr %t7, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t9 = sitofp i64 %t8 to double
+ %t11 = fptosi double %t9 to i64
+ %t12 = zext i32 %t2 to i64
+ %t10 = icmp slt i64 %t12, %t11
+ br i1 %t10, label %loop.b2, label %loop.e0
+loop.b2:
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t14, i64 0, i32 4
+ %t16 = load ptr, ptr %t15, !tbaa !54
+ %t17 = load i32, ptr %sc_l_i_0
+ %t18 = uitofp i32 %t17 to double
+ %t19 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 2
+ %t20 = load i64, ptr %t19, !tbaa !2
+ %t21 = fptosi double %t18 to i64
+ %t22 = freeze i64 %t21
+ %t23 = sitofp i64 %t22 to double
+ %t24 = fcmp oeq double %t23, %t18
+ %t25 = icmp ult i64 %t22, %t20
+ %t26 = and i1 %t24, %t25
+ br i1 %t26, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t27 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 6
+ %t28 = load i32, ptr %t27, !tbaa !2
+ %t30 = zext i32 %t28 to i64
+ %t29 = icmp ult i64 %t22, %t30
+ br i1 %t29, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t31 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 1
+ %t32 = load i64, ptr %t31, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t33 = icmp ult i64 %t22, %t32
+ br i1 %t33, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t34 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 9
+ %t35 = load ptr, ptr %t34, !tbaa !2
+ %t36 = getelementptr inbounds i8, ptr %t35, i64 %t22
+ %t37 = load i8, ptr %t36, !tbaa !4
+ %t38 = icmp eq i8 %t37, 1
+ br i1 %t38, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t39 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 8
+ %t40 = load ptr, ptr %t39, !tbaa !2
+ %t41 = getelementptr inbounds i64, ptr %t40, i64 %t22
+ %t42 = load ptr, ptr %t41, !tbaa !6
+ %t43 = call ptr @sc_rc_retain_str(ptr %t42)
+ store ptr %t43, ptr %s13
+ br label %local.array.join6
+local.array.slow4:
+ %t44 = call ptr @scr_arr_peek_ref(ptr %t16, double %t18)
+ %t45 = icmp ne ptr %t44, null
+ br i1 %t45, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ %t46 = call ptr @sc_rc_retain_str(ptr %t44)
+ store ptr %t46, ptr %s13
+ br label %local.array.join6
+local.array.missing5:
+ store ptr null, ptr %s13
+ br label %local.array.join6
+local.array.join6:
+ %t47 = load ptr, ptr %s13
+ %t48 = load ptr, ptr %sc_l_kk_0
+ %t50 = icmp eq ptr %t47, %t48
+ %t52 = icmp ne ptr %t47, null
+ %t53 = icmp ne ptr %t48, null
+ %t51 = and i1 %t52, %t53
+ store i1 %t50, ptr %s49
+ %t54 = xor i1 %t50, true
+ %t55 = and i1 %t54, %t51
+ br i1 %t55, label %ues.b13, label %ues.j14
+ues.b13:
+ %t56 = call zeroext i1 @sc_str_eq(ptr %t47, ptr %t48)
+ store i1 %t56, ptr %s49
+ br label %ues.j14
+ues.j14:
+ %t57 = load i1, ptr %s49
+ %t58 = load ptr, ptr %s13
+ call void @scr_str_release(ptr %t58)
+ br i1 %t57, label %if.t15, label %if.j16
+if.t15:
+ %t59 = load i32, ptr %sc_l_i_0
+ %t60 = uitofp i32 %t59 to double
+ store double %t60, ptr %sc_l_found_0
+ br label %if.j16
+if.j16:
+ br label %loop.u3
+loop.u3:
+ %t61 = load i32, ptr %sc_l_i_0
+ %t62 = uitofp i32 %t61 to double
+ %t64 = zext i32 %t61 to i64
+ %t65 = add nsw i64 %t64, 1
+ %t67 = trunc i64 %t65 to i32
+ %t66 = sitofp i64 %t65 to double
+ %t68 = trunc i64 %t65 to i32
+ store i32 %t68, ptr %sc_l_i_0
+ br label %loop.c1
+loop.e0:
+ %t69 = load double, ptr %sc_l_found_0
+ %t70 = fcmp olt double %t69, 0x0000000000000000
+ br i1 %t70, label %if.t17, label %if.f19
+if.t17:
+ %t71 = load ptr, ptr %sc_l_this_0
+ %t72 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t71, i64 0, i32 4
+ %t73 = load ptr, ptr %t72, !tbaa !54
+ %t74 = call ptr @scr_arr_retain_v(ptr %t73)
+ %t75 = load ptr, ptr %sc_l_kk_0
+ %t76 = call ptr @sc_rc_retain_str(ptr %t75)
+ %t77 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 1
+ %t78 = load i64, ptr %t77, !tbaa !2
+ %t81 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 2
+ %t79 = load i64, ptr %t81, !tbaa !2
+ %t80 = icmp ult i64 %t78, %t79
+ br i1 %t80, label %arr.push.dense20, label %arr.push.slow21
+arr.push.dense20:
+ %t82 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 8
+ %t84 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 9
+ %t83 = load ptr, ptr %t82, !tbaa !2
+ %t85 = load ptr, ptr %t84, !tbaa !2
+ %t86 = getelementptr inbounds i8, ptr %t85, i64 %t78
+ %t87 = getelementptr inbounds i64, ptr %t83, i64 %t78
+ store ptr %t76, ptr %t87, !tbaa !6
+ store i8 1, ptr %t86, !tbaa !4
+ %t88 = add nuw i64 %t78, 1
+ store i64 %t88, ptr %t77, !tbaa !2
+ %t90 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 6
+ %t91 = load i32, ptr %t90, !tbaa !2
+ %t95 = zext i32 %t91 to i64
+ %t92 = icmp eq i64 %t95, %t78
+ %t93 = add i32 %t91, 1
+ %t94 = select i1 %t92, i32 %t93, i32 %t91
+ store i32 %t94, ptr %t90, !tbaa !2
+ %t89 = sitofp i64 %t88 to double
+ br label %arr.push.join22
+arr.push.slow21:
+ %t96 = call double @scr_arr_push_ref(ptr %t74, ptr %t76) cold
+ br label %arr.push.join22
+arr.push.join22:
+ %t97 = phi double [ %t89, %arr.push.dense20 ], [ %t96, %arr.push.slow21 ]
+ call void @scr_arr_release(ptr %t74)
+ %t98 = load ptr, ptr %sc_l_this_0
+ %t99 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t98, i64 0, i32 5
+ %t100 = load ptr, ptr %t99, !tbaa !56
+ %t101 = call ptr @scr_arr_retain_v(ptr %t100)
+ %t102 = load ptr, ptr %sc_l_vv_0
+ %t103 = call ptr @sc_rc_retain_str(ptr %t102)
+ %t104 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 1
+ %t105 = load i64, ptr %t104, !tbaa !2
+ %t108 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 2
+ %t106 = load i64, ptr %t108, !tbaa !2
+ %t107 = icmp ult i64 %t105, %t106
+ br i1 %t107, label %arr.push.dense23, label %arr.push.slow24
+arr.push.dense23:
+ %t109 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 8
+ %t111 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 9
+ %t110 = load ptr, ptr %t109, !tbaa !2
+ %t112 = load ptr, ptr %t111, !tbaa !2
+ %t113 = getelementptr inbounds i8, ptr %t112, i64 %t105
+ %t114 = getelementptr inbounds i64, ptr %t110, i64 %t105
+ store ptr %t103, ptr %t114, !tbaa !6
+ store i8 1, ptr %t113, !tbaa !4
+ %t115 = add nuw i64 %t105, 1
+ store i64 %t115, ptr %t104, !tbaa !2
+ %t117 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 6
+ %t118 = load i32, ptr %t117, !tbaa !2
+ %t122 = zext i32 %t118 to i64
+ %t119 = icmp eq i64 %t122, %t105
+ %t120 = add i32 %t118, 1
+ %t121 = select i1 %t119, i32 %t120, i32 %t118
+ store i32 %t121, ptr %t117, !tbaa !2
+ %t116 = sitofp i64 %t115 to double
+ br label %arr.push.join25
+arr.push.slow24:
+ %t123 = call double @scr_arr_push_ref(ptr %t101, ptr %t103) cold
+ br label %arr.push.join25
+arr.push.join25:
+ %t124 = phi double [ %t116, %arr.push.dense23 ], [ %t123, %arr.push.slow24 ]
+ call void @scr_arr_release(ptr %t101)
+ br label %if.j18
+if.f19:
+ %t125 = load ptr, ptr %sc_l_this_0
+ %t126 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t125, i64 0, i32 5
+ %t127 = load ptr, ptr %t126, !tbaa !56
+ %t128 = load double, ptr %sc_l_found_0
+ %t129 = load ptr, ptr %sc_l_vv_0
+ %t130 = call ptr @sc_rc_retain_str(ptr %t129)
+ %t131 = fptosi double %t128 to i64
+ %t133 = freeze i64 %t131
+ %t132 = sitofp i64 %t133 to double
+ %t134 = fcmp oeq double %t132, %t128
+ %t139 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 8
+ %t140 = load ptr, ptr %t139, !tbaa !2
+ %t143 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 6
+ %t144 = load i32, ptr %t143, !tbaa !2
+ %t145 = zext i32 %t144 to i64
+ %t146 = icmp ult i64 %t133, %t145
+ %t147 = and i1 %t134, %t146
+ br i1 %t147, label %arr.set.filled28, label %arr.check29
+arr.check29:
+ %t135 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 1
+ %t136 = load i64, ptr %t135, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t137 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 2
+ %t138 = load i64, ptr %t137, !tbaa !2
+ %t141 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 9
+ %t142 = load ptr, ptr %t141, !tbaa !2
+ %t148 = icmp ult i64 %t133, %t138
+ %t149 = and i1 %t134, %t148
+ br i1 %t149, label %arr.dense30, label %arr.set.slow26
+arr.dense30:
+ %t150 = getelementptr inbounds i8, ptr %t142, i64 %t133
+ %t151 = getelementptr inbounds i64, ptr %t140, i64 %t133
+ %t152 = load i8, ptr %t150, !tbaa !4
+ %t153 = load ptr, ptr %t151, !tbaa !6
+ store ptr %t130, ptr %t151, !tbaa !6
+ store i8 1, ptr %t150, !tbaa !4
+ %t154 = zext i32 %t144 to i64
+ %t155 = icmp eq i64 %t133, %t154
+ br i1 %t155, label %arr.set.bump31, label %arr.set.state32
+arr.set.bump31:
+ %t156 = trunc i64 %t133 to i32
+ %t157 = add i32 %t156, 1
+ %t158 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 6
+ store i32 %t157, ptr %t158, !tbaa !2
+ br label %arr.set.state32
+arr.set.state32:
+ %t159 = icmp uge i64 %t133, %t136
+ br i1 %t159, label %arr.set.grow33, label %arr.set.stored34
+arr.set.grow33:
+ %t160 = add i64 %t133, 1
+ %t161 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 1
+ store i64 %t160, ptr %t161, !tbaa !2
+ br label %arr.set.stored34
+arr.set.stored34:
+ %t162 = icmp eq i8 %t152, 1
+ br i1 %t162, label %arr.set.release35, label %arr.set.join27
+arr.set.release35:
+ call void @scr_str_release(ptr %t153)
+ br label %arr.set.join27
+arr.set.filled28:
+ %t163 = getelementptr inbounds i64, ptr %t140, i64 %t133
+ %t164 = load ptr, ptr %t163, !tbaa !6
+ store ptr %t130, ptr %t163, !tbaa !6
+ call void @scr_str_release(ptr %t164)
+ br label %arr.set.join27
+arr.set.slow26:
+ call void @scr_arr_set_ref(ptr %t127, double %t128, ptr %t130) cold
+ br label %arr.set.join27
+arr.set.join27:
+ br label %if.j18
+if.j18:
+ store double 0x0000000000000000, ptr %sc_l_i_1
+ br label %loop.c37
+loop.c37:
+ %t165 = load double, ptr %sc_l_i_1
+ %t166 = fadd double %t165, 0x3FF0000000000000
+ %t167 = load ptr, ptr %sc_l_this_0
+ %t168 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t167, i64 0, i32 6
+ %t169 = load ptr, ptr %t168, !tbaa !58
+ %t170 = getelementptr inbounds %ScrArr, ptr %t169, i32 0, i32 1
+ %t171 = load i64, ptr %t170, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t172 = sitofp i64 %t171 to double
+ %t174 = fptosi double %t172 to i64
+ %t173 = fcmp olt double %t166, %t172
+ br i1 %t173, label %loop.b38, label %loop.e36
+loop.b38:
+ %t176 = load ptr, ptr %sc_l_this_0
+ %t177 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t176, i64 0, i32 6
+ %t178 = load ptr, ptr %t177, !tbaa !58
+ %t179 = load double, ptr %sc_l_i_1
+ %t180 = getelementptr inbounds %ScrArr, ptr %t178, i32 0, i32 2
+ %t181 = load i64, ptr %t180, !tbaa !2
+ %t182 = fptosi double %t179 to i64
+ %t183 = freeze i64 %t182
+ %t184 = sitofp i64 %t183 to double
+ %t185 = fcmp oeq double %t184, %t179
+ %t186 = icmp ult i64 %t183, %t181
+ %t187 = and i1 %t185, %t186
+ br i1 %t187, label %local.array.range42, label %local.array.slow39
+local.array.range42:
+ br label %local.array.dense43
+local.array.dense43:
+ %t188 = getelementptr inbounds %ScrArr, ptr %t178, i32 0, i32 6
+ %t189 = load i32, ptr %t188, !tbaa !2
+ %t191 = zext i32 %t189 to i64
+ %t190 = icmp ult i64 %t183, %t191
+ br i1 %t190, label %local.array.value45, label %local.array.len44
+local.array.len44:
+ %t192 = getelementptr inbounds %ScrArr, ptr %t178, i32 0, i32 1
+ %t193 = load i64, ptr %t192, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t194 = icmp ult i64 %t183, %t193
+ br i1 %t194, label %local.array.state46, label %local.array.missing40
+local.array.state46:
+ %t195 = getelementptr inbounds %ScrArr, ptr %t178, i32 0, i32 9
+ %t196 = load ptr, ptr %t195, !tbaa !2
+ %t197 = getelementptr inbounds i8, ptr %t196, i64 %t183
+ %t198 = load i8, ptr %t197, !tbaa !4
+ %t199 = icmp eq i8 %t198, 1
+ br i1 %t199, label %local.array.value45, label %local.array.missing40
+local.array.value45:
+ %t200 = getelementptr inbounds %ScrArr, ptr %t178, i32 0, i32 8
+ %t201 = load ptr, ptr %t200, !tbaa !2
+ %t202 = getelementptr inbounds i64, ptr %t201, i64 %t183
+ %t203 = load ptr, ptr %t202, !tbaa !6
+ %t204 = call ptr @sc_rc_retain_str(ptr %t203)
+ store ptr %t204, ptr %s175
+ br label %local.array.join41
+local.array.slow39:
+ %t205 = call ptr @scr_arr_peek_ref(ptr %t178, double %t179)
+ %t206 = icmp ne ptr %t205, null
+ br i1 %t206, label %local.array.slow.value47, label %local.array.missing40
+local.array.slow.value47:
+ %t207 = call ptr @sc_rc_retain_str(ptr %t205)
+ store ptr %t207, ptr %s175
+ br label %local.array.join41
+local.array.missing40:
+ store ptr null, ptr %s175
+ br label %local.array.join41
+local.array.join41:
+ %t208 = load ptr, ptr %s175
+ %t209 = load ptr, ptr %sc_l_kk_0
+ %t211 = icmp eq ptr %t208, %t209
+ %t213 = icmp ne ptr %t208, null
+ %t214 = icmp ne ptr %t209, null
+ %t212 = and i1 %t213, %t214
+ store i1 %t211, ptr %s210
+ %t215 = xor i1 %t211, true
+ %t216 = and i1 %t215, %t212
+ br i1 %t216, label %ues.b48, label %ues.j49
+ues.b48:
+ %t217 = call zeroext i1 @sc_str_eq(ptr %t208, ptr %t209)
+ store i1 %t217, ptr %s210
+ br label %ues.j49
+ues.j49:
+ %t218 = load i1, ptr %s210
+ %t219 = load ptr, ptr %s175
+ call void @scr_str_release(ptr %t219)
+ br i1 %t218, label %if.t50, label %if.f52
+if.t50:
+ %t220 = load double, ptr %sc_l_i_1
+ store double %t220, ptr %sc_l_j_0
+ br label %loop.c54
+loop.c54:
+ %t221 = load double, ptr %sc_l_j_0
+ %t222 = fadd double %t221, 0x4000000000000000
+ %t223 = load ptr, ptr %sc_l_this_0
+ %t224 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t223, i64 0, i32 6
+ %t225 = load ptr, ptr %t224, !tbaa !58
+ %t226 = getelementptr inbounds %ScrArr, ptr %t225, i32 0, i32 1
+ %t227 = load i64, ptr %t226, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t228 = sitofp i64 %t227 to double
+ %t230 = fptosi double %t228 to i64
+ %t229 = fcmp olt double %t222, %t228
+ br i1 %t229, label %loop.b55, label %loop.e53
+loop.b55:
+ %t231 = load ptr, ptr %sc_l_this_0
+ %t232 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t231, i64 0, i32 6
+ %t233 = load ptr, ptr %t232, !tbaa !58
+ %t234 = load double, ptr %sc_l_j_0
+ %t235 = fadd double %t234, 0x4000000000000000
+ %t236 = getelementptr inbounds %ScrArr, ptr %t233, i32 0, i32 2
+ %t237 = load i64, ptr %t236, !tbaa !2
+ %t238 = fptosi double %t235 to i64
+ %t239 = freeze i64 %t238
+ %t240 = sitofp i64 %t239 to double
+ %t241 = fcmp oeq double %t240, %t235
+ %t242 = icmp ult i64 %t239, %t237
+ %t243 = and i1 %t241, %t242
+ br i1 %t243, label %local.array.range60, label %local.array.slow57
+local.array.range60:
+ br label %local.array.dense61
+local.array.dense61:
+ %t244 = getelementptr inbounds %ScrArr, ptr %t233, i32 0, i32 6
+ %t245 = load i32, ptr %t244, !tbaa !2
+ %t247 = zext i32 %t245 to i64
+ %t246 = icmp ult i64 %t239, %t247
+ br i1 %t246, label %local.array.value63, label %local.array.len62
+local.array.len62:
+ %t248 = getelementptr inbounds %ScrArr, ptr %t233, i32 0, i32 1
+ %t249 = load i64, ptr %t248, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t250 = icmp ult i64 %t239, %t249
+ br i1 %t250, label %local.array.state64, label %local.array.missing58
+local.array.state64:
+ %t251 = getelementptr inbounds %ScrArr, ptr %t233, i32 0, i32 9
+ %t252 = load ptr, ptr %t251, !tbaa !2
+ %t253 = getelementptr inbounds i8, ptr %t252, i64 %t239
+ %t254 = load i8, ptr %t253, !tbaa !4
+ %t255 = icmp eq i8 %t254, 1
+ br i1 %t255, label %local.array.value63, label %local.array.missing58
+local.array.value63:
+ %t256 = getelementptr inbounds %ScrArr, ptr %t233, i32 0, i32 8
+ %t257 = load ptr, ptr %t256, !tbaa !2
+ %t258 = getelementptr inbounds i64, ptr %t257, i64 %t239
+ %t259 = load ptr, ptr %t258, !tbaa !6
+ %t260 = call ptr @sc_rc_retain_str(ptr %t259)
+ store ptr %t260, ptr %sc_l__x25_arrayValue_0
+ br label %local.array.join59
+local.array.slow57:
+ %t261 = call ptr @scr_arr_peek_ref(ptr %t233, double %t235)
+ %t262 = icmp ne ptr %t261, null
+ br i1 %t262, label %local.array.slow.value65, label %local.array.missing58
+local.array.slow.value65:
+ %t263 = call ptr @sc_rc_retain_str(ptr %t261)
+ store ptr %t263, ptr %sc_l__x25_arrayValue_0
+ br label %local.array.join59
+local.array.missing58:
+ store ptr null, ptr %sc_l__x25_arrayValue_0
+ br label %local.array.join59
+local.array.join59:
+ %t264 = load ptr, ptr %sc_l__x25_arrayValue_0
+ %t266 = icmp eq ptr %t264, null
+ br i1 %t266, label %if.t66, label %if.f68
+if.t66:
+ %t267 = load ptr, ptr %sc_l_this_0
+ %t268 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t267, i64 0, i32 6
+ %t269 = load ptr, ptr %t268, !tbaa !58
+ %t270 = call ptr @scr_arr_retain_v(ptr %t269)
+ %t271 = load double, ptr %sc_l_j_0
+ call void @scr_arr_set_undefined(ptr %t270, double %t271)
+ call void @scr_arr_release(ptr %t270)
+ br label %if.j67
+if.f68:
+ %t272 = load ptr, ptr %sc_l_this_0
+ %t273 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t272, i64 0, i32 6
+ %t274 = load ptr, ptr %t273, !tbaa !58
+ %t275 = load double, ptr %sc_l_j_0
+ %t276 = load ptr, ptr %sc_l__x25_arrayValue_0
+ %t278 = icmp ne ptr %t276, null
+ br i1 %t278, label %tern.t69, label %tern.f70
+tern.t69:
+ %t280 = load ptr, ptr %sc_l__x25_arrayValue_0
+ %t281 = call ptr @sc_rc_retain_str(ptr %t280)
+ store ptr %t281, ptr %s279
+ br label %tern.j71
+tern.f70:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup72
+exc.dead73:
+ store ptr null, ptr %s279
+ br label %tern.j71
+tern.j71:
+ %t282 = load ptr, ptr %s279
+ %t283 = fptosi double %t275 to i64
+ %t285 = freeze i64 %t283
+ %t284 = sitofp i64 %t285 to double
+ %t286 = fcmp oeq double %t284, %t275
+ %t291 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 8
+ %t292 = load ptr, ptr %t291, !tbaa !2
+ %t295 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 6
+ %t296 = load i32, ptr %t295, !tbaa !2
+ %t297 = zext i32 %t296 to i64
+ %t298 = icmp ult i64 %t285, %t297
+ %t299 = and i1 %t286, %t298
+ br i1 %t299, label %arr.set.filled76, label %arr.check77
+arr.check77:
+ %t287 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 1
+ %t288 = load i64, ptr %t287, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t289 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 2
+ %t290 = load i64, ptr %t289, !tbaa !2
+ %t293 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 9
+ %t294 = load ptr, ptr %t293, !tbaa !2
+ %t300 = icmp ult i64 %t285, %t290
+ %t301 = and i1 %t286, %t300
+ br i1 %t301, label %arr.dense78, label %arr.set.slow74
+arr.dense78:
+ %t302 = getelementptr inbounds i8, ptr %t294, i64 %t285
+ %t303 = getelementptr inbounds i64, ptr %t292, i64 %t285
+ %t304 = load i8, ptr %t302, !tbaa !4
+ %t305 = load ptr, ptr %t303, !tbaa !6
+ store ptr %t282, ptr %t303, !tbaa !6
+ store i8 1, ptr %t302, !tbaa !4
+ %t306 = zext i32 %t296 to i64
+ %t307 = icmp eq i64 %t285, %t306
+ br i1 %t307, label %arr.set.bump79, label %arr.set.state80
+arr.set.bump79:
+ %t308 = trunc i64 %t285 to i32
+ %t309 = add i32 %t308, 1
+ %t310 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 6
+ store i32 %t309, ptr %t310, !tbaa !2
+ br label %arr.set.state80
+arr.set.state80:
+ %t311 = icmp uge i64 %t285, %t288
+ br i1 %t311, label %arr.set.grow81, label %arr.set.stored82
+arr.set.grow81:
+ %t312 = add i64 %t285, 1
+ %t313 = getelementptr inbounds %ScrArr, ptr %t274, i32 0, i32 1
+ store i64 %t312, ptr %t313, !tbaa !2
+ br label %arr.set.stored82
+arr.set.stored82:
+ %t314 = icmp eq i8 %t304, 1
+ br i1 %t314, label %arr.set.release83, label %arr.set.join75
+arr.set.release83:
+ call void @scr_str_release(ptr %t305)
+ br label %arr.set.join75
+arr.set.filled76:
+ %t315 = getelementptr inbounds i64, ptr %t292, i64 %t285
+ %t316 = load ptr, ptr %t315, !tbaa !6
+ store ptr %t282, ptr %t315, !tbaa !6
+ call void @scr_str_release(ptr %t316)
+ br label %arr.set.join75
+arr.set.slow74:
+ call void @scr_arr_set_ref(ptr %t274, double %t275, ptr %t282) cold
+ br label %arr.set.join75
+arr.set.join75:
+ br label %if.j67
+if.j67:
+ %t317 = load ptr, ptr %sc_l__x25_arrayValue_0
+ call void @scr_str_release(ptr %t317)
+ br label %loop.u56
+loop.u56:
+ %t318 = load double, ptr %sc_l_j_0
+ %t319 = fadd double %t318, 0x3FF0000000000000
+ store double %t319, ptr %sc_l_j_0
+ br label %loop.c54
+loop.e53:
+ %t320 = load ptr, ptr %sc_l_this_0
+ %t321 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t320, i64 0, i32 6
+ %t322 = load ptr, ptr %t321, !tbaa !58
+ store ptr %t322, ptr %sc_l__x25_popArray_0
+ %t323 = load ptr, ptr %sc_l__x25_popArray_0
+ %t324 = getelementptr inbounds %ScrArr, ptr %t323, i32 0, i32 1
+ %t325 = load i64, ptr %t324, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t326 = sitofp i64 %t325 to double
+ %t327 = fptosi double %t326 to i64
+ %t328 = trunc i64 %t327 to i32
+ store i32 %t328, ptr %sc_l__x25_popLength_0
+ %t329 = load i32, ptr %sc_l__x25_popLength_0
+ %t330 = uitofp i32 %t329 to double
+ %t332 = zext i32 %t329 to i64
+ %t331 = icmp sgt i64 %t332, 0
+ br i1 %t331, label %if.t84, label %if.f86
+if.t84:
+ %t333 = load ptr, ptr %sc_l__x25_popArray_0
+ %t334 = load i32, ptr %sc_l__x25_popLength_0
+ %t335 = uitofp i32 %t334 to double
+ %t337 = zext i32 %t334 to i64
+ %t338 = sub nsw i64 %t337, 1
+ %t340 = trunc i64 %t338 to i32
+ %t339 = sitofp i64 %t338 to double
+ %t341 = getelementptr inbounds %ScrArr, ptr %t333, i32 0, i32 1
+ %t342 = load i64, ptr %t341, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t343 = sitofp i64 %t342 to double
+ %t344 = fcmp oeq double %t339, %t343
+ br i1 %t344, label %arr.len.done88, label %arr.len.set87
+arr.len.set87:
+ call void @scr_arr_set_len(ptr %t333, double %t339)
+ %t345 = load i32, ptr %exc.cell
+ %t346 = icmp ne i32 %t345, 0
+ %t347 = call i1 @llvm.expect.i1(i1 %t346, i1 false)
+ br i1 %t347, label %exc.u89, label %exc.k90
+exc.u89:
+ ret void
+exc.k90:
+ br label %arr.len.done88
+arr.len.done88:
+ br label %if.j85
+if.f86:
+ br label %if.j85
+if.j85:
+ %t348 = load ptr, ptr %sc_l_this_0
+ %t349 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t348, i64 0, i32 6
+ %t350 = load ptr, ptr %t349, !tbaa !58
+ store ptr %t350, ptr %sc_l__x25_popArray_1
+ %t351 = load ptr, ptr %sc_l__x25_popArray_1
+ %t352 = getelementptr inbounds %ScrArr, ptr %t351, i32 0, i32 1
+ %t353 = load i64, ptr %t352, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t354 = sitofp i64 %t353 to double
+ %t355 = fptosi double %t354 to i64
+ %t356 = trunc i64 %t355 to i32
+ store i32 %t356, ptr %sc_l__x25_popLength_1
+ %t357 = load i32, ptr %sc_l__x25_popLength_1
+ %t358 = uitofp i32 %t357 to double
+ %t360 = zext i32 %t357 to i64
+ %t359 = icmp sgt i64 %t360, 0
+ br i1 %t359, label %if.t91, label %if.f93
+if.t91:
+ %t361 = load ptr, ptr %sc_l__x25_popArray_1
+ %t362 = load i32, ptr %sc_l__x25_popLength_1
+ %t363 = uitofp i32 %t362 to double
+ %t365 = zext i32 %t362 to i64
+ %t366 = sub nsw i64 %t365, 1
+ %t368 = trunc i64 %t366 to i32
+ %t367 = sitofp i64 %t366 to double
+ %t369 = getelementptr inbounds %ScrArr, ptr %t361, i32 0, i32 1
+ %t370 = load i64, ptr %t369, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t371 = sitofp i64 %t370 to double
+ %t372 = fcmp oeq double %t367, %t371
+ br i1 %t372, label %arr.len.done95, label %arr.len.set94
+arr.len.set94:
+ call void @scr_arr_set_len(ptr %t361, double %t367)
+ %t373 = load i32, ptr %exc.cell
+ %t374 = icmp ne i32 %t373, 0
+ %t375 = call i1 @llvm.expect.i1(i1 %t374, i1 false)
+ br i1 %t375, label %exc.u96, label %exc.k97
+exc.u96:
+ ret void
+exc.k97:
+ br label %arr.len.done95
+arr.len.done95:
+ br label %if.j92
+if.f93:
+ br label %if.j92
+if.j92:
+ br label %if.j51
+if.f52:
+ %t376 = load double, ptr %sc_l_i_1
+ %t377 = fadd double %t376, 0x4000000000000000
+ store double %t377, ptr %sc_l_i_1
+ br label %if.j51
+if.j51:
+ br label %loop.c37
+loop.e36:
+ %t378 = load ptr, ptr %sc_l_this_0
+ %t379 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t378, i64 0, i32 6
+ %t380 = load ptr, ptr %t379, !tbaa !58
+ %t381 = call ptr @scr_arr_retain_v(ptr %t380)
+ %t382 = load ptr, ptr %sc_l_kk_0
+ %t383 = call ptr @sc_rc_retain_str(ptr %t382)
+ %t384 = getelementptr inbounds %ScrArr, ptr %t381, i32 0, i32 1
+ %t385 = load i64, ptr %t384, !tbaa !2
+ %t388 = getelementptr inbounds %ScrArr, ptr %t381, i32 0, i32 2
+ %t386 = load i64, ptr %t388, !tbaa !2
+ %t387 = icmp ult i64 %t385, %t386
+ br i1 %t387, label %arr.push.dense98, label %arr.push.slow99
+arr.push.dense98:
+ %t389 = getelementptr inbounds %ScrArr, ptr %t381, i32 0, i32 8
+ %t391 = getelementptr inbounds %ScrArr, ptr %t381, i32 0, i32 9
+ %t390 = load ptr, ptr %t389, !tbaa !2
+ %t392 = load ptr, ptr %t391, !tbaa !2
+ %t393 = getelementptr inbounds i8, ptr %t392, i64 %t385
+ %t394 = getelementptr inbounds i64, ptr %t390, i64 %t385
+ store ptr %t383, ptr %t394, !tbaa !6
+ store i8 1, ptr %t393, !tbaa !4
+ %t395 = add nuw i64 %t385, 1
+ store i64 %t395, ptr %t384, !tbaa !2
+ %t397 = getelementptr inbounds %ScrArr, ptr %t381, i32 0, i32 6
+ %t398 = load i32, ptr %t397, !tbaa !2
+ %t402 = zext i32 %t398 to i64
+ %t399 = icmp eq i64 %t402, %t385
+ %t400 = add i32 %t398, 1
+ %t401 = select i1 %t399, i32 %t400, i32 %t398
+ store i32 %t401, ptr %t397, !tbaa !2
+ %t396 = sitofp i64 %t395 to double
+ br label %arr.push.join100
+arr.push.slow99:
+ %t403 = call double @scr_arr_push_ref(ptr %t381, ptr %t383) cold
+ br label %arr.push.join100
+arr.push.join100:
+ %t404 = phi double [ %t396, %arr.push.dense98 ], [ %t403, %arr.push.slow99 ]
+ call void @scr_arr_release(ptr %t381)
+ %t405 = load ptr, ptr %sc_l_this_0
+ %t406 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t405, i64 0, i32 6
+ %t407 = load ptr, ptr %t406, !tbaa !58
+ %t408 = call ptr @scr_arr_retain_v(ptr %t407)
+ %t409 = load ptr, ptr %sc_l_vv_0
+ %t410 = call ptr @sc_rc_retain_str(ptr %t409)
+ %t411 = getelementptr inbounds %ScrArr, ptr %t408, i32 0, i32 1
+ %t412 = load i64, ptr %t411, !tbaa !2
+ %t415 = getelementptr inbounds %ScrArr, ptr %t408, i32 0, i32 2
+ %t413 = load i64, ptr %t415, !tbaa !2
+ %t414 = icmp ult i64 %t412, %t413
+ br i1 %t414, label %arr.push.dense101, label %arr.push.slow102
+arr.push.dense101:
+ %t416 = getelementptr inbounds %ScrArr, ptr %t408, i32 0, i32 8
+ %t418 = getelementptr inbounds %ScrArr, ptr %t408, i32 0, i32 9
+ %t417 = load ptr, ptr %t416, !tbaa !2
+ %t419 = load ptr, ptr %t418, !tbaa !2
+ %t420 = getelementptr inbounds i8, ptr %t419, i64 %t412
+ %t421 = getelementptr inbounds i64, ptr %t417, i64 %t412
+ store ptr %t410, ptr %t421, !tbaa !6
+ store i8 1, ptr %t420, !tbaa !4
+ %t422 = add nuw i64 %t412, 1
+ store i64 %t422, ptr %t411, !tbaa !2
+ %t424 = getelementptr inbounds %ScrArr, ptr %t408, i32 0, i32 6
+ %t425 = load i32, ptr %t424, !tbaa !2
+ %t429 = zext i32 %t425 to i64
+ %t426 = icmp eq i64 %t429, %t412
+ %t427 = add i32 %t425, 1
+ %t428 = select i1 %t426, i32 %t427, i32 %t425
+ store i32 %t428, ptr %t424, !tbaa !2
+ %t423 = sitofp i64 %t422 to double
+ br label %arr.push.join103
+arr.push.slow102:
+ %t430 = call double @scr_arr_push_ref(ptr %t408, ptr %t410) cold
+ br label %arr.push.join103
+arr.push.join103:
+ %t431 = phi double [ %t423, %arr.push.dense101 ], [ %t430, %arr.push.slow102 ]
+ call void @scr_arr_release(ptr %t408)
+ ret void
+exc.cleanup72:
+ %t432 = load ptr, ptr %sc_l__x25_arrayValue_0
+ call void @scr_str_release(ptr %t432)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_setHeader(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m2.FetchResponseSink.appendHeader
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_kk_0 = alloca ptr ; kk
+ %sc_l_vv_0 = alloca ptr ; vv
+ %sc_l_found_0 = alloca double ; found
+ %sc_l_i_0 = alloca i32 ; i
+ %s13 = alloca ptr
+ %s49 = alloca i1
+ store ptr null, ptr %sc_l_kk_0
+ store ptr null, ptr %sc_l_vv_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t0 = load ptr, ptr %sc_l_k_0
+ store ptr %t0, ptr %sc_l_kk_0
+ %t1 = load ptr, ptr %sc_l_v_0
+ store ptr %t1, ptr %sc_l_vv_0
+ store double 0xBFF0000000000000, ptr %sc_l_found_0
+ store i32 0, ptr %sc_l_i_0
+ br label %loop.c1
+loop.c1:
+ %t2 = load i32, ptr %sc_l_i_0
+ %t3 = uitofp i32 %t2 to double
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 4
+ %t6 = load ptr, ptr %t5, !tbaa !54
+ %t7 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 1
+ %t8 = load i64, ptr %t7, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t9 = sitofp i64 %t8 to double
+ %t11 = fptosi double %t9 to i64
+ %t12 = zext i32 %t2 to i64
+ %t10 = icmp slt i64 %t12, %t11
+ br i1 %t10, label %loop.b2, label %loop.e0
+loop.b2:
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t14, i64 0, i32 4
+ %t16 = load ptr, ptr %t15, !tbaa !54
+ %t17 = load i32, ptr %sc_l_i_0
+ %t18 = uitofp i32 %t17 to double
+ %t19 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 2
+ %t20 = load i64, ptr %t19, !tbaa !2
+ %t21 = fptosi double %t18 to i64
+ %t22 = freeze i64 %t21
+ %t23 = sitofp i64 %t22 to double
+ %t24 = fcmp oeq double %t23, %t18
+ %t25 = icmp ult i64 %t22, %t20
+ %t26 = and i1 %t24, %t25
+ br i1 %t26, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t27 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 6
+ %t28 = load i32, ptr %t27, !tbaa !2
+ %t30 = zext i32 %t28 to i64
+ %t29 = icmp ult i64 %t22, %t30
+ br i1 %t29, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t31 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 1
+ %t32 = load i64, ptr %t31, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t33 = icmp ult i64 %t22, %t32
+ br i1 %t33, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t34 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 9
+ %t35 = load ptr, ptr %t34, !tbaa !2
+ %t36 = getelementptr inbounds i8, ptr %t35, i64 %t22
+ %t37 = load i8, ptr %t36, !tbaa !4
+ %t38 = icmp eq i8 %t37, 1
+ br i1 %t38, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t39 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 8
+ %t40 = load ptr, ptr %t39, !tbaa !2
+ %t41 = getelementptr inbounds i64, ptr %t40, i64 %t22
+ %t42 = load ptr, ptr %t41, !tbaa !6
+ %t43 = call ptr @sc_rc_retain_str(ptr %t42)
+ store ptr %t43, ptr %s13
+ br label %local.array.join6
+local.array.slow4:
+ %t44 = call ptr @scr_arr_peek_ref(ptr %t16, double %t18)
+ %t45 = icmp ne ptr %t44, null
+ br i1 %t45, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ %t46 = call ptr @sc_rc_retain_str(ptr %t44)
+ store ptr %t46, ptr %s13
+ br label %local.array.join6
+local.array.missing5:
+ store ptr null, ptr %s13
+ br label %local.array.join6
+local.array.join6:
+ %t47 = load ptr, ptr %s13
+ %t48 = load ptr, ptr %sc_l_kk_0
+ %t50 = icmp eq ptr %t47, %t48
+ %t52 = icmp ne ptr %t47, null
+ %t53 = icmp ne ptr %t48, null
+ %t51 = and i1 %t52, %t53
+ store i1 %t50, ptr %s49
+ %t54 = xor i1 %t50, true
+ %t55 = and i1 %t54, %t51
+ br i1 %t55, label %ues.b13, label %ues.j14
+ues.b13:
+ %t56 = call zeroext i1 @sc_str_eq(ptr %t47, ptr %t48)
+ store i1 %t56, ptr %s49
+ br label %ues.j14
+ues.j14:
+ %t57 = load i1, ptr %s49
+ %t58 = load ptr, ptr %s13
+ call void @scr_str_release(ptr %t58)
+ br i1 %t57, label %if.t15, label %if.j16
+if.t15:
+ %t59 = load i32, ptr %sc_l_i_0
+ %t60 = uitofp i32 %t59 to double
+ store double %t60, ptr %sc_l_found_0
+ br label %if.j16
+if.j16:
+ br label %loop.u3
+loop.u3:
+ %t61 = load i32, ptr %sc_l_i_0
+ %t62 = uitofp i32 %t61 to double
+ %t64 = zext i32 %t61 to i64
+ %t65 = add nsw i64 %t64, 1
+ %t67 = trunc i64 %t65 to i32
+ %t66 = sitofp i64 %t65 to double
+ %t68 = trunc i64 %t65 to i32
+ store i32 %t68, ptr %sc_l_i_0
+ br label %loop.c1
+loop.e0:
+ %t69 = load double, ptr %sc_l_found_0
+ %t70 = fcmp olt double %t69, 0x0000000000000000
+ br i1 %t70, label %if.t17, label %if.j18
+if.t17:
+ %t71 = load ptr, ptr %sc_l_this_0
+ %t72 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t71, i64 0, i32 4
+ %t73 = load ptr, ptr %t72, !tbaa !54
+ %t74 = call ptr @scr_arr_retain_v(ptr %t73)
+ %t75 = load ptr, ptr %sc_l_kk_0
+ %t76 = call ptr @sc_rc_retain_str(ptr %t75)
+ %t77 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 1
+ %t78 = load i64, ptr %t77, !tbaa !2
+ %t81 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 2
+ %t79 = load i64, ptr %t81, !tbaa !2
+ %t80 = icmp ult i64 %t78, %t79
+ br i1 %t80, label %arr.push.dense19, label %arr.push.slow20
+arr.push.dense19:
+ %t82 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 8
+ %t84 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 9
+ %t83 = load ptr, ptr %t82, !tbaa !2
+ %t85 = load ptr, ptr %t84, !tbaa !2
+ %t86 = getelementptr inbounds i8, ptr %t85, i64 %t78
+ %t87 = getelementptr inbounds i64, ptr %t83, i64 %t78
+ store ptr %t76, ptr %t87, !tbaa !6
+ store i8 1, ptr %t86, !tbaa !4
+ %t88 = add nuw i64 %t78, 1
+ store i64 %t88, ptr %t77, !tbaa !2
+ %t90 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 6
+ %t91 = load i32, ptr %t90, !tbaa !2
+ %t95 = zext i32 %t91 to i64
+ %t92 = icmp eq i64 %t95, %t78
+ %t93 = add i32 %t91, 1
+ %t94 = select i1 %t92, i32 %t93, i32 %t91
+ store i32 %t94, ptr %t90, !tbaa !2
+ %t89 = sitofp i64 %t88 to double
+ br label %arr.push.join21
+arr.push.slow20:
+ %t96 = call double @scr_arr_push_ref(ptr %t74, ptr %t76) cold
+ br label %arr.push.join21
+arr.push.join21:
+ %t97 = phi double [ %t89, %arr.push.dense19 ], [ %t96, %arr.push.slow20 ]
+ call void @scr_arr_release(ptr %t74)
+ %t98 = load ptr, ptr %sc_l_this_0
+ %t99 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t98, i64 0, i32 5
+ %t100 = load ptr, ptr %t99, !tbaa !56
+ %t101 = call ptr @scr_arr_retain_v(ptr %t100)
+ %t102 = load ptr, ptr %sc_l_vv_0
+ %t103 = call ptr @sc_rc_retain_str(ptr %t102)
+ %t104 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 1
+ %t105 = load i64, ptr %t104, !tbaa !2
+ %t108 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 2
+ %t106 = load i64, ptr %t108, !tbaa !2
+ %t107 = icmp ult i64 %t105, %t106
+ br i1 %t107, label %arr.push.dense22, label %arr.push.slow23
+arr.push.dense22:
+ %t109 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 8
+ %t111 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 9
+ %t110 = load ptr, ptr %t109, !tbaa !2
+ %t112 = load ptr, ptr %t111, !tbaa !2
+ %t113 = getelementptr inbounds i8, ptr %t112, i64 %t105
+ %t114 = getelementptr inbounds i64, ptr %t110, i64 %t105
+ store ptr %t103, ptr %t114, !tbaa !6
+ store i8 1, ptr %t113, !tbaa !4
+ %t115 = add nuw i64 %t105, 1
+ store i64 %t115, ptr %t104, !tbaa !2
+ %t117 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 6
+ %t118 = load i32, ptr %t117, !tbaa !2
+ %t122 = zext i32 %t118 to i64
+ %t119 = icmp eq i64 %t122, %t105
+ %t120 = add i32 %t118, 1
+ %t121 = select i1 %t119, i32 %t120, i32 %t118
+ store i32 %t121, ptr %t117, !tbaa !2
+ %t116 = sitofp i64 %t115 to double
+ br label %arr.push.join24
+arr.push.slow23:
+ %t123 = call double @scr_arr_push_ref(ptr %t101, ptr %t103) cold
+ br label %arr.push.join24
+arr.push.join24:
+ %t124 = phi double [ %t116, %arr.push.dense22 ], [ %t123, %arr.push.slow23 ]
+ call void @scr_arr_release(ptr %t101)
+ br label %if.j18
+if.j18:
+ %t125 = load ptr, ptr %sc_l_this_0
+ %t126 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t125, i64 0, i32 6
+ %t127 = load ptr, ptr %t126, !tbaa !58
+ %t128 = call ptr @scr_arr_retain_v(ptr %t127)
+ %t129 = load ptr, ptr %sc_l_kk_0
+ %t130 = call ptr @sc_rc_retain_str(ptr %t129)
+ %t131 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 1
+ %t132 = load i64, ptr %t131, !tbaa !2
+ %t135 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 2
+ %t133 = load i64, ptr %t135, !tbaa !2
+ %t134 = icmp ult i64 %t132, %t133
+ br i1 %t134, label %arr.push.dense25, label %arr.push.slow26
+arr.push.dense25:
+ %t136 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 8
+ %t138 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 9
+ %t137 = load ptr, ptr %t136, !tbaa !2
+ %t139 = load ptr, ptr %t138, !tbaa !2
+ %t140 = getelementptr inbounds i8, ptr %t139, i64 %t132
+ %t141 = getelementptr inbounds i64, ptr %t137, i64 %t132
+ store ptr %t130, ptr %t141, !tbaa !6
+ store i8 1, ptr %t140, !tbaa !4
+ %t142 = add nuw i64 %t132, 1
+ store i64 %t142, ptr %t131, !tbaa !2
+ %t144 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 6
+ %t145 = load i32, ptr %t144, !tbaa !2
+ %t149 = zext i32 %t145 to i64
+ %t146 = icmp eq i64 %t149, %t132
+ %t147 = add i32 %t145, 1
+ %t148 = select i1 %t146, i32 %t147, i32 %t145
+ store i32 %t148, ptr %t144, !tbaa !2
+ %t143 = sitofp i64 %t142 to double
+ br label %arr.push.join27
+arr.push.slow26:
+ %t150 = call double @scr_arr_push_ref(ptr %t128, ptr %t130) cold
+ br label %arr.push.join27
+arr.push.join27:
+ %t151 = phi double [ %t143, %arr.push.dense25 ], [ %t150, %arr.push.slow26 ]
+ call void @scr_arr_release(ptr %t128)
+ %t152 = load ptr, ptr %sc_l_this_0
+ %t153 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t152, i64 0, i32 6
+ %t154 = load ptr, ptr %t153, !tbaa !58
+ %t155 = call ptr @scr_arr_retain_v(ptr %t154)
+ %t156 = load ptr, ptr %sc_l_vv_0
+ %t157 = call ptr @sc_rc_retain_str(ptr %t156)
+ %t158 = getelementptr inbounds %ScrArr, ptr %t155, i32 0, i32 1
+ %t159 = load i64, ptr %t158, !tbaa !2
+ %t162 = getelementptr inbounds %ScrArr, ptr %t155, i32 0, i32 2
+ %t160 = load i64, ptr %t162, !tbaa !2
+ %t161 = icmp ult i64 %t159, %t160
+ br i1 %t161, label %arr.push.dense28, label %arr.push.slow29
+arr.push.dense28:
+ %t163 = getelementptr inbounds %ScrArr, ptr %t155, i32 0, i32 8
+ %t165 = getelementptr inbounds %ScrArr, ptr %t155, i32 0, i32 9
+ %t164 = load ptr, ptr %t163, !tbaa !2
+ %t166 = load ptr, ptr %t165, !tbaa !2
+ %t167 = getelementptr inbounds i8, ptr %t166, i64 %t159
+ %t168 = getelementptr inbounds i64, ptr %t164, i64 %t159
+ store ptr %t157, ptr %t168, !tbaa !6
+ store i8 1, ptr %t167, !tbaa !4
+ %t169 = add nuw i64 %t159, 1
+ store i64 %t169, ptr %t158, !tbaa !2
+ %t171 = getelementptr inbounds %ScrArr, ptr %t155, i32 0, i32 6
+ %t172 = load i32, ptr %t171, !tbaa !2
+ %t176 = zext i32 %t172 to i64
+ %t173 = icmp eq i64 %t176, %t159
+ %t174 = add i32 %t172, 1
+ %t175 = select i1 %t173, i32 %t174, i32 %t172
+ store i32 %t175, ptr %t171, !tbaa !2
+ %t170 = sitofp i64 %t169 to double
+ br label %arr.push.join30
+arr.push.slow29:
+ %t177 = call double @scr_arr_push_ref(ptr %t155, ptr %t157) cold
+ br label %arr.push.join30
+arr.push.join30:
+ %t178 = phi double [ %t170, %arr.push.dense28 ], [ %t177, %arr.push.slow29 ]
+ call void @scr_arr_release(ptr %t155)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_writeBody(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0) #0 { ; %%m2.FetchResponseSink.writeBody
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_str_0 = alloca ptr ; str
+ %sc_l_haveCT_0 = alloca i1 ; haveCT
+ %sc_l_i_0 = alloca double ; i
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %s23 = alloca ptr
+ %s57 = alloca i1
+ %s71 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s89 = alloca ptr
+ %s104 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l_str_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_s_0
+ store ptr %t4, ptr %sc_l_str_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t5, i64 0, i32 9
+ %t7 = load i8, ptr %t6, !tbaa !62
+ %t8 = trunc i8 %t7 to i1
+ %t9 = xor i1 %t8, true
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = load ptr, ptr %sc_l_this_0
+ %t11 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t10, i64 0, i32 9
+ %t12 = zext i1 true to i8
+ store i8 %t12, ptr %t11, !tbaa !62
+ store i1 false, ptr %sc_l_haveCT_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c5
+loop.c5:
+ %t13 = load double, ptr %sc_l_i_0
+ %t14 = fadd double %t13, 0x3FF0000000000000
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t16 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t15, i64 0, i32 6
+ %t17 = load ptr, ptr %t16, !tbaa !58
+ %t18 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1
+ %t19 = load i64, ptr %t18, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t20 = sitofp i64 %t19 to double
+ %t22 = fptosi double %t20 to i64
+ %t21 = fcmp olt double %t14, %t20
+ br i1 %t21, label %loop.b6, label %loop.e4
+loop.b6:
+ %t24 = load ptr, ptr %sc_l_this_0
+ %t25 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t24, i64 0, i32 6
+ %t26 = load ptr, ptr %t25, !tbaa !58
+ %t27 = load double, ptr %sc_l_i_0
+ %t28 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 2
+ %t29 = load i64, ptr %t28, !tbaa !2
+ %t30 = fptosi double %t27 to i64
+ %t31 = freeze i64 %t30
+ %t32 = sitofp i64 %t31 to double
+ %t33 = fcmp oeq double %t32, %t27
+ %t34 = icmp ult i64 %t31, %t29
+ %t35 = and i1 %t33, %t34
+ br i1 %t35, label %local.array.range11, label %local.array.slow8
+local.array.range11:
+ br label %local.array.dense12
+local.array.dense12:
+ %t36 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 6
+ %t37 = load i32, ptr %t36, !tbaa !2
+ %t39 = zext i32 %t37 to i64
+ %t38 = icmp ult i64 %t31, %t39
+ br i1 %t38, label %local.array.value14, label %local.array.len13
+local.array.len13:
+ %t40 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 1
+ %t41 = load i64, ptr %t40, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t42 = icmp ult i64 %t31, %t41
+ br i1 %t42, label %local.array.state15, label %local.array.missing9
+local.array.state15:
+ %t43 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 9
+ %t44 = load ptr, ptr %t43, !tbaa !2
+ %t45 = getelementptr inbounds i8, ptr %t44, i64 %t31
+ %t46 = load i8, ptr %t45, !tbaa !4
+ %t47 = icmp eq i8 %t46, 1
+ br i1 %t47, label %local.array.value14, label %local.array.missing9
+local.array.value14:
+ %t48 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 8
+ %t49 = load ptr, ptr %t48, !tbaa !2
+ %t50 = getelementptr inbounds i64, ptr %t49, i64 %t31
+ %t51 = load ptr, ptr %t50, !tbaa !6
+ %t52 = call ptr @sc_rc_retain_str(ptr %t51)
+ store ptr %t52, ptr %s23
+ br label %local.array.join10
+local.array.slow8:
+ %t53 = call ptr @scr_arr_peek_ref(ptr %t26, double %t27)
+ %t54 = icmp ne ptr %t53, null
+ br i1 %t54, label %local.array.slow.value16, label %local.array.missing9
+local.array.slow.value16:
+ %t55 = call ptr @sc_rc_retain_str(ptr %t53)
+ store ptr %t55, ptr %s23
+ br label %local.array.join10
+local.array.missing9:
+ store ptr null, ptr %s23
+ br label %local.array.join10
+local.array.join10:
+ %t56 = load ptr, ptr %s23
+ %t58 = icmp eq ptr %t56, @sc_lit_2329537264393449
+ %t60 = icmp ne ptr %t56, null
+ %t61 = icmp ne ptr @sc_lit_2329537264393449, null
+ %t59 = and i1 %t60, %t61
+ store i1 %t58, ptr %s57
+ %t62 = xor i1 %t58, true
+ %t63 = and i1 %t62, %t59
+ br i1 %t63, label %ues.b17, label %ues.j18
+ues.b17:
+ %t64 = call zeroext i1 @sc_streq_2329537264393449(ptr %t56)
+ store i1 %t64, ptr %s57
+ br label %ues.j18
+ues.j18:
+ %t65 = load i1, ptr %s57
+ %t66 = load ptr, ptr %s23
+ call void @scr_str_release(ptr %t66)
+ br i1 %t65, label %if.t19, label %if.j20
+if.t19:
+ store i1 true, ptr %sc_l_haveCT_0
+ br label %if.j20
+if.j20:
+ br label %loop.u7
+loop.u7:
+ %t67 = load double, ptr %sc_l_i_0
+ %t68 = fadd double %t67, 0x4000000000000000
+ store double %t68, ptr %sc_l_i_0
+ br label %loop.c5
+loop.e4:
+ %t69 = load i1, ptr %sc_l_haveCT_0
+ %t70 = xor i1 %t69, true
+ store i1 %t70, ptr %s71
+ br i1 %t70, label %log.r21, label %log.j22
+log.r21:
+ %t72 = load ptr, ptr %sc_l_str_0
+ %t73 = call double @sc_str_utf16_len(ptr %t72)
+ %t75 = fptosi double %t73 to i32
+ %t76 = sext i32 %t75 to i64
+ %t74 = icmp sgt i64 %t76, 0
+ store i1 %t74, ptr %s71
+ br label %log.j22
+log.j22:
+ %t77 = load i1, ptr %s71
+ br i1 %t77, label %if.t23, label %if.j24
+if.t23:
+ %t78 = load ptr, ptr %sc_l_this_0
+ store ptr %t78, ptr %sc_l__x25_callbackReceiver_0
+ %t79 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t80 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t79, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t81 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t80)
+ %t82 = load i32, ptr %exc.cell
+ %t83 = icmp ne i32 %t82, 0
+ %t84 = call i1 @llvm.expect.i1(i1 %t83, i1 false)
+ br i1 %t84, label %exc.u25, label %exc.k26
+exc.u25:
+ call void @sc_rc_release_dyn(ptr %t81)
+ ret void
+exc.k26:
+ store ptr %t81, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t85 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t86 = getelementptr inbounds i8, ptr %t85, i64 8 ; ->kind
+ %t87 = load i32, ptr %t86
+ %t88 = icmp eq i32 %t87, 6
+ br i1 %t88, label %tern.t27, label %tern.f28
+tern.t27:
+ %t91 = call ptr @scr_dyn_undefined()
+ %t90 = call ptr @scr_dyn_retain_v(ptr %t91)
+ store ptr %t90, ptr %s89
+ br label %tern.j29
+tern.f28:
+ %t92 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t93 = call ptr @sc_rc_retain_dyn(ptr %t92)
+ %t94 = call ptr @sc_f__x25_dyn_class_property_15(ptr %t93)
+ %t95 = load i32, ptr %exc.cell
+ %t96 = icmp ne i32 %t95, 0
+ %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false)
+ br i1 %t97, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t94)
+ br label %exc.cleanup32
+exc.k31:
+ store ptr %t94, ptr %s89
+ br label %tern.j29
+tern.j29:
+ %t98 = load ptr, ptr %s89
+ store ptr %t98, ptr %sc_l__x25_callback_0
+ %t99 = load ptr, ptr %sc_l__x25_callback_0
+ %t100 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t102 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t103 = call ptr @sc_td_0(ptr @sc_lit_266676967674785)
+ %t105 = getelementptr inbounds [2 x ptr], ptr %s104, i64 0, i64 0
+ store ptr %t102, ptr %t105
+ %t106 = getelementptr inbounds [2 x ptr], ptr %s104, i64 0, i64 1
+ store ptr %t103, ptr %t106
+ call void @scr_dyn_this_push_dyn(ptr %t101)
+ %t107 = call ptr @scr_dyn_call(ptr %t99, ptr %s104, i64 2, ptr @sc_cs_974332463763722)
+ call void @scr_dyn_this_pop()
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u33, label %exc.k34
+exc.u33:
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t107)
+ br label %exc.cleanup35
+exc.k34:
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t107)
+ %t111 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t111)
+ %t112 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t112)
+ br label %if.j24
+if.j24:
+ br label %if.j3
+if.j3:
+ %t113 = load ptr, ptr %sc_l_this_0
+ %t114 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t113, i64 0, i32 7
+ %t115 = load ptr, ptr %t114, !tbaa !60
+ %t116 = call ptr @scr_arr_retain_v(ptr %t115)
+ %t117 = load ptr, ptr %sc_l_str_0
+ %t118 = call ptr @sc_rc_retain_str(ptr %t117)
+ %t119 = getelementptr inbounds %ScrArr, ptr %t116, i32 0, i32 1
+ %t120 = load i64, ptr %t119, !tbaa !2
+ %t123 = getelementptr inbounds %ScrArr, ptr %t116, i32 0, i32 2
+ %t121 = load i64, ptr %t123, !tbaa !2
+ %t122 = icmp ult i64 %t120, %t121
+ br i1 %t122, label %arr.push.dense36, label %arr.push.slow37
+arr.push.dense36:
+ %t124 = getelementptr inbounds %ScrArr, ptr %t116, i32 0, i32 8
+ %t126 = getelementptr inbounds %ScrArr, ptr %t116, i32 0, i32 9
+ %t125 = load ptr, ptr %t124, !tbaa !2
+ %t127 = load ptr, ptr %t126, !tbaa !2
+ %t128 = getelementptr inbounds i8, ptr %t127, i64 %t120
+ %t129 = getelementptr inbounds i64, ptr %t125, i64 %t120
+ store ptr %t118, ptr %t129, !tbaa !6
+ store i8 1, ptr %t128, !tbaa !4
+ %t130 = add nuw i64 %t120, 1
+ store i64 %t130, ptr %t119, !tbaa !2
+ %t132 = getelementptr inbounds %ScrArr, ptr %t116, i32 0, i32 6
+ %t133 = load i32, ptr %t132, !tbaa !2
+ %t137 = zext i32 %t133 to i64
+ %t134 = icmp eq i64 %t137, %t120
+ %t135 = add i32 %t133, 1
+ %t136 = select i1 %t134, i32 %t135, i32 %t133
+ store i32 %t136, ptr %t132, !tbaa !2
+ %t131 = sitofp i64 %t130 to double
+ br label %arr.push.join38
+arr.push.slow37:
+ %t138 = call double @scr_arr_push_ref(ptr %t116, ptr %t118) cold
+ br label %arr.push.join38
+arr.push.join38:
+ %t139 = phi double [ %t131, %arr.push.dense36 ], [ %t138, %arr.push.slow37 ]
+ call void @scr_arr_release(ptr %t116)
+ %t140 = load ptr, ptr %sc_l_this_0
+ %t141 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t140, i64 0, i32 8
+ %t142 = zext i1 true to i8
+ store i8 %t142, ptr %t141, !tbaa !42
+ ret void
+exc.cleanup32:
+ %t143 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t143)
+ ret void
+exc.cleanup35:
+ %t144 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t144)
+ %t145 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t145)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_writeBody(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_writeBody(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p_sc_l_this_0, ptr %p_sc_l__b_0, ptr %p_sc_l_ct_0) #0 { ; %%m2.FetchResponseSink.bodyBytes
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__b_0 = alloca ptr ; _b
+ %sc_l_ct_0 = alloca ptr ; ct
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s15 = alloca ptr
+ %s31 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__b_0, ptr %sc_l__b_0
+ store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t5, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t7 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t6)
+ %t8 = load i32, ptr %exc.cell
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t7)
+ ret void
+exc.k3:
+ store ptr %t7, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 6
+ br i1 %t14, label %tern.t4, label %tern.f5
+tern.t4:
+ %t17 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t17)
+ store ptr %t16, ptr %s15
+ br label %tern.j6
+tern.f5:
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = call ptr @sc_rc_retain_dyn(ptr %t18)
+ %t20 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t20, ptr %s15
+ br label %tern.j6
+tern.j6:
+ %t24 = load ptr, ptr %s15
+ store ptr %t24, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t28 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t29 = load ptr, ptr %sc_l_ct_0
+ %t30 = call ptr @sc_td_0(ptr %t29)
+ %t32 = getelementptr inbounds [2 x ptr], ptr %s31, i64 0, i64 0
+ store ptr %t28, ptr %t32
+ %t33 = getelementptr inbounds [2 x ptr], ptr %s31, i64 0, i64 1
+ store ptr %t30, ptr %t33
+ call void @scr_dyn_this_push_dyn(ptr %t27)
+ %t34 = call ptr @scr_dyn_call(ptr %t25, ptr %s31, i64 2, ptr @sc_cs_2568656638816103)
+ call void @scr_dyn_this_pop()
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t34)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t34)
+ %t38 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t39 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load ptr, ptr %sc_l_this_0
+ %t41 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t40, i64 0, i32 9
+ %t42 = load i8, ptr %t41, !tbaa !62
+ %t43 = trunc i8 %t42 to i1
+ %t44 = xor i1 %t43, true
+ br i1 %t44, label %if.t13, label %if.j14
+if.t13:
+ %t45 = load ptr, ptr %sc_l_this_0
+ %t46 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t45, i64 0, i32 9
+ %t47 = zext i1 true to i8
+ store i8 %t47, ptr %t46, !tbaa !62
+ br label %if.j14
+if.j14:
+ %t48 = load ptr, ptr %sc_l_this_0
+ %t49 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t48, i64 0, i32 8
+ %t50 = zext i1 true to i8
+ store i8 %t50, ptr %t49, !tbaa !42
+ ret void
+exc.cleanup9:
+ %t51 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret void
+exc.cleanup12:
+ %t52 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t52)
+ %t53 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t53)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_redirect(ptr %p_sc_l_this_0, ptr %p_sc_l_url_0, double %p_sc_l_code_0) #0 { ; %%m2.FetchResponseSink.redirect
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_code_0 = alloca double ; code
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s18 = alloca ptr
+ %s34 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_url_0, ptr %sc_l_url_0
+ store double %p_sc_l_code_0, ptr %sc_l_code_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load double, ptr %sc_l_code_0
+ %t6 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 3
+ store double %t5, ptr %t6, !tbaa !52
+ %t7 = load ptr, ptr %sc_l_this_0
+ store ptr %t7, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret void
+exc.k3:
+ store ptr %t10, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t14 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind
+ %t16 = load i32, ptr %t15
+ %t17 = icmp eq i32 %t16, 6
+ br i1 %t17, label %tern.t4, label %tern.f5
+tern.t4:
+ %t20 = call ptr @scr_dyn_undefined()
+ %t19 = call ptr @scr_dyn_retain_v(ptr %t20)
+ store ptr %t19, ptr %s18
+ br label %tern.j6
+tern.f5:
+ %t21 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t23 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t22)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t23)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t23, ptr %s18
+ br label %tern.j6
+tern.j6:
+ %t27 = load ptr, ptr %s18
+ store ptr %t27, ptr %sc_l__x25_callback_0
+ %t28 = load ptr, ptr %sc_l__x25_callback_0
+ %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_4062345987786846)
+ %t32 = load ptr, ptr %sc_l_url_0
+ %t33 = call ptr @sc_td_0(ptr %t32)
+ %t35 = getelementptr inbounds [2 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t31, ptr %t35
+ %t36 = getelementptr inbounds [2 x ptr], ptr %s34, i64 0, i64 1
+ store ptr %t33, ptr %t36
+ call void @scr_dyn_this_push_dyn(ptr %t30)
+ %t37 = call ptr @scr_dyn_call(ptr %t28, ptr %s34, i64 2, ptr @sc_cs_2568656638816103)
+ call void @scr_dyn_this_pop()
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t37)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t41 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t42 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ %t43 = load ptr, ptr %sc_l_this_0
+ %t44 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t43, i64 0, i32 8
+ %t45 = zext i1 true to i8
+ store i8 %t45, ptr %t44, !tbaa !42
+ ret void
+exc.cleanup9:
+ %t46 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret void
+exc.cleanup12:
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_redirect(ptr %p0, ptr %p1, double %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_redirect(ptr %p0, ptr %p1, double %p2)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_write(ptr %p_sc_l_this_0, ptr %p_sc_l_chunk_0) #0 { ; %%m2.FetchResponseSink.write
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_chunk_0 = alloca ptr ; chunk
+ %sc_l_ctl_0 = alloca ptr ; ctl
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_ctl_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 12
+ %t6 = load ptr, ptr %t5, !tbaa !68
+ %t7 = call ptr @sc_rretain_r2(ptr %t6)
+ store ptr %t7, ptr %sc_l_ctl_0
+ %t8 = load ptr, ptr %sc_l_ctl_0
+ %t10 = icmp ne ptr %t8, null
+ br i1 %t10, label %if.t2, label %if.j3
+if.t2:
+ %t11 = load ptr, ptr %sc_l_ctl_0
+ %t12 = getelementptr inbounds %sc_rs_r2, ptr %t11, i64 0, i32 2
+ %t13 = load ptr, ptr %t12
+ %t14 = call ptr @scr_closure_retain_v(ptr %t13)
+ %t15 = load ptr, ptr %sc_l_chunk_0
+ %t16 = call ptr @sc_rc_retain_str(ptr %t15)
+ %t17 = call ptr @scr_bytes_from_str(ptr %t16, ptr @sc_lit_2605532998565466)
+ %t18 = getelementptr inbounds %ScrClosure, ptr %t14, i64 0, i32 1
+ %t19 = load ptr, ptr %t18
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t19(ptr %t14, ptr %t17)
+ call void @scr_dyn_this_pop()
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_closure_release(ptr %t14)
+ call void @scr_str_release(ptr %t16)
+ br label %exc.cleanup6
+exc.k5:
+ call void @scr_closure_release(ptr %t14)
+ call void @scr_str_release(ptr %t16)
+ %t23 = load ptr, ptr %sc_l_ctl_0
+ call void @sc_rrelease_r2(ptr %t23)
+ ret void
+if.j3:
+ %t24 = load ptr, ptr %sc_l_this_0
+ %t25 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t24, i64 0, i32 7
+ %t26 = load ptr, ptr %t25, !tbaa !60
+ %t27 = call ptr @scr_arr_retain_v(ptr %t26)
+ %t28 = load ptr, ptr %sc_l_chunk_0
+ %t29 = call ptr @sc_rc_retain_str(ptr %t28)
+ %t30 = getelementptr inbounds %ScrArr, ptr %t27, i32 0, i32 1
+ %t31 = load i64, ptr %t30, !tbaa !2
+ %t34 = getelementptr inbounds %ScrArr, ptr %t27, i32 0, i32 2
+ %t32 = load i64, ptr %t34, !tbaa !2
+ %t33 = icmp ult i64 %t31, %t32
+ br i1 %t33, label %arr.push.dense7, label %arr.push.slow8
+arr.push.dense7:
+ %t35 = getelementptr inbounds %ScrArr, ptr %t27, i32 0, i32 8
+ %t37 = getelementptr inbounds %ScrArr, ptr %t27, i32 0, i32 9
+ %t36 = load ptr, ptr %t35, !tbaa !2
+ %t38 = load ptr, ptr %t37, !tbaa !2
+ %t39 = getelementptr inbounds i8, ptr %t38, i64 %t31
+ %t40 = getelementptr inbounds i64, ptr %t36, i64 %t31
+ store ptr %t29, ptr %t40, !tbaa !6
+ store i8 1, ptr %t39, !tbaa !4
+ %t41 = add nuw i64 %t31, 1
+ store i64 %t41, ptr %t30, !tbaa !2
+ %t43 = getelementptr inbounds %ScrArr, ptr %t27, i32 0, i32 6
+ %t44 = load i32, ptr %t43, !tbaa !2
+ %t48 = zext i32 %t44 to i64
+ %t45 = icmp eq i64 %t48, %t31
+ %t46 = add i32 %t44, 1
+ %t47 = select i1 %t45, i32 %t46, i32 %t44
+ store i32 %t47, ptr %t43, !tbaa !2
+ %t42 = sitofp i64 %t41 to double
+ br label %arr.push.join9
+arr.push.slow8:
+ %t49 = call double @scr_arr_push_ref(ptr %t27, ptr %t29) cold
+ br label %arr.push.join9
+arr.push.join9:
+ %t50 = phi double [ %t42, %arr.push.dense7 ], [ %t49, %arr.push.slow8 ]
+ call void @scr_arr_release(ptr %t27)
+ %t51 = load ptr, ptr %sc_l_ctl_0
+ call void @sc_rrelease_r2(ptr %t51)
+ ret void
+exc.cleanup6:
+ %t52 = load ptr, ptr %sc_l_ctl_0
+ call void @sc_rrelease_r2(ptr %t52)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_write(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_write(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_writeHead(ptr %p_sc_l_this_0, double %p_sc_l_status_0, ptr %p_sc_l_flatPairs_0) #0 { ; %%m2.FetchResponseSink.writeHead
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_status_0 = alloca double ; status
+ %sc_l_flatPairs_0 = alloca ptr ; flatPairs
+ %sc_l_i_0 = alloca double ; i
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s26 = alloca ptr
+ %s39 = alloca ptr
+ %s71 = alloca ptr
+ %s81 = alloca ptr
+ %s114 = alloca ptr
+ %s125 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store double %p_sc_l_status_0, ptr %sc_l_status_0
+ store ptr %p_sc_l_flatPairs_0, ptr %sc_l_flatPairs_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load double, ptr %sc_l_status_0
+ %t6 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 3
+ store double %t5, ptr %t6, !tbaa !52
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t7 = load double, ptr %sc_l_i_0
+ %t8 = fadd double %t7, 0x3FF0000000000000
+ %t9 = load ptr, ptr %sc_l_flatPairs_0
+ %t10 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1
+ %t11 = load i64, ptr %t10, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t12 = sitofp i64 %t11 to double
+ %t14 = fptosi double %t12 to i64
+ %t13 = fcmp olt double %t8, %t12
+ br i1 %t13, label %loop.b4, label %loop.e2
+loop.b4:
+ %t15 = load ptr, ptr %sc_l_this_0
+ store ptr %t15, ptr %sc_l__x25_callbackReceiver_0
+ %t16 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret void
+exc.k7:
+ store ptr %t18, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t22 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t23 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t24 = load i32, ptr %t23
+ %t25 = icmp eq i32 %t24, 6
+ br i1 %t25, label %tern.t8, label %tern.f9
+tern.t8:
+ %t28 = call ptr @scr_dyn_undefined()
+ %t27 = call ptr @scr_dyn_retain_v(ptr %t28)
+ store ptr %t27, ptr %s26
+ br label %tern.j10
+tern.f9:
+ %t29 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t30)
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup13
+exc.k12:
+ store ptr %t31, ptr %s26
+ br label %tern.j10
+tern.j10:
+ %t35 = load ptr, ptr %s26
+ store ptr %t35, ptr %sc_l__x25_callback_0
+ %t36 = load ptr, ptr %sc_l__x25_callback_0
+ %t37 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t38 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t37, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t40 = load ptr, ptr %sc_l_flatPairs_0
+ %t41 = load double, ptr %sc_l_i_0
+ %t42 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 2
+ %t43 = load i64, ptr %t42, !tbaa !2
+ %t44 = fptosi double %t41 to i64
+ %t45 = freeze i64 %t44
+ %t46 = sitofp i64 %t45 to double
+ %t47 = fcmp oeq double %t46, %t41
+ %t48 = icmp ult i64 %t45, %t43
+ %t49 = and i1 %t47, %t48
+ br i1 %t49, label %local.array.range17, label %local.array.slow14
+local.array.range17:
+ br label %local.array.dense18
+local.array.dense18:
+ %t50 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 6
+ %t51 = load i32, ptr %t50, !tbaa !2
+ %t53 = zext i32 %t51 to i64
+ %t52 = icmp ult i64 %t45, %t53
+ br i1 %t52, label %local.array.value20, label %local.array.len19
+local.array.len19:
+ %t54 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 1
+ %t55 = load i64, ptr %t54, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t56 = icmp ult i64 %t45, %t55
+ br i1 %t56, label %local.array.state21, label %local.array.missing15
+local.array.state21:
+ %t57 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 9
+ %t58 = load ptr, ptr %t57, !tbaa !2
+ %t59 = getelementptr inbounds i8, ptr %t58, i64 %t45
+ %t60 = load i8, ptr %t59, !tbaa !4
+ %t61 = icmp eq i8 %t60, 1
+ br i1 %t61, label %local.array.value20, label %local.array.missing15
+local.array.value20:
+ %t62 = getelementptr inbounds %ScrArr, ptr %t40, i32 0, i32 8
+ %t63 = load ptr, ptr %t62, !tbaa !2
+ %t64 = getelementptr inbounds i64, ptr %t63, i64 %t45
+ %t65 = load ptr, ptr %t64, !tbaa !6
+ %t66 = call ptr @sc_rc_retain_str(ptr %t65)
+ store ptr %t66, ptr %s39
+ br label %local.array.join16
+local.array.slow14:
+ %t67 = call ptr @scr_arr_peek_ref(ptr %t40, double %t41)
+ %t68 = icmp ne ptr %t67, null
+ br i1 %t68, label %local.array.slow.value22, label %local.array.missing15
+local.array.slow.value22:
+ %t69 = call ptr @sc_rc_retain_str(ptr %t67)
+ store ptr %t69, ptr %s39
+ br label %local.array.join16
+local.array.missing15:
+ store ptr null, ptr %s39
+ br label %local.array.join16
+local.array.join16:
+ %t70 = load ptr, ptr %s39
+ %t73 = icmp eq ptr %t70, null
+ %t72 = select i1 %t73, i32 1, i32 0
+ switch i32 %t72, label %u.bad24 [ i32 0, label %u.a25 i32 1, label %u.a26 ]
+u.a25:
+ %t74 = call ptr @sc_rc_retain_str(ptr %t70)
+ store ptr %t74, ptr %s71
+ br label %us.j23
+u.a26:
+ store ptr @sc_lit_4134463689533233, ptr %s71
+ br label %us.j23
+u.bad24:
+ call void @sc_bad_tag()
+ unreachable
+us.j23:
+ %t75 = load ptr, ptr %s71
+ %t76 = load i32, ptr %exc.cell
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false)
+ br i1 %t78, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t79 = load ptr, ptr %s39
+ call void @scr_str_release(ptr %t79)
+ call void @scr_str_release(ptr %t75)
+ br label %exc.cleanup29
+exc.k28:
+ %t80 = call ptr @sc_td_0(ptr %t75)
+ %t82 = load ptr, ptr %sc_l_flatPairs_0
+ %t83 = load double, ptr %sc_l_i_0
+ %t84 = fadd double %t83, 0x3FF0000000000000
+ %t85 = getelementptr inbounds %ScrArr, ptr %t82, i32 0, i32 2
+ %t86 = load i64, ptr %t85, !tbaa !2
+ %t87 = fptosi double %t84 to i64
+ %t88 = freeze i64 %t87
+ %t89 = sitofp i64 %t88 to double
+ %t90 = fcmp oeq double %t89, %t84
+ %t91 = icmp ult i64 %t88, %t86
+ %t92 = and i1 %t90, %t91
+ br i1 %t92, label %local.array.range33, label %local.array.slow30
+local.array.range33:
+ br label %local.array.dense34
+local.array.dense34:
+ %t93 = getelementptr inbounds %ScrArr, ptr %t82, i32 0, i32 6
+ %t94 = load i32, ptr %t93, !tbaa !2
+ %t96 = zext i32 %t94 to i64
+ %t95 = icmp ult i64 %t88, %t96
+ br i1 %t95, label %local.array.value36, label %local.array.len35
+local.array.len35:
+ %t97 = getelementptr inbounds %ScrArr, ptr %t82, i32 0, i32 1
+ %t98 = load i64, ptr %t97, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t99 = icmp ult i64 %t88, %t98
+ br i1 %t99, label %local.array.state37, label %local.array.missing31
+local.array.state37:
+ %t100 = getelementptr inbounds %ScrArr, ptr %t82, i32 0, i32 9
+ %t101 = load ptr, ptr %t100, !tbaa !2
+ %t102 = getelementptr inbounds i8, ptr %t101, i64 %t88
+ %t103 = load i8, ptr %t102, !tbaa !4
+ %t104 = icmp eq i8 %t103, 1
+ br i1 %t104, label %local.array.value36, label %local.array.missing31
+local.array.value36:
+ %t105 = getelementptr inbounds %ScrArr, ptr %t82, i32 0, i32 8
+ %t106 = load ptr, ptr %t105, !tbaa !2
+ %t107 = getelementptr inbounds i64, ptr %t106, i64 %t88
+ %t108 = load ptr, ptr %t107, !tbaa !6
+ %t109 = call ptr @sc_rc_retain_str(ptr %t108)
+ store ptr %t109, ptr %s81
+ br label %local.array.join32
+local.array.slow30:
+ %t110 = call ptr @scr_arr_peek_ref(ptr %t82, double %t84)
+ %t111 = icmp ne ptr %t110, null
+ br i1 %t111, label %local.array.slow.value38, label %local.array.missing31
+local.array.slow.value38:
+ %t112 = call ptr @sc_rc_retain_str(ptr %t110)
+ store ptr %t112, ptr %s81
+ br label %local.array.join32
+local.array.missing31:
+ store ptr null, ptr %s81
+ br label %local.array.join32
+local.array.join32:
+ %t113 = load ptr, ptr %s81
+ %t116 = icmp eq ptr %t113, null
+ %t115 = select i1 %t116, i32 1, i32 0
+ switch i32 %t115, label %u.bad40 [ i32 0, label %u.a41 i32 1, label %u.a42 ]
+u.a41:
+ %t117 = call ptr @sc_rc_retain_str(ptr %t113)
+ store ptr %t117, ptr %s114
+ br label %us.j39
+u.a42:
+ store ptr @sc_lit_4134463689533233, ptr %s114
+ br label %us.j39
+u.bad40:
+ call void @sc_bad_tag()
+ unreachable
+us.j39:
+ %t118 = load ptr, ptr %s114
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t122 = load ptr, ptr %s39
+ call void @scr_str_release(ptr %t122)
+ call void @scr_str_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t80)
+ %t123 = load ptr, ptr %s81
+ call void @scr_str_release(ptr %t123)
+ call void @scr_str_release(ptr %t118)
+ br label %exc.cleanup29
+exc.k44:
+ %t124 = call ptr @sc_td_0(ptr %t118)
+ %t126 = getelementptr inbounds [2 x ptr], ptr %s125, i64 0, i64 0
+ store ptr %t80, ptr %t126
+ %t127 = getelementptr inbounds [2 x ptr], ptr %s125, i64 0, i64 1
+ store ptr %t124, ptr %t127
+ call void @scr_dyn_this_push_dyn(ptr %t38)
+ %t128 = call ptr @scr_dyn_call(ptr %t36, ptr %s125, i64 2, ptr @sc_cs_2568656638816103)
+ call void @scr_dyn_this_pop()
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u45, label %exc.k46
+exc.u45:
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t132 = load ptr, ptr %s39
+ call void @scr_str_release(ptr %t132)
+ call void @scr_str_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t80)
+ %t133 = load ptr, ptr %s81
+ call void @scr_str_release(ptr %t133)
+ call void @scr_str_release(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t124)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup29
+exc.k46:
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t134 = load ptr, ptr %s39
+ call void @scr_str_release(ptr %t134)
+ call void @scr_str_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t80)
+ %t135 = load ptr, ptr %s81
+ call void @scr_str_release(ptr %t135)
+ call void @scr_str_release(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t124)
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t136 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t136)
+ %t137 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %loop.u5
+loop.u5:
+ %t138 = load double, ptr %sc_l_i_0
+ %t139 = fadd double %t138, 0x4000000000000000
+ store double %t139, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ %t140 = load ptr, ptr %sc_l_this_0
+ %t141 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t140, i64 0, i32 9
+ %t142 = zext i1 true to i8
+ store i8 %t142, ptr %t141, !tbaa !62
+ %t143 = load ptr, ptr %sc_l_this_0
+ %t144 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t143, i64 0, i32 8
+ %t145 = zext i1 true to i8
+ store i8 %t145, ptr %t144, !tbaa !42
+ %t146 = load ptr, ptr %sc_l_this_0
+ %t147 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t146, i64 0, i32 11
+ %t148 = zext i1 true to i8
+ store i8 %t148, ptr %t147, !tbaa !66
+ ret void
+exc.cleanup13:
+ %t149 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t149)
+ ret void
+exc.cleanup29:
+ %t150 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t150)
+ %t151 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t151)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_writeHead(ptr %p0, double %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_writeHead(ptr %p0, double %p1, ptr %p2)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ call void @scr_arr_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_endStream(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.endStream
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_ctl_0 = alloca ptr ; ctl
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_ctl_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 13
+ %t6 = zext i1 true to i8
+ store i8 %t6, ptr %t5, !tbaa !70
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t7, i64 0, i32 8
+ %t9 = zext i1 true to i8
+ store i8 %t9, ptr %t8, !tbaa !42
+ %t10 = load ptr, ptr %sc_l_this_0
+ %t11 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t10, i64 0, i32 12
+ %t12 = load ptr, ptr %t11, !tbaa !68
+ %t13 = call ptr @sc_rretain_r2(ptr %t12)
+ store ptr %t13, ptr %sc_l_ctl_0
+ %t14 = load ptr, ptr %sc_l_ctl_0
+ %t16 = icmp ne ptr %t14, null
+ br i1 %t16, label %if.t2, label %if.j3
+if.t2:
+ %t17 = load ptr, ptr %sc_l_ctl_0
+ %t18 = getelementptr inbounds %sc_rs_r2, ptr %t17, i64 0, i32 1
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr @scr_closure_retain_v(ptr %t19)
+ %t21 = getelementptr inbounds %ScrClosure, ptr %t20, i64 0, i32 1
+ %t22 = load ptr, ptr %t21
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t22(ptr %t20)
+ call void @scr_dyn_this_pop()
+ %t23 = load i32, ptr %exc.cell
+ %t24 = icmp ne i32 %t23, 0
+ %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false)
+ br i1 %t25, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_closure_release(ptr %t20)
+ br label %exc.cleanup6
+exc.k5:
+ call void @scr_closure_release(ptr %t20)
+ br label %if.j3
+if.j3:
+ %t26 = load ptr, ptr %sc_l_ctl_0
+ call void @sc_rrelease_r2(ptr %t26)
+ ret void
+exc.cleanup6:
+ %t27 = load ptr, ptr %sc_l_ctl_0
+ call void @sc_rrelease_r2(ptr %t27)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_endStream(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_endStream(ptr %p0)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_adopt(ptr %p_sc_l_this_0, ptr %p_sc_l_view_0) #0 { ; %%m2.FetchResponseSink.adopt
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_view_0 = alloca ptr ; view
+ %sc_l_hs_0 = alloca ptr ; hs
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l__x25_dispatch_receiver_4 = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_hs_0
+ store ptr null, ptr %sc_l_self_0
+ store ptr null, ptr %sc_l__x25_dispatch_receiver_4
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_view_0, ptr %sc_l_view_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load ptr, ptr %sc_l_view_0
+ %t6 = getelementptr inbounds %sc_rs_r1, ptr %t5, i64 0, i32 3
+ %t7 = load double, ptr %t6
+ %t8 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 3
+ store double %t7, ptr %t8, !tbaa !52
+ %t9 = load ptr, ptr %sc_l_view_0
+ %t10 = getelementptr inbounds %sc_rs_r1, ptr %t9, i64 0, i32 2
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @sc_rc_retain_dyn(ptr %t11)
+ store ptr %t12, ptr %sc_l_hs_0
+ %t13 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_trace__x25_m2_FetchResponseSink) ; let self (boxed)
+ store ptr %t13, ptr %sc_l_self_0
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t14)
+ call void @scr_box_set_ref(ptr %t13, ptr %t15)
+ %t16 = load ptr, ptr %sc_l_hs_0
+ store ptr %t16, ptr %sc_l__x25_dispatch_receiver_4
+ %t17 = load ptr, ptr %sc_l__x25_dispatch_receiver_4
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = load ptr, ptr %sc_l__x25_dispatch_receiver_4
+ %t20 = call ptr @sc_rc_retain_dyn(ptr %t19)
+ %t21 = call ptr @sc_f__x25_dyn_class_callback_0(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t21)
+ br label %exc.cleanup4
+exc.k3:
+ %t25 = call ptr @scr_closure_new(ptr @sc_f__x25_fn49, i64 1)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t25, i64 0, i32 4
+ store i32 4, ptr %t26
+ %t27 = getelementptr inbounds %ScrClosure, ptr %t25, i64 0, i32 7
+ store ptr @sc_bf__x25_fn49, ptr %t27
+ %t28 = load ptr, ptr %sc_l_self_0
+ %t29 = call ptr @sc_retain_box(ptr %t28)
+ %t30 = getelementptr inbounds %ScrClosure, ptr %t25, i64 1 ; caps
+ %t31 = getelementptr inbounds ptr, ptr %t30, i64 0 ; caps[0]
+ store ptr %t29, ptr %t31
+ %t32 = call ptr @sc_dfb_9(ptr %t25, ptr null)
+ %t33 = call ptr @sc_bf__x25_dyn_class_call_0(ptr %t18, ptr %t21, ptr %t32, ptr @sc_lit_3120000046228632)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @scr_closure_release(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t33)
+ br label %exc.cleanup4
+exc.k6:
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @scr_closure_release(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t33)
+ %t37 = load ptr, ptr %sc_l_this_0
+ %t38 = load ptr, ptr %sc_l_view_0
+ %t39 = call ptr @sc_rretain_r1(ptr %t38)
+ %t40 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t37, i64 0, i32 10
+ %t41 = load ptr, ptr %t40
+ store ptr %t39, ptr %t40, !tbaa !64
+ call void @sc_rrelease_r1(ptr %t41)
+ %t42 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ %t43 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t43)
+ ret void
+exc.cleanup4:
+ %t44 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ %t45 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t45)
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_adopt(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_adopt(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ call void @sc_rrelease_r1(ptr %p1)
+ ret void
+}
+
+define internal i1 @sc_bf__x25__x25_m2_FetchResponseSink_isSent(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.isSent
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t0, i64 0, i32 8
+ %t2 = load i8, ptr %t1, !tbaa !42
+ %t3 = trunc i8 %t2 to i1
+ ret i1 %t3
+}
+define internal i1 @sc_f__x25__x25_m2_FetchResponseSink_isSent(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m2_FetchResponseSink_isSent(ptr %p0)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ ret i1 %result
+}
+
+define internal i1 @sc_bf__x25__x25_m2_FetchResponseSink_isHeadersSent(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.isHeadersSent
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t0, i64 0, i32 9
+ %t2 = load i8, ptr %t1, !tbaa !62
+ %t3 = trunc i8 %t2 to i1
+ ret i1 %t3
+}
+define internal i1 @sc_f__x25__x25_m2_FetchResponseSink_isHeadersSent(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m2_FetchResponseSink_isHeadersSent(ptr %p0)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ ret i1 %result
+}
+
+define internal double @sc_bf__x25__x25_m2_FetchResponseSink_statusOf(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.statusOf
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t0, i64 0, i32 3
+ %t2 = load double, ptr %t1, !tbaa !52
+ ret double %t2
+}
+define internal double @sc_f__x25__x25_m2_FetchResponseSink_statusOf(ptr %p0) #0 {
+entry:
+ %result = call double @sc_bf__x25__x25_m2_FetchResponseSink_statusOf(ptr %p0)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25__x25_m2_FetchResponseSink_headerOf(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0) #0 { ; %%m2.FetchResponseSink.headerOf
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_kk_0 = alloca ptr ; kk
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv
+ %s47 = alloca ptr
+ %s54 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_kk_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ %t0 = load ptr, ptr %sc_l_k_0
+ %t1 = call ptr @scr_str_to_lower(ptr %t0)
+ store ptr %t1, ptr %sc_l_kk_0
+ store i32 0, ptr %sc_l_i_0
+ br label %loop.c1
+loop.c1:
+ %t2 = load i32, ptr %sc_l_i_0
+ %t3 = uitofp i32 %t2 to double
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t4, i64 0, i32 4
+ %t6 = load ptr, ptr %t5, !tbaa !54
+ %t7 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 1
+ %t8 = load i64, ptr %t7, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t9 = sitofp i64 %t8 to double
+ %t11 = fptosi double %t9 to i64
+ %t12 = zext i32 %t2 to i64
+ %t10 = icmp slt i64 %t12, %t11
+ br i1 %t10, label %loop.b2, label %loop.e0
+loop.b2:
+ %t13 = load ptr, ptr %sc_l_this_0
+ %t14 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t13, i64 0, i32 4
+ %t15 = load ptr, ptr %t14, !tbaa !54
+ %t16 = load i32, ptr %sc_l_i_0
+ %t17 = uitofp i32 %t16 to double
+ %t18 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 2
+ %t19 = load i64, ptr %t18, !tbaa !2
+ %t20 = fptosi double %t17 to i64
+ %t21 = freeze i64 %t20
+ %t22 = sitofp i64 %t21 to double
+ %t23 = fcmp oeq double %t22, %t17
+ %t24 = icmp ult i64 %t21, %t19
+ %t25 = and i1 %t23, %t24
+ br i1 %t25, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t26 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 6
+ %t27 = load i32, ptr %t26, !tbaa !2
+ %t29 = zext i32 %t27 to i64
+ %t28 = icmp ult i64 %t21, %t29
+ br i1 %t28, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t30 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 1
+ %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t32 = icmp ult i64 %t21, %t31
+ br i1 %t32, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t33 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 9
+ %t34 = load ptr, ptr %t33, !tbaa !2
+ %t35 = getelementptr inbounds i8, ptr %t34, i64 %t21
+ %t36 = load i8, ptr %t35, !tbaa !4
+ %t37 = icmp eq i8 %t36, 1
+ br i1 %t37, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t38 = getelementptr inbounds %ScrArr, ptr %t15, i32 0, i32 8
+ %t39 = load ptr, ptr %t38, !tbaa !2
+ %t40 = getelementptr inbounds i64, ptr %t39, i64 %t21
+ %t41 = load ptr, ptr %t40, !tbaa !6
+ store ptr %t41, ptr %sc_l__x25_propertyRecv_0
+ br label %local.array.join6
+local.array.slow4:
+ %t42 = call ptr @scr_arr_peek_ref(ptr %t15, double %t17)
+ %t43 = icmp ne ptr %t42, null
+ br i1 %t43, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ store ptr %t42, ptr %sc_l__x25_propertyRecv_0
+ br label %local.array.join6
+local.array.missing5:
+ store ptr null, ptr %sc_l__x25_propertyRecv_0
+ br label %local.array.join6
+local.array.join6:
+ %t44 = load ptr, ptr %sc_l__x25_propertyRecv_0
+ %t46 = icmp eq ptr %t44, null
+ br i1 %t46, label %tern.t13, label %tern.f14
+tern.t13:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3343942521330690)
+ br label %exc.cleanup16
+exc.dead17:
+ store ptr null, ptr %s47
+ br label %tern.j15
+tern.f14:
+ %t48 = load ptr, ptr %sc_l__x25_propertyRecv_0
+ %t49 = call ptr @sc_rc_retain_str(ptr %t48)
+ store ptr %t49, ptr %s47
+ br label %tern.j15
+tern.j15:
+ %t50 = load ptr, ptr %s47
+ %t51 = call ptr @scr_str_to_lower(ptr %t50)
+ %t52 = load ptr, ptr %sc_l_kk_0
+ %t53 = call zeroext i1 @sc_str_eq(ptr %t51, ptr %t52)
+ call void @scr_str_release(ptr %t50)
+ call void @scr_str_release(ptr %t51)
+ br i1 %t53, label %if.t18, label %if.j19
+if.t18:
+ %t55 = load ptr, ptr %sc_l_this_0
+ %t56 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t55, i64 0, i32 5
+ %t57 = load ptr, ptr %t56, !tbaa !56
+ %t58 = load i32, ptr %sc_l_i_0
+ %t59 = uitofp i32 %t58 to double
+ %t60 = getelementptr inbounds %ScrArr, ptr %t57, i32 0, i32 2
+ %t61 = load i64, ptr %t60, !tbaa !2
+ %t62 = fptosi double %t59 to i64
+ %t63 = freeze i64 %t62
+ %t64 = sitofp i64 %t63 to double
+ %t65 = fcmp oeq double %t64, %t59
+ %t66 = icmp ult i64 %t63, %t61
+ %t67 = and i1 %t65, %t66
+ br i1 %t67, label %local.array.range23, label %local.array.slow20
+local.array.range23:
+ br label %local.array.dense24
+local.array.dense24:
+ %t68 = getelementptr inbounds %ScrArr, ptr %t57, i32 0, i32 6
+ %t69 = load i32, ptr %t68, !tbaa !2
+ %t71 = zext i32 %t69 to i64
+ %t70 = icmp ult i64 %t63, %t71
+ br i1 %t70, label %local.array.value26, label %local.array.len25
+local.array.len25:
+ %t72 = getelementptr inbounds %ScrArr, ptr %t57, i32 0, i32 1
+ %t73 = load i64, ptr %t72, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t74 = icmp ult i64 %t63, %t73
+ br i1 %t74, label %local.array.state27, label %local.array.missing21
+local.array.state27:
+ %t75 = getelementptr inbounds %ScrArr, ptr %t57, i32 0, i32 9
+ %t76 = load ptr, ptr %t75, !tbaa !2
+ %t77 = getelementptr inbounds i8, ptr %t76, i64 %t63
+ %t78 = load i8, ptr %t77, !tbaa !4
+ %t79 = icmp eq i8 %t78, 1
+ br i1 %t79, label %local.array.value26, label %local.array.missing21
+local.array.value26:
+ %t80 = getelementptr inbounds %ScrArr, ptr %t57, i32 0, i32 8
+ %t81 = load ptr, ptr %t80, !tbaa !2
+ %t82 = getelementptr inbounds i64, ptr %t81, i64 %t63
+ %t83 = load ptr, ptr %t82, !tbaa !6
+ store ptr %t83, ptr %s54
+ br label %local.array.join22
+local.array.slow20:
+ %t84 = call ptr @scr_arr_peek_ref(ptr %t57, double %t59)
+ %t85 = icmp ne ptr %t84, null
+ br i1 %t85, label %local.array.slow.value28, label %local.array.missing21
+local.array.slow.value28:
+ store ptr %t84, ptr %s54
+ br label %local.array.join22
+local.array.missing21:
+ store ptr null, ptr %s54
+ br label %local.array.join22
+local.array.join22:
+ %t86 = load ptr, ptr %s54
+ %t87 = call ptr @sc_bf__x25_union_retag_6(ptr %t86)
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u29, label %exc.k30
+exc.u29:
+ br label %exc.cleanup16
+exc.k30:
+ %t91 = call ptr @sc_nretain_string(ptr %t87)
+ %t92 = load ptr, ptr %sc_l_kk_0
+ call void @scr_str_release(ptr %t92)
+ ret ptr %t91
+if.j19:
+ br label %loop.u3
+loop.u3:
+ %t93 = load i32, ptr %sc_l_i_0
+ %t94 = uitofp i32 %t93 to double
+ %t96 = zext i32 %t93 to i64
+ %t97 = add nsw i64 %t96, 1
+ %t99 = trunc i64 %t97 to i32
+ %t98 = sitofp i64 %t97 to double
+ %t100 = trunc i64 %t97 to i32
+ store i32 %t100, ptr %sc_l_i_0
+ br label %loop.c1
+loop.e0:
+ %t101 = load ptr, ptr %sc_l_kk_0
+ call void @scr_str_release(ptr %t101)
+ ret ptr @sc_nullable_null
+exc.cleanup16:
+ %t102 = load ptr, ptr %sc_l_kk_0
+ call void @scr_str_release(ptr %t102)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m2_FetchResponseSink_headerOf(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_headerOf(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m2_FetchResponseSink_headersMap(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.headersMap
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca i32 ; i
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s29 = alloca ptr
+ store ptr null, ptr %sc_l_out_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @sc_rnew_r0()
+ store ptr %t4, ptr %sc_l_out_0
+ store i32 0, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t5 = load i32, ptr %sc_l_i_0
+ %t6 = uitofp i32 %t5 to double
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t7, i64 0, i32 4
+ %t9 = load ptr, ptr %t8, !tbaa !54
+ %t10 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1
+ %t11 = load i64, ptr %t10, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t12 = sitofp i64 %t11 to double
+ %t14 = fptosi double %t12 to i64
+ %t15 = zext i32 %t5 to i64
+ %t13 = icmp slt i64 %t15, %t14
+ br i1 %t13, label %loop.b4, label %loop.e2
+loop.b4:
+ %t16 = load ptr, ptr %sc_l_out_0
+ %t17 = call ptr @sc_rretain_r0(ptr %t16)
+ %t18 = load ptr, ptr %sc_l_this_0
+ %t19 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t18, i64 0, i32 4
+ %t20 = load ptr, ptr %t19, !tbaa !54
+ %t21 = load i32, ptr %sc_l_i_0
+ %t22 = uitofp i32 %t21 to double
+ %t23 = call ptr @sc_bf__x25_arr_idxOr_13(ptr %t20, double %t22)
+ %t24 = call ptr @sc_td_30(ptr %t23)
+ %t25 = call ptr @scr_dyn_string_coerce_js(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rrelease_r0(ptr %t17)
+ call void @scr_str_release(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @scr_str_release(ptr %t25)
+ br label %exc.cleanup8
+exc.k7:
+ %t30 = load ptr, ptr %sc_l_this_0
+ %t31 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t30, i64 0, i32 5
+ %t32 = load ptr, ptr %t31, !tbaa !56
+ %t33 = load i32, ptr %sc_l_i_0
+ %t34 = uitofp i32 %t33 to double
+ %t35 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 2
+ %t36 = load i64, ptr %t35, !tbaa !2
+ %t37 = fptosi double %t34 to i64
+ %t38 = freeze i64 %t37
+ %t39 = sitofp i64 %t38 to double
+ %t40 = fcmp oeq double %t39, %t34
+ %t41 = icmp ult i64 %t38, %t36
+ %t42 = and i1 %t40, %t41
+ br i1 %t42, label %local.array.range12, label %local.array.slow9
+local.array.range12:
+ br label %local.array.dense13
+local.array.dense13:
+ %t43 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 6
+ %t44 = load i32, ptr %t43, !tbaa !2
+ %t46 = zext i32 %t44 to i64
+ %t45 = icmp ult i64 %t38, %t46
+ br i1 %t45, label %local.array.value15, label %local.array.len14
+local.array.len14:
+ %t47 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 1
+ %t48 = load i64, ptr %t47, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t49 = icmp ult i64 %t38, %t48
+ br i1 %t49, label %local.array.state16, label %local.array.missing10
+local.array.state16:
+ %t50 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 9
+ %t51 = load ptr, ptr %t50, !tbaa !2
+ %t52 = getelementptr inbounds i8, ptr %t51, i64 %t38
+ %t53 = load i8, ptr %t52, !tbaa !4
+ %t54 = icmp eq i8 %t53, 1
+ br i1 %t54, label %local.array.value15, label %local.array.missing10
+local.array.value15:
+ %t55 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 8
+ %t56 = load ptr, ptr %t55, !tbaa !2
+ %t57 = getelementptr inbounds i64, ptr %t56, i64 %t38
+ %t58 = load ptr, ptr %t57, !tbaa !6
+ store ptr %t58, ptr %s29
+ br label %local.array.join11
+local.array.slow9:
+ %t59 = call ptr @scr_arr_peek_ref(ptr %t32, double %t34)
+ %t60 = icmp ne ptr %t59, null
+ br i1 %t60, label %local.array.slow.value17, label %local.array.missing10
+local.array.slow.value17:
+ store ptr %t59, ptr %s29
+ br label %local.array.join11
+local.array.missing10:
+ store ptr null, ptr %s29
+ br label %local.array.join11
+local.array.join11:
+ %t61 = load ptr, ptr %s29
+ %t62 = call ptr @sc_bf__x25_union_narrow_8(ptr %t61)
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rrelease_r0(ptr %t17)
+ call void @scr_str_release(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @scr_str_release(ptr %t25)
+ br label %exc.cleanup8
+exc.k19:
+ %t66 = call ptr @sc_rc_retain_str(ptr %t62)
+ %t67 = getelementptr inbounds %sc_rs_r0, ptr %t17, i64 0, i32 1
+ %t68 = load ptr, ptr %t67
+ call void @scr_map_set_str_ref(ptr %t68, ptr %t25, ptr %t66)
+ br label %rks.j20
+rks.j20:
+ call void @sc_rrelease_r0(ptr %t17)
+ call void @scr_str_release(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @scr_str_release(ptr %t25)
+ br label %loop.u5
+loop.u5:
+ %t69 = load i32, ptr %sc_l_i_0
+ %t70 = uitofp i32 %t69 to double
+ %t72 = zext i32 %t69 to i64
+ %t73 = add nsw i64 %t72, 1
+ %t75 = trunc i64 %t73 to i32
+ %t74 = sitofp i64 %t73 to double
+ %t76 = trunc i64 %t73 to i32
+ store i32 %t76, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ %t77 = load ptr, ptr %sc_l_out_0
+ ret ptr %t77
+exc.cleanup8:
+ %t78 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r0(ptr %t78)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m2_FetchResponseSink_headersMap(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_headersMap(ptr %p0)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m2_FetchResponseSink_destroy(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.destroy
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m2_FetchResponseSink_destroy(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_destroy(ptr %p0)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m2_FetchResponseSink_toResponse(ptr %p_sc_l_this_0) #0 { ; %%m2.FetchResponseSink.toResponse
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_init_0 = alloca ptr ; init
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_rs_0 = alloca ptr ; rs
+ %sc_l__x25_responseBody_0 = alloca ptr ; %responseBody
+ %sc_l__x25_responseInit_0 = alloca ptr ; %responseInit
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l__x25_responseBody_1 = alloca ptr ; %responseBody
+ %sc_l__x25_responseInit_1 = alloca ptr ; %responseInit
+ %sc_l__x25_responseInit_2 = alloca ptr ; %responseInit
+ %sc_l_body_0 = alloca ptr ; body
+ %sc_l__x25_responseBody_2 = alloca ptr ; %responseBody
+ %sc_l__x25_responseInit_3 = alloca ptr ; %responseInit
+ %sc_l__x25_responseInit_4 = alloca ptr ; %responseInit
+ %sc_l_self_1 = alloca ptr ; self
+ %s0 = alloca ptr ; lazy box this
+ %s27 = alloca ptr
+ %s61 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s71 = alloca ptr
+ %s106 = alloca ptr
+ store ptr null, ptr %sc_l_init_0
+ store ptr null, ptr %sc_l_self_0
+ store ptr null, ptr %sc_l_rs_0
+ store ptr null, ptr %sc_l__x25_responseBody_0
+ store ptr null, ptr %sc_l__x25_responseInit_0
+ store ptr null, ptr %sc_l_a_0
+ store ptr null, ptr %sc_l_b_0
+ store ptr null, ptr %sc_l__x25_responseBody_1
+ store ptr null, ptr %sc_l__x25_responseInit_1
+ store ptr null, ptr %sc_l__x25_responseInit_2
+ store ptr null, ptr %sc_l_body_0
+ store ptr null, ptr %sc_l__x25_responseBody_2
+ store ptr null, ptr %sc_l__x25_responseInit_3
+ store ptr null, ptr %sc_l__x25_responseInit_4
+ store ptr null, ptr %sc_l_self_1
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t1 = call ptr @llvm.stacksave.p0()
+ %t2 = load ptr, ptr @scr_stack_guard
+ %t3 = icmp ult ptr %t1, %t2
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t5 = call ptr @sc_rnew_r28()
+ %t6 = load ptr, ptr %sc_l_this_0
+ %t7 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t6, i64 0, i32 3
+ %t8 = load double, ptr %t7, !tbaa !52
+ %t9 = getelementptr inbounds %sc_rs_r28, ptr %t5, i64 0, i32 2
+ store double %t8, ptr %t9
+ %t10 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r18.sc_rrelease_r18.null, i64 0)
+ %t11 = getelementptr inbounds %sc_rs_r28, ptr %t5, i64 0, i32 1
+ store ptr %t10, ptr %t11
+ store ptr %t5, ptr %sc_l_init_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c4
+loop.c4:
+ %t12 = load double, ptr %sc_l_i_0
+ %t13 = fadd double %t12, 0x3FF0000000000000
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t14, i64 0, i32 6
+ %t16 = load ptr, ptr %t15, !tbaa !58
+ %t17 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 1
+ %t18 = load i64, ptr %t17, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t19 = sitofp i64 %t18 to double
+ %t21 = fptosi double %t19 to i64
+ %t20 = fcmp olt double %t13, %t19
+ br i1 %t20, label %loop.b5, label %loop.e3
+loop.b5:
+ %t22 = load ptr, ptr %sc_l_init_0
+ %t23 = getelementptr inbounds %sc_rs_r28, ptr %t22, i64 0, i32 1
+ %t24 = load ptr, ptr %t23
+ %t25 = call ptr @scr_arr_retain_v(ptr %t24)
+ %t26 = call ptr @sc_rnew_r18()
+ %t28 = load ptr, ptr %sc_l_this_0
+ %t29 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t28, i64 0, i32 6
+ %t30 = load ptr, ptr %t29, !tbaa !58
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t33 = load i64, ptr %t32, !tbaa !2
+ %t34 = fptosi double %t31 to i64
+ %t35 = freeze i64 %t34
+ %t36 = sitofp i64 %t35 to double
+ %t37 = fcmp oeq double %t36, %t31
+ %t38 = icmp ult i64 %t35, %t33
+ %t39 = and i1 %t37, %t38
+ br i1 %t39, label %local.array.range10, label %local.array.slow7
+local.array.range10:
+ br label %local.array.dense11
+local.array.dense11:
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t41 = load i32, ptr %t40, !tbaa !2
+ %t43 = zext i32 %t41 to i64
+ %t42 = icmp ult i64 %t35, %t43
+ br i1 %t42, label %local.array.value13, label %local.array.len12
+local.array.len12:
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t45 = load i64, ptr %t44, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t46 = icmp ult i64 %t35, %t45
+ br i1 %t46, label %local.array.state14, label %local.array.missing8
+local.array.state14:
+ %t47 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t48 = load ptr, ptr %t47, !tbaa !2
+ %t49 = getelementptr inbounds i8, ptr %t48, i64 %t35
+ %t50 = load i8, ptr %t49, !tbaa !4
+ %t51 = icmp eq i8 %t50, 1
+ br i1 %t51, label %local.array.value13, label %local.array.missing8
+local.array.value13:
+ %t52 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t53 = load ptr, ptr %t52, !tbaa !2
+ %t54 = getelementptr inbounds i64, ptr %t53, i64 %t35
+ %t55 = load ptr, ptr %t54, !tbaa !6
+ %t56 = call ptr @sc_rc_retain_str(ptr %t55)
+ store ptr %t56, ptr %s27
+ br label %local.array.join9
+local.array.slow7:
+ %t57 = call ptr @scr_arr_peek_ref(ptr %t30, double %t31)
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %local.array.slow.value15, label %local.array.missing8
+local.array.slow.value15:
+ %t59 = call ptr @sc_rc_retain_str(ptr %t57)
+ store ptr %t59, ptr %s27
+ br label %local.array.join9
+local.array.missing8:
+ store ptr null, ptr %s27
+ br label %local.array.join9
+local.array.join9:
+ %t60 = load ptr, ptr %s27
+ %t63 = icmp eq ptr %t60, null
+ %t62 = select i1 %t63, i32 1, i32 0
+ switch i32 %t62, label %u.bad17 [ i32 0, label %u.a18 i32 1, label %u.a19 ]
+u.a18:
+ %t64 = call ptr @sc_rc_retain_str(ptr %t60)
+ store ptr %t64, ptr %s61
+ br label %us.j16
+u.a19:
+ store ptr @sc_lit_4134463689533233, ptr %s61
+ br label %us.j16
+u.bad17:
+ call void @sc_bad_tag()
+ unreachable
+us.j16:
+ %t65 = load ptr, ptr %s61
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_arr_release(ptr %t25)
+ call void @sc_rrelease_r18(ptr %t26)
+ %t69 = load ptr, ptr %s27
+ call void @scr_str_release(ptr %t69)
+ call void @scr_str_release(ptr %t65)
+ br label %exc.cleanup22
+exc.k21:
+ %t70 = getelementptr inbounds %sc_rs_r18, ptr %t26, i64 0, i32 1
+ store ptr %t65, ptr %t70
+ %t72 = load ptr, ptr %sc_l_this_0
+ %t73 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t72, i64 0, i32 6
+ %t74 = load ptr, ptr %t73, !tbaa !58
+ %t75 = load double, ptr %sc_l_i_0
+ %t76 = fadd double %t75, 0x3FF0000000000000
+ %t77 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 2
+ %t78 = load i64, ptr %t77, !tbaa !2
+ %t79 = fptosi double %t76 to i64
+ %t80 = freeze i64 %t79
+ %t81 = sitofp i64 %t80 to double
+ %t82 = fcmp oeq double %t81, %t76
+ %t83 = icmp ult i64 %t80, %t78
+ %t84 = and i1 %t82, %t83
+ br i1 %t84, label %local.array.range26, label %local.array.slow23
+local.array.range26:
+ br label %local.array.dense27
+local.array.dense27:
+ %t85 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 6
+ %t86 = load i32, ptr %t85, !tbaa !2
+ %t88 = zext i32 %t86 to i64
+ %t87 = icmp ult i64 %t80, %t88
+ br i1 %t87, label %local.array.value29, label %local.array.len28
+local.array.len28:
+ %t89 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 1
+ %t90 = load i64, ptr %t89, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t91 = icmp ult i64 %t80, %t90
+ br i1 %t91, label %local.array.state30, label %local.array.missing24
+local.array.state30:
+ %t92 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 9
+ %t93 = load ptr, ptr %t92, !tbaa !2
+ %t94 = getelementptr inbounds i8, ptr %t93, i64 %t80
+ %t95 = load i8, ptr %t94, !tbaa !4
+ %t96 = icmp eq i8 %t95, 1
+ br i1 %t96, label %local.array.value29, label %local.array.missing24
+local.array.value29:
+ %t97 = getelementptr inbounds %ScrArr, ptr %t74, i32 0, i32 8
+ %t98 = load ptr, ptr %t97, !tbaa !2
+ %t99 = getelementptr inbounds i64, ptr %t98, i64 %t80
+ %t100 = load ptr, ptr %t99, !tbaa !6
+ %t101 = call ptr @sc_rc_retain_str(ptr %t100)
+ store ptr %t101, ptr %s71
+ br label %local.array.join25
+local.array.slow23:
+ %t102 = call ptr @scr_arr_peek_ref(ptr %t74, double %t76)
+ %t103 = icmp ne ptr %t102, null
+ br i1 %t103, label %local.array.slow.value31, label %local.array.missing24
+local.array.slow.value31:
+ %t104 = call ptr @sc_rc_retain_str(ptr %t102)
+ store ptr %t104, ptr %s71
+ br label %local.array.join25
+local.array.missing24:
+ store ptr null, ptr %s71
+ br label %local.array.join25
+local.array.join25:
+ %t105 = load ptr, ptr %s71
+ %t108 = icmp eq ptr %t105, null
+ %t107 = select i1 %t108, i32 1, i32 0
+ switch i32 %t107, label %u.bad33 [ i32 0, label %u.a34 i32 1, label %u.a35 ]
+u.a34:
+ %t109 = call ptr @sc_rc_retain_str(ptr %t105)
+ store ptr %t109, ptr %s106
+ br label %us.j32
+u.a35:
+ store ptr @sc_lit_4134463689533233, ptr %s106
+ br label %us.j32
+u.bad33:
+ call void @sc_bad_tag()
+ unreachable
+us.j32:
+ %t110 = load ptr, ptr %s106
+ %t111 = load i32, ptr %exc.cell
+ %t112 = icmp ne i32 %t111, 0
+ %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false)
+ br i1 %t113, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @scr_arr_release(ptr %t25)
+ call void @sc_rrelease_r18(ptr %t26)
+ %t114 = load ptr, ptr %s27
+ call void @scr_str_release(ptr %t114)
+ %t115 = load ptr, ptr %s71
+ call void @scr_str_release(ptr %t115)
+ call void @scr_str_release(ptr %t110)
+ br label %exc.cleanup22
+exc.k37:
+ %t116 = getelementptr inbounds %sc_rs_r18, ptr %t26, i64 0, i32 2
+ store ptr %t110, ptr %t116
+ %t117 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 1
+ %t118 = load i64, ptr %t117, !tbaa !2
+ %t121 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 2
+ %t119 = load i64, ptr %t121, !tbaa !2
+ %t120 = icmp ult i64 %t118, %t119
+ br i1 %t120, label %arr.push.dense38, label %arr.push.slow39
+arr.push.dense38:
+ %t122 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 8
+ %t124 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 9
+ %t123 = load ptr, ptr %t122, !tbaa !2
+ %t125 = load ptr, ptr %t124, !tbaa !2
+ %t126 = getelementptr inbounds i8, ptr %t125, i64 %t118
+ %t127 = getelementptr inbounds i64, ptr %t123, i64 %t118
+ store ptr %t26, ptr %t127, !tbaa !6
+ store i8 1, ptr %t126, !tbaa !4
+ %t128 = add nuw i64 %t118, 1
+ store i64 %t128, ptr %t117, !tbaa !2
+ %t130 = getelementptr inbounds %ScrArr, ptr %t25, i32 0, i32 6
+ %t131 = load i32, ptr %t130, !tbaa !2
+ %t135 = zext i32 %t131 to i64
+ %t132 = icmp eq i64 %t135, %t118
+ %t133 = add i32 %t131, 1
+ %t134 = select i1 %t132, i32 %t133, i32 %t131
+ store i32 %t134, ptr %t130, !tbaa !2
+ %t129 = sitofp i64 %t128 to double
+ br label %arr.push.join40
+arr.push.slow39:
+ %t136 = call double @scr_arr_push_ref(ptr %t25, ptr %t26) cold
+ br label %arr.push.join40
+arr.push.join40:
+ %t137 = phi double [ %t129, %arr.push.dense38 ], [ %t136, %arr.push.slow39 ]
+ call void @scr_arr_release(ptr %t25)
+ %t138 = load ptr, ptr %s27
+ call void @scr_str_release(ptr %t138)
+ %t139 = load ptr, ptr %s71
+ call void @scr_str_release(ptr %t139)
+ br label %loop.u6
+loop.u6:
+ %t140 = load double, ptr %sc_l_i_0
+ %t141 = fadd double %t140, 0x4000000000000000
+ store double %t141, ptr %sc_l_i_0
+ br label %loop.c4
+loop.e3:
+ %t142 = load ptr, ptr %sc_l_this_0
+ store ptr %t142, ptr %sc_l_self_1
+ %t143 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_trace__x25_m2_FetchResponseSink) ; let self (boxed)
+ store ptr %t143, ptr %sc_l_self_0
+ %t144 = load ptr, ptr %sc_l_self_1
+ %t145 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t144)
+ call void @scr_box_set_ref(ptr %t143, ptr %t145)
+ %t146 = load ptr, ptr %sc_l_self_1
+ %t147 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t146, i64 0, i32 11
+ %t148 = load i8, ptr %t147, !tbaa !66
+ %t149 = trunc i8 %t148 to i1
+ br i1 %t149, label %if.t41, label %if.j42
+if.t41:
+ %t150 = call ptr @scr_dyn_new_obj()
+ %t151 = call ptr @scr_closure_new(ptr @sc_f__x25_fn48, i64 2)
+ %t152 = getelementptr inbounds %ScrClosure, ptr %t151, i64 0, i32 4
+ store i32 4, ptr %t152
+ %t153 = getelementptr inbounds %ScrClosure, ptr %t151, i64 0, i32 7
+ store ptr @sc_bf__x25_fn48, ptr %t153
+ %t154 = load ptr, ptr %sc_l_self_0
+ %t155 = call ptr @sc_retain_box(ptr %t154)
+ %t156 = getelementptr inbounds %ScrClosure, ptr %t151, i64 1 ; caps
+ %t157 = getelementptr inbounds ptr, ptr %t156, i64 0 ; caps[0]
+ store ptr %t155, ptr %t157
+ %t158 = load ptr, ptr %s0
+ %t159 = icmp eq ptr %t158, null
+ br i1 %t159, label %lazy.box43, label %lazy.box.j44
+lazy.box43:
+ %t160 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_trace__x25_m2_FetchResponseSink)
+ %t161 = load ptr, ptr %sc_l_this_0
+ %t162 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t161)
+ call void @scr_box_set_ref(ptr %t160, ptr %t162)
+ store ptr %t160, ptr %s0
+ br label %lazy.box.j44
+lazy.box.j44:
+ %t163 = load ptr, ptr %s0
+ %t164 = call ptr @sc_retain_box(ptr %t163)
+ %t165 = getelementptr inbounds %ScrClosure, ptr %t151, i64 1 ; caps
+ %t166 = getelementptr inbounds ptr, ptr %t165, i64 1 ; caps[1]
+ store ptr %t164, ptr %t166
+ %t167 = call ptr @sc_dfb_12(ptr %t151, ptr null)
+ call void @scr_dyn_key_set(ptr %t150, ptr @sc_lit_3605103414985721, ptr %t167)
+ %t168 = load i32, ptr %exc.cell
+ %t169 = icmp ne i32 %t168, 0
+ %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false)
+ br i1 %t170, label %exc.u45, label %exc.k46
+exc.u45:
+ call void @sc_rc_release_dyn(ptr %t150)
+ call void @scr_closure_release(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t167)
+ br label %exc.cleanup47
+exc.k46:
+ %t171 = call ptr @scr_fetch_stream_new(ptr %t150)
+ %t172 = load i32, ptr %exc.cell
+ %t173 = icmp ne i32 %t172, 0
+ %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false)
+ br i1 %t174, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t150)
+ call void @scr_closure_release(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t167)
+ call void @sc_rc_release_dyn(ptr %t171)
+ br label %exc.cleanup47
+exc.k49:
+ store ptr %t171, ptr %sc_l_rs_0
+ call void @sc_rc_release_dyn(ptr %t150)
+ call void @scr_closure_release(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t167)
+ %t175 = load ptr, ptr %sc_l_rs_0
+ store ptr %t175, ptr %sc_l__x25_responseBody_0
+ %t176 = load ptr, ptr %sc_l_init_0
+ store ptr %t176, ptr %sc_l__x25_responseInit_0
+ %t177 = load ptr, ptr %sc_l__x25_responseBody_0
+ %t178 = call ptr @sc_rc_retain_dyn(ptr %t177)
+ %t179 = load ptr, ptr %sc_l__x25_responseInit_0
+ %t180 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t179, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, ptr @sc_cs_4037022469737195, i64 10, ptr @sc_ldr_34_materialize, ptr @sc_ldr_34_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t180, ptr @sc_ldr_34_materialize_rops)
+ %t181 = call ptr @scr_fetch_response_new(ptr %t178, ptr %t180)
+ %t182 = load i32, ptr %exc.cell
+ %t183 = icmp ne i32 %t182, 0
+ %t184 = call i1 @llvm.expect.i1(i1 %t183, i1 false)
+ br i1 %t184, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t178)
+ call void @sc_rc_release_dyn(ptr %t180)
+ call void @sc_rc_release_dyn(ptr %t181)
+ br label %exc.cleanup52
+exc.k51:
+ call void @sc_rc_release_dyn(ptr %t178)
+ call void @sc_rc_release_dyn(ptr %t180)
+ %t185 = load ptr, ptr %sc_l_rs_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ %t186 = load ptr, ptr %s0
+ %t187 = icmp ne ptr %t186, null
+ br i1 %t187, label %lazy.release53, label %lazy.release.j54
+lazy.release53:
+ call void @scr_box_release(ptr %t186)
+ br label %lazy.release.j54
+lazy.release.j54:
+ %t188 = load ptr, ptr %sc_l_init_0
+ call void @sc_rrelease_r28(ptr %t188)
+ %t189 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t189)
+ ret ptr %t181
+if.j42:
+ %t190 = load ptr, ptr %sc_l_this_0
+ %t191 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t190, i64 0, i32 10
+ %t192 = load ptr, ptr %t191, !tbaa !64
+ %t193 = call ptr @sc_rretain_r1(ptr %t192)
+ store ptr %t193, ptr %sc_l_a_0
+ %t194 = load ptr, ptr %sc_l_a_0
+ %t196 = icmp ne ptr %t194, null
+ br i1 %t196, label %if.t55, label %if.j56
+if.t55:
+ %t197 = load ptr, ptr %sc_l_a_0
+ %t198 = getelementptr inbounds %sc_rs_r1, ptr %t197, i64 0, i32 1
+ %t199 = load ptr, ptr %t198
+ %t200 = call ptr @sc_rc_retain_dyn(ptr %t199)
+ store ptr %t200, ptr %sc_l_b_0
+ %t201 = load ptr, ptr %sc_l_b_0
+ %t202 = getelementptr inbounds i8, ptr %t201, i64 8 ; ->kind
+ %t203 = load i32, ptr %t202
+ %t204 = icmp eq i32 %t203, 0
+ %t205 = xor i1 %t204, true
+ br i1 %t205, label %if.t57, label %if.j58
+if.t57:
+ %t206 = load ptr, ptr %sc_l_b_0
+ store ptr %t206, ptr %sc_l__x25_responseBody_1
+ %t207 = load ptr, ptr %sc_l_init_0
+ store ptr %t207, ptr %sc_l__x25_responseInit_1
+ %t208 = load ptr, ptr %sc_l__x25_responseBody_1
+ %t209 = call ptr @sc_rc_retain_dyn(ptr %t208)
+ %t210 = load ptr, ptr %sc_l__x25_responseInit_1
+ %t211 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t210, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, ptr @sc_cs_4037022469737195, i64 10, ptr @sc_ldr_34_materialize, ptr @sc_ldr_34_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t211, ptr @sc_ldr_34_materialize_rops)
+ %t212 = call ptr @scr_fetch_response_new(ptr %t209, ptr %t211)
+ %t213 = load i32, ptr %exc.cell
+ %t214 = icmp ne i32 %t213, 0
+ %t215 = call i1 @llvm.expect.i1(i1 %t214, i1 false)
+ br i1 %t215, label %exc.u59, label %exc.k60
+exc.u59:
+ call void @sc_rc_release_dyn(ptr %t209)
+ call void @sc_rc_release_dyn(ptr %t211)
+ call void @sc_rc_release_dyn(ptr %t212)
+ br label %exc.cleanup61
+exc.k60:
+ call void @sc_rc_release_dyn(ptr %t209)
+ call void @sc_rc_release_dyn(ptr %t211)
+ %t216 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t216)
+ %t217 = load ptr, ptr %s0
+ %t218 = icmp ne ptr %t217, null
+ br i1 %t218, label %lazy.release62, label %lazy.release.j63
+lazy.release62:
+ call void @scr_box_release(ptr %t217)
+ br label %lazy.release.j63
+lazy.release.j63:
+ %t219 = load ptr, ptr %sc_l_init_0
+ call void @sc_rrelease_r28(ptr %t219)
+ %t220 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t220)
+ %t221 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t221)
+ ret ptr %t212
+if.j58:
+ %t222 = load ptr, ptr %sc_l_init_0
+ store ptr %t222, ptr %sc_l__x25_responseInit_2
+ %t223 = call ptr @scr_dyn_new_null()
+ %t224 = load ptr, ptr %sc_l__x25_responseInit_2
+ %t225 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t224, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, ptr @sc_cs_4037022469737195, i64 10, ptr @sc_ldr_34_materialize, ptr @sc_ldr_34_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t225, ptr @sc_ldr_34_materialize_rops)
+ %t226 = call ptr @scr_fetch_response_new(ptr %t223, ptr %t225)
+ %t227 = load i32, ptr %exc.cell
+ %t228 = icmp ne i32 %t227, 0
+ %t229 = call i1 @llvm.expect.i1(i1 %t228, i1 false)
+ br i1 %t229, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t223)
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_rc_release_dyn(ptr %t226)
+ br label %exc.cleanup61
+exc.k65:
+ call void @sc_rc_release_dyn(ptr %t223)
+ call void @sc_rc_release_dyn(ptr %t225)
+ %t230 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t230)
+ %t231 = load ptr, ptr %s0
+ %t232 = icmp ne ptr %t231, null
+ br i1 %t232, label %lazy.release66, label %lazy.release.j67
+lazy.release66:
+ call void @scr_box_release(ptr %t231)
+ br label %lazy.release.j67
+lazy.release.j67:
+ %t233 = load ptr, ptr %sc_l_init_0
+ call void @sc_rrelease_r28(ptr %t233)
+ %t234 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t234)
+ %t235 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t235)
+ ret ptr %t226
+if.j56:
+ %t236 = load ptr, ptr %sc_l_this_0
+ %t237 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t236, i64 0, i32 7
+ %t238 = load ptr, ptr %t237, !tbaa !60
+ %t239 = call ptr @scr_arr_retain_v(ptr %t238)
+ %t240 = call ptr @scr_arr_join(ptr %t239, ptr @sc_lit_4005573543169985)
+ store ptr %t240, ptr %sc_l_body_0
+ call void @scr_arr_release(ptr %t239)
+ %t241 = load ptr, ptr %sc_l_body_0
+ %t242 = call double @sc_str_utf16_len(ptr %t241)
+ %t244 = fptosi double %t242 to i32
+ %t245 = sext i32 %t244 to i64
+ %t243 = icmp sgt i64 %t245, 0
+ br i1 %t243, label %if.t68, label %if.j69
+if.t68:
+ %t246 = load ptr, ptr %sc_l_body_0
+ store ptr %t246, ptr %sc_l__x25_responseBody_2
+ %t247 = load ptr, ptr %sc_l_init_0
+ store ptr %t247, ptr %sc_l__x25_responseInit_3
+ %t248 = load ptr, ptr %sc_l__x25_responseBody_2
+ %t249 = call ptr @sc_td_0(ptr %t248)
+ %t250 = load ptr, ptr %sc_l__x25_responseInit_3
+ %t251 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t250, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, ptr @sc_cs_4037022469737195, i64 10, ptr @sc_ldr_34_materialize, ptr @sc_ldr_34_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t251, ptr @sc_ldr_34_materialize_rops)
+ %t252 = call ptr @scr_fetch_response_new(ptr %t249, ptr %t251)
+ %t253 = load i32, ptr %exc.cell
+ %t254 = icmp ne i32 %t253, 0
+ %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false)
+ br i1 %t255, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t249)
+ call void @sc_rc_release_dyn(ptr %t251)
+ call void @sc_rc_release_dyn(ptr %t252)
+ br label %exc.cleanup72
+exc.k71:
+ call void @sc_rc_release_dyn(ptr %t249)
+ call void @sc_rc_release_dyn(ptr %t251)
+ %t256 = load ptr, ptr %s0
+ %t257 = icmp ne ptr %t256, null
+ br i1 %t257, label %lazy.release73, label %lazy.release.j74
+lazy.release73:
+ call void @scr_box_release(ptr %t256)
+ br label %lazy.release.j74
+lazy.release.j74:
+ %t258 = load ptr, ptr %sc_l_init_0
+ call void @sc_rrelease_r28(ptr %t258)
+ %t259 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t259)
+ %t260 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t260)
+ %t261 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t261)
+ ret ptr %t252
+if.j69:
+ %t262 = load ptr, ptr %sc_l_init_0
+ store ptr %t262, ptr %sc_l__x25_responseInit_4
+ %t263 = call ptr @scr_dyn_new_null()
+ %t264 = load ptr, ptr %sc_l__x25_responseInit_4
+ %t265 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t264, ptr @sc_rretain_r28, ptr @sc_rrelease_r28, ptr @sc_cs_4037022469737195, i64 10, ptr @sc_ldr_34_materialize, ptr @sc_ldr_34_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t265, ptr @sc_ldr_34_materialize_rops)
+ %t266 = call ptr @scr_fetch_response_new(ptr %t263, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t263)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup72
+exc.k76:
+ call void @sc_rc_release_dyn(ptr %t263)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %s0
+ %t271 = icmp ne ptr %t270, null
+ br i1 %t271, label %lazy.release77, label %lazy.release.j78
+lazy.release77:
+ call void @scr_box_release(ptr %t270)
+ br label %lazy.release.j78
+lazy.release.j78:
+ %t272 = load ptr, ptr %sc_l_init_0
+ call void @sc_rrelease_r28(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t273)
+ %t274 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t274)
+ %t275 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t275)
+ ret ptr %t266
+exc.cleanup2:
+ %t276 = load ptr, ptr %s0
+ %t277 = icmp ne ptr %t276, null
+ br i1 %t277, label %lazy.release79, label %lazy.release.j80
+lazy.release79:
+ call void @scr_box_release(ptr %t276)
+ br label %lazy.release.j80
+lazy.release.j80:
+ ret ptr null
+exc.cleanup22:
+ %t278 = load ptr, ptr %s0
+ %t279 = icmp ne ptr %t278, null
+ br i1 %t279, label %lazy.release81, label %lazy.release.j82
+lazy.release81:
+ call void @scr_box_release(ptr %t278)
+ br label %lazy.release.j82
+lazy.release.j82:
+ %t280 = load ptr, ptr %sc_l_init_0
+ call void @sc_rrelease_r28(ptr %t280)
+ ret ptr null
+exc.cleanup47:
+ %t281 = load ptr, ptr %s0
+ %t282 = icmp ne ptr %t281, null
+ br i1 %t282, label %lazy.release83, label %lazy.release.j84
+lazy.release83:
+ call void @scr_box_release(ptr %t281)
+ br label %lazy.release.j84
+lazy.release.j84:
+ %t283 = load ptr, ptr %sc_l_init_0
+ call void @sc_rrelease_r28(ptr %t283)
+ %t284 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t284)
+ ret ptr null
+exc.cleanup52:
+ %t285 = load ptr, ptr %sc_l_rs_0
+ call void @sc_rc_release_dyn(ptr %t285)
+ %t286 = load ptr, ptr %s0
+ %t287 = icmp ne ptr %t286, null
+ br i1 %t287, label %lazy.release85, label %lazy.release.j86
+lazy.release85:
+ call void @scr_box_release(ptr %t286)
+ br label %lazy.release.j86
+lazy.release.j86:
+ %t288 = load ptr, ptr %sc_l_init_0
+ call void @sc_rrelease_r28(ptr %t288)
+ %t289 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t289)
+ ret ptr null
+exc.cleanup61:
+ %t290 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t290)
+ %t291 = load ptr, ptr %s0
+ %t292 = icmp ne ptr %t291, null
+ br i1 %t292, label %lazy.release87, label %lazy.release.j88
+lazy.release87:
+ call void @scr_box_release(ptr %t291)
+ br label %lazy.release.j88
+lazy.release.j88:
+ %t293 = load ptr, ptr %sc_l_init_0
+ call void @sc_rrelease_r28(ptr %t293)
+ %t294 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t294)
+ %t295 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t295)
+ ret ptr null
+exc.cleanup72:
+ %t296 = load ptr, ptr %s0
+ %t297 = icmp ne ptr %t296, null
+ br i1 %t297, label %lazy.release89, label %lazy.release.j90
+lazy.release89:
+ call void @scr_box_release(ptr %t296)
+ br label %lazy.release.j90
+lazy.release.j90:
+ %t298 = load ptr, ptr %sc_l_init_0
+ call void @sc_rrelease_r28(ptr %t298)
+ %t299 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t299)
+ %t300 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t300)
+ %t301 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t301)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m2_FetchResponseSink_toResponse(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_toResponse(ptr %p0)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteHeaders_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_im_0) #0 { ; %%m3.LiteHeaders.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_im_0 = alloca ptr ; im
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_im_0, ptr %sc_l_im_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_im_0
+ %t2 = call ptr @scr_http_req_retain_v(ptr %t1)
+ %t3 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t0, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ store ptr %t2, ptr %t3, !tbaa !72
+ call void @scr_http_req_release(ptr %t4)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteHeaders_constructor(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteHeaders_constructor(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %p0)
+ call void @scr_http_req_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m3_LiteHeaders_get(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m3.LiteHeaders.get
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_v_0 = alloca ptr ; v
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_h_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !72
+ %t7 = call ptr @scr_http_req_retain_v(ptr %t6)
+ %t8 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_req_release(ptr %t7)
+ call void @sc_rrelease_r26(ptr %t8)
+ ret ptr null
+exc.k3:
+ call void @scr_http_req_release(ptr %t7)
+ %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit)
+ store ptr %t12, ptr %sc_l_h_0
+ call void @sc_rrelease_r26(ptr %t8)
+ %t13 = load ptr, ptr %sc_l_h_0
+ %t14 = call ptr @sc_rc_retain_dyn(ptr %t13)
+ %t15 = load ptr, ptr %sc_l_name_0
+ %t16 = call ptr @scr_str_to_lower(ptr %t15)
+ %t17 = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %t14, ptr %t16)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_str_release(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ br label %exc.cleanup6
+exc.k5:
+ call void @scr_str_release(ptr %t16)
+ store ptr %t17, ptr %sc_l_v_0
+ %t21 = load ptr, ptr %sc_l_v_0
+ %t22 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t24 = icmp eq i32 %t23, 3
+ br i1 %t24, label %if.t7, label %if.j8
+if.t7:
+ %t25 = load ptr, ptr %sc_l_v_0
+ %t26 = call ptr @sc_dc_0(ptr %t25, ptr null)
+ %t27 = load i32, ptr %exc.cell
+ %t28 = icmp ne i32 %t27, 0
+ %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false)
+ br i1 %t29, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @scr_str_release(ptr %t26)
+ br label %exc.cleanup11
+exc.k10:
+ %t30 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t30)
+ %t31 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t31)
+ ret ptr %t26
+if.j8:
+ %t32 = load ptr, ptr %sc_l_v_0
+ %t33 = getelementptr inbounds i8, ptr %t32, i64 8 ; ->kind
+ %t34 = load i32, ptr %t33
+ %t35 = icmp eq i32 %t34, 4
+ %t36 = call zeroext i1 @scr_dyn_ref_is_array(ptr %t32)
+ %t37 = or i1 %t35, %t36
+ br i1 %t37, label %if.t12, label %if.j13
+if.t12:
+ %t38 = load ptr, ptr %sc_l_v_0
+ %t39 = call ptr @sc_dc_1(ptr %t38, ptr null)
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @scr_arr_release(ptr %t39)
+ br label %exc.cleanup11
+exc.k15:
+ %t43 = call ptr @scr_arr_join(ptr %t39, ptr @sc_lit_176469025513879)
+ call void @scr_arr_release(ptr %t39)
+ %t44 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ %t45 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr %t43
+if.j13:
+ %t46 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t47 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ ret ptr null
+exc.cleanup6:
+ %t48 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr null
+exc.cleanup11:
+ %t49 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ %t50 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m3_LiteHeaders_get(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m3_LiteHeaders_get(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25__x25_m3_LiteHeaders_has(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m3.LiteHeaders.has
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l__x25_ownReceiver_0 = alloca ptr ; %ownReceiver
+ %sc_l__x25_ownKey_0 = alloca ptr ; %ownKey
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_h_0
+ store ptr null, ptr %sc_l__x25_ownReceiver_0
+ store ptr null, ptr %sc_l__x25_ownKey_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !72
+ %t7 = call ptr @scr_http_req_retain_v(ptr %t6)
+ %t8 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_req_release(ptr %t7)
+ call void @sc_rrelease_r26(ptr %t8)
+ ret i1 false
+exc.k3:
+ call void @scr_http_req_release(ptr %t7)
+ %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit)
+ store ptr %t12, ptr %sc_l_h_0
+ call void @sc_rrelease_r26(ptr %t8)
+ %t13 = load ptr, ptr %sc_l_h_0
+ store ptr %t13, ptr %sc_l__x25_ownReceiver_0
+ %t14 = load ptr, ptr %sc_l_name_0
+ %t15 = call ptr @scr_str_to_lower(ptr %t14)
+ store ptr %t15, ptr %sc_l__x25_ownKey_0
+ %t16 = load ptr, ptr %sc_l__x25_ownReceiver_0
+ %t17 = call ptr @sc_rc_retain_dyn(ptr %t16)
+ %t18 = load ptr, ptr %sc_l__x25_ownKey_0
+ %t19 = call ptr @sc_rc_retain_str(ptr %t18)
+ %t20 = call zeroext i1 @scr_dyn_has_own(ptr %t17, ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @scr_str_release(ptr %t19)
+ br label %exc.cleanup6
+exc.k5:
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @scr_str_release(ptr %t19)
+ %t24 = load ptr, ptr %sc_l__x25_ownKey_0
+ call void @scr_str_release(ptr %t24)
+ %t25 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret i1 %t20
+exc.cleanup6:
+ %t26 = load ptr, ptr %sc_l__x25_ownKey_0
+ call void @scr_str_release(ptr %t26)
+ %t27 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t27)
+ ret i1 false
+}
+define internal i1 @sc_f__x25__x25_m3_LiteHeaders_has(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m3_LiteHeaders_has(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal ptr @sc_bf__x25__x25_m3_LiteHeaders_getSetCookie(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteHeaders.getSetCookie
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget
+ %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s62 = alloca i64 ; integer induction i
+ %s110 = alloca ptr
+ store ptr null, ptr %sc_l_h_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_a_0
+ store ptr null, ptr %sc_l__x25_pushTarget_0
+ store ptr null, ptr %sc_l__x25_pushValue_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !72
+ %t7 = call ptr @scr_http_req_retain_v(ptr %t6)
+ %t8 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_req_release(ptr %t7)
+ call void @sc_rrelease_r26(ptr %t8)
+ ret ptr null
+exc.k3:
+ call void @scr_http_req_release(ptr %t7)
+ %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit)
+ store ptr %t12, ptr %sc_l_h_0
+ call void @sc_rrelease_r26(ptr %t8)
+ %t13 = load ptr, ptr %sc_l_h_0
+ %t14 = call ptr @sc_rc_retain_dyn(ptr %t13)
+ %t15 = call ptr @sc_f__x25_dyn_class_property_65(ptr %t14)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t15)
+ br label %exc.cleanup6
+exc.k5:
+ store ptr %t15, ptr %sc_l_v_0
+ %t19 = call ptr @scr_arr_new_small(i32 2)
+ store ptr %t19, ptr %sc_l_out_0
+ %t20 = load ptr, ptr %sc_l_v_0
+ %t21 = getelementptr inbounds i8, ptr %t20, i64 8 ; ->kind
+ %t22 = load i32, ptr %t21
+ %t23 = icmp eq i32 %t22, 3
+ br i1 %t23, label %if.t7, label %if.f9
+if.t7:
+ %t24 = load ptr, ptr %sc_l_out_0
+ %t25 = load ptr, ptr %sc_l_v_0
+ %t26 = call ptr @sc_dc_0(ptr %t25, ptr null)
+ %t27 = load i32, ptr %exc.cell
+ %t28 = icmp ne i32 %t27, 0
+ %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false)
+ br i1 %t29, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @scr_str_release(ptr %t26)
+ br label %exc.cleanup12
+exc.k11:
+ %t30 = getelementptr inbounds %ScrArr, ptr %t24, i32 0, i32 1
+ %t31 = load i64, ptr %t30, !tbaa !2
+ %t34 = getelementptr inbounds %ScrArr, ptr %t24, i32 0, i32 2
+ %t32 = load i64, ptr %t34, !tbaa !2
+ %t33 = icmp ult i64 %t31, %t32
+ br i1 %t33, label %arr.push.dense13, label %arr.push.slow14
+arr.push.dense13:
+ %t35 = getelementptr inbounds %ScrArr, ptr %t24, i32 0, i32 8
+ %t37 = getelementptr inbounds %ScrArr, ptr %t24, i32 0, i32 9
+ %t36 = load ptr, ptr %t35, !tbaa !2
+ %t38 = load ptr, ptr %t37, !tbaa !2
+ %t39 = getelementptr inbounds i8, ptr %t38, i64 %t31
+ %t40 = getelementptr inbounds i64, ptr %t36, i64 %t31
+ store ptr %t26, ptr %t40, !tbaa !6
+ store i8 1, ptr %t39, !tbaa !4
+ %t41 = add nuw i64 %t31, 1
+ store i64 %t41, ptr %t30, !tbaa !2
+ %t43 = getelementptr inbounds %ScrArr, ptr %t24, i32 0, i32 6
+ %t44 = load i32, ptr %t43, !tbaa !2
+ %t48 = zext i32 %t44 to i64
+ %t45 = icmp eq i64 %t48, %t31
+ %t46 = add i32 %t44, 1
+ %t47 = select i1 %t45, i32 %t46, i32 %t44
+ store i32 %t47, ptr %t43, !tbaa !2
+ %t42 = sitofp i64 %t41 to double
+ br label %arr.push.join15
+arr.push.slow14:
+ %t49 = call double @scr_arr_push_ref(ptr %t24, ptr %t26) cold
+ br label %arr.push.join15
+arr.push.join15:
+ %t50 = phi double [ %t42, %arr.push.dense13 ], [ %t49, %arr.push.slow14 ]
+ br label %if.j8
+if.f9:
+ %t51 = load ptr, ptr %sc_l_v_0
+ %t52 = getelementptr inbounds i8, ptr %t51, i64 8 ; ->kind
+ %t53 = load i32, ptr %t52
+ %t54 = icmp eq i32 %t53, 4
+ %t55 = call zeroext i1 @scr_dyn_ref_is_array(ptr %t51)
+ %t56 = or i1 %t54, %t55
+ br i1 %t56, label %if.t16, label %if.j17
+if.t16:
+ %t57 = load ptr, ptr %sc_l_v_0
+ %t58 = call ptr @sc_dc_1(ptr %t57, ptr null)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @scr_arr_release(ptr %t58)
+ br label %exc.cleanup12
+exc.k19:
+ store ptr %t58, ptr %sc_l_a_0
+ %t63 = fptosi double 0x0000000000000000 to i64
+ store i64 %t63, ptr %s62
+ br label %loop.c21
+loop.c21:
+ %t64 = load ptr, ptr %sc_l_a_0
+ %t65 = getelementptr inbounds %ScrArr, ptr %t64, i64 0, i32 1
+ %t66 = load i64, ptr %t65, !tbaa !2
+ %t67 = load i64, ptr %s62
+ %t68 = icmp ult i64 %t67, %t66
+ br i1 %t68, label %loop.b22, label %loop.e20
+loop.b22:
+ %t69 = load ptr, ptr %sc_l_out_0
+ store ptr %t69, ptr %sc_l__x25_pushTarget_0
+ %t70 = load ptr, ptr %sc_l_a_0
+ %t71 = load i64, ptr %s62
+ %t72 = load i64, ptr %s62
+ %t73 = sitofp i64 %t72 to double
+ %t74 = trunc i64 %t72 to i32
+ %t75 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 2
+ %t76 = load i64, ptr %t75, !tbaa !2
+ %t77 = icmp ult i64 %t71, %t76
+ br i1 %t77, label %local.array.range27, label %local.array.slow24
+local.array.range27:
+ br label %local.array.dense28
+local.array.dense28:
+ %t78 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 6
+ %t79 = load i32, ptr %t78, !tbaa !2
+ %t81 = zext i32 %t79 to i64
+ %t80 = icmp ult i64 %t71, %t81
+ br i1 %t80, label %local.array.value30, label %local.array.len29
+local.array.len29:
+ %t82 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 1
+ %t83 = load i64, ptr %t82, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t84 = icmp ult i64 %t71, %t83
+ br i1 %t84, label %local.array.state31, label %local.array.missing25
+local.array.state31:
+ %t85 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 9
+ %t86 = load ptr, ptr %t85, !tbaa !2
+ %t87 = getelementptr inbounds i8, ptr %t86, i64 %t71
+ %t88 = load i8, ptr %t87, !tbaa !4
+ %t89 = icmp eq i8 %t88, 1
+ br i1 %t89, label %local.array.value30, label %local.array.missing25
+local.array.value30:
+ %t90 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 8
+ %t91 = load ptr, ptr %t90, !tbaa !2
+ %t92 = getelementptr inbounds i64, ptr %t91, i64 %t71
+ %t93 = load ptr, ptr %t92, !tbaa !6
+ %t94 = call ptr @sc_rc_retain_str(ptr %t93)
+ store ptr %t94, ptr %sc_l__x25_pushValue_0
+ br label %local.array.join26
+local.array.slow24:
+ %t95 = call ptr @scr_arr_peek_ref(ptr %t70, double %t73)
+ %t96 = icmp ne ptr %t95, null
+ br i1 %t96, label %local.array.slow.value32, label %local.array.missing25
+local.array.slow.value32:
+ %t97 = call ptr @sc_rc_retain_str(ptr %t95)
+ store ptr %t97, ptr %sc_l__x25_pushValue_0
+ br label %local.array.join26
+local.array.missing25:
+ store ptr null, ptr %sc_l__x25_pushValue_0
+ br label %local.array.join26
+local.array.join26:
+ %t98 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t100 = icmp eq ptr %t98, null
+ br i1 %t100, label %if.t33, label %if.f35
+if.t33:
+ %t101 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t102 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t103 = getelementptr inbounds %ScrArr, ptr %t102, i32 0, i32 1
+ %t104 = load i64, ptr %t103, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t105 = sitofp i64 %t104 to double
+ call void @scr_arr_set_undefined(ptr %t101, double %t105)
+ br label %if.j34
+if.f35:
+ %t106 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t107 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t109 = icmp ne ptr %t107, null
+ br i1 %t109, label %tern.t36, label %tern.f37
+tern.t36:
+ %t111 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t112 = call ptr @sc_rc_retain_str(ptr %t111)
+ store ptr %t112, ptr %s110
+ br label %tern.j38
+tern.f37:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup39
+exc.dead40:
+ store ptr null, ptr %s110
+ br label %tern.j38
+tern.j38:
+ %t113 = load ptr, ptr %s110
+ %t114 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 1
+ %t115 = load i64, ptr %t114, !tbaa !2
+ %t118 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 2
+ %t116 = load i64, ptr %t118, !tbaa !2
+ %t117 = icmp ult i64 %t115, %t116
+ br i1 %t117, label %arr.push.dense41, label %arr.push.slow42
+arr.push.dense41:
+ %t119 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 8
+ %t121 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 9
+ %t120 = load ptr, ptr %t119, !tbaa !2
+ %t122 = load ptr, ptr %t121, !tbaa !2
+ %t123 = getelementptr inbounds i8, ptr %t122, i64 %t115
+ %t124 = getelementptr inbounds i64, ptr %t120, i64 %t115
+ store ptr %t113, ptr %t124, !tbaa !6
+ store i8 1, ptr %t123, !tbaa !4
+ %t125 = add nuw i64 %t115, 1
+ store i64 %t125, ptr %t114, !tbaa !2
+ %t127 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 6
+ %t128 = load i32, ptr %t127, !tbaa !2
+ %t132 = zext i32 %t128 to i64
+ %t129 = icmp eq i64 %t132, %t115
+ %t130 = add i32 %t128, 1
+ %t131 = select i1 %t129, i32 %t130, i32 %t128
+ store i32 %t131, ptr %t127, !tbaa !2
+ %t126 = sitofp i64 %t125 to double
+ br label %arr.push.join43
+arr.push.slow42:
+ %t133 = call double @scr_arr_push_ref(ptr %t106, ptr %t113) cold
+ br label %arr.push.join43
+arr.push.join43:
+ %t134 = phi double [ %t126, %arr.push.dense41 ], [ %t133, %arr.push.slow42 ]
+ br label %if.j34
+if.j34:
+ %t135 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t136 = getelementptr inbounds %ScrArr, ptr %t135, i32 0, i32 1
+ %t137 = load i64, ptr %t136, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t138 = sitofp i64 %t137 to double
+ %t139 = load ptr, ptr %sc_l__x25_pushValue_0
+ call void @scr_str_release(ptr %t139)
+ br label %loop.u23
+loop.u23:
+ %t140 = load i64, ptr %s62
+ %t141 = add nuw i64 %t140, 1
+ store i64 %t141, ptr %s62
+ br label %loop.c21
+loop.e20:
+ %t142 = load ptr, ptr %sc_l_a_0
+ call void @scr_arr_release(ptr %t142)
+ br label %if.j17
+if.j17:
+ br label %if.j8
+if.j8:
+ %t143 = load ptr, ptr %sc_l_out_0
+ %t144 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t144)
+ %t145 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t145)
+ ret ptr %t143
+exc.cleanup6:
+ %t146 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t146)
+ ret ptr null
+exc.cleanup12:
+ %t147 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t147)
+ %t148 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t148)
+ %t149 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t149)
+ ret ptr null
+exc.cleanup39:
+ %t150 = load ptr, ptr %sc_l__x25_pushValue_0
+ call void @scr_str_release(ptr %t150)
+ %t151 = load ptr, ptr %sc_l_a_0
+ call void @scr_arr_release(ptr %t151)
+ %t152 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t152)
+ %t153 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t153)
+ %t154 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t154)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m3_LiteHeaders_getSetCookie(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m3_LiteHeaders_getSetCookie(ptr %p0)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteHeaders_forEach(ptr %p_sc_l_this_0, ptr %p_sc_l_cb_0) #0 { ; %%m3.LiteHeaders.forEach
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_cb_0 = alloca ptr ; cb
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_keys_0 = alloca ptr ; keys
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s19 = alloca i64 ; integer induction i
+ %s57 = alloca ptr
+ %s82 = alloca ptr
+ %s107 = alloca ptr
+ store ptr null, ptr %sc_l_h_0
+ store ptr null, ptr %sc_l_keys_0
+ store ptr null, ptr %sc_l_k_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_cb_0, ptr %sc_l_cb_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !72
+ %t7 = call ptr @scr_http_req_retain_v(ptr %t6)
+ %t8 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_req_release(ptr %t7)
+ call void @sc_rrelease_r26(ptr %t8)
+ ret void
+exc.k3:
+ call void @scr_http_req_release(ptr %t7)
+ %t12 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t8, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit)
+ store ptr %t12, ptr %sc_l_h_0
+ call void @sc_rrelease_r26(ptr %t8)
+ %t13 = load ptr, ptr %sc_l_h_0
+ %t14 = call ptr @sc_rc_retain_dyn(ptr %t13)
+ %t15 = call ptr @scr_dyn_obj_key_strs(ptr %t14)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t14)
+ call void @scr_arr_release(ptr %t15)
+ br label %exc.cleanup6
+exc.k5:
+ store ptr %t15, ptr %sc_l_keys_0
+ call void @sc_rc_release_dyn(ptr %t14)
+ %t20 = fptosi double 0x0000000000000000 to i64
+ store i64 %t20, ptr %s19
+ br label %loop.c8
+loop.c8:
+ %t21 = load ptr, ptr %sc_l_keys_0
+ %t22 = getelementptr inbounds %ScrArr, ptr %t21, i64 0, i32 1
+ %t23 = load i64, ptr %t22, !tbaa !2
+ %t24 = load i64, ptr %s19
+ %t25 = icmp ult i64 %t24, %t23
+ br i1 %t25, label %loop.b9, label %loop.e7
+loop.b9:
+ %t26 = load ptr, ptr %sc_l_keys_0
+ %t27 = load i64, ptr %s19
+ %t28 = load i64, ptr %s19
+ %t29 = sitofp i64 %t28 to double
+ %t30 = trunc i64 %t28 to i32
+ %t31 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 2
+ %t32 = load i64, ptr %t31, !tbaa !2
+ %t33 = icmp ult i64 %t27, %t32
+ br i1 %t33, label %local.array.range14, label %local.array.slow11
+local.array.range14:
+ br label %local.array.dense15
+local.array.dense15:
+ %t34 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 6
+ %t35 = load i32, ptr %t34, !tbaa !2
+ %t37 = zext i32 %t35 to i64
+ %t36 = icmp ult i64 %t27, %t37
+ br i1 %t36, label %local.array.value17, label %local.array.len16
+local.array.len16:
+ %t38 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 1
+ %t39 = load i64, ptr %t38, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t40 = icmp ult i64 %t27, %t39
+ br i1 %t40, label %local.array.state18, label %local.array.missing12
+local.array.state18:
+ %t41 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 9
+ %t42 = load ptr, ptr %t41, !tbaa !2
+ %t43 = getelementptr inbounds i8, ptr %t42, i64 %t27
+ %t44 = load i8, ptr %t43, !tbaa !4
+ %t45 = icmp eq i8 %t44, 1
+ br i1 %t45, label %local.array.value17, label %local.array.missing12
+local.array.value17:
+ %t46 = getelementptr inbounds %ScrArr, ptr %t26, i32 0, i32 8
+ %t47 = load ptr, ptr %t46, !tbaa !2
+ %t48 = getelementptr inbounds i64, ptr %t47, i64 %t27
+ %t49 = load ptr, ptr %t48, !tbaa !6
+ %t50 = call ptr @sc_rc_retain_str(ptr %t49)
+ store ptr %t50, ptr %sc_l_k_0
+ br label %local.array.join13
+local.array.slow11:
+ %t51 = call ptr @scr_arr_peek_ref(ptr %t26, double %t29)
+ %t52 = icmp ne ptr %t51, null
+ br i1 %t52, label %local.array.slow.value19, label %local.array.missing12
+local.array.slow.value19:
+ %t53 = call ptr @sc_rc_retain_str(ptr %t51)
+ store ptr %t53, ptr %sc_l_k_0
+ br label %local.array.join13
+local.array.missing12:
+ store ptr null, ptr %sc_l_k_0
+ br label %local.array.join13
+local.array.join13:
+ %t54 = load ptr, ptr %sc_l_h_0
+ %t55 = call ptr @sc_rc_retain_dyn(ptr %t54)
+ %t56 = load ptr, ptr %sc_l_k_0
+ %t59 = icmp eq ptr %t56, null
+ %t58 = select i1 %t59, i32 1, i32 0
+ switch i32 %t58, label %u.bad21 [ i32 0, label %u.a22 i32 1, label %u.a23 ]
+u.a22:
+ %t60 = call ptr @sc_rc_retain_str(ptr %t56)
+ store ptr %t60, ptr %s57
+ br label %us.j20
+u.a23:
+ store ptr @sc_lit_4134463689533233, ptr %s57
+ br label %us.j20
+u.bad21:
+ call void @sc_bad_tag()
+ unreachable
+us.j20:
+ %t61 = load ptr, ptr %s57
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @scr_str_release(ptr %t61)
+ br label %exc.cleanup26
+exc.k25:
+ %t65 = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %t55, ptr %t61)
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @scr_str_release(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t65)
+ br label %exc.cleanup26
+exc.k28:
+ call void @scr_str_release(ptr %t61)
+ store ptr %t65, ptr %sc_l_v_0
+ %t69 = load ptr, ptr %sc_l_v_0
+ %t70 = getelementptr inbounds i8, ptr %t69, i64 8 ; ->kind
+ %t71 = load i32, ptr %t70
+ %t72 = icmp eq i32 %t71, 3
+ br i1 %t72, label %if.t29, label %if.f31
+if.t29:
+ %t73 = load ptr, ptr %sc_l_cb_0
+ %t74 = load ptr, ptr %sc_l_v_0
+ %t75 = call ptr @sc_dc_0(ptr %t74, ptr null)
+ %t76 = load i32, ptr %exc.cell
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false)
+ br i1 %t78, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @scr_str_release(ptr %t75)
+ br label %exc.cleanup34
+exc.k33:
+ %t79 = load ptr, ptr %sc_l_k_0
+ %t81 = icmp ne ptr %t79, null
+ br i1 %t81, label %tern.t35, label %tern.f36
+tern.t35:
+ %t83 = load ptr, ptr %sc_l_k_0
+ %t84 = call ptr @sc_rc_retain_str(ptr %t83)
+ store ptr %t84, ptr %s82
+ br label %tern.j37
+tern.f36:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ call void @scr_str_release(ptr %t75)
+ br label %exc.cleanup34
+exc.dead38:
+ store ptr null, ptr %s82
+ br label %tern.j37
+tern.j37:
+ %t85 = load ptr, ptr %s82
+ %t86 = getelementptr inbounds %ScrClosure, ptr %t73, i64 0, i32 1
+ %t87 = load ptr, ptr %t86
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t87(ptr %t73, ptr %t75, ptr %t85)
+ call void @scr_dyn_this_pop()
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u39, label %exc.k40
+exc.u39:
+ br label %exc.cleanup34
+exc.k40:
+ br label %if.j30
+if.f31:
+ %t91 = load ptr, ptr %sc_l_v_0
+ %t92 = getelementptr inbounds i8, ptr %t91, i64 8 ; ->kind
+ %t93 = load i32, ptr %t92
+ %t94 = icmp eq i32 %t93, 4
+ %t95 = call zeroext i1 @scr_dyn_ref_is_array(ptr %t91)
+ %t96 = or i1 %t94, %t95
+ br i1 %t96, label %if.t41, label %if.j42
+if.t41:
+ %t97 = load ptr, ptr %sc_l_cb_0
+ %t98 = load ptr, ptr %sc_l_v_0
+ %t99 = call ptr @sc_dc_1(ptr %t98, ptr null)
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @scr_arr_release(ptr %t99)
+ br label %exc.cleanup34
+exc.k44:
+ %t103 = call ptr @scr_arr_join(ptr %t99, ptr @sc_lit_176469025513879)
+ %t104 = load ptr, ptr %sc_l_k_0
+ %t106 = icmp ne ptr %t104, null
+ br i1 %t106, label %tern.t45, label %tern.f46
+tern.t45:
+ %t108 = load ptr, ptr %sc_l_k_0
+ %t109 = call ptr @sc_rc_retain_str(ptr %t108)
+ store ptr %t109, ptr %s107
+ br label %tern.j47
+tern.f46:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ call void @scr_arr_release(ptr %t99)
+ call void @scr_str_release(ptr %t103)
+ br label %exc.cleanup34
+exc.dead48:
+ store ptr null, ptr %s107
+ br label %tern.j47
+tern.j47:
+ %t110 = load ptr, ptr %s107
+ %t111 = getelementptr inbounds %ScrClosure, ptr %t97, i64 0, i32 1
+ %t112 = load ptr, ptr %t111
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t112(ptr %t97, ptr %t103, ptr %t110)
+ call void @scr_dyn_this_pop()
+ %t113 = load i32, ptr %exc.cell
+ %t114 = icmp ne i32 %t113, 0
+ %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false)
+ br i1 %t115, label %exc.u49, label %exc.k50
+exc.u49:
+ call void @scr_arr_release(ptr %t99)
+ br label %exc.cleanup34
+exc.k50:
+ call void @scr_arr_release(ptr %t99)
+ br label %if.j42
+if.j42:
+ br label %if.j30
+if.j30:
+ %t116 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t116)
+ %t117 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t117)
+ br label %loop.u10
+loop.u10:
+ %t118 = load i64, ptr %s19
+ %t119 = add nuw i64 %t118, 1
+ store i64 %t119, ptr %s19
+ br label %loop.c8
+loop.e7:
+ %t120 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t120)
+ %t121 = load ptr, ptr %sc_l_keys_0
+ call void @scr_arr_release(ptr %t121)
+ ret void
+exc.cleanup6:
+ %t122 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t122)
+ ret void
+exc.cleanup26:
+ %t123 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t123)
+ %t124 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t124)
+ %t125 = load ptr, ptr %sc_l_keys_0
+ call void @scr_arr_release(ptr %t125)
+ ret void
+exc.cleanup34:
+ %t126 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t126)
+ %t127 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t127)
+ %t128 = load ptr, ptr %sc_l_h_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_keys_0
+ call void @scr_arr_release(ptr %t129)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteHeaders_forEach(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteHeaders_forEach(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteRequest_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_im_0) #0 { ; %%m3.LiteRequest.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_im_0 = alloca ptr ; im
+ %sc_l_raw_0 = alloca ptr ; raw
+ %sc_l_hv_0 = alloca ptr ; hv
+ %sc_l_host_0 = alloca ptr ; host
+ %sc_l_m_0 = alloca ptr ; m
+ %sc_l_chunks_0 = alloca ptr ; chunks
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_rec_0 = alloca ptr ; rec
+ %sc_l_keys_0 = alloca ptr ; keys
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %s18 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s41 = alloca i1
+ %s52 = alloca ptr
+ %s64 = alloca ptr
+ %s69 = alloca [3 x ptr]
+ %s97 = alloca i1
+ %s101 = alloca i1
+ %s105 = alloca i1
+ %s151 = alloca i64 ; integer induction i
+ %s166 = alloca ptr
+ store ptr null, ptr %sc_l_raw_0
+ store ptr null, ptr %sc_l_hv_0
+ store ptr null, ptr %sc_l_host_0
+ store ptr null, ptr %sc_l_m_0
+ store ptr null, ptr %sc_l_chunks_0
+ store ptr null, ptr %sc_l_self_0
+ store ptr null, ptr %sc_l_rec_0
+ store ptr null, ptr %sc_l_keys_0
+ store ptr null, ptr %sc_l_k_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_im_0, ptr %sc_l_im_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t6 = call ptr @scr_dyn_undefined()
+ %t5 = call ptr @scr_dyn_retain_v(ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t4, i64 0, i32 3
+ %t8 = load ptr, ptr %t7
+ store ptr %t5, ptr %t7, !tbaa !74
+ call void @sc_rc_release_dyn(ptr %t8)
+ %t9 = load ptr, ptr %sc_l_this_0
+ %t10 = load ptr, ptr %sc_l_im_0
+ %t11 = call ptr @scr_http_req_retain_v(ptr %t10)
+ %t12 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t9, i64 0, i32 4
+ %t13 = load ptr, ptr %t12
+ store ptr %t11, ptr %t12, !tbaa !72
+ call void @scr_http_req_release(ptr %t13)
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = load ptr, ptr %sc_l_im_0
+ %t16 = call ptr @scr_http_req_retain_v(ptr %t15)
+ %t17 = call ptr @scr_http_req_method(ptr %t16)
+ store ptr %t17, ptr %s18
+ %t19 = getelementptr inbounds %ScrStr, ptr %t17, i64 0, i32 1
+ %t20 = load i64, ptr %t19
+ %t21 = icmp ne i64 %t20, 0
+ br i1 %t21, label %log.j3, label %log.r2
+log.r2:
+ call void @scr_str_release(ptr %t17)
+ store ptr @sc_lit_4005573543169985, ptr %s18
+ br label %log.j3
+log.j3:
+ %t22 = load ptr, ptr %s18
+ %t23 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t14, i64 0, i32 1
+ %t24 = load ptr, ptr %t23
+ store ptr %t22, ptr %t23, !tbaa !76
+ call void @scr_str_release(ptr %t24)
+ call void @scr_http_req_release(ptr %t16)
+ %t25 = load ptr, ptr %sc_l_im_0
+ %t26 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t25)
+ %t27 = load i32, ptr %exc.cell
+ %t28 = icmp ne i32 %t27, 0
+ %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false)
+ br i1 %t29, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rrelease_r26(ptr %t26)
+ ret void
+exc.k5:
+ %t30 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t26, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit)
+ store ptr %t30, ptr %sc_l_raw_0
+ call void @sc_rrelease_r26(ptr %t26)
+ %t31 = load ptr, ptr %sc_l_raw_0
+ %t32 = call ptr @sc_rc_retain_dyn(ptr %t31)
+ %t33 = call ptr @sc_f__x25_dyn_class_property_19(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t33)
+ br label %exc.cleanup8
+exc.k7:
+ store ptr %t33, ptr %sc_l_hv_0
+ %t37 = load ptr, ptr %sc_l_hv_0
+ %t38 = getelementptr inbounds i8, ptr %t37, i64 8 ; ->kind
+ %t39 = load i32, ptr %t38
+ %t40 = icmp eq i32 %t39, 3
+ store i1 %t40, ptr %s41
+ br i1 %t40, label %log.r9, label %log.j10
+log.r9:
+ %t42 = load ptr, ptr %sc_l_hv_0
+ %t43 = call ptr @sc_dc_0(ptr %t42, ptr null)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @scr_str_release(ptr %t43)
+ br label %exc.cleanup13
+exc.k12:
+ %t47 = call double @sc_str_utf16_len(ptr %t43)
+ %t49 = fptosi double %t47 to i32
+ %t50 = sext i32 %t49 to i64
+ %t48 = icmp sgt i64 %t50, 0
+ store i1 %t48, ptr %s41
+ call void @scr_str_release(ptr %t43)
+ br label %log.j10
+log.j10:
+ %t51 = load i1, ptr %s41
+ br i1 %t51, label %tern.t14, label %tern.f15
+tern.t14:
+ %t53 = load ptr, ptr %sc_l_hv_0
+ %t54 = call ptr @sc_dc_0(ptr %t53, ptr null)
+ %t55 = load i32, ptr %exc.cell
+ %t56 = icmp ne i32 %t55, 0
+ %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false)
+ br i1 %t57, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @scr_str_release(ptr %t54)
+ br label %exc.cleanup13
+exc.k18:
+ store ptr %t54, ptr %s52
+ br label %tern.j16
+tern.f15:
+ store ptr @sc_lit_799419648406123, ptr %s52
+ br label %tern.j16
+tern.j16:
+ %t58 = load ptr, ptr %s52
+ store ptr %t58, ptr %sc_l_host_0
+ %t59 = load ptr, ptr %sc_l_this_0
+ %t60 = load ptr, ptr %sc_l_host_0
+ %t61 = load ptr, ptr %sc_l_im_0
+ %t62 = call ptr @scr_http_req_retain_v(ptr %t61)
+ %t63 = call ptr @scr_http_req_url(ptr %t62)
+ store ptr %t63, ptr %s64
+ %t65 = getelementptr inbounds %ScrStr, ptr %t63, i64 0, i32 1
+ %t66 = load i64, ptr %t65
+ %t67 = icmp ne i64 %t66, 0
+ br i1 %t67, label %log.j20, label %log.r19
+log.r19:
+ call void @scr_str_release(ptr %t63)
+ store ptr @sc_lit_2434240011052594, ptr %s64
+ br label %log.j20
+log.j20:
+ %t68 = load ptr, ptr %s64
+ %t70 = getelementptr [3 x ptr], ptr %s69, i32 0, i32 0
+ store ptr @sc_lit_2472641820270753, ptr %t70
+ %t71 = getelementptr [3 x ptr], ptr %s69, i32 0, i32 1
+ store ptr %t60, ptr %t71
+ %t72 = getelementptr [3 x ptr], ptr %s69, i32 0, i32 2
+ store ptr %t68, ptr %t72
+ %t73 = call ptr @scr_str_concat_parts(ptr %s69, i64 3)
+ %t74 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t59, i64 0, i32 2
+ %t75 = load ptr, ptr %t74
+ store ptr %t73, ptr %t74, !tbaa !78
+ call void @scr_str_release(ptr %t75)
+ call void @scr_http_req_release(ptr %t62)
+ call void @scr_str_release(ptr %t68)
+ %t76 = load ptr, ptr %sc_l_this_0
+ %t77 = call ptr @sc_new__x25_m3_LiteHeaders()
+ %t78 = load ptr, ptr %sc_l_im_0
+ call void @sc_bf__x25__x25_m3_LiteHeaders_constructor(ptr %t77, ptr %t78)
+ %t79 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t77, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t80 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t76, i64 0, i32 3
+ %t81 = load ptr, ptr %t80
+ store ptr %t79, ptr %t80, !tbaa !74
+ call void @sc_rc_release_dyn(ptr %t81)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t77)
+ %t82 = load ptr, ptr %sc_l_this_0
+ %t83 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t82, i64 0, i32 6
+ %t84 = load ptr, ptr %t83
+ store ptr null, ptr %t83, !tbaa !80
+ call void @scr_str_release(ptr %t84)
+ %t85 = load ptr, ptr %sc_l_this_0
+ %t86 = call ptr @scr_arr_new(i32 4, i64 0)
+ %t87 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t85, i64 0, i32 7
+ %t88 = load ptr, ptr %t87
+ store ptr %t86, ptr %t87, !tbaa !82
+ call void @scr_arr_release(ptr %t88)
+ %t89 = load ptr, ptr %sc_l_this_0
+ %t90 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t89, i64 0, i32 8
+ store double 0x0000000000000000, ptr %t90, !tbaa !84
+ %t91 = load ptr, ptr %sc_l_this_0
+ %t92 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t91, i64 0, i32 1
+ %t93 = load ptr, ptr %t92, !tbaa !76
+ %t94 = call ptr @sc_rc_retain_str(ptr %t93)
+ store ptr %t94, ptr %sc_l_m_0
+ %t95 = load ptr, ptr %sc_l_m_0
+ %t96 = call zeroext i1 @sc_streq_2725580638052193(ptr %t95)
+ store i1 %t96, ptr %s97
+ br i1 %t96, label %log.j22, label %log.r21
+log.r21:
+ %t98 = load ptr, ptr %sc_l_m_0
+ %t99 = call zeroext i1 @sc_streq_2541794298493390(ptr %t98)
+ store i1 %t99, ptr %s97
+ br label %log.j22
+log.j22:
+ %t100 = load i1, ptr %s97
+ store i1 %t100, ptr %s101
+ br i1 %t100, label %log.j24, label %log.r23
+log.r23:
+ %t102 = load ptr, ptr %sc_l_m_0
+ %t103 = call zeroext i1 @sc_streq_2494668324074259(ptr %t102)
+ store i1 %t103, ptr %s101
+ br label %log.j24
+log.j24:
+ %t104 = load i1, ptr %s101
+ store i1 %t104, ptr %s105
+ br i1 %t104, label %log.j26, label %log.r25
+log.r25:
+ %t106 = load ptr, ptr %sc_l_m_0
+ %t107 = call zeroext i1 @sc_streq_1791854776991212(ptr %t106)
+ store i1 %t107, ptr %s105
+ br label %log.j26
+log.j26:
+ %t108 = load i1, ptr %s105
+ br i1 %t108, label %if.t27, label %if.j28
+if.t27:
+ %t109 = call ptr @scr_box_new(i32 3) ; let chunks (boxed)
+ store ptr %t109, ptr %sc_l_chunks_0
+ %t110 = load ptr, ptr %sc_l_this_0
+ %t111 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t110, i64 0, i32 7
+ %t112 = load ptr, ptr %t111, !tbaa !82
+ %t113 = call ptr @scr_arr_retain_v(ptr %t112)
+ call void @scr_box_set_ref(ptr %t109, ptr %t113)
+ %t114 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) ; let self (boxed)
+ store ptr %t114, ptr %sc_l_self_0
+ %t115 = load ptr, ptr %sc_l_this_0
+ %t116 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t115)
+ call void @scr_box_set_ref(ptr %t114, ptr %t116)
+ %t117 = load ptr, ptr %sc_l_im_0
+ %t118 = call ptr @scr_http_req_retain_v(ptr %t117)
+ %t119 = call ptr @scr_closure_new(ptr @sc_f__x25_fn34, i64 1)
+ %t120 = getelementptr inbounds %ScrClosure, ptr %t119, i64 0, i32 4
+ store i32 4, ptr %t120
+ %t121 = getelementptr inbounds %ScrClosure, ptr %t119, i64 0, i32 7
+ store ptr @sc_bf__x25_fn34, ptr %t121
+ %t122 = load ptr, ptr %sc_l_chunks_0
+ %t123 = call ptr @sc_retain_box(ptr %t122)
+ %t124 = getelementptr inbounds %ScrClosure, ptr %t119, i64 1 ; caps
+ %t125 = getelementptr inbounds ptr, ptr %t124, i64 0 ; caps[0]
+ store ptr %t123, ptr %t125
+ call void @scr_http_req_on_data(ptr %t118, ptr %t119, ptr @scr_net_data_thunk_bytes, i1 false)
+ call void @scr_http_req_release(ptr %t118)
+ %t126 = load ptr, ptr %sc_l_im_0
+ %t127 = call ptr @scr_http_req_retain_v(ptr %t126)
+ %t128 = call ptr @scr_closure_new(ptr @sc_f__x25_fn35, i64 1)
+ %t129 = getelementptr inbounds %ScrClosure, ptr %t128, i64 0, i32 4
+ store i32 4, ptr %t129
+ %t130 = load ptr, ptr %sc_l_self_0
+ %t131 = call ptr @sc_retain_box(ptr %t130)
+ %t132 = getelementptr inbounds %ScrClosure, ptr %t128, i64 1 ; caps
+ %t133 = getelementptr inbounds ptr, ptr %t132, i64 0 ; caps[0]
+ store ptr %t131, ptr %t133
+ call void @scr_http_req_on_end(ptr %t127, ptr %t128, i1 false)
+ call void @scr_http_req_release(ptr %t127)
+ %t134 = load ptr, ptr %sc_l_im_0
+ %t135 = call ptr @scr_http_req_retain_v(ptr %t134)
+ %t136 = call ptr @scr_closure_new(ptr @sc_f__x25_fn36, i64 1)
+ %t137 = getelementptr inbounds %ScrClosure, ptr %t136, i64 0, i32 4
+ store i32 4, ptr %t137
+ %t138 = load ptr, ptr %sc_l_self_0
+ %t139 = call ptr @sc_retain_box(ptr %t138)
+ %t140 = getelementptr inbounds %ScrClosure, ptr %t136, i64 1 ; caps
+ %t141 = getelementptr inbounds ptr, ptr %t140, i64 0 ; caps[0]
+ store ptr %t139, ptr %t141
+ call void @scr_http_req_on_error(ptr %t135, ptr %t136, ptr @scr_child_err_thunk0, i1 false)
+ call void @scr_http_req_release(ptr %t135)
+ %t142 = load ptr, ptr %sc_l_chunks_0
+ call void @scr_box_release(ptr %t142)
+ %t143 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t143)
+ br label %if.j28
+if.j28:
+ %t144 = call ptr @sc_rnew_r0()
+ store ptr %t144, ptr %sc_l_rec_0
+ %t145 = load ptr, ptr %sc_l_raw_0
+ %t146 = call ptr @sc_rc_retain_dyn(ptr %t145)
+ %t147 = call ptr @scr_dyn_obj_key_strs(ptr %t146)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t146)
+ call void @scr_arr_release(ptr %t147)
+ br label %exc.cleanup31
+exc.k30:
+ store ptr %t147, ptr %sc_l_keys_0
+ call void @sc_rc_release_dyn(ptr %t146)
+ %t152 = fptosi double 0x0000000000000000 to i64
+ store i64 %t152, ptr %s151
+ br label %loop.c33
+loop.c33:
+ %t153 = load ptr, ptr %sc_l_keys_0
+ %t154 = getelementptr inbounds %ScrArr, ptr %t153, i64 0, i32 1
+ %t155 = load i64, ptr %t154, !tbaa !2
+ %t156 = load i64, ptr %s151
+ %t157 = icmp ult i64 %t156, %t155
+ br i1 %t157, label %loop.b34, label %loop.e32
+loop.b34:
+ %t158 = load ptr, ptr %sc_l_keys_0
+ %t159 = load i64, ptr %s151
+ %t160 = sitofp i64 %t159 to double
+ %t161 = trunc i64 %t159 to i32
+ %t162 = call ptr @sc_bf__x25_arr_idxOr_13(ptr %t158, double %t160)
+ store ptr %t162, ptr %sc_l_k_0
+ %t163 = load ptr, ptr %sc_l_raw_0
+ %t164 = call ptr @sc_rc_retain_dyn(ptr %t163)
+ %t165 = load ptr, ptr %sc_l_k_0
+ %t168 = icmp eq ptr %t165, null
+ %t167 = select i1 %t168, i32 1, i32 0
+ switch i32 %t167, label %u.bad37 [ i32 0, label %u.a38 i32 1, label %u.a39 ]
+u.a38:
+ %t169 = call ptr @sc_rc_retain_str(ptr %t165)
+ store ptr %t169, ptr %s166
+ br label %us.j36
+u.a39:
+ store ptr @sc_lit_4134463689533233, ptr %s166
+ br label %us.j36
+u.bad37:
+ call void @sc_bad_tag()
+ unreachable
+us.j36:
+ %t170 = load ptr, ptr %s166
+ %t171 = load i32, ptr %exc.cell
+ %t172 = icmp ne i32 %t171, 0
+ %t173 = call i1 @llvm.expect.i1(i1 %t172, i1 false)
+ br i1 %t173, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t164)
+ call void @scr_str_release(ptr %t170)
+ br label %exc.cleanup42
+exc.k41:
+ %t174 = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %t164, ptr %t170)
+ %t175 = load i32, ptr %exc.cell
+ %t176 = icmp ne i32 %t175, 0
+ %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false)
+ br i1 %t177, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @scr_str_release(ptr %t170)
+ call void @sc_rc_release_dyn(ptr %t174)
+ br label %exc.cleanup42
+exc.k44:
+ call void @scr_str_release(ptr %t170)
+ store ptr %t174, ptr %sc_l_v_0
+ %t178 = load ptr, ptr %sc_l_v_0
+ %t179 = getelementptr inbounds i8, ptr %t178, i64 8 ; ->kind
+ %t180 = load i32, ptr %t179
+ %t181 = icmp eq i32 %t180, 3
+ br i1 %t181, label %if.t45, label %if.f47
+if.t45:
+ %t182 = load ptr, ptr %sc_l_rec_0
+ %t183 = call ptr @sc_rretain_r0(ptr %t182)
+ %t184 = load ptr, ptr %sc_l_k_0
+ %t185 = call ptr @sc_td_30(ptr %t184)
+ %t186 = call ptr @scr_dyn_string_coerce_js(ptr %t185)
+ %t187 = load i32, ptr %exc.cell
+ %t188 = icmp ne i32 %t187, 0
+ %t189 = call i1 @llvm.expect.i1(i1 %t188, i1 false)
+ br i1 %t189, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rrelease_r0(ptr %t183)
+ call void @sc_rc_release_dyn(ptr %t185)
+ call void @scr_str_release(ptr %t186)
+ br label %exc.cleanup50
+exc.k49:
+ %t190 = load ptr, ptr %sc_l_v_0
+ %t191 = call ptr @sc_dc_0(ptr %t190, ptr null)
+ %t192 = load i32, ptr %exc.cell
+ %t193 = icmp ne i32 %t192, 0
+ %t194 = call i1 @llvm.expect.i1(i1 %t193, i1 false)
+ br i1 %t194, label %exc.u51, label %exc.k52
+exc.u51:
+ call void @sc_rrelease_r0(ptr %t183)
+ call void @sc_rc_release_dyn(ptr %t185)
+ call void @scr_str_release(ptr %t186)
+ call void @scr_str_release(ptr %t191)
+ br label %exc.cleanup50
+exc.k52:
+ %t195 = getelementptr inbounds %sc_rs_r0, ptr %t183, i64 0, i32 1
+ %t196 = load ptr, ptr %t195
+ call void @scr_map_set_str_ref(ptr %t196, ptr %t186, ptr %t191)
+ br label %rks.j53
+rks.j53:
+ call void @sc_rrelease_r0(ptr %t183)
+ call void @sc_rc_release_dyn(ptr %t185)
+ call void @scr_str_release(ptr %t186)
+ br label %if.j46
+if.f47:
+ %t197 = load ptr, ptr %sc_l_v_0
+ %t198 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind
+ %t199 = load i32, ptr %t198
+ %t200 = icmp eq i32 %t199, 4
+ %t201 = call zeroext i1 @scr_dyn_ref_is_array(ptr %t197)
+ %t202 = or i1 %t200, %t201
+ br i1 %t202, label %if.t54, label %if.j55
+if.t54:
+ %t203 = load ptr, ptr %sc_l_rec_0
+ %t204 = call ptr @sc_rretain_r0(ptr %t203)
+ %t205 = load ptr, ptr %sc_l_k_0
+ %t206 = call ptr @sc_td_30(ptr %t205)
+ %t207 = call ptr @scr_dyn_string_coerce_js(ptr %t206)
+ %t208 = load i32, ptr %exc.cell
+ %t209 = icmp ne i32 %t208, 0
+ %t210 = call i1 @llvm.expect.i1(i1 %t209, i1 false)
+ br i1 %t210, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rrelease_r0(ptr %t204)
+ call void @sc_rc_release_dyn(ptr %t206)
+ call void @scr_str_release(ptr %t207)
+ br label %exc.cleanup50
+exc.k57:
+ %t211 = load ptr, ptr %sc_l_v_0
+ %t212 = call ptr @sc_dc_1(ptr %t211, ptr null)
+ %t213 = load i32, ptr %exc.cell
+ %t214 = icmp ne i32 %t213, 0
+ %t215 = call i1 @llvm.expect.i1(i1 %t214, i1 false)
+ br i1 %t215, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rrelease_r0(ptr %t204)
+ call void @sc_rc_release_dyn(ptr %t206)
+ call void @scr_str_release(ptr %t207)
+ call void @scr_arr_release(ptr %t212)
+ br label %exc.cleanup50
+exc.k59:
+ %t216 = call ptr @scr_arr_join(ptr %t212, ptr @sc_lit_176469025513879)
+ %t217 = getelementptr inbounds %sc_rs_r0, ptr %t204, i64 0, i32 1
+ %t218 = load ptr, ptr %t217
+ call void @scr_map_set_str_ref(ptr %t218, ptr %t207, ptr %t216)
+ br label %rks.j60
+rks.j60:
+ call void @sc_rrelease_r0(ptr %t204)
+ call void @sc_rc_release_dyn(ptr %t206)
+ call void @scr_str_release(ptr %t207)
+ call void @scr_arr_release(ptr %t212)
+ br label %if.j55
+if.j55:
+ br label %if.j46
+if.j46:
+ %t219 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t219)
+ %t220 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t220)
+ br label %loop.u35
+loop.u35:
+ %t221 = load i64, ptr %s151
+ %t222 = add nuw i64 %t221, 1
+ store i64 %t222, ptr %s151
+ br label %loop.c33
+loop.e32:
+ %t223 = load ptr, ptr %sc_l_this_0
+ %t224 = load ptr, ptr %sc_l_rec_0
+ %t225 = call ptr @sc_rretain_r0(ptr %t224)
+ %t226 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t223, i64 0, i32 5
+ %t227 = load ptr, ptr %t226
+ store ptr %t225, ptr %t226, !tbaa !86
+ call void @sc_rrelease_r0(ptr %t227)
+ %t228 = load ptr, ptr %sc_l_raw_0
+ call void @sc_rc_release_dyn(ptr %t228)
+ %t229 = load ptr, ptr %sc_l_hv_0
+ call void @sc_rc_release_dyn(ptr %t229)
+ %t230 = load ptr, ptr %sc_l_host_0
+ call void @scr_str_release(ptr %t230)
+ %t231 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t231)
+ %t232 = load ptr, ptr %sc_l_rec_0
+ call void @sc_rrelease_r0(ptr %t232)
+ %t233 = load ptr, ptr %sc_l_keys_0
+ call void @scr_arr_release(ptr %t233)
+ ret void
+exc.cleanup8:
+ %t234 = load ptr, ptr %sc_l_raw_0
+ call void @sc_rc_release_dyn(ptr %t234)
+ ret void
+exc.cleanup13:
+ %t235 = load ptr, ptr %sc_l_raw_0
+ call void @sc_rc_release_dyn(ptr %t235)
+ %t236 = load ptr, ptr %sc_l_hv_0
+ call void @sc_rc_release_dyn(ptr %t236)
+ ret void
+exc.cleanup31:
+ %t237 = load ptr, ptr %sc_l_raw_0
+ call void @sc_rc_release_dyn(ptr %t237)
+ %t238 = load ptr, ptr %sc_l_hv_0
+ call void @sc_rc_release_dyn(ptr %t238)
+ %t239 = load ptr, ptr %sc_l_host_0
+ call void @scr_str_release(ptr %t239)
+ %t240 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t240)
+ %t241 = load ptr, ptr %sc_l_rec_0
+ call void @sc_rrelease_r0(ptr %t241)
+ ret void
+exc.cleanup42:
+ %t242 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t242)
+ %t243 = load ptr, ptr %sc_l_raw_0
+ call void @sc_rc_release_dyn(ptr %t243)
+ %t244 = load ptr, ptr %sc_l_hv_0
+ call void @sc_rc_release_dyn(ptr %t244)
+ %t245 = load ptr, ptr %sc_l_host_0
+ call void @scr_str_release(ptr %t245)
+ %t246 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t246)
+ %t247 = load ptr, ptr %sc_l_rec_0
+ call void @sc_rrelease_r0(ptr %t247)
+ %t248 = load ptr, ptr %sc_l_keys_0
+ call void @scr_arr_release(ptr %t248)
+ ret void
+exc.cleanup50:
+ %t249 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t249)
+ %t250 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t250)
+ %t251 = load ptr, ptr %sc_l_raw_0
+ call void @sc_rc_release_dyn(ptr %t251)
+ %t252 = load ptr, ptr %sc_l_hv_0
+ call void @sc_rc_release_dyn(ptr %t252)
+ %t253 = load ptr, ptr %sc_l_host_0
+ call void @scr_str_release(ptr %t253)
+ %t254 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t254)
+ %t255 = load ptr, ptr %sc_l_rec_0
+ call void @sc_rrelease_r0(ptr %t255)
+ %t256 = load ptr, ptr %sc_l_keys_0
+ call void @scr_arr_release(ptr %t256)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteRequest_constructor(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteRequest_constructor(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m3_LiteRequest(ptr %p0)
+ call void @scr_http_req_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m3_LiteRequest_get_x3a_body(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteRequest.get:body
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_m_0 = alloca ptr ; m
+ %sc_l_im_0 = alloca ptr ; im
+ %sc_l_self_0 = alloca ptr ; self
+ %s0 = alloca ptr ; lazy box this
+ %s12 = alloca i1
+ %s17 = alloca i1
+ %s22 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_m_0
+ store ptr null, ptr %sc_l_im_0
+ store ptr null, ptr %sc_l_self_0
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t1 = call ptr @llvm.stacksave.p0()
+ %t2 = load ptr, ptr @scr_stack_guard
+ %t3 = icmp ult ptr %t1, %t2
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t5, i64 0, i32 1
+ %t7 = load ptr, ptr %t6, !tbaa !76
+ %t8 = call ptr @sc_rc_retain_str(ptr %t7)
+ store ptr %t8, ptr %sc_l_m_0
+ %t9 = load ptr, ptr %sc_l_m_0
+ %t10 = call zeroext i1 @sc_streq_2725580638052193(ptr %t9)
+ %t11 = xor i1 %t10, true
+ store i1 %t11, ptr %s12
+ br i1 %t11, label %log.r3, label %log.j4
+log.r3:
+ %t13 = load ptr, ptr %sc_l_m_0
+ %t14 = call zeroext i1 @sc_streq_2541794298493390(ptr %t13)
+ %t15 = xor i1 %t14, true
+ store i1 %t15, ptr %s12
+ br label %log.j4
+log.j4:
+ %t16 = load i1, ptr %s12
+ store i1 %t16, ptr %s17
+ br i1 %t16, label %log.r5, label %log.j6
+log.r5:
+ %t18 = load ptr, ptr %sc_l_m_0
+ %t19 = call zeroext i1 @sc_streq_2494668324074259(ptr %t18)
+ %t20 = xor i1 %t19, true
+ store i1 %t20, ptr %s17
+ br label %log.j6
+log.j6:
+ %t21 = load i1, ptr %s17
+ store i1 %t21, ptr %s22
+ br i1 %t21, label %log.r7, label %log.j8
+log.r7:
+ %t23 = load ptr, ptr %sc_l_m_0
+ %t24 = call zeroext i1 @sc_streq_1791854776991212(ptr %t23)
+ %t25 = xor i1 %t24, true
+ store i1 %t25, ptr %s22
+ br label %log.j8
+log.j8:
+ %t26 = load i1, ptr %s22
+ br i1 %t26, label %if.t9, label %if.j10
+if.t9:
+ %t27 = call ptr @scr_dyn_new_null()
+ %t28 = load ptr, ptr %s0
+ %t29 = icmp ne ptr %t28, null
+ br i1 %t29, label %lazy.release11, label %lazy.release.j12
+lazy.release11:
+ call void @scr_box_release(ptr %t28)
+ br label %lazy.release.j12
+lazy.release.j12:
+ %t30 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t30)
+ ret ptr %t27
+if.j10:
+ %t31 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) ; let im (boxed)
+ store ptr %t31, ptr %sc_l_im_0
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t32, i64 0, i32 4
+ %t34 = load ptr, ptr %t33, !tbaa !72
+ %t35 = call ptr @scr_http_req_retain_v(ptr %t34)
+ call void @scr_box_set_ref(ptr %t31, ptr %t35)
+ %t36 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) ; let self (boxed)
+ store ptr %t36, ptr %sc_l_self_0
+ %t37 = load ptr, ptr %sc_l_this_0
+ %t38 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t37)
+ call void @scr_box_set_ref(ptr %t36, ptr %t38)
+ %t39 = call ptr @scr_dyn_new_obj()
+ %t40 = call ptr @scr_closure_new(ptr @sc_f__x25_fn57, i64 3)
+ %t41 = getelementptr inbounds %ScrClosure, ptr %t40, i64 0, i32 4
+ store i32 4, ptr %t41
+ %t42 = load ptr, ptr %s0
+ %t43 = icmp eq ptr %t42, null
+ br i1 %t43, label %lazy.box13, label %lazy.box.j14
+lazy.box13:
+ %t44 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest)
+ %t45 = load ptr, ptr %sc_l_this_0
+ %t46 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t45)
+ call void @scr_box_set_ref(ptr %t44, ptr %t46)
+ store ptr %t44, ptr %s0
+ br label %lazy.box.j14
+lazy.box.j14:
+ %t47 = load ptr, ptr %s0
+ %t48 = call ptr @sc_retain_box(ptr %t47)
+ %t49 = getelementptr inbounds %ScrClosure, ptr %t40, i64 1 ; caps
+ %t50 = getelementptr inbounds ptr, ptr %t49, i64 0 ; caps[0]
+ store ptr %t48, ptr %t50
+ %t51 = load ptr, ptr %sc_l_self_0
+ %t52 = call ptr @sc_retain_box(ptr %t51)
+ %t53 = getelementptr inbounds %ScrClosure, ptr %t40, i64 1 ; caps
+ %t54 = getelementptr inbounds ptr, ptr %t53, i64 1 ; caps[1]
+ store ptr %t52, ptr %t54
+ %t55 = load ptr, ptr %sc_l_im_0
+ %t56 = call ptr @sc_retain_box(ptr %t55)
+ %t57 = getelementptr inbounds %ScrClosure, ptr %t40, i64 1 ; caps
+ %t58 = getelementptr inbounds ptr, ptr %t57, i64 2 ; caps[2]
+ store ptr %t56, ptr %t58
+ %t59 = call ptr @sc_dfb_12(ptr %t40, ptr null)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3605103414985721, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t59)
+ br label %exc.cleanup17
+exc.k16:
+ %t63 = call ptr @scr_fetch_stream_new(ptr %t39)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ br label %exc.cleanup17
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t59)
+ %t67 = load ptr, ptr %s0
+ %t68 = icmp ne ptr %t67, null
+ br i1 %t68, label %lazy.release20, label %lazy.release.j21
+lazy.release20:
+ call void @scr_box_release(ptr %t67)
+ br label %lazy.release.j21
+lazy.release.j21:
+ %t69 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t69)
+ %t70 = load ptr, ptr %sc_l_im_0
+ call void @scr_box_release(ptr %t70)
+ %t71 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t71)
+ ret ptr %t63
+exc.cleanup2:
+ %t72 = load ptr, ptr %s0
+ %t73 = icmp ne ptr %t72, null
+ br i1 %t73, label %lazy.release22, label %lazy.release.j23
+lazy.release22:
+ call void @scr_box_release(ptr %t72)
+ br label %lazy.release.j23
+lazy.release.j23:
+ ret ptr null
+exc.cleanup17:
+ %t74 = load ptr, ptr %s0
+ %t75 = icmp ne ptr %t74, null
+ br i1 %t75, label %lazy.release24, label %lazy.release.j25
+lazy.release24:
+ call void @scr_box_release(ptr %t74)
+ br label %lazy.release.j25
+lazy.release.j25:
+ %t76 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t76)
+ %t77 = load ptr, ptr %sc_l_im_0
+ call void @scr_box_release(ptr %t77)
+ %t78 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t78)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m3_LiteRequest_get_x3a_body(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m3_LiteRequest_get_x3a_body(ptr %p0)
+ call void @sc_release__x25_m3_LiteRequest(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m3_LiteRequest_text(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteRequest.text
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_im_0 = alloca ptr ; im
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_done_0 = alloca ptr ; done
+ %sc_l_done_1 = alloca ptr ; done
+ %s0 = alloca ptr ; lazy box this
+ store ptr null, ptr %sc_l_im_0
+ store ptr null, ptr %sc_l_self_0
+ store ptr null, ptr %sc_l_done_0
+ store ptr null, ptr %sc_l_done_1
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t1 = call ptr @llvm.stacksave.p0()
+ %t2 = load ptr, ptr @scr_stack_guard
+ %t3 = icmp ult ptr %t1, %t2
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t5 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) ; let im (boxed)
+ store ptr %t5, ptr %sc_l_im_0
+ %t6 = load ptr, ptr %sc_l_this_0
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 4
+ %t8 = load ptr, ptr %t7, !tbaa !72
+ %t9 = call ptr @scr_http_req_retain_v(ptr %t8)
+ call void @scr_box_set_ref(ptr %t5, ptr %t9)
+ %t10 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) ; let self (boxed)
+ store ptr %t10, ptr %sc_l_self_0
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t11)
+ call void @scr_box_set_ref(ptr %t10, ptr %t12)
+ %t13 = load ptr, ptr %sc_l_this_0
+ %t14 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t13, i64 0, i32 6
+ %t15 = load ptr, ptr %t14, !tbaa !80
+ %t16 = call ptr @sc_nretain_string(ptr %t15)
+ store ptr %t16, ptr %sc_l_done_1
+ %t17 = call ptr @scr_box_new_obj(ptr @sc_nretain_string, ptr @scr_str_release_v, ptr null) ; let done (boxed)
+ store ptr %t17, ptr %sc_l_done_0
+ %t18 = load ptr, ptr %sc_l_done_1
+ %t19 = call ptr @sc_nretain_string(ptr %t18)
+ call void @scr_box_set_ref(ptr %t17, ptr %t19)
+ %t20 = load ptr, ptr %sc_l_done_1
+ %t22 = icmp ne ptr %t20, null
+ br i1 %t22, label %if.t3, label %if.j4
+if.t3:
+ %t23 = call ptr @scr_promise_new()
+ %t24 = call ptr @scr_make_resolve(ptr %t23, i32 2)
+ %t25 = call ptr @scr_closure_new(ptr @sc_f__x25_fn41, i64 1)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t25, i64 0, i32 4
+ store i32 4, ptr %t26
+ %t27 = getelementptr inbounds %ScrClosure, ptr %t25, i64 0, i32 7
+ store ptr @sc_bf__x25_fn41, ptr %t27
+ %t28 = load ptr, ptr %sc_l_done_0
+ %t29 = call ptr @sc_retain_box(ptr %t28)
+ %t30 = getelementptr inbounds %ScrClosure, ptr %t25, i64 1 ; caps
+ %t31 = getelementptr inbounds ptr, ptr %t30, i64 0 ; caps[0]
+ store ptr %t29, ptr %t31
+ call void @scr_promise_run_executor(ptr %t23, ptr %t25, ptr %t24)
+ call void @scr_closure_release(ptr %t25)
+ %t32 = load ptr, ptr %s0
+ %t33 = icmp ne ptr %t32, null
+ br i1 %t33, label %lazy.release5, label %lazy.release.j6
+lazy.release5:
+ call void @scr_box_release(ptr %t32)
+ br label %lazy.release.j6
+lazy.release.j6:
+ %t34 = load ptr, ptr %sc_l_im_0
+ call void @scr_box_release(ptr %t34)
+ %t35 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t35)
+ %t36 = load ptr, ptr %sc_l_done_1
+ call void @scr_str_release(ptr %t36)
+ %t37 = load ptr, ptr %sc_l_done_0
+ call void @scr_box_release(ptr %t37)
+ ret ptr %t23
+if.j4:
+ %t38 = call ptr @scr_promise_new()
+ %t39 = call ptr @scr_make_resolve(ptr %t38, i32 2)
+ %t40 = call ptr @scr_make_reject(ptr %t38)
+ %t41 = call ptr @scr_closure_new(ptr @sc_f__x25_fn42, i64 3)
+ %t42 = getelementptr inbounds %ScrClosure, ptr %t41, i64 0, i32 4
+ store i32 4, ptr %t42
+ %t43 = load ptr, ptr %s0
+ %t44 = icmp eq ptr %t43, null
+ br i1 %t44, label %lazy.box7, label %lazy.box.j8
+lazy.box7:
+ %t45 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest)
+ %t46 = load ptr, ptr %sc_l_this_0
+ %t47 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t46)
+ call void @scr_box_set_ref(ptr %t45, ptr %t47)
+ store ptr %t45, ptr %s0
+ br label %lazy.box.j8
+lazy.box.j8:
+ %t48 = load ptr, ptr %s0
+ %t49 = call ptr @sc_retain_box(ptr %t48)
+ %t50 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps
+ %t51 = getelementptr inbounds ptr, ptr %t50, i64 0 ; caps[0]
+ store ptr %t49, ptr %t51
+ %t52 = load ptr, ptr %sc_l_self_0
+ %t53 = call ptr @sc_retain_box(ptr %t52)
+ %t54 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps
+ %t55 = getelementptr inbounds ptr, ptr %t54, i64 1 ; caps[1]
+ store ptr %t53, ptr %t55
+ %t56 = load ptr, ptr %sc_l_im_0
+ %t57 = call ptr @sc_retain_box(ptr %t56)
+ %t58 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps
+ %t59 = getelementptr inbounds ptr, ptr %t58, i64 2 ; caps[2]
+ store ptr %t57, ptr %t59
+ call void @scr_promise_run_executor2(ptr %t38, ptr %t41, ptr %t39, ptr %t40)
+ call void @scr_closure_release(ptr %t41)
+ %t60 = load ptr, ptr %s0
+ %t61 = icmp ne ptr %t60, null
+ br i1 %t61, label %lazy.release9, label %lazy.release.j10
+lazy.release9:
+ call void @scr_box_release(ptr %t60)
+ br label %lazy.release.j10
+lazy.release.j10:
+ %t62 = load ptr, ptr %sc_l_im_0
+ call void @scr_box_release(ptr %t62)
+ %t63 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t63)
+ %t64 = load ptr, ptr %sc_l_done_1
+ call void @scr_str_release(ptr %t64)
+ %t65 = load ptr, ptr %sc_l_done_0
+ call void @scr_box_release(ptr %t65)
+ ret ptr %t38
+exc.cleanup2:
+ %t66 = load ptr, ptr %s0
+ %t67 = icmp ne ptr %t66, null
+ br i1 %t67, label %lazy.release11, label %lazy.release.j12
+lazy.release11:
+ call void @scr_box_release(ptr %t66)
+ br label %lazy.release.j12
+lazy.release.j12:
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m3_LiteRequest_text(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m3_LiteRequest_text(ptr %p0)
+ call void @sc_release__x25_m3_LiteRequest(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m3_LiteRequest_arrayBuffer(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteRequest.arrayBuffer
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_im_0 = alloca ptr ; im
+ %sc_l_self_0 = alloca ptr ; self
+ %s0 = alloca ptr ; lazy box this
+ store ptr null, ptr %sc_l_im_0
+ store ptr null, ptr %sc_l_self_0
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t1 = call ptr @llvm.stacksave.p0()
+ %t2 = load ptr, ptr @scr_stack_guard
+ %t3 = icmp ult ptr %t1, %t2
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t5 = call ptr @scr_box_new_obj(ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null) ; let im (boxed)
+ store ptr %t5, ptr %sc_l_im_0
+ %t6 = load ptr, ptr %sc_l_this_0
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 4
+ %t8 = load ptr, ptr %t7, !tbaa !72
+ %t9 = call ptr @scr_http_req_retain_v(ptr %t8)
+ call void @scr_box_set_ref(ptr %t5, ptr %t9)
+ %t10 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) ; let self (boxed)
+ store ptr %t10, ptr %sc_l_self_0
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t11)
+ call void @scr_box_set_ref(ptr %t10, ptr %t12)
+ %t13 = call ptr @scr_promise_new()
+ %t14 = call ptr @scr_make_resolve_fn(ptr %t13, ptr @sc_rslv_0)
+ %t15 = call ptr @scr_make_reject(ptr %t13)
+ %t16 = call ptr @scr_closure_new(ptr @sc_f__x25_fn37, i64 3)
+ %t17 = getelementptr inbounds %ScrClosure, ptr %t16, i64 0, i32 4
+ store i32 4, ptr %t17
+ %t18 = load ptr, ptr %s0
+ %t19 = icmp eq ptr %t18, null
+ br i1 %t19, label %lazy.box3, label %lazy.box.j4
+lazy.box3:
+ %t20 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest)
+ %t21 = load ptr, ptr %sc_l_this_0
+ %t22 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t21)
+ call void @scr_box_set_ref(ptr %t20, ptr %t22)
+ store ptr %t20, ptr %s0
+ br label %lazy.box.j4
+lazy.box.j4:
+ %t23 = load ptr, ptr %s0
+ %t24 = call ptr @sc_retain_box(ptr %t23)
+ %t25 = getelementptr inbounds %ScrClosure, ptr %t16, i64 1 ; caps
+ %t26 = getelementptr inbounds ptr, ptr %t25, i64 0 ; caps[0]
+ store ptr %t24, ptr %t26
+ %t27 = load ptr, ptr %sc_l_self_0
+ %t28 = call ptr @sc_retain_box(ptr %t27)
+ %t29 = getelementptr inbounds %ScrClosure, ptr %t16, i64 1 ; caps
+ %t30 = getelementptr inbounds ptr, ptr %t29, i64 1 ; caps[1]
+ store ptr %t28, ptr %t30
+ %t31 = load ptr, ptr %sc_l_im_0
+ %t32 = call ptr @sc_retain_box(ptr %t31)
+ %t33 = getelementptr inbounds %ScrClosure, ptr %t16, i64 1 ; caps
+ %t34 = getelementptr inbounds ptr, ptr %t33, i64 2 ; caps[2]
+ store ptr %t32, ptr %t34
+ call void @scr_promise_run_executor2(ptr %t13, ptr %t16, ptr %t14, ptr %t15)
+ call void @scr_closure_release(ptr %t16)
+ %t35 = load ptr, ptr %s0
+ %t36 = icmp ne ptr %t35, null
+ br i1 %t36, label %lazy.release5, label %lazy.release.j6
+lazy.release5:
+ call void @scr_box_release(ptr %t35)
+ br label %lazy.release.j6
+lazy.release.j6:
+ %t37 = load ptr, ptr %sc_l_im_0
+ call void @scr_box_release(ptr %t37)
+ %t38 = load ptr, ptr %sc_l_self_0
+ call void @scr_box_release(ptr %t38)
+ ret ptr %t13
+exc.cleanup2:
+ %t39 = load ptr, ptr %s0
+ %t40 = icmp ne ptr %t39, null
+ br i1 %t40, label %lazy.release7, label %lazy.release.j8
+lazy.release7:
+ call void @scr_box_release(ptr %t39)
+ br label %lazy.release.j8
+lazy.release.j8:
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m3_LiteRequest_arrayBuffer(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m3_LiteRequest_arrayBuffer(ptr %p0)
+ call void @sc_release__x25_m3_LiteRequest(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m3_LiteRequest_request(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteRequest.request
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_hs_0 = alloca ptr ; hs
+ %sc_l_lit_0 = alloca ptr ; lit
+ %sc_l__x25_protocolCallee_0 = alloca ptr ; %protocolCallee
+ %sc_l_init_0 = alloca ptr ; init
+ %sc_l__x25_setReceiver_0 = alloca ptr ; %setReceiver
+ %sc_l__x25_setKey_0 = alloca ptr ; %setKey
+ %sc_l__x25_setValue_0 = alloca ptr ; %setValue
+ %sc_l__x25_setReceiver_1 = alloca ptr ; %setReceiver
+ %sc_l__x25_setKey_1 = alloca ptr ; %setKey
+ %sc_l__x25_setValue_1 = alloca ptr ; %setValue
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l__x25_setReceiver_2 = alloca ptr ; %setReceiver
+ %sc_l__x25_setKey_2 = alloca ptr ; %setKey
+ %sc_l__x25_setValue_2 = alloca ptr ; %setValue
+ %sc_l__x25_setReceiver_3 = alloca ptr ; %setReceiver
+ %sc_l__x25_setKey_3 = alloca ptr ; %setKey
+ %sc_l__x25_setValue_3 = alloca ptr ; %setValue
+ %sc_l_hs_1 = alloca ptr ; hs
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_hs_0
+ store ptr null, ptr %sc_l_lit_0
+ store ptr null, ptr %sc_l__x25_protocolCallee_0
+ store ptr null, ptr %sc_l_init_0
+ store ptr null, ptr %sc_l__x25_setReceiver_0
+ store ptr null, ptr %sc_l__x25_setKey_0
+ store ptr null, ptr %sc_l__x25_setValue_0
+ store ptr null, ptr %sc_l__x25_setReceiver_1
+ store ptr null, ptr %sc_l__x25_setKey_1
+ store ptr null, ptr %sc_l__x25_setValue_1
+ store ptr null, ptr %sc_l_b_0
+ store ptr null, ptr %sc_l__x25_setReceiver_2
+ store ptr null, ptr %sc_l__x25_setKey_2
+ store ptr null, ptr %sc_l__x25_setValue_2
+ store ptr null, ptr %sc_l__x25_setReceiver_3
+ store ptr null, ptr %sc_l__x25_setKey_3
+ store ptr null, ptr %sc_l__x25_setValue_3
+ store ptr null, ptr %sc_l_hs_1
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t5 = call ptr @scr_dyn_undefined()
+ %t4 = call ptr @scr_dyn_retain_v(ptr %t5)
+ %t6 = call ptr @scr_fetch_headers_new(ptr %t4)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l_hs_1
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t10 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) ; let hs (boxed)
+ store ptr %t10, ptr %sc_l_hs_0
+ %t11 = load ptr, ptr %sc_l_hs_1
+ %t12 = call ptr @sc_rc_retain_dyn(ptr %t11)
+ call void @scr_box_set_ref(ptr %t10, ptr %t12)
+ %t13 = load ptr, ptr %sc_l_this_0
+ %t14 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t13, i64 0, i32 3
+ %t15 = load ptr, ptr %t14, !tbaa !74
+ %t16 = call ptr @sc_rc_retain_dyn(ptr %t15)
+ store ptr %t16, ptr %sc_l_lit_0
+ %t17 = load ptr, ptr %sc_l_lit_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_protocol_callee_2(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup6
+exc.k5:
+ store ptr %t19, ptr %sc_l__x25_protocolCallee_0
+ %t23 = load ptr, ptr %sc_l_lit_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t25 = load ptr, ptr %sc_l__x25_protocolCallee_0
+ %t26 = call ptr @scr_closure_new(ptr @sc_f__x25_fn46, i64 1)
+ %t27 = getelementptr inbounds %ScrClosure, ptr %t26, i64 0, i32 4
+ store i32 4, ptr %t27
+ %t28 = getelementptr inbounds %ScrClosure, ptr %t26, i64 0, i32 7
+ store ptr @sc_bf__x25_fn46, ptr %t28
+ %t29 = load ptr, ptr %sc_l_hs_0
+ %t30 = call ptr @sc_retain_box(ptr %t29)
+ %t31 = getelementptr inbounds %ScrClosure, ptr %t26, i64 1 ; caps
+ %t32 = getelementptr inbounds ptr, ptr %t31, i64 0 ; caps[0]
+ store ptr %t30, ptr %t32
+ %t33 = call ptr @sc_bf__x25_dyn_class_protocol_2(ptr %t24, ptr %t25, ptr %t26, ptr @sc_lit_516698931398762)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @scr_closure_release(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t33)
+ br label %exc.cleanup9
+exc.k8:
+ call void @scr_closure_release(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t33)
+ %t37 = load ptr, ptr %sc_l__x25_protocolCallee_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t38 = call ptr @scr_dyn_new_obj()
+ store ptr %t38, ptr %sc_l_init_0
+ %t39 = load ptr, ptr %sc_l_init_0
+ store ptr %t39, ptr %sc_l__x25_setReceiver_0
+ %t40 = call ptr @sc_td_0(ptr @sc_lit_1609576561362083)
+ store ptr %t40, ptr %sc_l__x25_setKey_0
+ %t41 = load ptr, ptr %sc_l_this_0
+ %t42 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t41, i64 0, i32 1
+ %t43 = load ptr, ptr %t42, !tbaa !76
+ %t44 = call ptr @sc_rc_retain_str(ptr %t43)
+ store ptr %t44, ptr %sc_l__x25_setValue_0
+ %t45 = load ptr, ptr %sc_l__x25_setReceiver_0
+ %t46 = call ptr @sc_rc_retain_dyn(ptr %t45)
+ %t47 = load ptr, ptr %sc_l__x25_setKey_0
+ %t48 = load ptr, ptr %sc_l__x25_setValue_0
+ %t49 = call ptr @sc_td_0(ptr %t48)
+ call void @sc_bf__x25_dyn_class_computed_0(ptr %t46, ptr %t47, ptr %t49)
+ %t50 = load i32, ptr %exc.cell
+ %t51 = icmp ne i32 %t50, 0
+ %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false)
+ br i1 %t52, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t49)
+ %t53 = load ptr, ptr %sc_l__x25_setKey_0
+ call void @sc_rc_release_dyn(ptr %t53)
+ %t54 = load ptr, ptr %sc_l__x25_setValue_0
+ call void @scr_str_release(ptr %t54)
+ %t55 = load ptr, ptr %sc_l_init_0
+ store ptr %t55, ptr %sc_l__x25_setReceiver_1
+ %t56 = call ptr @sc_td_0(ptr @sc_lit_977412068193087)
+ store ptr %t56, ptr %sc_l__x25_setKey_1
+ %t57 = load ptr, ptr %sc_l_hs_1
+ store ptr %t57, ptr %sc_l__x25_setValue_1
+ %t58 = load ptr, ptr %sc_l__x25_setReceiver_1
+ %t59 = call ptr @sc_rc_retain_dyn(ptr %t58)
+ %t60 = load ptr, ptr %sc_l__x25_setKey_1
+ %t61 = load ptr, ptr %sc_l__x25_setValue_1
+ call void @sc_bf__x25_dyn_class_computed_0(ptr %t59, ptr %t60, ptr %t61)
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u13, label %exc.k14
+exc.u13:
+ br label %exc.cleanup15
+exc.k14:
+ %t65 = load ptr, ptr %sc_l__x25_setKey_1
+ call void @sc_rc_release_dyn(ptr %t65)
+ %t66 = load ptr, ptr %sc_l_this_0
+ %t67 = call ptr @sc_bf__x25__x25_m3_LiteRequest_get_x3a_body(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup18
+exc.k17:
+ store ptr %t67, ptr %sc_l_b_0
+ %t71 = load ptr, ptr %sc_l_b_0
+ %t72 = getelementptr inbounds i8, ptr %t71, i64 8 ; ->kind
+ %t73 = load i32, ptr %t72
+ %t74 = icmp eq i32 %t73, 0
+ %t75 = xor i1 %t74, true
+ br i1 %t75, label %if.t19, label %if.j20
+if.t19:
+ %t76 = load ptr, ptr %sc_l_init_0
+ store ptr %t76, ptr %sc_l__x25_setReceiver_2
+ %t77 = call ptr @sc_td_0(ptr @sc_lit_616655122974952)
+ store ptr %t77, ptr %sc_l__x25_setKey_2
+ %t78 = load ptr, ptr %sc_l_b_0
+ store ptr %t78, ptr %sc_l__x25_setValue_2
+ %t79 = load ptr, ptr %sc_l__x25_setReceiver_2
+ %t80 = call ptr @sc_rc_retain_dyn(ptr %t79)
+ %t81 = load ptr, ptr %sc_l__x25_setKey_2
+ %t82 = load ptr, ptr %sc_l__x25_setValue_2
+ call void @sc_bf__x25_dyn_class_computed_0(ptr %t80, ptr %t81, ptr %t82)
+ %t83 = load i32, ptr %exc.cell
+ %t84 = icmp ne i32 %t83, 0
+ %t85 = call i1 @llvm.expect.i1(i1 %t84, i1 false)
+ br i1 %t85, label %exc.u21, label %exc.k22
+exc.u21:
+ br label %exc.cleanup23
+exc.k22:
+ %t86 = load ptr, ptr %sc_l__x25_setKey_2
+ call void @sc_rc_release_dyn(ptr %t86)
+ %t87 = load ptr, ptr %sc_l_init_0
+ store ptr %t87, ptr %sc_l__x25_setReceiver_3
+ %t88 = call ptr @sc_td_0(ptr @sc_lit_1063589473929964)
+ store ptr %t88, ptr %sc_l__x25_setKey_3
+ store ptr @sc_lit_2834188894379107, ptr %sc_l__x25_setValue_3
+ %t89 = load ptr, ptr %sc_l__x25_setReceiver_3
+ %t90 = call ptr @sc_rc_retain_dyn(ptr %t89)
+ %t91 = load ptr, ptr %sc_l__x25_setKey_3
+ %t92 = load ptr, ptr %sc_l__x25_setValue_3
+ %t93 = call ptr @sc_td_0(ptr %t92)
+ call void @sc_bf__x25_dyn_class_computed_0(ptr %t90, ptr %t91, ptr %t93)
+ %t94 = load i32, ptr %exc.cell
+ %t95 = icmp ne i32 %t94, 0
+ %t96 = call i1 @llvm.expect.i1(i1 %t95, i1 false)
+ br i1 %t96, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t93)
+ br label %exc.cleanup26
+exc.k25:
+ call void @sc_rc_release_dyn(ptr %t93)
+ %t97 = load ptr, ptr %sc_l__x25_setKey_3
+ call void @sc_rc_release_dyn(ptr %t97)
+ br label %if.j20
+if.j20:
+ %t98 = load ptr, ptr %sc_l_this_0
+ %t99 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t98, i64 0, i32 2
+ %t100 = load ptr, ptr %t99, !tbaa !78
+ %t101 = call ptr @sc_rc_retain_str(ptr %t100)
+ %t102 = call ptr @sc_td_0(ptr %t101)
+ %t103 = load ptr, ptr %sc_l_init_0
+ %t104 = call ptr @sc_rc_retain_dyn(ptr %t103)
+ %t105 = call ptr @scr_fetch_request_new(ptr %t102, ptr %t104)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @scr_str_release(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t104)
+ call void @sc_rc_release_dyn(ptr %t105)
+ br label %exc.cleanup29
+exc.k28:
+ call void @scr_str_release(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t104)
+ %t109 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rc_release_dyn(ptr %t109)
+ %t110 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t110)
+ %t111 = load ptr, ptr %sc_l_lit_0
+ call void @sc_rc_release_dyn(ptr %t111)
+ %t112 = load ptr, ptr %sc_l_init_0
+ call void @sc_rc_release_dyn(ptr %t112)
+ %t113 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t113)
+ ret ptr %t105
+exc.cleanup6:
+ %t114 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rc_release_dyn(ptr %t114)
+ %t115 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t115)
+ %t116 = load ptr, ptr %sc_l_lit_0
+ call void @sc_rc_release_dyn(ptr %t116)
+ ret ptr null
+exc.cleanup9:
+ %t117 = load ptr, ptr %sc_l__x25_protocolCallee_0
+ call void @sc_rc_release_dyn(ptr %t117)
+ %t118 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rc_release_dyn(ptr %t118)
+ %t119 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t119)
+ %t120 = load ptr, ptr %sc_l_lit_0
+ call void @sc_rc_release_dyn(ptr %t120)
+ ret ptr null
+exc.cleanup12:
+ %t121 = load ptr, ptr %sc_l__x25_setKey_0
+ call void @sc_rc_release_dyn(ptr %t121)
+ %t122 = load ptr, ptr %sc_l__x25_setValue_0
+ call void @scr_str_release(ptr %t122)
+ %t123 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rc_release_dyn(ptr %t123)
+ %t124 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t124)
+ %t125 = load ptr, ptr %sc_l_lit_0
+ call void @sc_rc_release_dyn(ptr %t125)
+ %t126 = load ptr, ptr %sc_l_init_0
+ call void @sc_rc_release_dyn(ptr %t126)
+ ret ptr null
+exc.cleanup15:
+ %t127 = load ptr, ptr %sc_l__x25_setKey_1
+ call void @sc_rc_release_dyn(ptr %t127)
+ %t128 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t129)
+ %t130 = load ptr, ptr %sc_l_lit_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ %t131 = load ptr, ptr %sc_l_init_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ ret ptr null
+exc.cleanup18:
+ %t132 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rc_release_dyn(ptr %t132)
+ %t133 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t133)
+ %t134 = load ptr, ptr %sc_l_lit_0
+ call void @sc_rc_release_dyn(ptr %t134)
+ %t135 = load ptr, ptr %sc_l_init_0
+ call void @sc_rc_release_dyn(ptr %t135)
+ ret ptr null
+exc.cleanup23:
+ %t136 = load ptr, ptr %sc_l__x25_setKey_2
+ call void @sc_rc_release_dyn(ptr %t136)
+ %t137 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rc_release_dyn(ptr %t137)
+ %t138 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t138)
+ %t139 = load ptr, ptr %sc_l_lit_0
+ call void @sc_rc_release_dyn(ptr %t139)
+ %t140 = load ptr, ptr %sc_l_init_0
+ call void @sc_rc_release_dyn(ptr %t140)
+ %t141 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t141)
+ ret ptr null
+exc.cleanup26:
+ %t142 = load ptr, ptr %sc_l__x25_setKey_3
+ call void @sc_rc_release_dyn(ptr %t142)
+ %t143 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rc_release_dyn(ptr %t143)
+ %t144 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t144)
+ %t145 = load ptr, ptr %sc_l_lit_0
+ call void @sc_rc_release_dyn(ptr %t145)
+ %t146 = load ptr, ptr %sc_l_init_0
+ call void @sc_rc_release_dyn(ptr %t146)
+ %t147 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t147)
+ ret ptr null
+exc.cleanup29:
+ %t148 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rc_release_dyn(ptr %t148)
+ %t149 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t149)
+ %t150 = load ptr, ptr %sc_l_lit_0
+ call void @sc_rc_release_dyn(ptr %t150)
+ %t151 = load ptr, ptr %sc_l_init_0
+ call void @sc_rc_release_dyn(ptr %t151)
+ %t152 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t152)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m3_LiteRequest_request(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m3_LiteRequest_request(ptr %p0)
+ call void @sc_release__x25_m3_LiteRequest(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_res_0) #0 { ; %%m3.LiteResponse.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_res_0, ptr %sc_l_res_0
+ store i1 false, ptr %sc_l__x25_superInitialized_0
+ %t0 = load i1, ptr %sc_l__x25_superInitialized_0
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207)
+ ret void
+exc.dead2:
+ br label %if.j1
+if.j1:
+ %t1 = load ptr, ptr %sc_l_this_0
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_constructor(ptr %t1)
+ %t2 = load i32, ptr %exc.cell
+ %t3 = icmp ne i32 %t2, 0
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %exc.u3, label %exc.k4
+exc.u3:
+ ret void
+exc.k4:
+ store i1 true, ptr %sc_l__x25_superInitialized_0
+ %t5 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t6 = xor i1 %t5, true
+ br i1 %t6, label %if.t5, label %if.j6
+if.t5:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead7:
+ br label %if.j6
+if.j6:
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = load ptr, ptr %sc_l_res_0
+ %t9 = call ptr @scr_http_res_retain_v(ptr %t8)
+ %t10 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t7, i64 0, i32 14
+ %t11 = load ptr, ptr %t10
+ store ptr %t9, ptr %t10, !tbaa !88
+ call void @scr_http_res_release(ptr %t11)
+ %t12 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t13 = xor i1 %t12, true
+ br i1 %t13, label %if.t8, label %if.j9
+if.t8:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead10:
+ br label %if.j9
+if.j9:
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_constructor(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_constructor(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ call void @scr_http_res_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_setStatus(ptr %p_sc_l_this_0, double %p_sc_l_n_0) #0 { ; %%m3.LiteResponse.setStatus
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_n_0 = alloca double ; n
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store double %p_sc_l_n_0, ptr %sc_l_n_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load double, ptr %sc_l_n_0
+ %t6 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 3
+ store double %t5, ptr %t6, !tbaa !52
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t7, i64 0, i32 14
+ %t9 = load ptr, ptr %t8, !tbaa !88
+ %t10 = call ptr @scr_http_res_retain_v(ptr %t9)
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t11, i64 0, i32 3
+ %t13 = load double, ptr %t12, !tbaa !52
+ call void @scr_http_res_status_set(ptr %t10, double %t13)
+ call void @scr_http_res_release(ptr %t10)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_setStatus(ptr %p0, double %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_setStatus(ptr %p0, double %p1)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_setHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m3.LiteResponse.setHeader
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s18 = alloca [2 x ptr]
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t5 = load i32, ptr %exc.cell
+ %t6 = icmp ne i32 %t5, 0
+ %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false)
+ br i1 %t7, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ ret void
+exc.k3:
+ %t8 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t4)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = load ptr, ptr %sc_l_this_0
+ %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t14 = load ptr, ptr %sc_l_k_0
+ %t15 = call ptr @sc_td_0(ptr %t14)
+ %t16 = load ptr, ptr %sc_l_v_0
+ %t17 = call ptr @sc_td_0(ptr %t16)
+ %t19 = getelementptr inbounds [2 x ptr], ptr %s18, i64 0, i64 0
+ store ptr %t15, ptr %t19
+ %t20 = getelementptr inbounds [2 x ptr], ptr %s18, i64 0, i64 1
+ store ptr %t17, ptr %t20
+ call void @scr_dyn_this_push_dyn(ptr %t13)
+ %t21 = call ptr @scr_dyn_call(ptr %t8, ptr %s18, i64 2, ptr @sc_cs_3252210277870050)
+ call void @scr_dyn_this_pop()
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret void
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ %t25 = load ptr, ptr %sc_l_this_0
+ %t26 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t25, i64 0, i32 14
+ %t27 = load ptr, ptr %t26, !tbaa !88
+ %t28 = call ptr @scr_http_res_retain_v(ptr %t27)
+ %t29 = load ptr, ptr %sc_l_k_0
+ %t30 = call ptr @sc_rc_retain_str(ptr %t29)
+ %t31 = load ptr, ptr %sc_l_v_0
+ %t32 = call ptr @sc_rc_retain_str(ptr %t31)
+ call void @scr_http_res_set_header(ptr %t28, ptr %t30, ptr %t32)
+ call void @scr_http_res_release(ptr %t28)
+ call void @scr_str_release(ptr %t30)
+ call void @scr_str_release(ptr %t32)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_setHeader(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_setHeader(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_appendHeader(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0) #0 { ; %%m3.LiteResponse.appendHeader
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s18 = alloca [2 x ptr]
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t5 = load i32, ptr %exc.cell
+ %t6 = icmp ne i32 %t5, 0
+ %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false)
+ br i1 %t7, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ ret void
+exc.k3:
+ %t8 = call ptr @sc_f__x25_dyn_class_property_15(ptr %t4)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = load ptr, ptr %sc_l_this_0
+ %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t14 = load ptr, ptr %sc_l_k_0
+ %t15 = call ptr @sc_td_0(ptr %t14)
+ %t16 = load ptr, ptr %sc_l_v_0
+ %t17 = call ptr @sc_td_0(ptr %t16)
+ %t19 = getelementptr inbounds [2 x ptr], ptr %s18, i64 0, i64 0
+ store ptr %t15, ptr %t19
+ %t20 = getelementptr inbounds [2 x ptr], ptr %s18, i64 0, i64 1
+ store ptr %t17, ptr %t20
+ call void @scr_dyn_this_push_dyn(ptr %t13)
+ %t21 = call ptr @scr_dyn_call(ptr %t8, ptr %s18, i64 2, ptr @sc_cs_603367798359837)
+ call void @scr_dyn_this_pop()
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret void
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ %t25 = load ptr, ptr %sc_l_this_0
+ %t26 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t25, i64 0, i32 14
+ %t27 = load ptr, ptr %t26, !tbaa !88
+ %t28 = call ptr @scr_http_res_retain_v(ptr %t27)
+ %t29 = load ptr, ptr %sc_l_k_0
+ %t30 = call ptr @sc_rc_retain_str(ptr %t29)
+ %t31 = load ptr, ptr %sc_l_v_0
+ %t32 = call ptr @sc_rc_retain_str(ptr %t31)
+ call void @scr_http_res_set_header(ptr %t28, ptr %t30, ptr %t32)
+ call void @scr_http_res_release(ptr %t28)
+ call void @scr_str_release(ptr %t30)
+ call void @scr_str_release(ptr %t32)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_appendHeader(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_appendHeader(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_writeBody(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0) #0 { ; %%m3.LiteResponse.writeBody
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_str_0 = alloca ptr ; str
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s15 = alloca ptr
+ %s29 = alloca [1 x ptr]
+ %s41 = alloca i1
+ %s60 = alloca ptr
+ %s75 = alloca [2 x ptr]
+ %s94 = alloca ptr
+ %s108 = alloca [1 x ptr]
+ %s132 = alloca ptr
+ %s150 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l_str_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_s_0
+ store ptr %t4, ptr %sc_l_str_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ store ptr %t5, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t7 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %t6)
+ %t8 = load i32, ptr %exc.cell
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t7)
+ ret void
+exc.k3:
+ store ptr %t7, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 6
+ br i1 %t14, label %tern.t4, label %tern.f5
+tern.t4:
+ %t17 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t17)
+ store ptr %t16, ptr %s15
+ br label %tern.j6
+tern.f5:
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = call ptr @sc_rc_retain_dyn(ptr %t18)
+ %t20 = call ptr @sc_f__x25_dyn_class_property_28(ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t20, ptr %s15
+ br label %tern.j6
+tern.j6:
+ %t24 = load ptr, ptr %s15
+ store ptr %t24, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t28 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t30 = getelementptr inbounds [1 x ptr], ptr %s29, i64 0, i64 0
+ store ptr %t28, ptr %t30
+ call void @scr_dyn_this_push_dyn(ptr %t27)
+ %t31 = call ptr @scr_dyn_call(ptr %t25, ptr %s29, i64 1, ptr @sc_cs_171661974819393)
+ call void @scr_dyn_this_pop()
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup12
+exc.k11:
+ %t35 = call ptr @sc_dc_63(ptr %t31, ptr null)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @scr_str_release(ptr %t35)
+ br label %exc.cleanup12
+exc.k14:
+ %t40 = icmp eq ptr %t35, @sc_nullable_null
+ store i1 %t40, ptr %s41
+ br i1 %t40, label %log.r15, label %log.j16
+log.r15:
+ %t42 = load ptr, ptr %sc_l_str_0
+ %t43 = call double @sc_str_utf16_len(ptr %t42)
+ %t45 = fptosi double %t43 to i32
+ %t46 = sext i32 %t45 to i64
+ %t44 = icmp sgt i64 %t46, 0
+ store i1 %t44, ptr %s41
+ br label %log.j16
+log.j16:
+ %t47 = load i1, ptr %s41
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @scr_str_release(ptr %t35)
+ %t48 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ %t49 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ br i1 %t47, label %if.t17, label %if.j18
+if.t17:
+ %t50 = load ptr, ptr %sc_l_this_0
+ store ptr %t50, ptr %sc_l__x25_callbackReceiver_1
+ %t51 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t52 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %t51)
+ %t53 = load i32, ptr %exc.cell
+ %t54 = icmp ne i32 %t53, 0
+ %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false)
+ br i1 %t55, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @sc_rc_release_dyn(ptr %t52)
+ ret void
+exc.k20:
+ store ptr %t52, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t56 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t57 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t58 = load i32, ptr %t57
+ %t59 = icmp eq i32 %t58, 6
+ br i1 %t59, label %tern.t21, label %tern.f22
+tern.t21:
+ %t62 = call ptr @scr_dyn_undefined()
+ %t61 = call ptr @scr_dyn_retain_v(ptr %t62)
+ store ptr %t61, ptr %s60
+ br label %tern.j23
+tern.f22:
+ %t63 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t64 = call ptr @sc_rc_retain_dyn(ptr %t63)
+ %t65 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t64)
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t65)
+ br label %exc.cleanup26
+exc.k25:
+ store ptr %t65, ptr %s60
+ br label %tern.j23
+tern.j23:
+ %t69 = load ptr, ptr %s60
+ store ptr %t69, ptr %sc_l__x25_callback_1
+ %t70 = load ptr, ptr %sc_l__x25_callback_1
+ %t71 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t72 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t71, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t73 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t74 = call ptr @sc_td_0(ptr @sc_lit_266676967674785)
+ %t76 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 0
+ store ptr %t73, ptr %t76
+ %t77 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 1
+ store ptr %t74, ptr %t77
+ call void @scr_dyn_this_push_dyn(ptr %t72)
+ %t78 = call ptr @scr_dyn_call(ptr %t70, ptr %s75, i64 2, ptr @sc_cs_2568656638816103)
+ call void @scr_dyn_this_pop()
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t78)
+ br label %exc.cleanup29
+exc.k28:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t78)
+ %t82 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t82)
+ %t83 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t83)
+ br label %if.j18
+if.j18:
+ %t84 = load ptr, ptr %sc_l_this_0
+ store ptr %t84, ptr %sc_l__x25_callbackReceiver_2
+ %t85 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t86 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %t85)
+ %t87 = load i32, ptr %exc.cell
+ %t88 = icmp ne i32 %t87, 0
+ %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false)
+ br i1 %t89, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t86)
+ ret void
+exc.k31:
+ store ptr %t86, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t90 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t91 = getelementptr inbounds i8, ptr %t90, i64 8 ; ->kind
+ %t92 = load i32, ptr %t91
+ %t93 = icmp eq i32 %t92, 6
+ br i1 %t93, label %tern.t32, label %tern.f33
+tern.t32:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ store ptr %t95, ptr %s94
+ br label %tern.j34
+tern.f33:
+ %t97 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t98 = call ptr @sc_rc_retain_dyn(ptr %t97)
+ %t99 = call ptr @sc_f__x25_dyn_class_property_28(ptr %t98)
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rc_release_dyn(ptr %t99)
+ br label %exc.cleanup37
+exc.k36:
+ store ptr %t99, ptr %s94
+ br label %tern.j34
+tern.j34:
+ %t103 = load ptr, ptr %s94
+ store ptr %t103, ptr %sc_l__x25_callback_2
+ %t104 = load ptr, ptr %sc_l__x25_callback_2
+ %t105 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t106 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t105, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t107 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802)
+ %t109 = getelementptr inbounds [1 x ptr], ptr %s108, i64 0, i64 0
+ store ptr %t107, ptr %t109
+ call void @scr_dyn_this_push_dyn(ptr %t106)
+ %t110 = call ptr @scr_dyn_call(ptr %t104, ptr %s108, i64 1, ptr @sc_cs_171661974819393)
+ call void @scr_dyn_this_pop()
+ %t111 = load i32, ptr %exc.cell
+ %t112 = icmp ne i32 %t111, 0
+ %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false)
+ br i1 %t113, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t106)
+ call void @sc_rc_release_dyn(ptr %t107)
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup40
+exc.k39:
+ %t114 = call ptr @sc_dc_63(ptr %t110, ptr null)
+ %t115 = load i32, ptr %exc.cell
+ %t116 = icmp ne i32 %t115, 0
+ %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false)
+ br i1 %t117, label %exc.u41, label %exc.k42
+exc.u41:
+ call void @sc_rc_release_dyn(ptr %t106)
+ call void @sc_rc_release_dyn(ptr %t107)
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @scr_str_release(ptr %t114)
+ br label %exc.cleanup40
+exc.k42:
+ %t119 = icmp eq ptr %t114, @sc_nullable_null
+ call void @sc_rc_release_dyn(ptr %t106)
+ call void @sc_rc_release_dyn(ptr %t107)
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @scr_str_release(ptr %t114)
+ %t120 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t120)
+ %t121 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t121)
+ br i1 %t119, label %if.t43, label %if.j44
+if.t43:
+ %t122 = load ptr, ptr %sc_l_this_0
+ store ptr %t122, ptr %sc_l__x25_callbackReceiver_3
+ %t123 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t124 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %t123)
+ %t125 = load i32, ptr %exc.cell
+ %t126 = icmp ne i32 %t125, 0
+ %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false)
+ br i1 %t127, label %exc.u45, label %exc.k46
+exc.u45:
+ call void @sc_rc_release_dyn(ptr %t124)
+ ret void
+exc.k46:
+ store ptr %t124, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t128 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t129 = getelementptr inbounds i8, ptr %t128, i64 8 ; ->kind
+ %t130 = load i32, ptr %t129
+ %t131 = icmp eq i32 %t130, 6
+ br i1 %t131, label %tern.t47, label %tern.f48
+tern.t47:
+ %t134 = call ptr @scr_dyn_undefined()
+ %t133 = call ptr @scr_dyn_retain_v(ptr %t134)
+ store ptr %t133, ptr %s132
+ br label %tern.j49
+tern.f48:
+ %t135 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t136 = call ptr @sc_rc_retain_dyn(ptr %t135)
+ %t137 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t136)
+ %t138 = load i32, ptr %exc.cell
+ %t139 = icmp ne i32 %t138, 0
+ %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false)
+ br i1 %t140, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t137, ptr %s132
+ br label %tern.j49
+tern.j49:
+ %t141 = load ptr, ptr %s132
+ store ptr %t141, ptr %sc_l__x25_callback_3
+ %t142 = load ptr, ptr %sc_l__x25_callback_3
+ %t143 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t144 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t143, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t145 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802)
+ %t146 = load ptr, ptr %sc_l_str_0
+ %t147 = call double @sc_bf__x25_m2_utf8len(ptr %t146)
+ %t148 = call ptr @scr_f64_to_scrstr(double %t147)
+ %t149 = call ptr @sc_td_0(ptr %t148)
+ %t151 = getelementptr inbounds [2 x ptr], ptr %s150, i64 0, i64 0
+ store ptr %t145, ptr %t151
+ %t152 = getelementptr inbounds [2 x ptr], ptr %s150, i64 0, i64 1
+ store ptr %t149, ptr %t152
+ call void @scr_dyn_this_push_dyn(ptr %t144)
+ %t153 = call ptr @scr_dyn_call(ptr %t142, ptr %s150, i64 2, ptr @sc_cs_2568656638816103)
+ call void @scr_dyn_this_pop()
+ %t154 = load i32, ptr %exc.cell
+ %t155 = icmp ne i32 %t154, 0
+ %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false)
+ br i1 %t156, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t144)
+ call void @sc_rc_release_dyn(ptr %t145)
+ call void @scr_str_release(ptr %t148)
+ call void @sc_rc_release_dyn(ptr %t149)
+ call void @sc_rc_release_dyn(ptr %t153)
+ br label %exc.cleanup55
+exc.k54:
+ call void @sc_rc_release_dyn(ptr %t144)
+ call void @sc_rc_release_dyn(ptr %t145)
+ call void @scr_str_release(ptr %t148)
+ call void @sc_rc_release_dyn(ptr %t149)
+ call void @sc_rc_release_dyn(ptr %t153)
+ %t157 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t157)
+ %t158 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t158)
+ br label %if.j44
+if.j44:
+ %t159 = load ptr, ptr %sc_l_this_0
+ %t160 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t159, i64 0, i32 14
+ %t161 = load ptr, ptr %t160, !tbaa !88
+ %t162 = call ptr @scr_http_res_retain_v(ptr %t161)
+ %t163 = load ptr, ptr %sc_l_this_0
+ %t164 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t163, i64 0, i32 3
+ %t165 = load double, ptr %t164, !tbaa !52
+ call void @scr_http_res_status_set(ptr %t162, double %t165)
+ call void @scr_http_res_release(ptr %t162)
+ %t166 = load ptr, ptr %sc_l_this_0
+ %t167 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t166, i64 0, i32 14
+ %t168 = load ptr, ptr %t167, !tbaa !88
+ %t169 = call ptr @scr_http_res_retain_v(ptr %t168)
+ %t170 = load ptr, ptr %sc_l_str_0
+ %t171 = call ptr @sc_rc_retain_str(ptr %t170)
+ call void @scr_http_res_end_str(ptr %t169, ptr %t171)
+ %t172 = load i32, ptr %exc.cell
+ %t173 = icmp ne i32 %t172, 0
+ %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false)
+ br i1 %t174, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @scr_http_res_release(ptr %t169)
+ call void @scr_str_release(ptr %t171)
+ ret void
+exc.k57:
+ call void @scr_http_res_release(ptr %t169)
+ call void @scr_str_release(ptr %t171)
+ %t175 = load ptr, ptr %sc_l_this_0
+ %t176 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t175, i64 0, i32 8
+ %t177 = zext i1 true to i8
+ store i8 %t177, ptr %t176, !tbaa !42
+ %t178 = load ptr, ptr %sc_l_this_0
+ %t179 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t178, i64 0, i32 9
+ %t180 = zext i1 true to i8
+ store i8 %t180, ptr %t179, !tbaa !62
+ ret void
+exc.cleanup9:
+ %t181 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t181)
+ ret void
+exc.cleanup12:
+ %t182 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ %t183 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t183)
+ ret void
+exc.cleanup26:
+ %t184 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t184)
+ ret void
+exc.cleanup29:
+ %t185 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t185)
+ %t186 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t186)
+ ret void
+exc.cleanup37:
+ %t187 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t187)
+ ret void
+exc.cleanup40:
+ %t188 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t188)
+ %t189 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t189)
+ ret void
+exc.cleanup52:
+ %t190 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t190)
+ ret void
+exc.cleanup55:
+ %t191 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t191)
+ %t192 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t192)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_writeBody(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_writeBody(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_bodyBytes(ptr %p_sc_l_this_0, ptr %p_sc_l_b_0, ptr %p_sc_l_ct_0) #0 { ; %%m3.LiteResponse.bodyBytes
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_ct_0 = alloca ptr ; ct
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 14
+ %t6 = load ptr, ptr %t5, !tbaa !88
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t8, i64 0, i32 3
+ %t10 = load double, ptr %t9, !tbaa !52
+ call void @scr_http_res_status_set(ptr %t7, double %t10)
+ call void @scr_http_res_release(ptr %t7)
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t11, i64 0, i32 14
+ %t13 = load ptr, ptr %t12, !tbaa !88
+ %t14 = call ptr @scr_http_res_retain_v(ptr %t13)
+ %t15 = load ptr, ptr %sc_l_ct_0
+ %t16 = call ptr @sc_rc_retain_str(ptr %t15)
+ call void @scr_http_res_set_header(ptr %t14, ptr @sc_lit_2329537264393449, ptr %t16)
+ call void @scr_http_res_release(ptr %t14)
+ call void @scr_str_release(ptr %t16)
+ %t17 = load ptr, ptr %sc_l_this_0
+ %t18 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t17, i64 0, i32 14
+ %t19 = load ptr, ptr %t18, !tbaa !88
+ %t20 = call ptr @scr_http_res_retain_v(ptr %t19)
+ %t21 = load ptr, ptr %sc_l_b_0
+ %t22 = getelementptr inbounds %ScrBytes, ptr %t21, i64 0, i32 1
+ %t23 = load i64, ptr %t22
+ %t24 = sitofp i64 %t23 to double
+ %t25 = call ptr @scr_f64_to_scrstr(double %t24)
+ call void @scr_http_res_set_header(ptr %t20, ptr @sc_lit_1821151629374802, ptr %t25)
+ call void @scr_http_res_release(ptr %t20)
+ call void @scr_str_release(ptr %t25)
+ %t26 = load ptr, ptr %sc_l_this_0
+ %t27 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t26, i64 0, i32 14
+ %t28 = load ptr, ptr %t27, !tbaa !88
+ %t29 = call ptr @scr_http_res_retain_v(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_b_0
+ %t31 = call ptr @scr_bytes_retain_v(ptr %t30)
+ call void @scr_http_res_end_bytes(ptr %t29, ptr %t31)
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t29)
+ call void @scr_bytes_release(ptr %t31)
+ ret void
+exc.k3:
+ call void @scr_http_res_release(ptr %t29)
+ call void @scr_bytes_release(ptr %t31)
+ %t35 = load ptr, ptr %sc_l_this_0
+ %t36 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t35, i64 0, i32 8
+ %t37 = zext i1 true to i8
+ store i8 %t37, ptr %t36, !tbaa !42
+ %t38 = load ptr, ptr %sc_l_this_0
+ %t39 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t38, i64 0, i32 9
+ %t40 = zext i1 true to i8
+ store i8 %t40, ptr %t39, !tbaa !62
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_bodyBytes(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_bodyBytes(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_redirect(ptr %p_sc_l_this_0, ptr %p_sc_l_url_0, double %p_sc_l_code_0) #0 { ; %%m3.LiteResponse.redirect
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_code_0 = alloca double ; code
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_url_0, ptr %sc_l_url_0
+ store double %p_sc_l_code_0, ptr %sc_l_code_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load double, ptr %sc_l_code_0
+ %t6 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 3
+ store double %t5, ptr %t6, !tbaa !52
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t7, i64 0, i32 14
+ %t9 = load ptr, ptr %t8, !tbaa !88
+ %t10 = call ptr @scr_http_res_retain_v(ptr %t9)
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t11, i64 0, i32 3
+ %t13 = load double, ptr %t12, !tbaa !52
+ call void @scr_http_res_status_set(ptr %t10, double %t13)
+ call void @scr_http_res_release(ptr %t10)
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t14, i64 0, i32 14
+ %t16 = load ptr, ptr %t15, !tbaa !88
+ %t17 = call ptr @scr_http_res_retain_v(ptr %t16)
+ %t18 = load ptr, ptr %sc_l_url_0
+ %t19 = call ptr @sc_rc_retain_str(ptr %t18)
+ call void @scr_http_res_set_header(ptr %t17, ptr @sc_lit_4062345987786846, ptr %t19)
+ call void @scr_http_res_release(ptr %t17)
+ call void @scr_str_release(ptr %t19)
+ %t20 = load ptr, ptr %sc_l_this_0
+ %t21 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t20, i64 0, i32 14
+ %t22 = load ptr, ptr %t21, !tbaa !88
+ %t23 = call ptr @scr_http_res_retain_v(ptr %t22)
+ call void @scr_http_res_end(ptr %t23)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t23)
+ ret void
+exc.k3:
+ call void @scr_http_res_release(ptr %t23)
+ %t27 = load ptr, ptr %sc_l_this_0
+ %t28 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t27, i64 0, i32 8
+ %t29 = zext i1 true to i8
+ store i8 %t29, ptr %t28, !tbaa !42
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_redirect(ptr %p0, ptr %p1, double %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_redirect(ptr %p0, ptr %p1, double %p2)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_write(ptr %p_sc_l_this_0, ptr %p_sc_l_chunk_0) #0 { ; %%m3.LiteResponse.write
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_chunk_0 = alloca ptr ; chunk
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 14
+ %t6 = load ptr, ptr %t5, !tbaa !88
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ %t8 = load ptr, ptr %sc_l_chunk_0
+ %t9 = call ptr @sc_rc_retain_str(ptr %t8)
+ call void @scr_http_res_write_str(ptr %t7, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t7)
+ call void @scr_str_release(ptr %t9)
+ ret void
+exc.k3:
+ call void @scr_http_res_release(ptr %t7)
+ call void @scr_str_release(ptr %t9)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_write(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_write(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_writeHead(ptr %p_sc_l_this_0, double %p_sc_l_status_0, ptr %p_sc_l_flatPairs_0) #0 { ; %%m3.LiteResponse.writeHead
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_status_0 = alloca double ; status
+ %sc_l_flatPairs_0 = alloca ptr ; flatPairs
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_ctl_0 = alloca ptr ; ctl
+ %sc_l_res_1 = alloca ptr ; res
+ %s21 = alloca ptr
+ %s53 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s62 = alloca ptr
+ %s95 = alloca ptr
+ %s123 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l_res_0
+ store ptr null, ptr %sc_l_ctl_0
+ store ptr null, ptr %sc_l_res_1
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store double %p_sc_l_status_0, ptr %sc_l_status_0
+ store ptr %p_sc_l_flatPairs_0, ptr %sc_l_flatPairs_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 14
+ %t6 = load ptr, ptr %t5, !tbaa !88
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ store ptr %t7, ptr %sc_l_res_1
+ %t8 = call ptr @scr_box_new_obj(ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null) ; let res (boxed)
+ store ptr %t8, ptr %sc_l_res_0
+ %t9 = load ptr, ptr %sc_l_res_1
+ %t10 = call ptr @scr_http_res_retain_v(ptr %t9)
+ call void @scr_box_set_ref(ptr %t8, ptr %t10)
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t11 = load double, ptr %sc_l_i_0
+ %t12 = fadd double %t11, 0x3FF0000000000000
+ %t13 = load ptr, ptr %sc_l_flatPairs_0
+ %t14 = getelementptr inbounds %ScrArr, ptr %t13, i32 0, i32 1
+ %t15 = load i64, ptr %t14, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t16 = sitofp i64 %t15 to double
+ %t18 = fptosi double %t16 to i64
+ %t17 = fcmp olt double %t12, %t16
+ br i1 %t17, label %loop.b4, label %loop.e2
+loop.b4:
+ %t19 = load ptr, ptr %sc_l_res_1
+ %t20 = call ptr @scr_http_res_retain_v(ptr %t19)
+ %t22 = load ptr, ptr %sc_l_flatPairs_0
+ %t23 = load double, ptr %sc_l_i_0
+ %t24 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 2
+ %t25 = load i64, ptr %t24, !tbaa !2
+ %t26 = fptosi double %t23 to i64
+ %t27 = freeze i64 %t26
+ %t28 = sitofp i64 %t27 to double
+ %t29 = fcmp oeq double %t28, %t23
+ %t30 = icmp ult i64 %t27, %t25
+ %t31 = and i1 %t29, %t30
+ br i1 %t31, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t32 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 6
+ %t33 = load i32, ptr %t32, !tbaa !2
+ %t35 = zext i32 %t33 to i64
+ %t34 = icmp ult i64 %t27, %t35
+ br i1 %t34, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t36 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = icmp ult i64 %t27, %t37
+ br i1 %t38, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t39 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 9
+ %t40 = load ptr, ptr %t39, !tbaa !2
+ %t41 = getelementptr inbounds i8, ptr %t40, i64 %t27
+ %t42 = load i8, ptr %t41, !tbaa !4
+ %t43 = icmp eq i8 %t42, 1
+ br i1 %t43, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t44 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 8
+ %t45 = load ptr, ptr %t44, !tbaa !2
+ %t46 = getelementptr inbounds i64, ptr %t45, i64 %t27
+ %t47 = load ptr, ptr %t46, !tbaa !6
+ %t48 = call ptr @sc_rc_retain_str(ptr %t47)
+ store ptr %t48, ptr %s21
+ br label %local.array.join8
+local.array.slow6:
+ %t49 = call ptr @scr_arr_peek_ref(ptr %t22, double %t23)
+ %t50 = icmp ne ptr %t49, null
+ br i1 %t50, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ %t51 = call ptr @sc_rc_retain_str(ptr %t49)
+ store ptr %t51, ptr %s21
+ br label %local.array.join8
+local.array.missing7:
+ store ptr null, ptr %s21
+ br label %local.array.join8
+local.array.join8:
+ %t52 = load ptr, ptr %s21
+ %t55 = icmp eq ptr %t52, null
+ %t54 = select i1 %t55, i32 1, i32 0
+ switch i32 %t54, label %u.bad16 [ i32 0, label %u.a17 i32 1, label %u.a18 ]
+u.a17:
+ %t56 = call ptr @sc_rc_retain_str(ptr %t52)
+ store ptr %t56, ptr %s53
+ br label %us.j15
+u.a18:
+ store ptr @sc_lit_4134463689533233, ptr %s53
+ br label %us.j15
+u.bad16:
+ call void @sc_bad_tag()
+ unreachable
+us.j15:
+ %t57 = load ptr, ptr %s53
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @scr_http_res_release(ptr %t20)
+ %t61 = load ptr, ptr %s21
+ call void @scr_str_release(ptr %t61)
+ call void @scr_str_release(ptr %t57)
+ br label %exc.cleanup21
+exc.k20:
+ %t63 = load ptr, ptr %sc_l_flatPairs_0
+ %t64 = load double, ptr %sc_l_i_0
+ %t65 = fadd double %t64, 0x3FF0000000000000
+ %t66 = getelementptr inbounds %ScrArr, ptr %t63, i32 0, i32 2
+ %t67 = load i64, ptr %t66, !tbaa !2
+ %t68 = fptosi double %t65 to i64
+ %t69 = freeze i64 %t68
+ %t70 = sitofp i64 %t69 to double
+ %t71 = fcmp oeq double %t70, %t65
+ %t72 = icmp ult i64 %t69, %t67
+ %t73 = and i1 %t71, %t72
+ br i1 %t73, label %local.array.range25, label %local.array.slow22
+local.array.range25:
+ br label %local.array.dense26
+local.array.dense26:
+ %t74 = getelementptr inbounds %ScrArr, ptr %t63, i32 0, i32 6
+ %t75 = load i32, ptr %t74, !tbaa !2
+ %t77 = zext i32 %t75 to i64
+ %t76 = icmp ult i64 %t69, %t77
+ br i1 %t76, label %local.array.value28, label %local.array.len27
+local.array.len27:
+ %t78 = getelementptr inbounds %ScrArr, ptr %t63, i32 0, i32 1
+ %t79 = load i64, ptr %t78, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t80 = icmp ult i64 %t69, %t79
+ br i1 %t80, label %local.array.state29, label %local.array.missing23
+local.array.state29:
+ %t81 = getelementptr inbounds %ScrArr, ptr %t63, i32 0, i32 9
+ %t82 = load ptr, ptr %t81, !tbaa !2
+ %t83 = getelementptr inbounds i8, ptr %t82, i64 %t69
+ %t84 = load i8, ptr %t83, !tbaa !4
+ %t85 = icmp eq i8 %t84, 1
+ br i1 %t85, label %local.array.value28, label %local.array.missing23
+local.array.value28:
+ %t86 = getelementptr inbounds %ScrArr, ptr %t63, i32 0, i32 8
+ %t87 = load ptr, ptr %t86, !tbaa !2
+ %t88 = getelementptr inbounds i64, ptr %t87, i64 %t69
+ %t89 = load ptr, ptr %t88, !tbaa !6
+ %t90 = call ptr @sc_rc_retain_str(ptr %t89)
+ store ptr %t90, ptr %s62
+ br label %local.array.join24
+local.array.slow22:
+ %t91 = call ptr @scr_arr_peek_ref(ptr %t63, double %t65)
+ %t92 = icmp ne ptr %t91, null
+ br i1 %t92, label %local.array.slow.value30, label %local.array.missing23
+local.array.slow.value30:
+ %t93 = call ptr @sc_rc_retain_str(ptr %t91)
+ store ptr %t93, ptr %s62
+ br label %local.array.join24
+local.array.missing23:
+ store ptr null, ptr %s62
+ br label %local.array.join24
+local.array.join24:
+ %t94 = load ptr, ptr %s62
+ %t97 = icmp eq ptr %t94, null
+ %t96 = select i1 %t97, i32 1, i32 0
+ switch i32 %t96, label %u.bad32 [ i32 0, label %u.a33 i32 1, label %u.a34 ]
+u.a33:
+ %t98 = call ptr @sc_rc_retain_str(ptr %t94)
+ store ptr %t98, ptr %s95
+ br label %us.j31
+u.a34:
+ store ptr @sc_lit_4134463689533233, ptr %s95
+ br label %us.j31
+u.bad32:
+ call void @sc_bad_tag()
+ unreachable
+us.j31:
+ %t99 = load ptr, ptr %s95
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @scr_http_res_release(ptr %t20)
+ %t103 = load ptr, ptr %s21
+ call void @scr_str_release(ptr %t103)
+ call void @scr_str_release(ptr %t57)
+ %t104 = load ptr, ptr %s62
+ call void @scr_str_release(ptr %t104)
+ call void @scr_str_release(ptr %t99)
+ br label %exc.cleanup21
+exc.k36:
+ call void @scr_http_res_set_header(ptr %t20, ptr %t57, ptr %t99)
+ call void @scr_http_res_release(ptr %t20)
+ %t105 = load ptr, ptr %s21
+ call void @scr_str_release(ptr %t105)
+ call void @scr_str_release(ptr %t57)
+ %t106 = load ptr, ptr %s62
+ call void @scr_str_release(ptr %t106)
+ call void @scr_str_release(ptr %t99)
+ br label %loop.u5
+loop.u5:
+ %t107 = load double, ptr %sc_l_i_0
+ %t108 = fadd double %t107, 0x4000000000000000
+ store double %t108, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ %t109 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_rc_release_dyn(ptr %t109)
+ br label %exc.cleanup21
+exc.k38:
+ %t113 = call ptr @sc_f__x25_dyn_class_property_49(ptr %t109)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @sc_rc_release_dyn(ptr %t113)
+ br label %exc.cleanup21
+exc.k40:
+ %t117 = load ptr, ptr %sc_l_this_0
+ %t118 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t117, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t119 = load double, ptr %sc_l_status_0
+ %t120 = call ptr @sc_td_2(double %t119)
+ %t121 = load ptr, ptr %sc_l_flatPairs_0
+ %t122 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t121, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t122, ptr @sc_ldr_2_materialize_ops)
+ %t124 = getelementptr inbounds [2 x ptr], ptr %s123, i64 0, i64 0
+ store ptr %t120, ptr %t124
+ %t125 = getelementptr inbounds [2 x ptr], ptr %s123, i64 0, i64 1
+ store ptr %t122, ptr %t125
+ call void @scr_dyn_this_push_dyn(ptr %t118)
+ %t126 = call ptr @scr_dyn_call(ptr %t113, ptr %s123, i64 2, ptr @sc_cs_2572803797864145)
+ call void @scr_dyn_this_pop()
+ %t127 = load i32, ptr %exc.cell
+ %t128 = icmp ne i32 %t127, 0
+ %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false)
+ br i1 %t129, label %exc.u41, label %exc.k42
+exc.u41:
+ call void @sc_rc_release_dyn(ptr %t113)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t126)
+ br label %exc.cleanup21
+exc.k42:
+ call void @sc_rc_release_dyn(ptr %t113)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t126)
+ %t130 = load ptr, ptr %sc_l_res_1
+ %t131 = call ptr @scr_http_res_retain_v(ptr %t130)
+ %t132 = load ptr, ptr %sc_l_this_0
+ %t133 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t132, i64 0, i32 3
+ %t134 = load double, ptr %t133, !tbaa !52
+ call void @scr_http_res_write_head(ptr %t131, double %t134)
+ %t135 = load i32, ptr %exc.cell
+ %t136 = icmp ne i32 %t135, 0
+ %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false)
+ br i1 %t137, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @scr_http_res_release(ptr %t131)
+ br label %exc.cleanup21
+exc.k44:
+ call void @scr_http_res_release(ptr %t131)
+ %t138 = load ptr, ptr %sc_l_res_1
+ %t139 = call ptr @scr_http_res_retain_v(ptr %t138)
+ call void @scr_http_res_flush_headers(ptr %t139)
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u45, label %exc.k46
+exc.u45:
+ call void @scr_http_res_release(ptr %t139)
+ br label %exc.cleanup21
+exc.k46:
+ call void @scr_http_res_release(ptr %t139)
+ %t143 = call ptr @sc_rnew_r2()
+ %t144 = call ptr @scr_closure_new(ptr @sc_f__x25_fn68, i64 1)
+ %t145 = getelementptr inbounds %ScrClosure, ptr %t144, i64 0, i32 4
+ store i32 4, ptr %t145
+ %t146 = getelementptr inbounds %ScrClosure, ptr %t144, i64 0, i32 7
+ store ptr @sc_bf__x25_fn68, ptr %t146
+ %t147 = load ptr, ptr %sc_l_res_0
+ %t148 = call ptr @sc_retain_box(ptr %t147)
+ %t149 = getelementptr inbounds %ScrClosure, ptr %t144, i64 1 ; caps
+ %t150 = getelementptr inbounds ptr, ptr %t149, i64 0 ; caps[0]
+ store ptr %t148, ptr %t150
+ %t151 = getelementptr inbounds %sc_rs_r2, ptr %t143, i64 0, i32 2
+ store ptr %t144, ptr %t151
+ %t152 = call ptr @scr_closure_new(ptr @sc_f__x25_fn69, i64 1)
+ %t153 = getelementptr inbounds %ScrClosure, ptr %t152, i64 0, i32 4
+ store i32 4, ptr %t153
+ %t154 = load ptr, ptr %sc_l_res_0
+ %t155 = call ptr @sc_retain_box(ptr %t154)
+ %t156 = getelementptr inbounds %ScrClosure, ptr %t152, i64 1 ; caps
+ %t157 = getelementptr inbounds ptr, ptr %t156, i64 0 ; caps[0]
+ store ptr %t155, ptr %t157
+ %t158 = getelementptr inbounds %sc_rs_r2, ptr %t143, i64 0, i32 1
+ store ptr %t152, ptr %t158
+ store ptr %t143, ptr %sc_l_ctl_0
+ %t159 = load ptr, ptr %sc_l_this_0
+ %t160 = load ptr, ptr %sc_l_ctl_0
+ %t161 = call ptr @sc_rretain_r2(ptr %t160)
+ %t162 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t159, i64 0, i32 12
+ %t163 = load ptr, ptr %t162
+ store ptr %t161, ptr %t162, !tbaa !68
+ call void @sc_rrelease_r2(ptr %t163)
+ %t164 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t164)
+ %t165 = load ptr, ptr %sc_l_res_0
+ call void @scr_box_release(ptr %t165)
+ %t166 = load ptr, ptr %sc_l_ctl_0
+ call void @sc_rrelease_r2(ptr %t166)
+ ret void
+exc.cleanup21:
+ %t167 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t167)
+ %t168 = load ptr, ptr %sc_l_res_0
+ call void @scr_box_release(ptr %t168)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_writeHead(ptr %p0, double %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_writeHead(ptr %p0, double %p1, ptr %p2)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ call void @scr_arr_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_endStream(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteResponse.endStream
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 13
+ %t6 = zext i1 true to i8
+ store i8 %t6, ptr %t5, !tbaa !70
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t7, i64 0, i32 8
+ %t9 = zext i1 true to i8
+ store i8 %t9, ptr %t8, !tbaa !42
+ %t10 = load ptr, ptr %sc_l_this_0
+ %t11 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t10, i64 0, i32 14
+ %t12 = load ptr, ptr %t11, !tbaa !88
+ %t13 = call ptr @scr_http_res_retain_v(ptr %t12)
+ call void @scr_http_res_end(ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t13)
+ ret void
+exc.k3:
+ call void @scr_http_res_release(ptr %t13)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_endStream(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_endStream(ptr %p0)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_adopt(ptr %p_sc_l_this_0, ptr %p_sc_l_view_0) #0 { ; %%m3.LiteResponse.adopt
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_view_0 = alloca ptr ; view
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l__x25_dispatch_receiver_3 = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_res_0
+ store ptr null, ptr %sc_l__x25_dispatch_receiver_3
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_view_0, ptr %sc_l_view_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load ptr, ptr %sc_l_view_0
+ %t6 = getelementptr inbounds %sc_rs_r1, ptr %t5, i64 0, i32 3
+ %t7 = load double, ptr %t6
+ %t8 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 3
+ store double %t7, ptr %t8, !tbaa !52
+ %t9 = load ptr, ptr %sc_l_this_0
+ %t10 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t9, i64 0, i32 14
+ %t11 = load ptr, ptr %t10, !tbaa !88
+ %t12 = call ptr @scr_http_res_retain_v(ptr %t11)
+ %t13 = load ptr, ptr %sc_l_this_0
+ %t14 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t13, i64 0, i32 3
+ %t15 = load double, ptr %t14, !tbaa !52
+ call void @scr_http_res_status_set(ptr %t12, double %t15)
+ call void @scr_http_res_release(ptr %t12)
+ %t16 = call ptr @scr_box_new_obj(ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null) ; let res (boxed)
+ store ptr %t16, ptr %sc_l_res_0
+ %t17 = load ptr, ptr %sc_l_this_0
+ %t18 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t17, i64 0, i32 14
+ %t19 = load ptr, ptr %t18, !tbaa !88
+ %t20 = call ptr @scr_http_res_retain_v(ptr %t19)
+ call void @scr_box_set_ref(ptr %t16, ptr %t20)
+ %t21 = load ptr, ptr %sc_l_view_0
+ %t22 = getelementptr inbounds %sc_rs_r1, ptr %t21, i64 0, i32 2
+ %t23 = load ptr, ptr %t22
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ store ptr %t24, ptr %sc_l__x25_dispatch_receiver_3
+ %t25 = load ptr, ptr %sc_l__x25_dispatch_receiver_3
+ %t26 = call ptr @sc_rc_retain_dyn(ptr %t25)
+ %t27 = load ptr, ptr %sc_l__x25_dispatch_receiver_3
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = call ptr @sc_f__x25_dyn_class_callback_0(ptr %t28)
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup4
+exc.k3:
+ %t33 = call ptr @scr_closure_new(ptr @sc_f__x25_fn70, i64 1)
+ %t34 = getelementptr inbounds %ScrClosure, ptr %t33, i64 0, i32 4
+ store i32 4, ptr %t34
+ %t35 = getelementptr inbounds %ScrClosure, ptr %t33, i64 0, i32 7
+ store ptr @sc_bf__x25_fn70, ptr %t35
+ %t36 = load ptr, ptr %sc_l_res_0
+ %t37 = call ptr @sc_retain_box(ptr %t36)
+ %t38 = getelementptr inbounds %ScrClosure, ptr %t33, i64 1 ; caps
+ %t39 = getelementptr inbounds ptr, ptr %t38, i64 0 ; caps[0]
+ store ptr %t37, ptr %t39
+ %t40 = call ptr @sc_dfb_9(ptr %t33, ptr null)
+ %t41 = call ptr @sc_bf__x25_dyn_class_call_0(ptr %t26, ptr %t29, ptr %t40, ptr @sc_lit_2009491016346793)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ br label %exc.cleanup4
+exc.k6:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t45 = load ptr, ptr %sc_l__x25_dispatch_receiver_3
+ call void @sc_rc_release_dyn(ptr %t45)
+ %t46 = load ptr, ptr %sc_l_this_0
+ %t47 = load ptr, ptr %sc_l_view_0
+ %t48 = call ptr @sc_rretain_r1(ptr %t47)
+ %t49 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t46, i64 0, i32 10
+ %t50 = load ptr, ptr %t49
+ store ptr %t48, ptr %t49, !tbaa !64
+ call void @sc_rrelease_r1(ptr %t50)
+ %t51 = load ptr, ptr %sc_l_this_0
+ %t52 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t51, i64 0, i32 8
+ %t53 = zext i1 true to i8
+ store i8 %t53, ptr %t52, !tbaa !42
+ %t54 = load ptr, ptr %sc_l_this_0
+ %t55 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t54, i64 0, i32 9
+ %t56 = zext i1 true to i8
+ store i8 %t56, ptr %t55, !tbaa !62
+ %t57 = load ptr, ptr %sc_l_res_0
+ call void @scr_box_release(ptr %t57)
+ ret void
+exc.cleanup4:
+ %t58 = load ptr, ptr %sc_l__x25_dispatch_receiver_3
+ call void @sc_rc_release_dyn(ptr %t58)
+ %t59 = load ptr, ptr %sc_l_res_0
+ call void @scr_box_release(ptr %t59)
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_adopt(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_adopt(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ call void @sc_rrelease_r1(ptr %p1)
+ ret void
+}
+
+define internal i1 @sc_bf__x25__x25_m3_LiteResponse_isSent(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteResponse.isSent
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t0, i64 0, i32 8
+ %t2 = load i8, ptr %t1, !tbaa !42
+ %t3 = trunc i8 %t2 to i1
+ ret i1 %t3
+}
+define internal i1 @sc_f__x25__x25_m3_LiteResponse_isSent(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m3_LiteResponse_isSent(ptr %p0)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ ret i1 %result
+}
+
+define internal i1 @sc_bf__x25__x25_m3_LiteResponse_isHeadersSent(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteResponse.isHeadersSent
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t0, i64 0, i32 9
+ %t2 = load i8, ptr %t1, !tbaa !62
+ %t3 = trunc i8 %t2 to i1
+ ret i1 %t3
+}
+define internal i1 @sc_f__x25__x25_m3_LiteResponse_isHeadersSent(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m3_LiteResponse_isHeadersSent(ptr %p0)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ ret i1 %result
+}
+
+define internal void @sc_bf__x25__x25_m3_LiteResponse_destroy(ptr %p_sc_l_this_0) #0 { ; %%m3.LiteResponse.destroy
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_e_0 = alloca ptr ; e
+ store ptr null, ptr %sc_l_e_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 14
+ %t6 = load ptr, ptr %t5, !tbaa !88
+ %t7 = call ptr @scr_http_res_retain_v(ptr %t6)
+ call void @scr_http_res_destroy(ptr %t7)
+ call void @scr_http_res_release(ptr %t7)
+ br label %try.e4
+try.e4:
+ ret void
+}
+define internal void @sc_f__x25__x25_m3_LiteResponse_destroy(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m3_LiteResponse_destroy(ptr %p0)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_UploadedFile_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_field_0, ptr %p_sc_l_filename_0, ptr %p_sc_l_mimeType_0, double %p_sc_l_size_0, ptr %p_sc_l_path_0, ptr %p_sc_l_bytes_0) #0 { ; %%m4.UploadedFile.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_field_0 = alloca ptr ; field
+ %sc_l_filename_0 = alloca ptr ; filename
+ %sc_l_mimeType_0 = alloca ptr ; mimeType
+ %sc_l_size_0 = alloca double ; size
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_bytes_0 = alloca ptr ; bytes
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_field_0, ptr %sc_l_field_0
+ store ptr %p_sc_l_filename_0, ptr %sc_l_filename_0
+ store ptr %p_sc_l_mimeType_0, ptr %sc_l_mimeType_0
+ store double %p_sc_l_size_0, ptr %sc_l_size_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_bytes_0, ptr %sc_l_bytes_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_field_0
+ %t2 = call ptr @sc_rc_retain_str(ptr %t1)
+ %t3 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t0, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ store ptr %t2, ptr %t3, !tbaa !90
+ call void @scr_str_release(ptr %t4)
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = load ptr, ptr %sc_l_filename_0
+ %t7 = call ptr @sc_rc_retain_str(ptr %t6)
+ %t8 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t5, i64 0, i32 2
+ %t9 = load ptr, ptr %t8
+ store ptr %t7, ptr %t8, !tbaa !12
+ call void @scr_str_release(ptr %t9)
+ %t10 = load ptr, ptr %sc_l_this_0
+ %t11 = load ptr, ptr %sc_l_mimeType_0
+ %t12 = call ptr @sc_rc_retain_str(ptr %t11)
+ %t13 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t10, i64 0, i32 3
+ %t14 = load ptr, ptr %t13
+ store ptr %t12, ptr %t13, !tbaa !92
+ call void @scr_str_release(ptr %t14)
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t16 = load double, ptr %sc_l_size_0
+ %t17 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t15, i64 0, i32 4
+ store double %t16, ptr %t17, !tbaa !94
+ %t18 = load ptr, ptr %sc_l_this_0
+ %t19 = load ptr, ptr %sc_l_path_0
+ %t20 = call ptr @sc_nretain_string(ptr %t19)
+ %t21 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t18, i64 0, i32 5
+ %t22 = load ptr, ptr %t21
+ store ptr %t20, ptr %t21, !tbaa !96
+ call void @scr_str_release(ptr %t22)
+ %t23 = load ptr, ptr %sc_l_this_0
+ %t24 = load ptr, ptr %sc_l_bytes_0
+ %t25 = call ptr @scr_union_retain_v(ptr %t24)
+ %t26 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t23, i64 0, i32 6
+ %t27 = load ptr, ptr %t26
+ store ptr %t25, ptr %t26, !tbaa !98
+ call void @scr_union_release(ptr %t27)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_UploadedFile_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3, double %p4, ptr %p5, ptr %p6) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_UploadedFile_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3, double %p4, ptr %p5, ptr %p6)
+ call void @sc_release__x25_m4_UploadedFile(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ call void @scr_str_release(ptr %p5)
+ call void @scr_union_release(ptr %p6)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartFileSink_constructor(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartFileSink.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartFileSink_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartFileSink_constructor(ptr %p0)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartFileSink_write(ptr %p_sc_l_this_0, ptr %p_sc_l__b_0) #0 { ; %%m4.MultipartFileSink.write
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__b_0 = alloca ptr ; _b
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__b_0, ptr %sc_l__b_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartFileSink_write(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartFileSink_write(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartFileSink_end(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartFileSink.end
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartFileSink_end(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartFileSink_end(ptr %p0)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartFileSink_abort(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartFileSink.abort
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartFileSink_abort(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartFileSink_abort(ptr %p0)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m4_MultipartFileSink_file(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartFileSink.file
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m4_MultipartFileSink_file(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m4_MultipartFileSink_file(ptr %p0)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartStorage_constructor(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartStorage.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartStorage_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartStorage_constructor(ptr %p0)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m4_MultipartStorage_begin(ptr %p_sc_l_this_0, ptr %p_sc_l__field_0, ptr %p_sc_l__filename_0, ptr %p_sc_l__mime_0) #0 { ; %%m4.MultipartStorage.begin
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__field_0 = alloca ptr ; _field
+ %sc_l__filename_0 = alloca ptr ; _filename
+ %sc_l__mime_0 = alloca ptr ; _mime
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l__field_0, ptr %sc_l__field_0
+ store ptr %p_sc_l__filename_0, ptr %sc_l__filename_0
+ store ptr %p_sc_l__mime_0, ptr %sc_l__mime_0
+ %t0 = call ptr @sc_new__x25_m4_MultipartFileSink()
+ call void @sc_bf__x25__x25_m4_MultipartFileSink_constructor(ptr %t0)
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m4_MemoryFileSink_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_field_0, ptr %p_sc_l_filename_0, ptr %p_sc_l_mime_0) #0 { ; %%m4.MemoryFileSink.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_field_0 = alloca ptr ; field
+ %sc_l_filename_0 = alloca ptr ; filename
+ %sc_l_mime_0 = alloca ptr ; mime
+ %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_field_0, ptr %sc_l_field_0
+ store ptr %p_sc_l_filename_0, ptr %sc_l_filename_0
+ store ptr %p_sc_l_mime_0, ptr %sc_l_mime_0
+ store i1 false, ptr %sc_l__x25_superInitialized_0
+ %t0 = load i1, ptr %sc_l__x25_superInitialized_0
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207)
+ ret void
+exc.dead2:
+ br label %if.j1
+if.j1:
+ %t1 = load ptr, ptr %sc_l_this_0
+ call void @sc_bf__x25__x25_m4_MultipartFileSink_constructor(ptr %t1)
+ store i1 true, ptr %sc_l__x25_superInitialized_0
+ %t2 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t3 = xor i1 %t2, true
+ br i1 %t3, label %if.t3, label %if.j4
+if.t3:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead5:
+ br label %if.j4
+if.j4:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load ptr, ptr %sc_l_field_0
+ %t6 = call ptr @sc_rc_retain_str(ptr %t5)
+ %t7 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t4, i64 0, i32 3
+ %t8 = load ptr, ptr %t7
+ store ptr %t6, ptr %t7, !tbaa !100
+ call void @scr_str_release(ptr %t8)
+ %t9 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t10 = xor i1 %t9, true
+ br i1 %t10, label %if.t6, label %if.j7
+if.t6:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead8:
+ br label %if.j7
+if.j7:
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = load ptr, ptr %sc_l_filename_0
+ %t13 = call ptr @sc_rc_retain_str(ptr %t12)
+ %t14 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t11, i64 0, i32 4
+ %t15 = load ptr, ptr %t14
+ store ptr %t13, ptr %t14, !tbaa !102
+ call void @scr_str_release(ptr %t15)
+ %t16 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t17 = xor i1 %t16, true
+ br i1 %t17, label %if.t9, label %if.j10
+if.t9:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead11:
+ br label %if.j10
+if.j10:
+ %t18 = load ptr, ptr %sc_l_this_0
+ %t19 = load ptr, ptr %sc_l_mime_0
+ %t20 = call ptr @sc_rc_retain_str(ptr %t19)
+ %t21 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t18, i64 0, i32 5
+ %t22 = load ptr, ptr %t21
+ store ptr %t20, ptr %t21, !tbaa !104
+ call void @scr_str_release(ptr %t22)
+ %t23 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t24 = xor i1 %t23, true
+ br i1 %t24, label %if.t12, label %if.j13
+if.t12:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead14:
+ br label %if.j13
+if.j13:
+ %t25 = load ptr, ptr %sc_l_this_0
+ %t26 = call ptr @scr_arr_new_small(i32 4)
+ %t27 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t25, i64 0, i32 6
+ %t28 = load ptr, ptr %t27
+ store ptr %t26, ptr %t27, !tbaa !82
+ call void @scr_arr_release(ptr %t28)
+ %t29 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t30 = xor i1 %t29, true
+ br i1 %t30, label %if.t15, label %if.j16
+if.t15:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead17:
+ br label %if.j16
+if.j16:
+ %t31 = load ptr, ptr %sc_l_this_0
+ %t32 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t31, i64 0, i32 7
+ store double 0x0000000000000000, ptr %t32, !tbaa !106
+ %t33 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t34 = xor i1 %t33, true
+ br i1 %t34, label %if.t18, label %if.j19
+if.t18:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead20:
+ br label %if.j19
+if.j19:
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MemoryFileSink_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MemoryFileSink_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MemoryFileSink_write(ptr %p_sc_l_this_0, ptr %p_sc_l_b_0) #0 { ; %%m4.MemoryFileSink.write
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_b_0 = alloca ptr ; b
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t0, i64 0, i32 6
+ %t2 = load ptr, ptr %t1, !tbaa !82
+ %t3 = call ptr @scr_arr_retain_v(ptr %t2)
+ %t4 = load ptr, ptr %sc_l_b_0
+ %t5 = call ptr @scr_bytes_retain_v(ptr %t4)
+ %t6 = getelementptr inbounds %ScrArr, ptr %t3, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2
+ %t10 = getelementptr inbounds %ScrArr, ptr %t3, i32 0, i32 2
+ %t8 = load i64, ptr %t10, !tbaa !2
+ %t9 = icmp ult i64 %t7, %t8
+ br i1 %t9, label %arr.push.dense0, label %arr.push.slow1
+arr.push.dense0:
+ %t11 = getelementptr inbounds %ScrArr, ptr %t3, i32 0, i32 8
+ %t13 = getelementptr inbounds %ScrArr, ptr %t3, i32 0, i32 9
+ %t12 = load ptr, ptr %t11, !tbaa !2
+ %t14 = load ptr, ptr %t13, !tbaa !2
+ %t15 = getelementptr inbounds i8, ptr %t14, i64 %t7
+ %t16 = getelementptr inbounds i64, ptr %t12, i64 %t7
+ store ptr %t5, ptr %t16, !tbaa !6
+ store i8 1, ptr %t15, !tbaa !4
+ %t17 = add nuw i64 %t7, 1
+ store i64 %t17, ptr %t6, !tbaa !2
+ %t19 = getelementptr inbounds %ScrArr, ptr %t3, i32 0, i32 6
+ %t20 = load i32, ptr %t19, !tbaa !2
+ %t24 = zext i32 %t20 to i64
+ %t21 = icmp eq i64 %t24, %t7
+ %t22 = add i32 %t20, 1
+ %t23 = select i1 %t21, i32 %t22, i32 %t20
+ store i32 %t23, ptr %t19, !tbaa !2
+ %t18 = sitofp i64 %t17 to double
+ br label %arr.push.join2
+arr.push.slow1:
+ %t25 = call double @scr_arr_push_ref(ptr %t3, ptr %t5) cold
+ br label %arr.push.join2
+arr.push.join2:
+ %t26 = phi double [ %t18, %arr.push.dense0 ], [ %t25, %arr.push.slow1 ]
+ call void @scr_arr_release(ptr %t3)
+ %t27 = load ptr, ptr %sc_l_this_0
+ %t28 = load ptr, ptr %sc_l_this_0
+ %t29 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t28, i64 0, i32 7
+ %t30 = load double, ptr %t29, !tbaa !106
+ %t31 = load ptr, ptr %sc_l_b_0
+ %t32 = getelementptr inbounds %ScrBytes, ptr %t31, i64 0, i32 1
+ %t33 = load i64, ptr %t32
+ %t34 = sitofp i64 %t33 to double
+ %t36 = fptosi double %t34 to i64
+ %t35 = fadd double %t30, %t34
+ %t37 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t27, i64 0, i32 7
+ store double %t35, ptr %t37, !tbaa !106
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MemoryFileSink_write(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MemoryFileSink_write(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m4_MemoryFileSink_file(ptr %p_sc_l_this_0) #0 { ; %%m4.MemoryFileSink.file
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @sc_new__x25_m4_UploadedFile()
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t5, i64 0, i32 3
+ %t7 = load ptr, ptr %t6, !tbaa !100
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t8, i64 0, i32 4
+ %t10 = load ptr, ptr %t9, !tbaa !102
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t12 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t11, i64 0, i32 5
+ %t13 = load ptr, ptr %t12, !tbaa !104
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t14, i64 0, i32 7
+ %t16 = load double, ptr %t15, !tbaa !106
+ %t17 = load ptr, ptr %sc_l_this_0
+ %t18 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t17, i64 0, i32 6
+ %t19 = load ptr, ptr %t18, !tbaa !82
+ %t20 = call ptr @sc_bf__x25_m4_u8catAll(ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_bytes_release(ptr %t20)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t4)
+ ret ptr null
+exc.k3:
+ %t24 = call ptr @scr_union_new_ref(i32 0, ptr %t20, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null)
+ call void @sc_bf__x25__x25_m4_UploadedFile_constructor(ptr %t4, ptr %t7, ptr %t10, ptr %t13, double %t16, ptr null, ptr %t24)
+ call void @scr_union_release(ptr %t24)
+ ret ptr %t4
+}
+define internal ptr @sc_f__x25__x25_m4_MemoryFileSink_file(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m4_MemoryFileSink_file(ptr %p0)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m4_MemoryStorage_constructor(ptr %p_sc_l_this_0) #0 { ; %%m4.MemoryStorage.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ call void @sc_bf__x25__x25_m4_MultipartStorage_constructor(ptr %t0)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MemoryStorage_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MemoryStorage_constructor(ptr %p0)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m4_MemoryStorage_begin(ptr %p_sc_l_this_0, ptr %p_sc_l_field_0, ptr %p_sc_l_filename_0, ptr %p_sc_l_mime_0) #0 { ; %%m4.MemoryStorage.begin
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_field_0 = alloca ptr ; field
+ %sc_l_filename_0 = alloca ptr ; filename
+ %sc_l_mime_0 = alloca ptr ; mime
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_field_0, ptr %sc_l_field_0
+ store ptr %p_sc_l_filename_0, ptr %sc_l_filename_0
+ store ptr %p_sc_l_mime_0, ptr %sc_l_mime_0
+ %t0 = call ptr @sc_new__x25_m4_MemoryFileSink()
+ %t1 = load ptr, ptr %sc_l_field_0
+ %t2 = load ptr, ptr %sc_l_filename_0
+ %t3 = load ptr, ptr %sc_l_mime_0
+ call void @sc_bf__x25__x25_m4_MemoryFileSink_constructor(ptr %t0, ptr %t1, ptr %t2, ptr %t3)
+ %t4 = load i32, ptr %exc.cell
+ %t5 = icmp ne i32 %t4, 0
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m4_DispositionParams_constructor(ptr %p_sc_l_this_0) #0 { ; %%m4.DispositionParams.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t0, i64 0, i32 1
+ %t2 = zext i1 false to i8
+ store i8 %t2, ptr %t1, !tbaa !8
+ %t3 = load ptr, ptr %sc_l_this_0
+ %t4 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t3, i64 0, i32 2
+ %t5 = load ptr, ptr %t4
+ store ptr null, ptr %t4, !tbaa !10
+ call void @scr_str_release(ptr %t5)
+ %t6 = load ptr, ptr %sc_l_this_0
+ %t7 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t6, i64 0, i32 3
+ %t8 = load ptr, ptr %t7
+ store ptr null, ptr %t7, !tbaa !12
+ call void @scr_str_release(ptr %t8)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_DispositionParams_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_DispositionParams_constructor(ptr %p0)
+ call void @sc_release__x25_m4_DispositionParams(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartParser_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_boundary_0, ptr %p_sc_l_storage_0, double %p_sc_l_maxFileBytes_0, double %p_sc_l_maxFiles_0, double %p_sc_l_maxFieldBytes_0) #0 { ; %%m4.MultipartParser.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_boundary_0 = alloca ptr ; boundary
+ %sc_l_storage_0 = alloca ptr ; storage
+ %sc_l_maxFileBytes_0 = alloca double ; maxFileBytes
+ %sc_l_maxFiles_0 = alloca double ; maxFiles
+ %sc_l_maxFieldBytes_0 = alloca double ; maxFieldBytes
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_boundary_0, ptr %sc_l_boundary_0
+ store ptr %p_sc_l_storage_0, ptr %sc_l_storage_0
+ store double %p_sc_l_maxFileBytes_0, ptr %sc_l_maxFileBytes_0
+ store double %p_sc_l_maxFiles_0, ptr %sc_l_maxFiles_0
+ store double %p_sc_l_maxFieldBytes_0, ptr %sc_l_maxFieldBytes_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_boundary_0
+ %t2 = call ptr @scr_str_concat(ptr @sc_lit_3801384199701540, ptr %t1)
+ %t3 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t0, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ store ptr %t2, ptr %t3, !tbaa !108
+ call void @scr_str_release(ptr %t4)
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = load ptr, ptr %sc_l_boundary_0
+ %t7 = call ptr @scr_str_concat(ptr @sc_lit_2818555132652292, ptr %t6)
+ %t8 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t5, i64 0, i32 2
+ %t9 = load ptr, ptr %t8
+ store ptr %t7, ptr %t8, !tbaa !110
+ call void @scr_str_release(ptr %t9)
+ %t10 = load ptr, ptr %sc_l_this_0
+ %t11 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t10, i64 0, i32 3
+ store double 0x0000000000000000, ptr %t11, !tbaa !112
+ %t12 = load ptr, ptr %sc_l_this_0
+ %t13 = load ptr, ptr @sc_g_m4_EMPTY_U8
+ %t14 = call ptr @scr_bytes_retain_v(ptr %t13)
+ %t15 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t12, i64 0, i32 4
+ %t16 = load ptr, ptr %t15
+ store ptr %t14, ptr %t15, !tbaa !114
+ call void @scr_bytes_release(ptr %t16)
+ %t17 = load ptr, ptr %sc_l_this_0
+ %t18 = load ptr, ptr %sc_l_storage_0
+ %t19 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t18)
+ %t20 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t17, i64 0, i32 5
+ %t21 = load ptr, ptr %t20
+ store ptr %t19, ptr %t20, !tbaa !116
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t21)
+ %t22 = load ptr, ptr %sc_l_this_0
+ %t23 = load double, ptr %sc_l_maxFileBytes_0
+ %t24 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t22, i64 0, i32 6
+ store double %t23, ptr %t24, !tbaa !118
+ %t25 = load ptr, ptr %sc_l_this_0
+ %t26 = load double, ptr %sc_l_maxFiles_0
+ %t27 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t25, i64 0, i32 7
+ store double %t26, ptr %t27, !tbaa !120
+ %t28 = load ptr, ptr %sc_l_this_0
+ %t29 = load double, ptr %sc_l_maxFieldBytes_0
+ %t30 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t28, i64 0, i32 8
+ store double %t29, ptr %t30, !tbaa !122
+ %t31 = load ptr, ptr %sc_l_this_0
+ %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t31, i64 0, i32 9
+ %t33 = zext i1 false to i8
+ store i8 %t33, ptr %t32, !tbaa !124
+ %t34 = load ptr, ptr %sc_l_this_0
+ %t35 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t34, i64 0, i32 10
+ %t36 = zext i1 false to i8
+ store i8 %t36, ptr %t35, !tbaa !126
+ %t37 = load ptr, ptr %sc_l_this_0
+ %t38 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t37, i64 0, i32 11
+ %t39 = load ptr, ptr %t38
+ store ptr @sc_lit_4005573543169985, ptr %t38, !tbaa !100
+ call void @scr_str_release(ptr %t39)
+ %t40 = load ptr, ptr %sc_l_this_0
+ %t41 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t40, i64 0, i32 12
+ %t42 = load ptr, ptr %t41
+ store ptr @sc_lit_4005573543169985, ptr %t41, !tbaa !102
+ call void @scr_str_release(ptr %t42)
+ %t43 = load ptr, ptr %sc_l_this_0
+ %t44 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t43, i64 0, i32 13
+ %t45 = load ptr, ptr %t44
+ store ptr @sc_lit_4005573543169985, ptr %t44, !tbaa !104
+ call void @scr_str_release(ptr %t45)
+ %t46 = load ptr, ptr %sc_l_this_0
+ %t47 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t46, i64 0, i32 14
+ %t48 = load ptr, ptr %t47
+ store ptr null, ptr %t47, !tbaa !128
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t48)
+ %t49 = load ptr, ptr %sc_l_this_0
+ %t50 = call ptr @scr_arr_new_small(i32 4)
+ %t51 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t49, i64 0, i32 15
+ %t52 = load ptr, ptr %t51
+ store ptr %t50, ptr %t51, !tbaa !130
+ call void @scr_arr_release(ptr %t52)
+ %t53 = load ptr, ptr %sc_l_this_0
+ %t54 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t53, i64 0, i32 16
+ store double 0x0000000000000000, ptr %t54, !tbaa !132
+ %t55 = load ptr, ptr %sc_l_this_0
+ %t56 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t55, i64 0, i32 17
+ store double 0x0000000000000000, ptr %t56, !tbaa !134
+ %t57 = load ptr, ptr %sc_l_this_0
+ %t58 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t57, i64 0, i32 18
+ store double 0x0000000000000000, ptr %t58, !tbaa !26
+ %t59 = load ptr, ptr %sc_l_this_0
+ %t60 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.sc_retain__x25_m4_UploadedFile.sc_release__x25_m4_UploadedFile.sc_trace__x25_m4_UploadedFile)
+ %t61 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t59, i64 0, i32 19
+ %t62 = load ptr, ptr %t61
+ store ptr %t60, ptr %t61, !tbaa !28
+ call void @scr_arr_release(ptr %t62)
+ %t63 = load ptr, ptr %sc_l_this_0
+ %t64 = call ptr @scr_arr_new_small(i32 2)
+ %t65 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t63, i64 0, i32 20
+ %t66 = load ptr, ptr %t65
+ store ptr %t64, ptr %t65, !tbaa !30
+ call void @scr_arr_release(ptr %t66)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartParser_constructor(ptr %p0, ptr %p1, ptr %p2, double %p3, double %p4, double %p5) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartParser_constructor(ptr %p0, ptr %p1, ptr %p2, double %p3, double %p4, double %p5)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartParser_feed(ptr %p_sc_l_this_0, ptr %p_sc_l_chunk_0) #0 { ; %%m4.MultipartParser.feed
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_chunk_0 = alloca ptr ; chunk
+ %sc_l_buf_0 = alloca ptr ; buf
+ %sc_l_pos_0 = alloca double ; pos
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_keep_0 = alloca i32 ; keep
+ %sc_l_b0_0 = alloca double ; b0
+ %sc_l_b1_0 = alloca double ; b1
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_i_1 = alloca double ; i
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l_i_2 = alloca double ; i
+ %sc_l_keep_1 = alloca i32 ; keep
+ %sc_l_safeEnd_0 = alloca double ; safeEnd
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_4 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_5 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s20 = alloca i1
+ %s179 = alloca i1
+ %s189 = alloca i1
+ %s207 = alloca ptr
+ %s254 = alloca ptr
+ %s298 = alloca ptr
+ %s319 = alloca [1 x ptr]
+ %s386 = alloca ptr
+ %s407 = alloca [1 x ptr]
+ %s452 = alloca ptr
+ %s473 = alloca [1 x ptr]
+ %s501 = alloca ptr
+ store ptr null, ptr %sc_l_buf_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr null, ptr %sc_l__x25_callbackReceiver_4
+ store ptr null, ptr %sc_l__x25_callbackBag_4
+ store ptr null, ptr %sc_l__x25_callback_4
+ store ptr null, ptr %sc_l__x25_callbackReceiver_5
+ store ptr null, ptr %sc_l__x25_callbackBag_5
+ store ptr null, ptr %sc_l__x25_callback_5
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 18
+ %t6 = load double, ptr %t5, !tbaa !26
+ %t7 = fcmp une double %t6, 0x0000000000000000
+ br i1 %t7, label %if.t2, label %if.j3
+if.t2:
+ ret void
+if.j3:
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t8, i64 0, i32 4
+ %t10 = load ptr, ptr %t9, !tbaa !114
+ %t11 = load ptr, ptr %sc_l_chunk_0
+ %t12 = call ptr @sc_bf__x25_m4_u8cat(ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_bytes_release(ptr %t12)
+ ret void
+exc.k5:
+ store ptr %t12, ptr %sc_l_buf_0
+ store double 0x0000000000000000, ptr %sc_l_pos_0
+ br label %loop.c7
+loop.c7:
+ br label %loop.b8
+loop.b8:
+ %t16 = load ptr, ptr %sc_l_this_0
+ %t17 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t16, i64 0, i32 18
+ %t18 = load double, ptr %t17, !tbaa !26
+ %t19 = fcmp une double %t18, 0x0000000000000000
+ store i1 %t19, ptr %s20
+ br i1 %t19, label %log.j10, label %log.r9
+log.r9:
+ %t21 = load ptr, ptr %sc_l_this_0
+ %t22 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t21, i64 0, i32 3
+ %t23 = load double, ptr %t22, !tbaa !112
+ %t24 = fcmp oeq double %t23, 0x4010000000000000
+ store i1 %t24, ptr %s20
+ br label %log.j10
+log.j10:
+ %t25 = load i1, ptr %s20
+ br i1 %t25, label %if.t11, label %if.j12
+if.t11:
+ %t26 = load ptr, ptr %sc_l_this_0
+ %t27 = load ptr, ptr @sc_g_m4_EMPTY_U8
+ %t28 = call ptr @scr_bytes_retain_v(ptr %t27)
+ %t29 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t26, i64 0, i32 4
+ %t30 = load ptr, ptr %t29
+ store ptr %t28, ptr %t29, !tbaa !114
+ call void @scr_bytes_release(ptr %t30)
+ %t31 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t31)
+ ret void
+if.j12:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t32, i64 0, i32 3
+ %t34 = load double, ptr %t33, !tbaa !112
+ %t35 = fcmp oeq double %t34, 0x0000000000000000
+ br i1 %t35, label %if.t13, label %if.f15
+if.t13:
+ %t36 = load ptr, ptr %sc_l_buf_0
+ %t37 = load ptr, ptr %sc_l_this_0
+ %t38 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t37, i64 0, i32 1
+ %t39 = load ptr, ptr %t38, !tbaa !108
+ %t40 = load double, ptr %sc_l_pos_0
+ %t41 = call double @sc_bf__x25_m4_findSeq(ptr %t36, ptr %t39, double %t40)
+ store double %t41, ptr %sc_l_i_0
+ %t42 = load double, ptr %sc_l_i_0
+ %t43 = fcmp olt double %t42, 0x0000000000000000
+ br i1 %t43, label %if.t16, label %if.j17
+if.t16:
+ %t44 = load ptr, ptr %sc_l_this_0
+ %t45 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t44, i64 0, i32 1
+ %t46 = load ptr, ptr %t45, !tbaa !108
+ %t47 = call double @sc_str_utf16_len(ptr %t46)
+ %t49 = fptosi double %t47 to i32
+ %t50 = sext i32 %t49 to i64
+ %t51 = add nsw i64 %t50, 4
+ %t53 = trunc i64 %t51 to i32
+ %t52 = sitofp i64 %t51 to double
+ %t54 = trunc i64 %t51 to i32
+ store i32 %t54, ptr %sc_l_keep_0
+ %t55 = load ptr, ptr %sc_l_buf_0
+ %t56 = getelementptr inbounds %ScrBytes, ptr %t55, i64 0, i32 1
+ %t57 = load i64, ptr %t56
+ %t58 = sitofp i64 %t57 to double
+ %t59 = load i32, ptr %sc_l_keep_0
+ %t60 = uitofp i32 %t59 to double
+ %t62 = fptosi double %t58 to i64
+ %t63 = zext i32 %t59 to i64
+ %t61 = icmp sgt i64 %t62, %t63
+ br i1 %t61, label %if.t18, label %if.f20
+if.t18:
+ %t64 = load ptr, ptr %sc_l_this_0
+ %t65 = load ptr, ptr %sc_l_buf_0
+ %t66 = load ptr, ptr %sc_l_buf_0
+ %t67 = getelementptr inbounds %ScrBytes, ptr %t66, i64 0, i32 1
+ %t68 = load i64, ptr %t67
+ %t69 = sitofp i64 %t68 to double
+ %t70 = load i32, ptr %sc_l_keep_0
+ %t71 = uitofp i32 %t70 to double
+ %t73 = fptosi double %t69 to i64
+ %t74 = zext i32 %t70 to i64
+ %t75 = sub nsw i64 %t73, %t74
+ %t77 = trunc i64 %t75 to i32
+ %t76 = sitofp i64 %t75 to double
+ %t78 = load ptr, ptr %sc_l_buf_0
+ %t79 = getelementptr inbounds %ScrBytes, ptr %t78, i64 0, i32 1
+ %t80 = load i64, ptr %t79
+ %t81 = sitofp i64 %t80 to double
+ %t82 = call ptr @sc_bf__x25_m4_u8slice(ptr %t65, double %t76, double %t81)
+ %t83 = load i32, ptr %exc.cell
+ %t84 = icmp ne i32 %t83, 0
+ %t85 = call i1 @llvm.expect.i1(i1 %t84, i1 false)
+ br i1 %t85, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @scr_bytes_release(ptr %t82)
+ br label %exc.cleanup23
+exc.k22:
+ %t86 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t64, i64 0, i32 4
+ %t87 = load ptr, ptr %t86
+ store ptr %t82, ptr %t86, !tbaa !114
+ call void @scr_bytes_release(ptr %t87)
+ br label %if.j19
+if.f20:
+ %t88 = load ptr, ptr %sc_l_this_0
+ %t89 = load ptr, ptr %sc_l_buf_0
+ %t90 = load ptr, ptr %sc_l_buf_0
+ %t91 = getelementptr inbounds %ScrBytes, ptr %t90, i64 0, i32 1
+ %t92 = load i64, ptr %t91
+ %t93 = sitofp i64 %t92 to double
+ %t94 = call ptr @sc_bf__x25_m4_u8slice(ptr %t89, double 0x0000000000000000, double %t93)
+ %t95 = load i32, ptr %exc.cell
+ %t96 = icmp ne i32 %t95, 0
+ %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false)
+ br i1 %t97, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @scr_bytes_release(ptr %t94)
+ br label %exc.cleanup23
+exc.k25:
+ %t98 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t88, i64 0, i32 4
+ %t99 = load ptr, ptr %t98
+ store ptr %t94, ptr %t98, !tbaa !114
+ call void @scr_bytes_release(ptr %t99)
+ br label %if.j19
+if.j19:
+ %t100 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t100)
+ ret void
+if.j17:
+ %t101 = load double, ptr %sc_l_i_0
+ %t102 = load ptr, ptr %sc_l_this_0
+ %t103 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t102, i64 0, i32 1
+ %t104 = load ptr, ptr %t103, !tbaa !108
+ %t105 = call double @sc_str_utf16_len(ptr %t104)
+ %t107 = fptosi double %t105 to i32
+ %t106 = fadd double %t101, %t105
+ store double %t106, ptr %sc_l_pos_0
+ %t108 = load ptr, ptr %sc_l_this_0
+ %t109 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t108, i64 0, i32 3
+ store double 0x3FF0000000000000, ptr %t109, !tbaa !112
+ br label %if.j14
+if.f15:
+ %t110 = load ptr, ptr %sc_l_this_0
+ %t111 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t110, i64 0, i32 3
+ %t112 = load double, ptr %t111, !tbaa !112
+ %t113 = fcmp oeq double %t112, 0x3FF0000000000000
+ br i1 %t113, label %if.t26, label %if.f28
+if.t26:
+ %t114 = load double, ptr %sc_l_pos_0
+ %t115 = fadd double %t114, 0x4000000000000000
+ %t116 = load ptr, ptr %sc_l_buf_0
+ %t117 = getelementptr inbounds %ScrBytes, ptr %t116, i64 0, i32 1
+ %t118 = load i64, ptr %t117
+ %t119 = sitofp i64 %t118 to double
+ %t121 = fptosi double %t119 to i64
+ %t120 = fcmp ogt double %t115, %t119
+ br i1 %t120, label %if.t29, label %if.j30
+if.t29:
+ %t122 = load ptr, ptr %sc_l_this_0
+ %t123 = load ptr, ptr %sc_l_buf_0
+ %t124 = load double, ptr %sc_l_pos_0
+ %t125 = load ptr, ptr %sc_l_buf_0
+ %t126 = getelementptr inbounds %ScrBytes, ptr %t125, i64 0, i32 1
+ %t127 = load i64, ptr %t126
+ %t128 = sitofp i64 %t127 to double
+ %t129 = call ptr @sc_bf__x25_m4_u8slice(ptr %t123, double %t124, double %t128)
+ %t130 = load i32, ptr %exc.cell
+ %t131 = icmp ne i32 %t130, 0
+ %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false)
+ br i1 %t132, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @scr_bytes_release(ptr %t129)
+ br label %exc.cleanup23
+exc.k32:
+ %t133 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t122, i64 0, i32 4
+ %t134 = load ptr, ptr %t133
+ store ptr %t129, ptr %t133, !tbaa !114
+ call void @scr_bytes_release(ptr %t134)
+ %t135 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t135)
+ ret void
+if.j30:
+ %t136 = load ptr, ptr %sc_l_buf_0
+ %t137 = load double, ptr %sc_l_pos_0
+ %t138 = getelementptr inbounds %ScrBytes, ptr %t136, i64 0, i32 1
+ %t139 = load i64, ptr %t138
+ %t140 = fptosi double %t137 to i64
+ %t141 = freeze i64 %t140
+ %t142 = sitofp i64 %t141 to double
+ %t143 = fcmp oeq double %t142, %t137
+ %t144 = icmp ult i64 %t141, %t139
+ %t145 = and i1 %t143, %t144
+ br i1 %t145, label %bytes.index.valid36, label %bytes.index.invalid35
+bytes.index.invalid35:
+ br label %bytes.read.invalid33
+bytes.index.valid36:
+ %t146 = getelementptr inbounds %ScrBytes, ptr %t136, i64 0, i32 3
+ %t147 = load ptr, ptr %t146
+ %t148 = getelementptr inbounds i8, ptr %t147, i64 %t141
+ %t149 = load i8, ptr %t148, align 1
+ %t150 = zext i8 %t149 to i32
+ %t151 = uitofp i32 %t150 to double
+ br label %bytes.read.ok37
+bytes.read.ok37:
+ br label %bytes.read.done34
+bytes.read.invalid33:
+ br label %bytes.read.done34
+bytes.read.done34:
+ %t153 = phi i32 [ %t150, %bytes.read.ok37 ], [ 0, %bytes.read.invalid33 ]
+ %t154 = phi i1 [ true, %bytes.read.ok37 ], [ false, %bytes.read.invalid33 ]
+ %t155 = uitofp i32 %t153 to double
+ %t152 = select i1 %t154, double %t155, double 0x7FF8000000000000
+ store double %t152, ptr %sc_l_b0_0
+ %t156 = load ptr, ptr %sc_l_buf_0
+ %t157 = load double, ptr %sc_l_pos_0
+ %t158 = fadd double %t157, 0x3FF0000000000000
+ %t159 = getelementptr inbounds %ScrBytes, ptr %t156, i64 0, i32 1
+ %t160 = load i64, ptr %t159
+ %t161 = fptosi double %t158 to i64
+ %t162 = freeze i64 %t161
+ %t163 = sitofp i64 %t162 to double
+ %t164 = fcmp oeq double %t163, %t158
+ %t165 = icmp ult i64 %t162, %t160
+ %t166 = and i1 %t164, %t165
+ br i1 %t166, label %bytes.index.valid41, label %bytes.index.invalid40
+bytes.index.invalid40:
+ br label %bytes.read.invalid38
+bytes.index.valid41:
+ %t167 = getelementptr inbounds %ScrBytes, ptr %t156, i64 0, i32 3
+ %t168 = load ptr, ptr %t167
+ %t169 = getelementptr inbounds i8, ptr %t168, i64 %t162
+ %t170 = load i8, ptr %t169, align 1
+ %t171 = zext i8 %t170 to i32
+ %t172 = uitofp i32 %t171 to double
+ br label %bytes.read.ok42
+bytes.read.ok42:
+ br label %bytes.read.done39
+bytes.read.invalid38:
+ br label %bytes.read.done39
+bytes.read.done39:
+ %t174 = phi i32 [ %t171, %bytes.read.ok42 ], [ 0, %bytes.read.invalid38 ]
+ %t175 = phi i1 [ true, %bytes.read.ok42 ], [ false, %bytes.read.invalid38 ]
+ %t176 = uitofp i32 %t174 to double
+ %t173 = select i1 %t175, double %t176, double 0x7FF8000000000000
+ store double %t173, ptr %sc_l_b1_0
+ %t177 = load double, ptr %sc_l_b0_0
+ %t178 = fcmp oeq double %t177, 0x4046800000000000
+ store i1 %t178, ptr %s179
+ br i1 %t178, label %log.r43, label %log.j44
+log.r43:
+ %t180 = load double, ptr %sc_l_b1_0
+ %t181 = fcmp oeq double %t180, 0x4046800000000000
+ store i1 %t181, ptr %s179
+ br label %log.j44
+log.j44:
+ %t182 = load i1, ptr %s179
+ br i1 %t182, label %if.t45, label %if.f47
+if.t45:
+ %t183 = load ptr, ptr %sc_l_this_0
+ %t184 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t183, i64 0, i32 3
+ store double 0x4010000000000000, ptr %t184, !tbaa !112
+ %t185 = load double, ptr %sc_l_pos_0
+ %t186 = fadd double %t185, 0x4000000000000000
+ store double %t186, ptr %sc_l_pos_0
+ br label %if.j46
+if.f47:
+ %t187 = load double, ptr %sc_l_b0_0
+ %t188 = fcmp oeq double %t187, 0x402A000000000000
+ store i1 %t188, ptr %s189
+ br i1 %t188, label %log.r48, label %log.j49
+log.r48:
+ %t190 = load double, ptr %sc_l_b1_0
+ %t191 = fcmp oeq double %t190, 0x4024000000000000
+ store i1 %t191, ptr %s189
+ br label %log.j49
+log.j49:
+ %t192 = load i1, ptr %s189
+ br i1 %t192, label %if.t50, label %if.f52
+if.t50:
+ %t193 = load ptr, ptr %sc_l_this_0
+ %t194 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t193, i64 0, i32 3
+ store double 0x4000000000000000, ptr %t194, !tbaa !112
+ %t195 = load double, ptr %sc_l_pos_0
+ %t196 = fadd double %t195, 0x4000000000000000
+ store double %t196, ptr %sc_l_pos_0
+ br label %if.j51
+if.f52:
+ %t197 = load ptr, ptr %sc_l_this_0
+ store ptr %t197, ptr %sc_l__x25_callbackReceiver_0
+ %t198 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t199 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t198)
+ %t200 = load i32, ptr %exc.cell
+ %t201 = icmp ne i32 %t200, 0
+ %t202 = call i1 @llvm.expect.i1(i1 %t201, i1 false)
+ br i1 %t202, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t199)
+ br label %exc.cleanup23
+exc.k54:
+ store ptr %t199, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t203 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t204 = getelementptr inbounds i8, ptr %t203, i64 8 ; ->kind
+ %t205 = load i32, ptr %t204
+ %t206 = icmp eq i32 %t205, 6
+ br i1 %t206, label %tern.t55, label %tern.f56
+tern.t55:
+ %t209 = call ptr @scr_dyn_undefined()
+ %t208 = call ptr @scr_dyn_retain_v(ptr %t209)
+ store ptr %t208, ptr %s207
+ br label %tern.j57
+tern.f56:
+ %t210 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t211 = call ptr @sc_rc_retain_dyn(ptr %t210)
+ %t212 = call ptr @sc_f__x25_dyn_class_property_38(ptr %t211)
+ %t213 = load i32, ptr %exc.cell
+ %t214 = icmp ne i32 %t213, 0
+ %t215 = call i1 @llvm.expect.i1(i1 %t214, i1 false)
+ br i1 %t215, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t212)
+ br label %exc.cleanup60
+exc.k59:
+ store ptr %t212, ptr %s207
+ br label %tern.j57
+tern.j57:
+ %t216 = load ptr, ptr %s207
+ store ptr %t216, ptr %sc_l__x25_callback_0
+ %t217 = load ptr, ptr %sc_l__x25_callback_0
+ %t218 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t219 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t218, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t219)
+ %t220 = call ptr @scr_dyn_call(ptr %t217, ptr null, i64 0, ptr @sc_cs_1114522622042273)
+ call void @scr_dyn_this_pop()
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u61, label %exc.k62
+exc.u61:
+ call void @sc_rc_release_dyn(ptr %t219)
+ call void @sc_rc_release_dyn(ptr %t220)
+ br label %exc.cleanup63
+exc.k62:
+ call void @sc_rc_release_dyn(ptr %t219)
+ call void @sc_rc_release_dyn(ptr %t220)
+ %t224 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t224)
+ %t225 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t225)
+ %t226 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t226)
+ ret void
+if.j51:
+ br label %if.j46
+if.j46:
+ br label %if.j27
+if.f28:
+ %t227 = load ptr, ptr %sc_l_this_0
+ %t228 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t227, i64 0, i32 3
+ %t229 = load double, ptr %t228, !tbaa !112
+ %t230 = fcmp oeq double %t229, 0x4000000000000000
+ br i1 %t230, label %if.t64, label %if.f66
+if.t64:
+ %t231 = load ptr, ptr %sc_l_buf_0
+ %t232 = load double, ptr %sc_l_pos_0
+ %t233 = call double @sc_bf__x25_m4_findSeq(ptr %t231, ptr @sc_lit_3864033475009977, double %t232)
+ store double %t233, ptr %sc_l_i_1
+ %t234 = load double, ptr %sc_l_i_1
+ %t235 = fcmp olt double %t234, 0x0000000000000000
+ br i1 %t235, label %if.t67, label %if.j68
+if.t67:
+ %t236 = load ptr, ptr %sc_l_buf_0
+ %t237 = getelementptr inbounds %ScrBytes, ptr %t236, i64 0, i32 1
+ %t238 = load i64, ptr %t237
+ %t239 = sitofp i64 %t238 to double
+ %t240 = load double, ptr %sc_l_pos_0
+ %t242 = fptosi double %t239 to i64
+ %t241 = fsub double %t239, %t240
+ %t243 = fcmp ogt double %t241, 0x40D0000000000000
+ br i1 %t243, label %if.t69, label %if.j70
+if.t69:
+ %t244 = load ptr, ptr %sc_l_this_0
+ store ptr %t244, ptr %sc_l__x25_callbackReceiver_1
+ %t245 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t246 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t245)
+ %t247 = load i32, ptr %exc.cell
+ %t248 = icmp ne i32 %t247, 0
+ %t249 = call i1 @llvm.expect.i1(i1 %t248, i1 false)
+ br i1 %t249, label %exc.u71, label %exc.k72
+exc.u71:
+ call void @sc_rc_release_dyn(ptr %t246)
+ br label %exc.cleanup23
+exc.k72:
+ store ptr %t246, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t250 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t251 = getelementptr inbounds i8, ptr %t250, i64 8 ; ->kind
+ %t252 = load i32, ptr %t251
+ %t253 = icmp eq i32 %t252, 6
+ br i1 %t253, label %tern.t73, label %tern.f74
+tern.t73:
+ %t256 = call ptr @scr_dyn_undefined()
+ %t255 = call ptr @scr_dyn_retain_v(ptr %t256)
+ store ptr %t255, ptr %s254
+ br label %tern.j75
+tern.f74:
+ %t257 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t258 = call ptr @sc_rc_retain_dyn(ptr %t257)
+ %t259 = call ptr @sc_f__x25_dyn_class_property_38(ptr %t258)
+ %t260 = load i32, ptr %exc.cell
+ %t261 = icmp ne i32 %t260, 0
+ %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false)
+ br i1 %t262, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t259)
+ br label %exc.cleanup78
+exc.k77:
+ store ptr %t259, ptr %s254
+ br label %tern.j75
+tern.j75:
+ %t263 = load ptr, ptr %s254
+ store ptr %t263, ptr %sc_l__x25_callback_1
+ %t264 = load ptr, ptr %sc_l__x25_callback_1
+ %t265 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t266 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t265, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t266)
+ %t267 = call ptr @scr_dyn_call(ptr %t264, ptr null, i64 0, ptr @sc_cs_1114522622042273)
+ call void @scr_dyn_this_pop()
+ %t268 = load i32, ptr %exc.cell
+ %t269 = icmp ne i32 %t268, 0
+ %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false)
+ br i1 %t270, label %exc.u79, label %exc.k80
+exc.u79:
+ call void @sc_rc_release_dyn(ptr %t266)
+ call void @sc_rc_release_dyn(ptr %t267)
+ br label %exc.cleanup81
+exc.k80:
+ call void @sc_rc_release_dyn(ptr %t266)
+ call void @sc_rc_release_dyn(ptr %t267)
+ %t271 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t271)
+ %t272 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t273)
+ ret void
+if.j70:
+ %t274 = load ptr, ptr %sc_l_this_0
+ %t275 = load ptr, ptr %sc_l_buf_0
+ %t276 = load double, ptr %sc_l_pos_0
+ %t277 = load ptr, ptr %sc_l_buf_0
+ %t278 = getelementptr inbounds %ScrBytes, ptr %t277, i64 0, i32 1
+ %t279 = load i64, ptr %t278
+ %t280 = sitofp i64 %t279 to double
+ %t281 = call ptr @sc_bf__x25_m4_u8slice(ptr %t275, double %t276, double %t280)
+ %t282 = load i32, ptr %exc.cell
+ %t283 = icmp ne i32 %t282, 0
+ %t284 = call i1 @llvm.expect.i1(i1 %t283, i1 false)
+ br i1 %t284, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @scr_bytes_release(ptr %t281)
+ br label %exc.cleanup23
+exc.k83:
+ %t285 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t274, i64 0, i32 4
+ %t286 = load ptr, ptr %t285
+ store ptr %t281, ptr %t285, !tbaa !114
+ call void @scr_bytes_release(ptr %t286)
+ %t287 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t287)
+ ret void
+if.j68:
+ %t288 = load ptr, ptr %sc_l_this_0
+ store ptr %t288, ptr %sc_l__x25_callbackReceiver_2
+ %t289 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t290 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t289)
+ %t291 = load i32, ptr %exc.cell
+ %t292 = icmp ne i32 %t291, 0
+ %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false)
+ br i1 %t293, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t290)
+ br label %exc.cleanup23
+exc.k85:
+ store ptr %t290, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t294 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t295 = getelementptr inbounds i8, ptr %t294, i64 8 ; ->kind
+ %t296 = load i32, ptr %t295
+ %t297 = icmp eq i32 %t296, 6
+ br i1 %t297, label %tern.t86, label %tern.f87
+tern.t86:
+ %t300 = call ptr @scr_dyn_undefined()
+ %t299 = call ptr @scr_dyn_retain_v(ptr %t300)
+ store ptr %t299, ptr %s298
+ br label %tern.j88
+tern.f87:
+ %t301 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t302 = call ptr @sc_rc_retain_dyn(ptr %t301)
+ %t303 = call ptr @sc_f__x25_dyn_class_property_39(ptr %t302)
+ %t304 = load i32, ptr %exc.cell
+ %t305 = icmp ne i32 %t304, 0
+ %t306 = call i1 @llvm.expect.i1(i1 %t305, i1 false)
+ br i1 %t306, label %exc.u89, label %exc.k90
+exc.u89:
+ call void @sc_rc_release_dyn(ptr %t303)
+ br label %exc.cleanup91
+exc.k90:
+ store ptr %t303, ptr %s298
+ br label %tern.j88
+tern.j88:
+ %t307 = load ptr, ptr %s298
+ store ptr %t307, ptr %sc_l__x25_callback_2
+ %t308 = load ptr, ptr %sc_l__x25_callback_2
+ %t309 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t310 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t309, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t311 = load ptr, ptr %sc_l_buf_0
+ %t312 = load double, ptr %sc_l_pos_0
+ %t313 = load double, ptr %sc_l_i_1
+ %t314 = call ptr @sc_bf__x25_m4_u8slice(ptr %t311, double %t312, double %t313)
+ %t315 = load i32, ptr %exc.cell
+ %t316 = icmp ne i32 %t315, 0
+ %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false)
+ br i1 %t317, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @scr_bytes_release(ptr %t314)
+ call void @sc_rc_release_dyn(ptr %t310)
+ br label %exc.cleanup94
+exc.k93:
+ %t318 = call ptr @sc_td_1(ptr %t314)
+ %t320 = getelementptr inbounds [1 x ptr], ptr %s319, i64 0, i64 0
+ store ptr %t318, ptr %t320
+ call void @scr_dyn_this_push_dyn(ptr %t310)
+ %t321 = call ptr @scr_dyn_call(ptr %t308, ptr %s319, i64 1, ptr @sc_cs_1244843193594100)
+ call void @scr_dyn_this_pop()
+ %t322 = load i32, ptr %exc.cell
+ %t323 = icmp ne i32 %t322, 0
+ %t324 = call i1 @llvm.expect.i1(i1 %t323, i1 false)
+ br i1 %t324, label %exc.u95, label %exc.k96
+exc.u95:
+ call void @sc_rc_release_dyn(ptr %t310)
+ call void @scr_bytes_release(ptr %t314)
+ call void @sc_rc_release_dyn(ptr %t318)
+ call void @sc_rc_release_dyn(ptr %t321)
+ br label %exc.cleanup94
+exc.k96:
+ call void @sc_rc_release_dyn(ptr %t310)
+ call void @scr_bytes_release(ptr %t314)
+ call void @sc_rc_release_dyn(ptr %t318)
+ call void @sc_rc_release_dyn(ptr %t321)
+ %t325 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t325)
+ %t326 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t326)
+ %t327 = load ptr, ptr %sc_l_this_0
+ %t328 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t327, i64 0, i32 18
+ %t329 = load double, ptr %t328, !tbaa !26
+ %t330 = fcmp une double %t329, 0x0000000000000000
+ br i1 %t330, label %if.t97, label %if.j98
+if.t97:
+ %t331 = load ptr, ptr %sc_l_this_0
+ %t332 = load ptr, ptr @sc_g_m4_EMPTY_U8
+ %t333 = call ptr @scr_bytes_retain_v(ptr %t332)
+ %t334 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t331, i64 0, i32 4
+ %t335 = load ptr, ptr %t334
+ store ptr %t333, ptr %t334, !tbaa !114
+ call void @scr_bytes_release(ptr %t335)
+ %t336 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t336)
+ ret void
+if.j98:
+ %t337 = load double, ptr %sc_l_i_1
+ %t338 = fadd double %t337, 0x4010000000000000
+ store double %t338, ptr %sc_l_pos_0
+ %t339 = load ptr, ptr %sc_l_this_0
+ %t340 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t339, i64 0, i32 3
+ store double 0x4008000000000000, ptr %t340, !tbaa !112
+ br label %if.j65
+if.f66:
+ %t341 = load ptr, ptr %sc_l_buf_0
+ %t342 = load ptr, ptr %sc_l_this_0
+ %t343 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t342, i64 0, i32 2
+ %t344 = load ptr, ptr %t343, !tbaa !110
+ %t345 = load double, ptr %sc_l_pos_0
+ %t346 = call double @sc_bf__x25_m4_findSeq(ptr %t341, ptr %t344, double %t345)
+ store double %t346, ptr %sc_l_i_2
+ %t347 = load double, ptr %sc_l_i_2
+ %t348 = fcmp olt double %t347, 0x0000000000000000
+ br i1 %t348, label %if.t99, label %if.j100
+if.t99:
+ %t349 = load ptr, ptr %sc_l_this_0
+ %t350 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t349, i64 0, i32 2
+ %t351 = load ptr, ptr %t350, !tbaa !110
+ %t352 = call double @sc_str_utf16_len(ptr %t351)
+ %t354 = fptosi double %t352 to i32
+ %t355 = sext i32 %t354 to i64
+ %t356 = add nsw i64 %t355, 2
+ %t358 = trunc i64 %t356 to i32
+ %t357 = sitofp i64 %t356 to double
+ %t359 = trunc i64 %t356 to i32
+ store i32 %t359, ptr %sc_l_keep_1
+ %t360 = load ptr, ptr %sc_l_buf_0
+ %t361 = getelementptr inbounds %ScrBytes, ptr %t360, i64 0, i32 1
+ %t362 = load i64, ptr %t361
+ %t363 = sitofp i64 %t362 to double
+ %t364 = load i32, ptr %sc_l_keep_1
+ %t365 = uitofp i32 %t364 to double
+ %t367 = fptosi double %t363 to i64
+ %t368 = zext i32 %t364 to i64
+ %t369 = sub nsw i64 %t367, %t368
+ %t371 = trunc i64 %t369 to i32
+ %t370 = sitofp i64 %t369 to double
+ store double %t370, ptr %sc_l_safeEnd_0
+ %t372 = load double, ptr %sc_l_safeEnd_0
+ %t373 = load double, ptr %sc_l_pos_0
+ %t375 = fptosi double %t372 to i64
+ %t374 = fcmp ogt double %t372, %t373
+ br i1 %t374, label %if.t101, label %if.f103
+if.t101:
+ %t376 = load ptr, ptr %sc_l_this_0
+ store ptr %t376, ptr %sc_l__x25_callbackReceiver_3
+ %t377 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t378 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t377)
+ %t379 = load i32, ptr %exc.cell
+ %t380 = icmp ne i32 %t379, 0
+ %t381 = call i1 @llvm.expect.i1(i1 %t380, i1 false)
+ br i1 %t381, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t378)
+ br label %exc.cleanup23
+exc.k105:
+ store ptr %t378, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t382 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t383 = getelementptr inbounds i8, ptr %t382, i64 8 ; ->kind
+ %t384 = load i32, ptr %t383
+ %t385 = icmp eq i32 %t384, 6
+ br i1 %t385, label %tern.t106, label %tern.f107
+tern.t106:
+ %t388 = call ptr @scr_dyn_undefined()
+ %t387 = call ptr @scr_dyn_retain_v(ptr %t388)
+ store ptr %t387, ptr %s386
+ br label %tern.j108
+tern.f107:
+ %t389 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t390 = call ptr @sc_rc_retain_dyn(ptr %t389)
+ %t391 = call ptr @sc_f__x25_dyn_class_property_40(ptr %t390)
+ %t392 = load i32, ptr %exc.cell
+ %t393 = icmp ne i32 %t392, 0
+ %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false)
+ br i1 %t394, label %exc.u109, label %exc.k110
+exc.u109:
+ call void @sc_rc_release_dyn(ptr %t391)
+ br label %exc.cleanup111
+exc.k110:
+ store ptr %t391, ptr %s386
+ br label %tern.j108
+tern.j108:
+ %t395 = load ptr, ptr %s386
+ store ptr %t395, ptr %sc_l__x25_callback_3
+ %t396 = load ptr, ptr %sc_l__x25_callback_3
+ %t397 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t398 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t397, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t399 = load ptr, ptr %sc_l_buf_0
+ %t400 = load double, ptr %sc_l_pos_0
+ %t401 = load double, ptr %sc_l_safeEnd_0
+ %t402 = call ptr @sc_bf__x25_m4_u8slice(ptr %t399, double %t400, double %t401)
+ %t403 = load i32, ptr %exc.cell
+ %t404 = icmp ne i32 %t403, 0
+ %t405 = call i1 @llvm.expect.i1(i1 %t404, i1 false)
+ br i1 %t405, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @scr_bytes_release(ptr %t402)
+ call void @sc_rc_release_dyn(ptr %t398)
+ br label %exc.cleanup114
+exc.k113:
+ %t406 = call ptr @sc_td_1(ptr %t402)
+ %t408 = getelementptr inbounds [1 x ptr], ptr %s407, i64 0, i64 0
+ store ptr %t406, ptr %t408
+ call void @scr_dyn_this_push_dyn(ptr %t398)
+ %t409 = call ptr @scr_dyn_call(ptr %t396, ptr %s407, i64 1, ptr @sc_cs_3511997926099974)
+ call void @scr_dyn_this_pop()
+ %t410 = load i32, ptr %exc.cell
+ %t411 = icmp ne i32 %t410, 0
+ %t412 = call i1 @llvm.expect.i1(i1 %t411, i1 false)
+ br i1 %t412, label %exc.u115, label %exc.k116
+exc.u115:
+ call void @sc_rc_release_dyn(ptr %t398)
+ call void @scr_bytes_release(ptr %t402)
+ call void @sc_rc_release_dyn(ptr %t406)
+ call void @sc_rc_release_dyn(ptr %t409)
+ br label %exc.cleanup114
+exc.k116:
+ call void @sc_rc_release_dyn(ptr %t398)
+ call void @scr_bytes_release(ptr %t402)
+ call void @sc_rc_release_dyn(ptr %t406)
+ call void @sc_rc_release_dyn(ptr %t409)
+ %t413 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t413)
+ %t414 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t414)
+ %t415 = load ptr, ptr %sc_l_this_0
+ %t416 = load ptr, ptr %sc_l_buf_0
+ %t417 = load double, ptr %sc_l_safeEnd_0
+ %t418 = load ptr, ptr %sc_l_buf_0
+ %t419 = getelementptr inbounds %ScrBytes, ptr %t418, i64 0, i32 1
+ %t420 = load i64, ptr %t419
+ %t421 = sitofp i64 %t420 to double
+ %t422 = call ptr @sc_bf__x25_m4_u8slice(ptr %t416, double %t417, double %t421)
+ %t423 = load i32, ptr %exc.cell
+ %t424 = icmp ne i32 %t423, 0
+ %t425 = call i1 @llvm.expect.i1(i1 %t424, i1 false)
+ br i1 %t425, label %exc.u117, label %exc.k118
+exc.u117:
+ call void @scr_bytes_release(ptr %t422)
+ br label %exc.cleanup23
+exc.k118:
+ %t426 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t415, i64 0, i32 4
+ %t427 = load ptr, ptr %t426
+ store ptr %t422, ptr %t426, !tbaa !114
+ call void @scr_bytes_release(ptr %t427)
+ br label %if.j102
+if.f103:
+ %t428 = load ptr, ptr %sc_l_this_0
+ %t429 = load ptr, ptr %sc_l_buf_0
+ %t430 = load double, ptr %sc_l_pos_0
+ %t431 = load ptr, ptr %sc_l_buf_0
+ %t432 = getelementptr inbounds %ScrBytes, ptr %t431, i64 0, i32 1
+ %t433 = load i64, ptr %t432
+ %t434 = sitofp i64 %t433 to double
+ %t435 = call ptr @sc_bf__x25_m4_u8slice(ptr %t429, double %t430, double %t434)
+ %t436 = load i32, ptr %exc.cell
+ %t437 = icmp ne i32 %t436, 0
+ %t438 = call i1 @llvm.expect.i1(i1 %t437, i1 false)
+ br i1 %t438, label %exc.u119, label %exc.k120
+exc.u119:
+ call void @scr_bytes_release(ptr %t435)
+ br label %exc.cleanup23
+exc.k120:
+ %t439 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t428, i64 0, i32 4
+ %t440 = load ptr, ptr %t439
+ store ptr %t435, ptr %t439, !tbaa !114
+ call void @scr_bytes_release(ptr %t440)
+ br label %if.j102
+if.j102:
+ %t441 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t441)
+ ret void
+if.j100:
+ %t442 = load ptr, ptr %sc_l_this_0
+ store ptr %t442, ptr %sc_l__x25_callbackReceiver_4
+ %t443 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t444 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t443)
+ %t445 = load i32, ptr %exc.cell
+ %t446 = icmp ne i32 %t445, 0
+ %t447 = call i1 @llvm.expect.i1(i1 %t446, i1 false)
+ br i1 %t447, label %exc.u121, label %exc.k122
+exc.u121:
+ call void @sc_rc_release_dyn(ptr %t444)
+ br label %exc.cleanup23
+exc.k122:
+ store ptr %t444, ptr %sc_l__x25_callbackBag_4
+ store i1 true, ptr %sc_l__x25_callbackPresent_4
+ %t448 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t449 = getelementptr inbounds i8, ptr %t448, i64 8 ; ->kind
+ %t450 = load i32, ptr %t449
+ %t451 = icmp eq i32 %t450, 6
+ br i1 %t451, label %tern.t123, label %tern.f124
+tern.t123:
+ %t454 = call ptr @scr_dyn_undefined()
+ %t453 = call ptr @scr_dyn_retain_v(ptr %t454)
+ store ptr %t453, ptr %s452
+ br label %tern.j125
+tern.f124:
+ %t455 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t456 = call ptr @sc_rc_retain_dyn(ptr %t455)
+ %t457 = call ptr @sc_f__x25_dyn_class_property_40(ptr %t456)
+ %t458 = load i32, ptr %exc.cell
+ %t459 = icmp ne i32 %t458, 0
+ %t460 = call i1 @llvm.expect.i1(i1 %t459, i1 false)
+ br i1 %t460, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t457)
+ br label %exc.cleanup128
+exc.k127:
+ store ptr %t457, ptr %s452
+ br label %tern.j125
+tern.j125:
+ %t461 = load ptr, ptr %s452
+ store ptr %t461, ptr %sc_l__x25_callback_4
+ %t462 = load ptr, ptr %sc_l__x25_callback_4
+ %t463 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t464 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t463, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t465 = load ptr, ptr %sc_l_buf_0
+ %t466 = load double, ptr %sc_l_pos_0
+ %t467 = load double, ptr %sc_l_i_2
+ %t468 = call ptr @sc_bf__x25_m4_u8slice(ptr %t465, double %t466, double %t467)
+ %t469 = load i32, ptr %exc.cell
+ %t470 = icmp ne i32 %t469, 0
+ %t471 = call i1 @llvm.expect.i1(i1 %t470, i1 false)
+ br i1 %t471, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @scr_bytes_release(ptr %t468)
+ call void @sc_rc_release_dyn(ptr %t464)
+ br label %exc.cleanup131
+exc.k130:
+ %t472 = call ptr @sc_td_1(ptr %t468)
+ %t474 = getelementptr inbounds [1 x ptr], ptr %s473, i64 0, i64 0
+ store ptr %t472, ptr %t474
+ call void @scr_dyn_this_push_dyn(ptr %t464)
+ %t475 = call ptr @scr_dyn_call(ptr %t462, ptr %s473, i64 1, ptr @sc_cs_3511997926099974)
+ call void @scr_dyn_this_pop()
+ %t476 = load i32, ptr %exc.cell
+ %t477 = icmp ne i32 %t476, 0
+ %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false)
+ br i1 %t478, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @sc_rc_release_dyn(ptr %t464)
+ call void @scr_bytes_release(ptr %t468)
+ call void @sc_rc_release_dyn(ptr %t472)
+ call void @sc_rc_release_dyn(ptr %t475)
+ br label %exc.cleanup131
+exc.k133:
+ call void @sc_rc_release_dyn(ptr %t464)
+ call void @scr_bytes_release(ptr %t468)
+ call void @sc_rc_release_dyn(ptr %t472)
+ call void @sc_rc_release_dyn(ptr %t475)
+ %t479 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t479)
+ %t480 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t480)
+ %t481 = load ptr, ptr %sc_l_this_0
+ %t482 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t481, i64 0, i32 18
+ %t483 = load double, ptr %t482, !tbaa !26
+ %t484 = fcmp une double %t483, 0x0000000000000000
+ br i1 %t484, label %if.t134, label %if.j135
+if.t134:
+ %t485 = load ptr, ptr %sc_l_this_0
+ %t486 = load ptr, ptr @sc_g_m4_EMPTY_U8
+ %t487 = call ptr @scr_bytes_retain_v(ptr %t486)
+ %t488 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t485, i64 0, i32 4
+ %t489 = load ptr, ptr %t488
+ store ptr %t487, ptr %t488, !tbaa !114
+ call void @scr_bytes_release(ptr %t489)
+ %t490 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t490)
+ ret void
+if.j135:
+ %t491 = load ptr, ptr %sc_l_this_0
+ store ptr %t491, ptr %sc_l__x25_callbackReceiver_5
+ %t492 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t493 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t492)
+ %t494 = load i32, ptr %exc.cell
+ %t495 = icmp ne i32 %t494, 0
+ %t496 = call i1 @llvm.expect.i1(i1 %t495, i1 false)
+ br i1 %t496, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t493)
+ br label %exc.cleanup23
+exc.k137:
+ store ptr %t493, ptr %sc_l__x25_callbackBag_5
+ store i1 true, ptr %sc_l__x25_callbackPresent_5
+ %t497 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t498 = getelementptr inbounds i8, ptr %t497, i64 8 ; ->kind
+ %t499 = load i32, ptr %t498
+ %t500 = icmp eq i32 %t499, 6
+ br i1 %t500, label %tern.t138, label %tern.f139
+tern.t138:
+ %t503 = call ptr @scr_dyn_undefined()
+ %t502 = call ptr @scr_dyn_retain_v(ptr %t503)
+ store ptr %t502, ptr %s501
+ br label %tern.j140
+tern.f139:
+ %t504 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t505 = call ptr @sc_rc_retain_dyn(ptr %t504)
+ %t506 = call ptr @sc_f__x25_dyn_class_property_41(ptr %t505)
+ %t507 = load i32, ptr %exc.cell
+ %t508 = icmp ne i32 %t507, 0
+ %t509 = call i1 @llvm.expect.i1(i1 %t508, i1 false)
+ br i1 %t509, label %exc.u141, label %exc.k142
+exc.u141:
+ call void @sc_rc_release_dyn(ptr %t506)
+ br label %exc.cleanup143
+exc.k142:
+ store ptr %t506, ptr %s501
+ br label %tern.j140
+tern.j140:
+ %t510 = load ptr, ptr %s501
+ store ptr %t510, ptr %sc_l__x25_callback_5
+ %t511 = load ptr, ptr %sc_l__x25_callback_5
+ %t512 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t513 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t512, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t513)
+ %t514 = call ptr @scr_dyn_call(ptr %t511, ptr null, i64 0, ptr @sc_cs_1251443465576969)
+ call void @scr_dyn_this_pop()
+ %t515 = load i32, ptr %exc.cell
+ %t516 = icmp ne i32 %t515, 0
+ %t517 = call i1 @llvm.expect.i1(i1 %t516, i1 false)
+ br i1 %t517, label %exc.u144, label %exc.k145
+exc.u144:
+ call void @sc_rc_release_dyn(ptr %t513)
+ call void @sc_rc_release_dyn(ptr %t514)
+ br label %exc.cleanup146
+exc.k145:
+ call void @sc_rc_release_dyn(ptr %t513)
+ call void @sc_rc_release_dyn(ptr %t514)
+ %t518 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t518)
+ %t519 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t519)
+ %t520 = load double, ptr %sc_l_i_2
+ %t521 = load ptr, ptr %sc_l_this_0
+ %t522 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t521, i64 0, i32 2
+ %t523 = load ptr, ptr %t522, !tbaa !110
+ %t524 = call double @sc_str_utf16_len(ptr %t523)
+ %t526 = fptosi double %t524 to i32
+ %t525 = fadd double %t520, %t524
+ store double %t525, ptr %sc_l_pos_0
+ %t527 = load ptr, ptr %sc_l_this_0
+ %t528 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t527, i64 0, i32 3
+ store double 0x3FF0000000000000, ptr %t528, !tbaa !112
+ br label %if.j65
+if.j65:
+ br label %if.j27
+if.j27:
+ br label %if.j14
+if.j14:
+ br label %loop.c7
+loop.e6:
+ %t529 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t529)
+ ret void
+exc.cleanup23:
+ %t530 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t530)
+ ret void
+exc.cleanup60:
+ %t531 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t531)
+ %t532 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t532)
+ ret void
+exc.cleanup63:
+ %t533 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t533)
+ %t534 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t534)
+ %t535 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t535)
+ ret void
+exc.cleanup78:
+ %t536 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t536)
+ %t537 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t537)
+ ret void
+exc.cleanup81:
+ %t538 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t538)
+ %t539 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t539)
+ %t540 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t540)
+ ret void
+exc.cleanup91:
+ %t541 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t541)
+ %t542 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t542)
+ ret void
+exc.cleanup94:
+ %t543 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t543)
+ %t544 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t544)
+ %t545 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t545)
+ ret void
+exc.cleanup111:
+ %t546 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t546)
+ %t547 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t547)
+ ret void
+exc.cleanup114:
+ %t548 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t548)
+ %t549 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t549)
+ %t550 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t550)
+ ret void
+exc.cleanup128:
+ %t551 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t551)
+ %t552 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t552)
+ ret void
+exc.cleanup131:
+ %t553 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t553)
+ %t554 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t554)
+ %t555 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t555)
+ ret void
+exc.cleanup143:
+ %t556 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t556)
+ %t557 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t557)
+ ret void
+exc.cleanup146:
+ %t558 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t558)
+ %t559 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t559)
+ %t560 = load ptr, ptr %sc_l_buf_0
+ call void @scr_bytes_release(ptr %t560)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartParser_feed(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartParser_feed(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartParser_finish(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartParser.finish
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s22 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 18
+ %t6 = load double, ptr %t5, !tbaa !26
+ %t7 = fcmp une double %t6, 0x0000000000000000
+ br i1 %t7, label %if.t2, label %if.j3
+if.t2:
+ ret void
+if.j3:
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t8, i64 0, i32 3
+ %t10 = load double, ptr %t9, !tbaa !112
+ %t11 = fcmp oeq double %t10, 0x4010000000000000
+ br i1 %t11, label %if.t4, label %if.j5
+if.t4:
+ ret void
+if.j5:
+ %t12 = load ptr, ptr %sc_l_this_0
+ store ptr %t12, ptr %sc_l__x25_callbackReceiver_0
+ %t13 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t14 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t13)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret void
+exc.k7:
+ store ptr %t14, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind
+ %t20 = load i32, ptr %t19
+ %t21 = icmp eq i32 %t20, 6
+ br i1 %t21, label %tern.t8, label %tern.f9
+tern.t8:
+ %t24 = call ptr @scr_dyn_undefined()
+ %t23 = call ptr @scr_dyn_retain_v(ptr %t24)
+ store ptr %t23, ptr %s22
+ br label %tern.j10
+tern.f9:
+ %t25 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t26 = call ptr @sc_rc_retain_dyn(ptr %t25)
+ %t27 = call ptr @sc_f__x25_dyn_class_property_38(ptr %t26)
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup13
+exc.k12:
+ store ptr %t27, ptr %s22
+ br label %tern.j10
+tern.j10:
+ %t31 = load ptr, ptr %s22
+ store ptr %t31, ptr %sc_l__x25_callback_0
+ %t32 = load ptr, ptr %sc_l__x25_callback_0
+ %t33 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t34 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t33, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t34)
+ %t35 = call ptr @scr_dyn_call(ptr %t32, ptr null, i64 0, ptr @sc_cs_1114522622042273)
+ call void @scr_dyn_this_pop()
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t35)
+ br label %exc.cleanup16
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t35)
+ %t39 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ ret void
+exc.cleanup13:
+ %t41 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret void
+exc.cleanup16:
+ %t42 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ %t43 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartParser_finish(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartParser_finish(ptr %p0)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartParser__malformed(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartParser._malformed
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s16 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 18
+ store double 0x3FF0000000000000, ptr %t5, !tbaa !26
+ %t6 = load ptr, ptr %sc_l_this_0
+ store ptr %t6, ptr %sc_l__x25_callbackReceiver_0
+ %t7 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k3:
+ store ptr %t8, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t12 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t13 = getelementptr inbounds i8, ptr %t12, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 6
+ br i1 %t15, label %tern.t4, label %tern.f5
+tern.t4:
+ %t18 = call ptr @scr_dyn_undefined()
+ %t17 = call ptr @scr_dyn_retain_v(ptr %t18)
+ store ptr %t17, ptr %s16
+ br label %tern.j6
+tern.f5:
+ %t19 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t20 = call ptr @sc_rc_retain_dyn(ptr %t19)
+ %t21 = call ptr @sc_f__x25_dyn_class_property_42(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t21)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t21, ptr %s16
+ br label %tern.j6
+tern.j6:
+ %t25 = load ptr, ptr %s16
+ store ptr %t25, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callback_0
+ %t27 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t28 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t27, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t28)
+ %t29 = call ptr @scr_dyn_call(ptr %t26, ptr null, i64 0, ptr @sc_cs_1548363400435851)
+ call void @scr_dyn_this_pop()
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ %t33 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t33)
+ %t34 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret void
+exc.cleanup9:
+ %t35 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t35)
+ ret void
+exc.cleanup12:
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartParser__malformed(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartParser__malformed(ptr %p0)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartParser__limit(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartParser._limit
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s16 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 18
+ store double 0x4000000000000000, ptr %t5, !tbaa !26
+ %t6 = load ptr, ptr %sc_l_this_0
+ store ptr %t6, ptr %sc_l__x25_callbackReceiver_0
+ %t7 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k3:
+ store ptr %t8, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t12 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t13 = getelementptr inbounds i8, ptr %t12, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 6
+ br i1 %t15, label %tern.t4, label %tern.f5
+tern.t4:
+ %t18 = call ptr @scr_dyn_undefined()
+ %t17 = call ptr @scr_dyn_retain_v(ptr %t18)
+ store ptr %t17, ptr %s16
+ br label %tern.j6
+tern.f5:
+ %t19 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t20 = call ptr @sc_rc_retain_dyn(ptr %t19)
+ %t21 = call ptr @sc_f__x25_dyn_class_property_42(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t21)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t21, ptr %s16
+ br label %tern.j6
+tern.j6:
+ %t25 = load ptr, ptr %s16
+ store ptr %t25, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callback_0
+ %t27 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t28 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t27, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t28)
+ %t29 = call ptr @scr_dyn_call(ptr %t26, ptr null, i64 0, ptr @sc_cs_1548363400435851)
+ call void @scr_dyn_this_pop()
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ %t33 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t33)
+ %t34 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret void
+exc.cleanup9:
+ %t35 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t35)
+ ret void
+exc.cleanup12:
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartParser__limit(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartParser__limit(ptr %p0)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartParser__abortPart(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartParser._abortPart
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s22 = alloca ptr
+ store ptr null, ptr %sc_l_s_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 14
+ %t6 = load ptr, ptr %t5, !tbaa !128
+ %t7 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t6)
+ store ptr %t7, ptr %sc_l_s_0
+ %t8 = load ptr, ptr %sc_l_s_0
+ %t10 = icmp ne ptr %t8, null
+ br i1 %t10, label %if.t2, label %if.j3
+if.t2:
+ %t11 = load ptr, ptr %sc_l_s_0
+ store ptr %t11, ptr %sc_l__x25_callbackReceiver_0
+ %t12 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t14 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t13)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t14)
+ br label %exc.cleanup6
+exc.k5:
+ store ptr %t14, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind
+ %t20 = load i32, ptr %t19
+ %t21 = icmp eq i32 %t20, 6
+ br i1 %t21, label %tern.t7, label %tern.f8
+tern.t7:
+ %t24 = call ptr @scr_dyn_undefined()
+ %t23 = call ptr @scr_dyn_retain_v(ptr %t24)
+ store ptr %t23, ptr %s22
+ br label %tern.j9
+tern.f8:
+ %t25 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t26 = call ptr @sc_rc_retain_dyn(ptr %t25)
+ %t27 = call ptr @sc_f__x25_dyn_class_property_43(ptr %t26)
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup12
+exc.k11:
+ store ptr %t27, ptr %s22
+ br label %tern.j9
+tern.j9:
+ %t31 = load ptr, ptr %s22
+ store ptr %t31, ptr %sc_l__x25_callback_0
+ %t32 = load ptr, ptr %sc_l__x25_callback_0
+ %t33 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t34 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t33, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t34)
+ %t35 = call ptr @scr_dyn_call(ptr %t32, ptr null, i64 0, ptr @sc_cs_276990031017319)
+ call void @scr_dyn_this_pop()
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t35)
+ br label %exc.cleanup15
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t35)
+ %t39 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l_this_0
+ %t42 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t41, i64 0, i32 14
+ %t43 = load ptr, ptr %t42
+ store ptr null, ptr %t42, !tbaa !128
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t43)
+ br label %if.j3
+if.j3:
+ %t44 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t44)
+ ret void
+exc.cleanup6:
+ %t45 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t45)
+ ret void
+exc.cleanup12:
+ %t46 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t47 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t47)
+ ret void
+exc.cleanup15:
+ %t48 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ %t49 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ %t50 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t50)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartParser__abortPart(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartParser__abortPart(ptr %p0)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartParser__startPart(ptr %p_sc_l_this_0, ptr %p_sc_l_hdrBytes_0) #0 { ; %%m4.MultipartParser._startPart
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_hdrBytes_0 = alloca ptr ; hdrBytes
+ %sc_l_hdr_0 = alloca ptr ; hdr
+ %sc_l_lines_0 = alloca ptr ; lines
+ %sc_l_cd_0 = alloca ptr ; cd
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_line_0 = alloca ptr ; line
+ %sc_l_colon_0 = alloca i32 ; colon
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_dp_0 = alloca ptr ; dp
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s35 = alloca i64 ; integer induction i
+ %s42 = alloca ptr
+ %s72 = alloca ptr
+ %s142 = alloca i1
+ %s192 = alloca i1
+ %s211 = alloca ptr
+ %s249 = alloca ptr
+ %s277 = alloca [3 x ptr]
+ store ptr null, ptr %sc_l_hdr_0
+ store ptr null, ptr %sc_l_lines_0
+ store ptr null, ptr %sc_l_cd_0
+ store ptr null, ptr %sc_l_line_0
+ store ptr null, ptr %sc_l_k_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr null, ptr %sc_l_dp_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_hdrBytes_0, ptr %sc_l_hdrBytes_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 9
+ %t6 = zext i1 false to i8
+ store i8 %t6, ptr %t5, !tbaa !124
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t7, i64 0, i32 10
+ %t9 = zext i1 false to i8
+ store i8 %t9, ptr %t8, !tbaa !126
+ %t10 = load ptr, ptr %sc_l_this_0
+ %t11 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t10, i64 0, i32 11
+ %t12 = load ptr, ptr %t11
+ store ptr @sc_lit_4005573543169985, ptr %t11, !tbaa !100
+ call void @scr_str_release(ptr %t12)
+ %t13 = load ptr, ptr %sc_l_this_0
+ %t14 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t13, i64 0, i32 12
+ %t15 = load ptr, ptr %t14
+ store ptr @sc_lit_4005573543169985, ptr %t14, !tbaa !102
+ call void @scr_str_release(ptr %t15)
+ %t16 = load ptr, ptr %sc_l_this_0
+ %t17 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t16, i64 0, i32 13
+ %t18 = load ptr, ptr %t17
+ store ptr @sc_lit_537030291697444, ptr %t17, !tbaa !104
+ call void @scr_str_release(ptr %t18)
+ %t19 = load ptr, ptr %sc_l_this_0
+ %t20 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t19, i64 0, i32 14
+ %t21 = load ptr, ptr %t20
+ store ptr null, ptr %t20, !tbaa !128
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t21)
+ %t22 = load ptr, ptr %sc_l_this_0
+ %t23 = call ptr @scr_arr_new_small(i32 4)
+ %t24 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t22, i64 0, i32 15
+ %t25 = load ptr, ptr %t24
+ store ptr %t23, ptr %t24, !tbaa !130
+ call void @scr_arr_release(ptr %t25)
+ %t26 = load ptr, ptr %sc_l_this_0
+ %t27 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t26, i64 0, i32 16
+ store double 0x0000000000000000, ptr %t27, !tbaa !132
+ %t28 = load ptr, ptr %sc_l_hdrBytes_0
+ %t29 = call ptr @sc_bf__x25_m4_u8str(ptr %t28)
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_str_release(ptr %t29)
+ ret void
+exc.k3:
+ store ptr %t29, ptr %sc_l_hdr_0
+ %t33 = load ptr, ptr %sc_l_hdr_0
+ %t34 = call ptr @scr_str_split_limit(ptr %t33, ptr @sc_lit_2229191734301658, double 0x41EFFFFFFFE00000)
+ store ptr %t34, ptr %sc_l_lines_0
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_cd_0
+ %t36 = fptosi double 0x0000000000000000 to i64
+ store i64 %t36, ptr %s35
+ br label %loop.c5
+loop.c5:
+ %t37 = load ptr, ptr %sc_l_lines_0
+ %t38 = getelementptr inbounds %ScrArr, ptr %t37, i64 0, i32 1
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t40 = load i64, ptr %s35
+ %t41 = icmp ult i64 %t40, %t39
+ br i1 %t41, label %loop.b6, label %loop.e4
+loop.b6:
+ %t43 = load ptr, ptr %sc_l_lines_0
+ %t44 = load i64, ptr %s35
+ %t45 = load i64, ptr %s35
+ %t46 = sitofp i64 %t45 to double
+ %t47 = trunc i64 %t45 to i32
+ %t48 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 2
+ %t49 = load i64, ptr %t48, !tbaa !2
+ %t50 = icmp ult i64 %t44, %t49
+ br i1 %t50, label %local.array.range11, label %local.array.slow8
+local.array.range11:
+ br label %local.array.dense12
+local.array.dense12:
+ %t51 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 6
+ %t52 = load i32, ptr %t51, !tbaa !2
+ %t54 = zext i32 %t52 to i64
+ %t53 = icmp ult i64 %t44, %t54
+ br i1 %t53, label %local.array.value14, label %local.array.len13
+local.array.len13:
+ %t55 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 1
+ %t56 = load i64, ptr %t55, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t57 = icmp ult i64 %t44, %t56
+ br i1 %t57, label %local.array.state15, label %local.array.missing9
+local.array.state15:
+ %t58 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 9
+ %t59 = load ptr, ptr %t58, !tbaa !2
+ %t60 = getelementptr inbounds i8, ptr %t59, i64 %t44
+ %t61 = load i8, ptr %t60, !tbaa !4
+ %t62 = icmp eq i8 %t61, 1
+ br i1 %t62, label %local.array.value14, label %local.array.missing9
+local.array.value14:
+ %t63 = getelementptr inbounds %ScrArr, ptr %t43, i32 0, i32 8
+ %t64 = load ptr, ptr %t63, !tbaa !2
+ %t65 = getelementptr inbounds i64, ptr %t64, i64 %t44
+ %t66 = load ptr, ptr %t65, !tbaa !6
+ %t67 = call ptr @sc_rc_retain_str(ptr %t66)
+ store ptr %t67, ptr %s42
+ br label %local.array.join10
+local.array.slow8:
+ %t68 = call ptr @scr_arr_peek_ref(ptr %t43, double %t46)
+ %t69 = icmp ne ptr %t68, null
+ br i1 %t69, label %local.array.slow.value16, label %local.array.missing9
+local.array.slow.value16:
+ %t70 = call ptr @sc_rc_retain_str(ptr %t68)
+ store ptr %t70, ptr %s42
+ br label %local.array.join10
+local.array.missing9:
+ store ptr null, ptr %s42
+ br label %local.array.join10
+local.array.join10:
+ %t71 = load ptr, ptr %s42
+ %t74 = icmp eq ptr %t71, null
+ %t73 = select i1 %t74, i32 1, i32 0
+ switch i32 %t73, label %u.bad18 [ i32 0, label %u.a19 i32 1, label %u.a20 ]
+u.a19:
+ %t75 = call ptr @sc_rc_retain_str(ptr %t71)
+ store ptr %t75, ptr %s72
+ br label %us.j17
+u.a20:
+ store ptr @sc_lit_4134463689533233, ptr %s72
+ br label %us.j17
+u.bad18:
+ call void @sc_bad_tag()
+ unreachable
+us.j17:
+ %t76 = load ptr, ptr %s72
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u21, label %exc.k22
+exc.u21:
+ %t80 = load ptr, ptr %s42
+ call void @scr_str_release(ptr %t80)
+ call void @scr_str_release(ptr %t76)
+ br label %exc.cleanup23
+exc.k22:
+ store ptr %t76, ptr %sc_l_line_0
+ %t81 = load ptr, ptr %s42
+ call void @scr_str_release(ptr %t81)
+ %t82 = load ptr, ptr %sc_l_line_0
+ %t83 = call double @scr_str_index_of(ptr %t82, ptr @sc_lit_4075616746236128, double 0x0000000000000000)
+ %t84 = fptosi double %t83 to i32
+ store i32 %t84, ptr %sc_l_colon_0
+ %t85 = load i32, ptr %sc_l_colon_0
+ %t86 = sitofp i32 %t85 to double
+ %t88 = sext i32 %t85 to i64
+ %t87 = icmp slt i64 %t88, 0
+ br i1 %t87, label %if.t24, label %if.j25
+if.t24:
+ %t89 = load ptr, ptr %sc_l_line_0
+ call void @scr_str_release(ptr %t89)
+ br label %loop.u7
+if.j25:
+ %t90 = load ptr, ptr %sc_l_line_0
+ %t91 = load i32, ptr %sc_l_colon_0
+ %t92 = sitofp i32 %t91 to double
+ %t93 = call ptr @scr_str_slice(ptr %t90, double 0x0000000000000000, double %t92)
+ %t94 = call ptr @sc_bf__x25_m4_trimWs(ptr %t93)
+ call void @scr_str_release(ptr %t93)
+ %t95 = call ptr @scr_str_to_lower(ptr %t94)
+ store ptr %t95, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t94)
+ %t96 = load ptr, ptr %sc_l_line_0
+ %t97 = load i32, ptr %sc_l_colon_0
+ %t98 = sitofp i32 %t97 to double
+ %t100 = sext i32 %t97 to i64
+ %t101 = add nsw i64 %t100, 1
+ %t103 = trunc i64 %t101 to i32
+ %t102 = sitofp i64 %t101 to double
+ %t104 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t105 = call ptr @scr_str_slice(ptr %t96, double %t102, double %t104)
+ %t106 = call ptr @sc_bf__x25_m4_trimWs(ptr %t105)
+ call void @scr_str_release(ptr %t105)
+ store ptr %t106, ptr %sc_l_v_0
+ %t107 = load ptr, ptr %sc_l_k_0
+ %t108 = call zeroext i1 @sc_streq_1256688351795902(ptr %t107)
+ br i1 %t108, label %if.t26, label %if.f28
+if.t26:
+ %t109 = load ptr, ptr %sc_l_v_0
+ %t110 = call ptr @sc_rc_retain_str(ptr %t109)
+ %t111 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t111)
+ store ptr %t110, ptr %sc_l_cd_0
+ br label %if.j27
+if.f28:
+ %t112 = load ptr, ptr %sc_l_k_0
+ %t113 = call zeroext i1 @sc_streq_2329537264393449(ptr %t112)
+ br i1 %t113, label %if.t29, label %if.j30
+if.t29:
+ %t114 = load ptr, ptr %sc_l_this_0
+ %t115 = load ptr, ptr %sc_l_v_0
+ %t116 = call ptr @sc_rc_retain_str(ptr %t115)
+ %t117 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t114, i64 0, i32 13
+ %t118 = load ptr, ptr %t117
+ store ptr %t116, ptr %t117, !tbaa !104
+ call void @scr_str_release(ptr %t118)
+ br label %if.j30
+if.j30:
+ br label %if.j27
+if.j27:
+ %t119 = load ptr, ptr %sc_l_line_0
+ call void @scr_str_release(ptr %t119)
+ %t120 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t120)
+ %t121 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t121)
+ br label %loop.u7
+loop.u7:
+ %t122 = load i64, ptr %s35
+ %t123 = add nuw i64 %t122, 1
+ store i64 %t123, ptr %s35
+ br label %loop.c5
+loop.e4:
+ %t124 = load ptr, ptr %sc_l_cd_0
+ %t125 = call zeroext i1 @sc_streq_4005573543169985(ptr %t124)
+ br i1 %t125, label %if.t31, label %if.j32
+if.t31:
+ %t126 = load ptr, ptr %sc_l_this_0
+ %t127 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t126, i64 0, i32 9
+ %t128 = zext i1 true to i8
+ store i8 %t128, ptr %t127, !tbaa !124
+ %t129 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t129)
+ %t130 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t130)
+ %t131 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t131)
+ ret void
+if.j32:
+ %t132 = load ptr, ptr %sc_l_cd_0
+ %t133 = call ptr @sc_bf__x25_m4_parseDisposition(ptr %t132)
+ %t134 = load i32, ptr %exc.cell
+ %t135 = icmp ne i32 %t134, 0
+ %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false)
+ br i1 %t136, label %exc.u33, label %exc.k34
+exc.u33:
+ call void @sc_release__x25_m4_DispositionParams(ptr %t133)
+ br label %exc.cleanup23
+exc.k34:
+ store ptr %t133, ptr %sc_l_dp_0
+ %t137 = load ptr, ptr %sc_l_dp_0
+ %t138 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t137, i64 0, i32 1
+ %t139 = load i8, ptr %t138, !tbaa !8
+ %t140 = trunc i8 %t139 to i1
+ %t141 = xor i1 %t140, true
+ store i1 %t141, ptr %s142
+ br i1 %t141, label %log.j36, label %log.r35
+log.r35:
+ %t143 = load ptr, ptr %sc_l_dp_0
+ %t144 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t143, i64 0, i32 2
+ %t145 = load ptr, ptr %t144, !tbaa !10
+ %t147 = icmp eq ptr %t145, null
+ store i1 %t147, ptr %s142
+ br label %log.j36
+log.j36:
+ %t148 = load i1, ptr %s142
+ br i1 %t148, label %if.t37, label %if.j38
+if.t37:
+ %t149 = load ptr, ptr %sc_l_this_0
+ %t150 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t149, i64 0, i32 9
+ %t151 = zext i1 true to i8
+ store i8 %t151, ptr %t150, !tbaa !124
+ %t152 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t152)
+ %t153 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t153)
+ %t154 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t154)
+ %t155 = load ptr, ptr %sc_l_dp_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t155)
+ ret void
+if.j38:
+ %t156 = load ptr, ptr %sc_l_this_0
+ %t157 = load ptr, ptr %sc_l_dp_0
+ %t158 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t157, i64 0, i32 2
+ %t159 = load ptr, ptr %t158, !tbaa !10
+ %t160 = call ptr @sc_rc_retain_str(ptr %t159)
+ %t161 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t156, i64 0, i32 11
+ %t162 = load ptr, ptr %t161
+ store ptr %t160, ptr %t161, !tbaa !100
+ call void @scr_str_release(ptr %t162)
+ %t163 = load ptr, ptr %sc_l_dp_0
+ %t164 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t163, i64 0, i32 3
+ %t165 = load ptr, ptr %t164, !tbaa !12
+ %t167 = icmp eq ptr %t165, null
+ br i1 %t167, label %if.t39, label %if.j40
+if.t39:
+ %t168 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t168)
+ %t169 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t169)
+ %t170 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t170)
+ %t171 = load ptr, ptr %sc_l_dp_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t171)
+ ret void
+if.j40:
+ %t172 = load ptr, ptr %sc_l_this_0
+ %t173 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t172, i64 0, i32 10
+ %t174 = zext i1 true to i8
+ store i8 %t174, ptr %t173, !tbaa !126
+ %t175 = load ptr, ptr %sc_l_this_0
+ %t176 = load ptr, ptr %sc_l_dp_0
+ %t177 = getelementptr inbounds %sc_o__x25_m4_DispositionParams, ptr %t176, i64 0, i32 3
+ %t178 = load ptr, ptr %t177, !tbaa !12
+ %t179 = call ptr @sc_bf__x25_m4_basename(ptr %t178)
+ %t180 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t175, i64 0, i32 12
+ %t181 = load ptr, ptr %t180
+ store ptr %t179, ptr %t180, !tbaa !102
+ call void @scr_str_release(ptr %t181)
+ %t182 = load ptr, ptr %sc_l_this_0
+ %t183 = load ptr, ptr %sc_l_this_0
+ %t184 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t183, i64 0, i32 17
+ %t185 = load double, ptr %t184, !tbaa !134
+ %t186 = fadd double %t185, 0x3FF0000000000000
+ %t187 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t182, i64 0, i32 17
+ store double %t186, ptr %t187, !tbaa !134
+ %t188 = load ptr, ptr %sc_l_this_0
+ %t189 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t188, i64 0, i32 7
+ %t190 = load double, ptr %t189, !tbaa !120
+ %t191 = fcmp ogt double %t190, 0x0000000000000000
+ store i1 %t191, ptr %s192
+ br i1 %t191, label %log.r41, label %log.j42
+log.r41:
+ %t193 = load ptr, ptr %sc_l_this_0
+ %t194 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t193, i64 0, i32 17
+ %t195 = load double, ptr %t194, !tbaa !134
+ %t196 = load ptr, ptr %sc_l_this_0
+ %t197 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t196, i64 0, i32 7
+ %t198 = load double, ptr %t197, !tbaa !120
+ %t199 = fcmp ogt double %t195, %t198
+ store i1 %t199, ptr %s192
+ br label %log.j42
+log.j42:
+ %t200 = load i1, ptr %s192
+ br i1 %t200, label %if.t43, label %if.j44
+if.t43:
+ %t201 = load ptr, ptr %sc_l_this_0
+ store ptr %t201, ptr %sc_l__x25_callbackReceiver_0
+ %t202 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t203 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t202)
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u45, label %exc.k46
+exc.u45:
+ call void @sc_rc_release_dyn(ptr %t203)
+ br label %exc.cleanup47
+exc.k46:
+ store ptr %t203, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t207 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t208 = getelementptr inbounds i8, ptr %t207, i64 8 ; ->kind
+ %t209 = load i32, ptr %t208
+ %t210 = icmp eq i32 %t209, 6
+ br i1 %t210, label %tern.t48, label %tern.f49
+tern.t48:
+ %t213 = call ptr @scr_dyn_undefined()
+ %t212 = call ptr @scr_dyn_retain_v(ptr %t213)
+ store ptr %t212, ptr %s211
+ br label %tern.j50
+tern.f49:
+ %t214 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t215 = call ptr @sc_rc_retain_dyn(ptr %t214)
+ %t216 = call ptr @sc_f__x25_dyn_class_property_44(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u51, label %exc.k52
+exc.u51:
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup53
+exc.k52:
+ store ptr %t216, ptr %s211
+ br label %tern.j50
+tern.j50:
+ %t220 = load ptr, ptr %s211
+ store ptr %t220, ptr %sc_l__x25_callback_0
+ %t221 = load ptr, ptr %sc_l__x25_callback_0
+ %t222 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t223 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t222, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t223)
+ %t224 = call ptr @scr_dyn_call(ptr %t221, ptr null, i64 0, ptr @sc_cs_288843753834732)
+ call void @scr_dyn_this_pop()
+ %t225 = load i32, ptr %exc.cell
+ %t226 = icmp ne i32 %t225, 0
+ %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false)
+ br i1 %t227, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t223)
+ call void @sc_rc_release_dyn(ptr %t224)
+ br label %exc.cleanup56
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t223)
+ call void @sc_rc_release_dyn(ptr %t224)
+ %t228 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t228)
+ %t229 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t229)
+ %t230 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t230)
+ %t231 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t231)
+ %t232 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t232)
+ %t233 = load ptr, ptr %sc_l_dp_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t233)
+ ret void
+if.j44:
+ %t234 = load ptr, ptr %sc_l_this_0
+ %t235 = load ptr, ptr %sc_l_this_0
+ %t236 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t235, i64 0, i32 5
+ %t237 = load ptr, ptr %t236, !tbaa !116
+ %t238 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t237)
+ store ptr %t238, ptr %sc_l__x25_callbackReceiver_1
+ %t239 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t240 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t239, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ %t241 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t240)
+ %t242 = load i32, ptr %exc.cell
+ %t243 = icmp ne i32 %t242, 0
+ %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false)
+ br i1 %t244, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t241)
+ br label %exc.cleanup59
+exc.k58:
+ store ptr %t241, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t245 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t246 = getelementptr inbounds i8, ptr %t245, i64 8 ; ->kind
+ %t247 = load i32, ptr %t246
+ %t248 = icmp eq i32 %t247, 6
+ br i1 %t248, label %tern.t60, label %tern.f61
+tern.t60:
+ %t251 = call ptr @scr_dyn_undefined()
+ %t250 = call ptr @scr_dyn_retain_v(ptr %t251)
+ store ptr %t250, ptr %s249
+ br label %tern.j62
+tern.f61:
+ %t252 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t253 = call ptr @sc_rc_retain_dyn(ptr %t252)
+ %t254 = call ptr @sc_f__x25_dyn_class_property_45(ptr %t253)
+ %t255 = load i32, ptr %exc.cell
+ %t256 = icmp ne i32 %t255, 0
+ %t257 = call i1 @llvm.expect.i1(i1 %t256, i1 false)
+ br i1 %t257, label %exc.u63, label %exc.k64
+exc.u63:
+ call void @sc_rc_release_dyn(ptr %t254)
+ br label %exc.cleanup65
+exc.k64:
+ store ptr %t254, ptr %s249
+ br label %tern.j62
+tern.j62:
+ %t258 = load ptr, ptr %s249
+ store ptr %t258, ptr %sc_l__x25_callback_1
+ %t259 = load ptr, ptr %sc_l__x25_callback_1
+ %t260 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t261 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t260, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ %t262 = load ptr, ptr %sc_l_this_0
+ %t263 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t262, i64 0, i32 11
+ %t264 = load ptr, ptr %t263, !tbaa !100
+ %t265 = call ptr @sc_rc_retain_str(ptr %t264)
+ %t266 = call ptr @sc_td_0(ptr %t265)
+ %t267 = load ptr, ptr %sc_l_this_0
+ %t268 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t267, i64 0, i32 12
+ %t269 = load ptr, ptr %t268, !tbaa !102
+ %t270 = call ptr @sc_rc_retain_str(ptr %t269)
+ %t271 = call ptr @sc_td_0(ptr %t270)
+ %t272 = load ptr, ptr %sc_l_this_0
+ %t273 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t272, i64 0, i32 13
+ %t274 = load ptr, ptr %t273, !tbaa !104
+ %t275 = call ptr @sc_rc_retain_str(ptr %t274)
+ %t276 = call ptr @sc_td_0(ptr %t275)
+ %t278 = getelementptr inbounds [3 x ptr], ptr %s277, i64 0, i64 0
+ store ptr %t266, ptr %t278
+ %t279 = getelementptr inbounds [3 x ptr], ptr %s277, i64 0, i64 1
+ store ptr %t271, ptr %t279
+ %t280 = getelementptr inbounds [3 x ptr], ptr %s277, i64 0, i64 2
+ store ptr %t276, ptr %t280
+ call void @scr_dyn_this_push_dyn(ptr %t261)
+ %t281 = call ptr @scr_dyn_call(ptr %t259, ptr %s277, i64 3, ptr @sc_cs_1669119977665919)
+ call void @scr_dyn_this_pop()
+ %t282 = load i32, ptr %exc.cell
+ %t283 = icmp ne i32 %t282, 0
+ %t284 = call i1 @llvm.expect.i1(i1 %t283, i1 false)
+ br i1 %t284, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t261)
+ call void @scr_str_release(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ call void @scr_str_release(ptr %t270)
+ call void @sc_rc_release_dyn(ptr %t271)
+ call void @scr_str_release(ptr %t275)
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @sc_rc_release_dyn(ptr %t281)
+ br label %exc.cleanup68
+exc.k67:
+ %t285 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartFileSink(ptr %t281)
+ %t286 = load i32, ptr %exc.cell
+ %t287 = icmp ne i32 %t286, 0
+ %t288 = call i1 @llvm.expect.i1(i1 %t287, i1 false)
+ br i1 %t288, label %exc.u69, label %exc.k70
+exc.u69:
+ call void @sc_rc_release_dyn(ptr %t261)
+ call void @scr_str_release(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ call void @scr_str_release(ptr %t270)
+ call void @sc_rc_release_dyn(ptr %t271)
+ call void @scr_str_release(ptr %t275)
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @sc_rc_release_dyn(ptr %t281)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t285)
+ br label %exc.cleanup68
+exc.k70:
+ call void @sc_rc_release_dyn(ptr %t261)
+ call void @scr_str_release(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ call void @scr_str_release(ptr %t270)
+ call void @sc_rc_release_dyn(ptr %t271)
+ call void @scr_str_release(ptr %t275)
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @sc_rc_release_dyn(ptr %t281)
+ %t289 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t234, i64 0, i32 14
+ %t290 = load ptr, ptr %t289
+ store ptr %t285, ptr %t289, !tbaa !128
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t290)
+ %t291 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t291)
+ %t292 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t292)
+ %t293 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t293)
+ %t294 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t294)
+ %t295 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t295)
+ %t296 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t296)
+ %t297 = load ptr, ptr %sc_l_dp_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t297)
+ ret void
+exc.cleanup23:
+ %t298 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t298)
+ %t299 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t299)
+ %t300 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t300)
+ ret void
+exc.cleanup47:
+ %t301 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t301)
+ %t302 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t302)
+ %t303 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t303)
+ %t304 = load ptr, ptr %sc_l_dp_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t304)
+ ret void
+exc.cleanup53:
+ %t305 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t305)
+ %t306 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t306)
+ %t307 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t307)
+ %t308 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t308)
+ %t309 = load ptr, ptr %sc_l_dp_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t309)
+ ret void
+exc.cleanup56:
+ %t310 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t310)
+ %t311 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t311)
+ %t312 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t312)
+ %t313 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t313)
+ %t314 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t314)
+ %t315 = load ptr, ptr %sc_l_dp_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t315)
+ ret void
+exc.cleanup59:
+ %t316 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t316)
+ %t317 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t317)
+ %t318 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t318)
+ %t319 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t319)
+ %t320 = load ptr, ptr %sc_l_dp_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t320)
+ ret void
+exc.cleanup65:
+ %t321 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t321)
+ %t322 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t322)
+ %t323 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t323)
+ %t324 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t324)
+ %t325 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t325)
+ %t326 = load ptr, ptr %sc_l_dp_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t326)
+ ret void
+exc.cleanup68:
+ %t327 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t327)
+ %t328 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t328)
+ %t329 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t329)
+ %t330 = load ptr, ptr %sc_l_hdr_0
+ call void @scr_str_release(ptr %t330)
+ %t331 = load ptr, ptr %sc_l_lines_0
+ call void @scr_arr_release(ptr %t331)
+ %t332 = load ptr, ptr %sc_l_cd_0
+ call void @scr_str_release(ptr %t332)
+ %t333 = load ptr, ptr %sc_l_dp_0
+ call void @sc_release__x25_m4_DispositionParams(ptr %t333)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartParser__startPart(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartParser__startPart(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartParser__emit(ptr %p_sc_l_this_0, ptr %p_sc_l_b_0) #0 { ; %%m4.MultipartParser._emit
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %s8 = alloca i1
+ %s35 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s54 = alloca ptr
+ %s91 = alloca ptr
+ %s106 = alloca [1 x ptr]
+ %s119 = alloca i1
+ %s138 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_s_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 9
+ %t6 = load i8, ptr %t5, !tbaa !124
+ %t7 = trunc i8 %t6 to i1
+ store i1 %t7, ptr %s8
+ br i1 %t7, label %log.j3, label %log.r2
+log.r2:
+ %t9 = load ptr, ptr %sc_l_b_0
+ %t10 = getelementptr inbounds %ScrBytes, ptr %t9, i64 0, i32 1
+ %t11 = load i64, ptr %t10
+ %t12 = sitofp i64 %t11 to double
+ %t14 = fptosi double %t12 to i64
+ %t13 = icmp eq i64 %t14, 0
+ store i1 %t13, ptr %s8
+ br label %log.j3
+log.j3:
+ %t15 = load i1, ptr %s8
+ br i1 %t15, label %if.t4, label %if.j5
+if.t4:
+ ret void
+if.j5:
+ %t16 = load ptr, ptr %sc_l_this_0
+ %t17 = load ptr, ptr %sc_l_this_0
+ %t18 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t17, i64 0, i32 16
+ %t19 = load double, ptr %t18, !tbaa !132
+ %t20 = load ptr, ptr %sc_l_b_0
+ %t21 = getelementptr inbounds %ScrBytes, ptr %t20, i64 0, i32 1
+ %t22 = load i64, ptr %t21
+ %t23 = sitofp i64 %t22 to double
+ %t25 = fptosi double %t23 to i64
+ %t24 = fadd double %t19, %t23
+ %t26 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t16, i64 0, i32 16
+ store double %t24, ptr %t26, !tbaa !132
+ %t27 = load ptr, ptr %sc_l_this_0
+ %t28 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t27, i64 0, i32 10
+ %t29 = load i8, ptr %t28, !tbaa !126
+ %t30 = trunc i8 %t29 to i1
+ br i1 %t30, label %if.t6, label %if.f8
+if.t6:
+ %t31 = load ptr, ptr %sc_l_this_0
+ %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t31, i64 0, i32 6
+ %t33 = load double, ptr %t32, !tbaa !118
+ %t34 = fcmp ogt double %t33, 0x0000000000000000
+ store i1 %t34, ptr %s35
+ br i1 %t34, label %log.r9, label %log.j10
+log.r9:
+ %t36 = load ptr, ptr %sc_l_this_0
+ %t37 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t36, i64 0, i32 16
+ %t38 = load double, ptr %t37, !tbaa !132
+ %t39 = load ptr, ptr %sc_l_this_0
+ %t40 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t39, i64 0, i32 6
+ %t41 = load double, ptr %t40, !tbaa !118
+ %t42 = fcmp ogt double %t38, %t41
+ store i1 %t42, ptr %s35
+ br label %log.j10
+log.j10:
+ %t43 = load i1, ptr %s35
+ br i1 %t43, label %if.t11, label %if.j12
+if.t11:
+ %t44 = load ptr, ptr %sc_l_this_0
+ store ptr %t44, ptr %sc_l__x25_callbackReceiver_0
+ %t45 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t46 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t45)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret void
+exc.k14:
+ store ptr %t46, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t51 = getelementptr inbounds i8, ptr %t50, i64 8 ; ->kind
+ %t52 = load i32, ptr %t51
+ %t53 = icmp eq i32 %t52, 6
+ br i1 %t53, label %tern.t15, label %tern.f16
+tern.t15:
+ %t56 = call ptr @scr_dyn_undefined()
+ %t55 = call ptr @scr_dyn_retain_v(ptr %t56)
+ store ptr %t55, ptr %s54
+ br label %tern.j17
+tern.f16:
+ %t57 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t58 = call ptr @sc_rc_retain_dyn(ptr %t57)
+ %t59 = call ptr @sc_f__x25_dyn_class_property_44(ptr %t58)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t59)
+ br label %exc.cleanup20
+exc.k19:
+ store ptr %t59, ptr %s54
+ br label %tern.j17
+tern.j17:
+ %t63 = load ptr, ptr %s54
+ store ptr %t63, ptr %sc_l__x25_callback_0
+ %t64 = load ptr, ptr %sc_l__x25_callback_0
+ %t65 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t66)
+ %t67 = call ptr @scr_dyn_call(ptr %t64, ptr null, i64 0, ptr @sc_cs_288843753834732)
+ call void @scr_dyn_this_pop()
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup23
+exc.k22:
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t71 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t71)
+ %t72 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t72)
+ ret void
+if.j12:
+ %t73 = load ptr, ptr %sc_l_this_0
+ %t74 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t73, i64 0, i32 14
+ %t75 = load ptr, ptr %t74, !tbaa !128
+ %t76 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t75)
+ store ptr %t76, ptr %sc_l_s_0
+ %t77 = load ptr, ptr %sc_l_s_0
+ %t79 = icmp ne ptr %t77, null
+ br i1 %t79, label %if.t24, label %if.j25
+if.t24:
+ %t80 = load ptr, ptr %sc_l_s_0
+ store ptr %t80, ptr %sc_l__x25_callbackReceiver_1
+ %t81 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t82 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t81, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t83 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t82)
+ %t84 = load i32, ptr %exc.cell
+ %t85 = icmp ne i32 %t84, 0
+ %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false)
+ br i1 %t86, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t83)
+ br label %exc.cleanup28
+exc.k27:
+ store ptr %t83, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t87 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t88 = getelementptr inbounds i8, ptr %t87, i64 8 ; ->kind
+ %t89 = load i32, ptr %t88
+ %t90 = icmp eq i32 %t89, 6
+ br i1 %t90, label %tern.t29, label %tern.f30
+tern.t29:
+ %t93 = call ptr @scr_dyn_undefined()
+ %t92 = call ptr @scr_dyn_retain_v(ptr %t93)
+ store ptr %t92, ptr %s91
+ br label %tern.j31
+tern.f30:
+ %t94 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t95 = call ptr @sc_rc_retain_dyn(ptr %t94)
+ %t96 = call ptr @sc_f__x25_dyn_class_property_46(ptr %t95)
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t96)
+ br label %exc.cleanup34
+exc.k33:
+ store ptr %t96, ptr %s91
+ br label %tern.j31
+tern.j31:
+ %t100 = load ptr, ptr %s91
+ store ptr %t100, ptr %sc_l__x25_callback_1
+ %t101 = load ptr, ptr %sc_l__x25_callback_1
+ %t102 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t103 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t102, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t104 = load ptr, ptr %sc_l_b_0
+ %t105 = call ptr @sc_td_1(ptr %t104)
+ %t107 = getelementptr inbounds [1 x ptr], ptr %s106, i64 0, i64 0
+ store ptr %t105, ptr %t107
+ call void @scr_dyn_this_push_dyn(ptr %t103)
+ %t108 = call ptr @scr_dyn_call(ptr %t101, ptr %s106, i64 1, ptr @sc_cs_4230033743964644)
+ call void @scr_dyn_this_pop()
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rc_release_dyn(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t108)
+ br label %exc.cleanup37
+exc.k36:
+ call void @sc_rc_release_dyn(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t108)
+ %t112 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t112)
+ %t113 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t113)
+ br label %if.j25
+if.j25:
+ %t114 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t114)
+ br label %if.j7
+if.f8:
+ %t115 = load ptr, ptr %sc_l_this_0
+ %t116 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t115, i64 0, i32 8
+ %t117 = load double, ptr %t116, !tbaa !122
+ %t118 = fcmp ogt double %t117, 0x0000000000000000
+ store i1 %t118, ptr %s119
+ br i1 %t118, label %log.r38, label %log.j39
+log.r38:
+ %t120 = load ptr, ptr %sc_l_this_0
+ %t121 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t120, i64 0, i32 16
+ %t122 = load double, ptr %t121, !tbaa !132
+ %t123 = load ptr, ptr %sc_l_this_0
+ %t124 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t123, i64 0, i32 8
+ %t125 = load double, ptr %t124, !tbaa !122
+ %t126 = fcmp ogt double %t122, %t125
+ store i1 %t126, ptr %s119
+ br label %log.j39
+log.j39:
+ %t127 = load i1, ptr %s119
+ br i1 %t127, label %if.t40, label %if.j41
+if.t40:
+ %t128 = load ptr, ptr %sc_l_this_0
+ store ptr %t128, ptr %sc_l__x25_callbackReceiver_2
+ %t129 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t130 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t129)
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret void
+exc.k43:
+ store ptr %t130, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t134 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t135 = getelementptr inbounds i8, ptr %t134, i64 8 ; ->kind
+ %t136 = load i32, ptr %t135
+ %t137 = icmp eq i32 %t136, 6
+ br i1 %t137, label %tern.t44, label %tern.f45
+tern.t44:
+ %t140 = call ptr @scr_dyn_undefined()
+ %t139 = call ptr @scr_dyn_retain_v(ptr %t140)
+ store ptr %t139, ptr %s138
+ br label %tern.j46
+tern.f45:
+ %t141 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t142 = call ptr @sc_rc_retain_dyn(ptr %t141)
+ %t143 = call ptr @sc_f__x25_dyn_class_property_44(ptr %t142)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u47, label %exc.k48
+exc.u47:
+ call void @sc_rc_release_dyn(ptr %t143)
+ br label %exc.cleanup49
+exc.k48:
+ store ptr %t143, ptr %s138
+ br label %tern.j46
+tern.j46:
+ %t147 = load ptr, ptr %s138
+ store ptr %t147, ptr %sc_l__x25_callback_2
+ %t148 = load ptr, ptr %sc_l__x25_callback_2
+ %t149 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t150 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t149, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t150)
+ %t151 = call ptr @scr_dyn_call(ptr %t148, ptr null, i64 0, ptr @sc_cs_288843753834732)
+ call void @scr_dyn_this_pop()
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t150)
+ call void @sc_rc_release_dyn(ptr %t151)
+ br label %exc.cleanup52
+exc.k51:
+ call void @sc_rc_release_dyn(ptr %t150)
+ call void @sc_rc_release_dyn(ptr %t151)
+ %t155 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t155)
+ %t156 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t156)
+ ret void
+if.j41:
+ %t157 = load ptr, ptr %sc_l_this_0
+ %t158 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t157, i64 0, i32 15
+ %t159 = load ptr, ptr %t158, !tbaa !130
+ %t160 = call ptr @scr_arr_retain_v(ptr %t159)
+ %t161 = load ptr, ptr %sc_l_b_0
+ %t162 = call ptr @scr_bytes_retain_v(ptr %t161)
+ %t163 = getelementptr inbounds %ScrArr, ptr %t160, i32 0, i32 1
+ %t164 = load i64, ptr %t163, !tbaa !2
+ %t167 = getelementptr inbounds %ScrArr, ptr %t160, i32 0, i32 2
+ %t165 = load i64, ptr %t167, !tbaa !2
+ %t166 = icmp ult i64 %t164, %t165
+ br i1 %t166, label %arr.push.dense53, label %arr.push.slow54
+arr.push.dense53:
+ %t168 = getelementptr inbounds %ScrArr, ptr %t160, i32 0, i32 8
+ %t170 = getelementptr inbounds %ScrArr, ptr %t160, i32 0, i32 9
+ %t169 = load ptr, ptr %t168, !tbaa !2
+ %t171 = load ptr, ptr %t170, !tbaa !2
+ %t172 = getelementptr inbounds i8, ptr %t171, i64 %t164
+ %t173 = getelementptr inbounds i64, ptr %t169, i64 %t164
+ store ptr %t162, ptr %t173, !tbaa !6
+ store i8 1, ptr %t172, !tbaa !4
+ %t174 = add nuw i64 %t164, 1
+ store i64 %t174, ptr %t163, !tbaa !2
+ %t176 = getelementptr inbounds %ScrArr, ptr %t160, i32 0, i32 6
+ %t177 = load i32, ptr %t176, !tbaa !2
+ %t181 = zext i32 %t177 to i64
+ %t178 = icmp eq i64 %t181, %t164
+ %t179 = add i32 %t177, 1
+ %t180 = select i1 %t178, i32 %t179, i32 %t177
+ store i32 %t180, ptr %t176, !tbaa !2
+ %t175 = sitofp i64 %t174 to double
+ br label %arr.push.join55
+arr.push.slow54:
+ %t182 = call double @scr_arr_push_ref(ptr %t160, ptr %t162) cold
+ br label %arr.push.join55
+arr.push.join55:
+ %t183 = phi double [ %t175, %arr.push.dense53 ], [ %t182, %arr.push.slow54 ]
+ call void @scr_arr_release(ptr %t160)
+ br label %if.j7
+if.j7:
+ ret void
+exc.cleanup20:
+ %t184 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t184)
+ ret void
+exc.cleanup23:
+ %t185 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ %t186 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t186)
+ ret void
+exc.cleanup28:
+ %t187 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t187)
+ ret void
+exc.cleanup34:
+ %t188 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t188)
+ %t189 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t189)
+ ret void
+exc.cleanup37:
+ %t190 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t190)
+ %t191 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t191)
+ %t192 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t192)
+ ret void
+exc.cleanup49:
+ %t193 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t193)
+ ret void
+exc.cleanup52:
+ %t194 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t194)
+ %t195 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t195)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartParser__emit(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartParser__emit(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m4_MultipartParser__endPart(ptr %p_sc_l_this_0) #0 { ; %%m4.MultipartParser._endPart
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l_f_0 = alloca ptr ; f
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s33 = alloca ptr
+ %s63 = alloca ptr
+ store ptr null, ptr %sc_l_s_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l_f_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 9
+ %t6 = load i8, ptr %t5, !tbaa !124
+ %t7 = trunc i8 %t6 to i1
+ br i1 %t7, label %if.t2, label %if.j3
+if.t2:
+ ret void
+if.j3:
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t8, i64 0, i32 10
+ %t10 = load i8, ptr %t9, !tbaa !126
+ %t11 = trunc i8 %t10 to i1
+ br i1 %t11, label %if.t4, label %if.f6
+if.t4:
+ %t12 = load ptr, ptr %sc_l_this_0
+ %t13 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t12, i64 0, i32 14
+ %t14 = load ptr, ptr %t13, !tbaa !128
+ %t15 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t14)
+ store ptr %t15, ptr %sc_l_s_0
+ %t16 = load ptr, ptr %sc_l_this_0
+ %t17 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t16, i64 0, i32 14
+ %t18 = load ptr, ptr %t17
+ store ptr null, ptr %t17, !tbaa !128
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t18)
+ %t19 = load ptr, ptr %sc_l_s_0
+ %t21 = icmp ne ptr %t19, null
+ br i1 %t21, label %if.t7, label %if.j8
+if.t7:
+ %t22 = load ptr, ptr %sc_l_s_0
+ store ptr %t22, ptr %sc_l__x25_callbackReceiver_0
+ %t23 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t25 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %exc.cleanup11
+exc.k10:
+ store ptr %t25, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t29 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t30 = getelementptr inbounds i8, ptr %t29, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 6
+ br i1 %t32, label %tern.t12, label %tern.f13
+tern.t12:
+ %t35 = call ptr @scr_dyn_undefined()
+ %t34 = call ptr @scr_dyn_retain_v(ptr %t35)
+ store ptr %t34, ptr %s33
+ br label %tern.j14
+tern.f13:
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = call ptr @sc_f__x25_dyn_class_property_47(ptr %t37)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_rc_release_dyn(ptr %t38)
+ br label %exc.cleanup17
+exc.k16:
+ store ptr %t38, ptr %s33
+ br label %tern.j14
+tern.j14:
+ %t42 = load ptr, ptr %s33
+ store ptr %t42, ptr %sc_l__x25_callback_0
+ %t43 = load ptr, ptr %sc_l__x25_callback_0
+ %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t45)
+ %t46 = call ptr @scr_dyn_call(ptr %t43, ptr null, i64 0, ptr @sc_cs_4244474088963038)
+ call void @scr_dyn_this_pop()
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t46)
+ br label %exc.cleanup20
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ %t52 = load ptr, ptr %sc_l_s_0
+ store ptr %t52, ptr %sc_l__x25_callbackReceiver_1
+ %t53 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t54 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t53, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t55 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t54)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @sc_rc_release_dyn(ptr %t55)
+ br label %exc.cleanup11
+exc.k22:
+ store ptr %t55, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t59 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t60 = getelementptr inbounds i8, ptr %t59, i64 8 ; ->kind
+ %t61 = load i32, ptr %t60
+ %t62 = icmp eq i32 %t61, 6
+ br i1 %t62, label %tern.t23, label %tern.f24
+tern.t23:
+ %t65 = call ptr @scr_dyn_undefined()
+ %t64 = call ptr @scr_dyn_retain_v(ptr %t65)
+ store ptr %t64, ptr %s63
+ br label %tern.j25
+tern.f24:
+ %t66 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t67 = call ptr @sc_rc_retain_dyn(ptr %t66)
+ %t68 = call ptr @sc_f__x25_dyn_class_property_48(ptr %t67)
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t68)
+ br label %exc.cleanup28
+exc.k27:
+ store ptr %t68, ptr %s63
+ br label %tern.j25
+tern.j25:
+ %t72 = load ptr, ptr %s63
+ store ptr %t72, ptr %sc_l__x25_callback_1
+ %t73 = load ptr, ptr %sc_l__x25_callback_1
+ %t74 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t75)
+ %t76 = call ptr @scr_dyn_call(ptr %t73, ptr null, i64 0, ptr @sc_cs_3927989341738608)
+ call void @scr_dyn_this_pop()
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ br label %exc.cleanup31
+exc.k30:
+ %t80 = call ptr @sc_dc_64(ptr %t76, ptr null)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t80)
+ br label %exc.cleanup31
+exc.k33:
+ store ptr %t80, ptr %sc_l_f_0
+ call void @sc_rc_release_dyn(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ %t84 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t84)
+ %t85 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t85)
+ %t86 = load ptr, ptr %sc_l_f_0
+ %t88 = icmp ne ptr %t86, null
+ br i1 %t88, label %if.t34, label %if.j35
+if.t34:
+ %t89 = load ptr, ptr %sc_l_this_0
+ %t90 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t89, i64 0, i32 19
+ %t91 = load ptr, ptr %t90, !tbaa !28
+ %t92 = call ptr @scr_arr_retain_v(ptr %t91)
+ %t93 = load ptr, ptr %sc_l_f_0
+ %t94 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t93)
+ %t95 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 1
+ %t96 = load i64, ptr %t95, !tbaa !2
+ %t99 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 2
+ %t97 = load i64, ptr %t99, !tbaa !2
+ %t98 = icmp ult i64 %t96, %t97
+ br i1 %t98, label %arr.push.dense36, label %arr.push.slow37
+arr.push.dense36:
+ %t100 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 8
+ %t102 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 9
+ %t101 = load ptr, ptr %t100, !tbaa !2
+ %t103 = load ptr, ptr %t102, !tbaa !2
+ %t104 = getelementptr inbounds i8, ptr %t103, i64 %t96
+ %t105 = getelementptr inbounds i64, ptr %t101, i64 %t96
+ store ptr %t94, ptr %t105, !tbaa !6
+ store i8 1, ptr %t104, !tbaa !4
+ %t106 = add nuw i64 %t96, 1
+ store i64 %t106, ptr %t95, !tbaa !2
+ %t108 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 6
+ %t109 = load i32, ptr %t108, !tbaa !2
+ %t113 = zext i32 %t109 to i64
+ %t110 = icmp eq i64 %t113, %t96
+ %t111 = add i32 %t109, 1
+ %t112 = select i1 %t110, i32 %t111, i32 %t109
+ store i32 %t112, ptr %t108, !tbaa !2
+ %t107 = sitofp i64 %t106 to double
+ br label %arr.push.join38
+arr.push.slow37:
+ %t114 = call double @scr_arr_push_ref(ptr %t92, ptr %t94) cold
+ br label %arr.push.join38
+arr.push.join38:
+ %t115 = phi double [ %t107, %arr.push.dense36 ], [ %t114, %arr.push.slow37 ]
+ call void @scr_arr_release(ptr %t92)
+ br label %if.j35
+if.j35:
+ %t116 = load ptr, ptr %sc_l_f_0
+ call void @sc_release__x25_m4_UploadedFile(ptr %t116)
+ br label %if.j8
+if.j8:
+ %t117 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t117)
+ br label %if.j5
+if.f6:
+ %t118 = load ptr, ptr %sc_l_this_0
+ %t119 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t118, i64 0, i32 20
+ %t120 = load ptr, ptr %t119, !tbaa !30
+ %t121 = call ptr @scr_arr_retain_v(ptr %t120)
+ %t122 = load ptr, ptr %sc_l_this_0
+ %t123 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t122, i64 0, i32 11
+ %t124 = load ptr, ptr %t123, !tbaa !100
+ %t125 = call ptr @sc_rc_retain_str(ptr %t124)
+ %t126 = getelementptr inbounds %ScrArr, ptr %t121, i32 0, i32 1
+ %t127 = load i64, ptr %t126, !tbaa !2
+ %t130 = getelementptr inbounds %ScrArr, ptr %t121, i32 0, i32 2
+ %t128 = load i64, ptr %t130, !tbaa !2
+ %t129 = icmp ult i64 %t127, %t128
+ br i1 %t129, label %arr.push.dense39, label %arr.push.slow40
+arr.push.dense39:
+ %t131 = getelementptr inbounds %ScrArr, ptr %t121, i32 0, i32 8
+ %t133 = getelementptr inbounds %ScrArr, ptr %t121, i32 0, i32 9
+ %t132 = load ptr, ptr %t131, !tbaa !2
+ %t134 = load ptr, ptr %t133, !tbaa !2
+ %t135 = getelementptr inbounds i8, ptr %t134, i64 %t127
+ %t136 = getelementptr inbounds i64, ptr %t132, i64 %t127
+ store ptr %t125, ptr %t136, !tbaa !6
+ store i8 1, ptr %t135, !tbaa !4
+ %t137 = add nuw i64 %t127, 1
+ store i64 %t137, ptr %t126, !tbaa !2
+ %t139 = getelementptr inbounds %ScrArr, ptr %t121, i32 0, i32 6
+ %t140 = load i32, ptr %t139, !tbaa !2
+ %t144 = zext i32 %t140 to i64
+ %t141 = icmp eq i64 %t144, %t127
+ %t142 = add i32 %t140, 1
+ %t143 = select i1 %t141, i32 %t142, i32 %t140
+ store i32 %t143, ptr %t139, !tbaa !2
+ %t138 = sitofp i64 %t137 to double
+ br label %arr.push.join41
+arr.push.slow40:
+ %t145 = call double @scr_arr_push_ref(ptr %t121, ptr %t125) cold
+ br label %arr.push.join41
+arr.push.join41:
+ %t146 = phi double [ %t138, %arr.push.dense39 ], [ %t145, %arr.push.slow40 ]
+ call void @scr_arr_release(ptr %t121)
+ %t147 = load ptr, ptr %sc_l_this_0
+ %t148 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t147, i64 0, i32 20
+ %t149 = load ptr, ptr %t148, !tbaa !30
+ %t150 = call ptr @scr_arr_retain_v(ptr %t149)
+ %t151 = load ptr, ptr %sc_l_this_0
+ %t152 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t151, i64 0, i32 15
+ %t153 = load ptr, ptr %t152, !tbaa !130
+ %t154 = call ptr @sc_bf__x25_m4_u8catAll(ptr %t153)
+ %t155 = load i32, ptr %exc.cell
+ %t156 = icmp ne i32 %t155, 0
+ %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false)
+ br i1 %t157, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_bytes_release(ptr %t154)
+ call void @scr_arr_release(ptr %t150)
+ ret void
+exc.k43:
+ %t158 = call ptr @sc_bf__x25_m4_u8str(ptr %t154)
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @scr_bytes_release(ptr %t154)
+ call void @scr_str_release(ptr %t158)
+ call void @scr_arr_release(ptr %t150)
+ ret void
+exc.k45:
+ call void @scr_bytes_release(ptr %t154)
+ %t162 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 1
+ %t163 = load i64, ptr %t162, !tbaa !2
+ %t166 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 2
+ %t164 = load i64, ptr %t166, !tbaa !2
+ %t165 = icmp ult i64 %t163, %t164
+ br i1 %t165, label %arr.push.dense46, label %arr.push.slow47
+arr.push.dense46:
+ %t167 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 8
+ %t169 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 9
+ %t168 = load ptr, ptr %t167, !tbaa !2
+ %t170 = load ptr, ptr %t169, !tbaa !2
+ %t171 = getelementptr inbounds i8, ptr %t170, i64 %t163
+ %t172 = getelementptr inbounds i64, ptr %t168, i64 %t163
+ store ptr %t158, ptr %t172, !tbaa !6
+ store i8 1, ptr %t171, !tbaa !4
+ %t173 = add nuw i64 %t163, 1
+ store i64 %t173, ptr %t162, !tbaa !2
+ %t175 = getelementptr inbounds %ScrArr, ptr %t150, i32 0, i32 6
+ %t176 = load i32, ptr %t175, !tbaa !2
+ %t180 = zext i32 %t176 to i64
+ %t177 = icmp eq i64 %t180, %t163
+ %t178 = add i32 %t176, 1
+ %t179 = select i1 %t177, i32 %t178, i32 %t176
+ store i32 %t179, ptr %t175, !tbaa !2
+ %t174 = sitofp i64 %t173 to double
+ br label %arr.push.join48
+arr.push.slow47:
+ %t181 = call double @scr_arr_push_ref(ptr %t150, ptr %t158) cold
+ br label %arr.push.join48
+arr.push.join48:
+ %t182 = phi double [ %t174, %arr.push.dense46 ], [ %t181, %arr.push.slow47 ]
+ call void @scr_arr_release(ptr %t150)
+ %t183 = load ptr, ptr %sc_l_this_0
+ %t184 = call ptr @scr_arr_new_small(i32 4)
+ %t185 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t183, i64 0, i32 15
+ %t186 = load ptr, ptr %t185
+ store ptr %t184, ptr %t185, !tbaa !130
+ call void @scr_arr_release(ptr %t186)
+ br label %if.j5
+if.j5:
+ ret void
+exc.cleanup11:
+ %t187 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t187)
+ ret void
+exc.cleanup17:
+ %t188 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t188)
+ %t189 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t189)
+ ret void
+exc.cleanup20:
+ %t190 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t190)
+ %t191 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t191)
+ %t192 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t192)
+ ret void
+exc.cleanup28:
+ %t193 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t193)
+ %t194 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t194)
+ ret void
+exc.cleanup31:
+ %t195 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t195)
+ %t196 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t196)
+ %t197 = load ptr, ptr %sc_l_s_0
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t197)
+ ret void
+}
+define internal void @sc_f__x25__x25_m4_MultipartParser__endPart(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m4_MultipartParser__endPart(ptr %p0)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_raw_0, ptr %p_sc_l_qs_0, ptr %p_sc_l_path_0, ptr %p_sc_l_url_0, ptr %p_sc_l_method_0, ptr %p_sc_l_headers_0, ptr %p_sc_l_headersDistinct_0) #0 { ; %%m5.ReqViewCore.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_raw_0 = alloca ptr ; raw
+ %sc_l_qs_0 = alloca ptr ; qs
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_headers_0 = alloca ptr ; headers
+ %sc_l_headersDistinct_0 = alloca ptr ; headersDistinct
+ %s23 = alloca ptr
+ %s24 = alloca i1
+ %s38 = alloca ptr
+ %s49 = alloca ptr
+ %s60 = alloca ptr
+ %s83 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s124 = alloca ptr
+ %s130 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_raw_0, ptr %sc_l_raw_0
+ store ptr %p_sc_l_qs_0, ptr %sc_l_qs_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_url_0, ptr %sc_l_url_0
+ store ptr %p_sc_l_method_0, ptr %sc_l_method_0
+ store ptr %p_sc_l_headers_0, ptr %sc_l_headers_0
+ store ptr %p_sc_l_headersDistinct_0, ptr %sc_l_headersDistinct_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t6 = call ptr @scr_dyn_undefined()
+ %t5 = call ptr @scr_dyn_retain_v(ptr %t6)
+ %t7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t4, i64 0, i32 2
+ %t8 = load ptr, ptr %t7
+ store ptr %t5, ptr %t7, !tbaa !136
+ call void @sc_rc_release_dyn(ptr %t8)
+ %t9 = load ptr, ptr %sc_l_raw_0
+ %t12 = getelementptr inbounds %ScrUnion, ptr %t9, i64 0, i32 1
+ %t11 = load i32, ptr %t12
+ %t10 = icmp eq i32 %t11, 1
+ br i1 %t10, label %if.t2, label %if.f4
+if.t2:
+ %t13 = load ptr, ptr %sc_l_this_0
+ %t14 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t13, i64 0, i32 1
+ %t15 = load ptr, ptr %t14
+ store ptr @sc_unit_1, ptr %t14, !tbaa !138
+ call void @scr_union_release(ptr %t15)
+ %t16 = load ptr, ptr %sc_l_this_0
+ %t17 = call ptr @scr_dyn_new_null()
+ %t18 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t16, i64 0, i32 2
+ %t19 = load ptr, ptr %t18
+ store ptr %t17, ptr %t18, !tbaa !136
+ call void @sc_rc_release_dyn(ptr %t19)
+ %t20 = load ptr, ptr %sc_l_this_0
+ %t21 = load ptr, ptr %sc_l_method_0
+ %t22 = call ptr @sc_nretain_string(ptr %t21)
+ %t26 = icmp eq ptr %t22, null
+ %t25 = select i1 %t26, i32 1, i32 0
+ switch i32 %t25, label %u.bad6 [ i32 0, label %u.a7 i32 1, label %u.a8 ]
+u.a7:
+ %t27 = getelementptr inbounds %ScrStr, ptr %t22, i64 0, i32 1
+ %t28 = load i64, ptr %t27
+ %t29 = icmp ne i64 %t28, 0
+ store i1 %t29, ptr %s24
+ br label %ut.j5
+u.a8:
+ store i1 false, ptr %s24
+ br label %ut.j5
+u.bad6:
+ call void @sc_bad_tag()
+ unreachable
+ut.j5:
+ %t30 = load i1, ptr %s24
+ br i1 %t30, label %ord.t9, label %ord.f10
+ord.t9:
+ store ptr %t22, ptr %s23
+ br label %ord.j11
+ord.f10:
+ call void @scr_str_release(ptr %t22)
+ store ptr @sc_lit_4005573543169985, ptr %s23
+ br label %ord.j11
+ord.j11:
+ %t31 = load ptr, ptr %s23
+ %t32 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t20, i64 0, i32 5
+ %t33 = load ptr, ptr %t32
+ store ptr %t31, ptr %t32, !tbaa !76
+ call void @scr_str_release(ptr %t33)
+ %t34 = load ptr, ptr %sc_l_this_0
+ %t35 = load ptr, ptr %sc_l_headers_0
+ %t37 = icmp eq ptr %t35, null
+ br i1 %t37, label %tern.t12, label %tern.f13
+tern.t12:
+ %t39 = call ptr @sc_rnew_r0()
+ store ptr %t39, ptr %s38
+ br label %tern.j14
+tern.f13:
+ %t40 = load ptr, ptr %sc_l_headers_0
+ %t41 = call ptr @sc_rretain_r0(ptr %t40)
+ store ptr %t41, ptr %s38
+ br label %tern.j14
+tern.j14:
+ %t42 = load ptr, ptr %s38
+ %t43 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t34, i64 0, i32 3
+ %t44 = load ptr, ptr %t43
+ store ptr %t42, ptr %t43, !tbaa !140
+ call void @sc_rrelease_r0(ptr %t44)
+ %t45 = load ptr, ptr %sc_l_this_0
+ %t46 = load ptr, ptr %sc_l_headersDistinct_0
+ %t48 = icmp eq ptr %t46, null
+ br i1 %t48, label %tern.t15, label %tern.f16
+tern.t15:
+ %t50 = call ptr @sc_rnew_r3()
+ store ptr %t50, ptr %s49
+ br label %tern.j17
+tern.f16:
+ %t51 = load ptr, ptr %sc_l_headersDistinct_0
+ %t52 = call ptr @sc_rretain_r3(ptr %t51)
+ store ptr %t52, ptr %s49
+ br label %tern.j17
+tern.j17:
+ %t53 = load ptr, ptr %s49
+ %t54 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t45, i64 0, i32 4
+ %t55 = load ptr, ptr %t54
+ store ptr %t53, ptr %t54, !tbaa !142
+ call void @sc_rrelease_r3(ptr %t55)
+ %t56 = load ptr, ptr %sc_l_this_0
+ %t57 = load ptr, ptr %sc_l_url_0
+ %t59 = icmp eq ptr %t57, null
+ br i1 %t59, label %tern.t18, label %tern.f19
+tern.t18:
+ %t61 = load ptr, ptr %sc_l_path_0
+ %t62 = call ptr @sc_rc_retain_str(ptr %t61)
+ store ptr %t62, ptr %s60
+ br label %tern.j20
+tern.f19:
+ %t63 = load ptr, ptr %sc_l_url_0
+ %t64 = call ptr @sc_rc_retain_str(ptr %t63)
+ store ptr %t64, ptr %s60
+ br label %tern.j20
+tern.j20:
+ %t65 = load ptr, ptr %s60
+ %t66 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t56, i64 0, i32 6
+ %t67 = load ptr, ptr %t66
+ store ptr %t65, ptr %t66, !tbaa !78
+ call void @scr_str_release(ptr %t67)
+ br label %if.j3
+if.f4:
+ %t68 = load ptr, ptr %sc_l_this_0
+ %t69 = load ptr, ptr %sc_l_raw_0
+ %t70 = call ptr @scr_union_retain_v(ptr %t69)
+ %t71 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t68, i64 0, i32 1
+ %t72 = load ptr, ptr %t71
+ store ptr %t70, ptr %t71, !tbaa !138
+ call void @scr_union_release(ptr %t72)
+ %t73 = load ptr, ptr %sc_l_this_0
+ %t74 = call ptr @scr_dyn_new_null()
+ %t75 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t73, i64 0, i32 2
+ %t76 = load ptr, ptr %t75
+ store ptr %t74, ptr %t75, !tbaa !136
+ call void @sc_rc_release_dyn(ptr %t76)
+ %t77 = load ptr, ptr %sc_l_this_0
+ %t78 = load ptr, ptr %sc_l_raw_0
+ %t79 = getelementptr inbounds %ScrUnion, ptr %t78, i64 0, i32 5
+ %t80 = load ptr, ptr %t79
+ %t81 = call ptr @scr_http_req_retain_v(ptr %t80)
+ %t82 = call ptr @scr_http_req_method(ptr %t81)
+ store ptr %t82, ptr %s83
+ %t84 = getelementptr inbounds %ScrStr, ptr %t82, i64 0, i32 1
+ %t85 = load i64, ptr %t84
+ %t86 = icmp ne i64 %t85, 0
+ br i1 %t86, label %log.j22, label %log.r21
+log.r21:
+ call void @scr_str_release(ptr %t82)
+ store ptr @sc_lit_4005573543169985, ptr %s83
+ br label %log.j22
+log.j22:
+ %t87 = load ptr, ptr %s83
+ %t88 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t77, i64 0, i32 5
+ %t89 = load ptr, ptr %t88
+ store ptr %t87, ptr %t88, !tbaa !76
+ call void @scr_str_release(ptr %t89)
+ call void @scr_http_req_release(ptr %t81)
+ %t90 = load ptr, ptr %sc_l_this_0
+ %t91 = load ptr, ptr %sc_l_raw_0
+ %t92 = getelementptr inbounds %ScrUnion, ptr %t91, i64 0, i32 5
+ %t93 = load ptr, ptr %t92
+ %t94 = call ptr @sc_bf__x25_headers_snapshot_2(ptr %t93)
+ %t95 = load i32, ptr %exc.cell
+ %t96 = icmp ne i32 %t95, 0
+ %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false)
+ br i1 %t97, label %exc.u23, label %exc.k24
+exc.u23:
+ call void @sc_rrelease_r26(ptr %t94)
+ ret void
+exc.k24:
+ %t98 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t94, ptr @sc_rretain_r26, ptr @sc_rrelease_r26, ptr @sc_cs_1809980931226750, i64 10, ptr @sc_ldr_37_materialize, ptr @sc_ldr_37_materialize_commit)
+ %t99 = call ptr @sc_bf__x25_m5_copyHeaders(ptr %t98)
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u25, label %exc.k26
+exc.u25:
+ call void @sc_rrelease_r26(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @sc_rrelease_r0(ptr %t99)
+ ret void
+exc.k26:
+ call void @sc_rrelease_r26(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t98)
+ %t103 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t90, i64 0, i32 3
+ %t104 = load ptr, ptr %t103
+ store ptr %t99, ptr %t103, !tbaa !140
+ call void @sc_rrelease_r0(ptr %t104)
+ %t105 = load ptr, ptr %sc_l_this_0
+ %t106 = load ptr, ptr %sc_l_raw_0
+ %t107 = getelementptr inbounds %ScrUnion, ptr %t106, i64 0, i32 5
+ %t108 = load ptr, ptr %t107
+ %t109 = call ptr @sc_bf__x25_headersDistinct_snapshot_4(ptr %t108)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rrelease_r32(ptr %t109)
+ ret void
+exc.k28:
+ %t113 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t109, ptr @sc_rretain_r32, ptr @sc_rrelease_r32, ptr @sc_cs_804729941372645, i64 10, ptr @sc_ldr_39_materialize, ptr @sc_ldr_39_materialize_commit)
+ %t114 = call ptr @sc_bf__x25_m5_copyHeadersDistinct(ptr %t113)
+ %t115 = load i32, ptr %exc.cell
+ %t116 = icmp ne i32 %t115, 0
+ %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false)
+ br i1 %t117, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rrelease_r32(ptr %t109)
+ call void @sc_rc_release_dyn(ptr %t113)
+ call void @sc_rrelease_r3(ptr %t114)
+ ret void
+exc.k30:
+ call void @sc_rrelease_r32(ptr %t109)
+ call void @sc_rc_release_dyn(ptr %t113)
+ %t118 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t105, i64 0, i32 4
+ %t119 = load ptr, ptr %t118
+ store ptr %t114, ptr %t118, !tbaa !142
+ call void @sc_rrelease_r3(ptr %t119)
+ %t120 = load ptr, ptr %sc_l_this_0
+ %t121 = load ptr, ptr %sc_l_url_0
+ %t123 = icmp eq ptr %t121, null
+ br i1 %t123, label %tern.t31, label %tern.f32
+tern.t31:
+ %t125 = load ptr, ptr %sc_l_raw_0
+ %t126 = getelementptr inbounds %ScrUnion, ptr %t125, i64 0, i32 5
+ %t127 = load ptr, ptr %t126
+ %t128 = call ptr @scr_http_req_retain_v(ptr %t127)
+ %t129 = call ptr @scr_http_req_url(ptr %t128)
+ store ptr %t129, ptr %s130
+ %t131 = getelementptr inbounds %ScrStr, ptr %t129, i64 0, i32 1
+ %t132 = load i64, ptr %t131
+ %t133 = icmp ne i64 %t132, 0
+ br i1 %t133, label %log.j35, label %log.r34
+log.r34:
+ call void @scr_str_release(ptr %t129)
+ %t134 = load ptr, ptr %sc_l_path_0
+ %t135 = call ptr @sc_rc_retain_str(ptr %t134)
+ store ptr %t135, ptr %s130
+ br label %log.j35
+log.j35:
+ %t136 = load ptr, ptr %s130
+ store ptr %t136, ptr %s124
+ call void @scr_http_req_release(ptr %t128)
+ br label %tern.j33
+tern.f32:
+ %t137 = load ptr, ptr %sc_l_url_0
+ %t138 = call ptr @sc_rc_retain_str(ptr %t137)
+ store ptr %t138, ptr %s124
+ br label %tern.j33
+tern.j33:
+ %t139 = load ptr, ptr %s124
+ %t140 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t120, i64 0, i32 6
+ %t141 = load ptr, ptr %t140
+ store ptr %t139, ptr %t140, !tbaa !78
+ call void @scr_str_release(ptr %t141)
+ br label %if.j3
+if.j3:
+ %t142 = load ptr, ptr %sc_l_this_0
+ %t143 = load ptr, ptr %sc_l_qs_0
+ %t144 = call ptr @sc_rc_retain_str(ptr %t143)
+ %t145 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t142, i64 0, i32 8
+ %t146 = load ptr, ptr %t145
+ store ptr %t144, ptr %t145, !tbaa !144
+ call void @scr_str_release(ptr %t146)
+ %t147 = load ptr, ptr %sc_l_this_0
+ %t148 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t147, i64 0, i32 9
+ %t149 = load ptr, ptr %t148
+ store ptr null, ptr %t148, !tbaa !146
+ call void @scr_arr_release(ptr %t149)
+ %t150 = load ptr, ptr %sc_l_this_0
+ %t151 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t150, i64 0, i32 10
+ %t152 = load ptr, ptr %t151
+ store ptr null, ptr %t151, !tbaa !148
+ call void @scr_arr_release(ptr %t152)
+ %t153 = load ptr, ptr %sc_l_this_0
+ %t154 = load ptr, ptr @sc_g_m5_EMPTY_S
+ %t155 = call ptr @scr_arr_retain_v(ptr %t154)
+ %t156 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t153, i64 0, i32 11
+ %t157 = load ptr, ptr %t156
+ store ptr %t155, ptr %t156, !tbaa !150
+ call void @scr_arr_release(ptr %t157)
+ %t158 = load ptr, ptr %sc_l_this_0
+ %t159 = load ptr, ptr @sc_g_m5_EMPTY_N
+ %t160 = call ptr @scr_arr_retain_v(ptr %t159)
+ %t161 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t158, i64 0, i32 12
+ %t162 = load ptr, ptr %t161
+ store ptr %t160, ptr %t161, !tbaa !152
+ call void @scr_arr_release(ptr %t162)
+ %t163 = load ptr, ptr %sc_l_this_0
+ %t164 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t163, i64 0, i32 13
+ store double 0xBFF0000000000000, ptr %t164, !tbaa !154
+ %t165 = load ptr, ptr %sc_l_this_0
+ %t166 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t165, i64 0, i32 14
+ %t167 = load ptr, ptr %t166
+ store ptr @sc_lit_4005573543169985, ptr %t166, !tbaa !156
+ call void @scr_str_release(ptr %t167)
+ %t168 = load ptr, ptr %sc_l_this_0
+ %t169 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_retain__x25_m4_UploadedFile.sc_release__x25_m4_UploadedFile.sc_trace__x25_m4_UploadedFile, i64 0)
+ %t170 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t168, i64 0, i32 15
+ %t171 = load ptr, ptr %t170
+ store ptr %t169, ptr %t170, !tbaa !158
+ call void @scr_arr_release(ptr %t171)
+ %t172 = load ptr, ptr %sc_l_this_0
+ %t173 = call ptr @scr_arr_new(i32 2, i64 0)
+ %t174 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t172, i64 0, i32 16
+ %t175 = load ptr, ptr %t174
+ store ptr %t173, ptr %t174, !tbaa !160
+ call void @scr_arr_release(ptr %t175)
+ %t176 = load ptr, ptr %sc_l_this_0
+ %t177 = load ptr, ptr %sc_l_path_0
+ %t178 = call ptr @sc_rc_retain_str(ptr %t177)
+ %t179 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t176, i64 0, i32 7
+ %t180 = load ptr, ptr %t179
+ store ptr %t178, ptr %t179, !tbaa !96
+ call void @scr_str_release(ptr %t180)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_ReqViewCore_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6, ptr %p7) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6, ptr %p7)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_union_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ call void @scr_str_release(ptr %p5)
+ call void @sc_rrelease_r0(ptr %p6)
+ call void @sc_rrelease_r3(ptr %p7)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_get_x3a_raw(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore.get:raw
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_66(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t27 = call ptr @scr_dyn_call(ptr %t24, ptr null, i64 0, ptr @sc_cs_239666599887116)
+ call void @scr_dyn_this_pop()
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t26)
+ %t31 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t31)
+ %t32 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr %t27
+exc.cleanup9:
+ %t33 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t33)
+ ret ptr null
+exc.cleanup12:
+ %t34 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t34)
+ %t35 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t35)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_get_x3a_raw(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_get_x3a_raw(ptr %p0)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_rawReq(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore.rawReq
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_w_0 = alloca ptr ; w
+ store ptr null, ptr %sc_l_w_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t4, i64 0, i32 2
+ %t6 = load ptr, ptr %t5, !tbaa !136
+ %t7 = call ptr @sc_rc_retain_dyn(ptr %t6)
+ store ptr %t7, ptr %sc_l_w_0
+ %t8 = load ptr, ptr %sc_l_w_0
+ %t9 = getelementptr inbounds i8, ptr %t8, i64 8 ; ->kind
+ %t10 = load i32, ptr %t9
+ %t11 = icmp eq i32 %t10, 0
+ %t12 = xor i1 %t11, true
+ br i1 %t12, label %if.t2, label %if.j3
+if.t2:
+ %t13 = load ptr, ptr %sc_l_w_0
+ ret ptr %t13
+if.j3:
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t14, i64 0, i32 1
+ %t16 = load ptr, ptr %t15, !tbaa !138
+ %t17 = call ptr @scr_union_retain_v(ptr %t16)
+ %t18 = call ptr @sc_td_9(ptr %t17)
+ call void @scr_union_release(ptr %t17)
+ %t19 = load ptr, ptr %sc_l_w_0
+ call void @sc_rc_release_dyn(ptr %t19)
+ ret ptr %t18
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_rawReq(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_rawReq(ptr %p0)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m5_ReqViewCore__setWeb(ptr %p_sc_l_this_0, ptr %p_sc_l_r_0) #0 { ; %%m5.ReqViewCore._setWeb
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_r_0 = alloca ptr ; r
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_r_0
+ %t2 = call ptr @sc_rc_retain_dyn(ptr %t1)
+ %t3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t0, i64 0, i32 2
+ %t4 = load ptr, ptr %t3
+ store ptr %t2, ptr %t3, !tbaa !136
+ call void @sc_rc_release_dyn(ptr %t4)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_ReqViewCore__setWeb(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_ReqViewCore__setWeb(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_param(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.param
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l_n_0 = alloca ptr ; n
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_pm_0 = alloca ptr ; pm
+ %sc_l_i_0 = alloca double ; i
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s15 = alloca ptr
+ %s45 = alloca ptr
+ %s78 = alloca i1
+ %s88 = alloca ptr
+ %s121 = alloca ptr
+ store ptr null, ptr %sc_l_n_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_pm_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_name_0
+ store ptr %t4, ptr %sc_l_n_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ store ptr %t5, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t7 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t6)
+ %t8 = load i32, ptr %exc.cell
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t7)
+ ret ptr null
+exc.k3:
+ store ptr %t7, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 6
+ br i1 %t14, label %tern.t4, label %tern.f5
+tern.t4:
+ %t17 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t17)
+ store ptr %t16, ptr %s15
+ br label %tern.j6
+tern.f5:
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = call ptr @sc_rc_retain_dyn(ptr %t18)
+ %t20 = call ptr @sc_f__x25_dyn_class_property_22(ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t20, ptr %s15
+ br label %tern.j6
+tern.j6:
+ %t24 = load ptr, ptr %s15
+ store ptr %t24, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t27)
+ %t28 = call ptr @scr_dyn_call(ptr %t25, ptr null, i64 0, ptr @sc_cs_4210341737513202)
+ call void @scr_dyn_this_pop()
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ br label %exc.cleanup12
+exc.k11:
+ %t32 = call ptr @sc_dc_1(ptr %t28, ptr null)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @scr_arr_release(ptr %t32)
+ br label %exc.cleanup12
+exc.k14:
+ store ptr %t32, ptr %sc_l_pm_0
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c16
+loop.c16:
+ %t38 = load double, ptr %sc_l_i_0
+ %t39 = load ptr, ptr %sc_l_pm_0
+ %t40 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 1
+ %t41 = load i64, ptr %t40, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t42 = sitofp i64 %t41 to double
+ %t44 = fptosi double %t42 to i64
+ %t43 = fcmp olt double %t38, %t42
+ br i1 %t43, label %loop.b17, label %loop.e15
+loop.b17:
+ %t46 = load ptr, ptr %sc_l_pm_0
+ %t47 = load double, ptr %sc_l_i_0
+ %t48 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 2
+ %t49 = load i64, ptr %t48, !tbaa !2
+ %t50 = fptosi double %t47 to i64
+ %t51 = freeze i64 %t50
+ %t52 = sitofp i64 %t51 to double
+ %t53 = fcmp oeq double %t52, %t47
+ %t54 = icmp ult i64 %t51, %t49
+ %t55 = and i1 %t53, %t54
+ br i1 %t55, label %local.array.range22, label %local.array.slow19
+local.array.range22:
+ br label %local.array.dense23
+local.array.dense23:
+ %t56 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 6
+ %t57 = load i32, ptr %t56, !tbaa !2
+ %t59 = zext i32 %t57 to i64
+ %t58 = icmp ult i64 %t51, %t59
+ br i1 %t58, label %local.array.value25, label %local.array.len24
+local.array.len24:
+ %t60 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 1
+ %t61 = load i64, ptr %t60, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t62 = icmp ult i64 %t51, %t61
+ br i1 %t62, label %local.array.state26, label %local.array.missing20
+local.array.state26:
+ %t63 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 9
+ %t64 = load ptr, ptr %t63, !tbaa !2
+ %t65 = getelementptr inbounds i8, ptr %t64, i64 %t51
+ %t66 = load i8, ptr %t65, !tbaa !4
+ %t67 = icmp eq i8 %t66, 1
+ br i1 %t67, label %local.array.value25, label %local.array.missing20
+local.array.value25:
+ %t68 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 8
+ %t69 = load ptr, ptr %t68, !tbaa !2
+ %t70 = getelementptr inbounds i64, ptr %t69, i64 %t51
+ %t71 = load ptr, ptr %t70, !tbaa !6
+ %t72 = call ptr @sc_rc_retain_str(ptr %t71)
+ store ptr %t72, ptr %s45
+ br label %local.array.join21
+local.array.slow19:
+ %t73 = call ptr @scr_arr_peek_ref(ptr %t46, double %t47)
+ %t74 = icmp ne ptr %t73, null
+ br i1 %t74, label %local.array.slow.value27, label %local.array.missing20
+local.array.slow.value27:
+ %t75 = call ptr @sc_rc_retain_str(ptr %t73)
+ store ptr %t75, ptr %s45
+ br label %local.array.join21
+local.array.missing20:
+ store ptr null, ptr %s45
+ br label %local.array.join21
+local.array.join21:
+ %t76 = load ptr, ptr %s45
+ %t77 = load ptr, ptr %sc_l_n_0
+ %t79 = icmp eq ptr %t76, %t77
+ %t81 = icmp ne ptr %t76, null
+ %t82 = icmp ne ptr %t77, null
+ %t80 = and i1 %t81, %t82
+ store i1 %t79, ptr %s78
+ %t83 = xor i1 %t79, true
+ %t84 = and i1 %t83, %t80
+ br i1 %t84, label %ues.b28, label %ues.j29
+ues.b28:
+ %t85 = call zeroext i1 @sc_str_eq(ptr %t76, ptr %t77)
+ store i1 %t85, ptr %s78
+ br label %ues.j29
+ues.j29:
+ %t86 = load i1, ptr %s78
+ %t87 = load ptr, ptr %s45
+ call void @scr_str_release(ptr %t87)
+ br i1 %t86, label %if.t30, label %if.j31
+if.t30:
+ %t89 = load ptr, ptr %sc_l_pm_0
+ %t90 = load double, ptr %sc_l_i_0
+ %t91 = fadd double %t90, 0x3FF0000000000000
+ %t92 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 2
+ %t93 = load i64, ptr %t92, !tbaa !2
+ %t94 = fptosi double %t91 to i64
+ %t95 = freeze i64 %t94
+ %t96 = sitofp i64 %t95 to double
+ %t97 = fcmp oeq double %t96, %t91
+ %t98 = icmp ult i64 %t95, %t93
+ %t99 = and i1 %t97, %t98
+ br i1 %t99, label %local.array.range35, label %local.array.slow32
+local.array.range35:
+ br label %local.array.dense36
+local.array.dense36:
+ %t100 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 6
+ %t101 = load i32, ptr %t100, !tbaa !2
+ %t103 = zext i32 %t101 to i64
+ %t102 = icmp ult i64 %t95, %t103
+ br i1 %t102, label %local.array.value38, label %local.array.len37
+local.array.len37:
+ %t104 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 1
+ %t105 = load i64, ptr %t104, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t106 = icmp ult i64 %t95, %t105
+ br i1 %t106, label %local.array.state39, label %local.array.missing33
+local.array.state39:
+ %t107 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 9
+ %t108 = load ptr, ptr %t107, !tbaa !2
+ %t109 = getelementptr inbounds i8, ptr %t108, i64 %t95
+ %t110 = load i8, ptr %t109, !tbaa !4
+ %t111 = icmp eq i8 %t110, 1
+ br i1 %t111, label %local.array.value38, label %local.array.missing33
+local.array.value38:
+ %t112 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 8
+ %t113 = load ptr, ptr %t112, !tbaa !2
+ %t114 = getelementptr inbounds i64, ptr %t113, i64 %t95
+ %t115 = load ptr, ptr %t114, !tbaa !6
+ %t116 = call ptr @sc_rc_retain_str(ptr %t115)
+ store ptr %t116, ptr %s88
+ br label %local.array.join34
+local.array.slow32:
+ %t117 = call ptr @scr_arr_peek_ref(ptr %t89, double %t91)
+ %t118 = icmp ne ptr %t117, null
+ br i1 %t118, label %local.array.slow.value40, label %local.array.missing33
+local.array.slow.value40:
+ %t119 = call ptr @sc_rc_retain_str(ptr %t117)
+ store ptr %t119, ptr %s88
+ br label %local.array.join34
+local.array.missing33:
+ store ptr null, ptr %s88
+ br label %local.array.join34
+local.array.join34:
+ %t120 = load ptr, ptr %s88
+ %t123 = icmp eq ptr %t120, null
+ %t122 = select i1 %t123, i32 1, i32 0
+ switch i32 %t122, label %u.bad42 [ i32 0, label %u.a43 i32 1, label %u.a44 ]
+u.a43:
+ %t124 = call ptr @sc_rc_retain_str(ptr %t120)
+ store ptr %t124, ptr %s121
+ br label %us.j41
+u.a44:
+ store ptr @sc_lit_4134463689533233, ptr %s121
+ br label %us.j41
+u.bad42:
+ call void @sc_bad_tag()
+ unreachable
+us.j41:
+ %t125 = load ptr, ptr %s121
+ %t126 = load i32, ptr %exc.cell
+ %t127 = icmp ne i32 %t126, 0
+ %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false)
+ br i1 %t128, label %exc.u45, label %exc.k46
+exc.u45:
+ %t129 = load ptr, ptr %s88
+ call void @scr_str_release(ptr %t129)
+ call void @scr_str_release(ptr %t125)
+ br label %exc.cleanup47
+exc.k46:
+ %t130 = load ptr, ptr %s88
+ call void @scr_str_release(ptr %t130)
+ %t131 = load ptr, ptr %sc_l_pm_0
+ call void @scr_arr_release(ptr %t131)
+ ret ptr %t125
+if.j31:
+ br label %loop.u18
+loop.u18:
+ %t132 = load double, ptr %sc_l_i_0
+ %t133 = fadd double %t132, 0x4000000000000000
+ store double %t133, ptr %sc_l_i_0
+ br label %loop.c16
+loop.e15:
+ %t134 = load ptr, ptr %sc_l_pm_0
+ call void @scr_arr_release(ptr %t134)
+ ret ptr null
+exc.cleanup9:
+ %t135 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t135)
+ ret ptr null
+exc.cleanup12:
+ %t136 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t136)
+ %t137 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t137)
+ ret ptr null
+exc.cleanup47:
+ %t138 = load ptr, ptr %sc_l_pm_0
+ call void @scr_arr_release(ptr %t138)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_param(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_param(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m5_ReqViewCore__seedPm(ptr %p_sc_l_this_0, ptr %p_sc_l_pm_0) #0 { ; %%m5.ReqViewCore._seedPm
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_pm_0 = alloca ptr ; pm
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_pm_0, ptr %sc_l_pm_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_pm_0
+ %t2 = call ptr @scr_arr_retain_v(ptr %t1)
+ %t3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t0, i64 0, i32 10
+ %t4 = load ptr, ptr %t3
+ store ptr %t2, ptr %t3, !tbaa !148
+ call void @scr_arr_release(ptr %t4)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_ReqViewCore__seedPm(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_ReqViewCore__seedPm(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_arr_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore__pmNow(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore._pmNow
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_pm_0 = alloca ptr ; pm
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_pn_0 = alloca ptr ; pn
+ %sc_l_sp_0 = alloca double ; sp
+ %sc_l_segs_0 = alloca ptr ; segs
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_idx_0 = alloca ptr ; idx
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget
+ %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue
+ %sc_l_tail_0 = alloca ptr ; tail
+ %sc_l_j_0 = alloca double ; j
+ %s27 = alloca i1
+ %s35 = alloca i64 ; integer induction i
+ %s49 = alloca %ScrUnion
+ %s50 = getelementptr inbounds %ScrUnion, ptr %s49, i32 0, i32 5
+ %s51 = getelementptr inbounds %ScrUnion, ptr %s49, i32 0, i32 1
+ %s79 = alloca double
+ %s80 = alloca i32
+ %s91 = alloca ptr
+ %s97 = alloca double
+ %s98 = alloca i32
+ %s132 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s184 = alloca ptr
+ %s259 = alloca ptr
+ %s291 = alloca ptr
+ store ptr null, ptr %sc_l_pm_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_pn_0
+ store ptr null, ptr %sc_l_segs_0
+ store ptr null, ptr %sc_l_idx_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr null, ptr %sc_l__x25_pushTarget_0
+ store ptr null, ptr %sc_l__x25_pushValue_0
+ store ptr null, ptr %sc_l_tail_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t4, i64 0, i32 10
+ %t6 = load ptr, ptr %t5, !tbaa !148
+ %t7 = call ptr @sc_nretain_array(ptr %t6)
+ store ptr %t7, ptr %sc_l_pm_0
+ %t8 = load ptr, ptr %sc_l_pm_0
+ %t10 = icmp ne ptr %t8, null
+ br i1 %t10, label %if.t2, label %if.j3
+if.t2:
+ %t11 = load ptr, ptr %sc_l_pm_0
+ %t12 = call ptr @scr_arr_retain_v(ptr %t11)
+ %t13 = load ptr, ptr %sc_l_pm_0
+ call void @scr_arr_release(ptr %t13)
+ ret ptr %t12
+if.j3:
+ %t14 = call ptr @scr_arr_new_small(i32 2)
+ store ptr %t14, ptr %sc_l_out_0
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t16 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t15, i64 0, i32 11
+ %t17 = load ptr, ptr %t16, !tbaa !150
+ store ptr %t17, ptr %sc_l_pn_0
+ %t18 = load ptr, ptr %sc_l_this_0
+ %t19 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t18, i64 0, i32 13
+ %t20 = load double, ptr %t19, !tbaa !154
+ store double %t20, ptr %sc_l_sp_0
+ %t21 = load ptr, ptr %sc_l_pn_0
+ %t22 = getelementptr inbounds %ScrArr, ptr %t21, i32 0, i32 1
+ %t23 = load i64, ptr %t22, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t24 = sitofp i64 %t23 to double
+ %t26 = fptosi double %t24 to i64
+ %t25 = icmp sgt i64 %t26, 0
+ store i1 %t25, ptr %s27
+ br i1 %t25, label %log.j5, label %log.r4
+log.r4:
+ %t28 = load double, ptr %sc_l_sp_0
+ %t29 = fcmp oge double %t28, 0x0000000000000000
+ store i1 %t29, ptr %s27
+ br label %log.j5
+log.j5:
+ %t30 = load i1, ptr %s27
+ br i1 %t30, label %if.t6, label %if.j7
+if.t6:
+ %t31 = load ptr, ptr %sc_l_this_0
+ %t32 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t31, i64 0, i32 7
+ %t33 = load ptr, ptr %t32, !tbaa !96
+ %t34 = call ptr @scr_str_split_limit(ptr %t33, ptr @sc_lit_2434240011052594, double 0x41EFFFFFFFE00000)
+ store ptr %t34, ptr %sc_l_segs_0
+ %t36 = fptosi double 0x0000000000000000 to i64
+ store i64 %t36, ptr %s35
+ br label %loop.c9
+loop.c9:
+ %t37 = load ptr, ptr %sc_l_pn_0
+ %t38 = getelementptr inbounds %ScrArr, ptr %t37, i64 0, i32 1
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t40 = load i64, ptr %s35
+ %t41 = icmp ult i64 %t40, %t39
+ br i1 %t41, label %loop.b10, label %loop.e8
+loop.b10:
+ %t42 = load ptr, ptr %sc_l_this_0
+ %t43 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t42, i64 0, i32 12
+ %t44 = load ptr, ptr %t43, !tbaa !152
+ %t45 = load i64, ptr %s35
+ %t46 = load i64, ptr %s35
+ %t47 = sitofp i64 %t46 to double
+ %t48 = trunc i64 %t46 to i32
+ %t52 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 2
+ %t53 = load i64, ptr %t52, !tbaa !2
+ %t54 = icmp ult i64 %t45, %t53
+ br i1 %t54, label %local.array.range15, label %local.array.slow12
+local.array.range15:
+ br label %local.array.dense16
+local.array.dense16:
+ %t55 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 6
+ %t56 = load i32, ptr %t55, !tbaa !2
+ %t58 = zext i32 %t56 to i64
+ %t57 = icmp ult i64 %t45, %t58
+ br i1 %t57, label %local.array.value18, label %local.array.len17
+local.array.len17:
+ %t59 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 1
+ %t60 = load i64, ptr %t59, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t61 = icmp ult i64 %t45, %t60
+ br i1 %t61, label %local.array.state19, label %local.array.missing13
+local.array.state19:
+ %t62 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 9
+ %t63 = load ptr, ptr %t62, !tbaa !2
+ %t64 = getelementptr inbounds i8, ptr %t63, i64 %t45
+ %t65 = load i8, ptr %t64, !tbaa !4
+ %t66 = icmp eq i8 %t65, 1
+ br i1 %t66, label %local.array.value18, label %local.array.missing13
+local.array.value18:
+ %t67 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 8
+ %t68 = load ptr, ptr %t67, !tbaa !2
+ %t69 = getelementptr inbounds i64, ptr %t68, i64 %t45
+ %t70 = load i64, ptr %t69, !tbaa !6
+ store i64 %t70, ptr %s50
+ store i32 0, ptr %s51
+ br label %local.array.join14
+local.array.slow12:
+ %t71 = call double @scr_arr_state(ptr %t44, double %t47) cold memory(read, inaccessiblemem: readwrite)
+ %t72 = fcmp oeq double %t71, 1.0
+ br i1 %t72, label %local.array.slow.value20, label %local.array.missing13
+local.array.slow.value20:
+ %t73 = call double @scr_arr_get_f64(ptr %t44, double %t47) cold memory(read, inaccessiblemem: readwrite)
+ %t74 = bitcast double %t73 to i64
+ store i64 %t74, ptr %s50
+ store i32 0, ptr %s51
+ br label %local.array.join14
+local.array.missing13:
+ store i64 0, ptr %s50
+ store i32 1, ptr %s51
+ br label %local.array.join14
+local.array.join14:
+ store ptr %s49, ptr %sc_l_idx_0
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_v_0
+ %t75 = load ptr, ptr %sc_l_idx_0
+ %t78 = getelementptr inbounds %ScrUnion, ptr %t75, i64 0, i32 1
+ %t77 = load i32, ptr %t78
+ %t76 = icmp eq i32 %t77, 1
+ br i1 %t76, label %tern.t21, label %tern.f22
+tern.t21:
+ store double 0x7FF8000000000000, ptr %s79
+ br label %tern.j23
+tern.f22:
+ %t81 = load ptr, ptr %sc_l_idx_0
+ %t82 = getelementptr inbounds %ScrUnion, ptr %t81, i64 0, i32 5
+ %t83 = load double, ptr %t82
+ store double %t83, ptr %s79
+ br label %tern.j23
+tern.j23:
+ %t84 = load double, ptr %s79
+ %t85 = load ptr, ptr %sc_l_segs_0
+ %t86 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 1
+ %t87 = load i64, ptr %t86, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t88 = sitofp i64 %t87 to double
+ %t90 = fptosi double %t88 to i64
+ %t89 = fcmp olt double %t84, %t88
+ br i1 %t89, label %if.t24, label %if.j25
+if.t24:
+ %t92 = load ptr, ptr %sc_l_segs_0
+ %t93 = load ptr, ptr %sc_l_idx_0
+ %t96 = getelementptr inbounds %ScrUnion, ptr %t93, i64 0, i32 1
+ %t95 = load i32, ptr %t96
+ %t94 = icmp eq i32 %t95, 1
+ br i1 %t94, label %tern.t26, label %tern.f27
+tern.t26:
+ store double 0x7FF8000000000000, ptr %s97
+ br label %tern.j28
+tern.f27:
+ %t99 = load ptr, ptr %sc_l_idx_0
+ %t100 = getelementptr inbounds %ScrUnion, ptr %t99, i64 0, i32 5
+ %t101 = load double, ptr %t100
+ store double %t101, ptr %s97
+ br label %tern.j28
+tern.j28:
+ %t102 = load double, ptr %s97
+ %t103 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 2
+ %t104 = load i64, ptr %t103, !tbaa !2
+ %t105 = fptosi double %t102 to i64
+ %t106 = freeze i64 %t105
+ %t107 = sitofp i64 %t106 to double
+ %t108 = fcmp oeq double %t107, %t102
+ %t109 = icmp ult i64 %t106, %t104
+ %t110 = and i1 %t108, %t109
+ br i1 %t110, label %local.array.range32, label %local.array.slow29
+local.array.range32:
+ br label %local.array.dense33
+local.array.dense33:
+ %t111 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 6
+ %t112 = load i32, ptr %t111, !tbaa !2
+ %t114 = zext i32 %t112 to i64
+ %t113 = icmp ult i64 %t106, %t114
+ br i1 %t113, label %local.array.value35, label %local.array.len34
+local.array.len34:
+ %t115 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 1
+ %t116 = load i64, ptr %t115, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t117 = icmp ult i64 %t106, %t116
+ br i1 %t117, label %local.array.state36, label %local.array.missing30
+local.array.state36:
+ %t118 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 9
+ %t119 = load ptr, ptr %t118, !tbaa !2
+ %t120 = getelementptr inbounds i8, ptr %t119, i64 %t106
+ %t121 = load i8, ptr %t120, !tbaa !4
+ %t122 = icmp eq i8 %t121, 1
+ br i1 %t122, label %local.array.value35, label %local.array.missing30
+local.array.value35:
+ %t123 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 8
+ %t124 = load ptr, ptr %t123, !tbaa !2
+ %t125 = getelementptr inbounds i64, ptr %t124, i64 %t106
+ %t126 = load ptr, ptr %t125, !tbaa !6
+ %t127 = call ptr @sc_rc_retain_str(ptr %t126)
+ store ptr %t127, ptr %s91
+ br label %local.array.join31
+local.array.slow29:
+ %t128 = call ptr @scr_arr_peek_ref(ptr %t92, double %t102)
+ %t129 = icmp ne ptr %t128, null
+ br i1 %t129, label %local.array.slow.value37, label %local.array.missing30
+local.array.slow.value37:
+ %t130 = call ptr @sc_rc_retain_str(ptr %t128)
+ store ptr %t130, ptr %s91
+ br label %local.array.join31
+local.array.missing30:
+ store ptr null, ptr %s91
+ br label %local.array.join31
+local.array.join31:
+ %t131 = load ptr, ptr %s91
+ %t134 = icmp eq ptr %t131, null
+ %t133 = select i1 %t134, i32 1, i32 0
+ switch i32 %t133, label %u.bad39 [ i32 0, label %u.a40 i32 1, label %u.a41 ]
+u.a40:
+ %t135 = call ptr @sc_rc_retain_str(ptr %t131)
+ store ptr %t135, ptr %s132
+ br label %us.j38
+u.a41:
+ store ptr @sc_lit_4134463689533233, ptr %s132
+ br label %us.j38
+u.bad39:
+ call void @sc_bad_tag()
+ unreachable
+us.j38:
+ %t136 = load ptr, ptr %s132
+ %t137 = load i32, ptr %exc.cell
+ %t138 = icmp ne i32 %t137, 0
+ %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false)
+ br i1 %t139, label %exc.u42, label %exc.k43
+exc.u42:
+ %t140 = load ptr, ptr %s91
+ call void @scr_str_release(ptr %t140)
+ call void @scr_str_release(ptr %t136)
+ br label %exc.cleanup44
+exc.k43:
+ %t141 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t141)
+ store ptr %t136, ptr %sc_l_v_0
+ %t142 = load ptr, ptr %s91
+ call void @scr_str_release(ptr %t142)
+ br label %if.j25
+if.j25:
+ %t143 = load ptr, ptr %sc_l_out_0
+ store ptr %t143, ptr %sc_l__x25_pushTarget_0
+ %t144 = load ptr, ptr %sc_l_pn_0
+ %t145 = load i64, ptr %s35
+ %t146 = load i64, ptr %s35
+ %t147 = sitofp i64 %t146 to double
+ %t148 = trunc i64 %t146 to i32
+ %t149 = getelementptr inbounds %ScrArr, ptr %t144, i32 0, i32 2
+ %t150 = load i64, ptr %t149, !tbaa !2
+ %t151 = icmp ult i64 %t145, %t150
+ br i1 %t151, label %local.array.range48, label %local.array.slow45
+local.array.range48:
+ br label %local.array.dense49
+local.array.dense49:
+ %t152 = getelementptr inbounds %ScrArr, ptr %t144, i32 0, i32 6
+ %t153 = load i32, ptr %t152, !tbaa !2
+ %t155 = zext i32 %t153 to i64
+ %t154 = icmp ult i64 %t145, %t155
+ br i1 %t154, label %local.array.value51, label %local.array.len50
+local.array.len50:
+ %t156 = getelementptr inbounds %ScrArr, ptr %t144, i32 0, i32 1
+ %t157 = load i64, ptr %t156, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t158 = icmp ult i64 %t145, %t157
+ br i1 %t158, label %local.array.state52, label %local.array.missing46
+local.array.state52:
+ %t159 = getelementptr inbounds %ScrArr, ptr %t144, i32 0, i32 9
+ %t160 = load ptr, ptr %t159, !tbaa !2
+ %t161 = getelementptr inbounds i8, ptr %t160, i64 %t145
+ %t162 = load i8, ptr %t161, !tbaa !4
+ %t163 = icmp eq i8 %t162, 1
+ br i1 %t163, label %local.array.value51, label %local.array.missing46
+local.array.value51:
+ %t164 = getelementptr inbounds %ScrArr, ptr %t144, i32 0, i32 8
+ %t165 = load ptr, ptr %t164, !tbaa !2
+ %t166 = getelementptr inbounds i64, ptr %t165, i64 %t145
+ %t167 = load ptr, ptr %t166, !tbaa !6
+ %t168 = call ptr @sc_rc_retain_str(ptr %t167)
+ store ptr %t168, ptr %sc_l__x25_pushValue_0
+ br label %local.array.join47
+local.array.slow45:
+ %t169 = call ptr @scr_arr_peek_ref(ptr %t144, double %t147)
+ %t170 = icmp ne ptr %t169, null
+ br i1 %t170, label %local.array.slow.value53, label %local.array.missing46
+local.array.slow.value53:
+ %t171 = call ptr @sc_rc_retain_str(ptr %t169)
+ store ptr %t171, ptr %sc_l__x25_pushValue_0
+ br label %local.array.join47
+local.array.missing46:
+ store ptr null, ptr %sc_l__x25_pushValue_0
+ br label %local.array.join47
+local.array.join47:
+ %t172 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t174 = icmp eq ptr %t172, null
+ br i1 %t174, label %if.t54, label %if.f56
+if.t54:
+ %t175 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t176 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t177 = getelementptr inbounds %ScrArr, ptr %t176, i32 0, i32 1
+ %t178 = load i64, ptr %t177, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t179 = sitofp i64 %t178 to double
+ call void @scr_arr_set_undefined(ptr %t175, double %t179)
+ br label %if.j55
+if.f56:
+ %t180 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t181 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t183 = icmp ne ptr %t181, null
+ br i1 %t183, label %tern.t57, label %tern.f58
+tern.t57:
+ %t185 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t186 = call ptr @sc_rc_retain_str(ptr %t185)
+ store ptr %t186, ptr %s184
+ br label %tern.j59
+tern.f58:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup60
+exc.dead61:
+ store ptr null, ptr %s184
+ br label %tern.j59
+tern.j59:
+ %t187 = load ptr, ptr %s184
+ %t188 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 1
+ %t189 = load i64, ptr %t188, !tbaa !2
+ %t192 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 2
+ %t190 = load i64, ptr %t192, !tbaa !2
+ %t191 = icmp ult i64 %t189, %t190
+ br i1 %t191, label %arr.push.dense62, label %arr.push.slow63
+arr.push.dense62:
+ %t193 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 8
+ %t195 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 9
+ %t194 = load ptr, ptr %t193, !tbaa !2
+ %t196 = load ptr, ptr %t195, !tbaa !2
+ %t197 = getelementptr inbounds i8, ptr %t196, i64 %t189
+ %t198 = getelementptr inbounds i64, ptr %t194, i64 %t189
+ store ptr %t187, ptr %t198, !tbaa !6
+ store i8 1, ptr %t197, !tbaa !4
+ %t199 = add nuw i64 %t189, 1
+ store i64 %t199, ptr %t188, !tbaa !2
+ %t201 = getelementptr inbounds %ScrArr, ptr %t180, i32 0, i32 6
+ %t202 = load i32, ptr %t201, !tbaa !2
+ %t206 = zext i32 %t202 to i64
+ %t203 = icmp eq i64 %t206, %t189
+ %t204 = add i32 %t202, 1
+ %t205 = select i1 %t203, i32 %t204, i32 %t202
+ store i32 %t205, ptr %t201, !tbaa !2
+ %t200 = sitofp i64 %t199 to double
+ br label %arr.push.join64
+arr.push.slow63:
+ %t207 = call double @scr_arr_push_ref(ptr %t180, ptr %t187) cold
+ br label %arr.push.join64
+arr.push.join64:
+ %t208 = phi double [ %t200, %arr.push.dense62 ], [ %t207, %arr.push.slow63 ]
+ br label %if.j55
+if.j55:
+ %t209 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t210 = getelementptr inbounds %ScrArr, ptr %t209, i32 0, i32 1
+ %t211 = load i64, ptr %t210, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t212 = sitofp i64 %t211 to double
+ %t213 = load ptr, ptr %sc_l__x25_pushValue_0
+ call void @scr_str_release(ptr %t213)
+ %t214 = load ptr, ptr %sc_l_out_0
+ %t215 = load ptr, ptr %sc_l_v_0
+ %t216 = call ptr @sc_bf__x25_m5_dec(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u65, label %exc.k66
+exc.u65:
+ call void @scr_str_release(ptr %t216)
+ br label %exc.cleanup44
+exc.k66:
+ %t220 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 1
+ %t221 = load i64, ptr %t220, !tbaa !2
+ %t224 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 2
+ %t222 = load i64, ptr %t224, !tbaa !2
+ %t223 = icmp ult i64 %t221, %t222
+ br i1 %t223, label %arr.push.dense67, label %arr.push.slow68
+arr.push.dense67:
+ %t225 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 8
+ %t227 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 9
+ %t226 = load ptr, ptr %t225, !tbaa !2
+ %t228 = load ptr, ptr %t227, !tbaa !2
+ %t229 = getelementptr inbounds i8, ptr %t228, i64 %t221
+ %t230 = getelementptr inbounds i64, ptr %t226, i64 %t221
+ store ptr %t216, ptr %t230, !tbaa !6
+ store i8 1, ptr %t229, !tbaa !4
+ %t231 = add nuw i64 %t221, 1
+ store i64 %t231, ptr %t220, !tbaa !2
+ %t233 = getelementptr inbounds %ScrArr, ptr %t214, i32 0, i32 6
+ %t234 = load i32, ptr %t233, !tbaa !2
+ %t238 = zext i32 %t234 to i64
+ %t235 = icmp eq i64 %t238, %t221
+ %t236 = add i32 %t234, 1
+ %t237 = select i1 %t235, i32 %t236, i32 %t234
+ store i32 %t237, ptr %t233, !tbaa !2
+ %t232 = sitofp i64 %t231 to double
+ br label %arr.push.join69
+arr.push.slow68:
+ %t239 = call double @scr_arr_push_ref(ptr %t214, ptr %t216) cold
+ br label %arr.push.join69
+arr.push.join69:
+ %t240 = phi double [ %t232, %arr.push.dense67 ], [ %t239, %arr.push.slow68 ]
+ %t241 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t241)
+ br label %loop.u11
+loop.u11:
+ %t242 = load i64, ptr %s35
+ %t243 = add nuw i64 %t242, 1
+ store i64 %t243, ptr %s35
+ br label %loop.c9
+loop.e8:
+ %t244 = load double, ptr %sc_l_sp_0
+ %t245 = fcmp oge double %t244, 0x0000000000000000
+ br i1 %t245, label %if.t70, label %if.j71
+if.t70:
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_tail_0
+ %t246 = load double, ptr %sc_l_sp_0
+ store double %t246, ptr %sc_l_j_0
+ br label %loop.c73
+loop.c73:
+ %t247 = load double, ptr %sc_l_j_0
+ %t248 = load ptr, ptr %sc_l_segs_0
+ %t249 = getelementptr inbounds %ScrArr, ptr %t248, i32 0, i32 1
+ %t250 = load i64, ptr %t249, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t251 = sitofp i64 %t250 to double
+ %t253 = fptosi double %t251 to i64
+ %t252 = fcmp olt double %t247, %t251
+ br i1 %t252, label %loop.b74, label %loop.e72
+loop.b74:
+ %t254 = load double, ptr %sc_l_j_0
+ %t255 = load double, ptr %sc_l_sp_0
+ %t256 = fcmp ogt double %t254, %t255
+ br i1 %t256, label %if.t76, label %if.j77
+if.t76:
+ %t257 = load ptr, ptr %sc_l_tail_0
+ %t258 = call ptr @scr_str_concat_move(ptr %t257, ptr @sc_lit_2434240011052594)
+ store ptr %t258, ptr %sc_l_tail_0
+ br label %if.j77
+if.j77:
+ %t260 = load ptr, ptr %sc_l_segs_0
+ %t261 = load double, ptr %sc_l_j_0
+ %t262 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 2
+ %t263 = load i64, ptr %t262, !tbaa !2
+ %t264 = fptosi double %t261 to i64
+ %t265 = freeze i64 %t264
+ %t266 = sitofp i64 %t265 to double
+ %t267 = fcmp oeq double %t266, %t261
+ %t268 = icmp ult i64 %t265, %t263
+ %t269 = and i1 %t267, %t268
+ br i1 %t269, label %local.array.range81, label %local.array.slow78
+local.array.range81:
+ br label %local.array.dense82
+local.array.dense82:
+ %t270 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 6
+ %t271 = load i32, ptr %t270, !tbaa !2
+ %t273 = zext i32 %t271 to i64
+ %t272 = icmp ult i64 %t265, %t273
+ br i1 %t272, label %local.array.value84, label %local.array.len83
+local.array.len83:
+ %t274 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 1
+ %t275 = load i64, ptr %t274, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t276 = icmp ult i64 %t265, %t275
+ br i1 %t276, label %local.array.state85, label %local.array.missing79
+local.array.state85:
+ %t277 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 9
+ %t278 = load ptr, ptr %t277, !tbaa !2
+ %t279 = getelementptr inbounds i8, ptr %t278, i64 %t265
+ %t280 = load i8, ptr %t279, !tbaa !4
+ %t281 = icmp eq i8 %t280, 1
+ br i1 %t281, label %local.array.value84, label %local.array.missing79
+local.array.value84:
+ %t282 = getelementptr inbounds %ScrArr, ptr %t260, i32 0, i32 8
+ %t283 = load ptr, ptr %t282, !tbaa !2
+ %t284 = getelementptr inbounds i64, ptr %t283, i64 %t265
+ %t285 = load ptr, ptr %t284, !tbaa !6
+ %t286 = call ptr @sc_rc_retain_str(ptr %t285)
+ store ptr %t286, ptr %s259
+ br label %local.array.join80
+local.array.slow78:
+ %t287 = call ptr @scr_arr_peek_ref(ptr %t260, double %t261)
+ %t288 = icmp ne ptr %t287, null
+ br i1 %t288, label %local.array.slow.value86, label %local.array.missing79
+local.array.slow.value86:
+ %t289 = call ptr @sc_rc_retain_str(ptr %t287)
+ store ptr %t289, ptr %s259
+ br label %local.array.join80
+local.array.missing79:
+ store ptr null, ptr %s259
+ br label %local.array.join80
+local.array.join80:
+ %t290 = load ptr, ptr %s259
+ %t293 = icmp eq ptr %t290, null
+ %t292 = select i1 %t293, i32 1, i32 0
+ switch i32 %t292, label %u.bad88 [ i32 0, label %u.a89 i32 1, label %u.a90 ]
+u.a89:
+ %t294 = call ptr @sc_rc_retain_str(ptr %t290)
+ store ptr %t294, ptr %s291
+ br label %us.j87
+u.a90:
+ store ptr @sc_lit_4134463689533233, ptr %s291
+ br label %us.j87
+u.bad88:
+ call void @sc_bad_tag()
+ unreachable
+us.j87:
+ %t295 = load ptr, ptr %s291
+ %t296 = load i32, ptr %exc.cell
+ %t297 = icmp ne i32 %t296, 0
+ %t298 = call i1 @llvm.expect.i1(i1 %t297, i1 false)
+ br i1 %t298, label %exc.u91, label %exc.k92
+exc.u91:
+ %t299 = load ptr, ptr %s259
+ call void @scr_str_release(ptr %t299)
+ call void @scr_str_release(ptr %t295)
+ br label %exc.cleanup93
+exc.k92:
+ %t300 = load ptr, ptr %sc_l_tail_0
+ %t301 = call ptr @scr_str_concat_move(ptr %t300, ptr %t295)
+ store ptr %t301, ptr %sc_l_tail_0
+ %t302 = load ptr, ptr %s259
+ call void @scr_str_release(ptr %t302)
+ call void @scr_str_release(ptr %t295)
+ br label %loop.u75
+loop.u75:
+ %t303 = load double, ptr %sc_l_j_0
+ %t304 = fadd double %t303, 0x3FF0000000000000
+ store double %t304, ptr %sc_l_j_0
+ br label %loop.c73
+loop.e72:
+ %t305 = load ptr, ptr %sc_l_out_0
+ %t306 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 1
+ %t307 = load i64, ptr %t306, !tbaa !2
+ %t310 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 2
+ %t308 = load i64, ptr %t310, !tbaa !2
+ %t309 = icmp ult i64 %t307, %t308
+ br i1 %t309, label %arr.push.dense94, label %arr.push.slow95
+arr.push.dense94:
+ %t311 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 8
+ %t313 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 9
+ %t312 = load ptr, ptr %t311, !tbaa !2
+ %t314 = load ptr, ptr %t313, !tbaa !2
+ %t315 = getelementptr inbounds i8, ptr %t314, i64 %t307
+ %t316 = getelementptr inbounds i64, ptr %t312, i64 %t307
+ store ptr @sc_lit_1834571860458263, ptr %t316, !tbaa !6
+ store i8 1, ptr %t315, !tbaa !4
+ %t317 = add nuw i64 %t307, 1
+ store i64 %t317, ptr %t306, !tbaa !2
+ %t319 = getelementptr inbounds %ScrArr, ptr %t305, i32 0, i32 6
+ %t320 = load i32, ptr %t319, !tbaa !2
+ %t324 = zext i32 %t320 to i64
+ %t321 = icmp eq i64 %t324, %t307
+ %t322 = add i32 %t320, 1
+ %t323 = select i1 %t321, i32 %t322, i32 %t320
+ store i32 %t323, ptr %t319, !tbaa !2
+ %t318 = sitofp i64 %t317 to double
+ br label %arr.push.join96
+arr.push.slow95:
+ %t325 = call double @scr_arr_push_ref(ptr %t305, ptr @sc_lit_1834571860458263) cold
+ br label %arr.push.join96
+arr.push.join96:
+ %t326 = phi double [ %t318, %arr.push.dense94 ], [ %t325, %arr.push.slow95 ]
+ %t327 = load ptr, ptr %sc_l_out_0
+ %t328 = load ptr, ptr %sc_l_tail_0
+ %t329 = call ptr @sc_bf__x25_m5_dec(ptr %t328)
+ %t330 = load i32, ptr %exc.cell
+ %t331 = icmp ne i32 %t330, 0
+ %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false)
+ br i1 %t332, label %exc.u97, label %exc.k98
+exc.u97:
+ call void @scr_str_release(ptr %t329)
+ br label %exc.cleanup93
+exc.k98:
+ %t333 = getelementptr inbounds %ScrArr, ptr %t327, i32 0, i32 1
+ %t334 = load i64, ptr %t333, !tbaa !2
+ %t337 = getelementptr inbounds %ScrArr, ptr %t327, i32 0, i32 2
+ %t335 = load i64, ptr %t337, !tbaa !2
+ %t336 = icmp ult i64 %t334, %t335
+ br i1 %t336, label %arr.push.dense99, label %arr.push.slow100
+arr.push.dense99:
+ %t338 = getelementptr inbounds %ScrArr, ptr %t327, i32 0, i32 8
+ %t340 = getelementptr inbounds %ScrArr, ptr %t327, i32 0, i32 9
+ %t339 = load ptr, ptr %t338, !tbaa !2
+ %t341 = load ptr, ptr %t340, !tbaa !2
+ %t342 = getelementptr inbounds i8, ptr %t341, i64 %t334
+ %t343 = getelementptr inbounds i64, ptr %t339, i64 %t334
+ store ptr %t329, ptr %t343, !tbaa !6
+ store i8 1, ptr %t342, !tbaa !4
+ %t344 = add nuw i64 %t334, 1
+ store i64 %t344, ptr %t333, !tbaa !2
+ %t346 = getelementptr inbounds %ScrArr, ptr %t327, i32 0, i32 6
+ %t347 = load i32, ptr %t346, !tbaa !2
+ %t351 = zext i32 %t347 to i64
+ %t348 = icmp eq i64 %t351, %t334
+ %t349 = add i32 %t347, 1
+ %t350 = select i1 %t348, i32 %t349, i32 %t347
+ store i32 %t350, ptr %t346, !tbaa !2
+ %t345 = sitofp i64 %t344 to double
+ br label %arr.push.join101
+arr.push.slow100:
+ %t352 = call double @scr_arr_push_ref(ptr %t327, ptr %t329) cold
+ br label %arr.push.join101
+arr.push.join101:
+ %t353 = phi double [ %t345, %arr.push.dense99 ], [ %t352, %arr.push.slow100 ]
+ %t354 = load ptr, ptr %sc_l_tail_0
+ call void @scr_str_release(ptr %t354)
+ br label %if.j71
+if.j71:
+ %t355 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t355)
+ br label %if.j7
+if.j7:
+ %t356 = load ptr, ptr %sc_l_this_0
+ %t357 = load ptr, ptr %sc_l_out_0
+ %t358 = call ptr @scr_arr_retain_v(ptr %t357)
+ %t359 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t356, i64 0, i32 10
+ %t360 = load ptr, ptr %t359
+ store ptr %t358, ptr %t359, !tbaa !148
+ call void @scr_arr_release(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_out_0
+ %t362 = load ptr, ptr %sc_l_pm_0
+ call void @scr_arr_release(ptr %t362)
+ ret ptr %t361
+exc.cleanup44:
+ %t363 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t363)
+ %t364 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t364)
+ %t365 = load ptr, ptr %sc_l_pm_0
+ call void @scr_arr_release(ptr %t365)
+ %t366 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t366)
+ ret ptr null
+exc.cleanup60:
+ %t367 = load ptr, ptr %sc_l__x25_pushValue_0
+ call void @scr_str_release(ptr %t367)
+ %t368 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t368)
+ %t369 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t369)
+ %t370 = load ptr, ptr %sc_l_pm_0
+ call void @scr_arr_release(ptr %t370)
+ %t371 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t371)
+ ret ptr null
+exc.cleanup93:
+ %t372 = load ptr, ptr %sc_l_tail_0
+ call void @scr_str_release(ptr %t372)
+ %t373 = load ptr, ptr %sc_l_segs_0
+ call void @scr_arr_release(ptr %t373)
+ %t374 = load ptr, ptr %sc_l_pm_0
+ call void @scr_arr_release(ptr %t374)
+ %t375 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t375)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore__pmNow(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore__pmNow(ptr %p0)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_query(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.query
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l_n_0 = alloca ptr ; n
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_qp_0 = alloca ptr ; qp
+ %sc_l_i_0 = alloca double ; i
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s15 = alloca ptr
+ %s45 = alloca ptr
+ %s78 = alloca i1
+ %s88 = alloca ptr
+ %s121 = alloca ptr
+ store ptr null, ptr %sc_l_n_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_qp_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_name_0
+ store ptr %t4, ptr %sc_l_n_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ store ptr %t5, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t7 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t6)
+ %t8 = load i32, ptr %exc.cell
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t7)
+ ret ptr null
+exc.k3:
+ store ptr %t7, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 6
+ br i1 %t14, label %tern.t4, label %tern.f5
+tern.t4:
+ %t17 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t17)
+ store ptr %t16, ptr %s15
+ br label %tern.j6
+tern.f5:
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = call ptr @sc_rc_retain_dyn(ptr %t18)
+ %t20 = call ptr @sc_f__x25_dyn_class_property_23(ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t20, ptr %s15
+ br label %tern.j6
+tern.j6:
+ %t24 = load ptr, ptr %s15
+ store ptr %t24, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t27)
+ %t28 = call ptr @scr_dyn_call(ptr %t25, ptr null, i64 0, ptr @sc_cs_2820593363530420)
+ call void @scr_dyn_this_pop()
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ br label %exc.cleanup12
+exc.k11:
+ %t32 = call ptr @sc_dc_1(ptr %t28, ptr null)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @scr_arr_release(ptr %t32)
+ br label %exc.cleanup12
+exc.k14:
+ store ptr %t32, ptr %sc_l_qp_0
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c16
+loop.c16:
+ %t38 = load double, ptr %sc_l_i_0
+ %t39 = load ptr, ptr %sc_l_qp_0
+ %t40 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 1
+ %t41 = load i64, ptr %t40, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t42 = sitofp i64 %t41 to double
+ %t44 = fptosi double %t42 to i64
+ %t43 = fcmp olt double %t38, %t42
+ br i1 %t43, label %loop.b17, label %loop.e15
+loop.b17:
+ %t46 = load ptr, ptr %sc_l_qp_0
+ %t47 = load double, ptr %sc_l_i_0
+ %t48 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 2
+ %t49 = load i64, ptr %t48, !tbaa !2
+ %t50 = fptosi double %t47 to i64
+ %t51 = freeze i64 %t50
+ %t52 = sitofp i64 %t51 to double
+ %t53 = fcmp oeq double %t52, %t47
+ %t54 = icmp ult i64 %t51, %t49
+ %t55 = and i1 %t53, %t54
+ br i1 %t55, label %local.array.range22, label %local.array.slow19
+local.array.range22:
+ br label %local.array.dense23
+local.array.dense23:
+ %t56 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 6
+ %t57 = load i32, ptr %t56, !tbaa !2
+ %t59 = zext i32 %t57 to i64
+ %t58 = icmp ult i64 %t51, %t59
+ br i1 %t58, label %local.array.value25, label %local.array.len24
+local.array.len24:
+ %t60 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 1
+ %t61 = load i64, ptr %t60, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t62 = icmp ult i64 %t51, %t61
+ br i1 %t62, label %local.array.state26, label %local.array.missing20
+local.array.state26:
+ %t63 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 9
+ %t64 = load ptr, ptr %t63, !tbaa !2
+ %t65 = getelementptr inbounds i8, ptr %t64, i64 %t51
+ %t66 = load i8, ptr %t65, !tbaa !4
+ %t67 = icmp eq i8 %t66, 1
+ br i1 %t67, label %local.array.value25, label %local.array.missing20
+local.array.value25:
+ %t68 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 8
+ %t69 = load ptr, ptr %t68, !tbaa !2
+ %t70 = getelementptr inbounds i64, ptr %t69, i64 %t51
+ %t71 = load ptr, ptr %t70, !tbaa !6
+ %t72 = call ptr @sc_rc_retain_str(ptr %t71)
+ store ptr %t72, ptr %s45
+ br label %local.array.join21
+local.array.slow19:
+ %t73 = call ptr @scr_arr_peek_ref(ptr %t46, double %t47)
+ %t74 = icmp ne ptr %t73, null
+ br i1 %t74, label %local.array.slow.value27, label %local.array.missing20
+local.array.slow.value27:
+ %t75 = call ptr @sc_rc_retain_str(ptr %t73)
+ store ptr %t75, ptr %s45
+ br label %local.array.join21
+local.array.missing20:
+ store ptr null, ptr %s45
+ br label %local.array.join21
+local.array.join21:
+ %t76 = load ptr, ptr %s45
+ %t77 = load ptr, ptr %sc_l_n_0
+ %t79 = icmp eq ptr %t76, %t77
+ %t81 = icmp ne ptr %t76, null
+ %t82 = icmp ne ptr %t77, null
+ %t80 = and i1 %t81, %t82
+ store i1 %t79, ptr %s78
+ %t83 = xor i1 %t79, true
+ %t84 = and i1 %t83, %t80
+ br i1 %t84, label %ues.b28, label %ues.j29
+ues.b28:
+ %t85 = call zeroext i1 @sc_str_eq(ptr %t76, ptr %t77)
+ store i1 %t85, ptr %s78
+ br label %ues.j29
+ues.j29:
+ %t86 = load i1, ptr %s78
+ %t87 = load ptr, ptr %s45
+ call void @scr_str_release(ptr %t87)
+ br i1 %t86, label %if.t30, label %if.j31
+if.t30:
+ %t89 = load ptr, ptr %sc_l_qp_0
+ %t90 = load double, ptr %sc_l_i_0
+ %t91 = fadd double %t90, 0x3FF0000000000000
+ %t92 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 2
+ %t93 = load i64, ptr %t92, !tbaa !2
+ %t94 = fptosi double %t91 to i64
+ %t95 = freeze i64 %t94
+ %t96 = sitofp i64 %t95 to double
+ %t97 = fcmp oeq double %t96, %t91
+ %t98 = icmp ult i64 %t95, %t93
+ %t99 = and i1 %t97, %t98
+ br i1 %t99, label %local.array.range35, label %local.array.slow32
+local.array.range35:
+ br label %local.array.dense36
+local.array.dense36:
+ %t100 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 6
+ %t101 = load i32, ptr %t100, !tbaa !2
+ %t103 = zext i32 %t101 to i64
+ %t102 = icmp ult i64 %t95, %t103
+ br i1 %t102, label %local.array.value38, label %local.array.len37
+local.array.len37:
+ %t104 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 1
+ %t105 = load i64, ptr %t104, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t106 = icmp ult i64 %t95, %t105
+ br i1 %t106, label %local.array.state39, label %local.array.missing33
+local.array.state39:
+ %t107 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 9
+ %t108 = load ptr, ptr %t107, !tbaa !2
+ %t109 = getelementptr inbounds i8, ptr %t108, i64 %t95
+ %t110 = load i8, ptr %t109, !tbaa !4
+ %t111 = icmp eq i8 %t110, 1
+ br i1 %t111, label %local.array.value38, label %local.array.missing33
+local.array.value38:
+ %t112 = getelementptr inbounds %ScrArr, ptr %t89, i32 0, i32 8
+ %t113 = load ptr, ptr %t112, !tbaa !2
+ %t114 = getelementptr inbounds i64, ptr %t113, i64 %t95
+ %t115 = load ptr, ptr %t114, !tbaa !6
+ %t116 = call ptr @sc_rc_retain_str(ptr %t115)
+ store ptr %t116, ptr %s88
+ br label %local.array.join34
+local.array.slow32:
+ %t117 = call ptr @scr_arr_peek_ref(ptr %t89, double %t91)
+ %t118 = icmp ne ptr %t117, null
+ br i1 %t118, label %local.array.slow.value40, label %local.array.missing33
+local.array.slow.value40:
+ %t119 = call ptr @sc_rc_retain_str(ptr %t117)
+ store ptr %t119, ptr %s88
+ br label %local.array.join34
+local.array.missing33:
+ store ptr null, ptr %s88
+ br label %local.array.join34
+local.array.join34:
+ %t120 = load ptr, ptr %s88
+ %t123 = icmp eq ptr %t120, null
+ %t122 = select i1 %t123, i32 1, i32 0
+ switch i32 %t122, label %u.bad42 [ i32 0, label %u.a43 i32 1, label %u.a44 ]
+u.a43:
+ %t124 = call ptr @sc_rc_retain_str(ptr %t120)
+ store ptr %t124, ptr %s121
+ br label %us.j41
+u.a44:
+ store ptr @sc_lit_4134463689533233, ptr %s121
+ br label %us.j41
+u.bad42:
+ call void @sc_bad_tag()
+ unreachable
+us.j41:
+ %t125 = load ptr, ptr %s121
+ %t126 = load i32, ptr %exc.cell
+ %t127 = icmp ne i32 %t126, 0
+ %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false)
+ br i1 %t128, label %exc.u45, label %exc.k46
+exc.u45:
+ %t129 = load ptr, ptr %s88
+ call void @scr_str_release(ptr %t129)
+ call void @scr_str_release(ptr %t125)
+ br label %exc.cleanup47
+exc.k46:
+ %t130 = load ptr, ptr %s88
+ call void @scr_str_release(ptr %t130)
+ %t131 = load ptr, ptr %sc_l_qp_0
+ call void @scr_arr_release(ptr %t131)
+ ret ptr %t125
+if.j31:
+ br label %loop.u18
+loop.u18:
+ %t132 = load double, ptr %sc_l_i_0
+ %t133 = fadd double %t132, 0x4000000000000000
+ store double %t133, ptr %sc_l_i_0
+ br label %loop.c16
+loop.e15:
+ %t134 = load ptr, ptr %sc_l_qp_0
+ call void @scr_arr_release(ptr %t134)
+ ret ptr null
+exc.cleanup9:
+ %t135 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t135)
+ ret ptr null
+exc.cleanup12:
+ %t136 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t136)
+ %t137 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t137)
+ ret ptr null
+exc.cleanup47:
+ %t138 = load ptr, ptr %sc_l_qp_0
+ call void @scr_arr_release(ptr %t138)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_query(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_query(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_queryAll(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore.queryAll
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_qp_0 = alloca ptr ; qp
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca double ; i
+ %sc_l_k_0 = alloca ptr ; k
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s45 = alloca ptr
+ %s77 = alloca ptr
+ %s91 = alloca ptr
+ %s124 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_qp_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_k_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_23(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t27 = call ptr @scr_dyn_call(ptr %t24, ptr null, i64 0, ptr @sc_cs_2820593363530420)
+ call void @scr_dyn_this_pop()
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup12
+exc.k11:
+ %t31 = call ptr @sc_dc_1(ptr %t27, ptr null)
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @scr_arr_release(ptr %t31)
+ br label %exc.cleanup12
+exc.k14:
+ store ptr %t31, ptr %sc_l_qp_0
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ %t35 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t35)
+ %t36 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = call ptr @sc_rnew_r0()
+ store ptr %t37, ptr %sc_l_out_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c16
+loop.c16:
+ %t38 = load double, ptr %sc_l_i_0
+ %t39 = load ptr, ptr %sc_l_qp_0
+ %t40 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 1
+ %t41 = load i64, ptr %t40, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t42 = sitofp i64 %t41 to double
+ %t44 = fptosi double %t42 to i64
+ %t43 = fcmp olt double %t38, %t42
+ br i1 %t43, label %loop.b17, label %loop.e15
+loop.b17:
+ %t46 = load ptr, ptr %sc_l_qp_0
+ %t47 = load double, ptr %sc_l_i_0
+ %t48 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 2
+ %t49 = load i64, ptr %t48, !tbaa !2
+ %t50 = fptosi double %t47 to i64
+ %t51 = freeze i64 %t50
+ %t52 = sitofp i64 %t51 to double
+ %t53 = fcmp oeq double %t52, %t47
+ %t54 = icmp ult i64 %t51, %t49
+ %t55 = and i1 %t53, %t54
+ br i1 %t55, label %local.array.range22, label %local.array.slow19
+local.array.range22:
+ br label %local.array.dense23
+local.array.dense23:
+ %t56 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 6
+ %t57 = load i32, ptr %t56, !tbaa !2
+ %t59 = zext i32 %t57 to i64
+ %t58 = icmp ult i64 %t51, %t59
+ br i1 %t58, label %local.array.value25, label %local.array.len24
+local.array.len24:
+ %t60 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 1
+ %t61 = load i64, ptr %t60, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t62 = icmp ult i64 %t51, %t61
+ br i1 %t62, label %local.array.state26, label %local.array.missing20
+local.array.state26:
+ %t63 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 9
+ %t64 = load ptr, ptr %t63, !tbaa !2
+ %t65 = getelementptr inbounds i8, ptr %t64, i64 %t51
+ %t66 = load i8, ptr %t65, !tbaa !4
+ %t67 = icmp eq i8 %t66, 1
+ br i1 %t67, label %local.array.value25, label %local.array.missing20
+local.array.value25:
+ %t68 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 8
+ %t69 = load ptr, ptr %t68, !tbaa !2
+ %t70 = getelementptr inbounds i64, ptr %t69, i64 %t51
+ %t71 = load ptr, ptr %t70, !tbaa !6
+ %t72 = call ptr @sc_rc_retain_str(ptr %t71)
+ store ptr %t72, ptr %s45
+ br label %local.array.join21
+local.array.slow19:
+ %t73 = call ptr @scr_arr_peek_ref(ptr %t46, double %t47)
+ %t74 = icmp ne ptr %t73, null
+ br i1 %t74, label %local.array.slow.value27, label %local.array.missing20
+local.array.slow.value27:
+ %t75 = call ptr @sc_rc_retain_str(ptr %t73)
+ store ptr %t75, ptr %s45
+ br label %local.array.join21
+local.array.missing20:
+ store ptr null, ptr %s45
+ br label %local.array.join21
+local.array.join21:
+ %t76 = load ptr, ptr %s45
+ %t79 = icmp eq ptr %t76, null
+ %t78 = select i1 %t79, i32 1, i32 0
+ switch i32 %t78, label %u.bad29 [ i32 0, label %u.a30 i32 1, label %u.a31 ]
+u.a30:
+ %t80 = call ptr @sc_rc_retain_str(ptr %t76)
+ store ptr %t80, ptr %s77
+ br label %us.j28
+u.a31:
+ store ptr @sc_lit_4134463689533233, ptr %s77
+ br label %us.j28
+u.bad29:
+ call void @sc_bad_tag()
+ unreachable
+us.j28:
+ %t81 = load ptr, ptr %s77
+ %t82 = load i32, ptr %exc.cell
+ %t83 = icmp ne i32 %t82, 0
+ %t84 = call i1 @llvm.expect.i1(i1 %t83, i1 false)
+ br i1 %t84, label %exc.u32, label %exc.k33
+exc.u32:
+ %t85 = load ptr, ptr %s45
+ call void @scr_str_release(ptr %t85)
+ call void @scr_str_release(ptr %t81)
+ br label %exc.cleanup34
+exc.k33:
+ store ptr %t81, ptr %sc_l_k_0
+ %t86 = load ptr, ptr %s45
+ call void @scr_str_release(ptr %t86)
+ %t87 = load ptr, ptr %sc_l_out_0
+ %t88 = call ptr @sc_rretain_r0(ptr %t87)
+ %t89 = load ptr, ptr %sc_l_k_0
+ %t90 = call ptr @sc_rc_retain_str(ptr %t89)
+ %t92 = load ptr, ptr %sc_l_qp_0
+ %t93 = load double, ptr %sc_l_i_0
+ %t94 = fadd double %t93, 0x3FF0000000000000
+ %t95 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 2
+ %t96 = load i64, ptr %t95, !tbaa !2
+ %t97 = fptosi double %t94 to i64
+ %t98 = freeze i64 %t97
+ %t99 = sitofp i64 %t98 to double
+ %t100 = fcmp oeq double %t99, %t94
+ %t101 = icmp ult i64 %t98, %t96
+ %t102 = and i1 %t100, %t101
+ br i1 %t102, label %local.array.range38, label %local.array.slow35
+local.array.range38:
+ br label %local.array.dense39
+local.array.dense39:
+ %t103 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 6
+ %t104 = load i32, ptr %t103, !tbaa !2
+ %t106 = zext i32 %t104 to i64
+ %t105 = icmp ult i64 %t98, %t106
+ br i1 %t105, label %local.array.value41, label %local.array.len40
+local.array.len40:
+ %t107 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 1
+ %t108 = load i64, ptr %t107, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t109 = icmp ult i64 %t98, %t108
+ br i1 %t109, label %local.array.state42, label %local.array.missing36
+local.array.state42:
+ %t110 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 9
+ %t111 = load ptr, ptr %t110, !tbaa !2
+ %t112 = getelementptr inbounds i8, ptr %t111, i64 %t98
+ %t113 = load i8, ptr %t112, !tbaa !4
+ %t114 = icmp eq i8 %t113, 1
+ br i1 %t114, label %local.array.value41, label %local.array.missing36
+local.array.value41:
+ %t115 = getelementptr inbounds %ScrArr, ptr %t92, i32 0, i32 8
+ %t116 = load ptr, ptr %t115, !tbaa !2
+ %t117 = getelementptr inbounds i64, ptr %t116, i64 %t98
+ %t118 = load ptr, ptr %t117, !tbaa !6
+ %t119 = call ptr @sc_rc_retain_str(ptr %t118)
+ store ptr %t119, ptr %s91
+ br label %local.array.join37
+local.array.slow35:
+ %t120 = call ptr @scr_arr_peek_ref(ptr %t92, double %t94)
+ %t121 = icmp ne ptr %t120, null
+ br i1 %t121, label %local.array.slow.value43, label %local.array.missing36
+local.array.slow.value43:
+ %t122 = call ptr @sc_rc_retain_str(ptr %t120)
+ store ptr %t122, ptr %s91
+ br label %local.array.join37
+local.array.missing36:
+ store ptr null, ptr %s91
+ br label %local.array.join37
+local.array.join37:
+ %t123 = load ptr, ptr %s91
+ %t126 = icmp eq ptr %t123, null
+ %t125 = select i1 %t126, i32 1, i32 0
+ switch i32 %t125, label %u.bad45 [ i32 0, label %u.a46 i32 1, label %u.a47 ]
+u.a46:
+ %t127 = call ptr @sc_rc_retain_str(ptr %t123)
+ store ptr %t127, ptr %s124
+ br label %us.j44
+u.a47:
+ store ptr @sc_lit_4134463689533233, ptr %s124
+ br label %us.j44
+u.bad45:
+ call void @sc_bad_tag()
+ unreachable
+us.j44:
+ %t128 = load ptr, ptr %s124
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rrelease_r0(ptr %t88)
+ call void @scr_str_release(ptr %t90)
+ %t132 = load ptr, ptr %s91
+ call void @scr_str_release(ptr %t132)
+ call void @scr_str_release(ptr %t128)
+ br label %exc.cleanup50
+exc.k49:
+ %t133 = getelementptr inbounds %sc_rs_r0, ptr %t88, i64 0, i32 1
+ %t134 = load ptr, ptr %t133
+ call void @scr_map_set_str_ref(ptr %t134, ptr %t90, ptr %t128)
+ br label %rks.j51
+rks.j51:
+ call void @sc_rrelease_r0(ptr %t88)
+ call void @scr_str_release(ptr %t90)
+ %t135 = load ptr, ptr %s91
+ call void @scr_str_release(ptr %t135)
+ %t136 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t136)
+ br label %loop.u18
+loop.u18:
+ %t137 = load double, ptr %sc_l_i_0
+ %t138 = fadd double %t137, 0x4000000000000000
+ store double %t138, ptr %sc_l_i_0
+ br label %loop.c16
+loop.e15:
+ %t139 = load ptr, ptr %sc_l_out_0
+ %t140 = load ptr, ptr %sc_l_qp_0
+ call void @scr_arr_release(ptr %t140)
+ ret ptr %t139
+exc.cleanup9:
+ %t141 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t141)
+ ret ptr null
+exc.cleanup12:
+ %t142 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t142)
+ %t143 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t143)
+ ret ptr null
+exc.cleanup34:
+ %t144 = load ptr, ptr %sc_l_qp_0
+ call void @scr_arr_release(ptr %t144)
+ %t145 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r0(ptr %t145)
+ ret ptr null
+exc.cleanup50:
+ %t146 = load ptr, ptr %sc_l_k_0
+ call void @scr_str_release(ptr %t146)
+ %t147 = load ptr, ptr %sc_l_qp_0
+ call void @scr_arr_release(ptr %t147)
+ %t148 = load ptr, ptr %sc_l_out_0
+ call void @sc_rrelease_r0(ptr %t148)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_queryAll(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_queryAll(ptr %p0)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_queries(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.queries
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l_n_0 = alloca ptr ; n
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_qp_0 = alloca ptr ; qp
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca double ; i
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s15 = alloca ptr
+ %s45 = alloca ptr
+ %s78 = alloca i1
+ %s95 = alloca ptr
+ %s128 = alloca ptr
+ store ptr null, ptr %sc_l_n_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_qp_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_name_0
+ store ptr %t4, ptr %sc_l_n_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ store ptr %t5, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t7 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t6)
+ %t8 = load i32, ptr %exc.cell
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t7)
+ ret ptr null
+exc.k3:
+ store ptr %t7, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t12 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t13 = load i32, ptr %t12
+ %t14 = icmp eq i32 %t13, 6
+ br i1 %t14, label %tern.t4, label %tern.f5
+tern.t4:
+ %t17 = call ptr @scr_dyn_undefined()
+ %t16 = call ptr @scr_dyn_retain_v(ptr %t17)
+ store ptr %t16, ptr %s15
+ br label %tern.j6
+tern.f5:
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = call ptr @sc_rc_retain_dyn(ptr %t18)
+ %t20 = call ptr @sc_f__x25_dyn_class_property_23(ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t20, ptr %s15
+ br label %tern.j6
+tern.j6:
+ %t24 = load ptr, ptr %s15
+ store ptr %t24, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t27)
+ %t28 = call ptr @scr_dyn_call(ptr %t25, ptr null, i64 0, ptr @sc_cs_2820593363530420)
+ call void @scr_dyn_this_pop()
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ br label %exc.cleanup12
+exc.k11:
+ %t32 = call ptr @sc_dc_1(ptr %t28, ptr null)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @scr_arr_release(ptr %t32)
+ br label %exc.cleanup12
+exc.k14:
+ store ptr %t32, ptr %sc_l_qp_0
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t28)
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ store ptr null, ptr %sc_l_out_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c16
+loop.c16:
+ %t38 = load double, ptr %sc_l_i_0
+ %t39 = load ptr, ptr %sc_l_qp_0
+ %t40 = getelementptr inbounds %ScrArr, ptr %t39, i32 0, i32 1
+ %t41 = load i64, ptr %t40, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t42 = sitofp i64 %t41 to double
+ %t44 = fptosi double %t42 to i64
+ %t43 = fcmp olt double %t38, %t42
+ br i1 %t43, label %loop.b17, label %loop.e15
+loop.b17:
+ %t46 = load ptr, ptr %sc_l_qp_0
+ %t47 = load double, ptr %sc_l_i_0
+ %t48 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 2
+ %t49 = load i64, ptr %t48, !tbaa !2
+ %t50 = fptosi double %t47 to i64
+ %t51 = freeze i64 %t50
+ %t52 = sitofp i64 %t51 to double
+ %t53 = fcmp oeq double %t52, %t47
+ %t54 = icmp ult i64 %t51, %t49
+ %t55 = and i1 %t53, %t54
+ br i1 %t55, label %local.array.range22, label %local.array.slow19
+local.array.range22:
+ br label %local.array.dense23
+local.array.dense23:
+ %t56 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 6
+ %t57 = load i32, ptr %t56, !tbaa !2
+ %t59 = zext i32 %t57 to i64
+ %t58 = icmp ult i64 %t51, %t59
+ br i1 %t58, label %local.array.value25, label %local.array.len24
+local.array.len24:
+ %t60 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 1
+ %t61 = load i64, ptr %t60, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t62 = icmp ult i64 %t51, %t61
+ br i1 %t62, label %local.array.state26, label %local.array.missing20
+local.array.state26:
+ %t63 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 9
+ %t64 = load ptr, ptr %t63, !tbaa !2
+ %t65 = getelementptr inbounds i8, ptr %t64, i64 %t51
+ %t66 = load i8, ptr %t65, !tbaa !4
+ %t67 = icmp eq i8 %t66, 1
+ br i1 %t67, label %local.array.value25, label %local.array.missing20
+local.array.value25:
+ %t68 = getelementptr inbounds %ScrArr, ptr %t46, i32 0, i32 8
+ %t69 = load ptr, ptr %t68, !tbaa !2
+ %t70 = getelementptr inbounds i64, ptr %t69, i64 %t51
+ %t71 = load ptr, ptr %t70, !tbaa !6
+ %t72 = call ptr @sc_rc_retain_str(ptr %t71)
+ store ptr %t72, ptr %s45
+ br label %local.array.join21
+local.array.slow19:
+ %t73 = call ptr @scr_arr_peek_ref(ptr %t46, double %t47)
+ %t74 = icmp ne ptr %t73, null
+ br i1 %t74, label %local.array.slow.value27, label %local.array.missing20
+local.array.slow.value27:
+ %t75 = call ptr @sc_rc_retain_str(ptr %t73)
+ store ptr %t75, ptr %s45
+ br label %local.array.join21
+local.array.missing20:
+ store ptr null, ptr %s45
+ br label %local.array.join21
+local.array.join21:
+ %t76 = load ptr, ptr %s45
+ %t77 = load ptr, ptr %sc_l_n_0
+ %t79 = icmp eq ptr %t76, %t77
+ %t81 = icmp ne ptr %t76, null
+ %t82 = icmp ne ptr %t77, null
+ %t80 = and i1 %t81, %t82
+ store i1 %t79, ptr %s78
+ %t83 = xor i1 %t79, true
+ %t84 = and i1 %t83, %t80
+ br i1 %t84, label %ues.b28, label %ues.j29
+ues.b28:
+ %t85 = call zeroext i1 @sc_str_eq(ptr %t76, ptr %t77)
+ store i1 %t85, ptr %s78
+ br label %ues.j29
+ues.j29:
+ %t86 = load i1, ptr %s78
+ %t87 = load ptr, ptr %s45
+ call void @scr_str_release(ptr %t87)
+ br i1 %t86, label %if.t30, label %if.j31
+if.t30:
+ %t88 = load ptr, ptr %sc_l_out_0
+ %t90 = icmp eq ptr %t88, null
+ br i1 %t90, label %if.t32, label %if.j33
+if.t32:
+ %t91 = call ptr @scr_arr_new(i32 2, i64 0)
+ %t92 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t92)
+ store ptr %t91, ptr %sc_l_out_0
+ br label %if.j33
+if.j33:
+ %t93 = load ptr, ptr %sc_l_out_0
+ %t94 = call ptr @scr_arr_retain_v(ptr %t93)
+ %t96 = load ptr, ptr %sc_l_qp_0
+ %t97 = load double, ptr %sc_l_i_0
+ %t98 = fadd double %t97, 0x3FF0000000000000
+ %t99 = getelementptr inbounds %ScrArr, ptr %t96, i32 0, i32 2
+ %t100 = load i64, ptr %t99, !tbaa !2
+ %t101 = fptosi double %t98 to i64
+ %t102 = freeze i64 %t101
+ %t103 = sitofp i64 %t102 to double
+ %t104 = fcmp oeq double %t103, %t98
+ %t105 = icmp ult i64 %t102, %t100
+ %t106 = and i1 %t104, %t105
+ br i1 %t106, label %local.array.range37, label %local.array.slow34
+local.array.range37:
+ br label %local.array.dense38
+local.array.dense38:
+ %t107 = getelementptr inbounds %ScrArr, ptr %t96, i32 0, i32 6
+ %t108 = load i32, ptr %t107, !tbaa !2
+ %t110 = zext i32 %t108 to i64
+ %t109 = icmp ult i64 %t102, %t110
+ br i1 %t109, label %local.array.value40, label %local.array.len39
+local.array.len39:
+ %t111 = getelementptr inbounds %ScrArr, ptr %t96, i32 0, i32 1
+ %t112 = load i64, ptr %t111, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t113 = icmp ult i64 %t102, %t112
+ br i1 %t113, label %local.array.state41, label %local.array.missing35
+local.array.state41:
+ %t114 = getelementptr inbounds %ScrArr, ptr %t96, i32 0, i32 9
+ %t115 = load ptr, ptr %t114, !tbaa !2
+ %t116 = getelementptr inbounds i8, ptr %t115, i64 %t102
+ %t117 = load i8, ptr %t116, !tbaa !4
+ %t118 = icmp eq i8 %t117, 1
+ br i1 %t118, label %local.array.value40, label %local.array.missing35
+local.array.value40:
+ %t119 = getelementptr inbounds %ScrArr, ptr %t96, i32 0, i32 8
+ %t120 = load ptr, ptr %t119, !tbaa !2
+ %t121 = getelementptr inbounds i64, ptr %t120, i64 %t102
+ %t122 = load ptr, ptr %t121, !tbaa !6
+ %t123 = call ptr @sc_rc_retain_str(ptr %t122)
+ store ptr %t123, ptr %s95
+ br label %local.array.join36
+local.array.slow34:
+ %t124 = call ptr @scr_arr_peek_ref(ptr %t96, double %t98)
+ %t125 = icmp ne ptr %t124, null
+ br i1 %t125, label %local.array.slow.value42, label %local.array.missing35
+local.array.slow.value42:
+ %t126 = call ptr @sc_rc_retain_str(ptr %t124)
+ store ptr %t126, ptr %s95
+ br label %local.array.join36
+local.array.missing35:
+ store ptr null, ptr %s95
+ br label %local.array.join36
+local.array.join36:
+ %t127 = load ptr, ptr %s95
+ %t130 = icmp eq ptr %t127, null
+ %t129 = select i1 %t130, i32 1, i32 0
+ switch i32 %t129, label %u.bad44 [ i32 0, label %u.a45 i32 1, label %u.a46 ]
+u.a45:
+ %t131 = call ptr @sc_rc_retain_str(ptr %t127)
+ store ptr %t131, ptr %s128
+ br label %us.j43
+u.a46:
+ store ptr @sc_lit_4134463689533233, ptr %s128
+ br label %us.j43
+u.bad44:
+ call void @sc_bad_tag()
+ unreachable
+us.j43:
+ %t132 = load ptr, ptr %s128
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u47, label %exc.k48
+exc.u47:
+ call void @scr_arr_release(ptr %t94)
+ %t136 = load ptr, ptr %s95
+ call void @scr_str_release(ptr %t136)
+ call void @scr_str_release(ptr %t132)
+ br label %exc.cleanup49
+exc.k48:
+ %t137 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 1
+ %t138 = load i64, ptr %t137, !tbaa !2
+ %t141 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 2
+ %t139 = load i64, ptr %t141, !tbaa !2
+ %t140 = icmp ult i64 %t138, %t139
+ br i1 %t140, label %arr.push.dense50, label %arr.push.slow51
+arr.push.dense50:
+ %t142 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 8
+ %t144 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 9
+ %t143 = load ptr, ptr %t142, !tbaa !2
+ %t145 = load ptr, ptr %t144, !tbaa !2
+ %t146 = getelementptr inbounds i8, ptr %t145, i64 %t138
+ %t147 = getelementptr inbounds i64, ptr %t143, i64 %t138
+ store ptr %t132, ptr %t147, !tbaa !6
+ store i8 1, ptr %t146, !tbaa !4
+ %t148 = add nuw i64 %t138, 1
+ store i64 %t148, ptr %t137, !tbaa !2
+ %t150 = getelementptr inbounds %ScrArr, ptr %t94, i32 0, i32 6
+ %t151 = load i32, ptr %t150, !tbaa !2
+ %t155 = zext i32 %t151 to i64
+ %t152 = icmp eq i64 %t155, %t138
+ %t153 = add i32 %t151, 1
+ %t154 = select i1 %t152, i32 %t153, i32 %t151
+ store i32 %t154, ptr %t150, !tbaa !2
+ %t149 = sitofp i64 %t148 to double
+ br label %arr.push.join52
+arr.push.slow51:
+ %t156 = call double @scr_arr_push_ref(ptr %t94, ptr %t132) cold
+ br label %arr.push.join52
+arr.push.join52:
+ %t157 = phi double [ %t149, %arr.push.dense50 ], [ %t156, %arr.push.slow51 ]
+ call void @scr_arr_release(ptr %t94)
+ %t158 = load ptr, ptr %s95
+ call void @scr_str_release(ptr %t158)
+ br label %if.j31
+if.j31:
+ br label %loop.u18
+loop.u18:
+ %t159 = load double, ptr %sc_l_i_0
+ %t160 = fadd double %t159, 0x4000000000000000
+ store double %t160, ptr %sc_l_i_0
+ br label %loop.c16
+loop.e15:
+ %t161 = load ptr, ptr %sc_l_out_0
+ %t163 = icmp eq ptr %t161, null
+ br i1 %t163, label %if.t53, label %if.j54
+if.t53:
+ %t164 = load ptr, ptr @sc_g_m5_EMPTY_S
+ %t165 = call ptr @scr_arr_retain_v(ptr %t164)
+ %t166 = load ptr, ptr %sc_l_qp_0
+ call void @scr_arr_release(ptr %t166)
+ %t167 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t167)
+ ret ptr %t165
+if.j54:
+ %t168 = load ptr, ptr %sc_l_out_0
+ %t169 = call ptr @scr_arr_retain_v(ptr %t168)
+ %t170 = load ptr, ptr %sc_l_qp_0
+ call void @scr_arr_release(ptr %t170)
+ %t171 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t171)
+ ret ptr %t169
+exc.cleanup9:
+ %t172 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t172)
+ ret ptr null
+exc.cleanup12:
+ %t173 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t173)
+ %t174 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t174)
+ ret ptr null
+exc.cleanup49:
+ %t175 = load ptr, ptr %sc_l_qp_0
+ call void @scr_arr_release(ptr %t175)
+ %t176 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t176)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_queries(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_queries(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_header(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.header
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l_key_0 = alloca ptr ; key
+ %sc_l__x25_ownReceiver_0 = alloca ptr ; %ownReceiver
+ %sc_l__x25_ownKey_0 = alloca ptr ; %ownKey
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l__x25_ownReceiver_1 = alloca ptr ; %ownReceiver
+ %sc_l__x25_ownKey_1 = alloca ptr ; %ownKey
+ %sc_l_d_0 = alloca ptr ; d
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s16 = alloca ptr
+ %s23 = alloca ptr
+ %s47 = alloca ptr
+ %s54 = alloca ptr
+ %s64 = alloca i1
+ %s68 = alloca ptr
+ %s77 = alloca ptr
+ %s81 = alloca ptr
+ %s113 = alloca ptr
+ store ptr null, ptr %sc_l_key_0
+ store ptr null, ptr %sc_l__x25_ownReceiver_0
+ store ptr null, ptr %sc_l__x25_ownKey_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr null, ptr %sc_l__x25_ownReceiver_1
+ store ptr null, ptr %sc_l__x25_ownKey_1
+ store ptr null, ptr %sc_l_d_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_name_0
+ %t5 = call ptr @scr_str_to_lower(ptr %t4)
+ store ptr %t5, ptr %sc_l_key_0
+ %t6 = load ptr, ptr %sc_l_this_0
+ %t7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t6, i64 0, i32 3
+ %t8 = load ptr, ptr %t7, !tbaa !140
+ store ptr %t8, ptr %sc_l__x25_ownReceiver_0
+ %t9 = load ptr, ptr %sc_l_key_0
+ store ptr %t9, ptr %sc_l__x25_ownKey_0
+ %t10 = load ptr, ptr %sc_l__x25_ownReceiver_0
+ %t11 = load ptr, ptr %sc_l__x25_ownKey_0
+ %t12 = call i1 @sc_bf__x25_obj_hasOwn_0(ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u2, label %exc.k3
+exc.u2:
+ br label %exc.cleanup4
+exc.k3:
+ br i1 %t12, label %tern.t5, label %tern.f6
+tern.t5:
+ %t17 = load ptr, ptr %sc_l_this_0
+ %t18 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t17, i64 0, i32 3
+ %t19 = load ptr, ptr %t18, !tbaa !140
+ %t20 = call ptr @sc_rretain_r0(ptr %t19)
+ %t21 = load ptr, ptr %sc_l_key_0
+ %t22 = call ptr @sc_rc_retain_str(ptr %t21)
+ %t24 = getelementptr inbounds %sc_rs_r0, ptr %t20, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @scr_map_get_str_ref(ptr %t25, ptr %t22)
+ %t27 = icmp eq ptr %t26, null
+ br i1 %t27, label %rkg.n10, label %rkg.h9
+rkg.h9:
+ store ptr %t26, ptr %s23
+ br label %rkg.j8
+rkg.n10:
+ call void @sc_bad_key()
+ unreachable
+rkg.j8:
+ %t28 = load ptr, ptr %s23
+ store ptr %t28, ptr %s16
+ call void @sc_rrelease_r0(ptr %t20)
+ call void @scr_str_release(ptr %t22)
+ br label %tern.j7
+tern.f6:
+ store ptr null, ptr %s16
+ br label %tern.j7
+tern.j7:
+ %t29 = load ptr, ptr %s16
+ store ptr %t29, ptr %sc_l_v_0
+ %t30 = load ptr, ptr %sc_l_v_0
+ %t32 = icmp ne ptr %t30, null
+ br i1 %t32, label %if.t11, label %if.j12
+if.t11:
+ %t33 = load ptr, ptr %sc_l_v_0
+ %t34 = call ptr @sc_rc_retain_str(ptr %t33)
+ %t35 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t35)
+ %t36 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t36)
+ ret ptr %t34
+if.j12:
+ %t37 = load ptr, ptr %sc_l_this_0
+ %t38 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t37, i64 0, i32 4
+ %t39 = load ptr, ptr %t38, !tbaa !142
+ store ptr %t39, ptr %sc_l__x25_ownReceiver_1
+ %t40 = load ptr, ptr %sc_l_key_0
+ store ptr %t40, ptr %sc_l__x25_ownKey_1
+ %t41 = load ptr, ptr %sc_l__x25_ownReceiver_1
+ %t42 = load ptr, ptr %sc_l__x25_ownKey_1
+ %t43 = call i1 @sc_bf__x25_obj_hasOwn_17(ptr %t41, ptr %t42)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u13, label %exc.k14
+exc.u13:
+ br label %exc.cleanup15
+exc.k14:
+ br i1 %t43, label %tern.t16, label %tern.f17
+tern.t16:
+ %t48 = load ptr, ptr %sc_l_this_0
+ %t49 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t48, i64 0, i32 4
+ %t50 = load ptr, ptr %t49, !tbaa !142
+ %t51 = call ptr @sc_rretain_r3(ptr %t50)
+ %t52 = load ptr, ptr %sc_l_key_0
+ %t53 = call ptr @sc_rc_retain_str(ptr %t52)
+ %t55 = getelementptr inbounds %sc_rs_r3, ptr %t51, i64 0, i32 1
+ %t56 = load ptr, ptr %t55
+ %t57 = call ptr @scr_map_get_str_ref(ptr %t56, ptr %t53)
+ %t58 = icmp eq ptr %t57, null
+ br i1 %t58, label %rkg.n21, label %rkg.h20
+rkg.h20:
+ store ptr %t57, ptr %s54
+ br label %rkg.j19
+rkg.n21:
+ call void @sc_bad_key()
+ unreachable
+rkg.j19:
+ %t59 = load ptr, ptr %s54
+ store ptr %t59, ptr %s47
+ call void @sc_rrelease_r3(ptr %t51)
+ call void @scr_str_release(ptr %t53)
+ br label %tern.j18
+tern.f17:
+ store ptr null, ptr %s47
+ br label %tern.j18
+tern.j18:
+ %t60 = load ptr, ptr %s47
+ store ptr %t60, ptr %sc_l_d_0
+ %t61 = load ptr, ptr %sc_l_d_0
+ %t63 = icmp ne ptr %t61, null
+ store i1 %t63, ptr %s64
+ br i1 %t63, label %log.r22, label %log.j23
+log.r22:
+ %t65 = load ptr, ptr %sc_l_d_0
+ %t67 = icmp eq ptr %t65, null
+ br i1 %t67, label %read.then24, label %read.else25
+read.then24:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032)
+ br label %exc.cleanup27
+exc.dead28:
+ store ptr null, ptr %s68
+ br label %read.join26
+read.else25:
+ %t69 = load ptr, ptr %sc_l_d_0
+ store ptr %t69, ptr %s68
+ br label %read.join26
+read.join26:
+ %t70 = load ptr, ptr %s68
+ %t71 = getelementptr inbounds %ScrArr, ptr %t70, i32 0, i32 1
+ %t72 = load i64, ptr %t71, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t73 = sitofp i64 %t72 to double
+ %t75 = fptosi double %t73 to i64
+ %t74 = icmp sgt i64 %t75, 0
+ store i1 %t74, ptr %s64
+ br label %log.j23
+log.j23:
+ %t76 = load i1, ptr %s64
+ br i1 %t76, label %if.t29, label %if.j30
+if.t29:
+ %t78 = load ptr, ptr %sc_l_d_0
+ %t80 = icmp eq ptr %t78, null
+ br i1 %t80, label %read.then31, label %read.else32
+read.then31:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3079743157731287)
+ br label %exc.cleanup27
+exc.dead34:
+ store ptr null, ptr %s81
+ br label %read.join33
+read.else32:
+ %t82 = load ptr, ptr %sc_l_d_0
+ store ptr %t82, ptr %s81
+ br label %read.join33
+read.join33:
+ %t83 = load ptr, ptr %s81
+ %t84 = getelementptr inbounds %ScrArr, ptr %t83, i32 0, i32 2
+ %t85 = load i64, ptr %t84, !tbaa !2
+ %t86 = fptosi double 0x0000000000000000 to i64
+ %t87 = freeze i64 %t86
+ %t88 = sitofp i64 %t87 to double
+ %t89 = fcmp oeq double %t88, 0x0000000000000000
+ %t90 = icmp ult i64 %t87, %t85
+ %t91 = and i1 %t89, %t90
+ br i1 %t91, label %local.array.range38, label %local.array.slow35
+local.array.range38:
+ br label %local.array.dense39
+local.array.dense39:
+ %t92 = getelementptr inbounds %ScrArr, ptr %t83, i32 0, i32 6
+ %t93 = load i32, ptr %t92, !tbaa !2
+ %t95 = zext i32 %t93 to i64
+ %t94 = icmp ult i64 %t87, %t95
+ br i1 %t94, label %local.array.value41, label %local.array.len40
+local.array.len40:
+ %t96 = getelementptr inbounds %ScrArr, ptr %t83, i32 0, i32 1
+ %t97 = load i64, ptr %t96, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t98 = icmp ult i64 %t87, %t97
+ br i1 %t98, label %local.array.state42, label %local.array.missing36
+local.array.state42:
+ %t99 = getelementptr inbounds %ScrArr, ptr %t83, i32 0, i32 9
+ %t100 = load ptr, ptr %t99, !tbaa !2
+ %t101 = getelementptr inbounds i8, ptr %t100, i64 %t87
+ %t102 = load i8, ptr %t101, !tbaa !4
+ %t103 = icmp eq i8 %t102, 1
+ br i1 %t103, label %local.array.value41, label %local.array.missing36
+local.array.value41:
+ %t104 = getelementptr inbounds %ScrArr, ptr %t83, i32 0, i32 8
+ %t105 = load ptr, ptr %t104, !tbaa !2
+ %t106 = getelementptr inbounds i64, ptr %t105, i64 %t87
+ %t107 = load ptr, ptr %t106, !tbaa !6
+ %t108 = call ptr @sc_rc_retain_str(ptr %t107)
+ store ptr %t108, ptr %s77
+ br label %local.array.join37
+local.array.slow35:
+ %t109 = call ptr @scr_arr_peek_ref(ptr %t83, double 0x0000000000000000)
+ %t110 = icmp ne ptr %t109, null
+ br i1 %t110, label %local.array.slow.value43, label %local.array.missing36
+local.array.slow.value43:
+ %t111 = call ptr @sc_rc_retain_str(ptr %t109)
+ store ptr %t111, ptr %s77
+ br label %local.array.join37
+local.array.missing36:
+ store ptr null, ptr %s77
+ br label %local.array.join37
+local.array.join37:
+ %t112 = load ptr, ptr %s77
+ %t115 = icmp eq ptr %t112, null
+ %t114 = select i1 %t115, i32 1, i32 0
+ switch i32 %t114, label %u.bad45 [ i32 0, label %u.a46 i32 1, label %u.a47 ]
+u.a46:
+ %t116 = call ptr @sc_rc_retain_str(ptr %t112)
+ store ptr %t116, ptr %s113
+ br label %us.j44
+u.a47:
+ store ptr @sc_lit_4134463689533233, ptr %s113
+ br label %us.j44
+u.bad45:
+ call void @sc_bad_tag()
+ unreachable
+us.j44:
+ %t117 = load ptr, ptr %s113
+ %t118 = load i32, ptr %exc.cell
+ %t119 = icmp ne i32 %t118, 0
+ %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false)
+ br i1 %t120, label %exc.u48, label %exc.k49
+exc.u48:
+ %t121 = load ptr, ptr %s77
+ call void @scr_str_release(ptr %t121)
+ call void @scr_str_release(ptr %t117)
+ br label %exc.cleanup27
+exc.k49:
+ %t122 = load ptr, ptr %s77
+ call void @scr_str_release(ptr %t122)
+ %t123 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t123)
+ %t124 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t124)
+ %t125 = load ptr, ptr %sc_l_d_0
+ call void @scr_arr_release(ptr %t125)
+ ret ptr %t117
+if.j30:
+ %t126 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t126)
+ %t127 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t127)
+ %t128 = load ptr, ptr %sc_l_d_0
+ call void @scr_arr_release(ptr %t128)
+ ret ptr null
+exc.cleanup4:
+ %t129 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t129)
+ ret ptr null
+exc.cleanup15:
+ %t130 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t130)
+ %t131 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t131)
+ ret ptr null
+exc.cleanup27:
+ %t132 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t132)
+ %t133 = load ptr, ptr %sc_l_v_0
+ call void @scr_str_release(ptr %t133)
+ %t134 = load ptr, ptr %sc_l_d_0
+ call void @scr_arr_release(ptr %t134)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_header(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_header(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_body(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore.body
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t0, i64 0, i32 14
+ %t2 = load ptr, ptr %t1, !tbaa !156
+ ret ptr %t2
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_body(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_body(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rc_retain_str(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ ret ptr %t3
+}
+
+define internal void @sc_bf__x25__x25_m5_ReqViewCore__setBody(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0) #0 { ; %%m5.ReqViewCore._setBody
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_s_0 = alloca ptr ; s
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_s_0
+ %t2 = call ptr @sc_rc_retain_str(ptr %t1)
+ %t3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t0, i64 0, i32 14
+ %t4 = load ptr, ptr %t3
+ store ptr %t2, ptr %t3, !tbaa !156
+ call void @scr_str_release(ptr %t4)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_ReqViewCore__setBody(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_ReqViewCore__setBody(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_file(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.file
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l_n_0 = alloca ptr ; n
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv
+ %sc_l__x25_propertyRecv_1 = alloca ptr ; %propertyRecv
+ %s4 = alloca i64 ; integer induction i
+ %s40 = alloca ptr
+ %s49 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_n_0
+ store ptr null, ptr %sc_l_f_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_1
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = load ptr, ptr %sc_l_name_0
+ store ptr %t0, ptr %sc_l_n_0
+ %t1 = load ptr, ptr %sc_l_this_0
+ %t2 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t1, i64 0, i32 15
+ %t3 = load ptr, ptr %t2, !tbaa !158
+ store ptr %t3, ptr %sc_l_f_0
+ store ptr @sc_nullable_null, ptr %sc_l_out_0
+ %t5 = fptosi double 0x0000000000000000 to i64
+ store i64 %t5, ptr %s4
+ br label %loop.c1
+loop.c1:
+ %t6 = load ptr, ptr %sc_l_f_0
+ %t7 = getelementptr inbounds %ScrArr, ptr %t6, i64 0, i32 1
+ %t8 = load i64, ptr %t7, !tbaa !2
+ %t9 = load i64, ptr %s4
+ %t10 = icmp ult i64 %t9, %t8
+ br i1 %t10, label %loop.b2, label %loop.e0
+loop.b2:
+ %t11 = load ptr, ptr %sc_l_f_0
+ %t12 = load i64, ptr %s4
+ %t13 = load i64, ptr %s4
+ %t14 = sitofp i64 %t13 to double
+ %t15 = trunc i64 %t13 to i32
+ %t16 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 2
+ %t17 = load i64, ptr %t16, !tbaa !2
+ %t18 = icmp ult i64 %t12, %t17
+ br i1 %t18, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t19 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 6
+ %t20 = load i32, ptr %t19, !tbaa !2
+ %t22 = zext i32 %t20 to i64
+ %t21 = icmp ult i64 %t12, %t22
+ br i1 %t21, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t23 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 1
+ %t24 = load i64, ptr %t23, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t25 = icmp ult i64 %t12, %t24
+ br i1 %t25, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t26 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 9
+ %t27 = load ptr, ptr %t26, !tbaa !2
+ %t28 = getelementptr inbounds i8, ptr %t27, i64 %t12
+ %t29 = load i8, ptr %t28, !tbaa !4
+ %t30 = icmp eq i8 %t29, 1
+ br i1 %t30, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t31 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 8
+ %t32 = load ptr, ptr %t31, !tbaa !2
+ %t33 = getelementptr inbounds i64, ptr %t32, i64 %t12
+ %t34 = load ptr, ptr %t33, !tbaa !6
+ store ptr %t34, ptr %sc_l__x25_propertyRecv_1
+ br label %local.array.join6
+local.array.slow4:
+ %t35 = call ptr @scr_arr_peek_ref(ptr %t11, double %t14)
+ %t36 = icmp ne ptr %t35, null
+ br i1 %t36, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ store ptr %t35, ptr %sc_l__x25_propertyRecv_1
+ br label %local.array.join6
+local.array.missing5:
+ store ptr null, ptr %sc_l__x25_propertyRecv_1
+ br label %local.array.join6
+local.array.join6:
+ %t37 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ %t39 = icmp eq ptr %t37, null
+ br i1 %t39, label %tern.t13, label %tern.f14
+tern.t13:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2785427721493019)
+ br label %exc.cleanup16
+exc.dead17:
+ store ptr null, ptr %s40
+ br label %tern.j15
+tern.f14:
+ %t41 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ %t42 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t41)
+ store ptr %t42, ptr %s40
+ br label %tern.j15
+tern.j15:
+ %t43 = load ptr, ptr %s40
+ %t44 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t43, i64 0, i32 1
+ %t45 = load ptr, ptr %t44, !tbaa !90
+ %t46 = call ptr @sc_rc_retain_str(ptr %t45)
+ %t47 = load ptr, ptr %sc_l_n_0
+ %t48 = call zeroext i1 @sc_str_eq(ptr %t46, ptr %t47)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t43)
+ call void @scr_str_release(ptr %t46)
+ br i1 %t48, label %if.t18, label %if.j19
+if.t18:
+ %t50 = load ptr, ptr %sc_l_f_0
+ %t51 = load i64, ptr %s4
+ %t52 = load i64, ptr %s4
+ %t53 = sitofp i64 %t52 to double
+ %t54 = trunc i64 %t52 to i32
+ %t55 = getelementptr inbounds %ScrArr, ptr %t50, i32 0, i32 2
+ %t56 = load i64, ptr %t55, !tbaa !2
+ %t57 = icmp ult i64 %t51, %t56
+ br i1 %t57, label %local.array.range23, label %local.array.slow20
+local.array.range23:
+ br label %local.array.dense24
+local.array.dense24:
+ %t58 = getelementptr inbounds %ScrArr, ptr %t50, i32 0, i32 6
+ %t59 = load i32, ptr %t58, !tbaa !2
+ %t61 = zext i32 %t59 to i64
+ %t60 = icmp ult i64 %t51, %t61
+ br i1 %t60, label %local.array.value26, label %local.array.len25
+local.array.len25:
+ %t62 = getelementptr inbounds %ScrArr, ptr %t50, i32 0, i32 1
+ %t63 = load i64, ptr %t62, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t64 = icmp ult i64 %t51, %t63
+ br i1 %t64, label %local.array.state27, label %local.array.missing21
+local.array.state27:
+ %t65 = getelementptr inbounds %ScrArr, ptr %t50, i32 0, i32 9
+ %t66 = load ptr, ptr %t65, !tbaa !2
+ %t67 = getelementptr inbounds i8, ptr %t66, i64 %t51
+ %t68 = load i8, ptr %t67, !tbaa !4
+ %t69 = icmp eq i8 %t68, 1
+ br i1 %t69, label %local.array.value26, label %local.array.missing21
+local.array.value26:
+ %t70 = getelementptr inbounds %ScrArr, ptr %t50, i32 0, i32 8
+ %t71 = load ptr, ptr %t70, !tbaa !2
+ %t72 = getelementptr inbounds i64, ptr %t71, i64 %t51
+ %t73 = load ptr, ptr %t72, !tbaa !6
+ store ptr %t73, ptr %s49
+ br label %local.array.join22
+local.array.slow20:
+ %t74 = call ptr @scr_arr_peek_ref(ptr %t50, double %t53)
+ %t75 = icmp ne ptr %t74, null
+ br i1 %t75, label %local.array.slow.value28, label %local.array.missing21
+local.array.slow.value28:
+ store ptr %t74, ptr %s49
+ br label %local.array.join22
+local.array.missing21:
+ store ptr null, ptr %s49
+ br label %local.array.join22
+local.array.join22:
+ %t76 = load ptr, ptr %s49
+ %t77 = call ptr @sc_bf__x25_union_retag_9(ptr %t76)
+ %t78 = load i32, ptr %exc.cell
+ %t79 = icmp ne i32 %t78, 0
+ %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false)
+ br i1 %t80, label %exc.u29, label %exc.k30
+exc.u29:
+ br label %exc.cleanup16
+exc.k30:
+ %t81 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t77)
+ %t82 = load ptr, ptr %sc_l_out_0
+ call void @sc_release__x25_m4_UploadedFile(ptr %t82)
+ store ptr %t81, ptr %sc_l_out_0
+ br label %if.j19
+if.j19:
+ br label %loop.u3
+loop.u3:
+ %t83 = load i64, ptr %s4
+ %t84 = add nuw i64 %t83, 1
+ store i64 %t84, ptr %s4
+ br label %loop.c1
+loop.e0:
+ %t85 = load ptr, ptr %sc_l_out_0
+ ret ptr %t85
+exc.cleanup16:
+ %t86 = load ptr, ptr %sc_l_out_0
+ call void @sc_release__x25_m4_UploadedFile(ptr %t86)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_file(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_file(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_files(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.files
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l_n_0 = alloca ptr ; n
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv
+ %sc_l__x25_propertyRecv_1 = alloca ptr ; %propertyRecv
+ %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget
+ %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue
+ %s5 = alloca i64 ; integer induction i
+ %s43 = alloca ptr
+ %s94 = alloca ptr
+ store ptr null, ptr %sc_l_n_0
+ store ptr null, ptr %sc_l_f_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_1
+ store ptr null, ptr %sc_l__x25_pushTarget_0
+ store ptr null, ptr %sc_l__x25_pushValue_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = load ptr, ptr %sc_l_name_0
+ store ptr %t0, ptr %sc_l_n_0
+ %t1 = load ptr, ptr %sc_l_this_0
+ %t2 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t1, i64 0, i32 15
+ %t3 = load ptr, ptr %t2, !tbaa !158
+ store ptr %t3, ptr %sc_l_f_0
+ %t4 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_retain__x25_m4_UploadedFile.sc_release__x25_m4_UploadedFile.sc_trace__x25_m4_UploadedFile, i64 0)
+ store ptr %t4, ptr %sc_l_out_0
+ %t6 = fptosi double 0x0000000000000000 to i64
+ store i64 %t6, ptr %s5
+ br label %loop.c1
+loop.c1:
+ %t7 = load ptr, ptr %sc_l_f_0
+ %t8 = getelementptr inbounds %ScrArr, ptr %t7, i64 0, i32 1
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t10 = load i64, ptr %s5
+ %t11 = icmp ult i64 %t10, %t9
+ br i1 %t11, label %loop.b2, label %loop.e0
+loop.b2:
+ %t12 = load ptr, ptr %sc_l_f_0
+ %t13 = load i64, ptr %s5
+ %t14 = load i64, ptr %s5
+ %t15 = sitofp i64 %t14 to double
+ %t16 = trunc i64 %t14 to i32
+ %t17 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 2
+ %t18 = load i64, ptr %t17, !tbaa !2
+ %t19 = icmp ult i64 %t13, %t18
+ br i1 %t19, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t20 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 6
+ %t21 = load i32, ptr %t20, !tbaa !2
+ %t23 = zext i32 %t21 to i64
+ %t22 = icmp ult i64 %t13, %t23
+ br i1 %t22, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t24 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 1
+ %t25 = load i64, ptr %t24, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t26 = icmp ult i64 %t13, %t25
+ br i1 %t26, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t27 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 9
+ %t28 = load ptr, ptr %t27, !tbaa !2
+ %t29 = getelementptr inbounds i8, ptr %t28, i64 %t13
+ %t30 = load i8, ptr %t29, !tbaa !4
+ %t31 = icmp eq i8 %t30, 1
+ br i1 %t31, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t32 = getelementptr inbounds %ScrArr, ptr %t12, i32 0, i32 8
+ %t33 = load ptr, ptr %t32, !tbaa !2
+ %t34 = getelementptr inbounds i64, ptr %t33, i64 %t13
+ %t35 = load ptr, ptr %t34, !tbaa !6
+ %t36 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t35)
+ store ptr %t36, ptr %sc_l__x25_propertyRecv_1
+ br label %local.array.join6
+local.array.slow4:
+ %t37 = call ptr @scr_arr_peek_ref(ptr %t12, double %t15)
+ %t38 = icmp ne ptr %t37, null
+ br i1 %t38, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ %t39 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t37)
+ store ptr %t39, ptr %sc_l__x25_propertyRecv_1
+ br label %local.array.join6
+local.array.missing5:
+ store ptr null, ptr %sc_l__x25_propertyRecv_1
+ br label %local.array.join6
+local.array.join6:
+ %t40 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ %t42 = icmp eq ptr %t40, null
+ br i1 %t42, label %tern.t13, label %tern.f14
+tern.t13:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2785427721493019)
+ br label %exc.cleanup16
+exc.dead17:
+ store ptr null, ptr %s43
+ br label %tern.j15
+tern.f14:
+ %t44 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ %t45 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t44)
+ store ptr %t45, ptr %s43
+ br label %tern.j15
+tern.j15:
+ %t46 = load ptr, ptr %s43
+ %t47 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t46, i64 0, i32 1
+ %t48 = load ptr, ptr %t47, !tbaa !90
+ %t49 = call ptr @sc_rc_retain_str(ptr %t48)
+ %t50 = load ptr, ptr %sc_l_n_0
+ %t51 = call zeroext i1 @sc_str_eq(ptr %t49, ptr %t50)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t46)
+ %t52 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ call void @sc_release__x25_m4_UploadedFile(ptr %t52)
+ call void @scr_str_release(ptr %t49)
+ br i1 %t51, label %if.t18, label %if.j19
+if.t18:
+ %t53 = load ptr, ptr %sc_l_out_0
+ store ptr %t53, ptr %sc_l__x25_pushTarget_0
+ %t54 = load ptr, ptr %sc_l_f_0
+ %t55 = load i64, ptr %s5
+ %t56 = load i64, ptr %s5
+ %t57 = sitofp i64 %t56 to double
+ %t58 = trunc i64 %t56 to i32
+ %t59 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 2
+ %t60 = load i64, ptr %t59, !tbaa !2
+ %t61 = icmp ult i64 %t55, %t60
+ br i1 %t61, label %local.array.range23, label %local.array.slow20
+local.array.range23:
+ br label %local.array.dense24
+local.array.dense24:
+ %t62 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 6
+ %t63 = load i32, ptr %t62, !tbaa !2
+ %t65 = zext i32 %t63 to i64
+ %t64 = icmp ult i64 %t55, %t65
+ br i1 %t64, label %local.array.value26, label %local.array.len25
+local.array.len25:
+ %t66 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 1
+ %t67 = load i64, ptr %t66, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t68 = icmp ult i64 %t55, %t67
+ br i1 %t68, label %local.array.state27, label %local.array.missing21
+local.array.state27:
+ %t69 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 9
+ %t70 = load ptr, ptr %t69, !tbaa !2
+ %t71 = getelementptr inbounds i8, ptr %t70, i64 %t55
+ %t72 = load i8, ptr %t71, !tbaa !4
+ %t73 = icmp eq i8 %t72, 1
+ br i1 %t73, label %local.array.value26, label %local.array.missing21
+local.array.value26:
+ %t74 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 8
+ %t75 = load ptr, ptr %t74, !tbaa !2
+ %t76 = getelementptr inbounds i64, ptr %t75, i64 %t55
+ %t77 = load ptr, ptr %t76, !tbaa !6
+ %t78 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t77)
+ store ptr %t78, ptr %sc_l__x25_pushValue_0
+ br label %local.array.join22
+local.array.slow20:
+ %t79 = call ptr @scr_arr_peek_ref(ptr %t54, double %t57)
+ %t80 = icmp ne ptr %t79, null
+ br i1 %t80, label %local.array.slow.value28, label %local.array.missing21
+local.array.slow.value28:
+ %t81 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t79)
+ store ptr %t81, ptr %sc_l__x25_pushValue_0
+ br label %local.array.join22
+local.array.missing21:
+ store ptr null, ptr %sc_l__x25_pushValue_0
+ br label %local.array.join22
+local.array.join22:
+ %t82 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t84 = icmp eq ptr %t82, null
+ br i1 %t84, label %if.t29, label %if.f31
+if.t29:
+ %t85 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t86 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t87 = getelementptr inbounds %ScrArr, ptr %t86, i32 0, i32 1
+ %t88 = load i64, ptr %t87, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t89 = sitofp i64 %t88 to double
+ call void @scr_arr_set_undefined(ptr %t85, double %t89)
+ br label %if.j30
+if.f31:
+ %t90 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t91 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t93 = icmp ne ptr %t91, null
+ br i1 %t93, label %tern.t32, label %tern.f33
+tern.t32:
+ %t95 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t96 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t95)
+ store ptr %t96, ptr %s94
+ br label %tern.j34
+tern.f33:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup35
+exc.dead36:
+ store ptr null, ptr %s94
+ br label %tern.j34
+tern.j34:
+ %t97 = load ptr, ptr %s94
+ %t98 = getelementptr inbounds %ScrArr, ptr %t90, i32 0, i32 1
+ %t99 = load i64, ptr %t98, !tbaa !2
+ %t102 = getelementptr inbounds %ScrArr, ptr %t90, i32 0, i32 2
+ %t100 = load i64, ptr %t102, !tbaa !2
+ %t101 = icmp ult i64 %t99, %t100
+ br i1 %t101, label %arr.push.dense37, label %arr.push.slow38
+arr.push.dense37:
+ %t103 = getelementptr inbounds %ScrArr, ptr %t90, i32 0, i32 8
+ %t105 = getelementptr inbounds %ScrArr, ptr %t90, i32 0, i32 9
+ %t104 = load ptr, ptr %t103, !tbaa !2
+ %t106 = load ptr, ptr %t105, !tbaa !2
+ %t107 = getelementptr inbounds i8, ptr %t106, i64 %t99
+ %t108 = getelementptr inbounds i64, ptr %t104, i64 %t99
+ store ptr %t97, ptr %t108, !tbaa !6
+ store i8 1, ptr %t107, !tbaa !4
+ %t109 = add nuw i64 %t99, 1
+ store i64 %t109, ptr %t98, !tbaa !2
+ %t111 = getelementptr inbounds %ScrArr, ptr %t90, i32 0, i32 6
+ %t112 = load i32, ptr %t111, !tbaa !2
+ %t116 = zext i32 %t112 to i64
+ %t113 = icmp eq i64 %t116, %t99
+ %t114 = add i32 %t112, 1
+ %t115 = select i1 %t113, i32 %t114, i32 %t112
+ store i32 %t115, ptr %t111, !tbaa !2
+ %t110 = sitofp i64 %t109 to double
+ br label %arr.push.join39
+arr.push.slow38:
+ %t117 = call double @scr_arr_push_ref(ptr %t90, ptr %t97) cold
+ br label %arr.push.join39
+arr.push.join39:
+ %t118 = phi double [ %t110, %arr.push.dense37 ], [ %t117, %arr.push.slow38 ]
+ br label %if.j30
+if.j30:
+ %t119 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t120 = getelementptr inbounds %ScrArr, ptr %t119, i32 0, i32 1
+ %t121 = load i64, ptr %t120, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t122 = sitofp i64 %t121 to double
+ %t123 = load ptr, ptr %sc_l__x25_pushValue_0
+ call void @sc_release__x25_m4_UploadedFile(ptr %t123)
+ br label %if.j19
+if.j19:
+ br label %loop.u3
+loop.u3:
+ %t124 = load i64, ptr %s5
+ %t125 = add nuw i64 %t124, 1
+ store i64 %t125, ptr %s5
+ br label %loop.c1
+loop.e0:
+ %t126 = load ptr, ptr %sc_l_out_0
+ ret ptr %t126
+exc.cleanup16:
+ %t127 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ call void @sc_release__x25_m4_UploadedFile(ptr %t127)
+ %t128 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t128)
+ ret ptr null
+exc.cleanup35:
+ %t129 = load ptr, ptr %sc_l__x25_pushValue_0
+ call void @sc_release__x25_m4_UploadedFile(ptr %t129)
+ %t130 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t130)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_files(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_files(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_field(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.field
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l_n_0 = alloca ptr ; n
+ %sc_l_fp_0 = alloca ptr ; fp
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca double ; i
+ %s16 = alloca ptr
+ %s49 = alloca i1
+ %s59 = alloca ptr
+ %s92 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_n_0
+ store ptr null, ptr %sc_l_fp_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_name_0
+ store ptr %t4, ptr %sc_l_n_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t5, i64 0, i32 16
+ %t7 = load ptr, ptr %t6, !tbaa !160
+ store ptr %t7, ptr %sc_l_fp_0
+ store ptr null, ptr %sc_l_out_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t8 = load double, ptr %sc_l_i_0
+ %t9 = fadd double %t8, 0x3FF0000000000000
+ %t10 = load ptr, ptr %sc_l_fp_0
+ %t11 = getelementptr inbounds %ScrArr, ptr %t10, i32 0, i32 1
+ %t12 = load i64, ptr %t11, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t13 = sitofp i64 %t12 to double
+ %t15 = fptosi double %t13 to i64
+ %t14 = fcmp olt double %t9, %t13
+ br i1 %t14, label %loop.b4, label %loop.e2
+loop.b4:
+ %t17 = load ptr, ptr %sc_l_fp_0
+ %t18 = load double, ptr %sc_l_i_0
+ %t19 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2
+ %t20 = load i64, ptr %t19, !tbaa !2
+ %t21 = fptosi double %t18 to i64
+ %t22 = freeze i64 %t21
+ %t23 = sitofp i64 %t22 to double
+ %t24 = fcmp oeq double %t23, %t18
+ %t25 = icmp ult i64 %t22, %t20
+ %t26 = and i1 %t24, %t25
+ br i1 %t26, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t27 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6
+ %t28 = load i32, ptr %t27, !tbaa !2
+ %t30 = zext i32 %t28 to i64
+ %t29 = icmp ult i64 %t22, %t30
+ br i1 %t29, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t31 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1
+ %t32 = load i64, ptr %t31, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t33 = icmp ult i64 %t22, %t32
+ br i1 %t33, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t34 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9
+ %t35 = load ptr, ptr %t34, !tbaa !2
+ %t36 = getelementptr inbounds i8, ptr %t35, i64 %t22
+ %t37 = load i8, ptr %t36, !tbaa !4
+ %t38 = icmp eq i8 %t37, 1
+ br i1 %t38, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t39 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8
+ %t40 = load ptr, ptr %t39, !tbaa !2
+ %t41 = getelementptr inbounds i64, ptr %t40, i64 %t22
+ %t42 = load ptr, ptr %t41, !tbaa !6
+ %t43 = call ptr @sc_rc_retain_str(ptr %t42)
+ store ptr %t43, ptr %s16
+ br label %local.array.join8
+local.array.slow6:
+ %t44 = call ptr @scr_arr_peek_ref(ptr %t17, double %t18)
+ %t45 = icmp ne ptr %t44, null
+ br i1 %t45, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ %t46 = call ptr @sc_rc_retain_str(ptr %t44)
+ store ptr %t46, ptr %s16
+ br label %local.array.join8
+local.array.missing7:
+ store ptr null, ptr %s16
+ br label %local.array.join8
+local.array.join8:
+ %t47 = load ptr, ptr %s16
+ %t48 = load ptr, ptr %sc_l_n_0
+ %t50 = icmp eq ptr %t47, %t48
+ %t52 = icmp ne ptr %t47, null
+ %t53 = icmp ne ptr %t48, null
+ %t51 = and i1 %t52, %t53
+ store i1 %t50, ptr %s49
+ %t54 = xor i1 %t50, true
+ %t55 = and i1 %t54, %t51
+ br i1 %t55, label %ues.b15, label %ues.j16
+ues.b15:
+ %t56 = call zeroext i1 @sc_str_eq(ptr %t47, ptr %t48)
+ store i1 %t56, ptr %s49
+ br label %ues.j16
+ues.j16:
+ %t57 = load i1, ptr %s49
+ %t58 = load ptr, ptr %s16
+ call void @scr_str_release(ptr %t58)
+ br i1 %t57, label %if.t17, label %if.j18
+if.t17:
+ %t60 = load ptr, ptr %sc_l_fp_0
+ %t61 = load double, ptr %sc_l_i_0
+ %t62 = fadd double %t61, 0x3FF0000000000000
+ %t63 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 2
+ %t64 = load i64, ptr %t63, !tbaa !2
+ %t65 = fptosi double %t62 to i64
+ %t66 = freeze i64 %t65
+ %t67 = sitofp i64 %t66 to double
+ %t68 = fcmp oeq double %t67, %t62
+ %t69 = icmp ult i64 %t66, %t64
+ %t70 = and i1 %t68, %t69
+ br i1 %t70, label %local.array.range22, label %local.array.slow19
+local.array.range22:
+ br label %local.array.dense23
+local.array.dense23:
+ %t71 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 6
+ %t72 = load i32, ptr %t71, !tbaa !2
+ %t74 = zext i32 %t72 to i64
+ %t73 = icmp ult i64 %t66, %t74
+ br i1 %t73, label %local.array.value25, label %local.array.len24
+local.array.len24:
+ %t75 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 1
+ %t76 = load i64, ptr %t75, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t77 = icmp ult i64 %t66, %t76
+ br i1 %t77, label %local.array.state26, label %local.array.missing20
+local.array.state26:
+ %t78 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 9
+ %t79 = load ptr, ptr %t78, !tbaa !2
+ %t80 = getelementptr inbounds i8, ptr %t79, i64 %t66
+ %t81 = load i8, ptr %t80, !tbaa !4
+ %t82 = icmp eq i8 %t81, 1
+ br i1 %t82, label %local.array.value25, label %local.array.missing20
+local.array.value25:
+ %t83 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 8
+ %t84 = load ptr, ptr %t83, !tbaa !2
+ %t85 = getelementptr inbounds i64, ptr %t84, i64 %t66
+ %t86 = load ptr, ptr %t85, !tbaa !6
+ %t87 = call ptr @sc_rc_retain_str(ptr %t86)
+ store ptr %t87, ptr %s59
+ br label %local.array.join21
+local.array.slow19:
+ %t88 = call ptr @scr_arr_peek_ref(ptr %t60, double %t62)
+ %t89 = icmp ne ptr %t88, null
+ br i1 %t89, label %local.array.slow.value27, label %local.array.missing20
+local.array.slow.value27:
+ %t90 = call ptr @sc_rc_retain_str(ptr %t88)
+ store ptr %t90, ptr %s59
+ br label %local.array.join21
+local.array.missing20:
+ store ptr null, ptr %s59
+ br label %local.array.join21
+local.array.join21:
+ %t91 = load ptr, ptr %s59
+ %t94 = icmp eq ptr %t91, null
+ %t93 = select i1 %t94, i32 1, i32 0
+ switch i32 %t93, label %u.bad29 [ i32 0, label %u.a30 i32 1, label %u.a31 ]
+u.a30:
+ %t95 = call ptr @sc_rc_retain_str(ptr %t91)
+ store ptr %t95, ptr %s92
+ br label %us.j28
+u.a31:
+ store ptr @sc_lit_4134463689533233, ptr %s92
+ br label %us.j28
+u.bad29:
+ call void @sc_bad_tag()
+ unreachable
+us.j28:
+ %t96 = load ptr, ptr %s92
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u32, label %exc.k33
+exc.u32:
+ %t100 = load ptr, ptr %s59
+ call void @scr_str_release(ptr %t100)
+ call void @scr_str_release(ptr %t96)
+ br label %exc.cleanup34
+exc.k33:
+ %t101 = load ptr, ptr %sc_l_out_0
+ call void @scr_str_release(ptr %t101)
+ store ptr %t96, ptr %sc_l_out_0
+ %t102 = load ptr, ptr %s59
+ call void @scr_str_release(ptr %t102)
+ br label %if.j18
+if.j18:
+ br label %loop.u5
+loop.u5:
+ %t103 = load double, ptr %sc_l_i_0
+ %t104 = fadd double %t103, 0x4000000000000000
+ store double %t104, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ %t105 = load ptr, ptr %sc_l_out_0
+ ret ptr %t105
+exc.cleanup34:
+ %t106 = load ptr, ptr %sc_l_out_0
+ call void @scr_str_release(ptr %t106)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_field(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_field(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore_fields(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.ReqViewCore.fields
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l_n_0 = alloca ptr ; n
+ %sc_l_fp_0 = alloca ptr ; fp
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca double ; i
+ %s17 = alloca ptr
+ %s50 = alloca i1
+ %s61 = alloca ptr
+ %s94 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_n_0
+ store ptr null, ptr %sc_l_fp_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_name_0
+ store ptr %t4, ptr %sc_l_n_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t5, i64 0, i32 16
+ %t7 = load ptr, ptr %t6, !tbaa !160
+ store ptr %t7, ptr %sc_l_fp_0
+ %t8 = call ptr @scr_arr_new_small(i32 2)
+ store ptr %t8, ptr %sc_l_out_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t9 = load double, ptr %sc_l_i_0
+ %t10 = fadd double %t9, 0x3FF0000000000000
+ %t11 = load ptr, ptr %sc_l_fp_0
+ %t12 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 1
+ %t13 = load i64, ptr %t12, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t14 = sitofp i64 %t13 to double
+ %t16 = fptosi double %t14 to i64
+ %t15 = fcmp olt double %t10, %t14
+ br i1 %t15, label %loop.b4, label %loop.e2
+loop.b4:
+ %t18 = load ptr, ptr %sc_l_fp_0
+ %t19 = load double, ptr %sc_l_i_0
+ %t20 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2
+ %t21 = load i64, ptr %t20, !tbaa !2
+ %t22 = fptosi double %t19 to i64
+ %t23 = freeze i64 %t22
+ %t24 = sitofp i64 %t23 to double
+ %t25 = fcmp oeq double %t24, %t19
+ %t26 = icmp ult i64 %t23, %t21
+ %t27 = and i1 %t25, %t26
+ br i1 %t27, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t28 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6
+ %t29 = load i32, ptr %t28, !tbaa !2
+ %t31 = zext i32 %t29 to i64
+ %t30 = icmp ult i64 %t23, %t31
+ br i1 %t30, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t32 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1
+ %t33 = load i64, ptr %t32, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t34 = icmp ult i64 %t23, %t33
+ br i1 %t34, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t35 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9
+ %t36 = load ptr, ptr %t35, !tbaa !2
+ %t37 = getelementptr inbounds i8, ptr %t36, i64 %t23
+ %t38 = load i8, ptr %t37, !tbaa !4
+ %t39 = icmp eq i8 %t38, 1
+ br i1 %t39, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t40 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t42 = getelementptr inbounds i64, ptr %t41, i64 %t23
+ %t43 = load ptr, ptr %t42, !tbaa !6
+ %t44 = call ptr @sc_rc_retain_str(ptr %t43)
+ store ptr %t44, ptr %s17
+ br label %local.array.join8
+local.array.slow6:
+ %t45 = call ptr @scr_arr_peek_ref(ptr %t18, double %t19)
+ %t46 = icmp ne ptr %t45, null
+ br i1 %t46, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ %t47 = call ptr @sc_rc_retain_str(ptr %t45)
+ store ptr %t47, ptr %s17
+ br label %local.array.join8
+local.array.missing7:
+ store ptr null, ptr %s17
+ br label %local.array.join8
+local.array.join8:
+ %t48 = load ptr, ptr %s17
+ %t49 = load ptr, ptr %sc_l_n_0
+ %t51 = icmp eq ptr %t48, %t49
+ %t53 = icmp ne ptr %t48, null
+ %t54 = icmp ne ptr %t49, null
+ %t52 = and i1 %t53, %t54
+ store i1 %t51, ptr %s50
+ %t55 = xor i1 %t51, true
+ %t56 = and i1 %t55, %t52
+ br i1 %t56, label %ues.b15, label %ues.j16
+ues.b15:
+ %t57 = call zeroext i1 @sc_str_eq(ptr %t48, ptr %t49)
+ store i1 %t57, ptr %s50
+ br label %ues.j16
+ues.j16:
+ %t58 = load i1, ptr %s50
+ %t59 = load ptr, ptr %s17
+ call void @scr_str_release(ptr %t59)
+ br i1 %t58, label %if.t17, label %if.j18
+if.t17:
+ %t60 = load ptr, ptr %sc_l_out_0
+ %t62 = load ptr, ptr %sc_l_fp_0
+ %t63 = load double, ptr %sc_l_i_0
+ %t64 = fadd double %t63, 0x3FF0000000000000
+ %t65 = getelementptr inbounds %ScrArr, ptr %t62, i32 0, i32 2
+ %t66 = load i64, ptr %t65, !tbaa !2
+ %t67 = fptosi double %t64 to i64
+ %t68 = freeze i64 %t67
+ %t69 = sitofp i64 %t68 to double
+ %t70 = fcmp oeq double %t69, %t64
+ %t71 = icmp ult i64 %t68, %t66
+ %t72 = and i1 %t70, %t71
+ br i1 %t72, label %local.array.range22, label %local.array.slow19
+local.array.range22:
+ br label %local.array.dense23
+local.array.dense23:
+ %t73 = getelementptr inbounds %ScrArr, ptr %t62, i32 0, i32 6
+ %t74 = load i32, ptr %t73, !tbaa !2
+ %t76 = zext i32 %t74 to i64
+ %t75 = icmp ult i64 %t68, %t76
+ br i1 %t75, label %local.array.value25, label %local.array.len24
+local.array.len24:
+ %t77 = getelementptr inbounds %ScrArr, ptr %t62, i32 0, i32 1
+ %t78 = load i64, ptr %t77, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t79 = icmp ult i64 %t68, %t78
+ br i1 %t79, label %local.array.state26, label %local.array.missing20
+local.array.state26:
+ %t80 = getelementptr inbounds %ScrArr, ptr %t62, i32 0, i32 9
+ %t81 = load ptr, ptr %t80, !tbaa !2
+ %t82 = getelementptr inbounds i8, ptr %t81, i64 %t68
+ %t83 = load i8, ptr %t82, !tbaa !4
+ %t84 = icmp eq i8 %t83, 1
+ br i1 %t84, label %local.array.value25, label %local.array.missing20
+local.array.value25:
+ %t85 = getelementptr inbounds %ScrArr, ptr %t62, i32 0, i32 8
+ %t86 = load ptr, ptr %t85, !tbaa !2
+ %t87 = getelementptr inbounds i64, ptr %t86, i64 %t68
+ %t88 = load ptr, ptr %t87, !tbaa !6
+ %t89 = call ptr @sc_rc_retain_str(ptr %t88)
+ store ptr %t89, ptr %s61
+ br label %local.array.join21
+local.array.slow19:
+ %t90 = call ptr @scr_arr_peek_ref(ptr %t62, double %t64)
+ %t91 = icmp ne ptr %t90, null
+ br i1 %t91, label %local.array.slow.value27, label %local.array.missing20
+local.array.slow.value27:
+ %t92 = call ptr @sc_rc_retain_str(ptr %t90)
+ store ptr %t92, ptr %s61
+ br label %local.array.join21
+local.array.missing20:
+ store ptr null, ptr %s61
+ br label %local.array.join21
+local.array.join21:
+ %t93 = load ptr, ptr %s61
+ %t96 = icmp eq ptr %t93, null
+ %t95 = select i1 %t96, i32 1, i32 0
+ switch i32 %t95, label %u.bad29 [ i32 0, label %u.a30 i32 1, label %u.a31 ]
+u.a30:
+ %t97 = call ptr @sc_rc_retain_str(ptr %t93)
+ store ptr %t97, ptr %s94
+ br label %us.j28
+u.a31:
+ store ptr @sc_lit_4134463689533233, ptr %s94
+ br label %us.j28
+u.bad29:
+ call void @sc_bad_tag()
+ unreachable
+us.j28:
+ %t98 = load ptr, ptr %s94
+ %t99 = load i32, ptr %exc.cell
+ %t100 = icmp ne i32 %t99, 0
+ %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false)
+ br i1 %t101, label %exc.u32, label %exc.k33
+exc.u32:
+ %t102 = load ptr, ptr %s61
+ call void @scr_str_release(ptr %t102)
+ call void @scr_str_release(ptr %t98)
+ br label %exc.cleanup34
+exc.k33:
+ %t103 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 1
+ %t104 = load i64, ptr %t103, !tbaa !2
+ %t107 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 2
+ %t105 = load i64, ptr %t107, !tbaa !2
+ %t106 = icmp ult i64 %t104, %t105
+ br i1 %t106, label %arr.push.dense35, label %arr.push.slow36
+arr.push.dense35:
+ %t108 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 8
+ %t110 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 9
+ %t109 = load ptr, ptr %t108, !tbaa !2
+ %t111 = load ptr, ptr %t110, !tbaa !2
+ %t112 = getelementptr inbounds i8, ptr %t111, i64 %t104
+ %t113 = getelementptr inbounds i64, ptr %t109, i64 %t104
+ store ptr %t98, ptr %t113, !tbaa !6
+ store i8 1, ptr %t112, !tbaa !4
+ %t114 = add nuw i64 %t104, 1
+ store i64 %t114, ptr %t103, !tbaa !2
+ %t116 = getelementptr inbounds %ScrArr, ptr %t60, i32 0, i32 6
+ %t117 = load i32, ptr %t116, !tbaa !2
+ %t121 = zext i32 %t117 to i64
+ %t118 = icmp eq i64 %t121, %t104
+ %t119 = add i32 %t117, 1
+ %t120 = select i1 %t118, i32 %t119, i32 %t117
+ store i32 %t120, ptr %t116, !tbaa !2
+ %t115 = sitofp i64 %t114 to double
+ br label %arr.push.join37
+arr.push.slow36:
+ %t122 = call double @scr_arr_push_ref(ptr %t60, ptr %t98) cold
+ br label %arr.push.join37
+arr.push.join37:
+ %t123 = phi double [ %t115, %arr.push.dense35 ], [ %t122, %arr.push.slow36 ]
+ %t124 = load ptr, ptr %s61
+ call void @scr_str_release(ptr %t124)
+ br label %if.j18
+if.j18:
+ br label %loop.u5
+loop.u5:
+ %t125 = load double, ptr %sc_l_i_0
+ %t126 = fadd double %t125, 0x4000000000000000
+ store double %t126, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ %t127 = load ptr, ptr %sc_l_out_0
+ ret ptr %t127
+exc.cleanup34:
+ %t128 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t128)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore_fields(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore_fields(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m5_ReqViewCore__setMultipart(ptr %p_sc_l_this_0, ptr %p_sc_l_files_0, ptr %p_sc_l_fields_0) #0 { ; %%m5.ReqViewCore._setMultipart
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_files_0 = alloca ptr ; files
+ %sc_l_fields_0 = alloca ptr ; fields
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_files_0, ptr %sc_l_files_0
+ store ptr %p_sc_l_fields_0, ptr %sc_l_fields_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_files_0
+ %t2 = call ptr @scr_arr_retain_v(ptr %t1)
+ %t3 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t0, i64 0, i32 15
+ %t4 = load ptr, ptr %t3
+ store ptr %t2, ptr %t3, !tbaa !158
+ call void @scr_arr_release(ptr %t4)
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = load ptr, ptr %sc_l_fields_0
+ %t7 = call ptr @scr_arr_retain_v(ptr %t6)
+ %t8 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t5, i64 0, i32 16
+ %t9 = load ptr, ptr %t8
+ store ptr %t7, ptr %t8, !tbaa !160
+ call void @scr_arr_release(ptr %t9)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_ReqViewCore__setMultipart(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_ReqViewCore__setMultipart(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ call void @scr_arr_release(ptr %p1)
+ call void @scr_arr_release(ptr %p2)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m5_ReqViewCore__parsed(ptr %p_sc_l_this_0) #0 { ; %%m5.ReqViewCore._parsed
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_cached_0 = alloca ptr ; cached
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_qs_0 = alloca ptr ; qs
+ %sc_l_parts_0 = alloca ptr ; parts
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_eq_0 = alloca i32 ; eq
+ %s25 = alloca i64 ; integer induction i
+ %s32 = alloca ptr
+ %s62 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_cached_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_qs_0
+ store ptr null, ptr %sc_l_parts_0
+ store ptr null, ptr %sc_l_p_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t4, i64 0, i32 9
+ %t6 = load ptr, ptr %t5, !tbaa !146
+ %t7 = call ptr @sc_nretain_array(ptr %t6)
+ store ptr %t7, ptr %sc_l_cached_0
+ %t8 = load ptr, ptr %sc_l_cached_0
+ %t10 = icmp ne ptr %t8, null
+ br i1 %t10, label %if.t2, label %if.j3
+if.t2:
+ %t11 = load ptr, ptr %sc_l_cached_0
+ %t12 = call ptr @scr_arr_retain_v(ptr %t11)
+ %t13 = load ptr, ptr %sc_l_cached_0
+ call void @scr_arr_release(ptr %t13)
+ ret ptr %t12
+if.j3:
+ %t14 = call ptr @scr_arr_new_small(i32 2)
+ store ptr %t14, ptr %sc_l_out_0
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t16 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t15, i64 0, i32 8
+ %t17 = load ptr, ptr %t16, !tbaa !144
+ store ptr %t17, ptr %sc_l_qs_0
+ %t18 = load ptr, ptr %sc_l_qs_0
+ %t19 = call double @sc_str_utf16_len(ptr %t18)
+ %t21 = fptosi double %t19 to i32
+ %t22 = sext i32 %t21 to i64
+ %t20 = icmp sgt i64 %t22, 0
+ br i1 %t20, label %if.t4, label %if.j5
+if.t4:
+ %t23 = load ptr, ptr %sc_l_qs_0
+ %t24 = call ptr @scr_str_split_limit(ptr %t23, ptr @sc_lit_2623284121860687, double 0x41EFFFFFFFE00000)
+ store ptr %t24, ptr %sc_l_parts_0
+ %t26 = fptosi double 0x0000000000000000 to i64
+ store i64 %t26, ptr %s25
+ br label %loop.c7
+loop.c7:
+ %t27 = load ptr, ptr %sc_l_parts_0
+ %t28 = getelementptr inbounds %ScrArr, ptr %t27, i64 0, i32 1
+ %t29 = load i64, ptr %t28, !tbaa !2
+ %t30 = load i64, ptr %s25
+ %t31 = icmp ult i64 %t30, %t29
+ br i1 %t31, label %loop.b8, label %loop.e6
+loop.b8:
+ %t33 = load ptr, ptr %sc_l_parts_0
+ %t34 = load i64, ptr %s25
+ %t35 = load i64, ptr %s25
+ %t36 = sitofp i64 %t35 to double
+ %t37 = trunc i64 %t35 to i32
+ %t38 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t40 = icmp ult i64 %t34, %t39
+ br i1 %t40, label %local.array.range13, label %local.array.slow10
+local.array.range13:
+ br label %local.array.dense14
+local.array.dense14:
+ %t41 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 6
+ %t42 = load i32, ptr %t41, !tbaa !2
+ %t44 = zext i32 %t42 to i64
+ %t43 = icmp ult i64 %t34, %t44
+ br i1 %t43, label %local.array.value16, label %local.array.len15
+local.array.len15:
+ %t45 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 1
+ %t46 = load i64, ptr %t45, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t47 = icmp ult i64 %t34, %t46
+ br i1 %t47, label %local.array.state17, label %local.array.missing11
+local.array.state17:
+ %t48 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 9
+ %t49 = load ptr, ptr %t48, !tbaa !2
+ %t50 = getelementptr inbounds i8, ptr %t49, i64 %t34
+ %t51 = load i8, ptr %t50, !tbaa !4
+ %t52 = icmp eq i8 %t51, 1
+ br i1 %t52, label %local.array.value16, label %local.array.missing11
+local.array.value16:
+ %t53 = getelementptr inbounds %ScrArr, ptr %t33, i32 0, i32 8
+ %t54 = load ptr, ptr %t53, !tbaa !2
+ %t55 = getelementptr inbounds i64, ptr %t54, i64 %t34
+ %t56 = load ptr, ptr %t55, !tbaa !6
+ %t57 = call ptr @sc_rc_retain_str(ptr %t56)
+ store ptr %t57, ptr %s32
+ br label %local.array.join12
+local.array.slow10:
+ %t58 = call ptr @scr_arr_peek_ref(ptr %t33, double %t36)
+ %t59 = icmp ne ptr %t58, null
+ br i1 %t59, label %local.array.slow.value18, label %local.array.missing11
+local.array.slow.value18:
+ %t60 = call ptr @sc_rc_retain_str(ptr %t58)
+ store ptr %t60, ptr %s32
+ br label %local.array.join12
+local.array.missing11:
+ store ptr null, ptr %s32
+ br label %local.array.join12
+local.array.join12:
+ %t61 = load ptr, ptr %s32
+ %t64 = icmp eq ptr %t61, null
+ %t63 = select i1 %t64, i32 1, i32 0
+ switch i32 %t63, label %u.bad20 [ i32 0, label %u.a21 i32 1, label %u.a22 ]
+u.a21:
+ %t65 = call ptr @sc_rc_retain_str(ptr %t61)
+ store ptr %t65, ptr %s62
+ br label %us.j19
+u.a22:
+ store ptr @sc_lit_4134463689533233, ptr %s62
+ br label %us.j19
+u.bad20:
+ call void @sc_bad_tag()
+ unreachable
+us.j19:
+ %t66 = load ptr, ptr %s62
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u23, label %exc.k24
+exc.u23:
+ %t70 = load ptr, ptr %s32
+ call void @scr_str_release(ptr %t70)
+ call void @scr_str_release(ptr %t66)
+ br label %exc.cleanup25
+exc.k24:
+ store ptr %t66, ptr %sc_l_p_0
+ %t71 = load ptr, ptr %s32
+ call void @scr_str_release(ptr %t71)
+ %t72 = load ptr, ptr %sc_l_p_0
+ %t73 = call double @scr_str_index_of(ptr %t72, ptr @sc_lit_985787530504786, double 0x0000000000000000)
+ %t74 = fptosi double %t73 to i32
+ store i32 %t74, ptr %sc_l_eq_0
+ %t75 = load i32, ptr %sc_l_eq_0
+ %t76 = sitofp i32 %t75 to double
+ %t78 = sext i32 %t75 to i64
+ %t77 = icmp slt i64 %t78, 0
+ br i1 %t77, label %if.t26, label %if.f28
+if.t26:
+ %t79 = load ptr, ptr %sc_l_out_0
+ %t80 = load ptr, ptr %sc_l_p_0
+ %t81 = call ptr @sc_bf__x25_m5_dec(ptr %t80)
+ %t82 = load i32, ptr %exc.cell
+ %t83 = icmp ne i32 %t82, 0
+ %t84 = call i1 @llvm.expect.i1(i1 %t83, i1 false)
+ br i1 %t84, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @scr_str_release(ptr %t81)
+ br label %exc.cleanup31
+exc.k30:
+ %t85 = getelementptr inbounds %ScrArr, ptr %t79, i32 0, i32 1
+ %t86 = load i64, ptr %t85, !tbaa !2
+ %t89 = getelementptr inbounds %ScrArr, ptr %t79, i32 0, i32 2
+ %t87 = load i64, ptr %t89, !tbaa !2
+ %t88 = icmp ult i64 %t86, %t87
+ br i1 %t88, label %arr.push.dense32, label %arr.push.slow33
+arr.push.dense32:
+ %t90 = getelementptr inbounds %ScrArr, ptr %t79, i32 0, i32 8
+ %t92 = getelementptr inbounds %ScrArr, ptr %t79, i32 0, i32 9
+ %t91 = load ptr, ptr %t90, !tbaa !2
+ %t93 = load ptr, ptr %t92, !tbaa !2
+ %t94 = getelementptr inbounds i8, ptr %t93, i64 %t86
+ %t95 = getelementptr inbounds i64, ptr %t91, i64 %t86
+ store ptr %t81, ptr %t95, !tbaa !6
+ store i8 1, ptr %t94, !tbaa !4
+ %t96 = add nuw i64 %t86, 1
+ store i64 %t96, ptr %t85, !tbaa !2
+ %t98 = getelementptr inbounds %ScrArr, ptr %t79, i32 0, i32 6
+ %t99 = load i32, ptr %t98, !tbaa !2
+ %t103 = zext i32 %t99 to i64
+ %t100 = icmp eq i64 %t103, %t86
+ %t101 = add i32 %t99, 1
+ %t102 = select i1 %t100, i32 %t101, i32 %t99
+ store i32 %t102, ptr %t98, !tbaa !2
+ %t97 = sitofp i64 %t96 to double
+ br label %arr.push.join34
+arr.push.slow33:
+ %t104 = call double @scr_arr_push_ref(ptr %t79, ptr %t81) cold
+ br label %arr.push.join34
+arr.push.join34:
+ %t105 = phi double [ %t97, %arr.push.dense32 ], [ %t104, %arr.push.slow33 ]
+ %t106 = load ptr, ptr %sc_l_out_0
+ %t107 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 1
+ %t108 = load i64, ptr %t107, !tbaa !2
+ %t111 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 2
+ %t109 = load i64, ptr %t111, !tbaa !2
+ %t110 = icmp ult i64 %t108, %t109
+ br i1 %t110, label %arr.push.dense35, label %arr.push.slow36
+arr.push.dense35:
+ %t112 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 8
+ %t114 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 9
+ %t113 = load ptr, ptr %t112, !tbaa !2
+ %t115 = load ptr, ptr %t114, !tbaa !2
+ %t116 = getelementptr inbounds i8, ptr %t115, i64 %t108
+ %t117 = getelementptr inbounds i64, ptr %t113, i64 %t108
+ store ptr @sc_lit_4005573543169985, ptr %t117, !tbaa !6
+ store i8 1, ptr %t116, !tbaa !4
+ %t118 = add nuw i64 %t108, 1
+ store i64 %t118, ptr %t107, !tbaa !2
+ %t120 = getelementptr inbounds %ScrArr, ptr %t106, i32 0, i32 6
+ %t121 = load i32, ptr %t120, !tbaa !2
+ %t125 = zext i32 %t121 to i64
+ %t122 = icmp eq i64 %t125, %t108
+ %t123 = add i32 %t121, 1
+ %t124 = select i1 %t122, i32 %t123, i32 %t121
+ store i32 %t124, ptr %t120, !tbaa !2
+ %t119 = sitofp i64 %t118 to double
+ br label %arr.push.join37
+arr.push.slow36:
+ %t126 = call double @scr_arr_push_ref(ptr %t106, ptr @sc_lit_4005573543169985) cold
+ br label %arr.push.join37
+arr.push.join37:
+ %t127 = phi double [ %t119, %arr.push.dense35 ], [ %t126, %arr.push.slow36 ]
+ br label %if.j27
+if.f28:
+ %t128 = load ptr, ptr %sc_l_out_0
+ %t129 = load ptr, ptr %sc_l_p_0
+ %t130 = load i32, ptr %sc_l_eq_0
+ %t131 = sitofp i32 %t130 to double
+ %t132 = call ptr @scr_str_slice(ptr %t129, double 0x0000000000000000, double %t131)
+ %t133 = call ptr @sc_bf__x25_m5_dec(ptr %t132)
+ %t134 = load i32, ptr %exc.cell
+ %t135 = icmp ne i32 %t134, 0
+ %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false)
+ br i1 %t136, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @scr_str_release(ptr %t132)
+ call void @scr_str_release(ptr %t133)
+ br label %exc.cleanup31
+exc.k39:
+ call void @scr_str_release(ptr %t132)
+ %t137 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 1
+ %t138 = load i64, ptr %t137, !tbaa !2
+ %t141 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 2
+ %t139 = load i64, ptr %t141, !tbaa !2
+ %t140 = icmp ult i64 %t138, %t139
+ br i1 %t140, label %arr.push.dense40, label %arr.push.slow41
+arr.push.dense40:
+ %t142 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 8
+ %t144 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 9
+ %t143 = load ptr, ptr %t142, !tbaa !2
+ %t145 = load ptr, ptr %t144, !tbaa !2
+ %t146 = getelementptr inbounds i8, ptr %t145, i64 %t138
+ %t147 = getelementptr inbounds i64, ptr %t143, i64 %t138
+ store ptr %t133, ptr %t147, !tbaa !6
+ store i8 1, ptr %t146, !tbaa !4
+ %t148 = add nuw i64 %t138, 1
+ store i64 %t148, ptr %t137, !tbaa !2
+ %t150 = getelementptr inbounds %ScrArr, ptr %t128, i32 0, i32 6
+ %t151 = load i32, ptr %t150, !tbaa !2
+ %t155 = zext i32 %t151 to i64
+ %t152 = icmp eq i64 %t155, %t138
+ %t153 = add i32 %t151, 1
+ %t154 = select i1 %t152, i32 %t153, i32 %t151
+ store i32 %t154, ptr %t150, !tbaa !2
+ %t149 = sitofp i64 %t148 to double
+ br label %arr.push.join42
+arr.push.slow41:
+ %t156 = call double @scr_arr_push_ref(ptr %t128, ptr %t133) cold
+ br label %arr.push.join42
+arr.push.join42:
+ %t157 = phi double [ %t149, %arr.push.dense40 ], [ %t156, %arr.push.slow41 ]
+ %t158 = load ptr, ptr %sc_l_out_0
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = load i32, ptr %sc_l_eq_0
+ %t161 = sitofp i32 %t160 to double
+ %t163 = sext i32 %t160 to i64
+ %t164 = add nsw i64 %t163, 1
+ %t166 = trunc i64 %t164 to i32
+ %t165 = sitofp i64 %t164 to double
+ %t167 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t168 = call ptr @scr_str_slice(ptr %t159, double %t165, double %t167)
+ %t169 = call ptr @sc_bf__x25_m5_dec(ptr %t168)
+ %t170 = load i32, ptr %exc.cell
+ %t171 = icmp ne i32 %t170, 0
+ %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false)
+ br i1 %t172, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @scr_str_release(ptr %t168)
+ call void @scr_str_release(ptr %t169)
+ br label %exc.cleanup31
+exc.k44:
+ call void @scr_str_release(ptr %t168)
+ %t173 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 1
+ %t174 = load i64, ptr %t173, !tbaa !2
+ %t177 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 2
+ %t175 = load i64, ptr %t177, !tbaa !2
+ %t176 = icmp ult i64 %t174, %t175
+ br i1 %t176, label %arr.push.dense45, label %arr.push.slow46
+arr.push.dense45:
+ %t178 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 8
+ %t180 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 9
+ %t179 = load ptr, ptr %t178, !tbaa !2
+ %t181 = load ptr, ptr %t180, !tbaa !2
+ %t182 = getelementptr inbounds i8, ptr %t181, i64 %t174
+ %t183 = getelementptr inbounds i64, ptr %t179, i64 %t174
+ store ptr %t169, ptr %t183, !tbaa !6
+ store i8 1, ptr %t182, !tbaa !4
+ %t184 = add nuw i64 %t174, 1
+ store i64 %t184, ptr %t173, !tbaa !2
+ %t186 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 6
+ %t187 = load i32, ptr %t186, !tbaa !2
+ %t191 = zext i32 %t187 to i64
+ %t188 = icmp eq i64 %t191, %t174
+ %t189 = add i32 %t187, 1
+ %t190 = select i1 %t188, i32 %t189, i32 %t187
+ store i32 %t190, ptr %t186, !tbaa !2
+ %t185 = sitofp i64 %t184 to double
+ br label %arr.push.join47
+arr.push.slow46:
+ %t192 = call double @scr_arr_push_ref(ptr %t158, ptr %t169) cold
+ br label %arr.push.join47
+arr.push.join47:
+ %t193 = phi double [ %t185, %arr.push.dense45 ], [ %t192, %arr.push.slow46 ]
+ br label %if.j27
+if.j27:
+ %t194 = load ptr, ptr %sc_l_p_0
+ call void @scr_str_release(ptr %t194)
+ br label %loop.u9
+loop.u9:
+ %t195 = load i64, ptr %s25
+ %t196 = add nuw i64 %t195, 1
+ store i64 %t196, ptr %s25
+ br label %loop.c7
+loop.e6:
+ %t197 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t197)
+ br label %if.j5
+if.j5:
+ %t198 = load ptr, ptr %sc_l_this_0
+ %t199 = load ptr, ptr %sc_l_out_0
+ %t200 = call ptr @scr_arr_retain_v(ptr %t199)
+ %t201 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t198, i64 0, i32 9
+ %t202 = load ptr, ptr %t201
+ store ptr %t200, ptr %t201, !tbaa !146
+ call void @scr_arr_release(ptr %t202)
+ %t203 = load ptr, ptr %sc_l_out_0
+ %t204 = load ptr, ptr %sc_l_cached_0
+ call void @scr_arr_release(ptr %t204)
+ ret ptr %t203
+exc.cleanup25:
+ %t205 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t205)
+ %t206 = load ptr, ptr %sc_l_cached_0
+ call void @scr_arr_release(ptr %t206)
+ %t207 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t207)
+ ret ptr null
+exc.cleanup31:
+ %t208 = load ptr, ptr %sc_l_p_0
+ call void @scr_str_release(ptr %t208)
+ %t209 = load ptr, ptr %sc_l_parts_0
+ call void @scr_arr_release(ptr %t209)
+ %t210 = load ptr, ptr %sc_l_cached_0
+ call void @scr_arr_release(ptr %t210)
+ %t211 = load ptr, ptr %sc_l_out_0
+ call void @scr_arr_release(ptr %t211)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_ReqViewCore__parsed(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_ReqViewCore__parsed(ptr %p0)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m5_CtxResCore_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_sink_0) #0 { ; %%m5.CtxResCore.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_sink_0 = alloca ptr ; sink
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_sink_0
+ %t2 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1)
+ %t3 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t0, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ store ptr %t2, ptr %t3, !tbaa !128
+ call void @sc_release__x25_m2_ResponseSink(ptr %t4)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_CtxResCore_constructor(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_CtxResCore_constructor(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_CtxResCore(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p1)
+ ret void
+}
+
+define internal double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_status(ptr %p_sc_l_this_0) #0 { ; %%m5.CtxResCore.get:status
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s18 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret double 0x0000000000000000
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !128
+ %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6)
+ store ptr %t7, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t10)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t10, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t14 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind
+ %t16 = load i32, ptr %t15
+ %t17 = icmp eq i32 %t16, 6
+ br i1 %t17, label %tern.t5, label %tern.f6
+tern.t5:
+ %t20 = call ptr @scr_dyn_undefined()
+ %t19 = call ptr @scr_dyn_retain_v(ptr %t20)
+ store ptr %t19, ptr %s18
+ br label %tern.j7
+tern.f6:
+ %t21 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t23 = call ptr @sc_f__x25_dyn_class_property_67(ptr %t22)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t23)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t23, ptr %s18
+ br label %tern.j7
+tern.j7:
+ %t27 = load ptr, ptr %s18
+ store ptr %t27, ptr %sc_l__x25_callback_0
+ %t28 = load ptr, ptr %sc_l__x25_callback_0
+ %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t30)
+ %t31 = call ptr @scr_dyn_call(ptr %t28, ptr null, i64 0, ptr @sc_cs_579230036855125)
+ call void @scr_dyn_this_pop()
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup13
+exc.k12:
+ %t35 = call double @sc_dc_2(ptr %t31, ptr null)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup13
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ %t39 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t41)
+ ret double %t35
+exc.cleanup4:
+ %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t42)
+ ret double 0x0000000000000000
+exc.cleanup10:
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t44)
+ ret double 0x0000000000000000
+exc.cleanup13:
+ %t45 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ %t46 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t47 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t47)
+ ret double 0x0000000000000000
+}
+define internal double @sc_f__x25__x25_m5_CtxResCore_get_x3a_status(ptr %p0) #0 {
+entry:
+ %result = call double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_status(ptr %p0)
+ call void @sc_release__x25_m5_CtxResCore(ptr %p0)
+ ret double %result
+}
+
+define internal double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_statusCode(ptr %p_sc_l_this_0) #0 { ; %%m5.CtxResCore.get:statusCode
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s18 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret double 0x0000000000000000
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !128
+ %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6)
+ store ptr %t7, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t10)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t10, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t14 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind
+ %t16 = load i32, ptr %t15
+ %t17 = icmp eq i32 %t16, 6
+ br i1 %t17, label %tern.t5, label %tern.f6
+tern.t5:
+ %t20 = call ptr @scr_dyn_undefined()
+ %t19 = call ptr @scr_dyn_retain_v(ptr %t20)
+ store ptr %t19, ptr %s18
+ br label %tern.j7
+tern.f6:
+ %t21 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t23 = call ptr @sc_f__x25_dyn_class_property_67(ptr %t22)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t23)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t23, ptr %s18
+ br label %tern.j7
+tern.j7:
+ %t27 = load ptr, ptr %s18
+ store ptr %t27, ptr %sc_l__x25_callback_0
+ %t28 = load ptr, ptr %sc_l__x25_callback_0
+ %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t30)
+ %t31 = call ptr @scr_dyn_call(ptr %t28, ptr null, i64 0, ptr @sc_cs_579230036855125)
+ call void @scr_dyn_this_pop()
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup13
+exc.k12:
+ %t35 = call double @sc_dc_2(ptr %t31, ptr null)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup13
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ %t39 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t41)
+ ret double %t35
+exc.cleanup4:
+ %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t42)
+ ret double 0x0000000000000000
+exc.cleanup10:
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t44)
+ ret double 0x0000000000000000
+exc.cleanup13:
+ %t45 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ %t46 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t47 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t47)
+ ret double 0x0000000000000000
+}
+define internal double @sc_f__x25__x25_m5_CtxResCore_get_x3a_statusCode(ptr %p0) #0 {
+entry:
+ %result = call double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_statusCode(ptr %p0)
+ call void @sc_release__x25_m5_CtxResCore(ptr %p0)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxResCore_header(ptr %p_sc_l_this_0, ptr %p_sc_l_name_0) #0 { ; %%m5.CtxResCore.header
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_name_0 = alloca ptr ; name
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s18 = alloca ptr
+ %s33 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_name_0, ptr %sc_l_name_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !128
+ %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6)
+ store ptr %t7, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t10)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t10, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t14 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind
+ %t16 = load i32, ptr %t15
+ %t17 = icmp eq i32 %t16, 6
+ br i1 %t17, label %tern.t5, label %tern.f6
+tern.t5:
+ %t20 = call ptr @scr_dyn_undefined()
+ %t19 = call ptr @scr_dyn_retain_v(ptr %t20)
+ store ptr %t19, ptr %s18
+ br label %tern.j7
+tern.f6:
+ %t21 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t23 = call ptr @sc_f__x25_dyn_class_property_28(ptr %t22)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t23)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t23, ptr %s18
+ br label %tern.j7
+tern.j7:
+ %t27 = load ptr, ptr %s18
+ store ptr %t27, ptr %sc_l__x25_callback_0
+ %t28 = load ptr, ptr %sc_l__x25_callback_0
+ %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t31 = load ptr, ptr %sc_l_name_0
+ %t32 = call ptr @sc_td_0(ptr %t31)
+ %t34 = getelementptr inbounds [1 x ptr], ptr %s33, i64 0, i64 0
+ store ptr %t32, ptr %t34
+ call void @scr_dyn_this_push_dyn(ptr %t30)
+ %t35 = call ptr @scr_dyn_call(ptr %t28, ptr %s33, i64 1, ptr @sc_cs_845392426603274)
+ call void @scr_dyn_this_pop()
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t35)
+ br label %exc.cleanup13
+exc.k12:
+ %t39 = call ptr @sc_dc_63(ptr %t35, ptr null)
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @scr_str_release(ptr %t39)
+ br label %exc.cleanup13
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t35)
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ %t45 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t45)
+ ret ptr %t39
+exc.cleanup4:
+ %t46 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t46)
+ ret ptr null
+exc.cleanup10:
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t48)
+ ret ptr null
+exc.cleanup13:
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ %t50 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t51)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxResCore_header(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_CtxResCore_header(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_CtxResCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxResCore_get_x3a_headers(ptr %p_sc_l_this_0) #0 { ; %%m5.CtxResCore.get:headers
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s18 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !128
+ %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6)
+ store ptr %t7, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t10)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t10, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t14 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind
+ %t16 = load i32, ptr %t15
+ %t17 = icmp eq i32 %t16, 6
+ br i1 %t17, label %tern.t5, label %tern.f6
+tern.t5:
+ %t20 = call ptr @scr_dyn_undefined()
+ %t19 = call ptr @scr_dyn_retain_v(ptr %t20)
+ store ptr %t19, ptr %s18
+ br label %tern.j7
+tern.f6:
+ %t21 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t23 = call ptr @sc_f__x25_dyn_class_property_68(ptr %t22)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t23)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t23, ptr %s18
+ br label %tern.j7
+tern.j7:
+ %t27 = load ptr, ptr %s18
+ store ptr %t27, ptr %sc_l__x25_callback_0
+ %t28 = load ptr, ptr %sc_l__x25_callback_0
+ %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t30)
+ %t31 = call ptr @scr_dyn_call(ptr %t28, ptr null, i64 0, ptr @sc_cs_4179862058638952)
+ call void @scr_dyn_this_pop()
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup13
+exc.k12:
+ %t35 = call ptr @sc_dc_13(ptr %t31, ptr null)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rrelease_r0(ptr %t35)
+ br label %exc.cleanup13
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ %t39 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t41)
+ ret ptr %t35
+exc.cleanup4:
+ %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t42)
+ ret ptr null
+exc.cleanup10:
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t44)
+ ret ptr null
+exc.cleanup13:
+ %t45 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ %t46 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t47 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t47)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxResCore_get_x3a_headers(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_CtxResCore_get_x3a_headers(ptr %p0)
+ call void @sc_release__x25_m5_CtxResCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxResCore_nodeRes(ptr %p_sc_l_this_0) #0 { ; %%m5.CtxResCore.nodeRes
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s18 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !128
+ %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6)
+ store ptr %t7, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t10)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t10, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t14 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind
+ %t16 = load i32, ptr %t15
+ %t17 = icmp eq i32 %t16, 6
+ br i1 %t17, label %tern.t5, label %tern.f6
+tern.t5:
+ %t20 = call ptr @scr_dyn_undefined()
+ %t19 = call ptr @scr_dyn_retain_v(ptr %t20)
+ store ptr %t19, ptr %s18
+ br label %tern.j7
+tern.f6:
+ %t21 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t23 = call ptr @sc_f__x25_dyn_class_property_10(ptr %t22)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t23)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t23, ptr %s18
+ br label %tern.j7
+tern.j7:
+ %t27 = load ptr, ptr %s18
+ store ptr %t27, ptr %sc_l__x25_callback_0
+ %t28 = load ptr, ptr %sc_l__x25_callback_0
+ %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t30)
+ %t31 = call ptr @scr_dyn_call(ptr %t28, ptr null, i64 0, ptr @sc_cs_4193314680235269)
+ call void @scr_dyn_this_pop()
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup13
+exc.k12:
+ %t35 = call ptr @sc_dc_14(ptr %t31, ptr null)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @scr_union_release(ptr %t35)
+ br label %exc.cleanup13
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ %t39 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t41)
+ ret ptr %t35
+exc.cleanup4:
+ %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t42)
+ ret ptr null
+exc.cleanup10:
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t44)
+ ret ptr null
+exc.cleanup13:
+ %t45 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ %t46 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t47 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t47)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxResCore_nodeRes(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_CtxResCore_nodeRes(ptr %p0)
+ call void @sc_release__x25_m5_CtxResCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_req_0, ptr %p_sc_l_sink_0) #0 { ; %%m5.CtxCore.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s26 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_req_0, ptr %sc_l_req_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = load ptr, ptr %sc_l_req_0
+ %t6 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t5)
+ %t7 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t4, i64 0, i32 1
+ %t8 = load ptr, ptr %t7
+ store ptr %t6, ptr %t7, !tbaa !24
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t8)
+ %t9 = load ptr, ptr %sc_l_this_0
+ %t10 = load ptr, ptr %sc_l_sink_0
+ %t11 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t10)
+ %t12 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t9, i64 0, i32 2
+ %t13 = load ptr, ptr %t12
+ store ptr %t11, ptr %t12, !tbaa !44
+ call void @sc_release__x25_m2_ResponseSink(ptr %t13)
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = load ptr, ptr %sc_l_sink_0
+ store ptr %t15, ptr %sc_l__x25_callbackReceiver_0
+ %t16 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret void
+exc.k3:
+ store ptr %t18, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t22 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t23 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t24 = load i32, ptr %t23
+ %t25 = icmp eq i32 %t24, 6
+ br i1 %t25, label %tern.t4, label %tern.f5
+tern.t4:
+ %t28 = call ptr @scr_dyn_undefined()
+ %t27 = call ptr @scr_dyn_retain_v(ptr %t28)
+ store ptr %t27, ptr %s26
+ br label %tern.j6
+tern.f5:
+ %t29 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_f__x25_dyn_class_property_10(ptr %t30)
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t31, ptr %s26
+ br label %tern.j6
+tern.j6:
+ %t35 = load ptr, ptr %s26
+ store ptr %t35, ptr %sc_l__x25_callback_0
+ %t36 = load ptr, ptr %sc_l__x25_callback_0
+ %t37 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t38 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t37, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t38)
+ %t39 = call ptr @scr_dyn_call(ptr %t36, ptr null, i64 0, ptr @sc_cs_2464045371370986)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup12
+exc.k11:
+ %t43 = call ptr @sc_dc_14(ptr %t39, ptr null)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_union_release(ptr %t43)
+ br label %exc.cleanup12
+exc.k14:
+ %t47 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t14, i64 0, i32 7
+ %t48 = load ptr, ptr %t47
+ store ptr %t43, ptr %t47, !tbaa !162
+ call void @scr_union_release(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ %t50 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l_this_0
+ %t52 = call ptr @sc_new__x25_m5_CtxResCore()
+ %t53 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25__x25_m5_CtxResCore_constructor(ptr %t52, ptr %t53)
+ %t54 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t51, i64 0, i32 3
+ %t55 = load ptr, ptr %t54
+ store ptr %t52, ptr %t54, !tbaa !164
+ call void @sc_release__x25_m5_CtxResCore(ptr %t55)
+ %t56 = load ptr, ptr %sc_l_this_0
+ %t57 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t56, i64 0, i32 4
+ store double 0x4069000000000000, ptr %t57, !tbaa !48
+ %t58 = load ptr, ptr %sc_l_this_0
+ %t59 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t58, i64 0, i32 5
+ %t60 = zext i1 false to i8
+ store i8 %t60, ptr %t59, !tbaa !42
+ %t61 = load ptr, ptr %sc_l_this_0
+ %t62 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t61, i64 0, i32 6
+ %t63 = load ptr, ptr %t62
+ store ptr @sc_lit_1197604288682806, ptr %t62, !tbaa !166
+ call void @scr_str_release(ptr %t63)
+ ret void
+exc.cleanup9:
+ %t64 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t64)
+ ret void
+exc.cleanup12:
+ %t65 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t65)
+ %t66 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t66)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_CtxCore_constructor(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p2)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxCore_get_x3a_res(ptr %p_sc_l_this_0) #0 { ; %%m5.CtxCore.get:res
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t0, i64 0, i32 3
+ %t2 = load ptr, ptr %t1, !tbaa !164
+ ret ptr %t2
+}
+define internal ptr @sc_f__x25__x25_m5_CtxCore_get_x3a_res(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_CtxCore_get_x3a_res(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxCore_status(ptr %p_sc_l_this_0, double %p_sc_l_n_0) #0 { ; %%m5.CtxCore.status
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_n_0 = alloca double ; n
+ %sc_l_code_0 = alloca double ; code
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s22 = alloca ptr
+ %s37 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store double %p_sc_l_n_0, ptr %sc_l_n_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load double, ptr %sc_l_n_0
+ store double %t4, ptr %sc_l_code_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = load double, ptr %sc_l_code_0
+ %t7 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t5, i64 0, i32 4
+ store double %t6, ptr %t7, !tbaa !48
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t8, i64 0, i32 2
+ %t10 = load ptr, ptr %t9, !tbaa !44
+ %t11 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t10)
+ store ptr %t11, ptr %sc_l__x25_callbackReceiver_0
+ %t12 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t14 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t13)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t14)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t14, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t18 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t19 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind
+ %t20 = load i32, ptr %t19
+ %t21 = icmp eq i32 %t20, 6
+ br i1 %t21, label %tern.t5, label %tern.f6
+tern.t5:
+ %t24 = call ptr @scr_dyn_undefined()
+ %t23 = call ptr @scr_dyn_retain_v(ptr %t24)
+ store ptr %t23, ptr %s22
+ br label %tern.j7
+tern.f6:
+ %t25 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t26 = call ptr @sc_rc_retain_dyn(ptr %t25)
+ %t27 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t26)
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t27, ptr %s22
+ br label %tern.j7
+tern.j7:
+ %t31 = load ptr, ptr %s22
+ store ptr %t31, ptr %sc_l__x25_callback_0
+ %t32 = load ptr, ptr %sc_l__x25_callback_0
+ %t33 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t34 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t33, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t35 = load double, ptr %sc_l_code_0
+ %t36 = call ptr @sc_td_2(double %t35)
+ %t38 = getelementptr inbounds [1 x ptr], ptr %s37, i64 0, i64 0
+ store ptr %t36, ptr %t38
+ call void @scr_dyn_this_push_dyn(ptr %t34)
+ %t39 = call ptr @scr_dyn_call(ptr %t32, ptr %s37, i64 1, ptr @sc_cs_3951196332544625)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup13
+exc.k12:
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ %t45 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t45)
+ %t46 = load ptr, ptr %sc_l_this_0
+ ret ptr %t46
+exc.cleanup4:
+ %t47 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t47)
+ ret ptr null
+exc.cleanup10:
+ %t48 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ %t49 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t49)
+ ret ptr null
+exc.cleanup13:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ %t52 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t52)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxCore_status(ptr %p0, double %p1) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_CtxCore_status(ptr %p0, double %p1)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_CtxCore(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxCore_header(ptr %p_sc_l_this_0, ptr %p_sc_l_k_0, ptr %p_sc_l_v_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.CtxCore.header
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %s7 = alloca i1
+ %s9 = alloca i1
+ %s18 = alloca %ScrUnion
+ %s24 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s43 = alloca ptr
+ %s60 = alloca [2 x ptr]
+ %s84 = alloca ptr
+ %s101 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_opts_0
+ %t6 = icmp ne ptr %t4, null
+ store i1 %t6, ptr %s7
+ br i1 %t6, label %log.r2, label %log.j3
+log.r2:
+ store i1 true, ptr %s7
+ br label %log.j3
+log.j3:
+ %t8 = load i1, ptr %s7
+ store i1 %t8, ptr %s9
+ br i1 %t8, label %log.r4, label %log.j5
+log.r4:
+ %t10 = load ptr, ptr %sc_l_opts_0
+ %t11 = getelementptr inbounds %sc_rs_r4, ptr %t10, i64 0, i32 1
+ %t12 = getelementptr inbounds { i32, i64 }, ptr %t11, i32 0, i32 0
+ %t14 = load i32, ptr %t12
+ %t13 = getelementptr inbounds { i32, i64 }, ptr %t11, i32 0, i32 1
+ %t15 = load i64, ptr %t13
+ %t16 = icmp eq i32 %t14, 1
+ %t17 = select i1 %t16, i64 0, i64 %t15
+ store i64 -1, ptr %s18
+ %t19 = getelementptr inbounds %ScrUnion, ptr %s18, i64 0, i32 1
+ store i32 %t14, ptr %t19
+ %t20 = getelementptr inbounds %ScrUnion, ptr %s18, i64 0, i32 5
+ store i64 %t17, ptr %t20
+ %t22 = getelementptr inbounds %ScrUnion, ptr %s18, i64 0, i32 1
+ %t21 = load i32, ptr %t22
+ %t23 = icmp eq i32 %t21, 0
+ store i1 false, ptr %s24
+ br i1 %t23, label %ueq.s6, label %ueq.j7
+ueq.s6:
+ %t26 = call zeroext i1 @scr_union_get_bool(ptr %s18)
+ %t25 = icmp eq i1 %t26, true
+ store i1 %t25, ptr %s24
+ br label %ueq.j7
+ueq.j7:
+ %t27 = load i1, ptr %s24
+ store i1 %t27, ptr %s9
+ br label %log.j5
+log.j5:
+ %t28 = load i1, ptr %s9
+ br i1 %t28, label %if.t8, label %if.f10
+if.t8:
+ %t29 = load ptr, ptr %sc_l_this_0
+ %t30 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t29, i64 0, i32 2
+ %t31 = load ptr, ptr %t30, !tbaa !44
+ %t32 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t31)
+ store ptr %t32, ptr %sc_l__x25_callbackReceiver_0
+ %t33 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t34 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t33, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t35 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t34)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t35)
+ br label %exc.cleanup13
+exc.k12:
+ store ptr %t35, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t39 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t40 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t41 = load i32, ptr %t40
+ %t42 = icmp eq i32 %t41, 6
+ br i1 %t42, label %tern.t14, label %tern.f15
+tern.t14:
+ %t45 = call ptr @scr_dyn_undefined()
+ %t44 = call ptr @scr_dyn_retain_v(ptr %t45)
+ store ptr %t44, ptr %s43
+ br label %tern.j16
+tern.f15:
+ %t46 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t47 = call ptr @sc_rc_retain_dyn(ptr %t46)
+ %t48 = call ptr @sc_f__x25_dyn_class_property_15(ptr %t47)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @sc_rc_release_dyn(ptr %t48)
+ br label %exc.cleanup19
+exc.k18:
+ store ptr %t48, ptr %s43
+ br label %tern.j16
+tern.j16:
+ %t52 = load ptr, ptr %s43
+ store ptr %t52, ptr %sc_l__x25_callback_0
+ %t53 = load ptr, ptr %sc_l__x25_callback_0
+ %t54 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t55 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t54, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t56 = load ptr, ptr %sc_l_k_0
+ %t57 = call ptr @sc_td_0(ptr %t56)
+ %t58 = load ptr, ptr %sc_l_v_0
+ %t59 = call ptr @sc_td_0(ptr %t58)
+ %t61 = getelementptr inbounds [2 x ptr], ptr %s60, i64 0, i64 0
+ store ptr %t57, ptr %t61
+ %t62 = getelementptr inbounds [2 x ptr], ptr %s60, i64 0, i64 1
+ store ptr %t59, ptr %t62
+ call void @scr_dyn_this_push_dyn(ptr %t55)
+ %t63 = call ptr @scr_dyn_call(ptr %t53, ptr %s60, i64 2, ptr @sc_cs_3548747207791957)
+ call void @scr_dyn_this_pop()
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ br label %exc.cleanup22
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ %t67 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t68 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t68)
+ %t69 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t69)
+ br label %if.j9
+if.f10:
+ %t70 = load ptr, ptr %sc_l_this_0
+ %t71 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t70, i64 0, i32 2
+ %t72 = load ptr, ptr %t71, !tbaa !44
+ %t73 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t72)
+ store ptr %t73, ptr %sc_l__x25_callbackReceiver_1
+ %t74 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t76 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t75)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u23, label %exc.k24
+exc.u23:
+ call void @sc_rc_release_dyn(ptr %t76)
+ br label %exc.cleanup25
+exc.k24:
+ store ptr %t76, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t80 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t81 = getelementptr inbounds i8, ptr %t80, i64 8 ; ->kind
+ %t82 = load i32, ptr %t81
+ %t83 = icmp eq i32 %t82, 6
+ br i1 %t83, label %tern.t26, label %tern.f27
+tern.t26:
+ %t86 = call ptr @scr_dyn_undefined()
+ %t85 = call ptr @scr_dyn_retain_v(ptr %t86)
+ store ptr %t85, ptr %s84
+ br label %tern.j28
+tern.f27:
+ %t87 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t88 = call ptr @sc_rc_retain_dyn(ptr %t87)
+ %t89 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t88)
+ %t90 = load i32, ptr %exc.cell
+ %t91 = icmp ne i32 %t90, 0
+ %t92 = call i1 @llvm.expect.i1(i1 %t91, i1 false)
+ br i1 %t92, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t89)
+ br label %exc.cleanup31
+exc.k30:
+ store ptr %t89, ptr %s84
+ br label %tern.j28
+tern.j28:
+ %t93 = load ptr, ptr %s84
+ store ptr %t93, ptr %sc_l__x25_callback_1
+ %t94 = load ptr, ptr %sc_l__x25_callback_1
+ %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t97 = load ptr, ptr %sc_l_k_0
+ %t98 = call ptr @sc_td_0(ptr %t97)
+ %t99 = load ptr, ptr %sc_l_v_0
+ %t100 = call ptr @sc_td_0(ptr %t99)
+ %t102 = getelementptr inbounds [2 x ptr], ptr %s101, i64 0, i64 0
+ store ptr %t98, ptr %t102
+ %t103 = getelementptr inbounds [2 x ptr], ptr %s101, i64 0, i64 1
+ store ptr %t100, ptr %t103
+ call void @scr_dyn_this_push_dyn(ptr %t96)
+ %t104 = call ptr @scr_dyn_call(ptr %t94, ptr %s101, i64 2, ptr @sc_cs_4344474916287258)
+ call void @scr_dyn_this_pop()
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t104)
+ br label %exc.cleanup34
+exc.k33:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t104)
+ %t108 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t108)
+ %t109 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t109)
+ %t110 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t110)
+ br label %if.j9
+if.j9:
+ %t111 = load ptr, ptr %sc_l_this_0
+ ret ptr %t111
+exc.cleanup13:
+ %t112 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t112)
+ ret ptr null
+exc.cleanup19:
+ %t113 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t113)
+ %t114 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t114)
+ ret ptr null
+exc.cleanup22:
+ %t115 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t115)
+ %t116 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t116)
+ %t117 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t117)
+ ret ptr null
+exc.cleanup25:
+ %t118 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t118)
+ ret ptr null
+exc.cleanup31:
+ %t119 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t119)
+ %t120 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t120)
+ ret ptr null
+exc.cleanup34:
+ %t121 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t121)
+ %t122 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t122)
+ %t123 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t123)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxCore_header(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_CtxCore_header(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_CtxCore(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @sc_rrelease_r4(ptr %p3)
+ ret ptr %t3
+}
+
+define internal void @sc_bf__x25__x25_m5_CtxCore_set(ptr %p_sc_l_this_0, ptr %p_sc_l_key_0, ptr %p_sc_l_value_0) #0 { ; %%m5.CtxCore.set
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_key_0 = alloca ptr ; key
+ %sc_l_value_0 = alloca ptr ; value
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_cur_0 = alloca ptr ; cur
+ %sc_l__x25_setReceiver_0 = alloca ptr ; %setReceiver
+ %sc_l__x25_setKey_0 = alloca ptr ; %setKey
+ %sc_l__x25_setValue_0 = alloca ptr ; %setValue
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_k_0
+ store ptr null, ptr %sc_l_cur_0
+ store ptr null, ptr %sc_l__x25_setReceiver_0
+ store ptr null, ptr %sc_l__x25_setKey_0
+ store ptr null, ptr %sc_l__x25_setValue_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_key_0, ptr %sc_l_key_0
+ store ptr %p_sc_l_value_0, ptr %sc_l_value_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_0
+ store ptr %t4, ptr %sc_l_k_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t5, i64 0, i32 6
+ %t7 = load ptr, ptr %t6, !tbaa !166
+ %t8 = call ptr @sc_rc_retain_str(ptr %t7)
+ %t9 = call ptr @scr_json_parse(ptr %t8)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_str_release(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t9)
+ ret void
+exc.k3:
+ store ptr %t9, ptr %sc_l_cur_0
+ call void @scr_str_release(ptr %t8)
+ %t13 = load ptr, ptr %sc_l_cur_0
+ store ptr %t13, ptr %sc_l__x25_setReceiver_0
+ %t14 = load ptr, ptr %sc_l_k_0
+ %t15 = call ptr @sc_td_0(ptr %t14)
+ store ptr %t15, ptr %sc_l__x25_setKey_0
+ %t16 = load ptr, ptr %sc_l_value_0
+ store ptr %t16, ptr %sc_l__x25_setValue_0
+ %t17 = load ptr, ptr %sc_l__x25_setReceiver_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = load ptr, ptr %sc_l__x25_setKey_0
+ %t20 = load ptr, ptr %sc_l__x25_setValue_0
+ call void @sc_bf__x25_dyn_class_computed_0(ptr %t18, ptr %t19, ptr %t20)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u4, label %exc.k5
+exc.u4:
+ br label %exc.cleanup6
+exc.k5:
+ %t24 = load ptr, ptr %sc_l__x25_setKey_0
+ call void @sc_rc_release_dyn(ptr %t24)
+ %t25 = load ptr, ptr %sc_l_this_0
+ %t26 = load ptr, ptr %sc_l_cur_0
+ %t28 = call ptr @scr_dyn_undefined()
+ %t27 = call ptr @scr_dyn_retain_v(ptr %t28)
+ %t29 = call ptr @scr_json_stringify_replacer(ptr %t26, ptr %t27, ptr @sc_lit_4005573543169985)
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup9
+exc.k8:
+ %t33 = call ptr @sc_ds(ptr %t29)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @scr_str_release(ptr %t33)
+ br label %exc.cleanup9
+exc.k11:
+ %t37 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t25, i64 0, i32 6
+ %t38 = load ptr, ptr %t37
+ store ptr %t33, ptr %t37, !tbaa !166
+ call void @scr_str_release(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ %t39 = load ptr, ptr %sc_l_cur_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ ret void
+exc.cleanup6:
+ %t40 = load ptr, ptr %sc_l__x25_setKey_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l_cur_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret void
+exc.cleanup9:
+ %t42 = load ptr, ptr %sc_l_cur_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_CtxCore_set(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_CtxCore_set(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxCore_json(ptr %p_sc_l_this_0, ptr %p_sc_l_o_0) #0 { ; %%m5.CtxCore.json
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_o_0 = alloca ptr ; o
+ %sc_l_t_0 = alloca ptr ; t
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s28 = alloca ptr
+ %s45 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l_t_0
+ store ptr null, ptr %sc_l_s_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_o_0, ptr %sc_l_o_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_o_0
+ %t6 = call ptr @scr_dyn_undefined()
+ %t5 = call ptr @scr_dyn_retain_v(ptr %t6)
+ %t7 = call ptr @scr_json_stringify_replacer(ptr %t4, ptr %t5, ptr @sc_lit_4005573543169985)
+ %t8 = load i32, ptr %exc.cell
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t7)
+ ret ptr null
+exc.k3:
+ %t11 = call ptr @sc_ds(ptr %t7)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t7)
+ call void @scr_str_release(ptr %t11)
+ ret ptr null
+exc.k5:
+ store ptr %t11, ptr %sc_l_t_0
+ call void @sc_rc_release_dyn(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr @sc_lit_2043119860907636, ptr %sc_l_s_0
+ br i1 true, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_t_0
+ %t16 = call ptr @sc_rc_retain_str(ptr %t15)
+ %t17 = load ptr, ptr %sc_l_s_0
+ call void @scr_str_release(ptr %t17)
+ store ptr %t16, ptr %sc_l_s_0
+ br label %if.j7
+if.j7:
+ %t18 = load ptr, ptr %sc_l_this_0
+ store ptr %t18, ptr %sc_l__x25_callbackReceiver_0
+ %t19 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t20 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t20, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t24 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t25 = getelementptr inbounds i8, ptr %t24, i64 8 ; ->kind
+ %t26 = load i32, ptr %t25
+ %t27 = icmp eq i32 %t26, 6
+ br i1 %t27, label %tern.t11, label %tern.f12
+tern.t11:
+ %t30 = call ptr @scr_dyn_undefined()
+ %t29 = call ptr @scr_dyn_retain_v(ptr %t30)
+ store ptr %t29, ptr %s28
+ br label %tern.j13
+tern.f12:
+ %t31 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t32 = call ptr @sc_rc_retain_dyn(ptr %t31)
+ %t33 = call ptr @sc_f__x25_dyn_class_property_11(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t33)
+ br label %exc.cleanup16
+exc.k15:
+ store ptr %t33, ptr %s28
+ br label %tern.j13
+tern.j13:
+ %t37 = load ptr, ptr %s28
+ store ptr %t37, ptr %sc_l__x25_callback_0
+ %t38 = load ptr, ptr %sc_l__x25_callback_0
+ %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t41 = load ptr, ptr %sc_l_s_0
+ %t42 = call ptr @sc_rc_retain_str(ptr %t41)
+ %t43 = call ptr @sc_td_0(ptr %t42)
+ %t44 = call ptr @sc_td_0(ptr @sc_lit_2488658682239846)
+ %t46 = getelementptr inbounds [2 x ptr], ptr %s45, i64 0, i64 0
+ store ptr %t43, ptr %t46
+ %t47 = getelementptr inbounds [2 x ptr], ptr %s45, i64 0, i64 1
+ store ptr %t44, ptr %t47
+ call void @scr_dyn_this_push_dyn(ptr %t40)
+ %t48 = call ptr @scr_dyn_call(ptr %t38, ptr %s45, i64 2, ptr @sc_cs_4040980926545257)
+ call void @scr_dyn_this_pop()
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @scr_str_release(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t44)
+ call void @sc_rc_release_dyn(ptr %t48)
+ br label %exc.cleanup19
+exc.k18:
+ %t52 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t48)
+ %t53 = load i32, ptr %exc.cell
+ %t54 = icmp ne i32 %t53, 0
+ %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false)
+ br i1 %t55, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @scr_str_release(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t44)
+ call void @sc_rc_release_dyn(ptr %t48)
+ call void @sc_release__x25_m5_CtxCore(ptr %t52)
+ br label %exc.cleanup19
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @scr_str_release(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t44)
+ call void @sc_rc_release_dyn(ptr %t48)
+ %t56 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t56)
+ %t57 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t57)
+ %t58 = load ptr, ptr %sc_l_t_0
+ call void @scr_str_release(ptr %t58)
+ %t59 = load ptr, ptr %sc_l_s_0
+ call void @scr_str_release(ptr %t59)
+ ret ptr %t52
+exc.cleanup10:
+ %t60 = load ptr, ptr %sc_l_t_0
+ call void @scr_str_release(ptr %t60)
+ %t61 = load ptr, ptr %sc_l_s_0
+ call void @scr_str_release(ptr %t61)
+ ret ptr null
+exc.cleanup16:
+ %t62 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t62)
+ %t63 = load ptr, ptr %sc_l_t_0
+ call void @scr_str_release(ptr %t63)
+ %t64 = load ptr, ptr %sc_l_s_0
+ call void @scr_str_release(ptr %t64)
+ ret ptr null
+exc.cleanup19:
+ %t65 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t65)
+ %t66 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t66)
+ %t67 = load ptr, ptr %sc_l_t_0
+ call void @scr_str_release(ptr %t67)
+ %t68 = load ptr, ptr %sc_l_s_0
+ call void @scr_str_release(ptr %t68)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxCore_json(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_CtxCore_json(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxCore_text(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0) #0 { ; %%m5.CtxCore.text
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s30 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_11(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t27 = load ptr, ptr %sc_l_s_0
+ %t28 = call ptr @sc_td_0(ptr %t27)
+ %t29 = call ptr @sc_td_0(ptr @sc_lit_266676967674785)
+ %t31 = getelementptr inbounds [2 x ptr], ptr %s30, i64 0, i64 0
+ store ptr %t28, ptr %t31
+ %t32 = getelementptr inbounds [2 x ptr], ptr %s30, i64 0, i64 1
+ store ptr %t29, ptr %t32
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t33 = call ptr @scr_dyn_call(ptr %t24, ptr %s30, i64 2, ptr @sc_cs_4040980926545257)
+ call void @scr_dyn_this_pop()
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t33)
+ br label %exc.cleanup12
+exc.k11:
+ %t37 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t33)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_release__x25_m5_CtxCore(ptr %t37)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t33)
+ %t41 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t42 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr %t37
+exc.cleanup9:
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr null
+exc.cleanup12:
+ %t44 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ %t45 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxCore_text(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_CtxCore_text(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxCore_html(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0) #0 { ; %%m5.CtxCore.html
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s30 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_11(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t27 = load ptr, ptr %sc_l_s_0
+ %t28 = call ptr @sc_td_0(ptr %t27)
+ %t29 = call ptr @sc_td_0(ptr @sc_lit_1657010753210616)
+ %t31 = getelementptr inbounds [2 x ptr], ptr %s30, i64 0, i64 0
+ store ptr %t28, ptr %t31
+ %t32 = getelementptr inbounds [2 x ptr], ptr %s30, i64 0, i64 1
+ store ptr %t29, ptr %t32
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t33 = call ptr @scr_dyn_call(ptr %t24, ptr %s30, i64 2, ptr @sc_cs_4040980926545257)
+ call void @scr_dyn_this_pop()
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t33)
+ br label %exc.cleanup12
+exc.k11:
+ %t37 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t33)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_release__x25_m5_CtxCore(ptr %t37)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t33)
+ %t41 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t42 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr %t37
+exc.cleanup9:
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr null
+exc.cleanup12:
+ %t44 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ %t45 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxCore_html(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_CtxCore_html(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxCore_redirect(ptr %p_sc_l_this_0, ptr %p_sc_l_url_0, ptr %p_sc_l_code_0) #0 { ; %%m5.CtxCore.redirect
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_code_0 = alloca ptr ; code
+ %sc_l_n_0 = alloca double ; n
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %s8 = alloca double
+ %s9 = alloca i32
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s24 = alloca ptr
+ %s39 = alloca [1 x ptr]
+ %s65 = alloca ptr
+ %s81 = alloca [2 x ptr]
+ %s105 = alloca ptr
+ %s119 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_url_0, ptr %sc_l_url_0
+ store ptr %p_sc_l_code_0, ptr %sc_l_code_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_code_0
+ %t7 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 1
+ %t6 = load i32, ptr %t7
+ %t5 = icmp eq i32 %t6, 1
+ br i1 %t5, label %tern.t2, label %tern.f3
+tern.t2:
+ store double 0x4072E00000000000, ptr %s8
+ store i32 302, ptr %s9
+ br label %tern.j4
+tern.f3:
+ %t10 = load ptr, ptr %sc_l_code_0
+ %t11 = getelementptr inbounds %ScrUnion, ptr %t10, i64 0, i32 5
+ %t12 = load double, ptr %t11
+ store double %t12, ptr %s8
+ br label %tern.j4
+tern.j4:
+ %t13 = load double, ptr %s8
+ store double %t13, ptr %sc_l_n_0
+ %t14 = load ptr, ptr %sc_l_this_0
+ store ptr %t14, ptr %sc_l__x25_callbackReceiver_0
+ %t15 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t16 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t15)
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t16)
+ ret ptr null
+exc.k6:
+ store ptr %t16, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t20 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t21 = getelementptr inbounds i8, ptr %t20, i64 8 ; ->kind
+ %t22 = load i32, ptr %t21
+ %t23 = icmp eq i32 %t22, 6
+ br i1 %t23, label %tern.t7, label %tern.f8
+tern.t7:
+ %t26 = call ptr @scr_dyn_undefined()
+ %t25 = call ptr @scr_dyn_retain_v(ptr %t26)
+ store ptr %t25, ptr %s24
+ br label %tern.j9
+tern.f8:
+ %t27 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = call ptr @sc_f__x25_dyn_class_property_12(ptr %t28)
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup12
+exc.k11:
+ store ptr %t29, ptr %s24
+ br label %tern.j9
+tern.j9:
+ %t33 = load ptr, ptr %s24
+ store ptr %t33, ptr %sc_l__x25_callback_0
+ %t34 = load ptr, ptr %sc_l__x25_callback_0
+ %t35 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t36 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t35, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t37 = load double, ptr %sc_l_n_0
+ %t38 = call ptr @sc_td_2(double %t37)
+ %t40 = getelementptr inbounds [1 x ptr], ptr %s39, i64 0, i64 0
+ store ptr %t38, ptr %t40
+ call void @scr_dyn_this_push_dyn(ptr %t36)
+ %t41 = call ptr @scr_dyn_call(ptr %t34, ptr %s39, i64 1, ptr @sc_cs_2252369542214597)
+ call void @scr_dyn_this_pop()
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t41)
+ br label %exc.cleanup15
+exc.k14:
+ %t45 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t41)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_release__x25_m5_CtxCore(ptr %t45)
+ br label %exc.cleanup15
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_release__x25_m5_CtxCore(ptr %t45)
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ %t50 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l_this_0
+ %t52 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t51, i64 0, i32 2
+ %t53 = load ptr, ptr %t52, !tbaa !44
+ %t54 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t53)
+ store ptr %t54, ptr %sc_l__x25_callbackReceiver_1
+ %t55 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t56 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t55, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t57 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t56)
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t57)
+ br label %exc.cleanup20
+exc.k19:
+ store ptr %t57, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t61 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t62 = getelementptr inbounds i8, ptr %t61, i64 8 ; ->kind
+ %t63 = load i32, ptr %t62
+ %t64 = icmp eq i32 %t63, 6
+ br i1 %t64, label %tern.t21, label %tern.f22
+tern.t21:
+ %t67 = call ptr @scr_dyn_undefined()
+ %t66 = call ptr @scr_dyn_retain_v(ptr %t67)
+ store ptr %t66, ptr %s65
+ br label %tern.j23
+tern.f22:
+ %t68 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t69 = call ptr @sc_rc_retain_dyn(ptr %t68)
+ %t70 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t69)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t70)
+ br label %exc.cleanup26
+exc.k25:
+ store ptr %t70, ptr %s65
+ br label %tern.j23
+tern.j23:
+ %t74 = load ptr, ptr %s65
+ store ptr %t74, ptr %sc_l__x25_callback_1
+ %t75 = load ptr, ptr %sc_l__x25_callback_1
+ %t76 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t77 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t76, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t78 = call ptr @sc_td_0(ptr @sc_lit_4062345987786846)
+ %t79 = load ptr, ptr %sc_l_url_0
+ %t80 = call ptr @sc_td_0(ptr %t79)
+ %t82 = getelementptr inbounds [2 x ptr], ptr %s81, i64 0, i64 0
+ store ptr %t78, ptr %t82
+ %t83 = getelementptr inbounds [2 x ptr], ptr %s81, i64 0, i64 1
+ store ptr %t80, ptr %t83
+ call void @scr_dyn_this_push_dyn(ptr %t77)
+ %t84 = call ptr @scr_dyn_call(ptr %t75, ptr %s81, i64 2, ptr @sc_cs_4344474916287258)
+ call void @scr_dyn_this_pop()
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t77)
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ br label %exc.cleanup29
+exc.k28:
+ call void @sc_rc_release_dyn(ptr %t77)
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ %t88 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t88)
+ %t89 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t90 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t90)
+ %t91 = load ptr, ptr %sc_l_this_0
+ %t92 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t91, i64 0, i32 2
+ %t93 = load ptr, ptr %t92, !tbaa !44
+ %t94 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t93)
+ store ptr %t94, ptr %sc_l__x25_callbackReceiver_2
+ %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t97 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t96)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t97)
+ br label %exc.cleanup32
+exc.k31:
+ store ptr %t97, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t101 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t102 = getelementptr inbounds i8, ptr %t101, i64 8 ; ->kind
+ %t103 = load i32, ptr %t102
+ %t104 = icmp eq i32 %t103, 6
+ br i1 %t104, label %tern.t33, label %tern.f34
+tern.t33:
+ %t107 = call ptr @scr_dyn_undefined()
+ %t106 = call ptr @scr_dyn_retain_v(ptr %t107)
+ store ptr %t106, ptr %s105
+ br label %tern.j35
+tern.f34:
+ %t108 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t109 = call ptr @sc_rc_retain_dyn(ptr %t108)
+ %t110 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t109)
+ %t111 = load i32, ptr %exc.cell
+ %t112 = icmp ne i32 %t111, 0
+ %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false)
+ br i1 %t113, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup38
+exc.k37:
+ store ptr %t110, ptr %s105
+ br label %tern.j35
+tern.j35:
+ %t114 = load ptr, ptr %s105
+ store ptr %t114, ptr %sc_l__x25_callback_2
+ %t115 = load ptr, ptr %sc_l__x25_callback_2
+ %t116 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t117 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t116, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t118 = call ptr @sc_td_0(ptr @sc_lit_4005573543169985)
+ %t120 = getelementptr inbounds [1 x ptr], ptr %s119, i64 0, i64 0
+ store ptr %t118, ptr %t120
+ call void @scr_dyn_this_push_dyn(ptr %t117)
+ %t121 = call ptr @scr_dyn_call(ptr %t115, ptr %s119, i64 1, ptr @sc_cs_543104408299578)
+ call void @scr_dyn_this_pop()
+ %t122 = load i32, ptr %exc.cell
+ %t123 = icmp ne i32 %t122, 0
+ %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false)
+ br i1 %t124, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t121)
+ br label %exc.cleanup41
+exc.k40:
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t121)
+ %t125 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t125)
+ %t126 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t126)
+ %t127 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m2_ResponseSink(ptr %t127)
+ %t128 = load ptr, ptr %sc_l_this_0
+ %t129 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t128, i64 0, i32 5
+ %t130 = zext i1 true to i8
+ store i8 %t130, ptr %t129, !tbaa !42
+ %t131 = load ptr, ptr %sc_l_this_0
+ ret ptr %t131
+exc.cleanup12:
+ %t132 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+exc.cleanup15:
+ %t133 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t133)
+ %t134 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t134)
+ ret ptr null
+exc.cleanup20:
+ %t135 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t135)
+ ret ptr null
+exc.cleanup26:
+ %t136 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t136)
+ %t137 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t137)
+ ret ptr null
+exc.cleanup29:
+ %t138 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t138)
+ %t139 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t139)
+ %t140 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t140)
+ ret ptr null
+exc.cleanup32:
+ %t141 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m2_ResponseSink(ptr %t141)
+ ret ptr null
+exc.cleanup38:
+ %t142 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t142)
+ %t143 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m2_ResponseSink(ptr %t143)
+ ret ptr null
+exc.cleanup41:
+ %t144 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t144)
+ %t145 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t145)
+ %t146 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m2_ResponseSink(ptr %t146)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxCore_redirect(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_CtxCore_redirect(ptr %p0, ptr %p1, ptr %p2)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_CtxCore(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_union_release(ptr %p2)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxCore_bytes(ptr %p_sc_l_this_0, ptr %p_sc_l_b_0, ptr %p_sc_l_ct_0) #0 { ; %%m5.CtxCore.bytes
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_ct_0 = alloca ptr ; ct
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s18 = alloca ptr
+ %s35 = alloca [1 x ptr]
+ %s58 = alloca ptr
+ %s75 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t4, i64 0, i32 2
+ %t6 = load ptr, ptr %t5, !tbaa !44
+ %t7 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t6)
+ store ptr %t7, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t9 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t8, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t10 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t10)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t10, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t14 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t15 = getelementptr inbounds i8, ptr %t14, i64 8 ; ->kind
+ %t16 = load i32, ptr %t15
+ %t17 = icmp eq i32 %t16, 6
+ br i1 %t17, label %tern.t5, label %tern.f6
+tern.t5:
+ %t20 = call ptr @scr_dyn_undefined()
+ %t19 = call ptr @scr_dyn_retain_v(ptr %t20)
+ store ptr %t19, ptr %s18
+ br label %tern.j7
+tern.f6:
+ %t21 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t23 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t22)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t23)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t23, ptr %s18
+ br label %tern.j7
+tern.j7:
+ %t27 = load ptr, ptr %s18
+ store ptr %t27, ptr %sc_l__x25_callback_0
+ %t28 = load ptr, ptr %sc_l__x25_callback_0
+ %t29 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t31 = load ptr, ptr %sc_l_this_0
+ %t32 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t31, i64 0, i32 4
+ %t33 = load double, ptr %t32, !tbaa !48
+ %t34 = call ptr @sc_td_2(double %t33)
+ %t36 = getelementptr inbounds [1 x ptr], ptr %s35, i64 0, i64 0
+ store ptr %t34, ptr %t36
+ call void @scr_dyn_this_push_dyn(ptr %t30)
+ %t37 = call ptr @scr_dyn_call(ptr %t28, ptr %s35, i64 1, ptr @sc_cs_3951196332544625)
+ call void @scr_dyn_this_pop()
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t37)
+ br label %exc.cleanup13
+exc.k12:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t41 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t42 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ %t43 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t43)
+ %t44 = load ptr, ptr %sc_l_this_0
+ %t45 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t44, i64 0, i32 2
+ %t46 = load ptr, ptr %t45, !tbaa !44
+ %t47 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t46)
+ store ptr %t47, ptr %sc_l__x25_callbackReceiver_1
+ %t48 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t49 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t48, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t50 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t49)
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t50)
+ br label %exc.cleanup16
+exc.k15:
+ store ptr %t50, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t54 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t55 = getelementptr inbounds i8, ptr %t54, i64 8 ; ->kind
+ %t56 = load i32, ptr %t55
+ %t57 = icmp eq i32 %t56, 6
+ br i1 %t57, label %tern.t17, label %tern.f18
+tern.t17:
+ %t60 = call ptr @scr_dyn_undefined()
+ %t59 = call ptr @scr_dyn_retain_v(ptr %t60)
+ store ptr %t59, ptr %s58
+ br label %tern.j19
+tern.f18:
+ %t61 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t62 = call ptr @sc_rc_retain_dyn(ptr %t61)
+ %t63 = call ptr @sc_f__x25_dyn_class_property_17(ptr %t62)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t63)
+ br label %exc.cleanup22
+exc.k21:
+ store ptr %t63, ptr %s58
+ br label %tern.j19
+tern.j19:
+ %t67 = load ptr, ptr %s58
+ store ptr %t67, ptr %sc_l__x25_callback_1
+ %t68 = load ptr, ptr %sc_l__x25_callback_1
+ %t69 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t70 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t69, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t71 = load ptr, ptr %sc_l_b_0
+ %t72 = call ptr @sc_td_1(ptr %t71)
+ %t73 = load ptr, ptr %sc_l_ct_0
+ %t74 = call ptr @sc_td_0(ptr %t73)
+ %t76 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 0
+ store ptr %t72, ptr %t76
+ %t77 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 1
+ store ptr %t74, ptr %t77
+ call void @scr_dyn_this_push_dyn(ptr %t70)
+ %t78 = call ptr @scr_dyn_call(ptr %t68, ptr %s75, i64 2, ptr @sc_cs_2097056599080311)
+ call void @scr_dyn_this_pop()
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u23, label %exc.k24
+exc.u23:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t78)
+ br label %exc.cleanup25
+exc.k24:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t78)
+ %t82 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t82)
+ %t83 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t83)
+ %t84 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t84)
+ %t85 = load ptr, ptr %sc_l_this_0
+ %t86 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t85, i64 0, i32 5
+ %t87 = zext i1 true to i8
+ store i8 %t87, ptr %t86, !tbaa !42
+ %t88 = load ptr, ptr %sc_l_this_0
+ ret ptr %t88
+exc.cleanup4:
+ %t89 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t89)
+ ret ptr null
+exc.cleanup10:
+ %t90 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t90)
+ %t91 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t91)
+ ret ptr null
+exc.cleanup13:
+ %t92 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t92)
+ %t93 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t93)
+ %t94 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t94)
+ ret ptr null
+exc.cleanup16:
+ %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t95)
+ ret ptr null
+exc.cleanup22:
+ %t96 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t96)
+ %t97 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t97)
+ ret ptr null
+exc.cleanup25:
+ %t98 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t98)
+ %t99 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t99)
+ %t100 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t100)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxCore_bytes(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_CtxCore_bytes(ptr %p0, ptr %p1, ptr %p2)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_CtxCore(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @scr_bytes_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_CtxCore__send(ptr %p_sc_l_this_0, ptr %p_sc_l_s_0, ptr %p_sc_l_ct_0) #0 { ; %%m5.CtxCore._send
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_ct_0 = alloca ptr ; ct
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s19 = alloca ptr
+ %s36 = alloca [1 x ptr]
+ %s59 = alloca ptr
+ %s75 = alloca [2 x ptr]
+ %s99 = alloca ptr
+ %s117 = alloca [2 x ptr]
+ %s141 = alloca ptr
+ %s156 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l_b_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ store ptr %p_sc_l_ct_0, ptr %sc_l_ct_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_s_0
+ store ptr %t4, ptr %sc_l_b_0
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t5, i64 0, i32 2
+ %t7 = load ptr, ptr %t6, !tbaa !44
+ %t8 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t7)
+ store ptr %t8, ptr %sc_l__x25_callbackReceiver_0
+ %t9 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t10 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t9, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t11 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t10)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t11)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t11, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t15 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t16 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t17 = load i32, ptr %t16
+ %t18 = icmp eq i32 %t17, 6
+ br i1 %t18, label %tern.t5, label %tern.f6
+tern.t5:
+ %t21 = call ptr @scr_dyn_undefined()
+ %t20 = call ptr @scr_dyn_retain_v(ptr %t21)
+ store ptr %t20, ptr %s19
+ br label %tern.j7
+tern.f6:
+ %t22 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t23 = call ptr @sc_rc_retain_dyn(ptr %t22)
+ %t24 = call ptr @sc_f__x25_dyn_class_property_16(ptr %t23)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t24)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t24, ptr %s19
+ br label %tern.j7
+tern.j7:
+ %t28 = load ptr, ptr %s19
+ store ptr %t28, ptr %sc_l__x25_callback_0
+ %t29 = load ptr, ptr %sc_l__x25_callback_0
+ %t30 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t31 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t30, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t32, i64 0, i32 4
+ %t34 = load double, ptr %t33, !tbaa !48
+ %t35 = call ptr @sc_td_2(double %t34)
+ %t37 = getelementptr inbounds [1 x ptr], ptr %s36, i64 0, i64 0
+ store ptr %t35, ptr %t37
+ call void @scr_dyn_this_push_dyn(ptr %t31)
+ %t38 = call ptr @scr_dyn_call(ptr %t29, ptr %s36, i64 1, ptr @sc_cs_3951196332544625)
+ call void @scr_dyn_this_pop()
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t38)
+ br label %exc.cleanup13
+exc.k12:
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t42 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ %t43 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t44)
+ %t45 = load ptr, ptr %sc_l_this_0
+ %t46 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t45, i64 0, i32 2
+ %t47 = load ptr, ptr %t46, !tbaa !44
+ %t48 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t47)
+ store ptr %t48, ptr %sc_l__x25_callbackReceiver_1
+ %t49 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t50 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t49, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t51 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t50)
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t51)
+ br label %exc.cleanup16
+exc.k15:
+ store ptr %t51, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t55 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t56 = getelementptr inbounds i8, ptr %t55, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t58 = icmp eq i32 %t57, 6
+ br i1 %t58, label %tern.t17, label %tern.f18
+tern.t17:
+ %t61 = call ptr @scr_dyn_undefined()
+ %t60 = call ptr @scr_dyn_retain_v(ptr %t61)
+ store ptr %t60, ptr %s59
+ br label %tern.j19
+tern.f18:
+ %t62 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t63 = call ptr @sc_rc_retain_dyn(ptr %t62)
+ %t64 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t63)
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t64)
+ br label %exc.cleanup22
+exc.k21:
+ store ptr %t64, ptr %s59
+ br label %tern.j19
+tern.j19:
+ %t68 = load ptr, ptr %s59
+ store ptr %t68, ptr %sc_l__x25_callback_1
+ %t69 = load ptr, ptr %sc_l__x25_callback_1
+ %t70 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t71 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t70, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t72 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t73 = load ptr, ptr %sc_l_ct_0
+ %t74 = call ptr @sc_td_0(ptr %t73)
+ %t76 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 0
+ store ptr %t72, ptr %t76
+ %t77 = getelementptr inbounds [2 x ptr], ptr %s75, i64 0, i64 1
+ store ptr %t74, ptr %t77
+ call void @scr_dyn_this_push_dyn(ptr %t71)
+ %t78 = call ptr @scr_dyn_call(ptr %t69, ptr %s75, i64 2, ptr @sc_cs_4344474916287258)
+ call void @scr_dyn_this_pop()
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u23, label %exc.k24
+exc.u23:
+ call void @sc_rc_release_dyn(ptr %t71)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t78)
+ br label %exc.cleanup25
+exc.k24:
+ call void @sc_rc_release_dyn(ptr %t71)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t78)
+ %t82 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t82)
+ %t83 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t83)
+ %t84 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t84)
+ %t85 = load ptr, ptr %sc_l_this_0
+ %t86 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t85, i64 0, i32 2
+ %t87 = load ptr, ptr %t86, !tbaa !44
+ %t88 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t87)
+ store ptr %t88, ptr %sc_l__x25_callbackReceiver_2
+ %t89 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t90 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t89, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t91 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t90)
+ %t92 = load i32, ptr %exc.cell
+ %t93 = icmp ne i32 %t92, 0
+ %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false)
+ br i1 %t94, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t91)
+ br label %exc.cleanup28
+exc.k27:
+ store ptr %t91, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t95 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t96 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind
+ %t97 = load i32, ptr %t96
+ %t98 = icmp eq i32 %t97, 6
+ br i1 %t98, label %tern.t29, label %tern.f30
+tern.t29:
+ %t101 = call ptr @scr_dyn_undefined()
+ %t100 = call ptr @scr_dyn_retain_v(ptr %t101)
+ store ptr %t100, ptr %s99
+ br label %tern.j31
+tern.f30:
+ %t102 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t103 = call ptr @sc_rc_retain_dyn(ptr %t102)
+ %t104 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t103)
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t104)
+ br label %exc.cleanup34
+exc.k33:
+ store ptr %t104, ptr %s99
+ br label %tern.j31
+tern.j31:
+ %t108 = load ptr, ptr %s99
+ store ptr %t108, ptr %sc_l__x25_callback_2
+ %t109 = load ptr, ptr %sc_l__x25_callback_2
+ %t110 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t111 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t110, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t112 = call ptr @sc_td_0(ptr @sc_lit_1821151629374802)
+ %t113 = load ptr, ptr %sc_l_b_0
+ %t114 = call double @sc_bf__x25_m5_utf8len(ptr %t113)
+ %t115 = call ptr @scr_f64_to_scrstr(double %t114)
+ %t116 = call ptr @sc_td_0(ptr %t115)
+ %t118 = getelementptr inbounds [2 x ptr], ptr %s117, i64 0, i64 0
+ store ptr %t112, ptr %t118
+ %t119 = getelementptr inbounds [2 x ptr], ptr %s117, i64 0, i64 1
+ store ptr %t116, ptr %t119
+ call void @scr_dyn_this_push_dyn(ptr %t111)
+ %t120 = call ptr @scr_dyn_call(ptr %t109, ptr %s117, i64 2, ptr @sc_cs_4344474916287258)
+ call void @scr_dyn_this_pop()
+ %t121 = load i32, ptr %exc.cell
+ %t122 = icmp ne i32 %t121, 0
+ %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false)
+ br i1 %t123, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rc_release_dyn(ptr %t111)
+ call void @sc_rc_release_dyn(ptr %t112)
+ call void @scr_str_release(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t120)
+ br label %exc.cleanup37
+exc.k36:
+ call void @sc_rc_release_dyn(ptr %t111)
+ call void @sc_rc_release_dyn(ptr %t112)
+ call void @scr_str_release(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t120)
+ %t124 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t124)
+ %t125 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t125)
+ %t126 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m2_ResponseSink(ptr %t126)
+ %t127 = load ptr, ptr %sc_l_this_0
+ %t128 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t127, i64 0, i32 2
+ %t129 = load ptr, ptr %t128, !tbaa !44
+ %t130 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t129)
+ store ptr %t130, ptr %sc_l__x25_callbackReceiver_3
+ %t131 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t132 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t131, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t133 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t132)
+ %t134 = load i32, ptr %exc.cell
+ %t135 = icmp ne i32 %t134, 0
+ %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false)
+ br i1 %t136, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t133)
+ br label %exc.cleanup40
+exc.k39:
+ store ptr %t133, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t137 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t138 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t139 = load i32, ptr %t138
+ %t140 = icmp eq i32 %t139, 6
+ br i1 %t140, label %tern.t41, label %tern.f42
+tern.t41:
+ %t143 = call ptr @scr_dyn_undefined()
+ %t142 = call ptr @scr_dyn_retain_v(ptr %t143)
+ store ptr %t142, ptr %s141
+ br label %tern.j43
+tern.f42:
+ %t144 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t145 = call ptr @sc_rc_retain_dyn(ptr %t144)
+ %t146 = call ptr @sc_f__x25_dyn_class_property_14(ptr %t145)
+ %t147 = load i32, ptr %exc.cell
+ %t148 = icmp ne i32 %t147, 0
+ %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false)
+ br i1 %t149, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t146)
+ br label %exc.cleanup46
+exc.k45:
+ store ptr %t146, ptr %s141
+ br label %tern.j43
+tern.j43:
+ %t150 = load ptr, ptr %s141
+ store ptr %t150, ptr %sc_l__x25_callback_3
+ %t151 = load ptr, ptr %sc_l__x25_callback_3
+ %t152 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t153 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t152, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t154 = load ptr, ptr %sc_l_b_0
+ %t155 = call ptr @sc_td_0(ptr %t154)
+ %t157 = getelementptr inbounds [1 x ptr], ptr %s156, i64 0, i64 0
+ store ptr %t155, ptr %t157
+ call void @scr_dyn_this_push_dyn(ptr %t153)
+ %t158 = call ptr @scr_dyn_call(ptr %t151, ptr %s156, i64 1, ptr @sc_cs_543104408299578)
+ call void @scr_dyn_this_pop()
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u47, label %exc.k48
+exc.u47:
+ call void @sc_rc_release_dyn(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t158)
+ br label %exc.cleanup49
+exc.k48:
+ call void @sc_rc_release_dyn(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t158)
+ %t162 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t162)
+ %t163 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t163)
+ %t164 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ call void @sc_release__x25_m2_ResponseSink(ptr %t164)
+ %t165 = load ptr, ptr %sc_l_this_0
+ %t166 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t165, i64 0, i32 5
+ %t167 = zext i1 true to i8
+ store i8 %t167, ptr %t166, !tbaa !42
+ %t168 = load ptr, ptr %sc_l_this_0
+ ret ptr %t168
+exc.cleanup4:
+ %t169 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t169)
+ ret ptr null
+exc.cleanup10:
+ %t170 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t170)
+ %t171 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t171)
+ ret ptr null
+exc.cleanup13:
+ %t172 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t172)
+ %t173 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t173)
+ %t174 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m2_ResponseSink(ptr %t174)
+ ret ptr null
+exc.cleanup16:
+ %t175 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t175)
+ ret ptr null
+exc.cleanup22:
+ %t176 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t176)
+ %t177 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t177)
+ ret ptr null
+exc.cleanup25:
+ %t178 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t178)
+ %t179 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t179)
+ %t180 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t180)
+ ret ptr null
+exc.cleanup28:
+ %t181 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m2_ResponseSink(ptr %t181)
+ ret ptr null
+exc.cleanup34:
+ %t182 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t182)
+ %t183 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m2_ResponseSink(ptr %t183)
+ ret ptr null
+exc.cleanup37:
+ %t184 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t184)
+ %t185 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t185)
+ %t186 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m2_ResponseSink(ptr %t186)
+ ret ptr null
+exc.cleanup40:
+ %t187 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ call void @sc_release__x25_m2_ResponseSink(ptr %t187)
+ ret ptr null
+exc.cleanup46:
+ %t188 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t188)
+ %t189 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ call void @sc_release__x25_m2_ResponseSink(ptr %t189)
+ ret ptr null
+exc.cleanup49:
+ %t190 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t190)
+ %t191 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t191)
+ %t192 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ call void @sc_release__x25_m2_ResponseSink(ptr %t192)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_CtxCore__send(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_CtxCore__send(ptr %p0, ptr %p1, ptr %p2)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_CtxCore(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret ptr %t3
+}
+
+define internal void @sc_bf__x25__x25_m5_MpCfg_constructor(ptr %p_sc_l_this_0) #0 { ; %%m5.MpCfg.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t0, i64 0, i32 1
+ store double 0x0000000000000000, ptr %t1, !tbaa !14
+ %t2 = load ptr, ptr %sc_l_this_0
+ %t3 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2, i64 0, i32 2
+ %t4 = load ptr, ptr %t3
+ store ptr null, ptr %t3, !tbaa !16
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t4)
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t5, i64 0, i32 3
+ store double 0x0000000000000000, ptr %t6, !tbaa !18
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t7, i64 0, i32 4
+ store double 0x0000000000000000, ptr %t8, !tbaa !20
+ %t9 = load ptr, ptr %sc_l_this_0
+ %t10 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t9, i64 0, i32 5
+ store double 0x0000000000000000, ptr %t10, !tbaa !22
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_MpCfg_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_MpCfg_constructor(ptr %p0)
+ call void @sc_release__x25_m5_MpCfg(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m5_MethodNotAllowedError_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_allow_0) #0 { ; %%m5.MethodNotAllowedError.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_allow_0 = alloca ptr ; allow
+ %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_allow_0, ptr %sc_l_allow_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ store i1 false, ptr %sc_l__x25_superInitialized_0
+ %t4 = load i1, ptr %sc_l__x25_superInitialized_0
+ br i1 %t4, label %if.t2, label %if.j3
+if.t2:
+ call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207)
+ ret void
+exc.dead4:
+ br label %if.j3
+if.j3:
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t5)
+ %t7 = call ptr @sc_td_0(ptr @sc_lit_4003541287264371)
+ %t9 = call ptr @scr_dyn_undefined()
+ %t8 = call ptr @scr_dyn_retain_v(ptr %t9)
+ call void @scr_error_init_options(ptr %t6, i32 0, ptr %t7, ptr %t8)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @scr_error_release(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t7)
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k6:
+ call void @scr_error_release(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t7)
+ call void @sc_rc_release_dyn(ptr %t8)
+ store i1 true, ptr %sc_l__x25_superInitialized_0
+ %t13 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t14 = xor i1 %t13, true
+ br i1 %t14, label %if.t7, label %if.j8
+if.t7:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead9:
+ br label %if.j8
+if.j8:
+ %t15 = load ptr, ptr %sc_l_this_0
+ call void @sc_bf__x25_error_name_write(ptr %t15, ptr @sc_lit_4450054087841968)
+ %t16 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t17 = xor i1 %t16, true
+ br i1 %t17, label %if.t10, label %if.j11
+if.t10:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead12:
+ br label %if.j11
+if.j11:
+ %t18 = load ptr, ptr %sc_l_this_0
+ %t19 = load ptr, ptr %sc_l_allow_0
+ %t20 = call ptr @sc_rc_retain_str(ptr %t19)
+ %t21 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t18, i64 0, i32 21
+ %t22 = load ptr, ptr %t21
+ store ptr %t20, ptr %t21, !tbaa !168
+ call void @scr_str_release(ptr %t22)
+ %t23 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t24 = xor i1 %t23, true
+ br i1 %t24, label %if.t13, label %if.j14
+if.t13:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead15:
+ br label %if.j14
+if.j14:
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_MethodNotAllowedError_constructor(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_MethodNotAllowedError_constructor(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m5_App_constructor(ptr %p_sc_l_this_0) #0 { ; %%m5.App.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r5.sc_rrelease_r5.null, i64 0)
+ %t2 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t0, i64 0, i32 1
+ %t3 = load ptr, ptr %t2
+ store ptr %t1, ptr %t2, !tbaa !32
+ call void @scr_arr_release(ptr %t3)
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !32
+ %t7 = call double @sc_bf__x25_m5_newNode.i32(ptr %t6, ptr @sc_lit_4005573543169985, i32 0)
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v)
+ %t10 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t8, i64 0, i32 2
+ %t11 = load ptr, ptr %t10
+ store ptr %t9, ptr %t10, !tbaa !170
+ call void @scr_arr_release(ptr %t11)
+ %t12 = load ptr, ptr %sc_l_this_0
+ %t13 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v)
+ %t14 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t12, i64 0, i32 3
+ %t15 = load ptr, ptr %t14
+ store ptr %t13, ptr %t14, !tbaa !36
+ call void @scr_arr_release(ptr %t15)
+ %t16 = load ptr, ptr %sc_l_this_0
+ %t17 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.scr_arr_retain_v.scr_arr_release_v.scr_arr_trace_v)
+ %t18 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t16, i64 0, i32 4
+ %t19 = load ptr, ptr %t18
+ store ptr %t17, ptr %t18, !tbaa !34
+ call void @scr_arr_release(ptr %t19)
+ %t20 = load ptr, ptr %sc_l_this_0
+ %t21 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_m5_defaultNotFound)
+ %t22 = call ptr @sc_bf__x25_fn_adapt_11(ptr %t21)
+ call void @scr_closure_release(ptr %t21)
+ %t23 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t20, i64 0, i32 5
+ %t24 = load ptr, ptr %t23
+ store ptr %t22, ptr %t23, !tbaa !172
+ call void @scr_closure_release(ptr %t24)
+ %t25 = load ptr, ptr %sc_l_this_0
+ %t26 = call ptr @scr_arr_new_ops(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v, i64 0)
+ %t27 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t25, i64 0, i32 6
+ %t28 = load ptr, ptr %t27
+ store ptr %t26, ptr %t27, !tbaa !174
+ call void @scr_arr_release(ptr %t28)
+ %t29 = load ptr, ptr %sc_l_this_0
+ %t30 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t29, i64 0, i32 7
+ %t31 = load ptr, ptr %t30
+ store ptr @sc_unit_4, ptr %t30, !tbaa !176
+ call void @scr_union_release(ptr %t31)
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.scr_closure_retain_v.scr_closure_release_v.scr_closure_trace_v)
+ %t34 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t32, i64 0, i32 8
+ %t35 = load ptr, ptr %t34
+ store ptr %t33, ptr %t34, !tbaa !178
+ call void @scr_arr_release(ptr %t35)
+ %t36 = load ptr, ptr %sc_l_this_0
+ %t37 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_m5_defaultNotFound)
+ %t38 = call ptr @sc_bf__x25_fn_adapt_11(ptr %t37)
+ call void @scr_closure_release(ptr %t37)
+ %t39 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t36, i64 0, i32 9
+ %t40 = load ptr, ptr %t39
+ store ptr %t38, ptr %t39, !tbaa !180
+ call void @scr_closure_release(ptr %t40)
+ %t41 = load ptr, ptr %sc_l_this_0
+ %t42 = call ptr @scr_arr_new_small(i32 3)
+ %t43 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t41, i64 0, i32 10
+ %t44 = load ptr, ptr %t43
+ store ptr %t42, ptr %t43, !tbaa !150
+ call void @scr_arr_release(ptr %t44)
+ %t45 = load ptr, ptr %sc_l_this_0
+ %t46 = call ptr @scr_arr_new_small(i32 3)
+ %t47 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t45, i64 0, i32 11
+ %t48 = load ptr, ptr %t47
+ store ptr %t46, ptr %t47, !tbaa !152
+ call void @scr_arr_release(ptr %t48)
+ %t49 = load ptr, ptr %sc_l_this_0
+ %t50 = call ptr @scr_arr_new_small(i32 0)
+ %t51 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t49, i64 0, i32 12
+ %t52 = load ptr, ptr %t51
+ store ptr %t50, ptr %t51, !tbaa !154
+ call void @scr_arr_release(ptr %t52)
+ %t53 = load ptr, ptr %sc_l_this_0
+ %t54 = call ptr @scr_arr_new_small(i32 0)
+ %t55 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t53, i64 0, i32 13
+ %t56 = load ptr, ptr %t55
+ store ptr %t54, ptr %t55, !tbaa !38
+ call void @scr_arr_release(ptr %t56)
+ %t57 = load ptr, ptr %sc_l_this_0
+ %t58 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.sc_retain__x25_m5_MpCfg.sc_release__x25_m5_MpCfg.sc_trace__x25_m5_MpCfg)
+ %t59 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t57, i64 0, i32 14
+ %t60 = load ptr, ptr %t59
+ store ptr %t58, ptr %t59, !tbaa !40
+ call void @scr_arr_release(ptr %t60)
+ %t61 = load ptr, ptr %sc_l_this_0
+ %t62 = call ptr @scr_closure_new(ptr @sc_f__x25_fn53, i64 0)
+ %t63 = getelementptr inbounds %ScrClosure, ptr %t62, i64 0, i32 4
+ store i32 4, ptr %t63
+ %t64 = getelementptr inbounds %ScrClosure, ptr %t62, i64 0, i32 7
+ store ptr @sc_bf__x25_fn53, ptr %t64
+ %t65 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t61, i64 0, i32 15
+ %t66 = load ptr, ptr %t65
+ store ptr %t62, ptr %t65, !tbaa !182
+ call void @scr_closure_release(ptr %t66)
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t68 = call ptr @scr_closure_new(ptr @sc_f__x25_fn54, i64 0)
+ %t69 = getelementptr inbounds %ScrClosure, ptr %t68, i64 0, i32 4
+ store i32 4, ptr %t69
+ %t70 = getelementptr inbounds %ScrClosure, ptr %t68, i64 0, i32 7
+ store ptr @sc_bf__x25_fn54, ptr %t70
+ %t71 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t67, i64 0, i32 16
+ %t72 = load ptr, ptr %t71
+ store ptr %t68, ptr %t71, !tbaa !184
+ call void @scr_closure_release(ptr %t72)
+ %t73 = load ptr, ptr %sc_l_this_0
+ %t74 = call ptr @scr_closure_new(ptr @sc_f__x25_fn56, i64 0)
+ %t75 = getelementptr inbounds %ScrClosure, ptr %t74, i64 0, i32 4
+ store i32 4, ptr %t75
+ %t76 = getelementptr inbounds %ScrClosure, ptr %t74, i64 0, i32 7
+ store ptr @sc_bf__x25_fn56, ptr %t76
+ %t77 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t73, i64 0, i32 17
+ %t78 = load ptr, ptr %t77
+ store ptr %t74, ptr %t77, !tbaa !186
+ call void @scr_closure_release(ptr %t78)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_App_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_App_constructor(ptr %p0)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_get(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.get
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s34 = alloca [4 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t27 = call ptr @sc_td_0(ptr @sc_lit_367446482893939)
+ %t28 = load ptr, ptr %sc_l_path_0
+ %t29 = call ptr @sc_td_0(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_h_0
+ %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642)
+ %t32 = load ptr, ptr %sc_l_opts_0
+ %t33 = call ptr @sc_ldu_7(ptr %t32)
+ %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t27, ptr %t35
+ %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1
+ store ptr %t29, ptr %t36
+ %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3
+ store ptr %t33, ptr %t38
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup12
+exc.k11:
+ %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_release__x25_m5_App(ptr %t43)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr %t43
+exc.cleanup9:
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr null
+exc.cleanup12:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_get(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_get(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @sc_rrelease_r7(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_post(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.post
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s34 = alloca [4 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t27 = call ptr @sc_td_0(ptr @sc_lit_2725580638052193)
+ %t28 = load ptr, ptr %sc_l_path_0
+ %t29 = call ptr @sc_td_0(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_h_0
+ %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642)
+ %t32 = load ptr, ptr %sc_l_opts_0
+ %t33 = call ptr @sc_ldu_7(ptr %t32)
+ %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t27, ptr %t35
+ %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1
+ store ptr %t29, ptr %t36
+ %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3
+ store ptr %t33, ptr %t38
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup12
+exc.k11:
+ %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_release__x25_m5_App(ptr %t43)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr %t43
+exc.cleanup9:
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr null
+exc.cleanup12:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_post(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_post(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @sc_rrelease_r7(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_put(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.put
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s34 = alloca [4 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t27 = call ptr @sc_td_0(ptr @sc_lit_2541794298493390)
+ %t28 = load ptr, ptr %sc_l_path_0
+ %t29 = call ptr @sc_td_0(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_h_0
+ %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642)
+ %t32 = load ptr, ptr %sc_l_opts_0
+ %t33 = call ptr @sc_ldu_7(ptr %t32)
+ %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t27, ptr %t35
+ %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1
+ store ptr %t29, ptr %t36
+ %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3
+ store ptr %t33, ptr %t38
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup12
+exc.k11:
+ %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_release__x25_m5_App(ptr %t43)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr %t43
+exc.cleanup9:
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr null
+exc.cleanup12:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_put(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_put(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @sc_rrelease_r7(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_delete(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.delete
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s34 = alloca [4 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t27 = call ptr @sc_td_0(ptr @sc_lit_1791854776991212)
+ %t28 = load ptr, ptr %sc_l_path_0
+ %t29 = call ptr @sc_td_0(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_h_0
+ %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642)
+ %t32 = load ptr, ptr %sc_l_opts_0
+ %t33 = call ptr @sc_ldu_7(ptr %t32)
+ %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t27, ptr %t35
+ %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1
+ store ptr %t29, ptr %t36
+ %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3
+ store ptr %t33, ptr %t38
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup12
+exc.k11:
+ %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_release__x25_m5_App(ptr %t43)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr %t43
+exc.cleanup9:
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr null
+exc.cleanup12:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_delete(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_delete(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @sc_rrelease_r7(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_patch(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.patch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s34 = alloca [4 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t27 = call ptr @sc_td_0(ptr @sc_lit_2494668324074259)
+ %t28 = load ptr, ptr %sc_l_path_0
+ %t29 = call ptr @sc_td_0(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_h_0
+ %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642)
+ %t32 = load ptr, ptr %sc_l_opts_0
+ %t33 = call ptr @sc_ldu_7(ptr %t32)
+ %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t27, ptr %t35
+ %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1
+ store ptr %t29, ptr %t36
+ %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3
+ store ptr %t33, ptr %t38
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup12
+exc.k11:
+ %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_release__x25_m5_App(ptr %t43)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr %t43
+exc.cleanup9:
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr null
+exc.cleanup12:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_patch(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_patch(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @sc_rrelease_r7(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_head(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.head
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s34 = alloca [4 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t27 = call ptr @sc_td_0(ptr @sc_lit_3185835515143599)
+ %t28 = load ptr, ptr %sc_l_path_0
+ %t29 = call ptr @sc_td_0(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_h_0
+ %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642)
+ %t32 = load ptr, ptr %sc_l_opts_0
+ %t33 = call ptr @sc_ldu_7(ptr %t32)
+ %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t27, ptr %t35
+ %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1
+ store ptr %t29, ptr %t36
+ %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3
+ store ptr %t33, ptr %t38
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup12
+exc.k11:
+ %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_release__x25_m5_App(ptr %t43)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr %t43
+exc.cleanup9:
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr null
+exc.cleanup12:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_head(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_head(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @sc_rrelease_r7(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_options(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.options
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s34 = alloca [4 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t27 = call ptr @sc_td_0(ptr @sc_lit_3671383252271314)
+ %t28 = load ptr, ptr %sc_l_path_0
+ %t29 = call ptr @sc_td_0(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_h_0
+ %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642)
+ %t32 = load ptr, ptr %sc_l_opts_0
+ %t33 = call ptr @sc_ldu_7(ptr %t32)
+ %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t27, ptr %t35
+ %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1
+ store ptr %t29, ptr %t36
+ %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3
+ store ptr %t33, ptr %t38
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup12
+exc.k11:
+ %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_release__x25_m5_App(ptr %t43)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr %t43
+exc.cleanup9:
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr null
+exc.cleanup12:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_options(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_options(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @sc_rrelease_r7(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_all(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.all
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s34 = alloca [4 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t27 = call ptr @sc_td_0(ptr @sc_lit_1834571860458263)
+ %t28 = load ptr, ptr %sc_l_path_0
+ %t29 = call ptr @sc_td_0(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_h_0
+ %t31 = call ptr @sc_dfb_4(ptr %t30, ptr @sc_cs_3002302439247642)
+ %t32 = load ptr, ptr %sc_l_opts_0
+ %t33 = call ptr @sc_ldu_7(ptr %t32)
+ %t35 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t27, ptr %t35
+ %t36 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 1
+ store ptr %t29, ptr %t36
+ %t37 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 2
+ store ptr %t31, ptr %t37
+ %t38 = getelementptr inbounds [4 x ptr], ptr %s34, i64 0, i64 3
+ store ptr %t33, ptr %t38
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t39 = call ptr @scr_dyn_call(ptr %t24, ptr %s34, i64 4, ptr @sc_cs_2420062830460865)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup12
+exc.k11:
+ %t43 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t39)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_release__x25_m5_App(ptr %t43)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr %t43
+exc.cleanup9:
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr null
+exc.cleanup12:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ %t51 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_all(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_all(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @sc_rrelease_r7(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_on(ptr %p_sc_l_this_0, ptr %p_sc_l_method_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.on
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s36 = alloca [4 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_method_0, ptr %sc_l_method_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_3(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t27 = load ptr, ptr %sc_l_method_0
+ %t28 = call ptr @scr_str_to_upper(ptr %t27)
+ %t29 = call ptr @sc_td_0(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_path_0
+ %t31 = call ptr @sc_td_0(ptr %t30)
+ %t32 = load ptr, ptr %sc_l_h_0
+ %t33 = call ptr @sc_dfb_4(ptr %t32, ptr @sc_cs_3002302439247642)
+ %t34 = load ptr, ptr %sc_l_opts_0
+ %t35 = call ptr @sc_ldu_7(ptr %t34)
+ %t37 = getelementptr inbounds [4 x ptr], ptr %s36, i64 0, i64 0
+ store ptr %t29, ptr %t37
+ %t38 = getelementptr inbounds [4 x ptr], ptr %s36, i64 0, i64 1
+ store ptr %t31, ptr %t38
+ %t39 = getelementptr inbounds [4 x ptr], ptr %s36, i64 0, i64 2
+ store ptr %t33, ptr %t39
+ %t40 = getelementptr inbounds [4 x ptr], ptr %s36, i64 0, i64 3
+ store ptr %t35, ptr %t40
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t41 = call ptr @scr_dyn_call(ptr %t24, ptr %s36, i64 4, ptr @sc_cs_2420062830460865)
+ call void @scr_dyn_this_pop()
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @scr_str_release(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t41)
+ br label %exc.cleanup12
+exc.k11:
+ %t45 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t41)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @scr_str_release(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_release__x25_m5_App(ptr %t45)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @scr_str_release(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t49 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ %t50 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret ptr %t45
+exc.cleanup9:
+ %t51 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+exc.cleanup12:
+ %t52 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t52)
+ %t53 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t53)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_on(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_on(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_closure_release(ptr %p3)
+ call void @sc_rrelease_r7(ptr %p4)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_use(ptr %p_sc_l_this_0, ptr %p_sc_l_pathOrFn_0, ptr %p_sc_l_rest_0) #0 { ; %%m5.App.use
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_pathOrFn_0 = alloca ptr ; pathOrFn
+ %sc_l_rest_0 = alloca ptr ; rest
+ %sc_l_prefix_0 = alloca ptr ; prefix
+ %sc_l_wrapped_0 = alloca ptr ; wrapped
+ %s0 = alloca ptr ; lazy box rest
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_prefix_0
+ store ptr null, ptr %sc_l_wrapped_0
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_pathOrFn_0, ptr %sc_l_pathOrFn_0
+ store ptr %p_sc_l_rest_0, ptr %sc_l_rest_0
+ %t1 = load ptr, ptr %sc_l_pathOrFn_0
+ %t4 = getelementptr inbounds %ScrUnion, ptr %t1, i64 0, i32 1
+ %t3 = load i32, ptr %t4
+ %t2 = icmp eq i32 %t3, 1
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t5 = call ptr @scr_box_new(i32 2) ; let prefix (boxed)
+ store ptr %t5, ptr %sc_l_prefix_0
+ %t6 = load ptr, ptr %sc_l_pathOrFn_0
+ %t7 = getelementptr inbounds %ScrUnion, ptr %t6, i64 0, i32 5
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @sc_rc_retain_str(ptr %t8)
+ call void @scr_box_set_ref(ptr %t5, ptr %t9)
+ %t10 = call ptr @scr_closure_new(ptr @sc_f__x25_fn2, i64 2)
+ %t11 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 4
+ store i32 4, ptr %t11
+ %t12 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 7
+ store ptr @sc_bf__x25_fn2, ptr %t12
+ %t13 = load ptr, ptr %sc_l_prefix_0
+ %t14 = call ptr @sc_retain_box(ptr %t13)
+ %t15 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps
+ %t16 = getelementptr inbounds ptr, ptr %t15, i64 0 ; caps[0]
+ store ptr %t14, ptr %t16
+ %t17 = load ptr, ptr %s0
+ %t18 = icmp eq ptr %t17, null
+ br i1 %t18, label %lazy.box2, label %lazy.box.j3
+lazy.box2:
+ %t19 = call ptr @scr_box_new_obj(ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @scr_arr_trace_v)
+ %t20 = load ptr, ptr %sc_l_rest_0
+ %t21 = call ptr @scr_arr_retain_v(ptr %t20)
+ call void @scr_box_set_ref(ptr %t19, ptr %t21)
+ store ptr %t19, ptr %s0
+ br label %lazy.box.j3
+lazy.box.j3:
+ %t22 = load ptr, ptr %s0
+ %t23 = call ptr @sc_retain_box(ptr %t22)
+ %t24 = getelementptr inbounds %ScrClosure, ptr %t10, i64 1 ; caps
+ %t25 = getelementptr inbounds ptr, ptr %t24, i64 1 ; caps[1]
+ store ptr %t23, ptr %t25
+ store ptr %t10, ptr %sc_l_wrapped_0
+ %t26 = load ptr, ptr %sc_l_this_0
+ %t27 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t26, i64 0, i32 2
+ %t28 = load ptr, ptr %t27, !tbaa !170
+ %t29 = call ptr @scr_arr_retain_v(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_wrapped_0
+ %t31 = call ptr @scr_closure_retain_v(ptr %t30)
+ %t32 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 1
+ %t33 = load i64, ptr %t32, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 2
+ %t34 = load i64, ptr %t36, !tbaa !2
+ %t35 = icmp ult i64 %t33, %t34
+ br i1 %t35, label %arr.push.dense4, label %arr.push.slow5
+arr.push.dense4:
+ %t37 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 8
+ %t39 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 9
+ %t38 = load ptr, ptr %t37, !tbaa !2
+ %t40 = load ptr, ptr %t39, !tbaa !2
+ %t41 = getelementptr inbounds i8, ptr %t40, i64 %t33
+ %t42 = getelementptr inbounds i64, ptr %t38, i64 %t33
+ store ptr %t31, ptr %t42, !tbaa !6
+ store i8 1, ptr %t41, !tbaa !4
+ %t43 = add nuw i64 %t33, 1
+ store i64 %t43, ptr %t32, !tbaa !2
+ %t45 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 6
+ %t46 = load i32, ptr %t45, !tbaa !2
+ %t50 = zext i32 %t46 to i64
+ %t47 = icmp eq i64 %t50, %t33
+ %t48 = add i32 %t46, 1
+ %t49 = select i1 %t47, i32 %t48, i32 %t46
+ store i32 %t49, ptr %t45, !tbaa !2
+ %t44 = sitofp i64 %t43 to double
+ br label %arr.push.join6
+arr.push.slow5:
+ %t51 = call double @scr_arr_push_ref(ptr %t29, ptr %t31) cold
+ br label %arr.push.join6
+arr.push.join6:
+ %t52 = phi double [ %t44, %arr.push.dense4 ], [ %t51, %arr.push.slow5 ]
+ call void @scr_arr_release(ptr %t29)
+ %t53 = load ptr, ptr %sc_l_this_0
+ %t54 = load ptr, ptr %sc_l_this_0
+ %t55 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t54, i64 0, i32 2
+ %t56 = load ptr, ptr %t55, !tbaa !170
+ %t57 = call ptr @sc_bf__x25_m5_copyMw(ptr %t56)
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @scr_arr_release(ptr %t57)
+ br label %exc.cleanup9
+exc.k8:
+ %t61 = load ptr, ptr %sc_l_this_0
+ %t62 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t61, i64 0, i32 5
+ %t63 = load ptr, ptr %t62, !tbaa !172
+ %t64 = call ptr @scr_closure_retain_v(ptr %t63)
+ %t65 = call ptr @scr_union_new_ref(i32 0, ptr %t64, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ %t66 = call ptr @sc_bf__x25_m5_compose(ptr %t57, ptr %t65)
+ call void @scr_arr_release(ptr %t57)
+ call void @scr_union_release(ptr %t65)
+ %t67 = call ptr @sc_bf__x25_union_narrow_0(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @scr_union_release(ptr %t66)
+ call void @scr_closure_release(ptr %t67)
+ br label %exc.cleanup9
+exc.k11:
+ call void @scr_union_release(ptr %t66)
+ %t71 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t53, i64 0, i32 9
+ %t72 = load ptr, ptr %t71
+ store ptr %t67, ptr %t71, !tbaa !180
+ call void @scr_closure_release(ptr %t72)
+ %t73 = load ptr, ptr %sc_l_this_0
+ %t74 = load ptr, ptr %sc_l_prefix_0
+ call void @scr_box_release(ptr %t74)
+ %t75 = load ptr, ptr %sc_l_wrapped_0
+ call void @scr_closure_release(ptr %t75)
+ %t76 = load ptr, ptr %s0
+ %t77 = icmp ne ptr %t76, null
+ br i1 %t77, label %lazy.release12, label %lazy.release.j13
+lazy.release12:
+ call void @scr_box_release(ptr %t76)
+ br label %lazy.release.j13
+lazy.release.j13:
+ ret ptr %t73
+if.j1:
+ %t78 = load ptr, ptr %sc_l_this_0
+ %t79 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t78, i64 0, i32 2
+ %t80 = load ptr, ptr %t79, !tbaa !170
+ %t81 = call ptr @scr_arr_retain_v(ptr %t80)
+ %t82 = load ptr, ptr %sc_l_pathOrFn_0
+ %t83 = getelementptr inbounds %ScrUnion, ptr %t82, i64 0, i32 5
+ %t84 = load ptr, ptr %t83
+ %t85 = call ptr @scr_closure_retain_v(ptr %t84)
+ %t86 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 1
+ %t87 = load i64, ptr %t86, !tbaa !2
+ %t90 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 2
+ %t88 = load i64, ptr %t90, !tbaa !2
+ %t89 = icmp ult i64 %t87, %t88
+ br i1 %t89, label %arr.push.dense14, label %arr.push.slow15
+arr.push.dense14:
+ %t91 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 8
+ %t93 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 9
+ %t92 = load ptr, ptr %t91, !tbaa !2
+ %t94 = load ptr, ptr %t93, !tbaa !2
+ %t95 = getelementptr inbounds i8, ptr %t94, i64 %t87
+ %t96 = getelementptr inbounds i64, ptr %t92, i64 %t87
+ store ptr %t85, ptr %t96, !tbaa !6
+ store i8 1, ptr %t95, !tbaa !4
+ %t97 = add nuw i64 %t87, 1
+ store i64 %t97, ptr %t86, !tbaa !2
+ %t99 = getelementptr inbounds %ScrArr, ptr %t81, i32 0, i32 6
+ %t100 = load i32, ptr %t99, !tbaa !2
+ %t104 = zext i32 %t100 to i64
+ %t101 = icmp eq i64 %t104, %t87
+ %t102 = add i32 %t100, 1
+ %t103 = select i1 %t101, i32 %t102, i32 %t100
+ store i32 %t103, ptr %t99, !tbaa !2
+ %t98 = sitofp i64 %t97 to double
+ br label %arr.push.join16
+arr.push.slow15:
+ %t105 = call double @scr_arr_push_ref(ptr %t81, ptr %t85) cold
+ br label %arr.push.join16
+arr.push.join16:
+ %t106 = phi double [ %t98, %arr.push.dense14 ], [ %t105, %arr.push.slow15 ]
+ call void @scr_arr_release(ptr %t81)
+ %t107 = load ptr, ptr %sc_l_this_0
+ %t108 = load ptr, ptr %sc_l_this_0
+ %t109 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t108, i64 0, i32 2
+ %t110 = load ptr, ptr %t109, !tbaa !170
+ %t111 = call ptr @sc_bf__x25_m5_copyMw(ptr %t110)
+ %t112 = load i32, ptr %exc.cell
+ %t113 = icmp ne i32 %t112, 0
+ %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false)
+ br i1 %t114, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @scr_arr_release(ptr %t111)
+ br label %exc.cleanup19
+exc.k18:
+ %t115 = load ptr, ptr %sc_l_this_0
+ %t116 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t115, i64 0, i32 5
+ %t117 = load ptr, ptr %t116, !tbaa !172
+ %t118 = call ptr @scr_closure_retain_v(ptr %t117)
+ %t119 = call ptr @scr_union_new_ref(i32 0, ptr %t118, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ %t120 = call ptr @sc_bf__x25_m5_compose(ptr %t111, ptr %t119)
+ call void @scr_arr_release(ptr %t111)
+ call void @scr_union_release(ptr %t119)
+ %t121 = call ptr @sc_bf__x25_union_narrow_0(ptr %t120)
+ %t122 = load i32, ptr %exc.cell
+ %t123 = icmp ne i32 %t122, 0
+ %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false)
+ br i1 %t124, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_union_release(ptr %t120)
+ call void @scr_closure_release(ptr %t121)
+ br label %exc.cleanup19
+exc.k21:
+ call void @scr_union_release(ptr %t120)
+ %t125 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t107, i64 0, i32 9
+ %t126 = load ptr, ptr %t125
+ store ptr %t121, ptr %t125, !tbaa !180
+ call void @scr_closure_release(ptr %t126)
+ %t127 = load ptr, ptr %sc_l_this_0
+ %t128 = load ptr, ptr %s0
+ %t129 = icmp ne ptr %t128, null
+ br i1 %t129, label %lazy.release22, label %lazy.release.j23
+lazy.release22:
+ call void @scr_box_release(ptr %t128)
+ br label %lazy.release.j23
+lazy.release.j23:
+ ret ptr %t127
+exc.cleanup9:
+ %t130 = load ptr, ptr %sc_l_prefix_0
+ call void @scr_box_release(ptr %t130)
+ %t131 = load ptr, ptr %sc_l_wrapped_0
+ call void @scr_closure_release(ptr %t131)
+ %t132 = load ptr, ptr %s0
+ %t133 = icmp ne ptr %t132, null
+ br i1 %t133, label %lazy.release24, label %lazy.release.j25
+lazy.release24:
+ call void @scr_box_release(ptr %t132)
+ br label %lazy.release.j25
+lazy.release.j25:
+ ret ptr null
+exc.cleanup19:
+ %t134 = load ptr, ptr %s0
+ %t135 = icmp ne ptr %t134, null
+ br i1 %t135, label %lazy.release26, label %lazy.release.j27
+lazy.release26:
+ call void @scr_box_release(ptr %t134)
+ br label %lazy.release.j27
+lazy.release.j27:
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_use(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_App_use(ptr %p0, ptr %p1, ptr %p2)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_union_release(ptr %p1)
+ call void @scr_arr_release(ptr %p2)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_notFound(ptr %p_sc_l_this_0, ptr %p_sc_l_h_0) #0 { ; %%m5.App.notFound
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_h_0 = alloca ptr ; h
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_h_0
+ %t2 = call ptr @scr_closure_retain_v(ptr %t1)
+ %t3 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t0, i64 0, i32 5
+ %t4 = load ptr, ptr %t3
+ store ptr %t2, ptr %t3, !tbaa !172
+ call void @scr_closure_release(ptr %t4)
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = load ptr, ptr %sc_l_this_0
+ %t7 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t6, i64 0, i32 2
+ %t8 = load ptr, ptr %t7, !tbaa !170
+ %t9 = call ptr @sc_bf__x25_m5_copyMw(ptr %t8)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @scr_arr_release(ptr %t9)
+ ret ptr null
+exc.k1:
+ %t13 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t5, i64 0, i32 6
+ %t14 = load ptr, ptr %t13
+ store ptr %t9, ptr %t13, !tbaa !174
+ call void @scr_arr_release(ptr %t14)
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t16 = load ptr, ptr %sc_l_this_0
+ %t17 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t16, i64 0, i32 6
+ %t18 = load ptr, ptr %t17, !tbaa !174
+ %t19 = load ptr, ptr %sc_l_this_0
+ %t20 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t19, i64 0, i32 5
+ %t21 = load ptr, ptr %t20, !tbaa !172
+ %t22 = call ptr @scr_closure_retain_v(ptr %t21)
+ %t23 = call ptr @scr_union_new_ref(i32 0, ptr %t22, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ %t24 = call ptr @sc_bf__x25_m5_compose(ptr %t18, ptr %t23)
+ call void @scr_union_release(ptr %t23)
+ %t25 = call ptr @sc_bf__x25_union_narrow_0(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_union_release(ptr %t24)
+ call void @scr_closure_release(ptr %t25)
+ ret ptr null
+exc.k3:
+ call void @scr_union_release(ptr %t24)
+ %t29 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t15, i64 0, i32 9
+ %t30 = load ptr, ptr %t29
+ store ptr %t25, ptr %t29, !tbaa !180
+ call void @scr_closure_release(ptr %t30)
+ %t31 = load ptr, ptr %sc_l_this_0
+ ret ptr %t31
+}
+define internal ptr @sc_f__x25__x25_m5_App_notFound(ptr %p0, ptr %p1) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_App_notFound(ptr %p0, ptr %p1)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_onError(ptr %p_sc_l_this_0, ptr %p_sc_l_h_0) #0 { ; %%m5.App.onError
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_h_0 = alloca ptr ; h
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_h_0
+ %t2 = call ptr @scr_closure_retain_v(ptr %t1)
+ %t3 = call ptr @scr_union_new_ref(i32 0, ptr %t2, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ %t4 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t0, i64 0, i32 7
+ %t5 = load ptr, ptr %t4
+ store ptr %t3, ptr %t4, !tbaa !176
+ call void @scr_union_release(ptr %t5)
+ %t6 = load ptr, ptr %sc_l_this_0
+ ret ptr %t6
+}
+define internal ptr @sc_f__x25__x25_m5_App_onError(ptr %p0, ptr %p1) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_App_onError(ptr %p0, ptr %p1)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_route(ptr %p_sc_l_this_0, ptr %p_sc_l_prefix_0, ptr %p_sc_l_sub_0) #0 { ; %%m5.App.route
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_prefix_0 = alloca ptr ; prefix
+ %sc_l_sub_0 = alloca ptr ; sub
+ %sc_l_p_0 = alloca ptr ; p
+ %s11 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_p_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_prefix_0, ptr %sc_l_prefix_0
+ store ptr %p_sc_l_sub_0, ptr %sc_l_sub_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_prefix_0
+ %t5 = call ptr @sc_rc_retain_str(ptr %t4)
+ store ptr %t5, ptr %sc_l_p_0
+ %t6 = load ptr, ptr %sc_l_p_0
+ %t7 = call double @sc_str_utf16_len(ptr %t6)
+ %t9 = fptosi double %t7 to i32
+ %t10 = sext i32 %t9 to i64
+ %t8 = icmp sgt i64 %t10, 1
+ store i1 %t8, ptr %s11
+ br i1 %t8, label %log.r2, label %log.j3
+log.r2:
+ %t12 = load ptr, ptr %sc_l_p_0
+ %t13 = load ptr, ptr %sc_l_p_0
+ %t14 = call double @sc_str_utf16_len(ptr %t13)
+ %t16 = fptosi double %t14 to i32
+ %t18 = trunc i64 1 to i32
+ %t17 = sub nsw i32 %t16, %t18
+ %t19 = sitofp i32 %t17 to double
+ %t20 = call ptr @scr_str_char_at(ptr %t12, double %t19)
+ %t21 = call zeroext i1 @sc_streq_2434240011052594(ptr %t20)
+ store i1 %t21, ptr %s11
+ call void @scr_str_release(ptr %t20)
+ br label %log.j3
+log.j3:
+ %t22 = load i1, ptr %s11
+ br i1 %t22, label %if.t4, label %if.j5
+if.t4:
+ %t23 = load ptr, ptr %sc_l_p_0
+ %t24 = load ptr, ptr %sc_l_p_0
+ %t25 = call double @sc_str_utf16_len(ptr %t24)
+ %t27 = fptosi double %t25 to i32
+ %t29 = trunc i64 1 to i32
+ %t28 = sub nsw i32 %t27, %t29
+ %t30 = sitofp i32 %t28 to double
+ %t31 = call ptr @scr_str_slice(ptr %t23, double 0x0000000000000000, double %t30)
+ %t32 = load ptr, ptr %sc_l_p_0
+ call void @scr_str_release(ptr %t32)
+ store ptr %t31, ptr %sc_l_p_0
+ br label %if.j5
+if.j5:
+ %t33 = load ptr, ptr %sc_l_sub_0
+ %t34 = load ptr, ptr %sc_l_this_0
+ %t35 = load ptr, ptr %sc_l_p_0
+ %t36 = load ptr, ptr %sc_l_this_0
+ %t37 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t36, i64 0, i32 2
+ %t38 = load ptr, ptr %t37, !tbaa !170
+ %t39 = call ptr @sc_bf__x25_m5_copyMw(ptr %t38)
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_arr_release(ptr %t39)
+ br label %exc.cleanup8
+exc.k7:
+ call void @sc_bf__x25_m5_mountRoutes(ptr %t33, ptr %t34, ptr %t35, ptr %t39)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @scr_arr_release(ptr %t39)
+ br label %exc.cleanup8
+exc.k10:
+ call void @scr_arr_release(ptr %t39)
+ %t46 = load ptr, ptr %sc_l_this_0
+ %t47 = load ptr, ptr %sc_l_p_0
+ call void @scr_str_release(ptr %t47)
+ ret ptr %t46
+exc.cleanup8:
+ %t48 = load ptr, ptr %sc_l_p_0
+ call void @scr_str_release(ptr %t48)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_route(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_App_route(ptr %p0, ptr %p1, ptr %p2)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m5_App(ptr %p2)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_withDispatch(ptr %p_sc_l_this_0, ptr %p_sc_l_d_0) #0 { ; %%m5.App.withDispatch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_d_0 = alloca ptr ; d
+ %sc_l_stamped_0 = alloca double ; stamped
+ %sc_l_g_0 = alloca ptr ; g
+ %s6 = alloca [5 x ptr]
+ %s7 = alloca [5 x double]
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_g_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_d_0, ptr %sc_l_d_0
+ %t0 = load ptr, ptr %sc_l_d_0
+ %t1 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t0, i64 0, i32 1
+ %t2 = load double, ptr %t1, !tbaa !188
+ store double %t2, ptr %sc_l_stamped_0
+ %t3 = load double, ptr %sc_l_stamped_0
+ %t4 = fcmp une double %t3, 0x4010000000000000
+ br i1 %t4, label %if.t0, label %if.j1
+if.t0:
+ %t5 = load double, ptr %sc_l_stamped_0
+ %t8 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 0
+ store ptr @sc_lit_2214377447145268, ptr %t8
+ %t9 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 1
+ store ptr null, ptr %t9
+ %t10 = getelementptr [5 x double], ptr %s7, i32 0, i32 1
+ store double %t5, ptr %t10
+ %t11 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 2
+ store ptr @sc_lit_4475575820732057, ptr %t11
+ %t12 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 3
+ store ptr null, ptr %t12
+ %t13 = getelementptr [5 x double], ptr %s7, i32 0, i32 3
+ store double 0x4010000000000000, ptr %t13
+ %t14 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 4
+ store ptr @sc_lit_3865233613737149, ptr %t14
+ %t15 = call ptr @scr_str_concat_mixed(ptr null, ptr %s6, ptr %s7, i64 5)
+ %t16 = call ptr @sc_td_0(ptr %t15)
+ %t18 = call ptr @scr_dyn_undefined()
+ %t17 = call ptr @scr_dyn_retain_v(ptr %t18)
+ %t19 = call ptr @scr_error_new_options(i32 0, ptr %t16, ptr %t17)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_str_release(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @scr_error_release(ptr %t19)
+ ret ptr null
+exc.k3:
+ call void @scr_throw_obj(ptr %t19, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ call void @scr_str_release(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+if.j1:
+ %t23 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_trace__x25_m0_GenDispatch) ; let g (boxed)
+ store ptr %t23, ptr %sc_l_g_0
+ %t24 = load ptr, ptr %sc_l_d_0
+ %t25 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t24)
+ call void @scr_box_set_ref(ptr %t23, ptr %t25)
+ %t26 = load ptr, ptr %sc_l_this_0
+ %t27 = call ptr @scr_closure_new(ptr @sc_f__x25_fn3, i64 1)
+ %t28 = getelementptr inbounds %ScrClosure, ptr %t27, i64 0, i32 4
+ store i32 4, ptr %t28
+ %t29 = getelementptr inbounds %ScrClosure, ptr %t27, i64 0, i32 7
+ store ptr @sc_bf__x25_fn3, ptr %t29
+ %t30 = load ptr, ptr %sc_l_g_0
+ %t31 = call ptr @sc_retain_box(ptr %t30)
+ %t32 = getelementptr inbounds %ScrClosure, ptr %t27, i64 1 ; caps
+ %t33 = getelementptr inbounds ptr, ptr %t32, i64 0 ; caps[0]
+ store ptr %t31, ptr %t33
+ %t34 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t26, i64 0, i32 15
+ %t35 = load ptr, ptr %t34
+ store ptr %t27, ptr %t34, !tbaa !182
+ call void @scr_closure_release(ptr %t35)
+ %t36 = load ptr, ptr %sc_l_this_0
+ %t37 = load ptr, ptr %sc_l_g_0
+ call void @scr_box_release(ptr %t37)
+ ret ptr %t36
+}
+define internal ptr @sc_f__x25__x25_m5_App_withDispatch(ptr %p0, ptr %p1) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_App_withDispatch(ptr %p0, ptr %p1)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @sc_release__x25_m0_GenDispatch(ptr %p1)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_withFetchDispatch(ptr %p_sc_l_this_0, ptr %p_sc_l_d_0) #0 { ; %%m5.App.withFetchDispatch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_d_0 = alloca ptr ; d
+ %sc_l_stamped_0 = alloca double ; stamped
+ %sc_l_g_0 = alloca ptr ; g
+ %s6 = alloca [5 x ptr]
+ %s7 = alloca [5 x double]
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_g_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_d_0, ptr %sc_l_d_0
+ %t0 = load ptr, ptr %sc_l_d_0
+ %t1 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t0, i64 0, i32 1
+ %t2 = load double, ptr %t1, !tbaa !188
+ store double %t2, ptr %sc_l_stamped_0
+ %t3 = load double, ptr %sc_l_stamped_0
+ %t4 = fcmp une double %t3, 0x4010000000000000
+ br i1 %t4, label %if.t0, label %if.j1
+if.t0:
+ %t5 = load double, ptr %sc_l_stamped_0
+ %t8 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 0
+ store ptr @sc_lit_1244221778433949, ptr %t8
+ %t9 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 1
+ store ptr null, ptr %t9
+ %t10 = getelementptr [5 x double], ptr %s7, i32 0, i32 1
+ store double %t5, ptr %t10
+ %t11 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 2
+ store ptr @sc_lit_4475575820732057, ptr %t11
+ %t12 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 3
+ store ptr null, ptr %t12
+ %t13 = getelementptr [5 x double], ptr %s7, i32 0, i32 3
+ store double 0x4010000000000000, ptr %t13
+ %t14 = getelementptr [5 x ptr], ptr %s6, i32 0, i32 4
+ store ptr @sc_lit_1405960170658013, ptr %t14
+ %t15 = call ptr @scr_str_concat_mixed(ptr null, ptr %s6, ptr %s7, i64 5)
+ %t16 = call ptr @sc_td_0(ptr %t15)
+ %t18 = call ptr @scr_dyn_undefined()
+ %t17 = call ptr @scr_dyn_retain_v(ptr %t18)
+ %t19 = call ptr @scr_error_new_options(i32 0, ptr %t16, ptr %t17)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_str_release(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @scr_error_release(ptr %t19)
+ ret ptr null
+exc.k3:
+ call void @scr_throw_obj(ptr %t19, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ call void @scr_str_release(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+if.j1:
+ %t23 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_trace__x25_m0_GenFetch) ; let g (boxed)
+ store ptr %t23, ptr %sc_l_g_0
+ %t24 = load ptr, ptr %sc_l_d_0
+ %t25 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t24)
+ call void @scr_box_set_ref(ptr %t23, ptr %t25)
+ %t26 = load ptr, ptr %sc_l_this_0
+ %t27 = call ptr @scr_closure_new(ptr @sc_f__x25_fn4, i64 1)
+ %t28 = getelementptr inbounds %ScrClosure, ptr %t27, i64 0, i32 4
+ store i32 4, ptr %t28
+ %t29 = getelementptr inbounds %ScrClosure, ptr %t27, i64 0, i32 7
+ store ptr @sc_bf__x25_fn4, ptr %t29
+ %t30 = load ptr, ptr %sc_l_g_0
+ %t31 = call ptr @sc_retain_box(ptr %t30)
+ %t32 = getelementptr inbounds %ScrClosure, ptr %t27, i64 1 ; caps
+ %t33 = getelementptr inbounds ptr, ptr %t32, i64 0 ; caps[0]
+ store ptr %t31, ptr %t33
+ %t34 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t26, i64 0, i32 16
+ %t35 = load ptr, ptr %t34
+ store ptr %t27, ptr %t34, !tbaa !184
+ call void @scr_closure_release(ptr %t35)
+ %t36 = load ptr, ptr %sc_l_this_0
+ %t37 = load ptr, ptr %sc_l_g_0
+ call void @scr_box_release(ptr %t37)
+ ret ptr %t36
+}
+define internal ptr @sc_f__x25__x25_m5_App_withFetchDispatch(ptr %p0, ptr %p1) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_App_withFetchDispatch(ptr %p0, ptr %p1)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @sc_release__x25_m0_GenFetch(ptr %p1)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_withUpgrade(ptr %p_sc_l_this_0, ptr %p_sc_l_u_0) #0 { ; %%m5.App.withUpgrade
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_u_0 = alloca ptr ; u
+ %sc_l_g_0 = alloca ptr ; g
+ store ptr null, ptr %sc_l_g_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_trace__x25_m1_UpgradeDispatch) ; let g (boxed)
+ store ptr %t0, ptr %sc_l_g_0
+ %t1 = load ptr, ptr %sc_l_u_0
+ %t2 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t1)
+ call void @scr_box_set_ref(ptr %t0, ptr %t2)
+ %t3 = load ptr, ptr %sc_l_this_0
+ %t4 = call ptr @scr_closure_new(ptr @sc_f__x25_fn5, i64 1)
+ %t5 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 4
+ store i32 4, ptr %t5
+ %t6 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 7
+ store ptr @sc_bf__x25_fn5, ptr %t6
+ %t7 = load ptr, ptr %sc_l_g_0
+ %t8 = call ptr @sc_retain_box(ptr %t7)
+ %t9 = getelementptr inbounds %ScrClosure, ptr %t4, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 0 ; caps[0]
+ store ptr %t8, ptr %t10
+ %t11 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t3, i64 0, i32 17
+ %t12 = load ptr, ptr %t11
+ store ptr %t4, ptr %t11, !tbaa !186
+ call void @scr_closure_release(ptr %t12)
+ %t13 = load ptr, ptr %sc_l_this_0
+ %t14 = load ptr, ptr %sc_l_g_0
+ call void @scr_box_release(ptr %t14)
+ ret ptr %t13
+}
+define internal ptr @sc_f__x25__x25_m5_App_withUpgrade(ptr %p0, ptr %p1) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_App_withUpgrade(ptr %p0, ptr %p1)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %p1)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_upgradeHandler(ptr %p_sc_l_this_0) #0 { ; %%m5.App.upgradeHandler
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_app_0 = alloca ptr ; app
+ store ptr null, ptr %sc_l_app_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed)
+ store ptr %t0, ptr %sc_l_app_0
+ %t1 = load ptr, ptr %sc_l_this_0
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %t1)
+ call void @scr_box_set_ref(ptr %t0, ptr %t2)
+ %t3 = call ptr @scr_closure_new(ptr @sc_f__x25_fn6, i64 1)
+ %t4 = getelementptr inbounds %ScrClosure, ptr %t3, i64 0, i32 4
+ store i32 4, ptr %t4
+ %t5 = getelementptr inbounds %ScrClosure, ptr %t3, i64 0, i32 7
+ store ptr @sc_bf__x25_fn6, ptr %t5
+ %t6 = load ptr, ptr %sc_l_app_0
+ %t7 = call ptr @sc_retain_box(ptr %t6)
+ %t8 = getelementptr inbounds %ScrClosure, ptr %t3, i64 1 ; caps
+ %t9 = getelementptr inbounds ptr, ptr %t8, i64 0 ; caps[0]
+ store ptr %t7, ptr %t9
+ %t10 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t10)
+ ret ptr %t3
+}
+define internal ptr @sc_f__x25__x25_m5_App_upgradeHandler(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_upgradeHandler(ptr %p0)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_handler(ptr %p_sc_l_this_0) #0 { ; %%m5.App.handler
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_app_0 = alloca ptr ; app
+ store ptr null, ptr %sc_l_app_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed)
+ store ptr %t0, ptr %sc_l_app_0
+ %t1 = load ptr, ptr %sc_l_this_0
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %t1)
+ call void @scr_box_set_ref(ptr %t0, ptr %t2)
+ %t3 = call ptr @scr_closure_new(ptr @sc_f__x25_fn7, i64 1)
+ %t4 = getelementptr inbounds %ScrClosure, ptr %t3, i64 0, i32 4
+ store i32 4, ptr %t4
+ %t5 = getelementptr inbounds %ScrClosure, ptr %t3, i64 0, i32 7
+ store ptr @sc_bf__x25_fn7, ptr %t5
+ %t6 = load ptr, ptr %sc_l_app_0
+ %t7 = call ptr @sc_retain_box(ptr %t6)
+ %t8 = getelementptr inbounds %ScrClosure, ptr %t3, i64 1 ; caps
+ %t9 = getelementptr inbounds ptr, ptr %t8, i64 0 ; caps[0]
+ store ptr %t7, ptr %t9
+ %t10 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t10)
+ ret ptr %t3
+}
+define internal ptr @sc_f__x25__x25_m5_App_handler(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_handler(ptr %p0)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_fetchBridge(ptr %p_sc_l_this_0) #0 { ; %%m5.App.fetchBridge
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_app_0 = alloca ptr ; app
+ store ptr null, ptr %sc_l_app_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed)
+ store ptr %t0, ptr %sc_l_app_0
+ %t1 = load ptr, ptr %sc_l_this_0
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %t1)
+ call void @scr_box_set_ref(ptr %t0, ptr %t2)
+ %t3 = call ptr @scr_closure_new(ptr @sc_f__x25_fn8, i64 1)
+ %t4 = getelementptr inbounds %ScrClosure, ptr %t3, i64 0, i32 4
+ store i32 4, ptr %t4
+ %t5 = load ptr, ptr %sc_l_app_0
+ %t6 = call ptr @sc_retain_box(ptr %t5)
+ %t7 = getelementptr inbounds %ScrClosure, ptr %t3, i64 1 ; caps
+ %t8 = getelementptr inbounds ptr, ptr %t7, i64 0 ; caps[0]
+ store ptr %t6, ptr %t8
+ %t9 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t9)
+ ret ptr %t3
+}
+define internal ptr @sc_f__x25__x25_m5_App_fetchBridge(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_fetchBridge(ptr %p0)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_serve(ptr %p_sc_l_this_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.serve
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_s_0 = alloca ptr ; s
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_s_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_2(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t27 = call ptr @scr_dyn_call(ptr %t24, ptr null, i64 0, ptr @sc_cs_143902260791844)
+ call void @scr_dyn_this_pop()
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup12
+exc.k11:
+ %t31 = call ptr @sc_dc_73(ptr %t27, ptr null)
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @scr_closure_release(ptr %t31)
+ br label %exc.cleanup12
+exc.k14:
+ %t35 = call ptr @scr_http_create_server(ptr %t31, ptr @scr_http_handler_thunk2)
+ store ptr %t35, ptr %sc_l_s_0
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t38 = load ptr, ptr %sc_l_opts_0
+ %t39 = getelementptr inbounds %sc_rs_r8, ptr %t38, i64 0, i32 1
+ %t40 = load ptr, ptr %t39
+ %t41 = icmp eq ptr %t40, @sc_nullable_absent
+ %t42 = select i1 %t41, ptr null, ptr %t40
+ %t44 = icmp eq ptr %t42, null
+ br i1 %t44, label %if.t15, label %if.f17
+if.t15:
+ %t45 = load ptr, ptr %sc_l_s_0
+ %t46 = call ptr @scr_net_server_retain_v(ptr %t45)
+ %t47 = load ptr, ptr %sc_l_opts_0
+ %t48 = getelementptr inbounds %sc_rs_r8, ptr %t47, i64 0, i32 2
+ %t49 = load double, ptr %t48
+ call void @scr_net_listen(ptr %t46, double %t49, ptr null)
+ call void @scr_net_server_release(ptr %t46)
+ br label %if.j16
+if.f17:
+ %t50 = load ptr, ptr %sc_l_s_0
+ %t51 = call ptr @scr_net_server_retain_v(ptr %t50)
+ %t52 = load ptr, ptr %sc_l_opts_0
+ %t53 = getelementptr inbounds %sc_rs_r8, ptr %t52, i64 0, i32 2
+ %t54 = load double, ptr %t53
+ %t55 = load ptr, ptr %sc_l_opts_0
+ %t56 = getelementptr inbounds %sc_rs_r8, ptr %t55, i64 0, i32 1
+ %t57 = load ptr, ptr %t56
+ %t58 = icmp eq ptr %t57, @sc_nullable_absent
+ %t59 = select i1 %t58, ptr null, ptr %t57
+ %t60 = call ptr @sc_rc_retain_str(ptr %t59)
+ call void @scr_net_listen_opts(ptr %t51, double %t54, ptr %t60, i1 false, ptr null)
+ call void @scr_net_server_release(ptr %t51)
+ call void @scr_str_release(ptr %t60)
+ br label %if.j16
+if.j16:
+ %t61 = load ptr, ptr %sc_l_s_0
+ ret ptr %t61
+exc.cleanup9:
+ %t62 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t62)
+ ret ptr null
+exc.cleanup12:
+ %t63 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t63)
+ %t64 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t64)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_serve(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_serve(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @sc_rrelease_r8(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_serveFetch(ptr %p_sc_l_this_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App.serveFetch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_s_0 = alloca ptr ; s
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_s_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_4(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t27 = call ptr @scr_dyn_call(ptr %t24, ptr null, i64 0, ptr @sc_cs_968890379863199)
+ call void @scr_dyn_this_pop()
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup12
+exc.k11:
+ %t31 = call ptr @sc_dc_73(ptr %t27, ptr null)
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @scr_closure_release(ptr %t31)
+ br label %exc.cleanup12
+exc.k14:
+ %t35 = call ptr @scr_http_create_server(ptr %t31, ptr @scr_http_handler_thunk2)
+ store ptr %t35, ptr %sc_l_s_0
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t27)
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t38 = load ptr, ptr %sc_l_opts_0
+ %t39 = getelementptr inbounds %sc_rs_r8, ptr %t38, i64 0, i32 1
+ %t40 = load ptr, ptr %t39
+ %t41 = icmp eq ptr %t40, @sc_nullable_absent
+ %t42 = select i1 %t41, ptr null, ptr %t40
+ %t44 = icmp eq ptr %t42, null
+ br i1 %t44, label %if.t15, label %if.f17
+if.t15:
+ %t45 = load ptr, ptr %sc_l_s_0
+ %t46 = call ptr @scr_net_server_retain_v(ptr %t45)
+ %t47 = load ptr, ptr %sc_l_opts_0
+ %t48 = getelementptr inbounds %sc_rs_r8, ptr %t47, i64 0, i32 2
+ %t49 = load double, ptr %t48
+ call void @scr_net_listen(ptr %t46, double %t49, ptr null)
+ call void @scr_net_server_release(ptr %t46)
+ br label %if.j16
+if.f17:
+ %t50 = load ptr, ptr %sc_l_s_0
+ %t51 = call ptr @scr_net_server_retain_v(ptr %t50)
+ %t52 = load ptr, ptr %sc_l_opts_0
+ %t53 = getelementptr inbounds %sc_rs_r8, ptr %t52, i64 0, i32 2
+ %t54 = load double, ptr %t53
+ %t55 = load ptr, ptr %sc_l_opts_0
+ %t56 = getelementptr inbounds %sc_rs_r8, ptr %t55, i64 0, i32 1
+ %t57 = load ptr, ptr %t56
+ %t58 = icmp eq ptr %t57, @sc_nullable_absent
+ %t59 = select i1 %t58, ptr null, ptr %t57
+ %t60 = call ptr @sc_rc_retain_str(ptr %t59)
+ call void @scr_net_listen_opts(ptr %t51, double %t54, ptr %t60, i1 false, ptr null)
+ call void @scr_net_server_release(ptr %t51)
+ call void @scr_str_release(ptr %t60)
+ br label %if.j16
+if.j16:
+ %t61 = load ptr, ptr %sc_l_s_0
+ ret ptr %t61
+exc.cleanup9:
+ %t62 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t62)
+ ret ptr null
+exc.cleanup12:
+ %t63 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t63)
+ %t64 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t64)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_serveFetch(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_serveFetch(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @sc_rrelease_r8(ptr %p1)
+ ret ptr %result
+}
+
+define internal double @sc_bf__x25__x25_m5_App__regFn(ptr %p_sc_l_this_0, ptr %p_sc_l_h_0, ptr %p_sc_l_mw_0, ptr %p_sc_l_m_0, ptr %p_sc_l_body_0, ptr %p_sc_l_mp_0) #0 { ; %%m5.App._regFn
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_mw_0 = alloca ptr ; mw
+ %sc_l_m_0 = alloca ptr ; m
+ %sc_l_body_0 = alloca ptr ; body
+ %sc_l_mp_0 = alloca ptr ; mp
+ %sc_l__x25_pushTarget_0 = alloca ptr ; %pushTarget
+ %sc_l__x25_pushValue_0 = alloca ptr ; %pushValue
+ %s22 = alloca ptr
+ %s102 = alloca ptr
+ %s242 = alloca double
+ %s243 = alloca i32
+ %s295 = alloca ptr
+ store ptr null, ptr %sc_l__x25_pushTarget_0
+ store ptr null, ptr %sc_l__x25_pushValue_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_mw_0, ptr %sc_l_mw_0
+ store ptr %p_sc_l_m_0, ptr %sc_l_m_0
+ store ptr %p_sc_l_body_0, ptr %sc_l_body_0
+ store ptr %p_sc_l_mp_0, ptr %sc_l_mp_0
+ %t0 = load ptr, ptr %sc_l_h_0
+ %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1
+ %t2 = load i32, ptr %t3
+ %t1 = icmp eq i32 %t2, 1
+ br i1 %t1, label %if.t0, label %if.f2
+if.t0:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5, !tbaa !36
+ %t7 = call ptr @scr_arr_retain_v(ptr %t6)
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t8, i64 0, i32 3
+ %t10 = load ptr, ptr %t9, !tbaa !36
+ %t11 = getelementptr inbounds %ScrArr, ptr %t10, i32 0, i32 1
+ %t12 = load i64, ptr %t11, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t13 = sitofp i64 %t12 to double
+ call void @scr_arr_set_undefined(ptr %t7, double %t13)
+ call void @scr_arr_release(ptr %t7)
+ br label %if.j1
+if.f2:
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t14, i64 0, i32 3
+ %t16 = load ptr, ptr %t15, !tbaa !36
+ %t17 = call ptr @scr_arr_retain_v(ptr %t16)
+ %t18 = load ptr, ptr %sc_l_h_0
+ %t21 = getelementptr inbounds %ScrUnion, ptr %t18, i64 0, i32 1
+ %t20 = load i32, ptr %t21
+ %t19 = icmp eq i32 %t20, 0
+ br i1 %t19, label %tern.t3, label %tern.f4
+tern.t3:
+ %t23 = load ptr, ptr %sc_l_h_0
+ %t24 = getelementptr inbounds %ScrUnion, ptr %t23, i64 0, i32 5
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @scr_closure_retain_v(ptr %t25)
+ store ptr %t26, ptr %s22
+ br label %tern.j5
+tern.f4:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ call void @scr_arr_release(ptr %t17)
+ ret double 0x0000000000000000
+exc.dead6:
+ store ptr null, ptr %s22
+ br label %tern.j5
+tern.j5:
+ %t27 = load ptr, ptr %s22
+ %t28 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1
+ %t29 = load i64, ptr %t28, !tbaa !2
+ %t32 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2
+ %t30 = load i64, ptr %t32, !tbaa !2
+ %t31 = icmp ult i64 %t29, %t30
+ br i1 %t31, label %arr.push.dense7, label %arr.push.slow8
+arr.push.dense7:
+ %t33 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8
+ %t35 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9
+ %t34 = load ptr, ptr %t33, !tbaa !2
+ %t36 = load ptr, ptr %t35, !tbaa !2
+ %t37 = getelementptr inbounds i8, ptr %t36, i64 %t29
+ %t38 = getelementptr inbounds i64, ptr %t34, i64 %t29
+ store ptr %t27, ptr %t38, !tbaa !6
+ store i8 1, ptr %t37, !tbaa !4
+ %t39 = add nuw i64 %t29, 1
+ store i64 %t39, ptr %t28, !tbaa !2
+ %t41 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6
+ %t42 = load i32, ptr %t41, !tbaa !2
+ %t46 = zext i32 %t42 to i64
+ %t43 = icmp eq i64 %t46, %t29
+ %t44 = add i32 %t42, 1
+ %t45 = select i1 %t43, i32 %t44, i32 %t42
+ store i32 %t45, ptr %t41, !tbaa !2
+ %t40 = sitofp i64 %t39 to double
+ br label %arr.push.join9
+arr.push.slow8:
+ %t47 = call double @scr_arr_push_ref(ptr %t17, ptr %t27) cold
+ br label %arr.push.join9
+arr.push.join9:
+ %t48 = phi double [ %t40, %arr.push.dense7 ], [ %t47, %arr.push.slow8 ]
+ call void @scr_arr_release(ptr %t17)
+ br label %if.j1
+if.j1:
+ %t49 = load ptr, ptr %sc_l_this_0
+ %t50 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t49, i64 0, i32 3
+ %t51 = load ptr, ptr %t50, !tbaa !36
+ %t52 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 1
+ %t53 = load i64, ptr %t52, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t54 = sitofp i64 %t53 to double
+ %t55 = load ptr, ptr %sc_l_this_0
+ %t56 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t55, i64 0, i32 4
+ %t57 = load ptr, ptr %t56, !tbaa !34
+ %t58 = call ptr @scr_arr_retain_v(ptr %t57)
+ %t59 = load ptr, ptr %sc_l_mw_0
+ %t60 = call ptr @scr_arr_retain_v(ptr %t59)
+ %t61 = getelementptr inbounds %ScrArr, ptr %t58, i32 0, i32 1
+ %t62 = load i64, ptr %t61, !tbaa !2
+ %t65 = getelementptr inbounds %ScrArr, ptr %t58, i32 0, i32 2
+ %t63 = load i64, ptr %t65, !tbaa !2
+ %t64 = icmp ult i64 %t62, %t63
+ br i1 %t64, label %arr.push.dense10, label %arr.push.slow11
+arr.push.dense10:
+ %t66 = getelementptr inbounds %ScrArr, ptr %t58, i32 0, i32 8
+ %t68 = getelementptr inbounds %ScrArr, ptr %t58, i32 0, i32 9
+ %t67 = load ptr, ptr %t66, !tbaa !2
+ %t69 = load ptr, ptr %t68, !tbaa !2
+ %t70 = getelementptr inbounds i8, ptr %t69, i64 %t62
+ %t71 = getelementptr inbounds i64, ptr %t67, i64 %t62
+ store ptr %t60, ptr %t71, !tbaa !6
+ store i8 1, ptr %t70, !tbaa !4
+ %t72 = add nuw i64 %t62, 1
+ store i64 %t72, ptr %t61, !tbaa !2
+ %t74 = getelementptr inbounds %ScrArr, ptr %t58, i32 0, i32 6
+ %t75 = load i32, ptr %t74, !tbaa !2
+ %t79 = zext i32 %t75 to i64
+ %t76 = icmp eq i64 %t79, %t62
+ %t77 = add i32 %t75, 1
+ %t78 = select i1 %t76, i32 %t77, i32 %t75
+ store i32 %t78, ptr %t74, !tbaa !2
+ %t73 = sitofp i64 %t72 to double
+ br label %arr.push.join12
+arr.push.slow11:
+ %t80 = call double @scr_arr_push_ref(ptr %t58, ptr %t60) cold
+ br label %arr.push.join12
+arr.push.join12:
+ %t81 = phi double [ %t73, %arr.push.dense10 ], [ %t80, %arr.push.slow11 ]
+ call void @scr_arr_release(ptr %t58)
+ %t82 = load ptr, ptr %sc_l_this_0
+ %t83 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t82, i64 0, i32 8
+ %t84 = load ptr, ptr %t83, !tbaa !178
+ store ptr %t84, ptr %sc_l__x25_pushTarget_0
+ %t85 = load ptr, ptr %sc_l_mw_0
+ %t86 = load ptr, ptr %sc_l_h_0
+ %t87 = call ptr @sc_bf__x25_m5_compose(ptr %t85, ptr %t86)
+ store ptr %t87, ptr %sc_l__x25_pushValue_0
+ %t88 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t91 = getelementptr inbounds %ScrUnion, ptr %t88, i64 0, i32 1
+ %t90 = load i32, ptr %t91
+ %t89 = icmp eq i32 %t90, 1
+ br i1 %t89, label %if.t13, label %if.f15
+if.t13:
+ %t92 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t93 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t94 = getelementptr inbounds %ScrArr, ptr %t93, i32 0, i32 1
+ %t95 = load i64, ptr %t94, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t96 = sitofp i64 %t95 to double
+ call void @scr_arr_set_undefined(ptr %t92, double %t96)
+ br label %if.j14
+if.f15:
+ %t97 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t98 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t101 = getelementptr inbounds %ScrUnion, ptr %t98, i64 0, i32 1
+ %t100 = load i32, ptr %t101
+ %t99 = icmp eq i32 %t100, 0
+ br i1 %t99, label %tern.t16, label %tern.f17
+tern.t16:
+ %t103 = load ptr, ptr %sc_l__x25_pushValue_0
+ %t104 = getelementptr inbounds %ScrUnion, ptr %t103, i64 0, i32 5
+ %t105 = load ptr, ptr %t104
+ %t106 = call ptr @scr_closure_retain_v(ptr %t105)
+ store ptr %t106, ptr %s102
+ br label %tern.j18
+tern.f17:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup19
+exc.dead20:
+ store ptr null, ptr %s102
+ br label %tern.j18
+tern.j18:
+ %t107 = load ptr, ptr %s102
+ %t108 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 1
+ %t109 = load i64, ptr %t108, !tbaa !2
+ %t112 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 2
+ %t110 = load i64, ptr %t112, !tbaa !2
+ %t111 = icmp ult i64 %t109, %t110
+ br i1 %t111, label %arr.push.dense21, label %arr.push.slow22
+arr.push.dense21:
+ %t113 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 8
+ %t115 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 9
+ %t114 = load ptr, ptr %t113, !tbaa !2
+ %t116 = load ptr, ptr %t115, !tbaa !2
+ %t117 = getelementptr inbounds i8, ptr %t116, i64 %t109
+ %t118 = getelementptr inbounds i64, ptr %t114, i64 %t109
+ store ptr %t107, ptr %t118, !tbaa !6
+ store i8 1, ptr %t117, !tbaa !4
+ %t119 = add nuw i64 %t109, 1
+ store i64 %t119, ptr %t108, !tbaa !2
+ %t121 = getelementptr inbounds %ScrArr, ptr %t97, i32 0, i32 6
+ %t122 = load i32, ptr %t121, !tbaa !2
+ %t126 = zext i32 %t122 to i64
+ %t123 = icmp eq i64 %t126, %t109
+ %t124 = add i32 %t122, 1
+ %t125 = select i1 %t123, i32 %t124, i32 %t122
+ store i32 %t125, ptr %t121, !tbaa !2
+ %t120 = sitofp i64 %t119 to double
+ br label %arr.push.join23
+arr.push.slow22:
+ %t127 = call double @scr_arr_push_ref(ptr %t97, ptr %t107) cold
+ br label %arr.push.join23
+arr.push.join23:
+ %t128 = phi double [ %t120, %arr.push.dense21 ], [ %t127, %arr.push.slow22 ]
+ br label %if.j14
+if.j14:
+ %t129 = load ptr, ptr %sc_l__x25_pushTarget_0
+ %t130 = getelementptr inbounds %ScrArr, ptr %t129, i32 0, i32 1
+ %t131 = load i64, ptr %t130, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t132 = sitofp i64 %t131 to double
+ %t133 = load ptr, ptr %sc_l__x25_pushValue_0
+ call void @scr_union_release(ptr %t133)
+ %t134 = load ptr, ptr %sc_l_this_0
+ %t135 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t134, i64 0, i32 10
+ %t136 = load ptr, ptr %t135, !tbaa !150
+ %t137 = call ptr @scr_arr_retain_v(ptr %t136)
+ %t138 = load ptr, ptr %sc_l_m_0
+ %t139 = getelementptr inbounds %sc_rs_r9, ptr %t138, i64 0, i32 2
+ %t140 = load ptr, ptr %t139
+ %t141 = call ptr @scr_arr_retain_v(ptr %t140)
+ %t142 = getelementptr inbounds %ScrArr, ptr %t137, i32 0, i32 1
+ %t143 = load i64, ptr %t142, !tbaa !2
+ %t146 = getelementptr inbounds %ScrArr, ptr %t137, i32 0, i32 2
+ %t144 = load i64, ptr %t146, !tbaa !2
+ %t145 = icmp ult i64 %t143, %t144
+ br i1 %t145, label %arr.push.dense24, label %arr.push.slow25
+arr.push.dense24:
+ %t147 = getelementptr inbounds %ScrArr, ptr %t137, i32 0, i32 8
+ %t149 = getelementptr inbounds %ScrArr, ptr %t137, i32 0, i32 9
+ %t148 = load ptr, ptr %t147, !tbaa !2
+ %t150 = load ptr, ptr %t149, !tbaa !2
+ %t151 = getelementptr inbounds i8, ptr %t150, i64 %t143
+ %t152 = getelementptr inbounds i64, ptr %t148, i64 %t143
+ store ptr %t141, ptr %t152, !tbaa !6
+ store i8 1, ptr %t151, !tbaa !4
+ %t153 = add nuw i64 %t143, 1
+ store i64 %t153, ptr %t142, !tbaa !2
+ %t155 = getelementptr inbounds %ScrArr, ptr %t137, i32 0, i32 6
+ %t156 = load i32, ptr %t155, !tbaa !2
+ %t160 = zext i32 %t156 to i64
+ %t157 = icmp eq i64 %t160, %t143
+ %t158 = add i32 %t156, 1
+ %t159 = select i1 %t157, i32 %t158, i32 %t156
+ store i32 %t159, ptr %t155, !tbaa !2
+ %t154 = sitofp i64 %t153 to double
+ br label %arr.push.join26
+arr.push.slow25:
+ %t161 = call double @scr_arr_push_ref(ptr %t137, ptr %t141) cold
+ br label %arr.push.join26
+arr.push.join26:
+ %t162 = phi double [ %t154, %arr.push.dense24 ], [ %t161, %arr.push.slow25 ]
+ call void @scr_arr_release(ptr %t137)
+ %t163 = load ptr, ptr %sc_l_this_0
+ %t164 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t163, i64 0, i32 11
+ %t165 = load ptr, ptr %t164, !tbaa !152
+ %t166 = call ptr @scr_arr_retain_v(ptr %t165)
+ %t167 = load ptr, ptr %sc_l_m_0
+ %t168 = getelementptr inbounds %sc_rs_r9, ptr %t167, i64 0, i32 1
+ %t169 = load ptr, ptr %t168
+ %t170 = call ptr @scr_arr_retain_v(ptr %t169)
+ %t171 = getelementptr inbounds %ScrArr, ptr %t166, i32 0, i32 1
+ %t172 = load i64, ptr %t171, !tbaa !2
+ %t175 = getelementptr inbounds %ScrArr, ptr %t166, i32 0, i32 2
+ %t173 = load i64, ptr %t175, !tbaa !2
+ %t174 = icmp ult i64 %t172, %t173
+ br i1 %t174, label %arr.push.dense27, label %arr.push.slow28
+arr.push.dense27:
+ %t176 = getelementptr inbounds %ScrArr, ptr %t166, i32 0, i32 8
+ %t178 = getelementptr inbounds %ScrArr, ptr %t166, i32 0, i32 9
+ %t177 = load ptr, ptr %t176, !tbaa !2
+ %t179 = load ptr, ptr %t178, !tbaa !2
+ %t180 = getelementptr inbounds i8, ptr %t179, i64 %t172
+ %t181 = getelementptr inbounds i64, ptr %t177, i64 %t172
+ store ptr %t170, ptr %t181, !tbaa !6
+ store i8 1, ptr %t180, !tbaa !4
+ %t182 = add nuw i64 %t172, 1
+ store i64 %t182, ptr %t171, !tbaa !2
+ %t184 = getelementptr inbounds %ScrArr, ptr %t166, i32 0, i32 6
+ %t185 = load i32, ptr %t184, !tbaa !2
+ %t189 = zext i32 %t185 to i64
+ %t186 = icmp eq i64 %t189, %t172
+ %t187 = add i32 %t185, 1
+ %t188 = select i1 %t186, i32 %t187, i32 %t185
+ store i32 %t188, ptr %t184, !tbaa !2
+ %t183 = sitofp i64 %t182 to double
+ br label %arr.push.join29
+arr.push.slow28:
+ %t190 = call double @scr_arr_push_ref(ptr %t166, ptr %t170) cold
+ br label %arr.push.join29
+arr.push.join29:
+ %t191 = phi double [ %t183, %arr.push.dense27 ], [ %t190, %arr.push.slow28 ]
+ call void @scr_arr_release(ptr %t166)
+ %t192 = load ptr, ptr %sc_l_this_0
+ %t193 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t192, i64 0, i32 12
+ %t194 = load ptr, ptr %t193, !tbaa !154
+ %t195 = call ptr @scr_arr_retain_v(ptr %t194)
+ %t196 = load ptr, ptr %sc_l_m_0
+ %t197 = getelementptr inbounds %sc_rs_r9, ptr %t196, i64 0, i32 3
+ %t198 = load double, ptr %t197
+ %t199 = getelementptr inbounds %ScrArr, ptr %t195, i32 0, i32 1
+ %t200 = load i64, ptr %t199, !tbaa !2
+ %t203 = getelementptr inbounds %ScrArr, ptr %t195, i32 0, i32 2
+ %t201 = load i64, ptr %t203, !tbaa !2
+ %t202 = icmp ult i64 %t200, %t201
+ br i1 %t202, label %arr.push.dense30, label %arr.push.slow31
+arr.push.dense30:
+ %t204 = getelementptr inbounds %ScrArr, ptr %t195, i32 0, i32 8
+ %t206 = getelementptr inbounds %ScrArr, ptr %t195, i32 0, i32 9
+ %t205 = load ptr, ptr %t204, !tbaa !2
+ %t207 = load ptr, ptr %t206, !tbaa !2
+ %t208 = getelementptr inbounds i8, ptr %t207, i64 %t200
+ %t209 = getelementptr inbounds i64, ptr %t205, i64 %t200
+ store double %t198, ptr %t209, !tbaa !6
+ store i8 1, ptr %t208, !tbaa !4
+ %t210 = add nuw i64 %t200, 1
+ store i64 %t210, ptr %t199, !tbaa !2
+ %t212 = getelementptr inbounds %ScrArr, ptr %t195, i32 0, i32 6
+ %t213 = load i32, ptr %t212, !tbaa !2
+ %t217 = zext i32 %t213 to i64
+ %t214 = icmp eq i64 %t217, %t200
+ %t215 = add i32 %t213, 1
+ %t216 = select i1 %t214, i32 %t215, i32 %t213
+ store i32 %t216, ptr %t212, !tbaa !2
+ %t211 = sitofp i64 %t210 to double
+ br label %arr.push.join32
+arr.push.slow31:
+ %t218 = call double @scr_arr_push_f64(ptr %t195, double %t198) cold
+ br label %arr.push.join32
+arr.push.join32:
+ %t219 = phi double [ %t211, %arr.push.dense30 ], [ %t218, %arr.push.slow31 ]
+ call void @scr_arr_release(ptr %t195)
+ %t220 = load ptr, ptr %sc_l_body_0
+ %t223 = getelementptr inbounds %ScrUnion, ptr %t220, i64 0, i32 1
+ %t222 = load i32, ptr %t223
+ %t221 = icmp eq i32 %t222, 1
+ br i1 %t221, label %if.t33, label %if.f35
+if.t33:
+ %t224 = load ptr, ptr %sc_l_this_0
+ %t225 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t224, i64 0, i32 13
+ %t226 = load ptr, ptr %t225, !tbaa !38
+ %t227 = call ptr @scr_arr_retain_v(ptr %t226)
+ %t228 = load ptr, ptr %sc_l_this_0
+ %t229 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t228, i64 0, i32 13
+ %t230 = load ptr, ptr %t229, !tbaa !38
+ %t231 = getelementptr inbounds %ScrArr, ptr %t230, i32 0, i32 1
+ %t232 = load i64, ptr %t231, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t233 = sitofp i64 %t232 to double
+ call void @scr_arr_set_undefined(ptr %t227, double %t233)
+ call void @scr_arr_release(ptr %t227)
+ br label %if.j34
+if.f35:
+ %t234 = load ptr, ptr %sc_l_this_0
+ %t235 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t234, i64 0, i32 13
+ %t236 = load ptr, ptr %t235, !tbaa !38
+ %t237 = call ptr @scr_arr_retain_v(ptr %t236)
+ %t238 = load ptr, ptr %sc_l_body_0
+ %t241 = getelementptr inbounds %ScrUnion, ptr %t238, i64 0, i32 1
+ %t240 = load i32, ptr %t241
+ %t239 = icmp eq i32 %t240, 0
+ br i1 %t239, label %tern.t36, label %tern.f37
+tern.t36:
+ %t244 = load ptr, ptr %sc_l_body_0
+ %t245 = getelementptr inbounds %ScrUnion, ptr %t244, i64 0, i32 5
+ %t246 = load double, ptr %t245
+ store double %t246, ptr %s242
+ br label %tern.j38
+tern.f37:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ call void @scr_arr_release(ptr %t237)
+ ret double 0x0000000000000000
+exc.dead39:
+ store double 0x0000000000000000, ptr %s242
+ br label %tern.j38
+tern.j38:
+ %t247 = load double, ptr %s242
+ %t248 = getelementptr inbounds %ScrArr, ptr %t237, i32 0, i32 1
+ %t249 = load i64, ptr %t248, !tbaa !2
+ %t252 = getelementptr inbounds %ScrArr, ptr %t237, i32 0, i32 2
+ %t250 = load i64, ptr %t252, !tbaa !2
+ %t251 = icmp ult i64 %t249, %t250
+ br i1 %t251, label %arr.push.dense40, label %arr.push.slow41
+arr.push.dense40:
+ %t253 = getelementptr inbounds %ScrArr, ptr %t237, i32 0, i32 8
+ %t255 = getelementptr inbounds %ScrArr, ptr %t237, i32 0, i32 9
+ %t254 = load ptr, ptr %t253, !tbaa !2
+ %t256 = load ptr, ptr %t255, !tbaa !2
+ %t257 = getelementptr inbounds i8, ptr %t256, i64 %t249
+ %t258 = getelementptr inbounds i64, ptr %t254, i64 %t249
+ store double %t247, ptr %t258, !tbaa !6
+ store i8 1, ptr %t257, !tbaa !4
+ %t259 = add nuw i64 %t249, 1
+ store i64 %t259, ptr %t248, !tbaa !2
+ %t261 = getelementptr inbounds %ScrArr, ptr %t237, i32 0, i32 6
+ %t262 = load i32, ptr %t261, !tbaa !2
+ %t266 = zext i32 %t262 to i64
+ %t263 = icmp eq i64 %t266, %t249
+ %t264 = add i32 %t262, 1
+ %t265 = select i1 %t263, i32 %t264, i32 %t262
+ store i32 %t265, ptr %t261, !tbaa !2
+ %t260 = sitofp i64 %t259 to double
+ br label %arr.push.join42
+arr.push.slow41:
+ %t267 = call double @scr_arr_push_f64(ptr %t237, double %t247) cold
+ br label %arr.push.join42
+arr.push.join42:
+ %t268 = phi double [ %t260, %arr.push.dense40 ], [ %t267, %arr.push.slow41 ]
+ call void @scr_arr_release(ptr %t237)
+ br label %if.j34
+if.j34:
+ %t269 = load ptr, ptr %sc_l_this_0
+ %t270 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t269, i64 0, i32 13
+ %t271 = load ptr, ptr %t270, !tbaa !38
+ %t272 = getelementptr inbounds %ScrArr, ptr %t271, i32 0, i32 1
+ %t273 = load i64, ptr %t272, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t274 = sitofp i64 %t273 to double
+ %t275 = load ptr, ptr %sc_l_mp_0
+ %t277 = icmp eq ptr %t275, null
+ br i1 %t277, label %if.t43, label %if.f45
+if.t43:
+ %t278 = load ptr, ptr %sc_l_this_0
+ %t279 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t278, i64 0, i32 14
+ %t280 = load ptr, ptr %t279, !tbaa !40
+ %t281 = call ptr @scr_arr_retain_v(ptr %t280)
+ %t282 = load ptr, ptr %sc_l_this_0
+ %t283 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t282, i64 0, i32 14
+ %t284 = load ptr, ptr %t283, !tbaa !40
+ %t285 = getelementptr inbounds %ScrArr, ptr %t284, i32 0, i32 1
+ %t286 = load i64, ptr %t285, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t287 = sitofp i64 %t286 to double
+ call void @scr_arr_set_undefined(ptr %t281, double %t287)
+ call void @scr_arr_release(ptr %t281)
+ br label %if.j44
+if.f45:
+ %t288 = load ptr, ptr %sc_l_this_0
+ %t289 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t288, i64 0, i32 14
+ %t290 = load ptr, ptr %t289, !tbaa !40
+ %t291 = call ptr @scr_arr_retain_v(ptr %t290)
+ %t292 = load ptr, ptr %sc_l_mp_0
+ %t294 = icmp ne ptr %t292, null
+ br i1 %t294, label %tern.t46, label %tern.f47
+tern.t46:
+ %t296 = load ptr, ptr %sc_l_mp_0
+ %t297 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t296)
+ store ptr %t297, ptr %s295
+ br label %tern.j48
+tern.f47:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ call void @scr_arr_release(ptr %t291)
+ ret double 0x0000000000000000
+exc.dead49:
+ store ptr null, ptr %s295
+ br label %tern.j48
+tern.j48:
+ %t298 = load ptr, ptr %s295
+ %t299 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 1
+ %t300 = load i64, ptr %t299, !tbaa !2
+ %t303 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 2
+ %t301 = load i64, ptr %t303, !tbaa !2
+ %t302 = icmp ult i64 %t300, %t301
+ br i1 %t302, label %arr.push.dense50, label %arr.push.slow51
+arr.push.dense50:
+ %t304 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 8
+ %t306 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 9
+ %t305 = load ptr, ptr %t304, !tbaa !2
+ %t307 = load ptr, ptr %t306, !tbaa !2
+ %t308 = getelementptr inbounds i8, ptr %t307, i64 %t300
+ %t309 = getelementptr inbounds i64, ptr %t305, i64 %t300
+ store ptr %t298, ptr %t309, !tbaa !6
+ store i8 1, ptr %t308, !tbaa !4
+ %t310 = add nuw i64 %t300, 1
+ store i64 %t310, ptr %t299, !tbaa !2
+ %t312 = getelementptr inbounds %ScrArr, ptr %t291, i32 0, i32 6
+ %t313 = load i32, ptr %t312, !tbaa !2
+ %t317 = zext i32 %t313 to i64
+ %t314 = icmp eq i64 %t317, %t300
+ %t315 = add i32 %t313, 1
+ %t316 = select i1 %t314, i32 %t315, i32 %t313
+ store i32 %t316, ptr %t312, !tbaa !2
+ %t311 = sitofp i64 %t310 to double
+ br label %arr.push.join52
+arr.push.slow51:
+ %t318 = call double @scr_arr_push_ref(ptr %t291, ptr %t298) cold
+ br label %arr.push.join52
+arr.push.join52:
+ %t319 = phi double [ %t311, %arr.push.dense50 ], [ %t318, %arr.push.slow51 ]
+ call void @scr_arr_release(ptr %t291)
+ br label %if.j44
+if.j44:
+ %t320 = load ptr, ptr %sc_l_this_0
+ %t321 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t320, i64 0, i32 14
+ %t322 = load ptr, ptr %t321, !tbaa !40
+ %t323 = getelementptr inbounds %ScrArr, ptr %t322, i32 0, i32 1
+ %t324 = load i64, ptr %t323, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t325 = sitofp i64 %t324 to double
+ %t326 = load ptr, ptr %sc_l_this_0
+ %t327 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t326, i64 0, i32 3
+ %t328 = load ptr, ptr %t327, !tbaa !36
+ %t329 = getelementptr inbounds %ScrArr, ptr %t328, i32 0, i32 1
+ %t330 = load i64, ptr %t329, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t331 = sitofp i64 %t330 to double
+ %t333 = fptosi double %t331 to i64
+ %t334 = sub nsw i64 %t333, 1
+ %t336 = trunc i64 %t334 to i32
+ %t335 = sitofp i64 %t334 to double
+ ret double %t335
+exc.cleanup19:
+ %t337 = load ptr, ptr %sc_l__x25_pushValue_0
+ call void @scr_union_release(ptr %t337)
+ ret double 0x0000000000000000
+}
+define internal double @sc_f__x25__x25_m5_App__regFn(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) #0 {
+entry:
+ %result = call double @sc_bf__x25__x25_m5_App__regFn(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_union_release(ptr %p1)
+ call void @scr_arr_release(ptr %p2)
+ call void @sc_rrelease_r9(ptr %p3)
+ call void @scr_union_release(ptr %p4)
+ call void @sc_release__x25_m5_MpCfg(ptr %p5)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App__add(ptr %p_sc_l_this_0, ptr %p_sc_l_method_0, ptr %p_sc_l_path_0, ptr %p_sc_l_h_0, ptr %p_sc_l_opts_0) #0 { ; %%m5.App._add
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_opts_0 = alloca ptr ; opts
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_idx_0 = alloca double ; idx
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s53 = alloca [5 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_method_0, ptr %sc_l_method_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_5(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t27 = load ptr, ptr %sc_l_h_0
+ %t28 = call ptr @sc_dfb_4(ptr %t27, ptr @sc_cs_3002302439247642)
+ %t29 = load ptr, ptr %sc_l_this_0
+ %t30 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t29, i64 0, i32 2
+ %t31 = load ptr, ptr %t30, !tbaa !170
+ %t32 = call ptr @sc_bf__x25_m5_copyMw(ptr %t31)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @scr_arr_release(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ br label %exc.cleanup12
+exc.k11:
+ %t36 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t36, ptr @sc_ldr_26_materialize_ops)
+ %t37 = load ptr, ptr %sc_l_path_0
+ %t38 = call ptr @sc_bf__x25_m5_pathMeta(ptr %t37)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rrelease_r9(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @scr_arr_release(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t36)
+ br label %exc.cleanup12
+exc.k14:
+ %t42 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t38, ptr @sc_rretain_r9, ptr @sc_rrelease_r9, ptr @sc_cs_1790505695584955, i64 9, ptr @sc_ldr_33_materialize, ptr @sc_ldr_33_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t42, ptr @sc_ldr_33_materialize_rops)
+ %t43 = load ptr, ptr %sc_l_opts_0
+ %t44 = call i32 @sc_bf__x25_m5_bodyFlag.i32(ptr %t43)
+ %t45 = sitofp i32 %t44 to double
+ %t46 = call ptr @sc_td_2(double %t45)
+ %t47 = load ptr, ptr %sc_l_opts_0
+ %t48 = call ptr @sc_bf__x25_m5_resolveMp(ptr %t47)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_release__x25_m5_MpCfg(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @scr_arr_release(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rrelease_r9(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ br label %exc.cleanup12
+exc.k16:
+ %t52 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t48, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t52, ptr @sc_ldr_32_materialize_cops)
+ %t54 = getelementptr inbounds [5 x ptr], ptr %s53, i64 0, i64 0
+ store ptr %t28, ptr %t54
+ %t55 = getelementptr inbounds [5 x ptr], ptr %s53, i64 0, i64 1
+ store ptr %t36, ptr %t55
+ %t56 = getelementptr inbounds [5 x ptr], ptr %s53, i64 0, i64 2
+ store ptr %t42, ptr %t56
+ %t57 = getelementptr inbounds [5 x ptr], ptr %s53, i64 0, i64 3
+ store ptr %t46, ptr %t57
+ %t58 = getelementptr inbounds [5 x ptr], ptr %s53, i64 0, i64 4
+ store ptr %t52, ptr %t58
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t59 = call ptr @scr_dyn_call(ptr %t24, ptr %s53, i64 5, ptr @sc_cs_1951612592073524)
+ call void @scr_dyn_this_pop()
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @scr_arr_release(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rrelease_r9(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ call void @sc_release__x25_m5_MpCfg(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t59)
+ br label %exc.cleanup12
+exc.k18:
+ %t63 = call double @sc_dc_2(ptr %t59, ptr null)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @scr_arr_release(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rrelease_r9(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ call void @sc_release__x25_m5_MpCfg(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t59)
+ br label %exc.cleanup12
+exc.k20:
+ store double %t63, ptr %sc_l_idx_0
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @scr_arr_release(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rrelease_r9(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ call void @sc_release__x25_m5_MpCfg(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t59)
+ %t67 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t68 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t68)
+ %t69 = load ptr, ptr %sc_l_this_0
+ %t70 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t69, i64 0, i32 1
+ %t71 = load ptr, ptr %t70, !tbaa !32
+ %t72 = load ptr, ptr %sc_l_method_0
+ %t73 = load ptr, ptr %sc_l_path_0
+ %t74 = load double, ptr %sc_l_idx_0
+ call void @sc_bf__x25_m5_addRoute(ptr %t71, ptr %t72, ptr %t73, double %t74)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u21, label %exc.k22
+exc.u21:
+ ret ptr null
+exc.k22:
+ %t78 = load ptr, ptr %sc_l_this_0
+ ret ptr %t78
+exc.cleanup9:
+ %t79 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t79)
+ ret ptr null
+exc.cleanup12:
+ %t80 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t80)
+ %t81 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t81)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App__add(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25__x25_m5_App__add(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_App(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_closure_release(ptr %p3)
+ call void @sc_rrelease_r7(ptr %p4)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25__x25_m5_App_fetch(ptr %p_sc_l_this_0, ptr %p_sc_l_req_0, ptr %p_sc_l__env_0, ptr %p_sc_l__ctx_0) #0 { ; %%m5.App.fetch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l__env_0 = alloca ptr ; _env
+ %sc_l__ctx_0 = alloca ptr ; _ctx
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l__x25_urlArgument_0 = alloca ptr ; %urlArgument
+ %sc_l__x25_urlInput_0 = alloca ptr ; %urlInput
+ %sc_l_parsed_0 = alloca ptr ; parsed
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_sink_0 = alloca ptr ; sink
+ %s0 = alloca ptr ; lazy box req
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_app_0
+ store ptr null, ptr %sc_l__x25_urlArgument_0
+ store ptr null, ptr %sc_l__x25_urlInput_0
+ store ptr null, ptr %sc_l_parsed_0
+ store ptr null, ptr %sc_l_url_0
+ store ptr null, ptr %sc_l_method_0
+ store ptr null, ptr %sc_l_sink_0
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_req_0, ptr %sc_l_req_0
+ store ptr %p_sc_l__env_0, ptr %sc_l__env_0
+ store ptr %p_sc_l__ctx_0, ptr %sc_l__ctx_0
+ %t1 = call ptr @llvm.stacksave.p0()
+ %t2 = load ptr, ptr @scr_stack_guard
+ %t3 = icmp ult ptr %t1, %t2
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t5 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed)
+ store ptr %t5, ptr %sc_l_app_0
+ %t6 = load ptr, ptr %sc_l_this_0
+ %t7 = call ptr @sc_retain__x25_m5_App(ptr %t6)
+ call void @scr_box_set_ref(ptr %t5, ptr %t7)
+ %t8 = load ptr, ptr %sc_l_req_0
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_f__x25_dyn_class_property_6(ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t10)
+ br label %exc.cleanup5
+exc.k4:
+ %t14 = call ptr @sc_dc_0(ptr %t10, ptr null)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @scr_str_release(ptr %t14)
+ br label %exc.cleanup5
+exc.k7:
+ store ptr %t14, ptr %sc_l__x25_urlArgument_0
+ call void @sc_rc_release_dyn(ptr %t10)
+ %t18 = load ptr, ptr %sc_l__x25_urlArgument_0
+ store ptr %t18, ptr %sc_l__x25_urlInput_0
+ %t19 = load ptr, ptr %sc_l__x25_urlInput_0
+ %t20 = call ptr @sc_rc_retain_str(ptr %t19)
+ %t21 = call ptr @scr_url_new(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_str_release(ptr %t20)
+ call void @scr_url_release(ptr %t21)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t21, ptr %sc_l_parsed_0
+ call void @scr_str_release(ptr %t20)
+ %t25 = load ptr, ptr %sc_l__x25_urlArgument_0
+ call void @scr_str_release(ptr %t25)
+ %t26 = call ptr @scr_box_new(i32 2) ; let url (boxed)
+ store ptr %t26, ptr %sc_l_url_0
+ %t27 = load ptr, ptr %sc_l_parsed_0
+ %t28 = call ptr @scr_url_retain_v(ptr %t27)
+ %t29 = call ptr @scr_url_pathname(ptr %t28)
+ %t30 = load ptr, ptr %sc_l_parsed_0
+ %t31 = call ptr @scr_url_retain_v(ptr %t30)
+ %t32 = call ptr @scr_url_search(ptr %t31)
+ %t33 = call ptr @scr_str_concat(ptr %t29, ptr %t32)
+ call void @scr_box_set_ref(ptr %t26, ptr %t33)
+ call void @scr_url_release(ptr %t28)
+ call void @scr_str_release(ptr %t29)
+ call void @scr_url_release(ptr %t31)
+ call void @scr_str_release(ptr %t32)
+ %t34 = call ptr @scr_box_new(i32 2) ; let method (boxed)
+ store ptr %t34, ptr %sc_l_method_0
+ %t35 = load ptr, ptr %sc_l_req_0
+ %t36 = call ptr @sc_rc_retain_dyn(ptr %t35)
+ %t37 = call ptr @sc_f__x25_dyn_class_property_7(ptr %t36)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t37)
+ br label %exc.cleanup13
+exc.k12:
+ %t41 = call ptr @sc_dc_0(ptr %t37, ptr null)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @scr_str_release(ptr %t41)
+ br label %exc.cleanup13
+exc.k15:
+ call void @scr_box_set_ref(ptr %t34, ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t45 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_trace__x25_m2_FetchResponseSink) ; let sink (boxed)
+ store ptr %t45, ptr %sc_l_sink_0
+ %t46 = call ptr @sc_new__x25_m2_FetchResponseSink()
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_constructor(ptr %t46)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t46)
+ br label %exc.cleanup18
+exc.k17:
+ call void @scr_box_set_ref(ptr %t45, ptr %t46)
+ %t50 = call ptr @scr_closure_new(ptr @sc_as__x25_fn17, i64 5)
+ %t51 = getelementptr inbounds %ScrClosure, ptr %t50, i64 0, i32 4
+ store i32 2, ptr %t51
+ %t52 = load ptr, ptr %s0
+ %t53 = icmp eq ptr %t52, null
+ br i1 %t53, label %lazy.box19, label %lazy.box.j20
+lazy.box19:
+ %t54 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t55 = load ptr, ptr %sc_l_req_0
+ %t56 = call ptr @sc_rc_retain_dyn(ptr %t55)
+ call void @scr_box_set_ref(ptr %t54, ptr %t56)
+ store ptr %t54, ptr %s0
+ br label %lazy.box.j20
+lazy.box.j20:
+ %t57 = load ptr, ptr %s0
+ %t58 = call ptr @sc_retain_box(ptr %t57)
+ %t59 = getelementptr inbounds %ScrClosure, ptr %t50, i64 1 ; caps
+ %t60 = getelementptr inbounds ptr, ptr %t59, i64 0 ; caps[0]
+ store ptr %t58, ptr %t60
+ %t61 = load ptr, ptr %sc_l_method_0
+ %t62 = call ptr @sc_retain_box(ptr %t61)
+ %t63 = getelementptr inbounds %ScrClosure, ptr %t50, i64 1 ; caps
+ %t64 = getelementptr inbounds ptr, ptr %t63, i64 1 ; caps[1]
+ store ptr %t62, ptr %t64
+ %t65 = load ptr, ptr %sc_l_app_0
+ %t66 = call ptr @sc_retain_box(ptr %t65)
+ %t67 = getelementptr inbounds %ScrClosure, ptr %t50, i64 1 ; caps
+ %t68 = getelementptr inbounds ptr, ptr %t67, i64 2 ; caps[2]
+ store ptr %t66, ptr %t68
+ %t69 = load ptr, ptr %sc_l_url_0
+ %t70 = call ptr @sc_retain_box(ptr %t69)
+ %t71 = getelementptr inbounds %ScrClosure, ptr %t50, i64 1 ; caps
+ %t72 = getelementptr inbounds ptr, ptr %t71, i64 3 ; caps[3]
+ store ptr %t70, ptr %t72
+ %t73 = load ptr, ptr %sc_l_sink_0
+ %t74 = call ptr @sc_retain_box(ptr %t73)
+ %t75 = getelementptr inbounds %ScrClosure, ptr %t50, i64 1 ; caps
+ %t76 = getelementptr inbounds ptr, ptr %t75, i64 4 ; caps[4]
+ store ptr %t74, ptr %t76
+ %t77 = getelementptr inbounds %ScrClosure, ptr %t50, i64 0, i32 1
+ %t78 = load ptr, ptr %t77
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t79 = call ptr %t78(ptr %t50)
+ call void @scr_dyn_this_pop()
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @scr_closure_release(ptr %t50)
+ call void @scr_promise_release(ptr %t79)
+ br label %exc.cleanup18
+exc.k22:
+ call void @scr_closure_release(ptr %t50)
+ %t83 = load ptr, ptr %s0
+ %t84 = icmp ne ptr %t83, null
+ br i1 %t84, label %lazy.release23, label %lazy.release.j24
+lazy.release23:
+ call void @scr_box_release(ptr %t83)
+ br label %lazy.release.j24
+lazy.release.j24:
+ %t85 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t85)
+ %t86 = load ptr, ptr %sc_l_parsed_0
+ call void @scr_url_release(ptr %t86)
+ %t87 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t87)
+ %t88 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t88)
+ %t89 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t89)
+ ret ptr %t79
+exc.cleanup2:
+ %t90 = load ptr, ptr %s0
+ %t91 = icmp ne ptr %t90, null
+ br i1 %t91, label %lazy.release25, label %lazy.release.j26
+lazy.release25:
+ call void @scr_box_release(ptr %t90)
+ br label %lazy.release.j26
+lazy.release.j26:
+ ret ptr null
+exc.cleanup5:
+ %t92 = load ptr, ptr %s0
+ %t93 = icmp ne ptr %t92, null
+ br i1 %t93, label %lazy.release27, label %lazy.release.j28
+lazy.release27:
+ call void @scr_box_release(ptr %t92)
+ br label %lazy.release.j28
+lazy.release.j28:
+ %t94 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t94)
+ ret ptr null
+exc.cleanup10:
+ %t95 = load ptr, ptr %sc_l__x25_urlArgument_0
+ call void @scr_str_release(ptr %t95)
+ %t96 = load ptr, ptr %s0
+ %t97 = icmp ne ptr %t96, null
+ br i1 %t97, label %lazy.release29, label %lazy.release.j30
+lazy.release29:
+ call void @scr_box_release(ptr %t96)
+ br label %lazy.release.j30
+lazy.release.j30:
+ %t98 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t98)
+ ret ptr null
+exc.cleanup13:
+ %t99 = load ptr, ptr %s0
+ %t100 = icmp ne ptr %t99, null
+ br i1 %t100, label %lazy.release31, label %lazy.release.j32
+lazy.release31:
+ call void @scr_box_release(ptr %t99)
+ br label %lazy.release.j32
+lazy.release.j32:
+ %t101 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t101)
+ %t102 = load ptr, ptr %sc_l_parsed_0
+ call void @scr_url_release(ptr %t102)
+ %t103 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t103)
+ %t104 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t104)
+ ret ptr null
+exc.cleanup18:
+ %t105 = load ptr, ptr %s0
+ %t106 = icmp ne ptr %t105, null
+ br i1 %t106, label %lazy.release33, label %lazy.release.j34
+lazy.release33:
+ call void @scr_box_release(ptr %t105)
+ br label %lazy.release.j34
+lazy.release.j34:
+ %t107 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t107)
+ %t108 = load ptr, ptr %sc_l_parsed_0
+ call void @scr_url_release(ptr %t108)
+ %t109 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t109)
+ %t110 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t110)
+ %t111 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t111)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m5_App_fetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m5_App_fetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p3)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m5_App_fetchShim(ptr %p_sc_l_this_0, ptr %p_sc_l_method_0, ptr %p_sc_l_url_0, ptr %p_sc_l_headers_0, ptr %p_sc_l_body_0, ptr %p_sc_l_respond_0) #0 { ; %%m5.App.fetchShim
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_headers_0 = alloca ptr ; headers
+ %sc_l_body_0 = alloca ptr ; body
+ %sc_l_respond_0 = alloca ptr ; respond
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_m_0 = alloca ptr ; m
+ %sc_l_seeded_0 = alloca ptr ; seeded
+ %sc_l__x25_callReceiver_0 = alloca ptr ; %callReceiver
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_app_1 = alloca ptr ; app
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_seeded_1 = alloca ptr ; seeded
+ %s0 = alloca ptr ; lazy box method
+ %s1 = alloca ptr ; lazy box url
+ %s2 = alloca ptr ; lazy box headers
+ %s3 = alloca ptr ; lazy box respond
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s23 = alloca i1
+ %s27 = alloca ptr
+ store ptr null, ptr %sc_l_app_0
+ store ptr null, ptr %sc_l_sink_0
+ store ptr null, ptr %sc_l_m_0
+ store ptr null, ptr %sc_l_seeded_0
+ store ptr null, ptr %sc_l__x25_callReceiver_0
+ store ptr null, ptr %sc_l_p_0
+ store ptr null, ptr %sc_l_app_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_seeded_1
+ store ptr null, ptr %s0
+ store ptr null, ptr %s1
+ store ptr null, ptr %s2
+ store ptr null, ptr %s3
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_method_0, ptr %sc_l_method_0
+ store ptr %p_sc_l_url_0, ptr %sc_l_url_0
+ store ptr %p_sc_l_headers_0, ptr %sc_l_headers_0
+ store ptr %p_sc_l_body_0, ptr %sc_l_body_0
+ store ptr %p_sc_l_respond_0, ptr %sc_l_respond_0
+ %t4 = call ptr @llvm.stacksave.p0()
+ %t5 = load ptr, ptr @scr_stack_guard
+ %t6 = icmp ult ptr %t4, %t5
+ %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false)
+ br i1 %t7, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t8 = load ptr, ptr %sc_l_this_0
+ store ptr %t8, ptr %sc_l_app_1
+ %t9 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed)
+ store ptr %t9, ptr %sc_l_app_0
+ %t10 = load ptr, ptr %sc_l_app_1
+ %t11 = call ptr @sc_retain__x25_m5_App(ptr %t10)
+ call void @scr_box_set_ref(ptr %t9, ptr %t11)
+ %t12 = call ptr @sc_new__x25_m2_FetchResponseSink()
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_constructor(ptr %t12)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t12)
+ br label %exc.cleanup5
+exc.k4:
+ store ptr %t12, ptr %sc_l_sink_1
+ %t16 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_trace__x25_m2_FetchResponseSink) ; let sink (boxed)
+ store ptr %t16, ptr %sc_l_sink_0
+ %t17 = load ptr, ptr %sc_l_sink_1
+ %t18 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t17)
+ call void @scr_box_set_ref(ptr %t16, ptr %t18)
+ %t19 = load ptr, ptr %sc_l_method_0
+ %t20 = call ptr @scr_str_to_upper(ptr %t19)
+ store ptr %t20, ptr %sc_l_m_0
+ %t21 = load ptr, ptr %sc_l_m_0
+ %t22 = call zeroext i1 @sc_streq_367446482893939(ptr %t21)
+ store i1 %t22, ptr %s23
+ br i1 %t22, label %log.j7, label %log.r6
+log.r6:
+ %t24 = load ptr, ptr %sc_l_m_0
+ %t25 = call zeroext i1 @sc_streq_3185835515143599(ptr %t24)
+ store i1 %t25, ptr %s23
+ br label %log.j7
+log.j7:
+ %t26 = load i1, ptr %s23
+ br i1 %t26, label %tern.t8, label %tern.f9
+tern.t8:
+ store ptr @sc_lit_4005573543169985, ptr %s27
+ br label %tern.j10
+tern.f9:
+ %t28 = load ptr, ptr %sc_l_body_0
+ %t29 = call ptr @sc_rc_retain_str(ptr %t28)
+ store ptr %t29, ptr %s27
+ br label %tern.j10
+tern.j10:
+ %t30 = load ptr, ptr %s27
+ store ptr %t30, ptr %sc_l_seeded_1
+ %t31 = call ptr @scr_box_new(i32 2) ; let seeded (boxed)
+ store ptr %t31, ptr %sc_l_seeded_0
+ %t32 = load ptr, ptr %sc_l_seeded_1
+ %t33 = call ptr @sc_rc_retain_str(ptr %t32)
+ call void @scr_box_set_ref(ptr %t31, ptr %t33)
+ %t34 = load ptr, ptr %sc_l_app_1
+ store ptr %t34, ptr %sc_l__x25_callReceiver_0
+ %t35 = load ptr, ptr %sc_l__x25_callReceiver_0
+ %t36 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t35, i64 0, i32 16
+ %t37 = load ptr, ptr %t36, !tbaa !184
+ %t38 = call ptr @scr_closure_retain_v(ptr %t37)
+ %t39 = load ptr, ptr %sc_l__x25_callReceiver_0
+ %t40 = call ptr @sc_retain__x25_m5_App(ptr %t39)
+ %t41 = load ptr, ptr %sc_l_method_0
+ %t42 = call ptr @sc_rc_retain_str(ptr %t41)
+ %t43 = load ptr, ptr %sc_l_url_0
+ %t44 = call ptr @sc_rc_retain_str(ptr %t43)
+ %t45 = load ptr, ptr %sc_l_headers_0
+ %t46 = call ptr @sc_rretain_r0(ptr %t45)
+ %t47 = call ptr @scr_dyn_new_null()
+ %t48 = load ptr, ptr %sc_l_seeded_1
+ %t49 = call ptr @sc_rc_retain_str(ptr %t48)
+ %t50 = load ptr, ptr %sc_l_sink_1
+ %t51 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t50)
+ %t52 = getelementptr inbounds %ScrClosure, ptr %t38, i64 0, i32 1
+ %t53 = load ptr, ptr %t52
+ call void @scr_dyn_this_push_typed(ptr %t40, ptr @sc_trr_0)
+ %t54 = call ptr %t53(ptr %t38, ptr %t42, ptr %t44, ptr %t46, ptr %t47, ptr %t49, ptr @sc_unit_2, ptr %t51)
+ call void @scr_dyn_this_pop()
+ %t55 = load i32, ptr %exc.cell
+ %t56 = icmp ne i32 %t55, 0
+ %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false)
+ br i1 %t57, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @scr_closure_release(ptr %t38)
+ call void @sc_release__x25_m5_App(ptr %t40)
+ call void @scr_promise_release(ptr %t54)
+ br label %exc.cleanup13
+exc.k12:
+ store ptr %t54, ptr %sc_l_p_0
+ call void @scr_closure_release(ptr %t38)
+ call void @sc_release__x25_m5_App(ptr %t40)
+ %t58 = call ptr @scr_closure_new(ptr @sc_as__x25_fn21_then, i64 0)
+ %t59 = getelementptr inbounds %ScrClosure, ptr %t58, i64 0, i32 4
+ store i32 2, ptr %t59
+ %t60 = load ptr, ptr %sc_l_p_0
+ %t61 = call ptr @scr_promise_retain_v(ptr %t60)
+ %t62 = call ptr @scr_closure_new(ptr @sc_f__x25_fn18, i64 7)
+ %t63 = getelementptr inbounds %ScrClosure, ptr %t62, i64 0, i32 4
+ store i32 4, ptr %t63
+ %t64 = load ptr, ptr %sc_l_app_0
+ %t65 = call ptr @sc_retain_box(ptr %t64)
+ %t66 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps
+ %t67 = getelementptr inbounds ptr, ptr %t66, i64 0 ; caps[0]
+ store ptr %t65, ptr %t67
+ %t68 = load ptr, ptr %s0
+ %t69 = icmp eq ptr %t68, null
+ br i1 %t69, label %lazy.box14, label %lazy.box.j15
+lazy.box14:
+ %t70 = call ptr @scr_box_new(i32 2)
+ %t71 = load ptr, ptr %sc_l_method_0
+ %t72 = call ptr @sc_rc_retain_str(ptr %t71)
+ call void @scr_box_set_ref(ptr %t70, ptr %t72)
+ store ptr %t70, ptr %s0
+ br label %lazy.box.j15
+lazy.box.j15:
+ %t73 = load ptr, ptr %s0
+ %t74 = call ptr @sc_retain_box(ptr %t73)
+ %t75 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps
+ %t76 = getelementptr inbounds ptr, ptr %t75, i64 1 ; caps[1]
+ store ptr %t74, ptr %t76
+ %t77 = load ptr, ptr %s1
+ %t78 = icmp eq ptr %t77, null
+ br i1 %t78, label %lazy.box16, label %lazy.box.j17
+lazy.box16:
+ %t79 = call ptr @scr_box_new(i32 2)
+ %t80 = load ptr, ptr %sc_l_url_0
+ %t81 = call ptr @sc_rc_retain_str(ptr %t80)
+ call void @scr_box_set_ref(ptr %t79, ptr %t81)
+ store ptr %t79, ptr %s1
+ br label %lazy.box.j17
+lazy.box.j17:
+ %t82 = load ptr, ptr %s1
+ %t83 = call ptr @sc_retain_box(ptr %t82)
+ %t84 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps
+ %t85 = getelementptr inbounds ptr, ptr %t84, i64 2 ; caps[2]
+ store ptr %t83, ptr %t85
+ %t86 = load ptr, ptr %s2
+ %t87 = icmp eq ptr %t86, null
+ br i1 %t87, label %lazy.box18, label %lazy.box.j19
+lazy.box18:
+ %t88 = call ptr @scr_box_new_obj(ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr null)
+ %t89 = load ptr, ptr %sc_l_headers_0
+ %t90 = call ptr @sc_rretain_r0(ptr %t89)
+ call void @scr_box_set_ref(ptr %t88, ptr %t90)
+ store ptr %t88, ptr %s2
+ br label %lazy.box.j19
+lazy.box.j19:
+ %t91 = load ptr, ptr %s2
+ %t92 = call ptr @sc_retain_box(ptr %t91)
+ %t93 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps
+ %t94 = getelementptr inbounds ptr, ptr %t93, i64 3 ; caps[3]
+ store ptr %t92, ptr %t94
+ %t95 = load ptr, ptr %sc_l_seeded_0
+ %t96 = call ptr @sc_retain_box(ptr %t95)
+ %t97 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps
+ %t98 = getelementptr inbounds ptr, ptr %t97, i64 4 ; caps[4]
+ store ptr %t96, ptr %t98
+ %t99 = load ptr, ptr %sc_l_sink_0
+ %t100 = call ptr @sc_retain_box(ptr %t99)
+ %t101 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps
+ %t102 = getelementptr inbounds ptr, ptr %t101, i64 5 ; caps[5]
+ store ptr %t100, ptr %t102
+ %t103 = load ptr, ptr %s3
+ %t104 = icmp eq ptr %t103, null
+ br i1 %t104, label %lazy.box20, label %lazy.box.j21
+lazy.box20:
+ %t105 = call ptr @scr_box_new(i32 4)
+ %t106 = load ptr, ptr %sc_l_respond_0
+ %t107 = call ptr @scr_closure_retain_v(ptr %t106)
+ call void @scr_box_set_ref(ptr %t105, ptr %t107)
+ store ptr %t105, ptr %s3
+ br label %lazy.box.j21
+lazy.box.j21:
+ %t108 = load ptr, ptr %s3
+ %t109 = call ptr @sc_retain_box(ptr %t108)
+ %t110 = getelementptr inbounds %ScrClosure, ptr %t62, i64 1 ; caps
+ %t111 = getelementptr inbounds ptr, ptr %t110, i64 6 ; caps[6]
+ store ptr %t109, ptr %t111
+ %t112 = getelementptr inbounds %ScrClosure, ptr %t58, i64 0, i32 1
+ %t113 = load ptr, ptr %t112
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t114 = call ptr %t113(ptr %t58, ptr %t61, ptr %t62)
+ call void @scr_dyn_this_pop()
+ %t115 = load i32, ptr %exc.cell
+ %t116 = icmp ne i32 %t115, 0
+ %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false)
+ br i1 %t117, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_closure_release(ptr %t58)
+ call void @scr_promise_release(ptr %t114)
+ br label %exc.cleanup24
+exc.k23:
+ call void @scr_closure_release(ptr %t58)
+ call void @scr_promise_release(ptr %t114)
+ %t118 = load ptr, ptr %s0
+ %t119 = icmp ne ptr %t118, null
+ br i1 %t119, label %lazy.release25, label %lazy.release.j26
+lazy.release25:
+ call void @scr_box_release(ptr %t118)
+ br label %lazy.release.j26
+lazy.release.j26:
+ %t120 = load ptr, ptr %s1
+ %t121 = icmp ne ptr %t120, null
+ br i1 %t121, label %lazy.release27, label %lazy.release.j28
+lazy.release27:
+ call void @scr_box_release(ptr %t120)
+ br label %lazy.release.j28
+lazy.release.j28:
+ %t122 = load ptr, ptr %s2
+ %t123 = icmp ne ptr %t122, null
+ br i1 %t123, label %lazy.release29, label %lazy.release.j30
+lazy.release29:
+ call void @scr_box_release(ptr %t122)
+ br label %lazy.release.j30
+lazy.release.j30:
+ %t124 = load ptr, ptr %s3
+ %t125 = icmp ne ptr %t124, null
+ br i1 %t125, label %lazy.release31, label %lazy.release.j32
+lazy.release31:
+ call void @scr_box_release(ptr %t124)
+ br label %lazy.release.j32
+lazy.release.j32:
+ %t126 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t126)
+ %t127 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t127)
+ %t128 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t129)
+ %t130 = load ptr, ptr %sc_l_seeded_1
+ call void @scr_str_release(ptr %t130)
+ %t131 = load ptr, ptr %sc_l_seeded_0
+ call void @scr_box_release(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t132)
+ ret void
+exc.cleanup2:
+ %t133 = load ptr, ptr %s0
+ %t134 = icmp ne ptr %t133, null
+ br i1 %t134, label %lazy.release33, label %lazy.release.j34
+lazy.release33:
+ call void @scr_box_release(ptr %t133)
+ br label %lazy.release.j34
+lazy.release.j34:
+ %t135 = load ptr, ptr %s1
+ %t136 = icmp ne ptr %t135, null
+ br i1 %t136, label %lazy.release35, label %lazy.release.j36
+lazy.release35:
+ call void @scr_box_release(ptr %t135)
+ br label %lazy.release.j36
+lazy.release.j36:
+ %t137 = load ptr, ptr %s2
+ %t138 = icmp ne ptr %t137, null
+ br i1 %t138, label %lazy.release37, label %lazy.release.j38
+lazy.release37:
+ call void @scr_box_release(ptr %t137)
+ br label %lazy.release.j38
+lazy.release.j38:
+ %t139 = load ptr, ptr %s3
+ %t140 = icmp ne ptr %t139, null
+ br i1 %t140, label %lazy.release39, label %lazy.release.j40
+lazy.release39:
+ call void @scr_box_release(ptr %t139)
+ br label %lazy.release.j40
+lazy.release.j40:
+ ret void
+exc.cleanup5:
+ %t141 = load ptr, ptr %s0
+ %t142 = icmp ne ptr %t141, null
+ br i1 %t142, label %lazy.release41, label %lazy.release.j42
+lazy.release41:
+ call void @scr_box_release(ptr %t141)
+ br label %lazy.release.j42
+lazy.release.j42:
+ %t143 = load ptr, ptr %s1
+ %t144 = icmp ne ptr %t143, null
+ br i1 %t144, label %lazy.release43, label %lazy.release.j44
+lazy.release43:
+ call void @scr_box_release(ptr %t143)
+ br label %lazy.release.j44
+lazy.release.j44:
+ %t145 = load ptr, ptr %s2
+ %t146 = icmp ne ptr %t145, null
+ br i1 %t146, label %lazy.release45, label %lazy.release.j46
+lazy.release45:
+ call void @scr_box_release(ptr %t145)
+ br label %lazy.release.j46
+lazy.release.j46:
+ %t147 = load ptr, ptr %s3
+ %t148 = icmp ne ptr %t147, null
+ br i1 %t148, label %lazy.release47, label %lazy.release.j48
+lazy.release47:
+ call void @scr_box_release(ptr %t147)
+ br label %lazy.release.j48
+lazy.release.j48:
+ %t149 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t149)
+ ret void
+exc.cleanup13:
+ %t150 = load ptr, ptr %s0
+ %t151 = icmp ne ptr %t150, null
+ br i1 %t151, label %lazy.release49, label %lazy.release.j50
+lazy.release49:
+ call void @scr_box_release(ptr %t150)
+ br label %lazy.release.j50
+lazy.release.j50:
+ %t152 = load ptr, ptr %s1
+ %t153 = icmp ne ptr %t152, null
+ br i1 %t153, label %lazy.release51, label %lazy.release.j52
+lazy.release51:
+ call void @scr_box_release(ptr %t152)
+ br label %lazy.release.j52
+lazy.release.j52:
+ %t154 = load ptr, ptr %s2
+ %t155 = icmp ne ptr %t154, null
+ br i1 %t155, label %lazy.release53, label %lazy.release.j54
+lazy.release53:
+ call void @scr_box_release(ptr %t154)
+ br label %lazy.release.j54
+lazy.release.j54:
+ %t156 = load ptr, ptr %s3
+ %t157 = icmp ne ptr %t156, null
+ br i1 %t157, label %lazy.release55, label %lazy.release.j56
+lazy.release55:
+ call void @scr_box_release(ptr %t156)
+ br label %lazy.release.j56
+lazy.release.j56:
+ %t158 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t158)
+ %t159 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t159)
+ %t160 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t160)
+ %t161 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t161)
+ %t162 = load ptr, ptr %sc_l_seeded_1
+ call void @scr_str_release(ptr %t162)
+ %t163 = load ptr, ptr %sc_l_seeded_0
+ call void @scr_box_release(ptr %t163)
+ ret void
+exc.cleanup24:
+ %t164 = load ptr, ptr %s0
+ %t165 = icmp ne ptr %t164, null
+ br i1 %t165, label %lazy.release57, label %lazy.release.j58
+lazy.release57:
+ call void @scr_box_release(ptr %t164)
+ br label %lazy.release.j58
+lazy.release.j58:
+ %t166 = load ptr, ptr %s1
+ %t167 = icmp ne ptr %t166, null
+ br i1 %t167, label %lazy.release59, label %lazy.release.j60
+lazy.release59:
+ call void @scr_box_release(ptr %t166)
+ br label %lazy.release.j60
+lazy.release.j60:
+ %t168 = load ptr, ptr %s2
+ %t169 = icmp ne ptr %t168, null
+ br i1 %t169, label %lazy.release61, label %lazy.release.j62
+lazy.release61:
+ call void @scr_box_release(ptr %t168)
+ br label %lazy.release.j62
+lazy.release.j62:
+ %t170 = load ptr, ptr %s3
+ %t171 = icmp ne ptr %t170, null
+ br i1 %t171, label %lazy.release63, label %lazy.release.j64
+lazy.release63:
+ call void @scr_box_release(ptr %t170)
+ br label %lazy.release.j64
+lazy.release.j64:
+ %t172 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t172)
+ %t173 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t173)
+ %t174 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t174)
+ %t175 = load ptr, ptr %sc_l_m_0
+ call void @scr_str_release(ptr %t175)
+ %t176 = load ptr, ptr %sc_l_seeded_1
+ call void @scr_str_release(ptr %t176)
+ %t177 = load ptr, ptr %sc_l_seeded_0
+ call void @scr_box_release(ptr %t177)
+ %t178 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t178)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_App_fetchShim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_App_fetchShim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @sc_rrelease_r0(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ call void @scr_closure_release(ptr %p5)
+ ret void
+}
+
+define internal void @sc_f__x25__x25_m5_App__dispatchPrim(ptr %p_sc_l_this_0, ptr %p_sc_l_method_0, ptr %p_sc_l_url_0, ptr %p_sc_l_webHeaders_0, ptr %p_sc_l_webReq_0, ptr %p_sc_l_body_0, ptr %p_sc_l_bodyU8_0, ptr %p_sc_l_sink_0) #0 { ; %%m5.App._dispatchPrim
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_webHeaders_0 = alloca ptr ; webHeaders
+ %sc_l_webReq_0 = alloca ptr ; webReq
+ %sc_l_body_0 = alloca ptr ; body
+ %sc_l_bodyU8_0 = alloca ptr ; bodyU8
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_qs_0 = alloca ptr ; qs
+ %sc_l_qi_0 = alloca double ; qi
+ %sc_l_node_0 = alloca ptr ; node
+ %sc_l_chain_0 = alloca ptr ; chain
+ %sc_l_idx_0 = alloca ptr ; idx
+ %sc_l_j_0 = alloca double ; j
+ %sc_l_rv_0 = alloca ptr ; rv
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_chainBody_0 = alloca ptr ; chainBody
+ %sc_l__x25_protocolReceiver_0 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_app_1 = alloca ptr ; app
+ %sc_l_node_1 = alloca ptr ; node
+ %s85 = alloca ptr
+ %s90 = alloca ptr
+ %s112 = alloca double
+ %s113 = alloca i32
+ %s127 = alloca ptr
+ %s132 = alloca ptr
+ %s197 = alloca ptr
+ %s215 = alloca double
+ %s216 = alloca i32
+ %s234 = alloca double
+ %s235 = alloca i32
+ %s261 = alloca double
+ %s262 = alloca i32
+ %s288 = alloca double
+ %s289 = alloca i32
+ %s297 = alloca %ScrUnion
+ %s298 = getelementptr inbounds %ScrUnion, ptr %s297, i32 0, i32 1
+ %s299 = getelementptr inbounds %ScrUnion, ptr %s297, i32 0, i32 5
+ %s320 = alloca ptr
+ %s336 = alloca [1 x ptr]
+ %s370 = alloca double
+ %s371 = alloca i32
+ %s379 = alloca i1
+ %s385 = alloca i1
+ %s393 = alloca i1
+ %s400 = alloca i1
+ %s401 = alloca ptr
+ %s411 = alloca double
+ %s412 = alloca i32
+ %s419 = alloca %ScrUnion
+ %s420 = getelementptr inbounds %ScrUnion, ptr %s419, i32 0, i32 5
+ %s421 = getelementptr inbounds %ScrUnion, ptr %s419, i32 0, i32 1
+ %s454 = alloca i1
+ %s459 = alloca i1
+ %s494 = alloca ptr
+ %s511 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l_app_0
+ store ptr null, ptr %sc_l_oef_0
+ store ptr null, ptr %sc_l_path_0
+ store ptr null, ptr %sc_l_qs_0
+ store ptr null, ptr %sc_l_node_0
+ store ptr null, ptr %sc_l_chain_0
+ store ptr null, ptr %sc_l_idx_0
+ store ptr null, ptr %sc_l_rv_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_chainBody_0
+ store ptr null, ptr %sc_l__x25_protocolReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l_c_0
+ store ptr null, ptr %sc_l_app_1
+ store ptr null, ptr %sc_l_node_1
+ %t0 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; this (boxed param)
+ call void @scr_box_set_ref(ptr %t0, ptr %p_sc_l_this_0)
+ store ptr %t0, ptr %sc_l_this_0
+ %t1 = call ptr @scr_box_new(i32 2) ; method (boxed param)
+ call void @scr_box_set_ref(ptr %t1, ptr %p_sc_l_method_0)
+ store ptr %t1, ptr %sc_l_method_0
+ %t2 = call ptr @scr_box_new(i32 2) ; url (boxed param)
+ call void @scr_box_set_ref(ptr %t2, ptr %p_sc_l_url_0)
+ store ptr %t2, ptr %sc_l_url_0
+ store ptr %p_sc_l_webHeaders_0, ptr %sc_l_webHeaders_0
+ store ptr %p_sc_l_webReq_0, ptr %sc_l_webReq_0
+ store ptr %p_sc_l_body_0, ptr %sc_l_body_0
+ %t3 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr null) ; bodyU8 (boxed param)
+ call void @scr_box_set_ref(ptr %t3, ptr %p_sc_l_bodyU8_0)
+ store ptr %t3, ptr %sc_l_bodyU8_0
+ %t4 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_trace__x25_m2_ResponseSink) ; sink (boxed param)
+ call void @scr_box_set_ref(ptr %t4, ptr %p_sc_l_sink_0)
+ store ptr %t4, ptr %sc_l_sink_0
+ %t5 = call ptr @llvm.stacksave.p0()
+ %t6 = load ptr, ptr @scr_stack_guard
+ %t7 = icmp ult ptr %t5, %t6
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t9 = load ptr, ptr %sc_l_this_0
+ %t10 = call ptr @scr_box_get_ref(ptr %t9)
+ store ptr %t10, ptr %sc_l_app_1
+ %t11 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_trace__x25_m5_App) ; let app (boxed)
+ store ptr %t11, ptr %sc_l_app_0
+ %t12 = load ptr, ptr %sc_l_app_1
+ %t13 = call ptr @sc_retain__x25_m5_App(ptr %t12)
+ call void @scr_box_set_ref(ptr %t11, ptr %t13)
+ %t14 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let oef (boxed)
+ store ptr %t14, ptr %sc_l_oef_0
+ %t15 = load ptr, ptr %sc_l_app_1
+ %t16 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t15, i64 0, i32 7
+ %t17 = load ptr, ptr %t16, !tbaa !176
+ %t18 = call ptr @scr_union_retain_v(ptr %t17)
+ call void @scr_box_set_ref(ptr %t14, ptr %t18)
+ %t19 = load ptr, ptr %sc_l_url_0
+ %t20 = call ptr @scr_box_get_ref(ptr %t19)
+ store ptr %t20, ptr %sc_l_path_0
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_qs_0
+ %t21 = load ptr, ptr %sc_l_url_0
+ %t22 = getelementptr inbounds %ScrBox, ptr %t21, i32 0, i32 5
+ %t23 = load ptr, ptr %t22
+ %t24 = call double @scr_str_index_of(ptr %t23, ptr @sc_lit_2437473434951379, double 0x0000000000000000)
+ store double %t24, ptr %sc_l_qi_0
+ %t25 = load double, ptr %sc_l_qi_0
+ %t26 = fcmp oge double %t25, 0x0000000000000000
+ br i1 %t26, label %if.t3, label %if.j4
+if.t3:
+ %t27 = load ptr, ptr %sc_l_url_0
+ %t28 = getelementptr inbounds %ScrBox, ptr %t27, i32 0, i32 5
+ %t29 = load ptr, ptr %t28
+ %t30 = load double, ptr %sc_l_qi_0
+ %t31 = call ptr @scr_str_slice(ptr %t29, double 0x0000000000000000, double %t30)
+ %t32 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t32)
+ store ptr %t31, ptr %sc_l_path_0
+ %t33 = load ptr, ptr %sc_l_url_0
+ %t34 = getelementptr inbounds %ScrBox, ptr %t33, i32 0, i32 5
+ %t35 = load ptr, ptr %t34
+ %t36 = load double, ptr %sc_l_qi_0
+ %t37 = fadd double %t36, 0x3FF0000000000000
+ %t38 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t39 = call ptr @scr_str_slice(ptr %t35, double %t37, double %t38)
+ %t40 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t40)
+ store ptr %t39, ptr %sc_l_qs_0
+ br label %if.j4
+if.j4:
+ %t41 = load ptr, ptr %sc_l_app_1
+ %t42 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t41, i64 0, i32 1
+ %t43 = load ptr, ptr %t42, !tbaa !32
+ %t44 = load ptr, ptr %sc_l_path_0
+ %t45 = call ptr @sc_bf__x25_m5_matchPath(ptr %t43, ptr %t44)
+ %t46 = load ptr, ptr @scr_exc_active
+ %t47 = load i32, ptr %t46
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rrelease_r5(ptr %t45)
+ br label %exc.cleanup7
+exc.k6:
+ store ptr %t45, ptr %sc_l_node_1
+ %t50 = call ptr @scr_box_new_obj(ptr @sc_rretain_r5, ptr @sc_rrelease_r5, ptr null) ; let node (boxed)
+ store ptr %t50, ptr %sc_l_node_0
+ %t51 = load ptr, ptr %sc_l_node_1
+ %t52 = call ptr @sc_rretain_r5(ptr %t51)
+ call void @scr_box_set_ref(ptr %t50, ptr %t52)
+ %t53 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let chain (boxed)
+ store ptr %t53, ptr %sc_l_chain_0
+ %t54 = load ptr, ptr %sc_l_app_1
+ %t55 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t54, i64 0, i32 9
+ %t56 = load ptr, ptr %t55, !tbaa !180
+ %t57 = call ptr @scr_closure_retain_v(ptr %t56)
+ %t58 = call ptr @scr_union_new_ref(i32 0, ptr %t57, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ call void @scr_box_set_ref(ptr %t53, ptr %t58)
+ %t59 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr null) ; let idx (boxed)
+ store ptr %t59, ptr %sc_l_idx_0
+ %t60 = call ptr @scr_union_new_f64(i32 0, double 0xBFF0000000000000)
+ call void @scr_box_set_ref(ptr %t59, ptr %t60)
+ %t61 = load ptr, ptr %sc_l_node_1
+ %t63 = icmp ne ptr %t61, @sc_nullable_null
+ br i1 %t63, label %if.t8, label %if.j9
+if.t8:
+ %t64 = load ptr, ptr %sc_l_node_1
+ %t65 = call ptr @sc_bf__x25_union_retag_1(ptr %t64) ; borrowed result
+ %t66 = load ptr, ptr @scr_exc_active
+ %t67 = load i32, ptr %t66
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u10, label %exc.k11
+exc.u10:
+ br label %exc.cleanup12
+exc.k11:
+ %t70 = load ptr, ptr %sc_l_method_0
+ %t71 = getelementptr inbounds %ScrBox, ptr %t70, i32 0, i32 5
+ %t72 = load ptr, ptr %t71
+ %t73 = call double @sc_bf__x25_m5_findEntry(ptr %t65, ptr %t72)
+ %t74 = load ptr, ptr @scr_exc_active
+ %t75 = load i32, ptr %t74
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u13, label %exc.k14
+exc.u13:
+ br label %exc.cleanup12
+exc.k14:
+ store double %t73, ptr %sc_l_j_0
+ %t78 = load double, ptr %sc_l_j_0
+ %t79 = fcmp oge double %t78, 0x0000000000000000
+ br i1 %t79, label %if.t15, label %if.f17
+if.t15:
+ %t80 = load ptr, ptr %sc_l_node_1
+ %t82 = icmp ne ptr %t80, null
+ %t83 = icmp ne ptr %t80, @sc_nullable_null
+ %t84 = and i1 %t82, %t83
+ br i1 %t84, label %read.then18, label %read.else19
+read.then18:
+ %t86 = load ptr, ptr %sc_l_node_1
+ store ptr %t86, ptr %s85
+ br label %read.join20
+read.else19:
+ %t87 = load ptr, ptr %sc_l_node_1
+ %t89 = icmp eq ptr %t87, @sc_nullable_null
+ br i1 %t89, label %read.then21, label %read.else22
+read.then21:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518)
+ br label %exc.cleanup12
+exc.dead24:
+ store ptr null, ptr %s90
+ br label %read.join23
+read.else22:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup12
+exc.dead25:
+ store ptr null, ptr %s90
+ br label %read.join23
+read.join23:
+ %t91 = load ptr, ptr %s90
+ store ptr %t91, ptr %s85
+ br label %read.join20
+read.join20:
+ %t92 = load ptr, ptr %s85
+ %t93 = getelementptr inbounds %sc_rs_r5, ptr %t92, i64 0, i32 2
+ %t94 = load ptr, ptr %t93
+ %t95 = load double, ptr %sc_l_j_0
+ %t96 = call { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %t94, double %t95)
+ %t97 = extractvalue { i32, i64 } %t96, 0
+ %t98 = extractvalue { i32, i64 } %t96, 1
+ switch i32 %t97, label %union.box.none27 [ i32 0, label %union.box.arm28 i32 1, label %union.box.arm29 ]
+union.box.arm28:
+ %t99 = bitcast i64 %t98 to double
+ %t100 = call ptr @scr_union_new_f64(i32 0, double %t99)
+ br label %union.box.join26
+union.box.arm29:
+ br label %union.box.join26
+union.box.none27:
+ br label %union.box.join26
+union.box.join26:
+ %t101 = phi ptr [ %t100, %union.box.arm28 ], [ @sc_unit_3, %union.box.arm29 ], [ null, %union.box.none27 ]
+ %t102 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_set_ref(ptr %t102, ptr %t101)
+ %t103 = load ptr, ptr %sc_l_app_1
+ %t104 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t103, i64 0, i32 8
+ %t105 = load ptr, ptr %t104, !tbaa !178
+ %t106 = load ptr, ptr %sc_l_idx_0
+ %t107 = getelementptr inbounds %ScrBox, ptr %t106, i32 0, i32 5
+ %t108 = load ptr, ptr %t107
+ %t111 = getelementptr inbounds %ScrUnion, ptr %t108, i64 0, i32 1
+ %t110 = load i32, ptr %t111
+ %t109 = icmp eq i32 %t110, 1
+ br i1 %t109, label %tern.t30, label %tern.f31
+tern.t30:
+ store double 0x7FF8000000000000, ptr %s112
+ br label %tern.j32
+tern.f31:
+ %t114 = load ptr, ptr %sc_l_idx_0
+ %t115 = getelementptr inbounds %ScrBox, ptr %t114, i32 0, i32 5
+ %t116 = load ptr, ptr %t115
+ %t117 = getelementptr inbounds %ScrUnion, ptr %t116, i64 0, i32 5
+ %t118 = load double, ptr %t117
+ store double %t118, ptr %s112
+ br label %tern.j32
+tern.j32:
+ %t119 = load double, ptr %s112
+ %t120 = call ptr @sc_bf__x25_arr_idxOr_2(ptr %t105, double %t119)
+ %t121 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_set_ref(ptr %t121, ptr %t120)
+ br label %if.j16
+if.f17:
+ %t122 = load ptr, ptr %sc_l_node_1
+ %t124 = icmp ne ptr %t122, null
+ %t125 = icmp ne ptr %t122, @sc_nullable_null
+ %t126 = and i1 %t124, %t125
+ br i1 %t126, label %read.then33, label %read.else34
+read.then33:
+ %t128 = load ptr, ptr %sc_l_node_1
+ store ptr %t128, ptr %s127
+ br label %read.join35
+read.else34:
+ %t129 = load ptr, ptr %sc_l_node_1
+ %t131 = icmp eq ptr %t129, @sc_nullable_null
+ br i1 %t131, label %read.then36, label %read.else37
+read.then36:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518)
+ br label %exc.cleanup12
+exc.dead39:
+ store ptr null, ptr %s132
+ br label %read.join38
+read.else37:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup12
+exc.dead40:
+ store ptr null, ptr %s132
+ br label %read.join38
+read.join38:
+ %t133 = load ptr, ptr %s132
+ store ptr %t133, ptr %s127
+ br label %read.join35
+read.join35:
+ %t134 = load ptr, ptr %s127
+ %t135 = getelementptr inbounds %sc_rs_r5, ptr %t134, i64 0, i32 2
+ %t136 = load ptr, ptr %t135
+ %t137 = getelementptr inbounds %ScrArr, ptr %t136, i32 0, i32 1
+ %t138 = load i64, ptr %t137, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t139 = sitofp i64 %t138 to double
+ %t140 = fcmp ogt double %t139, 0x0000000000000000
+ br i1 %t140, label %if.t41, label %if.j42
+if.t41:
+ %t141 = call ptr @scr_promise_new()
+ %t142 = call ptr @scr_make_resolve(ptr %t141, i32 3)
+ %t143 = call ptr @scr_closure_new(ptr @sc_f__x25_fn22, i64 5)
+ %t144 = getelementptr inbounds %ScrClosure, ptr %t143, i64 0, i32 4
+ store i32 4, ptr %t144
+ %t145 = getelementptr inbounds %ScrClosure, ptr %t143, i64 0, i32 7
+ store ptr @sc_bf__x25_fn22, ptr %t145
+ %t146 = load ptr, ptr %sc_l_node_0
+ %t147 = call ptr @sc_retain_box(ptr %t146)
+ %t148 = getelementptr inbounds %ScrClosure, ptr %t143, i64 1 ; caps
+ %t149 = getelementptr inbounds ptr, ptr %t148, i64 0 ; caps[0]
+ store ptr %t147, ptr %t149
+ %t150 = load ptr, ptr %sc_l_method_0
+ %t151 = call ptr @sc_retain_box(ptr %t150)
+ %t152 = getelementptr inbounds %ScrClosure, ptr %t143, i64 1 ; caps
+ %t153 = getelementptr inbounds ptr, ptr %t152, i64 1 ; caps[1]
+ store ptr %t151, ptr %t153
+ %t154 = load ptr, ptr %sc_l_url_0
+ %t155 = call ptr @sc_retain_box(ptr %t154)
+ %t156 = getelementptr inbounds %ScrClosure, ptr %t143, i64 1 ; caps
+ %t157 = getelementptr inbounds ptr, ptr %t156, i64 2 ; caps[2]
+ store ptr %t155, ptr %t157
+ %t158 = load ptr, ptr %sc_l_sink_0
+ %t159 = call ptr @sc_retain_box(ptr %t158)
+ %t160 = getelementptr inbounds %ScrClosure, ptr %t143, i64 1 ; caps
+ %t161 = getelementptr inbounds ptr, ptr %t160, i64 3 ; caps[3]
+ store ptr %t159, ptr %t161
+ %t162 = load ptr, ptr %sc_l_oef_0
+ %t163 = call ptr @sc_retain_box(ptr %t162)
+ %t164 = getelementptr inbounds %ScrClosure, ptr %t143, i64 1 ; caps
+ %t165 = getelementptr inbounds ptr, ptr %t164, i64 4 ; caps[4]
+ store ptr %t163, ptr %t165
+ call void @scr_promise_run_executor(ptr %t141, ptr %t143, ptr %t142)
+ call void @scr_await_hop()
+ call void @scr_await_void(ptr %t141)
+ %t166 = load ptr, ptr @scr_exc_active
+ %t167 = load i32, ptr %t166
+ %t168 = icmp ne i32 %t167, 0
+ %t169 = call i1 @llvm.expect.i1(i1 %t168, i1 false)
+ br i1 %t169, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @scr_promise_release(ptr %t141)
+ call void @scr_closure_release(ptr %t143)
+ br label %exc.cleanup12
+exc.k44:
+ call void @scr_promise_release(ptr %t141)
+ call void @scr_closure_release(ptr %t143)
+ %t170 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t170)
+ %t171 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t171)
+ %t172 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t172)
+ %t173 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t173)
+ %t174 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t174)
+ %t175 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t175)
+ %t176 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t176)
+ %t177 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t177)
+ %t178 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t178)
+ %t179 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t179)
+ %t180 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t180)
+ %t181 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t181)
+ %t182 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t182)
+ %t183 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t183)
+ %t184 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t185)
+ %t186 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t186)
+ ret void
+if.j42:
+ br label %if.j16
+if.j16:
+ br label %if.j9
+if.j9:
+ %t187 = call ptr @sc_new__x25_m5_ReqViewCore()
+ %t188 = load ptr, ptr %sc_l_qs_0
+ %t189 = load ptr, ptr %sc_l_path_0
+ %t190 = load ptr, ptr %sc_l_url_0
+ %t191 = call ptr @scr_box_get_ref(ptr %t190)
+ %t192 = load ptr, ptr %sc_l_method_0
+ %t193 = call ptr @scr_box_get_ref(ptr %t192)
+ %t194 = load ptr, ptr %sc_l_webHeaders_0
+ %t196 = icmp eq ptr %t194, null
+ br i1 %t196, label %read.then45, label %read.else46
+read.then45:
+ store ptr null, ptr %s197
+ br label %read.join47
+read.else46:
+ %t198 = load ptr, ptr %sc_l_webHeaders_0
+ %t199 = call ptr @sc_bf__x25_union_retag_2(ptr %t198) ; borrowed result
+ %t200 = load ptr, ptr @scr_exc_active
+ %t201 = load i32, ptr %t200
+ %t202 = icmp ne i32 %t201, 0
+ %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false)
+ br i1 %t203, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_str_release(ptr %t191)
+ call void @scr_str_release(ptr %t193)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t187)
+ br label %exc.cleanup12
+exc.k49:
+ store ptr %t199, ptr %s197
+ br label %read.join47
+read.join47:
+ %t204 = load ptr, ptr %s197
+ call void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %t187, ptr @sc_unit_1, ptr %t188, ptr %t189, ptr %t191, ptr %t193, ptr %t204, ptr null)
+ %t205 = load ptr, ptr @scr_exc_active
+ %t206 = load i32, ptr %t205
+ %t207 = icmp ne i32 %t206, 0
+ %t208 = call i1 @llvm.expect.i1(i1 %t207, i1 false)
+ br i1 %t208, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @scr_str_release(ptr %t191)
+ call void @scr_str_release(ptr %t193)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t187)
+ br label %exc.cleanup12
+exc.k51:
+ call void @scr_str_release(ptr %t191)
+ call void @scr_str_release(ptr %t193)
+ store ptr %t187, ptr %sc_l_rv_0
+ %t209 = load ptr, ptr %sc_l_idx_0
+ %t210 = getelementptr inbounds %ScrBox, ptr %t209, i32 0, i32 5
+ %t211 = load ptr, ptr %t210
+ %t214 = getelementptr inbounds %ScrUnion, ptr %t211, i64 0, i32 1
+ %t213 = load i32, ptr %t214
+ %t212 = icmp eq i32 %t213, 1
+ br i1 %t212, label %tern.t52, label %tern.f53
+tern.t52:
+ store double 0x7FF8000000000000, ptr %s215
+ br label %tern.j54
+tern.f53:
+ %t217 = load ptr, ptr %sc_l_idx_0
+ %t218 = getelementptr inbounds %ScrBox, ptr %t217, i32 0, i32 5
+ %t219 = load ptr, ptr %t218
+ %t220 = getelementptr inbounds %ScrUnion, ptr %t219, i64 0, i32 5
+ %t221 = load double, ptr %t220
+ store double %t221, ptr %s215
+ br label %tern.j54
+tern.j54:
+ %t222 = load double, ptr %s215
+ %t223 = fcmp oge double %t222, 0x0000000000000000
+ br i1 %t223, label %if.t55, label %if.j56
+if.t55:
+ %t224 = load ptr, ptr %sc_l_rv_0
+ %t225 = load ptr, ptr %sc_l_app_1
+ %t226 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t225, i64 0, i32 10
+ %t227 = load ptr, ptr %t226, !tbaa !150
+ %t228 = load ptr, ptr %sc_l_idx_0
+ %t229 = getelementptr inbounds %ScrBox, ptr %t228, i32 0, i32 5
+ %t230 = load ptr, ptr %t229
+ %t233 = getelementptr inbounds %ScrUnion, ptr %t230, i64 0, i32 1
+ %t232 = load i32, ptr %t233
+ %t231 = icmp eq i32 %t232, 1
+ br i1 %t231, label %tern.t57, label %tern.f58
+tern.t57:
+ store double 0x7FF8000000000000, ptr %s234
+ br label %tern.j59
+tern.f58:
+ %t236 = load ptr, ptr %sc_l_idx_0
+ %t237 = getelementptr inbounds %ScrBox, ptr %t236, i32 0, i32 5
+ %t238 = load ptr, ptr %t237
+ %t239 = getelementptr inbounds %ScrUnion, ptr %t238, i64 0, i32 5
+ %t240 = load double, ptr %t239
+ store double %t240, ptr %s234
+ br label %tern.j59
+tern.j59:
+ %t241 = load double, ptr %s234
+ %t242 = call ptr @sc_bf__x25_arr_idxOr_3(ptr %t227, double %t241)
+ %t243 = call ptr @sc_bf__x25_union_narrow_4(ptr %t242)
+ %t244 = load ptr, ptr @scr_exc_active
+ %t245 = load i32, ptr %t244
+ %t246 = icmp ne i32 %t245, 0
+ %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false)
+ br i1 %t247, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @scr_arr_release(ptr %t242)
+ br label %exc.cleanup62
+exc.k61:
+ %t248 = call ptr @scr_arr_retain_v(ptr %t243)
+ call void @scr_arr_release(ptr %t242)
+ %t249 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t224, i64 0, i32 11
+ %t250 = load ptr, ptr %t249
+ store ptr %t248, ptr %t249, !tbaa !150
+ call void @scr_arr_release(ptr %t250)
+ %t251 = load ptr, ptr %sc_l_rv_0
+ %t252 = load ptr, ptr %sc_l_app_1
+ %t253 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t252, i64 0, i32 11
+ %t254 = load ptr, ptr %t253, !tbaa !152
+ %t255 = load ptr, ptr %sc_l_idx_0
+ %t256 = getelementptr inbounds %ScrBox, ptr %t255, i32 0, i32 5
+ %t257 = load ptr, ptr %t256
+ %t260 = getelementptr inbounds %ScrUnion, ptr %t257, i64 0, i32 1
+ %t259 = load i32, ptr %t260
+ %t258 = icmp eq i32 %t259, 1
+ br i1 %t258, label %tern.t63, label %tern.f64
+tern.t63:
+ store double 0x7FF8000000000000, ptr %s261
+ br label %tern.j65
+tern.f64:
+ %t263 = load ptr, ptr %sc_l_idx_0
+ %t264 = getelementptr inbounds %ScrBox, ptr %t263, i32 0, i32 5
+ %t265 = load ptr, ptr %t264
+ %t266 = getelementptr inbounds %ScrUnion, ptr %t265, i64 0, i32 5
+ %t267 = load double, ptr %t266
+ store double %t267, ptr %s261
+ br label %tern.j65
+tern.j65:
+ %t268 = load double, ptr %s261
+ %t269 = call ptr @sc_bf__x25_arr_idxOr_4(ptr %t254, double %t268)
+ %t270 = call ptr @sc_bf__x25_union_narrow_5(ptr %t269)
+ %t271 = load ptr, ptr @scr_exc_active
+ %t272 = load i32, ptr %t271
+ %t273 = icmp ne i32 %t272, 0
+ %t274 = call i1 @llvm.expect.i1(i1 %t273, i1 false)
+ br i1 %t274, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @scr_arr_release(ptr %t269)
+ br label %exc.cleanup62
+exc.k67:
+ %t275 = call ptr @scr_arr_retain_v(ptr %t270)
+ call void @scr_arr_release(ptr %t269)
+ %t276 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t251, i64 0, i32 12
+ %t277 = load ptr, ptr %t276
+ store ptr %t275, ptr %t276, !tbaa !152
+ call void @scr_arr_release(ptr %t277)
+ %t278 = load ptr, ptr %sc_l_rv_0
+ %t279 = load ptr, ptr %sc_l_app_1
+ %t280 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t279, i64 0, i32 12
+ %t281 = load ptr, ptr %t280, !tbaa !154
+ %t282 = load ptr, ptr %sc_l_idx_0
+ %t283 = getelementptr inbounds %ScrBox, ptr %t282, i32 0, i32 5
+ %t284 = load ptr, ptr %t283
+ %t287 = getelementptr inbounds %ScrUnion, ptr %t284, i64 0, i32 1
+ %t286 = load i32, ptr %t287
+ %t285 = icmp eq i32 %t286, 1
+ br i1 %t285, label %tern.t68, label %tern.f69
+tern.t68:
+ store double 0x7FF8000000000000, ptr %s288
+ br label %tern.j70
+tern.f69:
+ %t290 = load ptr, ptr %sc_l_idx_0
+ %t291 = getelementptr inbounds %ScrBox, ptr %t290, i32 0, i32 5
+ %t292 = load ptr, ptr %t291
+ %t293 = getelementptr inbounds %ScrUnion, ptr %t292, i64 0, i32 5
+ %t294 = load double, ptr %t293
+ store double %t294, ptr %s288
+ br label %tern.j70
+tern.j70:
+ %t295 = load double, ptr %s288
+ %t296 = call { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %t281, double %t295)
+ %t300 = extractvalue { i32, i64 } %t296, 0
+ %t301 = extractvalue { i32, i64 } %t296, 1
+ store i32 %t300, ptr %s298
+ store i64 %t301, ptr %s299
+ %t302 = call double @sc_bf__x25_union_narrow_1(ptr %s297)
+ %t303 = load ptr, ptr @scr_exc_active
+ %t304 = load i32, ptr %t303
+ %t305 = icmp ne i32 %t304, 0
+ %t306 = call i1 @llvm.expect.i1(i1 %t305, i1 false)
+ br i1 %t306, label %exc.u71, label %exc.k72
+exc.u71:
+ br label %exc.cleanup62
+exc.k72:
+ %t307 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t278, i64 0, i32 13
+ store double %t302, ptr %t307, !tbaa !154
+ br label %if.j56
+if.j56:
+ %t308 = load ptr, ptr %sc_l_rv_0
+ %t309 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t308)
+ store ptr %t309, ptr %sc_l__x25_callbackReceiver_0
+ %t310 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t311 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t310)
+ %t312 = load ptr, ptr @scr_exc_active
+ %t313 = load i32, ptr %t312
+ %t314 = icmp ne i32 %t313, 0
+ %t315 = call i1 @llvm.expect.i1(i1 %t314, i1 false)
+ br i1 %t315, label %exc.u73, label %exc.k74
+exc.u73:
+ call void @sc_rc_release_dyn(ptr %t311)
+ br label %exc.cleanup75
+exc.k74:
+ store ptr %t311, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t316 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t317 = getelementptr inbounds i8, ptr %t316, i64 8 ; ->kind
+ %t318 = load i32, ptr %t317
+ %t319 = icmp eq i32 %t318, 6
+ br i1 %t319, label %tern.t76, label %tern.f77
+tern.t76:
+ %t322 = call ptr @scr_dyn_undefined()
+ %t321 = call ptr @scr_dyn_retain_v(ptr %t322)
+ store ptr %t321, ptr %s320
+ br label %tern.j78
+tern.f77:
+ %t323 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t324 = call ptr @sc_rc_retain_dyn(ptr %t323)
+ %t325 = call ptr @sc_f__x25_dyn_class_property_8(ptr %t324)
+ %t326 = load ptr, ptr @scr_exc_active
+ %t327 = load i32, ptr %t326
+ %t328 = icmp ne i32 %t327, 0
+ %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false)
+ br i1 %t329, label %exc.u79, label %exc.k80
+exc.u79:
+ call void @sc_rc_release_dyn(ptr %t325)
+ br label %exc.cleanup81
+exc.k80:
+ store ptr %t325, ptr %s320
+ br label %tern.j78
+tern.j78:
+ %t330 = load ptr, ptr %s320
+ store ptr %t330, ptr %sc_l__x25_callback_0
+ %t331 = load ptr, ptr %sc_l__x25_callback_0
+ %t332 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t333 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t332, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t334 = load ptr, ptr %sc_l_webReq_0
+ %t335 = call ptr @sc_rc_retain_dyn(ptr %t334)
+ %t337 = getelementptr inbounds [1 x ptr], ptr %s336, i64 0, i64 0
+ store ptr %t335, ptr %t337
+ call void @scr_dyn_this_push_dyn(ptr %t333)
+ %t338 = call ptr @scr_dyn_call(ptr %t331, ptr %s336, i64 1, ptr @sc_cs_625856284831778)
+ call void @scr_dyn_this_pop()
+ %t339 = load ptr, ptr @scr_exc_active
+ %t340 = load i32, ptr %t339
+ %t341 = icmp ne i32 %t340, 0
+ %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false)
+ br i1 %t342, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t333)
+ call void @sc_rc_release_dyn(ptr %t335)
+ call void @sc_rc_release_dyn(ptr %t338)
+ br label %exc.cleanup84
+exc.k83:
+ call void @sc_rc_release_dyn(ptr %t333)
+ call void @sc_rc_release_dyn(ptr %t335)
+ call void @sc_rc_release_dyn(ptr %t338)
+ %t343 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t343)
+ %t344 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t344)
+ %t345 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t345)
+ %t346 = load ptr, ptr %sc_l_webReq_0
+ %t347 = getelementptr inbounds i8, ptr %t346, i64 8 ; ->kind
+ %t348 = load i32, ptr %t347
+ %t349 = icmp eq i32 %t348, 0
+ %t350 = xor i1 %t349, true
+ br i1 %t350, label %if.t85, label %if.j86
+if.t85:
+ %t351 = load ptr, ptr %sc_l_rv_0
+ %t352 = load ptr, ptr %sc_l_webReq_0
+ %t353 = call ptr @sc_rc_retain_dyn(ptr %t352)
+ %t354 = call ptr @sc_f__x25_dyn_class_protocol_0(ptr %t353)
+ %t355 = load ptr, ptr @scr_exc_active
+ %t356 = load i32, ptr %t355
+ %t357 = icmp ne i32 %t356, 0
+ %t358 = call i1 @llvm.expect.i1(i1 %t357, i1 false)
+ br i1 %t358, label %exc.u87, label %exc.k88
+exc.u87:
+ call void @scr_str_release(ptr %t354)
+ br label %exc.cleanup62
+exc.k88:
+ %t359 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t351, i64 0, i32 6
+ %t360 = load ptr, ptr %t359
+ store ptr %t354, ptr %t359, !tbaa !78
+ call void @scr_str_release(ptr %t360)
+ br label %if.j86
+if.j86:
+ %t361 = call ptr @scr_box_new(i32 2) ; let chainBody (boxed)
+ store ptr %t361, ptr %sc_l_chainBody_0
+ %t362 = load ptr, ptr %sc_l_body_0
+ %t363 = call ptr @sc_rc_retain_str(ptr %t362)
+ call void @scr_box_set_ref(ptr %t361, ptr %t363)
+ %t364 = load ptr, ptr %sc_l_idx_0
+ %t365 = getelementptr inbounds %ScrBox, ptr %t364, i32 0, i32 5
+ %t366 = load ptr, ptr %t365
+ %t369 = getelementptr inbounds %ScrUnion, ptr %t366, i64 0, i32 1
+ %t368 = load i32, ptr %t369
+ %t367 = icmp eq i32 %t368, 1
+ br i1 %t367, label %tern.t89, label %tern.f90
+tern.t89:
+ store double 0x7FF8000000000000, ptr %s370
+ br label %tern.j91
+tern.f90:
+ %t372 = load ptr, ptr %sc_l_idx_0
+ %t373 = getelementptr inbounds %ScrBox, ptr %t372, i32 0, i32 5
+ %t374 = load ptr, ptr %t373
+ %t375 = getelementptr inbounds %ScrUnion, ptr %t374, i64 0, i32 5
+ %t376 = load double, ptr %t375
+ store double %t376, ptr %s370
+ br label %tern.j91
+tern.j91:
+ %t377 = load double, ptr %s370
+ %t378 = fcmp oge double %t377, 0x0000000000000000
+ store i1 %t378, ptr %s379
+ br i1 %t378, label %log.r92, label %log.j93
+log.r92:
+ %t380 = load ptr, ptr %sc_l_chainBody_0
+ %t381 = getelementptr inbounds %ScrBox, ptr %t380, i32 0, i32 5
+ %t382 = load ptr, ptr %t381
+ %t383 = call zeroext i1 @sc_streq_4005573543169985(ptr %t382)
+ store i1 %t383, ptr %s379
+ br label %log.j93
+log.j93:
+ %t384 = load i1, ptr %s379
+ store i1 %t384, ptr %s385
+ br i1 %t384, label %log.r94, label %log.j95
+log.r94:
+ %t386 = load ptr, ptr %sc_l_bodyU8_0
+ %t387 = getelementptr inbounds %ScrBox, ptr %t386, i32 0, i32 5
+ %t388 = load ptr, ptr %t387
+ %t391 = getelementptr inbounds %ScrUnion, ptr %t388, i64 0, i32 1
+ %t390 = load i32, ptr %t391
+ %t389 = icmp eq i32 %t390, 1
+ store i1 %t389, ptr %s385
+ br label %log.j95
+log.j95:
+ %t392 = load i1, ptr %s385
+ store i1 %t392, ptr %s393
+ br i1 %t392, label %log.r96, label %log.j97
+log.r96:
+ %t394 = load ptr, ptr %sc_l_webReq_0
+ %t395 = getelementptr inbounds i8, ptr %t394, i64 8 ; ->kind
+ %t396 = load i32, ptr %t395
+ %t397 = icmp eq i32 %t396, 0
+ %t398 = xor i1 %t397, true
+ store i1 %t398, ptr %s393
+ br label %log.j97
+log.j97:
+ %t399 = load i1, ptr %s393
+ store i1 %t399, ptr %s400
+ br i1 %t399, label %log.r98, label %log.j99
+log.r98:
+ %t402 = load ptr, ptr %sc_l_app_1
+ %t403 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t402, i64 0, i32 13
+ %t404 = load ptr, ptr %t403, !tbaa !38
+ %t405 = load ptr, ptr %sc_l_idx_0
+ %t406 = getelementptr inbounds %ScrBox, ptr %t405, i32 0, i32 5
+ %t407 = load ptr, ptr %t406
+ %t410 = getelementptr inbounds %ScrUnion, ptr %t407, i64 0, i32 1
+ %t409 = load i32, ptr %t410
+ %t408 = icmp eq i32 %t409, 1
+ br i1 %t408, label %tern.t100, label %tern.f101
+tern.t100:
+ store double 0x7FF8000000000000, ptr %s411
+ br label %tern.j102
+tern.f101:
+ %t413 = load ptr, ptr %sc_l_idx_0
+ %t414 = getelementptr inbounds %ScrBox, ptr %t413, i32 0, i32 5
+ %t415 = load ptr, ptr %t414
+ %t416 = getelementptr inbounds %ScrUnion, ptr %t415, i64 0, i32 5
+ %t417 = load double, ptr %t416
+ store double %t417, ptr %s411
+ br label %tern.j102
+tern.j102:
+ %t418 = load double, ptr %s411
+ %t422 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 2
+ %t423 = load i64, ptr %t422, !tbaa !2
+ %t424 = fptosi double %t418 to i64
+ %t425 = freeze i64 %t424
+ %t426 = sitofp i64 %t425 to double
+ %t427 = fcmp oeq double %t426, %t418
+ %t428 = icmp ult i64 %t425, %t423
+ %t429 = and i1 %t427, %t428
+ br i1 %t429, label %local.array.range106, label %local.array.slow103
+local.array.range106:
+ br label %local.array.dense107
+local.array.dense107:
+ %t430 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 6
+ %t431 = load i32, ptr %t430, !tbaa !2
+ %t433 = zext i32 %t431 to i64
+ %t432 = icmp ult i64 %t425, %t433
+ br i1 %t432, label %local.array.value109, label %local.array.len108
+local.array.len108:
+ %t434 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 1
+ %t435 = load i64, ptr %t434, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t436 = icmp ult i64 %t425, %t435
+ br i1 %t436, label %local.array.state110, label %local.array.missing104
+local.array.state110:
+ %t437 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 9
+ %t438 = load ptr, ptr %t437, !tbaa !2
+ %t439 = getelementptr inbounds i8, ptr %t438, i64 %t425
+ %t440 = load i8, ptr %t439, !tbaa !4
+ %t441 = icmp eq i8 %t440, 1
+ br i1 %t441, label %local.array.value109, label %local.array.missing104
+local.array.value109:
+ %t442 = getelementptr inbounds %ScrArr, ptr %t404, i32 0, i32 8
+ %t443 = load ptr, ptr %t442, !tbaa !2
+ %t444 = getelementptr inbounds i64, ptr %t443, i64 %t425
+ %t445 = load i64, ptr %t444, !tbaa !6
+ store i64 %t445, ptr %s420
+ store i32 0, ptr %s421
+ br label %local.array.join105
+local.array.slow103:
+ %t446 = call double @scr_arr_state(ptr %t404, double %t418) cold memory(read, inaccessiblemem: readwrite)
+ %t447 = fcmp oeq double %t446, 1.0
+ br i1 %t447, label %local.array.slow.value111, label %local.array.missing104
+local.array.slow.value111:
+ %t448 = call double @scr_arr_get_f64(ptr %t404, double %t418) cold memory(read, inaccessiblemem: readwrite)
+ %t449 = bitcast double %t448 to i64
+ store i64 %t449, ptr %s420
+ store i32 0, ptr %s421
+ br label %local.array.join105
+local.array.missing104:
+ store i64 0, ptr %s420
+ store i32 1, ptr %s421
+ br label %local.array.join105
+local.array.join105:
+ store ptr %s419, ptr %s401
+ %t450 = load ptr, ptr %s401
+ %t452 = getelementptr inbounds %ScrUnion, ptr %t450, i64 0, i32 1
+ %t451 = load i32, ptr %t452
+ %t453 = icmp eq i32 %t451, 0
+ store i1 false, ptr %s454
+ br i1 %t453, label %ueq.s112, label %ueq.j113
+ueq.s112:
+ %t456 = call double @scr_union_get_f64(ptr %t450)
+ %t455 = fcmp oeq double %t456, 0x3FF0000000000000
+ store i1 %t455, ptr %s454
+ br label %ueq.j113
+ueq.j113:
+ %t457 = load i1, ptr %s454
+ store i1 %t457, ptr %s400
+ br label %log.j99
+log.j99:
+ %t458 = load i1, ptr %s400
+ store i1 %t458, ptr %s459
+ br i1 %t458, label %log.r114, label %log.j115
+log.r114:
+ %t460 = load ptr, ptr %sc_l_method_0
+ %t461 = getelementptr inbounds %ScrBox, ptr %t460, i32 0, i32 5
+ %t462 = load ptr, ptr %t461
+ %t463 = call i1 @sc_bf__x25_m5_bodyMethod(ptr %t462)
+ store i1 %t463, ptr %s459
+ br label %log.j115
+log.j115:
+ %t464 = load i1, ptr %s459
+ br i1 %t464, label %if.t116, label %if.j117
+if.t116:
+ %t465 = load ptr, ptr %sc_l_webReq_0
+ %t466 = call ptr @sc_rc_retain_dyn(ptr %t465)
+ store ptr %t466, ptr %sc_l__x25_protocolReceiver_0
+ %t467 = load ptr, ptr %sc_l__x25_protocolReceiver_0
+ %t468 = call ptr @sc_rc_retain_dyn(ptr %t467)
+ %t469 = call ptr @sc_bf__x25_dyn_class_protocol_1(ptr %t468, ptr @sc_lit_4363421500237166)
+ %t470 = load ptr, ptr @scr_exc_active
+ %t471 = load i32, ptr %t470
+ %t472 = icmp ne i32 %t471, 0
+ %t473 = call i1 @llvm.expect.i1(i1 %t472, i1 false)
+ br i1 %t473, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @scr_promise_release(ptr %t469)
+ br label %exc.cleanup120
+exc.k119:
+ %t474 = call ptr @scr_await_str(ptr %t469)
+ %t475 = load ptr, ptr @scr_exc_active
+ %t476 = load i32, ptr %t475
+ %t477 = icmp ne i32 %t476, 0
+ %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false)
+ br i1 %t478, label %exc.u121, label %exc.k122
+exc.u121:
+ call void @scr_promise_release(ptr %t469)
+ %t479 = load ptr, ptr %sc_l__x25_protocolReceiver_0
+ call void @sc_rc_release_dyn(ptr %t479)
+ call void @scr_str_release(ptr %t474)
+ br label %exc.cleanup123
+exc.k122:
+ %t480 = load ptr, ptr %sc_l_chainBody_0
+ call void @scr_box_set_ref(ptr %t480, ptr %t474)
+ call void @scr_promise_release(ptr %t469)
+ %t481 = load ptr, ptr %sc_l__x25_protocolReceiver_0
+ call void @sc_rc_release_dyn(ptr %t481)
+ br label %if.j117
+if.j117:
+ %t482 = load ptr, ptr %sc_l_rv_0
+ %t483 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t482)
+ store ptr %t483, ptr %sc_l__x25_callbackReceiver_1
+ %t484 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t485 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t484)
+ %t486 = load ptr, ptr @scr_exc_active
+ %t487 = load i32, ptr %t486
+ %t488 = icmp ne i32 %t487, 0
+ %t489 = call i1 @llvm.expect.i1(i1 %t488, i1 false)
+ br i1 %t489, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t485)
+ br label %exc.cleanup126
+exc.k125:
+ store ptr %t485, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t490 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t491 = getelementptr inbounds i8, ptr %t490, i64 8 ; ->kind
+ %t492 = load i32, ptr %t491
+ %t493 = icmp eq i32 %t492, 6
+ br i1 %t493, label %tern.t127, label %tern.f128
+tern.t127:
+ %t496 = call ptr @scr_dyn_undefined()
+ %t495 = call ptr @scr_dyn_retain_v(ptr %t496)
+ store ptr %t495, ptr %s494
+ br label %tern.j129
+tern.f128:
+ %t497 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t498 = call ptr @sc_rc_retain_dyn(ptr %t497)
+ %t499 = call ptr @sc_f__x25_dyn_class_property_9(ptr %t498)
+ %t500 = load ptr, ptr @scr_exc_active
+ %t501 = load i32, ptr %t500
+ %t502 = icmp ne i32 %t501, 0
+ %t503 = call i1 @llvm.expect.i1(i1 %t502, i1 false)
+ br i1 %t503, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t499)
+ br label %exc.cleanup132
+exc.k131:
+ store ptr %t499, ptr %s494
+ br label %tern.j129
+tern.j129:
+ %t504 = load ptr, ptr %s494
+ store ptr %t504, ptr %sc_l__x25_callback_1
+ %t505 = load ptr, ptr %sc_l__x25_callback_1
+ %t506 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t507 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t506, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t508 = load ptr, ptr %sc_l_chainBody_0
+ %t509 = call ptr @scr_box_get_ref(ptr %t508)
+ %t510 = call ptr @sc_td_0(ptr %t509)
+ %t512 = getelementptr inbounds [1 x ptr], ptr %s511, i64 0, i64 0
+ store ptr %t510, ptr %t512
+ call void @scr_dyn_this_push_dyn(ptr %t507)
+ %t513 = call ptr @scr_dyn_call(ptr %t505, ptr %s511, i64 1, ptr @sc_cs_3779354462845077)
+ call void @scr_dyn_this_pop()
+ %t514 = load ptr, ptr @scr_exc_active
+ %t515 = load i32, ptr %t514
+ %t516 = icmp ne i32 %t515, 0
+ %t517 = call i1 @llvm.expect.i1(i1 %t516, i1 false)
+ br i1 %t517, label %exc.u133, label %exc.k134
+exc.u133:
+ call void @sc_rc_release_dyn(ptr %t507)
+ call void @scr_str_release(ptr %t509)
+ call void @sc_rc_release_dyn(ptr %t510)
+ call void @sc_rc_release_dyn(ptr %t513)
+ br label %exc.cleanup135
+exc.k134:
+ call void @sc_rc_release_dyn(ptr %t507)
+ call void @scr_str_release(ptr %t509)
+ call void @sc_rc_release_dyn(ptr %t510)
+ call void @sc_rc_release_dyn(ptr %t513)
+ %t518 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t518)
+ %t519 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t519)
+ %t520 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t520)
+ %t521 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore) ; let c (boxed)
+ store ptr %t521, ptr %sc_l_c_0
+ %t522 = call ptr @sc_new__x25_m5_CtxCore()
+ %t523 = load ptr, ptr %sc_l_rv_0
+ %t524 = load ptr, ptr %sc_l_sink_0
+ %t525 = call ptr @scr_box_get_ref(ptr %t524)
+ call void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %t522, ptr %t523, ptr %t525)
+ %t526 = load ptr, ptr @scr_exc_active
+ %t527 = load i32, ptr %t526
+ %t528 = icmp ne i32 %t527, 0
+ %t529 = call i1 @llvm.expect.i1(i1 %t528, i1 false)
+ br i1 %t529, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_release__x25_m2_ResponseSink(ptr %t525)
+ call void @sc_release__x25_m5_CtxCore(ptr %t522)
+ br label %exc.cleanup138
+exc.k137:
+ call void @sc_release__x25_m2_ResponseSink(ptr %t525)
+ call void @scr_box_set_ref(ptr %t521, ptr %t522)
+ %t530 = call ptr @scr_promise_new()
+ %t531 = call ptr @scr_make_resolve(ptr %t530, i32 3)
+ %t532 = call ptr @scr_closure_new(ptr @sc_f__x25_fn23, i64 10)
+ %t533 = getelementptr inbounds %ScrClosure, ptr %t532, i64 0, i32 4
+ store i32 4, ptr %t533
+ %t534 = getelementptr inbounds %ScrClosure, ptr %t532, i64 0, i32 7
+ store ptr @sc_bf__x25_fn23, ptr %t534
+ %t535 = load ptr, ptr %sc_l_idx_0
+ %t536 = call ptr @sc_retain_box(ptr %t535)
+ %t537 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps
+ %t538 = getelementptr inbounds ptr, ptr %t537, i64 0 ; caps[0]
+ store ptr %t536, ptr %t538
+ %t539 = load ptr, ptr %sc_l_method_0
+ %t540 = call ptr @sc_retain_box(ptr %t539)
+ %t541 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps
+ %t542 = getelementptr inbounds ptr, ptr %t541, i64 1 ; caps[1]
+ store ptr %t540, ptr %t542
+ %t543 = load ptr, ptr %sc_l_this_0
+ %t544 = call ptr @sc_retain_box(ptr %t543)
+ %t545 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps
+ %t546 = getelementptr inbounds ptr, ptr %t545, i64 2 ; caps[2]
+ store ptr %t544, ptr %t546
+ %t547 = load ptr, ptr %sc_l_app_0
+ %t548 = call ptr @sc_retain_box(ptr %t547)
+ %t549 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps
+ %t550 = getelementptr inbounds ptr, ptr %t549, i64 3 ; caps[3]
+ store ptr %t548, ptr %t550
+ %t551 = load ptr, ptr %sc_l_c_0
+ %t552 = call ptr @sc_retain_box(ptr %t551)
+ %t553 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps
+ %t554 = getelementptr inbounds ptr, ptr %t553, i64 4 ; caps[4]
+ store ptr %t552, ptr %t554
+ %t555 = load ptr, ptr %sc_l_chainBody_0
+ %t556 = call ptr @sc_retain_box(ptr %t555)
+ %t557 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps
+ %t558 = getelementptr inbounds ptr, ptr %t557, i64 5 ; caps[5]
+ store ptr %t556, ptr %t558
+ %t559 = load ptr, ptr %sc_l_bodyU8_0
+ %t560 = call ptr @sc_retain_box(ptr %t559)
+ %t561 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps
+ %t562 = getelementptr inbounds ptr, ptr %t561, i64 6 ; caps[6]
+ store ptr %t560, ptr %t562
+ %t563 = load ptr, ptr %sc_l_sink_0
+ %t564 = call ptr @sc_retain_box(ptr %t563)
+ %t565 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps
+ %t566 = getelementptr inbounds ptr, ptr %t565, i64 7 ; caps[7]
+ store ptr %t564, ptr %t566
+ %t567 = load ptr, ptr %sc_l_chain_0
+ %t568 = call ptr @sc_retain_box(ptr %t567)
+ %t569 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps
+ %t570 = getelementptr inbounds ptr, ptr %t569, i64 8 ; caps[8]
+ store ptr %t568, ptr %t570
+ %t571 = load ptr, ptr %sc_l_oef_0
+ %t572 = call ptr @sc_retain_box(ptr %t571)
+ %t573 = getelementptr inbounds %ScrClosure, ptr %t532, i64 1 ; caps
+ %t574 = getelementptr inbounds ptr, ptr %t573, i64 9 ; caps[9]
+ store ptr %t572, ptr %t574
+ call void @scr_promise_run_executor(ptr %t530, ptr %t532, ptr %t531)
+ call void @scr_await_hop()
+ call void @scr_await_void(ptr %t530)
+ %t575 = load ptr, ptr @scr_exc_active
+ %t576 = load i32, ptr %t575
+ %t577 = icmp ne i32 %t576, 0
+ %t578 = call i1 @llvm.expect.i1(i1 %t577, i1 false)
+ br i1 %t578, label %exc.u139, label %exc.k140
+exc.u139:
+ call void @scr_promise_release(ptr %t530)
+ call void @scr_closure_release(ptr %t532)
+ br label %exc.cleanup138
+exc.k140:
+ call void @scr_promise_release(ptr %t530)
+ call void @scr_closure_release(ptr %t532)
+ %t579 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t579)
+ %t580 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t580)
+ %t581 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t581)
+ %t582 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t582)
+ %t583 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t583)
+ %t584 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t584)
+ %t585 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t585)
+ %t586 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t586)
+ %t587 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t587)
+ %t588 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t588)
+ %t589 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t589)
+ %t590 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t590)
+ %t591 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t591)
+ %t592 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t592)
+ %t593 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t593)
+ %t594 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t594)
+ %t595 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t595)
+ %t596 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t596)
+ %t597 = load ptr, ptr %sc_l_chainBody_0
+ call void @scr_box_release(ptr %t597)
+ %t598 = load ptr, ptr %sc_l_c_0
+ call void @scr_box_release(ptr %t598)
+ ret void
+exc.cleanup2:
+ %t599 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t599)
+ %t600 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t600)
+ %t601 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t601)
+ %t602 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t602)
+ %t603 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t603)
+ %t604 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t604)
+ %t605 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t605)
+ %t606 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t606)
+ ret void
+exc.cleanup7:
+ %t607 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t607)
+ %t608 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t608)
+ %t609 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t609)
+ %t610 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t610)
+ %t611 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t611)
+ %t612 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t612)
+ %t613 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t613)
+ %t614 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t614)
+ %t615 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t615)
+ %t616 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t616)
+ %t617 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t617)
+ %t618 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t618)
+ %t619 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t619)
+ ret void
+exc.cleanup12:
+ %t620 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t620)
+ %t621 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t621)
+ %t622 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t622)
+ %t623 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t623)
+ %t624 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t624)
+ %t625 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t625)
+ %t626 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t626)
+ %t627 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t627)
+ %t628 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t628)
+ %t629 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t629)
+ %t630 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t630)
+ %t631 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t631)
+ %t632 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t632)
+ %t633 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t633)
+ %t634 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t634)
+ %t635 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t635)
+ %t636 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t636)
+ ret void
+exc.cleanup62:
+ %t637 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t637)
+ %t638 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t638)
+ %t639 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t639)
+ %t640 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t640)
+ %t641 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t641)
+ %t642 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t642)
+ %t643 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t643)
+ %t644 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t644)
+ %t645 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t645)
+ %t646 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t646)
+ %t647 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t647)
+ %t648 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t648)
+ %t649 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t649)
+ %t650 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t650)
+ %t651 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t651)
+ %t652 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t652)
+ %t653 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t653)
+ %t654 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t654)
+ ret void
+exc.cleanup75:
+ %t655 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t655)
+ %t656 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t656)
+ %t657 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t657)
+ %t658 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t658)
+ %t659 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t659)
+ %t660 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t660)
+ %t661 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t661)
+ %t662 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t662)
+ %t663 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t663)
+ %t664 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t664)
+ %t665 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t665)
+ %t666 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t666)
+ %t667 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t667)
+ %t668 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t668)
+ %t669 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t669)
+ %t670 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t670)
+ %t671 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t671)
+ %t672 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t672)
+ %t673 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t673)
+ ret void
+exc.cleanup81:
+ %t674 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t674)
+ %t675 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t675)
+ %t676 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t676)
+ %t677 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t677)
+ %t678 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t678)
+ %t679 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t679)
+ %t680 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t680)
+ %t681 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t681)
+ %t682 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t682)
+ %t683 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t683)
+ %t684 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t684)
+ %t685 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t685)
+ %t686 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t686)
+ %t687 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t687)
+ %t688 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t688)
+ %t689 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t689)
+ %t690 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t690)
+ %t691 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t691)
+ %t692 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t692)
+ %t693 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t693)
+ ret void
+exc.cleanup84:
+ %t694 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t694)
+ %t695 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t695)
+ %t696 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t696)
+ %t697 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t697)
+ %t698 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t698)
+ %t699 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t699)
+ %t700 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t700)
+ %t701 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t701)
+ %t702 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t702)
+ %t703 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t703)
+ %t704 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t704)
+ %t705 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t705)
+ %t706 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t706)
+ %t707 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t707)
+ %t708 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t708)
+ %t709 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t709)
+ %t710 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t710)
+ %t711 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t711)
+ %t712 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t712)
+ %t713 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t713)
+ %t714 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t714)
+ ret void
+exc.cleanup120:
+ %t715 = load ptr, ptr %sc_l__x25_protocolReceiver_0
+ call void @sc_rc_release_dyn(ptr %t715)
+ %t716 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t716)
+ %t717 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t717)
+ %t718 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t718)
+ %t719 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t719)
+ %t720 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t720)
+ %t721 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t721)
+ %t722 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t722)
+ %t723 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t723)
+ %t724 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t724)
+ %t725 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t725)
+ %t726 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t726)
+ %t727 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t727)
+ %t728 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t728)
+ %t729 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t729)
+ %t730 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t730)
+ %t731 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t731)
+ %t732 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t732)
+ %t733 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t733)
+ %t734 = load ptr, ptr %sc_l_chainBody_0
+ call void @scr_box_release(ptr %t734)
+ ret void
+exc.cleanup123:
+ %t735 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t735)
+ %t736 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t736)
+ %t737 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t737)
+ %t738 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t738)
+ %t739 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t739)
+ %t740 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t740)
+ %t741 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t741)
+ %t742 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t742)
+ %t743 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t743)
+ %t744 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t744)
+ %t745 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t745)
+ %t746 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t746)
+ %t747 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t747)
+ %t748 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t748)
+ %t749 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t749)
+ %t750 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t750)
+ %t751 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t751)
+ %t752 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t752)
+ %t753 = load ptr, ptr %sc_l_chainBody_0
+ call void @scr_box_release(ptr %t753)
+ ret void
+exc.cleanup126:
+ %t754 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t754)
+ %t755 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t755)
+ %t756 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t756)
+ %t757 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t757)
+ %t758 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t758)
+ %t759 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t759)
+ %t760 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t760)
+ %t761 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t761)
+ %t762 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t762)
+ %t763 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t763)
+ %t764 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t764)
+ %t765 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t765)
+ %t766 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t766)
+ %t767 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t767)
+ %t768 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t768)
+ %t769 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t769)
+ %t770 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t770)
+ %t771 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t771)
+ %t772 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t772)
+ %t773 = load ptr, ptr %sc_l_chainBody_0
+ call void @scr_box_release(ptr %t773)
+ ret void
+exc.cleanup132:
+ %t774 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t774)
+ %t775 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t775)
+ %t776 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t776)
+ %t777 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t777)
+ %t778 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t778)
+ %t779 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t779)
+ %t780 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t780)
+ %t781 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t781)
+ %t782 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t782)
+ %t783 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t783)
+ %t784 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t784)
+ %t785 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t785)
+ %t786 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t786)
+ %t787 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t787)
+ %t788 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t788)
+ %t789 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t789)
+ %t790 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t790)
+ %t791 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t791)
+ %t792 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t792)
+ %t793 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t793)
+ %t794 = load ptr, ptr %sc_l_chainBody_0
+ call void @scr_box_release(ptr %t794)
+ ret void
+exc.cleanup135:
+ %t795 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t795)
+ %t796 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t796)
+ %t797 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t797)
+ %t798 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t798)
+ %t799 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t799)
+ %t800 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t800)
+ %t801 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t801)
+ %t802 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t802)
+ %t803 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t803)
+ %t804 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t804)
+ %t805 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t805)
+ %t806 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t806)
+ %t807 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t807)
+ %t808 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t808)
+ %t809 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t809)
+ %t810 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t810)
+ %t811 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t811)
+ %t812 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t812)
+ %t813 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t813)
+ %t814 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t814)
+ %t815 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t815)
+ %t816 = load ptr, ptr %sc_l_chainBody_0
+ call void @scr_box_release(ptr %t816)
+ ret void
+exc.cleanup138:
+ %t817 = load ptr, ptr %sc_l_this_0
+ call void @scr_box_release(ptr %t817)
+ %t818 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t818)
+ %t819 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t819)
+ %t820 = load ptr, ptr %sc_l_webHeaders_0
+ call void @sc_rrelease_r0(ptr %t820)
+ %t821 = load ptr, ptr %sc_l_webReq_0
+ call void @sc_rc_release_dyn(ptr %t821)
+ %t822 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t822)
+ %t823 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_box_release(ptr %t823)
+ %t824 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t824)
+ %t825 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t825)
+ %t826 = load ptr, ptr %sc_l_app_0
+ call void @scr_box_release(ptr %t826)
+ %t827 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t827)
+ %t828 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t828)
+ %t829 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t829)
+ %t830 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t830)
+ %t831 = load ptr, ptr %sc_l_node_0
+ call void @scr_box_release(ptr %t831)
+ %t832 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t832)
+ %t833 = load ptr, ptr %sc_l_idx_0
+ call void @scr_box_release(ptr %t833)
+ %t834 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t834)
+ %t835 = load ptr, ptr %sc_l_chainBody_0
+ call void @scr_box_release(ptr %t835)
+ %t836 = load ptr, ptr %sc_l_c_0
+ call void @scr_box_release(ptr %t836)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m5_App__dispatch(ptr %p_sc_l_this_0, ptr %p_sc_l_req_0, ptr %p_sc_l_sink_0) #0 { ; %%m5.App._dispatch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_genRes_0 = alloca ptr ; genRes
+ %sc_l__x25_callReceiver_0 = alloca ptr ; %callReceiver
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_qs_0 = alloca ptr ; qs
+ %sc_l_qi_0 = alloca i32 ; qi
+ %sc_l_node_0 = alloca ptr ; node
+ %sc_l_chain_0 = alloca ptr ; chain
+ %sc_l_body_0 = alloca ptr ; body
+ %sc_l_idx_0 = alloca ptr ; idx
+ %sc_l_j_0 = alloca double ; j
+ %sc_l_rv_0 = alloca ptr ; rv
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_carrying_0 = alloca i1 ; carrying
+ %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv
+ %sc_l__x25_propertyRecv_1 = alloca ptr ; %propertyRecv
+ %sc_l_buf_0 = alloca ptr ; buf
+ %sc_l_oef_1 = alloca ptr ; oef
+ %sc_l_rv_1 = alloca ptr ; rv
+ %sc_l_c_1 = alloca ptr ; c
+ %s0 = alloca ptr ; lazy box sink
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s16 = alloca ptr
+ %s43 = alloca i1
+ %s77 = alloca ptr
+ %s85 = alloca ptr
+ %s129 = alloca %ScrUnion
+ %s130 = getelementptr inbounds %ScrUnion, ptr %s129, i32 0, i32 1
+ %s131 = getelementptr inbounds %ScrUnion, ptr %s129, i32 0, i32 5
+ %s132 = alloca %ScrUnion
+ %s133 = getelementptr inbounds %ScrUnion, ptr %s132, i32 0, i32 1
+ %s134 = getelementptr inbounds %ScrUnion, ptr %s132, i32 0, i32 5
+ %s139 = alloca %ScrUnion
+ %s140 = getelementptr inbounds %ScrUnion, ptr %s139, i32 0, i32 1
+ %s141 = getelementptr inbounds %ScrUnion, ptr %s139, i32 0, i32 5
+ %s142 = alloca %ScrUnion
+ %s143 = getelementptr inbounds %ScrUnion, ptr %s142, i32 0, i32 1
+ %s144 = getelementptr inbounds %ScrUnion, ptr %s142, i32 0, i32 5
+ %s164 = alloca ptr
+ %s170 = alloca ptr
+ %s175 = alloca ptr
+ %s181 = alloca %ScrUnion
+ %s182 = getelementptr inbounds %ScrUnion, ptr %s181, i32 0, i32 5
+ %s183 = getelementptr inbounds %ScrUnion, ptr %s181, i32 0, i32 1
+ %s224 = alloca double
+ %s225 = alloca i32
+ %s232 = alloca ptr
+ %s240 = alloca double
+ %s241 = alloca i32
+ %s246 = alloca %ScrUnion
+ %s247 = getelementptr inbounds %ScrUnion, ptr %s246, i32 0, i32 5
+ %s248 = getelementptr inbounds %ScrUnion, ptr %s246, i32 0, i32 1
+ %s287 = alloca ptr
+ %s292 = alloca ptr
+ %s337 = alloca double
+ %s338 = alloca i32
+ %s345 = alloca ptr
+ %s353 = alloca double
+ %s354 = alloca i32
+ %s394 = alloca ptr
+ %s402 = alloca double
+ %s403 = alloca i32
+ %s443 = alloca ptr
+ %s451 = alloca double
+ %s452 = alloca i32
+ %s457 = alloca %ScrUnion
+ %s458 = getelementptr inbounds %ScrUnion, ptr %s457, i32 0, i32 5
+ %s459 = getelementptr inbounds %ScrUnion, ptr %s457, i32 0, i32 1
+ %s509 = alloca double
+ %s510 = alloca i32
+ %s516 = alloca i1
+ %s524 = alloca double
+ %s525 = alloca i32
+ %s561 = alloca ptr
+ %s570 = alloca i1
+ %s576 = alloca ptr
+ %s584 = alloca double
+ %s585 = alloca i32
+ %s631 = alloca i1
+ %s635 = alloca i1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_genRes_0
+ store ptr null, ptr %sc_l__x25_callReceiver_0
+ store ptr null, ptr %sc_l_oef_0
+ store ptr null, ptr %sc_l_method_0
+ store ptr null, ptr %sc_l_url_0
+ store ptr null, ptr %sc_l_path_0
+ store ptr null, ptr %sc_l_qs_0
+ store ptr null, ptr %sc_l_node_0
+ store ptr null, ptr %sc_l_chain_0
+ store ptr null, ptr %sc_l_body_0
+ store ptr null, ptr %sc_l_idx_0
+ store ptr null, ptr %sc_l_rv_0
+ store ptr null, ptr %sc_l_c_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_1
+ store ptr null, ptr %sc_l_buf_0
+ store ptr null, ptr %sc_l_oef_1
+ store ptr null, ptr %sc_l_rv_1
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_req_0, ptr %sc_l_req_0
+ store ptr %p_sc_l_sink_0, ptr %sc_l_sink_0
+ %t1 = call ptr @llvm.stacksave.p0()
+ %t2 = load ptr, ptr @scr_stack_guard
+ %t3 = icmp ult ptr %t1, %t2
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t5 = load ptr, ptr %sc_l_sink_0
+ store ptr %t5, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t8)
+ br label %exc.cleanup2
+exc.k4:
+ store ptr %t8, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t12 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t13 = getelementptr inbounds i8, ptr %t12, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 6
+ br i1 %t15, label %tern.t5, label %tern.f6
+tern.t5:
+ %t18 = call ptr @scr_dyn_undefined()
+ %t17 = call ptr @scr_dyn_retain_v(ptr %t18)
+ store ptr %t17, ptr %s16
+ br label %tern.j7
+tern.f6:
+ %t19 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t20 = call ptr @sc_rc_retain_dyn(ptr %t19)
+ %t21 = call ptr @sc_f__x25_dyn_class_property_10(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t21)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t21, ptr %s16
+ br label %tern.j7
+tern.j7:
+ %t25 = load ptr, ptr %s16
+ store ptr %t25, ptr %sc_l__x25_callback_0
+ %t26 = load ptr, ptr %sc_l__x25_callback_0
+ %t27 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t28 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t27, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t28)
+ %t29 = call ptr @scr_dyn_call(ptr %t26, ptr null, i64 0, ptr @sc_cs_2464045371370986)
+ call void @scr_dyn_this_pop()
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup13
+exc.k12:
+ %t33 = call ptr @sc_dc_14(ptr %t29, ptr null)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @scr_union_release(ptr %t33)
+ br label %exc.cleanup13
+exc.k15:
+ store ptr %t33, ptr %sc_l_genRes_0
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t29)
+ %t37 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t38 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t39 = load ptr, ptr %sc_l_genRes_0
+ %t42 = getelementptr inbounds %ScrUnion, ptr %t39, i64 0, i32 1
+ %t41 = load i32, ptr %t42
+ %t40 = icmp ne i32 %t41, 1
+ store i1 %t40, ptr %s43
+ br i1 %t40, label %log.r16, label %log.j17
+log.r16:
+ %t44 = load ptr, ptr %sc_l_this_0
+ store ptr %t44, ptr %sc_l__x25_callReceiver_0
+ %t45 = load ptr, ptr %sc_l__x25_callReceiver_0
+ %t46 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t45, i64 0, i32 15
+ %t47 = load ptr, ptr %t46, !tbaa !182
+ %t48 = call ptr @scr_closure_retain_v(ptr %t47)
+ %t49 = load ptr, ptr %sc_l__x25_callReceiver_0
+ %t50 = call ptr @sc_retain__x25_m5_App(ptr %t49)
+ %t51 = load ptr, ptr %sc_l_req_0
+ %t52 = call ptr @scr_http_req_retain_v(ptr %t51)
+ %t53 = load ptr, ptr %sc_l_genRes_0
+ %t54 = getelementptr inbounds %ScrUnion, ptr %t53, i64 0, i32 5
+ %t55 = load ptr, ptr %t54
+ %t56 = call ptr @scr_http_res_retain_v(ptr %t55)
+ %t57 = getelementptr inbounds %ScrClosure, ptr %t48, i64 0, i32 1
+ %t58 = load ptr, ptr %t57
+ call void @scr_dyn_this_push_typed(ptr %t50, ptr @sc_trr_0)
+ %t59 = call i1 %t58(ptr %t48, ptr %t52, ptr %t56)
+ call void @scr_dyn_this_pop()
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @scr_closure_release(ptr %t48)
+ call void @sc_release__x25_m5_App(ptr %t50)
+ br label %exc.cleanup20
+exc.k19:
+ store i1 %t59, ptr %s43
+ call void @scr_closure_release(ptr %t48)
+ call void @sc_release__x25_m5_App(ptr %t50)
+ br label %log.j17
+log.j17:
+ %t63 = load i1, ptr %s43
+ br i1 %t63, label %if.t21, label %if.j22
+if.t21:
+ %t64 = load ptr, ptr %s0
+ %t65 = icmp ne ptr %t64, null
+ br i1 %t65, label %lazy.release23, label %lazy.release.j24
+lazy.release23:
+ call void @scr_box_release(ptr %t64)
+ br label %lazy.release.j24
+lazy.release.j24:
+ %t66 = load ptr, ptr %sc_l_genRes_0
+ call void @scr_union_release(ptr %t66)
+ ret void
+if.j22:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t68 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t67, i64 0, i32 7
+ %t69 = load ptr, ptr %t68, !tbaa !176
+ %t70 = call ptr @scr_union_retain_v(ptr %t69)
+ store ptr %t70, ptr %sc_l_oef_1
+ %t71 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let oef (boxed)
+ store ptr %t71, ptr %sc_l_oef_0
+ %t72 = load ptr, ptr %sc_l_oef_1
+ %t73 = call ptr @scr_union_retain_v(ptr %t72)
+ call void @scr_box_set_ref(ptr %t71, ptr %t73)
+ %t74 = load ptr, ptr %sc_l_req_0
+ %t75 = call ptr @scr_http_req_retain_v(ptr %t74)
+ %t76 = call ptr @scr_http_req_method(ptr %t75)
+ store ptr %t76, ptr %s77
+ %t78 = getelementptr inbounds %ScrStr, ptr %t76, i64 0, i32 1
+ %t79 = load i64, ptr %t78
+ %t80 = icmp ne i64 %t79, 0
+ br i1 %t80, label %log.j26, label %log.r25
+log.r25:
+ call void @scr_str_release(ptr %t76)
+ store ptr @sc_lit_4005573543169985, ptr %s77
+ br label %log.j26
+log.j26:
+ %t81 = load ptr, ptr %s77
+ store ptr %t81, ptr %sc_l_method_0
+ call void @scr_http_req_release(ptr %t75)
+ %t82 = load ptr, ptr %sc_l_req_0
+ %t83 = call ptr @scr_http_req_retain_v(ptr %t82)
+ %t84 = call ptr @scr_http_req_url(ptr %t83)
+ store ptr %t84, ptr %s85
+ %t86 = getelementptr inbounds %ScrStr, ptr %t84, i64 0, i32 1
+ %t87 = load i64, ptr %t86
+ %t88 = icmp ne i64 %t87, 0
+ br i1 %t88, label %log.j28, label %log.r27
+log.r27:
+ call void @scr_str_release(ptr %t84)
+ store ptr @sc_lit_2434240011052594, ptr %s85
+ br label %log.j28
+log.j28:
+ %t89 = load ptr, ptr %s85
+ store ptr %t89, ptr %sc_l_url_0
+ call void @scr_http_req_release(ptr %t83)
+ %t90 = load ptr, ptr %sc_l_url_0
+ %t91 = call ptr @sc_rc_retain_str(ptr %t90)
+ store ptr %t91, ptr %sc_l_path_0
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_qs_0
+ %t92 = load ptr, ptr %sc_l_url_0
+ %t93 = call double @scr_str_index_of(ptr %t92, ptr @sc_lit_2437473434951379, double 0x0000000000000000)
+ %t94 = fptosi double %t93 to i32
+ store i32 %t94, ptr %sc_l_qi_0
+ %t95 = load i32, ptr %sc_l_qi_0
+ %t96 = sitofp i32 %t95 to double
+ %t98 = sext i32 %t95 to i64
+ %t97 = icmp sge i64 %t98, 0
+ br i1 %t97, label %if.t29, label %if.j30
+if.t29:
+ %t99 = load ptr, ptr %sc_l_url_0
+ %t100 = load i32, ptr %sc_l_qi_0
+ %t101 = sitofp i32 %t100 to double
+ %t102 = call ptr @scr_str_slice(ptr %t99, double 0x0000000000000000, double %t101)
+ %t103 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t103)
+ store ptr %t102, ptr %sc_l_path_0
+ %t104 = load ptr, ptr %sc_l_url_0
+ %t105 = load i32, ptr %sc_l_qi_0
+ %t106 = sitofp i32 %t105 to double
+ %t108 = sext i32 %t105 to i64
+ %t109 = add nsw i64 %t108, 1
+ %t111 = trunc i64 %t109 to i32
+ %t110 = sitofp i64 %t109 to double
+ %t112 = fdiv double 0x3FF0000000000000, 0x0000000000000000
+ %t113 = call ptr @scr_str_slice(ptr %t104, double %t110, double %t112)
+ %t114 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t114)
+ store ptr %t113, ptr %sc_l_qs_0
+ br label %if.j30
+if.j30:
+ %t115 = load ptr, ptr %sc_l_this_0
+ %t116 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t115, i64 0, i32 1
+ %t117 = load ptr, ptr %t116, !tbaa !32
+ %t118 = load ptr, ptr %sc_l_path_0
+ %t119 = call ptr @sc_bf__x25_m5_matchPath(ptr %t117, ptr %t118)
+ %t120 = load i32, ptr %exc.cell
+ %t121 = icmp ne i32 %t120, 0
+ %t122 = call i1 @llvm.expect.i1(i1 %t121, i1 false)
+ br i1 %t122, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rrelease_r5(ptr %t119)
+ br label %exc.cleanup33
+exc.k32:
+ store ptr %t119, ptr %sc_l_node_0
+ %t123 = call ptr @scr_box_new_obj(ptr @scr_union_retain_v, ptr @scr_union_release_v, ptr @scr_union_trace_v) ; let chain (boxed)
+ store ptr %t123, ptr %sc_l_chain_0
+ %t124 = load ptr, ptr %sc_l_this_0
+ %t125 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t124, i64 0, i32 9
+ %t126 = load ptr, ptr %t125, !tbaa !180
+ %t127 = call ptr @scr_closure_retain_v(ptr %t126)
+ %t128 = call ptr @scr_union_new_ref(i32 0, ptr %t127, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ call void @scr_box_set_ref(ptr %t123, ptr %t128)
+ store double 0x0000000000000000, ptr %s134
+ store i32 0, ptr %s133
+ %t136 = getelementptr inbounds %ScrUnion, ptr %s132, i64 0, i32 1
+ %t135 = load i32, ptr %t136
+ %t137 = getelementptr inbounds %ScrUnion, ptr %s132, i32 0, i32 5
+ %t138 = load i64, ptr %t137
+ store i32 %t135, ptr %s130
+ store i64 %t138, ptr %s131
+ store ptr %s129, ptr %sc_l_body_0
+ store double 0xBFF0000000000000, ptr %s144
+ store i32 0, ptr %s143
+ %t146 = getelementptr inbounds %ScrUnion, ptr %s142, i64 0, i32 1
+ %t145 = load i32, ptr %t146
+ %t147 = getelementptr inbounds %ScrUnion, ptr %s142, i32 0, i32 5
+ %t148 = load i64, ptr %t147
+ store i32 %t145, ptr %s140
+ store i64 %t148, ptr %s141
+ store ptr %s139, ptr %sc_l_idx_0
+ %t149 = load ptr, ptr %sc_l_node_0
+ %t151 = icmp ne ptr %t149, @sc_nullable_null
+ br i1 %t151, label %if.t34, label %if.j35
+if.t34:
+ %t152 = load ptr, ptr %sc_l_node_0
+ %t153 = call ptr @sc_bf__x25_union_retag_1(ptr %t152) ; borrowed result
+ %t154 = load i32, ptr %exc.cell
+ %t155 = icmp ne i32 %t154, 0
+ %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false)
+ br i1 %t156, label %exc.u36, label %exc.k37
+exc.u36:
+ br label %exc.cleanup38
+exc.k37:
+ %t157 = load ptr, ptr %sc_l_method_0
+ %t158 = call double @sc_bf__x25_m5_findEntry(ptr %t153, ptr %t157)
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u39, label %exc.k40
+exc.u39:
+ br label %exc.cleanup38
+exc.k40:
+ store double %t158, ptr %sc_l_j_0
+ %t162 = load double, ptr %sc_l_j_0
+ %t163 = fcmp oge double %t162, 0x0000000000000000
+ br i1 %t163, label %if.t41, label %if.f43
+if.t41:
+ %t165 = load ptr, ptr %sc_l_node_0
+ %t167 = icmp ne ptr %t165, null
+ %t168 = icmp ne ptr %t165, @sc_nullable_null
+ %t169 = and i1 %t167, %t168
+ br i1 %t169, label %read.then44, label %read.else45
+read.then44:
+ %t171 = load ptr, ptr %sc_l_node_0
+ store ptr %t171, ptr %s170
+ br label %read.join46
+read.else45:
+ %t172 = load ptr, ptr %sc_l_node_0
+ %t174 = icmp eq ptr %t172, @sc_nullable_null
+ br i1 %t174, label %read.then47, label %read.else48
+read.then47:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518)
+ br label %exc.cleanup38
+exc.dead50:
+ store ptr null, ptr %s175
+ br label %read.join49
+read.else48:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup38
+exc.dead51:
+ store ptr null, ptr %s175
+ br label %read.join49
+read.join49:
+ %t176 = load ptr, ptr %s175
+ store ptr %t176, ptr %s170
+ br label %read.join46
+read.join46:
+ %t177 = load ptr, ptr %s170
+ %t178 = getelementptr inbounds %sc_rs_r5, ptr %t177, i64 0, i32 2
+ %t179 = load ptr, ptr %t178
+ %t180 = load double, ptr %sc_l_j_0
+ %t184 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 2
+ %t185 = load i64, ptr %t184, !tbaa !2
+ %t186 = fptosi double %t180 to i64
+ %t187 = freeze i64 %t186
+ %t188 = sitofp i64 %t187 to double
+ %t189 = fcmp oeq double %t188, %t180
+ %t190 = icmp ult i64 %t187, %t185
+ %t191 = and i1 %t189, %t190
+ br i1 %t191, label %local.array.range55, label %local.array.slow52
+local.array.range55:
+ br label %local.array.dense56
+local.array.dense56:
+ %t192 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 6
+ %t193 = load i32, ptr %t192, !tbaa !2
+ %t195 = zext i32 %t193 to i64
+ %t194 = icmp ult i64 %t187, %t195
+ br i1 %t194, label %local.array.value58, label %local.array.len57
+local.array.len57:
+ %t196 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 1
+ %t197 = load i64, ptr %t196, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t198 = icmp ult i64 %t187, %t197
+ br i1 %t198, label %local.array.state59, label %local.array.missing53
+local.array.state59:
+ %t199 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 9
+ %t200 = load ptr, ptr %t199, !tbaa !2
+ %t201 = getelementptr inbounds i8, ptr %t200, i64 %t187
+ %t202 = load i8, ptr %t201, !tbaa !4
+ %t203 = icmp eq i8 %t202, 1
+ br i1 %t203, label %local.array.value58, label %local.array.missing53
+local.array.value58:
+ %t204 = getelementptr inbounds %ScrArr, ptr %t179, i32 0, i32 8
+ %t205 = load ptr, ptr %t204, !tbaa !2
+ %t206 = getelementptr inbounds i64, ptr %t205, i64 %t187
+ %t207 = load i64, ptr %t206, !tbaa !6
+ store i64 %t207, ptr %s182
+ store i32 0, ptr %s183
+ br label %local.array.join54
+local.array.slow52:
+ %t208 = call double @scr_arr_state(ptr %t179, double %t180) cold memory(read, inaccessiblemem: readwrite)
+ %t209 = fcmp oeq double %t208, 1.0
+ br i1 %t209, label %local.array.slow.value60, label %local.array.missing53
+local.array.slow.value60:
+ %t210 = call double @scr_arr_get_f64(ptr %t179, double %t180) cold memory(read, inaccessiblemem: readwrite)
+ %t211 = bitcast double %t210 to i64
+ store i64 %t211, ptr %s182
+ store i32 0, ptr %s183
+ br label %local.array.join54
+local.array.missing53:
+ store i64 0, ptr %s182
+ store i32 1, ptr %s183
+ br label %local.array.join54
+local.array.join54:
+ store ptr %s181, ptr %s164
+ %t212 = load ptr, ptr %s164
+ %t214 = getelementptr inbounds %ScrUnion, ptr %t212, i64 0, i32 1
+ %t213 = load i32, ptr %t214
+ %t215 = getelementptr inbounds %ScrUnion, ptr %t212, i32 0, i32 5
+ %t216 = load i64, ptr %t215
+ store i32 %t213, ptr %s140
+ store i64 %t216, ptr %s141
+ %t217 = load ptr, ptr %sc_l_this_0
+ %t218 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t217, i64 0, i32 8
+ %t219 = load ptr, ptr %t218, !tbaa !178
+ %t220 = load ptr, ptr %sc_l_idx_0
+ %t223 = getelementptr inbounds %ScrUnion, ptr %t220, i64 0, i32 1
+ %t222 = load i32, ptr %t223
+ %t221 = icmp eq i32 %t222, 1
+ br i1 %t221, label %tern.t61, label %tern.f62
+tern.t61:
+ store double 0x7FF8000000000000, ptr %s224
+ br label %tern.j63
+tern.f62:
+ %t226 = load ptr, ptr %sc_l_idx_0
+ %t227 = getelementptr inbounds %ScrUnion, ptr %t226, i64 0, i32 5
+ %t228 = load double, ptr %t227
+ store double %t228, ptr %s224
+ br label %tern.j63
+tern.j63:
+ %t229 = load double, ptr %s224
+ %t230 = call ptr @sc_bf__x25_arr_idxOr_2(ptr %t219, double %t229)
+ %t231 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_set_ref(ptr %t231, ptr %t230)
+ %t233 = load ptr, ptr %sc_l_this_0
+ %t234 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t233, i64 0, i32 13
+ %t235 = load ptr, ptr %t234, !tbaa !38
+ %t236 = load ptr, ptr %sc_l_idx_0
+ %t239 = getelementptr inbounds %ScrUnion, ptr %t236, i64 0, i32 1
+ %t238 = load i32, ptr %t239
+ %t237 = icmp eq i32 %t238, 1
+ br i1 %t237, label %tern.t64, label %tern.f65
+tern.t64:
+ store double 0x7FF8000000000000, ptr %s240
+ br label %tern.j66
+tern.f65:
+ %t242 = load ptr, ptr %sc_l_idx_0
+ %t243 = getelementptr inbounds %ScrUnion, ptr %t242, i64 0, i32 5
+ %t244 = load double, ptr %t243
+ store double %t244, ptr %s240
+ br label %tern.j66
+tern.j66:
+ %t245 = load double, ptr %s240
+ %t249 = getelementptr inbounds %ScrArr, ptr %t235, i32 0, i32 2
+ %t250 = load i64, ptr %t249, !tbaa !2
+ %t251 = fptosi double %t245 to i64
+ %t252 = freeze i64 %t251
+ %t253 = sitofp i64 %t252 to double
+ %t254 = fcmp oeq double %t253, %t245
+ %t255 = icmp ult i64 %t252, %t250
+ %t256 = and i1 %t254, %t255
+ br i1 %t256, label %local.array.range70, label %local.array.slow67
+local.array.range70:
+ br label %local.array.dense71
+local.array.dense71:
+ %t257 = getelementptr inbounds %ScrArr, ptr %t235, i32 0, i32 6
+ %t258 = load i32, ptr %t257, !tbaa !2
+ %t260 = zext i32 %t258 to i64
+ %t259 = icmp ult i64 %t252, %t260
+ br i1 %t259, label %local.array.value73, label %local.array.len72
+local.array.len72:
+ %t261 = getelementptr inbounds %ScrArr, ptr %t235, i32 0, i32 1
+ %t262 = load i64, ptr %t261, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t263 = icmp ult i64 %t252, %t262
+ br i1 %t263, label %local.array.state74, label %local.array.missing68
+local.array.state74:
+ %t264 = getelementptr inbounds %ScrArr, ptr %t235, i32 0, i32 9
+ %t265 = load ptr, ptr %t264, !tbaa !2
+ %t266 = getelementptr inbounds i8, ptr %t265, i64 %t252
+ %t267 = load i8, ptr %t266, !tbaa !4
+ %t268 = icmp eq i8 %t267, 1
+ br i1 %t268, label %local.array.value73, label %local.array.missing68
+local.array.value73:
+ %t269 = getelementptr inbounds %ScrArr, ptr %t235, i32 0, i32 8
+ %t270 = load ptr, ptr %t269, !tbaa !2
+ %t271 = getelementptr inbounds i64, ptr %t270, i64 %t252
+ %t272 = load i64, ptr %t271, !tbaa !6
+ store i64 %t272, ptr %s247
+ store i32 0, ptr %s248
+ br label %local.array.join69
+local.array.slow67:
+ %t273 = call double @scr_arr_state(ptr %t235, double %t245) cold memory(read, inaccessiblemem: readwrite)
+ %t274 = fcmp oeq double %t273, 1.0
+ br i1 %t274, label %local.array.slow.value75, label %local.array.missing68
+local.array.slow.value75:
+ %t275 = call double @scr_arr_get_f64(ptr %t235, double %t245) cold memory(read, inaccessiblemem: readwrite)
+ %t276 = bitcast double %t275 to i64
+ store i64 %t276, ptr %s247
+ store i32 0, ptr %s248
+ br label %local.array.join69
+local.array.missing68:
+ store i64 0, ptr %s247
+ store i32 1, ptr %s248
+ br label %local.array.join69
+local.array.join69:
+ store ptr %s246, ptr %s232
+ %t277 = load ptr, ptr %s232
+ %t279 = getelementptr inbounds %ScrUnion, ptr %t277, i64 0, i32 1
+ %t278 = load i32, ptr %t279
+ %t280 = getelementptr inbounds %ScrUnion, ptr %t277, i32 0, i32 5
+ %t281 = load i64, ptr %t280
+ store i32 %t278, ptr %s130
+ store i64 %t281, ptr %s131
+ br label %if.j42
+if.f43:
+ %t282 = load ptr, ptr %sc_l_node_0
+ %t284 = icmp ne ptr %t282, null
+ %t285 = icmp ne ptr %t282, @sc_nullable_null
+ %t286 = and i1 %t284, %t285
+ br i1 %t286, label %read.then76, label %read.else77
+read.then76:
+ %t288 = load ptr, ptr %sc_l_node_0
+ store ptr %t288, ptr %s287
+ br label %read.join78
+read.else77:
+ %t289 = load ptr, ptr %sc_l_node_0
+ %t291 = icmp eq ptr %t289, @sc_nullable_null
+ br i1 %t291, label %read.then79, label %read.else80
+read.then79:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518)
+ br label %exc.cleanup38
+exc.dead82:
+ store ptr null, ptr %s292
+ br label %read.join81
+read.else80:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup38
+exc.dead83:
+ store ptr null, ptr %s292
+ br label %read.join81
+read.join81:
+ %t293 = load ptr, ptr %s292
+ store ptr %t293, ptr %s287
+ br label %read.join78
+read.join78:
+ %t294 = load ptr, ptr %s287
+ %t295 = getelementptr inbounds %sc_rs_r5, ptr %t294, i64 0, i32 2
+ %t296 = load ptr, ptr %t295
+ %t297 = getelementptr inbounds %ScrArr, ptr %t296, i32 0, i32 1
+ %t298 = load i64, ptr %t297, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t299 = sitofp i64 %t298 to double
+ %t301 = fptosi double %t299 to i64
+ %t300 = icmp sgt i64 %t301, 0
+ br i1 %t300, label %if.t84, label %if.j85
+if.t84:
+ %t302 = load ptr, ptr %sc_l_node_0
+ %t303 = load ptr, ptr %sc_l_req_0
+ %t304 = load ptr, ptr %sc_l_sink_0
+ %t305 = load ptr, ptr %sc_l_oef_1
+ call void @sc_bf__x25_m5_allow405(ptr %t302, ptr %t303, ptr %t304, ptr %t305)
+ %t306 = load i32, ptr %exc.cell
+ %t307 = icmp ne i32 %t306, 0
+ %t308 = call i1 @llvm.expect.i1(i1 %t307, i1 false)
+ br i1 %t308, label %exc.u86, label %exc.k87
+exc.u86:
+ br label %exc.cleanup38
+exc.k87:
+ %t309 = load ptr, ptr %s0
+ %t310 = icmp ne ptr %t309, null
+ br i1 %t310, label %lazy.release88, label %lazy.release.j89
+lazy.release88:
+ call void @scr_box_release(ptr %t309)
+ br label %lazy.release.j89
+lazy.release.j89:
+ %t311 = load ptr, ptr %sc_l_genRes_0
+ call void @scr_union_release(ptr %t311)
+ %t312 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t312)
+ %t313 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t313)
+ %t314 = load ptr, ptr %sc_l_method_0
+ call void @scr_str_release(ptr %t314)
+ %t315 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t315)
+ %t316 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t316)
+ %t317 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t317)
+ %t318 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t318)
+ %t319 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t319)
+ ret void
+if.j85:
+ br label %if.j42
+if.j42:
+ br label %if.j35
+if.j35:
+ %t320 = call ptr @sc_new__x25_m5_ReqViewCore()
+ %t321 = load ptr, ptr %sc_l_req_0
+ %t322 = call ptr @scr_http_req_retain_v(ptr %t321)
+ %t323 = call ptr @scr_union_new_ref(i32 0, ptr %t322, ptr @scr_http_req_retain_v, ptr @scr_http_req_release_v, ptr null)
+ %t324 = load ptr, ptr %sc_l_qs_0
+ %t325 = load ptr, ptr %sc_l_path_0
+ %t326 = load ptr, ptr %sc_l_url_0
+ call void @sc_bf__x25__x25_m5_ReqViewCore_constructor(ptr %t320, ptr %t323, ptr %t324, ptr %t325, ptr %t326, ptr null, ptr null, ptr null)
+ %t327 = load i32, ptr %exc.cell
+ %t328 = icmp ne i32 %t327, 0
+ %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false)
+ br i1 %t329, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @scr_union_release(ptr %t323)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t320)
+ br label %exc.cleanup38
+exc.k91:
+ call void @scr_union_release(ptr %t323)
+ store ptr %t320, ptr %sc_l_rv_1
+ %t330 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_trace__x25_m5_ReqViewCore) ; let rv (boxed)
+ store ptr %t330, ptr %sc_l_rv_0
+ %t331 = load ptr, ptr %sc_l_rv_1
+ %t332 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t331)
+ call void @scr_box_set_ref(ptr %t330, ptr %t332)
+ %t333 = load ptr, ptr %sc_l_idx_0
+ %t336 = getelementptr inbounds %ScrUnion, ptr %t333, i64 0, i32 1
+ %t335 = load i32, ptr %t336
+ %t334 = icmp eq i32 %t335, 1
+ br i1 %t334, label %tern.t92, label %tern.f93
+tern.t92:
+ store double 0x7FF8000000000000, ptr %s337
+ br label %tern.j94
+tern.f93:
+ %t339 = load ptr, ptr %sc_l_idx_0
+ %t340 = getelementptr inbounds %ScrUnion, ptr %t339, i64 0, i32 5
+ %t341 = load double, ptr %t340
+ store double %t341, ptr %s337
+ br label %tern.j94
+tern.j94:
+ %t342 = load double, ptr %s337
+ %t343 = fcmp oge double %t342, 0x0000000000000000
+ br i1 %t343, label %if.t95, label %if.j96
+if.t95:
+ %t344 = load ptr, ptr %sc_l_rv_1
+ %t346 = load ptr, ptr %sc_l_this_0
+ %t347 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t346, i64 0, i32 10
+ %t348 = load ptr, ptr %t347, !tbaa !150
+ %t349 = load ptr, ptr %sc_l_idx_0
+ %t352 = getelementptr inbounds %ScrUnion, ptr %t349, i64 0, i32 1
+ %t351 = load i32, ptr %t352
+ %t350 = icmp eq i32 %t351, 1
+ br i1 %t350, label %tern.t97, label %tern.f98
+tern.t97:
+ store double 0x7FF8000000000000, ptr %s353
+ br label %tern.j99
+tern.f98:
+ %t355 = load ptr, ptr %sc_l_idx_0
+ %t356 = getelementptr inbounds %ScrUnion, ptr %t355, i64 0, i32 5
+ %t357 = load double, ptr %t356
+ store double %t357, ptr %s353
+ br label %tern.j99
+tern.j99:
+ %t358 = load double, ptr %s353
+ %t359 = getelementptr inbounds %ScrArr, ptr %t348, i32 0, i32 2
+ %t360 = load i64, ptr %t359, !tbaa !2
+ %t361 = fptosi double %t358 to i64
+ %t362 = freeze i64 %t361
+ %t363 = sitofp i64 %t362 to double
+ %t364 = fcmp oeq double %t363, %t358
+ %t365 = icmp ult i64 %t362, %t360
+ %t366 = and i1 %t364, %t365
+ br i1 %t366, label %local.array.range103, label %local.array.slow100
+local.array.range103:
+ br label %local.array.dense104
+local.array.dense104:
+ %t367 = getelementptr inbounds %ScrArr, ptr %t348, i32 0, i32 6
+ %t368 = load i32, ptr %t367, !tbaa !2
+ %t370 = zext i32 %t368 to i64
+ %t369 = icmp ult i64 %t362, %t370
+ br i1 %t369, label %local.array.value106, label %local.array.len105
+local.array.len105:
+ %t371 = getelementptr inbounds %ScrArr, ptr %t348, i32 0, i32 1
+ %t372 = load i64, ptr %t371, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t373 = icmp ult i64 %t362, %t372
+ br i1 %t373, label %local.array.state107, label %local.array.missing101
+local.array.state107:
+ %t374 = getelementptr inbounds %ScrArr, ptr %t348, i32 0, i32 9
+ %t375 = load ptr, ptr %t374, !tbaa !2
+ %t376 = getelementptr inbounds i8, ptr %t375, i64 %t362
+ %t377 = load i8, ptr %t376, !tbaa !4
+ %t378 = icmp eq i8 %t377, 1
+ br i1 %t378, label %local.array.value106, label %local.array.missing101
+local.array.value106:
+ %t379 = getelementptr inbounds %ScrArr, ptr %t348, i32 0, i32 8
+ %t380 = load ptr, ptr %t379, !tbaa !2
+ %t381 = getelementptr inbounds i64, ptr %t380, i64 %t362
+ %t382 = load ptr, ptr %t381, !tbaa !6
+ store ptr %t382, ptr %s345
+ br label %local.array.join102
+local.array.slow100:
+ %t383 = call ptr @scr_arr_peek_ref(ptr %t348, double %t358)
+ %t384 = icmp ne ptr %t383, null
+ br i1 %t384, label %local.array.slow.value108, label %local.array.missing101
+local.array.slow.value108:
+ store ptr %t383, ptr %s345
+ br label %local.array.join102
+local.array.missing101:
+ store ptr null, ptr %s345
+ br label %local.array.join102
+local.array.join102:
+ %t385 = load ptr, ptr %s345
+ %t386 = call ptr @sc_bf__x25_union_narrow_4(ptr %t385)
+ %t387 = load i32, ptr %exc.cell
+ %t388 = icmp ne i32 %t387, 0
+ %t389 = call i1 @llvm.expect.i1(i1 %t388, i1 false)
+ br i1 %t389, label %exc.u109, label %exc.k110
+exc.u109:
+ br label %exc.cleanup111
+exc.k110:
+ %t390 = call ptr @scr_arr_retain_v(ptr %t386)
+ %t391 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t344, i64 0, i32 11
+ %t392 = load ptr, ptr %t391
+ store ptr %t390, ptr %t391, !tbaa !150
+ call void @scr_arr_release(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_rv_1
+ %t395 = load ptr, ptr %sc_l_this_0
+ %t396 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t395, i64 0, i32 11
+ %t397 = load ptr, ptr %t396, !tbaa !152
+ %t398 = load ptr, ptr %sc_l_idx_0
+ %t401 = getelementptr inbounds %ScrUnion, ptr %t398, i64 0, i32 1
+ %t400 = load i32, ptr %t401
+ %t399 = icmp eq i32 %t400, 1
+ br i1 %t399, label %tern.t112, label %tern.f113
+tern.t112:
+ store double 0x7FF8000000000000, ptr %s402
+ br label %tern.j114
+tern.f113:
+ %t404 = load ptr, ptr %sc_l_idx_0
+ %t405 = getelementptr inbounds %ScrUnion, ptr %t404, i64 0, i32 5
+ %t406 = load double, ptr %t405
+ store double %t406, ptr %s402
+ br label %tern.j114
+tern.j114:
+ %t407 = load double, ptr %s402
+ %t408 = getelementptr inbounds %ScrArr, ptr %t397, i32 0, i32 2
+ %t409 = load i64, ptr %t408, !tbaa !2
+ %t410 = fptosi double %t407 to i64
+ %t411 = freeze i64 %t410
+ %t412 = sitofp i64 %t411 to double
+ %t413 = fcmp oeq double %t412, %t407
+ %t414 = icmp ult i64 %t411, %t409
+ %t415 = and i1 %t413, %t414
+ br i1 %t415, label %local.array.range118, label %local.array.slow115
+local.array.range118:
+ br label %local.array.dense119
+local.array.dense119:
+ %t416 = getelementptr inbounds %ScrArr, ptr %t397, i32 0, i32 6
+ %t417 = load i32, ptr %t416, !tbaa !2
+ %t419 = zext i32 %t417 to i64
+ %t418 = icmp ult i64 %t411, %t419
+ br i1 %t418, label %local.array.value121, label %local.array.len120
+local.array.len120:
+ %t420 = getelementptr inbounds %ScrArr, ptr %t397, i32 0, i32 1
+ %t421 = load i64, ptr %t420, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t422 = icmp ult i64 %t411, %t421
+ br i1 %t422, label %local.array.state122, label %local.array.missing116
+local.array.state122:
+ %t423 = getelementptr inbounds %ScrArr, ptr %t397, i32 0, i32 9
+ %t424 = load ptr, ptr %t423, !tbaa !2
+ %t425 = getelementptr inbounds i8, ptr %t424, i64 %t411
+ %t426 = load i8, ptr %t425, !tbaa !4
+ %t427 = icmp eq i8 %t426, 1
+ br i1 %t427, label %local.array.value121, label %local.array.missing116
+local.array.value121:
+ %t428 = getelementptr inbounds %ScrArr, ptr %t397, i32 0, i32 8
+ %t429 = load ptr, ptr %t428, !tbaa !2
+ %t430 = getelementptr inbounds i64, ptr %t429, i64 %t411
+ %t431 = load ptr, ptr %t430, !tbaa !6
+ store ptr %t431, ptr %s394
+ br label %local.array.join117
+local.array.slow115:
+ %t432 = call ptr @scr_arr_peek_ref(ptr %t397, double %t407)
+ %t433 = icmp ne ptr %t432, null
+ br i1 %t433, label %local.array.slow.value123, label %local.array.missing116
+local.array.slow.value123:
+ store ptr %t432, ptr %s394
+ br label %local.array.join117
+local.array.missing116:
+ store ptr null, ptr %s394
+ br label %local.array.join117
+local.array.join117:
+ %t434 = load ptr, ptr %s394
+ %t435 = call ptr @sc_bf__x25_union_narrow_5(ptr %t434)
+ %t436 = load i32, ptr %exc.cell
+ %t437 = icmp ne i32 %t436, 0
+ %t438 = call i1 @llvm.expect.i1(i1 %t437, i1 false)
+ br i1 %t438, label %exc.u124, label %exc.k125
+exc.u124:
+ br label %exc.cleanup111
+exc.k125:
+ %t439 = call ptr @scr_arr_retain_v(ptr %t435)
+ %t440 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t393, i64 0, i32 12
+ %t441 = load ptr, ptr %t440
+ store ptr %t439, ptr %t440, !tbaa !152
+ call void @scr_arr_release(ptr %t441)
+ %t442 = load ptr, ptr %sc_l_rv_1
+ %t444 = load ptr, ptr %sc_l_this_0
+ %t445 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t444, i64 0, i32 12
+ %t446 = load ptr, ptr %t445, !tbaa !154
+ %t447 = load ptr, ptr %sc_l_idx_0
+ %t450 = getelementptr inbounds %ScrUnion, ptr %t447, i64 0, i32 1
+ %t449 = load i32, ptr %t450
+ %t448 = icmp eq i32 %t449, 1
+ br i1 %t448, label %tern.t126, label %tern.f127
+tern.t126:
+ store double 0x7FF8000000000000, ptr %s451
+ br label %tern.j128
+tern.f127:
+ %t453 = load ptr, ptr %sc_l_idx_0
+ %t454 = getelementptr inbounds %ScrUnion, ptr %t453, i64 0, i32 5
+ %t455 = load double, ptr %t454
+ store double %t455, ptr %s451
+ br label %tern.j128
+tern.j128:
+ %t456 = load double, ptr %s451
+ %t460 = getelementptr inbounds %ScrArr, ptr %t446, i32 0, i32 2
+ %t461 = load i64, ptr %t460, !tbaa !2
+ %t462 = fptosi double %t456 to i64
+ %t463 = freeze i64 %t462
+ %t464 = sitofp i64 %t463 to double
+ %t465 = fcmp oeq double %t464, %t456
+ %t466 = icmp ult i64 %t463, %t461
+ %t467 = and i1 %t465, %t466
+ br i1 %t467, label %local.array.range132, label %local.array.slow129
+local.array.range132:
+ br label %local.array.dense133
+local.array.dense133:
+ %t468 = getelementptr inbounds %ScrArr, ptr %t446, i32 0, i32 6
+ %t469 = load i32, ptr %t468, !tbaa !2
+ %t471 = zext i32 %t469 to i64
+ %t470 = icmp ult i64 %t463, %t471
+ br i1 %t470, label %local.array.value135, label %local.array.len134
+local.array.len134:
+ %t472 = getelementptr inbounds %ScrArr, ptr %t446, i32 0, i32 1
+ %t473 = load i64, ptr %t472, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t474 = icmp ult i64 %t463, %t473
+ br i1 %t474, label %local.array.state136, label %local.array.missing130
+local.array.state136:
+ %t475 = getelementptr inbounds %ScrArr, ptr %t446, i32 0, i32 9
+ %t476 = load ptr, ptr %t475, !tbaa !2
+ %t477 = getelementptr inbounds i8, ptr %t476, i64 %t463
+ %t478 = load i8, ptr %t477, !tbaa !4
+ %t479 = icmp eq i8 %t478, 1
+ br i1 %t479, label %local.array.value135, label %local.array.missing130
+local.array.value135:
+ %t480 = getelementptr inbounds %ScrArr, ptr %t446, i32 0, i32 8
+ %t481 = load ptr, ptr %t480, !tbaa !2
+ %t482 = getelementptr inbounds i64, ptr %t481, i64 %t463
+ %t483 = load i64, ptr %t482, !tbaa !6
+ store i64 %t483, ptr %s458
+ store i32 0, ptr %s459
+ br label %local.array.join131
+local.array.slow129:
+ %t484 = call double @scr_arr_state(ptr %t446, double %t456) cold memory(read, inaccessiblemem: readwrite)
+ %t485 = fcmp oeq double %t484, 1.0
+ br i1 %t485, label %local.array.slow.value137, label %local.array.missing130
+local.array.slow.value137:
+ %t486 = call double @scr_arr_get_f64(ptr %t446, double %t456) cold memory(read, inaccessiblemem: readwrite)
+ %t487 = bitcast double %t486 to i64
+ store i64 %t487, ptr %s458
+ store i32 0, ptr %s459
+ br label %local.array.join131
+local.array.missing130:
+ store i64 0, ptr %s458
+ store i32 1, ptr %s459
+ br label %local.array.join131
+local.array.join131:
+ store ptr %s457, ptr %s443
+ %t488 = load ptr, ptr %s443
+ %t489 = call double @sc_bf__x25_union_narrow_1(ptr %t488)
+ %t490 = load i32, ptr %exc.cell
+ %t491 = icmp ne i32 %t490, 0
+ %t492 = call i1 @llvm.expect.i1(i1 %t491, i1 false)
+ br i1 %t492, label %exc.u138, label %exc.k139
+exc.u138:
+ br label %exc.cleanup111
+exc.k139:
+ %t493 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t442, i64 0, i32 13
+ store double %t489, ptr %t493, !tbaa !154
+ br label %if.j96
+if.j96:
+ %t494 = call ptr @sc_new__x25_m5_CtxCore()
+ %t495 = load ptr, ptr %sc_l_rv_1
+ %t496 = load ptr, ptr %sc_l_sink_0
+ call void @sc_bf__x25__x25_m5_CtxCore_constructor(ptr %t494, ptr %t495, ptr %t496)
+ %t497 = load i32, ptr %exc.cell
+ %t498 = icmp ne i32 %t497, 0
+ %t499 = call i1 @llvm.expect.i1(i1 %t498, i1 false)
+ br i1 %t499, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_release__x25_m5_CtxCore(ptr %t494)
+ br label %exc.cleanup111
+exc.k141:
+ store ptr %t494, ptr %sc_l_c_1
+ %t500 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore) ; let c (boxed)
+ store ptr %t500, ptr %sc_l_c_0
+ %t501 = load ptr, ptr %sc_l_c_1
+ %t502 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t501)
+ call void @scr_box_set_ref(ptr %t500, ptr %t502)
+ %t503 = load ptr, ptr %sc_l_method_0
+ %t504 = call i1 @sc_bf__x25_m5_bodyMethod(ptr %t503)
+ store i1 %t504, ptr %sc_l_carrying_0
+ %t505 = load ptr, ptr %sc_l_idx_0
+ %t508 = getelementptr inbounds %ScrUnion, ptr %t505, i64 0, i32 1
+ %t507 = load i32, ptr %t508
+ %t506 = icmp eq i32 %t507, 1
+ br i1 %t506, label %tern.t142, label %tern.f143
+tern.t142:
+ store double 0x7FF8000000000000, ptr %s509
+ br label %tern.j144
+tern.f143:
+ %t511 = load ptr, ptr %sc_l_idx_0
+ %t512 = getelementptr inbounds %ScrUnion, ptr %t511, i64 0, i32 5
+ %t513 = load double, ptr %t512
+ store double %t513, ptr %s509
+ br label %tern.j144
+tern.j144:
+ %t514 = load double, ptr %s509
+ %t515 = fcmp oge double %t514, 0x0000000000000000
+ store i1 %t515, ptr %s516
+ br i1 %t515, label %log.r145, label %log.j146
+log.r145:
+ %t517 = load ptr, ptr %sc_l_this_0
+ %t518 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t517, i64 0, i32 14
+ %t519 = load ptr, ptr %t518, !tbaa !40
+ %t520 = load ptr, ptr %sc_l_idx_0
+ %t523 = getelementptr inbounds %ScrUnion, ptr %t520, i64 0, i32 1
+ %t522 = load i32, ptr %t523
+ %t521 = icmp eq i32 %t522, 1
+ br i1 %t521, label %tern.t147, label %tern.f148
+tern.t147:
+ store double 0x7FF8000000000000, ptr %s524
+ br label %tern.j149
+tern.f148:
+ %t526 = load ptr, ptr %sc_l_idx_0
+ %t527 = getelementptr inbounds %ScrUnion, ptr %t526, i64 0, i32 5
+ %t528 = load double, ptr %t527
+ store double %t528, ptr %s524
+ br label %tern.j149
+tern.j149:
+ %t529 = load double, ptr %s524
+ %t530 = getelementptr inbounds %ScrArr, ptr %t519, i32 0, i32 2
+ %t531 = load i64, ptr %t530, !tbaa !2
+ %t532 = fptosi double %t529 to i64
+ %t533 = freeze i64 %t532
+ %t534 = sitofp i64 %t533 to double
+ %t535 = fcmp oeq double %t534, %t529
+ %t536 = icmp ult i64 %t533, %t531
+ %t537 = and i1 %t535, %t536
+ br i1 %t537, label %local.array.range153, label %local.array.slow150
+local.array.range153:
+ br label %local.array.dense154
+local.array.dense154:
+ %t538 = getelementptr inbounds %ScrArr, ptr %t519, i32 0, i32 6
+ %t539 = load i32, ptr %t538, !tbaa !2
+ %t541 = zext i32 %t539 to i64
+ %t540 = icmp ult i64 %t533, %t541
+ br i1 %t540, label %local.array.value156, label %local.array.len155
+local.array.len155:
+ %t542 = getelementptr inbounds %ScrArr, ptr %t519, i32 0, i32 1
+ %t543 = load i64, ptr %t542, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t544 = icmp ult i64 %t533, %t543
+ br i1 %t544, label %local.array.state157, label %local.array.missing151
+local.array.state157:
+ %t545 = getelementptr inbounds %ScrArr, ptr %t519, i32 0, i32 9
+ %t546 = load ptr, ptr %t545, !tbaa !2
+ %t547 = getelementptr inbounds i8, ptr %t546, i64 %t533
+ %t548 = load i8, ptr %t547, !tbaa !4
+ %t549 = icmp eq i8 %t548, 1
+ br i1 %t549, label %local.array.value156, label %local.array.missing151
+local.array.value156:
+ %t550 = getelementptr inbounds %ScrArr, ptr %t519, i32 0, i32 8
+ %t551 = load ptr, ptr %t550, !tbaa !2
+ %t552 = getelementptr inbounds i64, ptr %t551, i64 %t533
+ %t553 = load ptr, ptr %t552, !tbaa !6
+ %t554 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t553)
+ store ptr %t554, ptr %sc_l__x25_propertyRecv_1
+ br label %local.array.join152
+local.array.slow150:
+ %t555 = call ptr @scr_arr_peek_ref(ptr %t519, double %t529)
+ %t556 = icmp ne ptr %t555, null
+ br i1 %t556, label %local.array.slow.value158, label %local.array.missing151
+local.array.slow.value158:
+ %t557 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t555)
+ store ptr %t557, ptr %sc_l__x25_propertyRecv_1
+ br label %local.array.join152
+local.array.missing151:
+ store ptr null, ptr %sc_l__x25_propertyRecv_1
+ br label %local.array.join152
+local.array.join152:
+ %t558 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ %t560 = icmp eq ptr %t558, null
+ br i1 %t560, label %tern.t159, label %tern.f160
+tern.t159:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2357048268411583)
+ br label %exc.cleanup162
+exc.dead163:
+ store ptr null, ptr %s561
+ br label %tern.j161
+tern.f160:
+ %t562 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ %t563 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t562)
+ store ptr %t563, ptr %s561
+ br label %tern.j161
+tern.j161:
+ %t564 = load ptr, ptr %s561
+ %t565 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t564, i64 0, i32 1
+ %t566 = load double, ptr %t565, !tbaa !14
+ %t567 = fcmp oeq double %t566, 0x3FF0000000000000
+ store i1 %t567, ptr %s516
+ call void @sc_release__x25_m5_MpCfg(ptr %t564)
+ %t568 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ call void @sc_release__x25_m5_MpCfg(ptr %t568)
+ br label %log.j146
+log.j146:
+ %t569 = load i1, ptr %s516
+ store i1 %t569, ptr %s570
+ br i1 %t569, label %log.r164, label %log.j165
+log.r164:
+ %t571 = load i1, ptr %sc_l_carrying_0
+ store i1 %t571, ptr %s570
+ br label %log.j165
+log.j165:
+ %t572 = load i1, ptr %s570
+ br i1 %t572, label %if.t166, label %if.f168
+if.t166:
+ %t573 = load ptr, ptr %sc_l_req_0
+ %t574 = load ptr, ptr %sc_l_sink_0
+ %t575 = load ptr, ptr %sc_l_c_1
+ %t577 = load ptr, ptr %sc_l_this_0
+ %t578 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t577, i64 0, i32 14
+ %t579 = load ptr, ptr %t578, !tbaa !40
+ %t580 = load ptr, ptr %sc_l_idx_0
+ %t583 = getelementptr inbounds %ScrUnion, ptr %t580, i64 0, i32 1
+ %t582 = load i32, ptr %t583
+ %t581 = icmp eq i32 %t582, 1
+ br i1 %t581, label %tern.t169, label %tern.f170
+tern.t169:
+ store double 0x7FF8000000000000, ptr %s584
+ br label %tern.j171
+tern.f170:
+ %t586 = load ptr, ptr %sc_l_idx_0
+ %t587 = getelementptr inbounds %ScrUnion, ptr %t586, i64 0, i32 5
+ %t588 = load double, ptr %t587
+ store double %t588, ptr %s584
+ br label %tern.j171
+tern.j171:
+ %t589 = load double, ptr %s584
+ %t590 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 2
+ %t591 = load i64, ptr %t590, !tbaa !2
+ %t592 = fptosi double %t589 to i64
+ %t593 = freeze i64 %t592
+ %t594 = sitofp i64 %t593 to double
+ %t595 = fcmp oeq double %t594, %t589
+ %t596 = icmp ult i64 %t593, %t591
+ %t597 = and i1 %t595, %t596
+ br i1 %t597, label %local.array.range175, label %local.array.slow172
+local.array.range175:
+ br label %local.array.dense176
+local.array.dense176:
+ %t598 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 6
+ %t599 = load i32, ptr %t598, !tbaa !2
+ %t601 = zext i32 %t599 to i64
+ %t600 = icmp ult i64 %t593, %t601
+ br i1 %t600, label %local.array.value178, label %local.array.len177
+local.array.len177:
+ %t602 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 1
+ %t603 = load i64, ptr %t602, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t604 = icmp ult i64 %t593, %t603
+ br i1 %t604, label %local.array.state179, label %local.array.missing173
+local.array.state179:
+ %t605 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 9
+ %t606 = load ptr, ptr %t605, !tbaa !2
+ %t607 = getelementptr inbounds i8, ptr %t606, i64 %t593
+ %t608 = load i8, ptr %t607, !tbaa !4
+ %t609 = icmp eq i8 %t608, 1
+ br i1 %t609, label %local.array.value178, label %local.array.missing173
+local.array.value178:
+ %t610 = getelementptr inbounds %ScrArr, ptr %t579, i32 0, i32 8
+ %t611 = load ptr, ptr %t610, !tbaa !2
+ %t612 = getelementptr inbounds i64, ptr %t611, i64 %t593
+ %t613 = load ptr, ptr %t612, !tbaa !6
+ %t614 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t613)
+ store ptr %t614, ptr %s576
+ br label %local.array.join174
+local.array.slow172:
+ %t615 = call ptr @scr_arr_peek_ref(ptr %t579, double %t589)
+ %t616 = icmp ne ptr %t615, null
+ br i1 %t616, label %local.array.slow.value180, label %local.array.missing173
+local.array.slow.value180:
+ %t617 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t615)
+ store ptr %t617, ptr %s576
+ br label %local.array.join174
+local.array.missing173:
+ store ptr null, ptr %s576
+ br label %local.array.join174
+local.array.join174:
+ %t618 = load ptr, ptr %s576
+ %t619 = load ptr, ptr %sc_l_chain_0
+ %t620 = call ptr @scr_box_get_ref(ptr %t619)
+ %t621 = load ptr, ptr %sc_l_oef_1
+ call void @sc_bf__x25_m5_runMultipart(ptr %t573, ptr %t574, ptr %t575, ptr %t618, ptr %t620, ptr %t621)
+ %t622 = load i32, ptr %exc.cell
+ %t623 = icmp ne i32 %t622, 0
+ %t624 = call i1 @llvm.expect.i1(i1 %t623, i1 false)
+ br i1 %t624, label %exc.u181, label %exc.k182
+exc.u181:
+ %t625 = load ptr, ptr %s576
+ call void @sc_release__x25_m5_MpCfg(ptr %t625)
+ call void @scr_union_release(ptr %t620)
+ br label %exc.cleanup183
+exc.k182:
+ %t626 = load ptr, ptr %s576
+ call void @sc_release__x25_m5_MpCfg(ptr %t626)
+ call void @scr_union_release(ptr %t620)
+ br label %if.j167
+if.f168:
+ %t627 = load ptr, ptr %sc_l_body_0
+ %t629 = getelementptr inbounds %ScrUnion, ptr %t627, i64 0, i32 1
+ %t628 = load i32, ptr %t629
+ %t630 = icmp eq i32 %t628, 0
+ store i1 false, ptr %s631
+ br i1 %t630, label %ueq.s184, label %ueq.j185
+ueq.s184:
+ %t633 = call double @scr_union_get_f64(ptr %t627)
+ %t632 = fcmp oeq double %t633, 0x3FF0000000000000
+ store i1 %t632, ptr %s631
+ br label %ueq.j185
+ueq.j185:
+ %t634 = load i1, ptr %s631
+ store i1 %t634, ptr %s635
+ br i1 %t634, label %log.r186, label %log.j187
+log.r186:
+ %t636 = load i1, ptr %sc_l_carrying_0
+ store i1 %t636, ptr %s635
+ br label %log.j187
+log.j187:
+ %t637 = load i1, ptr %s635
+ br i1 %t637, label %if.t188, label %if.f190
+if.t188:
+ %t638 = call ptr @scr_box_new(i32 2) ; let buf (boxed)
+ store ptr %t638, ptr %sc_l_buf_0
+ call void @scr_box_set_ref(ptr %t638, ptr @sc_lit_4005573543169985)
+ %t639 = load ptr, ptr %sc_l_req_0
+ %t640 = call ptr @scr_http_req_retain_v(ptr %t639)
+ %t641 = call ptr @scr_closure_new(ptr @sc_f__x25_fn24, i64 1)
+ %t642 = getelementptr inbounds %ScrClosure, ptr %t641, i64 0, i32 4
+ store i32 4, ptr %t642
+ %t643 = getelementptr inbounds %ScrClosure, ptr %t641, i64 0, i32 7
+ store ptr @sc_bf__x25_fn24, ptr %t643
+ %t644 = load ptr, ptr %sc_l_buf_0
+ %t645 = call ptr @sc_retain_box(ptr %t644)
+ %t646 = getelementptr inbounds %ScrClosure, ptr %t641, i64 1 ; caps
+ %t647 = getelementptr inbounds ptr, ptr %t646, i64 0 ; caps[0]
+ store ptr %t645, ptr %t647
+ call void @scr_http_req_on_data(ptr %t640, ptr %t641, ptr @scr_net_data_thunk_bytes, i1 false)
+ call void @scr_http_req_release(ptr %t640)
+ %t648 = load ptr, ptr %sc_l_req_0
+ %t649 = call ptr @scr_http_req_retain_v(ptr %t648)
+ %t650 = call ptr @scr_closure_new(ptr @sc_f__x25_fn25, i64 6)
+ %t651 = getelementptr inbounds %ScrClosure, ptr %t650, i64 0, i32 4
+ store i32 4, ptr %t651
+ %t652 = load ptr, ptr %sc_l_rv_0
+ %t653 = call ptr @sc_retain_box(ptr %t652)
+ %t654 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps
+ %t655 = getelementptr inbounds ptr, ptr %t654, i64 0 ; caps[0]
+ store ptr %t653, ptr %t655
+ %t656 = load ptr, ptr %sc_l_buf_0
+ %t657 = call ptr @sc_retain_box(ptr %t656)
+ %t658 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps
+ %t659 = getelementptr inbounds ptr, ptr %t658, i64 1 ; caps[1]
+ store ptr %t657, ptr %t659
+ %t660 = load ptr, ptr %sc_l_chain_0
+ %t661 = call ptr @sc_retain_box(ptr %t660)
+ %t662 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps
+ %t663 = getelementptr inbounds ptr, ptr %t662, i64 2 ; caps[2]
+ store ptr %t661, ptr %t663
+ %t664 = load ptr, ptr %sc_l_c_0
+ %t665 = call ptr @sc_retain_box(ptr %t664)
+ %t666 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps
+ %t667 = getelementptr inbounds ptr, ptr %t666, i64 3 ; caps[3]
+ store ptr %t665, ptr %t667
+ %t668 = load ptr, ptr %s0
+ %t669 = icmp eq ptr %t668, null
+ br i1 %t669, label %lazy.box191, label %lazy.box.j192
+lazy.box191:
+ %t670 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_trace__x25_m2_ResponseSink)
+ %t671 = load ptr, ptr %sc_l_sink_0
+ %t672 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t671)
+ call void @scr_box_set_ref(ptr %t670, ptr %t672)
+ store ptr %t670, ptr %s0
+ br label %lazy.box.j192
+lazy.box.j192:
+ %t673 = load ptr, ptr %s0
+ %t674 = call ptr @sc_retain_box(ptr %t673)
+ %t675 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps
+ %t676 = getelementptr inbounds ptr, ptr %t675, i64 4 ; caps[4]
+ store ptr %t674, ptr %t676
+ %t677 = load ptr, ptr %sc_l_oef_0
+ %t678 = call ptr @sc_retain_box(ptr %t677)
+ %t679 = getelementptr inbounds %ScrClosure, ptr %t650, i64 1 ; caps
+ %t680 = getelementptr inbounds ptr, ptr %t679, i64 5 ; caps[5]
+ store ptr %t678, ptr %t680
+ call void @scr_http_req_on_end(ptr %t649, ptr %t650, i1 false)
+ call void @scr_http_req_release(ptr %t649)
+ %t681 = load ptr, ptr %sc_l_buf_0
+ call void @scr_box_release(ptr %t681)
+ br label %if.j189
+if.f190:
+ %t682 = load ptr, ptr %sc_l_chain_0
+ %t683 = call ptr @scr_box_get_ref(ptr %t682)
+ %t684 = load ptr, ptr %sc_l_c_1
+ %t685 = load ptr, ptr %sc_l_sink_0
+ %t686 = load ptr, ptr %sc_l_oef_1
+ call void @sc_bf__x25_m5_runChain(ptr %t683, ptr %t684, ptr %t685, ptr %t686)
+ %t687 = load i32, ptr %exc.cell
+ %t688 = icmp ne i32 %t687, 0
+ %t689 = call i1 @llvm.expect.i1(i1 %t688, i1 false)
+ br i1 %t689, label %exc.u193, label %exc.k194
+exc.u193:
+ call void @scr_union_release(ptr %t683)
+ br label %exc.cleanup183
+exc.k194:
+ call void @scr_union_release(ptr %t683)
+ br label %if.j189
+if.j189:
+ br label %if.j167
+if.j167:
+ %t690 = load ptr, ptr %s0
+ %t691 = icmp ne ptr %t690, null
+ br i1 %t691, label %lazy.release195, label %lazy.release.j196
+lazy.release195:
+ call void @scr_box_release(ptr %t690)
+ br label %lazy.release.j196
+lazy.release.j196:
+ %t692 = load ptr, ptr %sc_l_genRes_0
+ call void @scr_union_release(ptr %t692)
+ %t693 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t693)
+ %t694 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t694)
+ %t695 = load ptr, ptr %sc_l_method_0
+ call void @scr_str_release(ptr %t695)
+ %t696 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t696)
+ %t697 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t697)
+ %t698 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t698)
+ %t699 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t699)
+ %t700 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t700)
+ %t701 = load ptr, ptr %sc_l_rv_1
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t701)
+ %t702 = load ptr, ptr %sc_l_rv_0
+ call void @scr_box_release(ptr %t702)
+ %t703 = load ptr, ptr %sc_l_c_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t703)
+ %t704 = load ptr, ptr %sc_l_c_0
+ call void @scr_box_release(ptr %t704)
+ ret void
+exc.cleanup2:
+ %t705 = load ptr, ptr %s0
+ %t706 = icmp ne ptr %t705, null
+ br i1 %t706, label %lazy.release197, label %lazy.release.j198
+lazy.release197:
+ call void @scr_box_release(ptr %t705)
+ br label %lazy.release.j198
+lazy.release.j198:
+ ret void
+exc.cleanup10:
+ %t707 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t707)
+ %t708 = load ptr, ptr %s0
+ %t709 = icmp ne ptr %t708, null
+ br i1 %t709, label %lazy.release199, label %lazy.release.j200
+lazy.release199:
+ call void @scr_box_release(ptr %t708)
+ br label %lazy.release.j200
+lazy.release.j200:
+ ret void
+exc.cleanup13:
+ %t710 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t710)
+ %t711 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t711)
+ %t712 = load ptr, ptr %s0
+ %t713 = icmp ne ptr %t712, null
+ br i1 %t713, label %lazy.release201, label %lazy.release.j202
+lazy.release201:
+ call void @scr_box_release(ptr %t712)
+ br label %lazy.release.j202
+lazy.release.j202:
+ ret void
+exc.cleanup20:
+ %t714 = load ptr, ptr %s0
+ %t715 = icmp ne ptr %t714, null
+ br i1 %t715, label %lazy.release203, label %lazy.release.j204
+lazy.release203:
+ call void @scr_box_release(ptr %t714)
+ br label %lazy.release.j204
+lazy.release.j204:
+ %t716 = load ptr, ptr %sc_l_genRes_0
+ call void @scr_union_release(ptr %t716)
+ ret void
+exc.cleanup33:
+ %t717 = load ptr, ptr %s0
+ %t718 = icmp ne ptr %t717, null
+ br i1 %t718, label %lazy.release205, label %lazy.release.j206
+lazy.release205:
+ call void @scr_box_release(ptr %t717)
+ br label %lazy.release.j206
+lazy.release.j206:
+ %t719 = load ptr, ptr %sc_l_genRes_0
+ call void @scr_union_release(ptr %t719)
+ %t720 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t720)
+ %t721 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t721)
+ %t722 = load ptr, ptr %sc_l_method_0
+ call void @scr_str_release(ptr %t722)
+ %t723 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t723)
+ %t724 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t724)
+ %t725 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t725)
+ ret void
+exc.cleanup38:
+ %t726 = load ptr, ptr %s0
+ %t727 = icmp ne ptr %t726, null
+ br i1 %t727, label %lazy.release207, label %lazy.release.j208
+lazy.release207:
+ call void @scr_box_release(ptr %t726)
+ br label %lazy.release.j208
+lazy.release.j208:
+ %t728 = load ptr, ptr %sc_l_genRes_0
+ call void @scr_union_release(ptr %t728)
+ %t729 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t729)
+ %t730 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t730)
+ %t731 = load ptr, ptr %sc_l_method_0
+ call void @scr_str_release(ptr %t731)
+ %t732 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t732)
+ %t733 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t733)
+ %t734 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t734)
+ %t735 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t735)
+ %t736 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t736)
+ ret void
+exc.cleanup111:
+ %t737 = load ptr, ptr %s0
+ %t738 = icmp ne ptr %t737, null
+ br i1 %t738, label %lazy.release209, label %lazy.release.j210
+lazy.release209:
+ call void @scr_box_release(ptr %t737)
+ br label %lazy.release.j210
+lazy.release.j210:
+ %t739 = load ptr, ptr %sc_l_genRes_0
+ call void @scr_union_release(ptr %t739)
+ %t740 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t740)
+ %t741 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t741)
+ %t742 = load ptr, ptr %sc_l_method_0
+ call void @scr_str_release(ptr %t742)
+ %t743 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t743)
+ %t744 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t744)
+ %t745 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t745)
+ %t746 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t746)
+ %t747 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t747)
+ %t748 = load ptr, ptr %sc_l_rv_1
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t748)
+ %t749 = load ptr, ptr %sc_l_rv_0
+ call void @scr_box_release(ptr %t749)
+ ret void
+exc.cleanup162:
+ %t750 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ call void @sc_release__x25_m5_MpCfg(ptr %t750)
+ %t751 = load ptr, ptr %s0
+ %t752 = icmp ne ptr %t751, null
+ br i1 %t752, label %lazy.release211, label %lazy.release.j212
+lazy.release211:
+ call void @scr_box_release(ptr %t751)
+ br label %lazy.release.j212
+lazy.release.j212:
+ %t753 = load ptr, ptr %sc_l_genRes_0
+ call void @scr_union_release(ptr %t753)
+ %t754 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t754)
+ %t755 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t755)
+ %t756 = load ptr, ptr %sc_l_method_0
+ call void @scr_str_release(ptr %t756)
+ %t757 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t757)
+ %t758 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t758)
+ %t759 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t759)
+ %t760 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t760)
+ %t761 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t761)
+ %t762 = load ptr, ptr %sc_l_rv_1
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t762)
+ %t763 = load ptr, ptr %sc_l_rv_0
+ call void @scr_box_release(ptr %t763)
+ %t764 = load ptr, ptr %sc_l_c_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t764)
+ %t765 = load ptr, ptr %sc_l_c_0
+ call void @scr_box_release(ptr %t765)
+ ret void
+exc.cleanup183:
+ %t766 = load ptr, ptr %s0
+ %t767 = icmp ne ptr %t766, null
+ br i1 %t767, label %lazy.release213, label %lazy.release.j214
+lazy.release213:
+ call void @scr_box_release(ptr %t766)
+ br label %lazy.release.j214
+lazy.release.j214:
+ %t768 = load ptr, ptr %sc_l_genRes_0
+ call void @scr_union_release(ptr %t768)
+ %t769 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t769)
+ %t770 = load ptr, ptr %sc_l_oef_0
+ call void @scr_box_release(ptr %t770)
+ %t771 = load ptr, ptr %sc_l_method_0
+ call void @scr_str_release(ptr %t771)
+ %t772 = load ptr, ptr %sc_l_url_0
+ call void @scr_str_release(ptr %t772)
+ %t773 = load ptr, ptr %sc_l_path_0
+ call void @scr_str_release(ptr %t773)
+ %t774 = load ptr, ptr %sc_l_qs_0
+ call void @scr_str_release(ptr %t774)
+ %t775 = load ptr, ptr %sc_l_node_0
+ call void @sc_rrelease_r5(ptr %t775)
+ %t776 = load ptr, ptr %sc_l_chain_0
+ call void @scr_box_release(ptr %t776)
+ %t777 = load ptr, ptr %sc_l_rv_1
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t777)
+ %t778 = load ptr, ptr %sc_l_rv_0
+ call void @scr_box_release(ptr %t778)
+ %t779 = load ptr, ptr %sc_l_c_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t779)
+ %t780 = load ptr, ptr %sc_l_c_0
+ call void @scr_box_release(ptr %t780)
+ ret void
+}
+define internal void @sc_f__x25__x25_m5_App__dispatch(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m5_App__dispatch(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ call void @scr_http_req_release(ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m6_AssetSource_constructor(ptr %p_sc_l_this_0) #0 { ; %%m6.AssetSource.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ ret void
+}
+define internal void @sc_f__x25__x25_m6_AssetSource_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m6_AssetSource_constructor(ptr %p0)
+ call void @sc_release__x25_m6_AssetSource(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m6_AssetSource_get(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0) #0 { ; %%m6.AssetSource.get
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ ret ptr @sc_nullable_null
+}
+define internal ptr @sc_f__x25__x25_m6_AssetSource_get(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m6_AssetSource_get(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m6_AssetSource(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m9_EmbeddedAssets_constructor(ptr %p_sc_l_this_0) #0 { ; %%m9.EmbeddedAssets.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store i1 false, ptr %sc_l__x25_superInitialized_0
+ %t0 = load i1, ptr %sc_l__x25_superInitialized_0
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207)
+ ret void
+exc.dead2:
+ br label %if.j1
+if.j1:
+ %t1 = load ptr, ptr %sc_l_this_0
+ call void @sc_bf__x25__x25_m6_AssetSource_constructor(ptr %t1)
+ store i1 true, ptr %sc_l__x25_superInitialized_0
+ %t2 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t3 = xor i1 %t2, true
+ br i1 %t3, label %if.t3, label %if.j4
+if.t3:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead5:
+ br label %if.j4
+if.j4:
+ %t4 = load ptr, ptr %sc_l_this_0
+ %t5 = call ptr @sc_rnew_r12()
+ %t6 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t4, i64 0, i32 3
+ %t7 = load ptr, ptr %t6
+ store ptr %t5, ptr %t6, !tbaa !190
+ call void @sc_rrelease_r12(ptr %t7)
+ %t8 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t9 = xor i1 %t8, true
+ br i1 %t9, label %if.t6, label %if.j7
+if.t6:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead8:
+ br label %if.j7
+if.j7:
+ %t10 = load ptr, ptr %sc_l_this_0
+ %t11 = call ptr @scr_arr_new_ops_small(ptr @sc_arrops.sc_rretain_r11.sc_rrelease_r11.null)
+ %t12 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t10, i64 0, i32 4
+ %t13 = load ptr, ptr %t12
+ store ptr %t11, ptr %t12, !tbaa !192
+ call void @scr_arr_release(ptr %t13)
+ %t14 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t15 = xor i1 %t14, true
+ br i1 %t15, label %if.t9, label %if.j10
+if.t9:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead11:
+ br label %if.j10
+if.j10:
+ ret void
+}
+define internal void @sc_f__x25__x25_m9_EmbeddedAssets_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m9_EmbeddedAssets_constructor(ptr %p0)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m9_EmbeddedAssets_add(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0, ptr %p_sc_l_asset_0) #0 { ; %%m9.EmbeddedAssets.add
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_asset_0 = alloca ptr ; asset
+ %sc_l_key_0 = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s24 = alloca double
+ %s27 = alloca double
+ store ptr null, ptr %sc_l_key_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ store ptr %p_sc_l_asset_0, ptr %sc_l_asset_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_path_0
+ %t5 = call ptr @scr_str_concat(ptr @sc_lit_2434240011052594, ptr %t4)
+ store ptr %t5, ptr %sc_l_key_0
+ %t6 = load ptr, ptr %sc_l_key_0
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t7, i64 0, i32 3
+ %t9 = load ptr, ptr %t8, !tbaa !190
+ %t10 = call i1 @sc_bf__x25_rec_haskey_0(ptr %t6, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u2, label %exc.k3
+exc.u2:
+ br label %exc.cleanup4
+exc.k3:
+ br i1 %t10, label %if.t5, label %if.f7
+if.t5:
+ %t14 = load ptr, ptr %sc_l_this_0
+ %t15 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t14, i64 0, i32 4
+ %t16 = load ptr, ptr %t15, !tbaa !192
+ %t17 = call ptr @scr_arr_retain_v(ptr %t16)
+ %t18 = load ptr, ptr %sc_l_this_0
+ %t19 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t18, i64 0, i32 3
+ %t20 = load ptr, ptr %t19, !tbaa !190
+ %t21 = call ptr @sc_rretain_r12(ptr %t20)
+ %t22 = load ptr, ptr %sc_l_key_0
+ %t23 = call ptr @sc_rc_retain_str(ptr %t22)
+ %t25 = getelementptr inbounds %sc_rs_r12, ptr %t21, i64 0, i32 1
+ %t26 = load ptr, ptr %t25
+ store double 0x0000000000000000, ptr %s27
+ %t28 = call zeroext i1 @scr_map_get_str_f64(ptr %t26, ptr %t23, ptr %s27)
+ br i1 %t28, label %rkg.h9, label %rkg.n10
+rkg.h9:
+ %t29 = load double, ptr %s27
+ store double %t29, ptr %s24
+ br label %rkg.j8
+rkg.n10:
+ call void @sc_bad_key()
+ unreachable
+rkg.j8:
+ %t30 = load double, ptr %s24
+ %t31 = load ptr, ptr %sc_l_asset_0
+ %t32 = call ptr @sc_rretain_r11(ptr %t31)
+ %t33 = fptosi double %t30 to i64
+ %t35 = freeze i64 %t33
+ %t34 = sitofp i64 %t35 to double
+ %t36 = fcmp oeq double %t34, %t30
+ %t41 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8
+ %t42 = load ptr, ptr %t41, !tbaa !2
+ %t45 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6
+ %t46 = load i32, ptr %t45, !tbaa !2
+ %t47 = zext i32 %t46 to i64
+ %t48 = icmp ult i64 %t35, %t47
+ %t49 = and i1 %t36, %t48
+ br i1 %t49, label %arr.set.filled13, label %arr.check14
+arr.check14:
+ %t37 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1
+ %t38 = load i64, ptr %t37, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t39 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2
+ %t40 = load i64, ptr %t39, !tbaa !2
+ %t43 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9
+ %t44 = load ptr, ptr %t43, !tbaa !2
+ %t50 = icmp ult i64 %t35, %t40
+ %t51 = and i1 %t36, %t50
+ br i1 %t51, label %arr.dense15, label %arr.set.slow11
+arr.dense15:
+ %t52 = getelementptr inbounds i8, ptr %t44, i64 %t35
+ %t53 = getelementptr inbounds i64, ptr %t42, i64 %t35
+ %t54 = load i8, ptr %t52, !tbaa !4
+ %t55 = load ptr, ptr %t53, !tbaa !6
+ store ptr %t32, ptr %t53, !tbaa !6
+ store i8 1, ptr %t52, !tbaa !4
+ %t56 = zext i32 %t46 to i64
+ %t57 = icmp eq i64 %t35, %t56
+ br i1 %t57, label %arr.set.bump16, label %arr.set.state17
+arr.set.bump16:
+ %t58 = trunc i64 %t35 to i32
+ %t59 = add i32 %t58, 1
+ %t60 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6
+ store i32 %t59, ptr %t60, !tbaa !2
+ br label %arr.set.state17
+arr.set.state17:
+ %t61 = icmp uge i64 %t35, %t38
+ br i1 %t61, label %arr.set.grow18, label %arr.set.stored19
+arr.set.grow18:
+ %t62 = add i64 %t35, 1
+ %t63 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1
+ store i64 %t62, ptr %t63, !tbaa !2
+ br label %arr.set.stored19
+arr.set.stored19:
+ %t64 = icmp eq i8 %t54, 1
+ br i1 %t64, label %arr.set.release20, label %arr.set.join12
+arr.set.release20:
+ call void @sc_rrelease_r11(ptr %t55)
+ br label %arr.set.join12
+arr.set.filled13:
+ %t65 = getelementptr inbounds i64, ptr %t42, i64 %t35
+ %t66 = load ptr, ptr %t65, !tbaa !6
+ store ptr %t32, ptr %t65, !tbaa !6
+ call void @sc_rrelease_r11(ptr %t66)
+ br label %arr.set.join12
+arr.set.slow11:
+ call void @scr_arr_set_ref(ptr %t17, double %t30, ptr %t32) cold
+ br label %arr.set.join12
+arr.set.join12:
+ call void @scr_arr_release(ptr %t17)
+ call void @sc_rrelease_r12(ptr %t21)
+ call void @scr_str_release(ptr %t23)
+ br label %if.j6
+if.f7:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t68 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t67, i64 0, i32 3
+ %t69 = load ptr, ptr %t68, !tbaa !190
+ %t70 = call ptr @sc_rretain_r12(ptr %t69)
+ %t71 = load ptr, ptr %sc_l_key_0
+ %t72 = call ptr @sc_rc_retain_str(ptr %t71)
+ %t73 = load ptr, ptr %sc_l_this_0
+ %t74 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t73, i64 0, i32 4
+ %t75 = load ptr, ptr %t74, !tbaa !192
+ %t76 = getelementptr inbounds %ScrArr, ptr %t75, i32 0, i32 1
+ %t77 = load i64, ptr %t76, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t78 = sitofp i64 %t77 to double
+ %t79 = getelementptr inbounds %sc_rs_r12, ptr %t70, i64 0, i32 1
+ %t80 = load ptr, ptr %t79
+ call void @scr_map_set_str_f64(ptr %t80, ptr %t72, double %t78)
+ br label %rks.j21
+rks.j21:
+ call void @sc_rrelease_r12(ptr %t70)
+ call void @scr_str_release(ptr %t72)
+ %t81 = load ptr, ptr %sc_l_this_0
+ %t82 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t81, i64 0, i32 4
+ %t83 = load ptr, ptr %t82, !tbaa !192
+ %t84 = call ptr @scr_arr_retain_v(ptr %t83)
+ %t85 = load ptr, ptr %sc_l_asset_0
+ %t86 = call ptr @sc_rretain_r11(ptr %t85)
+ %t87 = getelementptr inbounds %ScrArr, ptr %t84, i32 0, i32 1
+ %t88 = load i64, ptr %t87, !tbaa !2
+ %t91 = getelementptr inbounds %ScrArr, ptr %t84, i32 0, i32 2
+ %t89 = load i64, ptr %t91, !tbaa !2
+ %t90 = icmp ult i64 %t88, %t89
+ br i1 %t90, label %arr.push.dense22, label %arr.push.slow23
+arr.push.dense22:
+ %t92 = getelementptr inbounds %ScrArr, ptr %t84, i32 0, i32 8
+ %t94 = getelementptr inbounds %ScrArr, ptr %t84, i32 0, i32 9
+ %t93 = load ptr, ptr %t92, !tbaa !2
+ %t95 = load ptr, ptr %t94, !tbaa !2
+ %t96 = getelementptr inbounds i8, ptr %t95, i64 %t88
+ %t97 = getelementptr inbounds i64, ptr %t93, i64 %t88
+ store ptr %t86, ptr %t97, !tbaa !6
+ store i8 1, ptr %t96, !tbaa !4
+ %t98 = add nuw i64 %t88, 1
+ store i64 %t98, ptr %t87, !tbaa !2
+ %t100 = getelementptr inbounds %ScrArr, ptr %t84, i32 0, i32 6
+ %t101 = load i32, ptr %t100, !tbaa !2
+ %t105 = zext i32 %t101 to i64
+ %t102 = icmp eq i64 %t105, %t88
+ %t103 = add i32 %t101, 1
+ %t104 = select i1 %t102, i32 %t103, i32 %t101
+ store i32 %t104, ptr %t100, !tbaa !2
+ %t99 = sitofp i64 %t98 to double
+ br label %arr.push.join24
+arr.push.slow23:
+ %t106 = call double @scr_arr_push_ref(ptr %t84, ptr %t86) cold
+ br label %arr.push.join24
+arr.push.join24:
+ %t107 = phi double [ %t99, %arr.push.dense22 ], [ %t106, %arr.push.slow23 ]
+ call void @scr_arr_release(ptr %t84)
+ br label %if.j6
+if.j6:
+ %t108 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t108)
+ ret void
+exc.cleanup4:
+ %t109 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t109)
+ ret void
+}
+define internal void @sc_f__x25__x25_m9_EmbeddedAssets_add(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m9_EmbeddedAssets_add(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_rrelease_r11(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25__x25_m9_EmbeddedAssets_load(ptr %p_sc_l_this_0, ptr %p_sc_l_records_0) #0 { ; %%m9.EmbeddedAssets.load
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_records_0 = alloca ptr ; records
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_body_0 = alloca ptr ; body
+ %sc_l_asset_0 = alloca ptr ; asset
+ %sc_l_j_0 = alloca i32 ; j
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %s4 = alloca i64 ; integer induction i
+ %s42 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s60 = alloca ptr
+ %s70 = alloca ptr
+ %s85 = alloca ptr
+ %s94 = alloca ptr
+ %s109 = alloca ptr
+ %s123 = alloca ptr
+ %s164 = alloca ptr
+ %s174 = alloca ptr
+ %s189 = alloca ptr
+ %s236 = alloca ptr
+ %s252 = alloca ptr
+ %s261 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l_r_0
+ store ptr null, ptr %sc_l_body_0
+ store ptr null, ptr %sc_l_asset_0
+ store ptr null, ptr %sc_l_e_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_records_0, ptr %sc_l_records_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t5 = fptosi double 0x0000000000000000 to i64
+ store i64 %t5, ptr %s4
+ br label %loop.c3
+loop.c3:
+ %t6 = load ptr, ptr %sc_l_records_0
+ %t7 = getelementptr inbounds %ScrArr, ptr %t6, i64 0, i32 1
+ %t8 = load i64, ptr %t7, !tbaa !2
+ %t9 = load i64, ptr %s4
+ %t10 = icmp ult i64 %t9, %t8
+ br i1 %t10, label %loop.b4, label %loop.e2
+loop.b4:
+ %t11 = load ptr, ptr %sc_l_records_0
+ %t12 = load i64, ptr %s4
+ %t13 = load i64, ptr %s4
+ %t14 = sitofp i64 %t13 to double
+ %t15 = trunc i64 %t13 to i32
+ %t16 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 2
+ %t17 = load i64, ptr %t16, !tbaa !2
+ %t18 = icmp ult i64 %t12, %t17
+ br i1 %t18, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t19 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 6
+ %t20 = load i32, ptr %t19, !tbaa !2
+ %t22 = zext i32 %t20 to i64
+ %t21 = icmp ult i64 %t12, %t22
+ br i1 %t21, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t23 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 1
+ %t24 = load i64, ptr %t23, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t25 = icmp ult i64 %t12, %t24
+ br i1 %t25, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t26 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 9
+ %t27 = load ptr, ptr %t26, !tbaa !2
+ %t28 = getelementptr inbounds i8, ptr %t27, i64 %t12
+ %t29 = load i8, ptr %t28, !tbaa !4
+ %t30 = icmp eq i8 %t29, 1
+ br i1 %t30, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t31 = getelementptr inbounds %ScrArr, ptr %t11, i32 0, i32 8
+ %t32 = load ptr, ptr %t31, !tbaa !2
+ %t33 = getelementptr inbounds i64, ptr %t32, i64 %t12
+ %t34 = load ptr, ptr %t33, !tbaa !6
+ %t35 = call ptr @sc_rretain_r14(ptr %t34)
+ store ptr %t35, ptr %sc_l_r_0
+ br label %local.array.join8
+local.array.slow6:
+ %t36 = call ptr @scr_arr_peek_ref(ptr %t11, double %t14)
+ %t37 = icmp ne ptr %t36, null
+ br i1 %t37, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ %t38 = call ptr @sc_rretain_r14(ptr %t36)
+ store ptr %t38, ptr %sc_l_r_0
+ br label %local.array.join8
+local.array.missing7:
+ store ptr null, ptr %sc_l_r_0
+ br label %local.array.join8
+local.array.join8:
+ %t39 = load ptr, ptr %sc_l_r_0
+ %t41 = icmp eq ptr %t39, null
+ br i1 %t41, label %read.then15, label %read.else16
+read.then15:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_857116979092563)
+ br label %exc.cleanup18
+exc.dead19:
+ store ptr null, ptr %s42
+ br label %read.join17
+read.else16:
+ %t43 = load ptr, ptr %sc_l_r_0
+ store ptr %t43, ptr %s42
+ br label %read.join17
+read.join17:
+ %t44 = load ptr, ptr %s42
+ %t45 = getelementptr inbounds %sc_rs_r14, ptr %t44, i64 0, i32 1
+ %t46 = load ptr, ptr %t45
+ %t47 = call ptr @sc_rc_retain_str(ptr %t46)
+ %t48 = call ptr @scr_buffer_from_str(ptr %t47, ptr @sc_lit_969367790913322)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_str_release(ptr %t47)
+ call void @scr_bytes_release(ptr %t48)
+ br label %exc.cleanup18
+exc.k21:
+ %t52 = call ptr @scr_bytes_as_buffer(ptr %t48)
+ store ptr %t52, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t47)
+ call void @scr_bytes_release(ptr %t48)
+ %t53 = call ptr @sc_rnew_r11()
+ %t54 = load ptr, ptr %sc_l_body_0
+ %t55 = call ptr @scr_bytes_retain_v(ptr %t54)
+ %t56 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 1
+ store ptr %t55, ptr %t56
+ %t57 = load ptr, ptr %sc_l_r_0
+ %t59 = icmp eq ptr %t57, null
+ br i1 %t59, label %read.then22, label %read.else23
+read.then22:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4183713241952410)
+ call void @sc_rrelease_r11(ptr %t53)
+ br label %exc.cleanup25
+exc.dead26:
+ store ptr null, ptr %s60
+ br label %read.join24
+read.else23:
+ %t61 = load ptr, ptr %sc_l_r_0
+ store ptr %t61, ptr %s60
+ br label %read.join24
+read.join24:
+ %t62 = load ptr, ptr %s60
+ %t63 = getelementptr inbounds %sc_rs_r14, ptr %t62, i64 0, i32 7
+ %t64 = load ptr, ptr %t63
+ %t65 = call ptr @sc_rc_retain_str(ptr %t64)
+ %t66 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 7
+ store ptr %t65, ptr %t66
+ %t67 = load ptr, ptr %sc_l_r_0
+ %t69 = icmp eq ptr %t67, null
+ br i1 %t69, label %read.then27, label %read.else28
+read.then27:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3442096346492231)
+ call void @sc_rrelease_r11(ptr %t53)
+ br label %exc.cleanup25
+exc.dead30:
+ store ptr null, ptr %s70
+ br label %read.join29
+read.else28:
+ %t71 = load ptr, ptr %sc_l_r_0
+ store ptr %t71, ptr %s70
+ br label %read.join29
+read.join29:
+ %t72 = load ptr, ptr %s70
+ %t73 = getelementptr inbounds %sc_rs_r14, ptr %t72, i64 0, i32 3
+ %t74 = load ptr, ptr %t73
+ %t75 = call ptr @sc_rc_retain_str(ptr %t74)
+ %t76 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 3
+ store ptr %t75, ptr %t76
+ %t77 = load ptr, ptr %sc_l_body_0
+ %t78 = getelementptr inbounds %ScrBytes, ptr %t77, i64 0, i32 1
+ %t79 = load i64, ptr %t78
+ %t80 = sitofp i64 %t79 to double
+ %t81 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 6
+ store double %t80, ptr %t81
+ %t82 = load ptr, ptr %sc_l_r_0
+ %t84 = icmp eq ptr %t82, null
+ br i1 %t84, label %read.then31, label %read.else32
+read.then31:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2826121043263175)
+ call void @sc_rrelease_r11(ptr %t53)
+ br label %exc.cleanup25
+exc.dead34:
+ store ptr null, ptr %s85
+ br label %read.join33
+read.else32:
+ %t86 = load ptr, ptr %sc_l_r_0
+ store ptr %t86, ptr %s85
+ br label %read.join33
+read.join33:
+ %t87 = load ptr, ptr %s85
+ %t88 = getelementptr inbounds %sc_rs_r14, ptr %t87, i64 0, i32 5
+ %t89 = load double, ptr %t88
+ %t90 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 5
+ store double %t89, ptr %t90
+ %t91 = load ptr, ptr %sc_l_r_0
+ %t93 = icmp eq ptr %t91, null
+ br i1 %t93, label %read.then35, label %read.else36
+read.then35:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_353569185054010)
+ call void @sc_rrelease_r11(ptr %t53)
+ br label %exc.cleanup25
+exc.dead38:
+ store ptr null, ptr %s94
+ br label %read.join37
+read.else36:
+ %t95 = load ptr, ptr %sc_l_r_0
+ store ptr %t95, ptr %s94
+ br label %read.join37
+read.join37:
+ %t96 = load ptr, ptr %s94
+ %t97 = getelementptr inbounds %sc_rs_r14, ptr %t96, i64 0, i32 4
+ %t98 = load i8, ptr %t97
+ %t99 = trunc i8 %t98 to i1
+ %t100 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 4
+ %t101 = zext i1 %t99 to i8
+ store i8 %t101, ptr %t100
+ %t102 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r10.sc_rrelease_r10.null, i64 0)
+ %t103 = getelementptr inbounds %sc_rs_r11, ptr %t53, i64 0, i32 2
+ store ptr %t102, ptr %t103
+ store ptr %t53, ptr %sc_l_asset_0
+ store i32 0, ptr %sc_l_j_0
+ br label %loop.c40
+loop.c40:
+ %t104 = load i32, ptr %sc_l_j_0
+ %t105 = uitofp i32 %t104 to double
+ %t106 = load ptr, ptr %sc_l_r_0
+ %t108 = icmp eq ptr %t106, null
+ br i1 %t108, label %read.then43, label %read.else44
+read.then43:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3568813316433808)
+ br label %exc.cleanup46
+exc.dead47:
+ store ptr null, ptr %s109
+ br label %read.join45
+read.else44:
+ %t110 = load ptr, ptr %sc_l_r_0
+ store ptr %t110, ptr %s109
+ br label %read.join45
+read.join45:
+ %t111 = load ptr, ptr %s109
+ %t112 = getelementptr inbounds %sc_rs_r14, ptr %t111, i64 0, i32 2
+ %t113 = load ptr, ptr %t112
+ %t114 = getelementptr inbounds %ScrArr, ptr %t113, i32 0, i32 1
+ %t115 = load i64, ptr %t114, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t116 = sitofp i64 %t115 to double
+ %t118 = fptosi double %t116 to i64
+ %t119 = zext i32 %t104 to i64
+ %t117 = icmp slt i64 %t119, %t118
+ br i1 %t117, label %loop.b41, label %loop.e39
+loop.b41:
+ %t120 = load ptr, ptr %sc_l_r_0
+ %t122 = icmp eq ptr %t120, null
+ br i1 %t122, label %read.then48, label %read.else49
+read.then48:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3568813316433808)
+ br label %exc.cleanup46
+exc.dead51:
+ store ptr null, ptr %s123
+ br label %read.join50
+read.else49:
+ %t124 = load ptr, ptr %sc_l_r_0
+ store ptr %t124, ptr %s123
+ br label %read.join50
+read.join50:
+ %t125 = load ptr, ptr %s123
+ %t126 = getelementptr inbounds %sc_rs_r14, ptr %t125, i64 0, i32 2
+ %t127 = load ptr, ptr %t126
+ %t128 = load i32, ptr %sc_l_j_0
+ %t129 = uitofp i32 %t128 to double
+ %t130 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 2
+ %t131 = load i64, ptr %t130, !tbaa !2
+ %t132 = fptosi double %t129 to i64
+ %t133 = freeze i64 %t132
+ %t134 = sitofp i64 %t133 to double
+ %t135 = fcmp oeq double %t134, %t129
+ %t136 = icmp ult i64 %t133, %t131
+ %t137 = and i1 %t135, %t136
+ br i1 %t137, label %local.array.range55, label %local.array.slow52
+local.array.range55:
+ br label %local.array.dense56
+local.array.dense56:
+ %t138 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 6
+ %t139 = load i32, ptr %t138, !tbaa !2
+ %t141 = zext i32 %t139 to i64
+ %t140 = icmp ult i64 %t133, %t141
+ br i1 %t140, label %local.array.value58, label %local.array.len57
+local.array.len57:
+ %t142 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 1
+ %t143 = load i64, ptr %t142, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t144 = icmp ult i64 %t133, %t143
+ br i1 %t144, label %local.array.state59, label %local.array.missing53
+local.array.state59:
+ %t145 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 9
+ %t146 = load ptr, ptr %t145, !tbaa !2
+ %t147 = getelementptr inbounds i8, ptr %t146, i64 %t133
+ %t148 = load i8, ptr %t147, !tbaa !4
+ %t149 = icmp eq i8 %t148, 1
+ br i1 %t149, label %local.array.value58, label %local.array.missing53
+local.array.value58:
+ %t150 = getelementptr inbounds %ScrArr, ptr %t127, i32 0, i32 8
+ %t151 = load ptr, ptr %t150, !tbaa !2
+ %t152 = getelementptr inbounds i64, ptr %t151, i64 %t133
+ %t153 = load ptr, ptr %t152, !tbaa !6
+ store ptr %t153, ptr %sc_l_e_0
+ br label %local.array.join54
+local.array.slow52:
+ %t154 = call ptr @scr_arr_peek_ref(ptr %t127, double %t129)
+ %t155 = icmp ne ptr %t154, null
+ br i1 %t155, label %local.array.slow.value60, label %local.array.missing53
+local.array.slow.value60:
+ store ptr %t154, ptr %sc_l_e_0
+ br label %local.array.join54
+local.array.missing53:
+ store ptr null, ptr %sc_l_e_0
+ br label %local.array.join54
+local.array.join54:
+ %t156 = load ptr, ptr %sc_l_asset_0
+ %t157 = getelementptr inbounds %sc_rs_r11, ptr %t156, i64 0, i32 2
+ %t158 = load ptr, ptr %t157
+ %t159 = call ptr @scr_arr_retain_v(ptr %t158)
+ %t160 = call ptr @sc_rnew_r10()
+ %t161 = load ptr, ptr %sc_l_e_0
+ %t163 = icmp eq ptr %t161, null
+ br i1 %t163, label %read.then61, label %read.else62
+read.then61:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1931307417657380)
+ call void @scr_arr_release(ptr %t159)
+ call void @sc_rrelease_r10(ptr %t160)
+ br label %exc.cleanup46
+exc.dead64:
+ store ptr null, ptr %s164
+ br label %read.join63
+read.else62:
+ %t165 = load ptr, ptr %sc_l_e_0
+ store ptr %t165, ptr %s164
+ br label %read.join63
+read.join63:
+ %t166 = load ptr, ptr %s164
+ %t167 = getelementptr inbounds %sc_rs_r13, ptr %t166, i64 0, i32 2
+ %t168 = load ptr, ptr %t167
+ %t169 = call ptr @sc_rc_retain_str(ptr %t168)
+ %t170 = getelementptr inbounds %sc_rs_r10, ptr %t160, i64 0, i32 2
+ store ptr %t169, ptr %t170
+ %t171 = load ptr, ptr %sc_l_e_0
+ %t173 = icmp eq ptr %t171, null
+ br i1 %t173, label %read.then65, label %read.else66
+read.then65:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_857116979092563)
+ call void @scr_arr_release(ptr %t159)
+ call void @sc_rrelease_r10(ptr %t160)
+ br label %exc.cleanup46
+exc.dead68:
+ store ptr null, ptr %s174
+ br label %read.join67
+read.else66:
+ %t175 = load ptr, ptr %sc_l_e_0
+ store ptr %t175, ptr %s174
+ br label %read.join67
+read.join67:
+ %t176 = load ptr, ptr %s174
+ %t177 = getelementptr inbounds %sc_rs_r13, ptr %t176, i64 0, i32 1
+ %t178 = load ptr, ptr %t177
+ %t179 = call ptr @sc_rc_retain_str(ptr %t178)
+ %t180 = call ptr @scr_buffer_from_str(ptr %t179, ptr @sc_lit_969367790913322)
+ %t181 = load i32, ptr %exc.cell
+ %t182 = icmp ne i32 %t181, 0
+ %t183 = call i1 @llvm.expect.i1(i1 %t182, i1 false)
+ br i1 %t183, label %exc.u69, label %exc.k70
+exc.u69:
+ call void @scr_arr_release(ptr %t159)
+ call void @sc_rrelease_r10(ptr %t160)
+ call void @scr_str_release(ptr %t179)
+ call void @scr_bytes_release(ptr %t180)
+ br label %exc.cleanup46
+exc.k70:
+ %t184 = call ptr @scr_bytes_as_buffer(ptr %t180)
+ %t185 = getelementptr inbounds %sc_rs_r10, ptr %t160, i64 0, i32 1
+ store ptr %t184, ptr %t185
+ %t186 = load ptr, ptr %sc_l_e_0
+ %t188 = icmp eq ptr %t186, null
+ br i1 %t188, label %read.then71, label %read.else72
+read.then71:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3442096346492231)
+ call void @scr_arr_release(ptr %t159)
+ call void @sc_rrelease_r10(ptr %t160)
+ call void @scr_str_release(ptr %t179)
+ call void @scr_bytes_release(ptr %t180)
+ br label %exc.cleanup46
+exc.dead74:
+ store ptr null, ptr %s189
+ br label %read.join73
+read.else72:
+ %t190 = load ptr, ptr %sc_l_e_0
+ store ptr %t190, ptr %s189
+ br label %read.join73
+read.join73:
+ %t191 = load ptr, ptr %s189
+ %t192 = getelementptr inbounds %sc_rs_r13, ptr %t191, i64 0, i32 3
+ %t193 = load ptr, ptr %t192
+ %t194 = call ptr @sc_rc_retain_str(ptr %t193)
+ %t195 = getelementptr inbounds %sc_rs_r10, ptr %t160, i64 0, i32 3
+ store ptr %t194, ptr %t195
+ %t196 = getelementptr inbounds %ScrArr, ptr %t159, i32 0, i32 1
+ %t197 = load i64, ptr %t196, !tbaa !2
+ %t200 = getelementptr inbounds %ScrArr, ptr %t159, i32 0, i32 2
+ %t198 = load i64, ptr %t200, !tbaa !2
+ %t199 = icmp ult i64 %t197, %t198
+ br i1 %t199, label %arr.push.dense75, label %arr.push.slow76
+arr.push.dense75:
+ %t201 = getelementptr inbounds %ScrArr, ptr %t159, i32 0, i32 8
+ %t203 = getelementptr inbounds %ScrArr, ptr %t159, i32 0, i32 9
+ %t202 = load ptr, ptr %t201, !tbaa !2
+ %t204 = load ptr, ptr %t203, !tbaa !2
+ %t205 = getelementptr inbounds i8, ptr %t204, i64 %t197
+ %t206 = getelementptr inbounds i64, ptr %t202, i64 %t197
+ store ptr %t160, ptr %t206, !tbaa !6
+ store i8 1, ptr %t205, !tbaa !4
+ %t207 = add nuw i64 %t197, 1
+ store i64 %t207, ptr %t196, !tbaa !2
+ %t209 = getelementptr inbounds %ScrArr, ptr %t159, i32 0, i32 6
+ %t210 = load i32, ptr %t209, !tbaa !2
+ %t214 = zext i32 %t210 to i64
+ %t211 = icmp eq i64 %t214, %t197
+ %t212 = add i32 %t210, 1
+ %t213 = select i1 %t211, i32 %t212, i32 %t210
+ store i32 %t213, ptr %t209, !tbaa !2
+ %t208 = sitofp i64 %t207 to double
+ br label %arr.push.join77
+arr.push.slow76:
+ %t215 = call double @scr_arr_push_ref(ptr %t159, ptr %t160) cold
+ br label %arr.push.join77
+arr.push.join77:
+ %t216 = phi double [ %t208, %arr.push.dense75 ], [ %t215, %arr.push.slow76 ]
+ call void @scr_arr_release(ptr %t159)
+ call void @scr_str_release(ptr %t179)
+ call void @scr_bytes_release(ptr %t180)
+ br label %loop.u42
+loop.u42:
+ %t217 = load i32, ptr %sc_l_j_0
+ %t218 = uitofp i32 %t217 to double
+ %t220 = zext i32 %t217 to i64
+ %t221 = add nsw i64 %t220, 1
+ %t223 = trunc i64 %t221 to i32
+ %t222 = sitofp i64 %t221 to double
+ %t224 = trunc i64 %t221 to i32
+ store i32 %t224, ptr %sc_l_j_0
+ br label %loop.c40
+loop.e39:
+ %t225 = load ptr, ptr %sc_l_this_0
+ store ptr %t225, ptr %sc_l__x25_callbackReceiver_0
+ %t226 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t227 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t226, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t228 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t227)
+ %t229 = load i32, ptr %exc.cell
+ %t230 = icmp ne i32 %t229, 0
+ %t231 = call i1 @llvm.expect.i1(i1 %t230, i1 false)
+ br i1 %t231, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t228)
+ br label %exc.cleanup46
+exc.k79:
+ store ptr %t228, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t232 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t233 = getelementptr inbounds i8, ptr %t232, i64 8 ; ->kind
+ %t234 = load i32, ptr %t233
+ %t235 = icmp eq i32 %t234, 6
+ br i1 %t235, label %tern.t80, label %tern.f81
+tern.t80:
+ %t238 = call ptr @scr_dyn_undefined()
+ %t237 = call ptr @scr_dyn_retain_v(ptr %t238)
+ store ptr %t237, ptr %s236
+ br label %tern.j82
+tern.f81:
+ %t239 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t240 = call ptr @sc_rc_retain_dyn(ptr %t239)
+ %t241 = call ptr @sc_f__x25_dyn_class_property_18(ptr %t240)
+ %t242 = load i32, ptr %exc.cell
+ %t243 = icmp ne i32 %t242, 0
+ %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false)
+ br i1 %t244, label %exc.u83, label %exc.k84
+exc.u83:
+ call void @sc_rc_release_dyn(ptr %t241)
+ br label %exc.cleanup85
+exc.k84:
+ store ptr %t241, ptr %s236
+ br label %tern.j82
+tern.j82:
+ %t245 = load ptr, ptr %s236
+ store ptr %t245, ptr %sc_l__x25_callback_0
+ %t246 = load ptr, ptr %sc_l__x25_callback_0
+ %t247 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t248 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t247, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t249 = load ptr, ptr %sc_l_r_0
+ %t251 = icmp eq ptr %t249, null
+ br i1 %t251, label %read.then86, label %read.else87
+read.then86:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1717987091626096)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup89
+exc.dead90:
+ store ptr null, ptr %s252
+ br label %read.join88
+read.else87:
+ %t253 = load ptr, ptr %sc_l_r_0
+ store ptr %t253, ptr %s252
+ br label %read.join88
+read.join88:
+ %t254 = load ptr, ptr %s252
+ %t255 = getelementptr inbounds %sc_rs_r14, ptr %t254, i64 0, i32 6
+ %t256 = load ptr, ptr %t255
+ %t257 = call ptr @sc_rc_retain_str(ptr %t256)
+ %t258 = call ptr @sc_td_0(ptr %t257)
+ %t259 = load ptr, ptr %sc_l_asset_0
+ %t260 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t259, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t260, ptr @sc_ldr_46_materialize_rops)
+ %t262 = getelementptr inbounds [2 x ptr], ptr %s261, i64 0, i64 0
+ store ptr %t258, ptr %t262
+ %t263 = getelementptr inbounds [2 x ptr], ptr %s261, i64 0, i64 1
+ store ptr %t260, ptr %t263
+ call void @scr_dyn_this_push_dyn(ptr %t248)
+ %t264 = call ptr @scr_dyn_call(ptr %t246, ptr %s261, i64 2, ptr @sc_cs_4488915209155319)
+ call void @scr_dyn_this_pop()
+ %t265 = load i32, ptr %exc.cell
+ %t266 = icmp ne i32 %t265, 0
+ %t267 = call i1 @llvm.expect.i1(i1 %t266, i1 false)
+ br i1 %t267, label %exc.u91, label %exc.k92
+exc.u91:
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @scr_str_release(ptr %t257)
+ call void @sc_rc_release_dyn(ptr %t258)
+ call void @sc_rc_release_dyn(ptr %t260)
+ call void @sc_rc_release_dyn(ptr %t264)
+ br label %exc.cleanup89
+exc.k92:
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @scr_str_release(ptr %t257)
+ call void @sc_rc_release_dyn(ptr %t258)
+ call void @sc_rc_release_dyn(ptr %t260)
+ call void @sc_rc_release_dyn(ptr %t264)
+ %t268 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t268)
+ %t269 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t269)
+ %t270 = load ptr, ptr %sc_l_r_0
+ call void @sc_rrelease_r14(ptr %t270)
+ %t271 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t271)
+ %t272 = load ptr, ptr %sc_l_asset_0
+ call void @sc_rrelease_r11(ptr %t272)
+ br label %loop.u5
+loop.u5:
+ %t273 = load i64, ptr %s4
+ %t274 = add nuw i64 %t273, 1
+ store i64 %t274, ptr %s4
+ br label %loop.c3
+loop.e2:
+ ret void
+exc.cleanup18:
+ %t275 = load ptr, ptr %sc_l_r_0
+ call void @sc_rrelease_r14(ptr %t275)
+ ret void
+exc.cleanup25:
+ %t276 = load ptr, ptr %sc_l_r_0
+ call void @sc_rrelease_r14(ptr %t276)
+ %t277 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t277)
+ ret void
+exc.cleanup46:
+ %t278 = load ptr, ptr %sc_l_r_0
+ call void @sc_rrelease_r14(ptr %t278)
+ %t279 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t279)
+ %t280 = load ptr, ptr %sc_l_asset_0
+ call void @sc_rrelease_r11(ptr %t280)
+ ret void
+exc.cleanup85:
+ %t281 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t281)
+ %t282 = load ptr, ptr %sc_l_r_0
+ call void @sc_rrelease_r14(ptr %t282)
+ %t283 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t283)
+ %t284 = load ptr, ptr %sc_l_asset_0
+ call void @sc_rrelease_r11(ptr %t284)
+ ret void
+exc.cleanup89:
+ %t285 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t285)
+ %t286 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t286)
+ %t287 = load ptr, ptr %sc_l_r_0
+ call void @sc_rrelease_r14(ptr %t287)
+ %t288 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t288)
+ %t289 = load ptr, ptr %sc_l_asset_0
+ call void @sc_rrelease_r11(ptr %t289)
+ ret void
+}
+define internal void @sc_f__x25__x25_m9_EmbeddedAssets_load(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25__x25_m9_EmbeddedAssets_load(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %p0)
+ call void @scr_arr_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0) #0 { ; %%m9.EmbeddedAssets.get
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_key_0 = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s16 = alloca ptr
+ %s27 = alloca double
+ %s30 = alloca double
+ store ptr null, ptr %sc_l_key_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_path_0
+ %t5 = call ptr @scr_str_concat(ptr @sc_lit_2434240011052594, ptr %t4)
+ store ptr %t5, ptr %sc_l_key_0
+ %t6 = load ptr, ptr %sc_l_key_0
+ %t7 = load ptr, ptr %sc_l_this_0
+ %t8 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t7, i64 0, i32 3
+ %t9 = load ptr, ptr %t8, !tbaa !190
+ %t10 = call i1 @sc_bf__x25_rec_haskey_0(ptr %t6, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u2, label %exc.k3
+exc.u2:
+ br label %exc.cleanup4
+exc.k3:
+ %t14 = xor i1 %t10, true
+ br i1 %t14, label %if.t5, label %if.j6
+if.t5:
+ %t15 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t15)
+ ret ptr @sc_nullable_null
+if.j6:
+ %t17 = load ptr, ptr %sc_l_this_0
+ %t18 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t17, i64 0, i32 4
+ %t19 = load ptr, ptr %t18, !tbaa !192
+ %t20 = call ptr @scr_arr_retain_v(ptr %t19)
+ %t21 = load ptr, ptr %sc_l_this_0
+ %t22 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t21, i64 0, i32 3
+ %t23 = load ptr, ptr %t22, !tbaa !190
+ %t24 = call ptr @sc_rretain_r12(ptr %t23)
+ %t25 = load ptr, ptr %sc_l_key_0
+ %t26 = call ptr @sc_rc_retain_str(ptr %t25)
+ %t28 = getelementptr inbounds %sc_rs_r12, ptr %t24, i64 0, i32 1
+ %t29 = load ptr, ptr %t28
+ store double 0x0000000000000000, ptr %s30
+ %t31 = call zeroext i1 @scr_map_get_str_f64(ptr %t29, ptr %t26, ptr %s30)
+ br i1 %t31, label %rkg.h8, label %rkg.n9
+rkg.h8:
+ %t32 = load double, ptr %s30
+ store double %t32, ptr %s27
+ br label %rkg.j7
+rkg.n9:
+ call void @sc_bad_key()
+ unreachable
+rkg.j7:
+ %t33 = load double, ptr %s27
+ %t34 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 2
+ %t35 = load i64, ptr %t34, !tbaa !2
+ %t36 = fptosi double %t33 to i64
+ %t37 = freeze i64 %t36
+ %t38 = sitofp i64 %t37 to double
+ %t39 = fcmp oeq double %t38, %t33
+ %t40 = icmp ult i64 %t37, %t35
+ %t41 = and i1 %t39, %t40
+ br i1 %t41, label %local.array.range13, label %local.array.slow10
+local.array.range13:
+ br label %local.array.dense14
+local.array.dense14:
+ %t42 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 6
+ %t43 = load i32, ptr %t42, !tbaa !2
+ %t45 = zext i32 %t43 to i64
+ %t44 = icmp ult i64 %t37, %t45
+ br i1 %t44, label %local.array.value16, label %local.array.len15
+local.array.len15:
+ %t46 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 1
+ %t47 = load i64, ptr %t46, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t48 = icmp ult i64 %t37, %t47
+ br i1 %t48, label %local.array.state17, label %local.array.missing11
+local.array.state17:
+ %t49 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 9
+ %t50 = load ptr, ptr %t49, !tbaa !2
+ %t51 = getelementptr inbounds i8, ptr %t50, i64 %t37
+ %t52 = load i8, ptr %t51, !tbaa !4
+ %t53 = icmp eq i8 %t52, 1
+ br i1 %t53, label %local.array.value16, label %local.array.missing11
+local.array.value16:
+ %t54 = getelementptr inbounds %ScrArr, ptr %t20, i32 0, i32 8
+ %t55 = load ptr, ptr %t54, !tbaa !2
+ %t56 = getelementptr inbounds i64, ptr %t55, i64 %t37
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ store ptr %t57, ptr %s16
+ br label %local.array.join12
+local.array.slow10:
+ %t58 = call ptr @scr_arr_peek_ref(ptr %t20, double %t33)
+ %t59 = icmp ne ptr %t58, null
+ br i1 %t59, label %local.array.slow.value18, label %local.array.missing11
+local.array.slow.value18:
+ store ptr %t58, ptr %s16
+ br label %local.array.join12
+local.array.missing11:
+ store ptr null, ptr %s16
+ br label %local.array.join12
+local.array.join12:
+ %t60 = load ptr, ptr %s16
+ %t61 = call ptr @sc_bf__x25_union_retag_4(ptr %t60)
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @scr_arr_release(ptr %t20)
+ call void @sc_rrelease_r12(ptr %t24)
+ call void @scr_str_release(ptr %t26)
+ br label %exc.cleanup4
+exc.k20:
+ %t65 = call ptr @sc_rretain_r11(ptr %t61)
+ call void @scr_arr_release(ptr %t20)
+ call void @sc_rrelease_r12(ptr %t24)
+ call void @scr_str_release(ptr %t26)
+ %t66 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t66)
+ ret ptr %t65
+exc.cleanup4:
+ %t67 = load ptr, ptr %sc_l_key_0
+ call void @scr_str_release(ptr %t67)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m9_EmbeddedAssets_get(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m11_StaticServer_constructor(ptr %p_sc_l_this_0, ptr %p_sc_l_src_0, ptr %p_sc_l_opts_0) #0 { ; %%m11.StaticServer.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_src_0 = alloca ptr ; src
+ %sc_l_opts_0 = alloca ptr ; opts
+ %s42 = alloca i1
+ %s52 = alloca %ScrUnion
+ %s58 = alloca i1
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_src_0, ptr %sc_l_src_0
+ store ptr %p_sc_l_opts_0, ptr %sc_l_opts_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ %t1 = load ptr, ptr %sc_l_src_0
+ %t2 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1)
+ %t3 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t0, i64 0, i32 1
+ %t4 = load ptr, ptr %t3
+ store ptr %t2, ptr %t3, !tbaa !194
+ call void @sc_release__x25_m6_AssetSource(ptr %t4)
+ %t5 = load ptr, ptr %sc_l_this_0
+ %t6 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t5, i64 0, i32 2
+ %t7 = zext i1 false to i8
+ store i8 %t7, ptr %t6, !tbaa !196
+ %t8 = load ptr, ptr %sc_l_this_0
+ %t9 = call ptr @scr_arr_new(i32 2, i64 1)
+ %t10 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1
+ %t11 = load i64, ptr %t10, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 2
+ %t12 = load i64, ptr %t14, !tbaa !2
+ %t13 = icmp ult i64 %t11, %t12
+ br i1 %t13, label %arr.push.dense0, label %arr.push.slow1
+arr.push.dense0:
+ %t15 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 8
+ %t17 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 9
+ %t16 = load ptr, ptr %t15, !tbaa !2
+ %t18 = load ptr, ptr %t17, !tbaa !2
+ %t19 = getelementptr inbounds i8, ptr %t18, i64 %t11
+ %t20 = getelementptr inbounds i64, ptr %t16, i64 %t11
+ store ptr @sc_lit_1973266751196475, ptr %t20, !tbaa !6
+ store i8 1, ptr %t19, !tbaa !4
+ %t21 = add nuw i64 %t11, 1
+ store i64 %t21, ptr %t10, !tbaa !2
+ %t23 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 6
+ %t24 = load i32, ptr %t23, !tbaa !2
+ %t28 = zext i32 %t24 to i64
+ %t25 = icmp eq i64 %t28, %t11
+ %t26 = add i32 %t24, 1
+ %t27 = select i1 %t25, i32 %t26, i32 %t24
+ store i32 %t27, ptr %t23, !tbaa !2
+ %t22 = sitofp i64 %t21 to double
+ br label %arr.push.join2
+arr.push.slow1:
+ %t29 = call double @scr_arr_push_ref(ptr %t9, ptr @sc_lit_1973266751196475) cold
+ br label %arr.push.join2
+arr.push.join2:
+ %t30 = phi double [ %t22, %arr.push.dense0 ], [ %t29, %arr.push.slow1 ]
+ %t31 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t8, i64 0, i32 3
+ %t32 = load ptr, ptr %t31
+ store ptr %t9, ptr %t31, !tbaa !198
+ call void @scr_arr_release(ptr %t32)
+ %t33 = load ptr, ptr %sc_l_this_0
+ %t34 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t33, i64 0, i32 4
+ %t35 = load ptr, ptr %t34
+ store ptr @sc_lit_258747939448200, ptr %t34, !tbaa !200
+ call void @scr_str_release(ptr %t35)
+ %t36 = load ptr, ptr %sc_l_this_0
+ %t37 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t36, i64 0, i32 5
+ %t38 = load ptr, ptr %t37
+ store ptr @sc_lit_2351619124253283, ptr %t37, !tbaa !202
+ call void @scr_str_release(ptr %t38)
+ %t39 = load ptr, ptr %sc_l_opts_0
+ %t41 = icmp ne ptr %t39, null
+ store i1 %t41, ptr %s42
+ br i1 %t41, label %log.r3, label %log.j4
+log.r3:
+ store i1 true, ptr %s42
+ br label %log.j4
+log.j4:
+ %t43 = load i1, ptr %s42
+ br i1 %t43, label %if.t5, label %if.j6
+if.t5:
+ %t44 = load ptr, ptr %sc_l_opts_0
+ %t45 = getelementptr inbounds %sc_rs_r15, ptr %t44, i64 0, i32 4
+ %t46 = getelementptr inbounds { i32, i64 }, ptr %t45, i32 0, i32 0
+ %t48 = load i32, ptr %t46
+ %t47 = getelementptr inbounds { i32, i64 }, ptr %t45, i32 0, i32 1
+ %t49 = load i64, ptr %t47
+ %t50 = icmp eq i32 %t48, 1
+ %t51 = select i1 %t50, i64 0, i64 %t49
+ store i64 -1, ptr %s52
+ %t53 = getelementptr inbounds %ScrUnion, ptr %s52, i64 0, i32 1
+ store i32 %t48, ptr %t53
+ %t54 = getelementptr inbounds %ScrUnion, ptr %s52, i64 0, i32 5
+ store i64 %t51, ptr %t54
+ %t56 = getelementptr inbounds %ScrUnion, ptr %s52, i64 0, i32 1
+ %t55 = load i32, ptr %t56
+ %t57 = icmp eq i32 %t55, 0
+ store i1 false, ptr %s58
+ br i1 %t57, label %ueq.s7, label %ueq.j8
+ueq.s7:
+ %t60 = call zeroext i1 @scr_union_get_bool(ptr %s52)
+ %t59 = icmp eq i1 %t60, true
+ store i1 %t59, ptr %s58
+ br label %ueq.j8
+ueq.j8:
+ %t61 = load i1, ptr %s58
+ br i1 %t61, label %if.t9, label %if.j10
+if.t9:
+ %t62 = load ptr, ptr %sc_l_this_0
+ %t63 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t62, i64 0, i32 2
+ %t64 = zext i1 true to i8
+ store i8 %t64, ptr %t63, !tbaa !196
+ br label %if.j10
+if.j10:
+ %t65 = load ptr, ptr %sc_l_opts_0
+ %t66 = getelementptr inbounds %sc_rs_r15, ptr %t65, i64 0, i32 1
+ %t67 = load ptr, ptr %t66
+ %t68 = icmp eq ptr %t67, @sc_nullable_absent
+ %t69 = select i1 %t68, ptr null, ptr %t67
+ %t71 = icmp ne ptr %t69, null
+ br i1 %t71, label %if.t11, label %if.j12
+if.t11:
+ %t72 = load ptr, ptr %sc_l_this_0
+ %t73 = load ptr, ptr %sc_l_opts_0
+ %t74 = getelementptr inbounds %sc_rs_r15, ptr %t73, i64 0, i32 1
+ %t75 = load ptr, ptr %t74
+ %t76 = icmp eq ptr %t75, @sc_nullable_absent
+ %t77 = select i1 %t76, ptr null, ptr %t75
+ %t78 = call ptr @scr_arr_retain_v(ptr %t77)
+ %t79 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t72, i64 0, i32 3
+ %t80 = load ptr, ptr %t79
+ store ptr %t78, ptr %t79, !tbaa !198
+ call void @scr_arr_release(ptr %t80)
+ br label %if.j12
+if.j12:
+ %t81 = load ptr, ptr %sc_l_opts_0
+ %t82 = getelementptr inbounds %sc_rs_r15, ptr %t81, i64 0, i32 3
+ %t83 = load ptr, ptr %t82
+ %t84 = icmp eq ptr %t83, @sc_nullable_absent
+ %t85 = select i1 %t84, ptr null, ptr %t83
+ %t87 = icmp ne ptr %t85, null
+ br i1 %t87, label %if.t13, label %if.j14
+if.t13:
+ %t88 = load ptr, ptr %sc_l_this_0
+ %t89 = load ptr, ptr %sc_l_opts_0
+ %t90 = getelementptr inbounds %sc_rs_r15, ptr %t89, i64 0, i32 3
+ %t91 = load ptr, ptr %t90
+ %t92 = icmp eq ptr %t91, @sc_nullable_absent
+ %t93 = select i1 %t92, ptr null, ptr %t91
+ %t94 = call ptr @sc_rc_retain_str(ptr %t93)
+ %t95 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t88, i64 0, i32 4
+ %t96 = load ptr, ptr %t95
+ store ptr %t94, ptr %t95, !tbaa !200
+ call void @scr_str_release(ptr %t96)
+ br label %if.j14
+if.j14:
+ %t97 = load ptr, ptr %sc_l_opts_0
+ %t98 = getelementptr inbounds %sc_rs_r15, ptr %t97, i64 0, i32 2
+ %t99 = load ptr, ptr %t98
+ %t100 = icmp eq ptr %t99, @sc_nullable_absent
+ %t101 = select i1 %t100, ptr null, ptr %t99
+ %t103 = icmp ne ptr %t101, null
+ br i1 %t103, label %if.t15, label %if.j16
+if.t15:
+ %t104 = load ptr, ptr %sc_l_this_0
+ %t105 = load ptr, ptr %sc_l_opts_0
+ %t106 = getelementptr inbounds %sc_rs_r15, ptr %t105, i64 0, i32 2
+ %t107 = load ptr, ptr %t106
+ %t108 = icmp eq ptr %t107, @sc_nullable_absent
+ %t109 = select i1 %t108, ptr null, ptr %t107
+ %t110 = call ptr @sc_rc_retain_str(ptr %t109)
+ %t111 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t104, i64 0, i32 5
+ %t112 = load ptr, ptr %t111
+ store ptr %t110, ptr %t111, !tbaa !202
+ call void @scr_str_release(ptr %t112)
+ br label %if.j16
+if.j16:
+ br label %if.j6
+if.j6:
+ ret void
+}
+define internal void @sc_f__x25__x25_m11_StaticServer_constructor(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25__x25_m11_StaticServer_constructor(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m11_StaticServer(ptr %p0)
+ call void @sc_release__x25_m6_AssetSource(ptr %p1)
+ call void @sc_rrelease_r15(ptr %p2)
+ ret void
+}
+
+define internal i1 @sc_bf__x25__x25_m11_StaticServer_isApi(ptr %p_sc_l_this_0, ptr %p_sc_l_path_0) #0 { ; %%m11.StaticServer.isApi
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_path_0 = alloca ptr ; path
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_p_0 = alloca ptr ; p
+ %s48 = alloca i1
+ %s57 = alloca i1
+ %s60 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_p_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ store i32 0, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t4 = load i32, ptr %sc_l_i_0
+ %t5 = uitofp i32 %t4 to double
+ %t6 = load ptr, ptr %sc_l_this_0
+ %t7 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t6, i64 0, i32 3
+ %t8 = load ptr, ptr %t7, !tbaa !198
+ %t9 = getelementptr inbounds %ScrArr, ptr %t8, i32 0, i32 1
+ %t10 = load i64, ptr %t9, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t11 = sitofp i64 %t10 to double
+ %t13 = fptosi double %t11 to i64
+ %t14 = zext i32 %t4 to i64
+ %t12 = icmp slt i64 %t14, %t13
+ br i1 %t12, label %loop.b4, label %loop.e2
+loop.b4:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t16 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t15, i64 0, i32 3
+ %t17 = load ptr, ptr %t16, !tbaa !198
+ %t18 = load i32, ptr %sc_l_i_0
+ %t19 = uitofp i32 %t18 to double
+ %t20 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2
+ %t21 = load i64, ptr %t20, !tbaa !2
+ %t22 = fptosi double %t19 to i64
+ %t23 = freeze i64 %t22
+ %t24 = sitofp i64 %t23 to double
+ %t25 = fcmp oeq double %t24, %t19
+ %t26 = icmp ult i64 %t23, %t21
+ %t27 = and i1 %t25, %t26
+ br i1 %t27, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t28 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6
+ %t29 = load i32, ptr %t28, !tbaa !2
+ %t31 = zext i32 %t29 to i64
+ %t30 = icmp ult i64 %t23, %t31
+ br i1 %t30, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t32 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1
+ %t33 = load i64, ptr %t32, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t34 = icmp ult i64 %t23, %t33
+ br i1 %t34, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t35 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9
+ %t36 = load ptr, ptr %t35, !tbaa !2
+ %t37 = getelementptr inbounds i8, ptr %t36, i64 %t23
+ %t38 = load i8, ptr %t37, !tbaa !4
+ %t39 = icmp eq i8 %t38, 1
+ br i1 %t39, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t40 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t42 = getelementptr inbounds i64, ptr %t41, i64 %t23
+ %t43 = load ptr, ptr %t42, !tbaa !6
+ store ptr %t43, ptr %sc_l_p_0
+ br label %local.array.join8
+local.array.slow6:
+ %t44 = call ptr @scr_arr_peek_ref(ptr %t17, double %t19)
+ %t45 = icmp ne ptr %t44, null
+ br i1 %t45, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ store ptr %t44, ptr %sc_l_p_0
+ br label %local.array.join8
+local.array.missing7:
+ store ptr null, ptr %sc_l_p_0
+ br label %local.array.join8
+local.array.join8:
+ %t46 = load ptr, ptr %sc_l_path_0
+ %t47 = load ptr, ptr %sc_l_p_0
+ %t49 = icmp eq ptr %t46, %t47
+ %t51 = icmp ne ptr %t46, null
+ %t52 = icmp ne ptr %t47, null
+ %t50 = and i1 %t51, %t52
+ store i1 %t49, ptr %s48
+ %t53 = xor i1 %t49, true
+ %t54 = and i1 %t53, %t50
+ br i1 %t54, label %ues.b15, label %ues.j16
+ues.b15:
+ %t55 = call zeroext i1 @sc_str_eq(ptr %t46, ptr %t47)
+ store i1 %t55, ptr %s48
+ br label %ues.j16
+ues.j16:
+ %t56 = load i1, ptr %s48
+ store i1 %t56, ptr %s57
+ br i1 %t56, label %log.j18, label %log.r17
+log.r17:
+ %t58 = load ptr, ptr %sc_l_path_0
+ %t59 = load ptr, ptr %sc_l_p_0
+ %t62 = icmp eq ptr %t59, null
+ %t61 = select i1 %t62, i32 1, i32 0
+ switch i32 %t61, label %u.bad20 [ i32 0, label %u.a21 i32 1, label %u.a22 ]
+u.a21:
+ %t63 = call ptr @sc_rc_retain_str(ptr %t59)
+ store ptr %t63, ptr %s60
+ br label %us.j19
+u.a22:
+ store ptr @sc_lit_4134463689533233, ptr %s60
+ br label %us.j19
+u.bad20:
+ call void @sc_bad_tag()
+ unreachable
+us.j19:
+ %t64 = load ptr, ptr %s60
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u23, label %exc.k24
+exc.u23:
+ call void @scr_str_release(ptr %t64)
+ ret i1 false
+exc.k24:
+ %t68 = call ptr @scr_str_concat(ptr %t64, ptr @sc_lit_2434240011052594)
+ %t69 = call i1 @scr_str_starts_with(ptr %t58, ptr %t68)
+ store i1 %t69, ptr %s57
+ call void @scr_str_release(ptr %t64)
+ call void @scr_str_release(ptr %t68)
+ br label %log.j18
+log.j18:
+ %t70 = load i1, ptr %s57
+ br i1 %t70, label %if.t25, label %if.j26
+if.t25:
+ ret i1 true
+if.j26:
+ br label %loop.u5
+loop.u5:
+ %t71 = load i32, ptr %sc_l_i_0
+ %t72 = uitofp i32 %t71 to double
+ %t74 = zext i32 %t71 to i64
+ %t75 = add nsw i64 %t74, 1
+ %t77 = trunc i64 %t75 to i32
+ %t76 = sitofp i64 %t75 to double
+ %t78 = trunc i64 %t75 to i32
+ store i32 %t78, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ ret i1 false
+}
+define internal i1 @sc_f__x25__x25_m11_StaticServer_isApi(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25__x25_m11_StaticServer_isApi(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m11_StaticServer(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal ptr @sc_bf__x25__x25_m11_StaticServer_handle(ptr %p_sc_l_this_0, ptr %p_sc_l_c_0) #0 { ; %%m11.StaticServer.handle
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_protocolReceiver_0 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolReceiver_1 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_dynCallReceiver_0 = alloca ptr ; %dynCallReceiver
+ %sc_l__x25_dynCallCallee_0 = alloca ptr ; %dynCallCallee
+ %sc_l_raw_0 = alloca ptr ; raw
+ %sc_l_rel_0 = alloca ptr ; rel
+ %sc_l__x25_protocolReceiver_2 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolReceiver_3 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_callbackReceiver_2 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_2 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_2 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_2 = alloca ptr ; %callback
+ %sc_l__x25_protocolReceiver_4 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolReceiver_5 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_callbackReceiver_3 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_3 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_3 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_3 = alloca ptr ; %callback
+ %sc_l_ext_0 = alloca ptr ; ext
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l__x25_callbackReceiver_4 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_4 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_4 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_4 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_5 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_5 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_5 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_5 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_6 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_6 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_6 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_6 = alloca ptr ; %callback
+ %sc_l__x25_dynCallReceiver_1 = alloca ptr ; %dynCallReceiver
+ %sc_l__x25_dynCallCallee_1 = alloca ptr ; %dynCallCallee
+ %sc_l_acc_0 = alloca ptr ; acc
+ %sc_l__x25_callbackReceiver_7 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_7 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_7 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_7 = alloca ptr ; %callback
+ %sc_l__x25_protocolReceiver_6 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolReceiver_7 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_callbackReceiver_8 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_8 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_8 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_8 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_9 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_9 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_9 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_9 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s41 = alloca [1 x ptr]
+ %s69 = alloca ptr
+ %s85 = alloca [1 x ptr]
+ %s114 = alloca [1 x ptr]
+ %s131 = alloca ptr
+ %s153 = alloca ptr
+ %s167 = alloca [1 x ptr]
+ %s204 = alloca ptr
+ %s218 = alloca [1 x ptr]
+ %s238 = alloca i1
+ %s264 = alloca ptr
+ %s284 = alloca [1 x ptr]
+ %s312 = alloca ptr
+ %s327 = alloca [1 x ptr]
+ %s344 = alloca i1
+ %s362 = alloca ptr
+ %s379 = alloca [3 x ptr]
+ %s385 = alloca [1 x ptr]
+ %s402 = alloca i1
+ %s408 = alloca i1
+ %s427 = alloca [1 x ptr]
+ %s444 = alloca i1
+ %s465 = alloca ptr
+ %s483 = alloca [1 x ptr]
+ %s517 = alloca ptr
+ %s531 = alloca [1 x ptr]
+ %s559 = alloca ptr
+ %s576 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_protocolReceiver_0
+ store ptr null, ptr %sc_l__x25_protocolReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_dynCallReceiver_0
+ store ptr null, ptr %sc_l__x25_dynCallCallee_0
+ store ptr null, ptr %sc_l_raw_0
+ store ptr null, ptr %sc_l_rel_0
+ store ptr null, ptr %sc_l__x25_protocolReceiver_2
+ store ptr null, ptr %sc_l__x25_protocolReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackReceiver_2
+ store ptr null, ptr %sc_l__x25_callbackBag_2
+ store ptr null, ptr %sc_l__x25_callback_2
+ store ptr null, ptr %sc_l__x25_protocolReceiver_4
+ store ptr null, ptr %sc_l__x25_protocolReceiver_5
+ store ptr null, ptr %sc_l__x25_callbackReceiver_3
+ store ptr null, ptr %sc_l__x25_callbackBag_3
+ store ptr null, ptr %sc_l__x25_callback_3
+ store ptr null, ptr %sc_l_ext_0
+ store ptr null, ptr %sc_l_a_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_4
+ store ptr null, ptr %sc_l__x25_callbackBag_4
+ store ptr null, ptr %sc_l__x25_callback_4
+ store ptr null, ptr %sc_l__x25_callbackReceiver_5
+ store ptr null, ptr %sc_l__x25_callbackBag_5
+ store ptr null, ptr %sc_l__x25_callback_5
+ store ptr null, ptr %sc_l__x25_callbackReceiver_6
+ store ptr null, ptr %sc_l__x25_callbackBag_6
+ store ptr null, ptr %sc_l__x25_callback_6
+ store ptr null, ptr %sc_l__x25_dynCallReceiver_1
+ store ptr null, ptr %sc_l__x25_dynCallCallee_1
+ store ptr null, ptr %sc_l_acc_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_7
+ store ptr null, ptr %sc_l__x25_callbackBag_7
+ store ptr null, ptr %sc_l__x25_callback_7
+ store ptr null, ptr %sc_l__x25_protocolReceiver_6
+ store ptr null, ptr %sc_l__x25_protocolReceiver_7
+ store ptr null, ptr %sc_l__x25_callbackReceiver_8
+ store ptr null, ptr %sc_l__x25_callbackBag_8
+ store ptr null, ptr %sc_l__x25_callback_8
+ store ptr null, ptr %sc_l__x25_callbackReceiver_9
+ store ptr null, ptr %sc_l__x25_callbackBag_9
+ store ptr null, ptr %sc_l__x25_callback_9
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_29(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t27 = load ptr, ptr %sc_l_c_0
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = call ptr @sc_f__x25_dyn_class_property_30(ptr %t28)
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t26)
+ br label %exc.cleanup12
+exc.k11:
+ %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_ReqViewCore(ptr %t29)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t26)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t29)
+ %t37 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t33, i64 0, i32 7
+ %t38 = load ptr, ptr %t37, !tbaa !96
+ %t39 = call ptr @sc_rc_retain_str(ptr %t38)
+ %t40 = call ptr @sc_td_0(ptr %t39)
+ %t42 = getelementptr inbounds [1 x ptr], ptr %s41, i64 0, i64 0
+ store ptr %t40, ptr %t42
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t43 = call ptr @scr_dyn_call(ptr %t24, ptr %s41, i64 1, ptr @sc_cs_3198879891697343)
+ call void @scr_dyn_this_pop()
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t33)
+ call void @scr_str_release(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t43)
+ br label %exc.cleanup12
+exc.k16:
+ %t47 = call zeroext i1 @sc_dc_3(ptr %t43, ptr null)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t33)
+ call void @scr_str_release(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t43)
+ br label %exc.cleanup12
+exc.k18:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t33)
+ call void @scr_str_release(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t51 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ %t52 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t52)
+ br i1 %t47, label %if.t19, label %if.j20
+if.t19:
+ %t53 = load ptr, ptr %sc_l_c_0
+ store ptr %t53, ptr %sc_l__x25_protocolReceiver_1
+ %t54 = load ptr, ptr %sc_l__x25_protocolReceiver_1
+ %t55 = call ptr @sc_rc_retain_dyn(ptr %t54)
+ %t56 = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %t55, i32 404, ptr @sc_lit_1113611553843547)
+ %t57 = load i32, ptr %exc.cell
+ %t58 = icmp ne i32 %t57, 0
+ %t59 = call i1 @llvm.expect.i1(i1 %t58, i1 false)
+ br i1 %t59, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @sc_release__x25_m5_CtxCore(ptr %t56)
+ ret ptr null
+exc.k22:
+ store ptr %t56, ptr %sc_l__x25_callbackReceiver_1
+ %t60 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t61 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t60)
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u23, label %exc.k24
+exc.u23:
+ call void @sc_rc_release_dyn(ptr %t61)
+ br label %exc.cleanup25
+exc.k24:
+ store ptr %t61, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t65 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t66 = getelementptr inbounds i8, ptr %t65, i64 8 ; ->kind
+ %t67 = load i32, ptr %t66
+ %t68 = icmp eq i32 %t67, 6
+ br i1 %t68, label %tern.t26, label %tern.f27
+tern.t26:
+ %t71 = call ptr @scr_dyn_undefined()
+ %t70 = call ptr @scr_dyn_retain_v(ptr %t71)
+ store ptr %t70, ptr %s69
+ br label %tern.j28
+tern.f27:
+ %t72 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t73 = call ptr @sc_rc_retain_dyn(ptr %t72)
+ %t74 = call ptr @sc_f__x25_dyn_class_property_31(ptr %t73)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t74)
+ br label %exc.cleanup31
+exc.k30:
+ store ptr %t74, ptr %s69
+ br label %tern.j28
+tern.j28:
+ %t78 = load ptr, ptr %s69
+ store ptr %t78, ptr %sc_l__x25_callback_1
+ %t79 = load ptr, ptr %sc_l__x25_callback_1
+ %t80 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t81 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t80, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t82 = call ptr @sc_rnew_r33()
+ %t83 = getelementptr inbounds %sc_rs_r33, ptr %t82, i64 0, i32 1
+ store ptr @sc_lit_2461881476274202, ptr %t83
+ %t84 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t82, ptr @sc_rretain_r33, ptr @sc_rrelease_r33, ptr @sc_cs_1825930128146299, i64 10, ptr @sc_ldr_52_materialize, ptr @sc_ldr_52_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t84, ptr @sc_ldr_52_materialize_rops)
+ %t86 = getelementptr inbounds [1 x ptr], ptr %s85, i64 0, i64 0
+ store ptr %t84, ptr %t86
+ call void @scr_dyn_this_push_dyn(ptr %t81)
+ %t87 = call ptr @scr_dyn_call(ptr %t79, ptr %s85, i64 1, ptr @sc_cs_2345038701066310)
+ call void @scr_dyn_this_pop()
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t81)
+ call void @sc_rrelease_r33(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t87)
+ br label %exc.cleanup34
+exc.k33:
+ %t91 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t87)
+ %t92 = load i32, ptr %exc.cell
+ %t93 = icmp ne i32 %t92, 0
+ %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false)
+ br i1 %t94, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rc_release_dyn(ptr %t81)
+ call void @sc_rrelease_r33(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t87)
+ call void @sc_release__x25_m5_CtxCore(ptr %t91)
+ br label %exc.cleanup34
+exc.k36:
+ call void @sc_rc_release_dyn(ptr %t81)
+ call void @sc_rrelease_r33(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t87)
+ %t95 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t91, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @sc_release__x25_m5_CtxCore(ptr %t91)
+ %t96 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t96)
+ %t97 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t97)
+ %t98 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t98)
+ ret ptr %t95
+if.j20:
+ %t99 = load ptr, ptr %sc_l_c_0
+ %t100 = call ptr @sc_rc_retain_dyn(ptr %t99)
+ %t101 = call ptr @sc_f__x25_dyn_class_property_30(ptr %t100)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_rc_release_dyn(ptr %t101)
+ ret ptr null
+exc.k38:
+ store ptr %t101, ptr %sc_l__x25_dynCallReceiver_0
+ %t105 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ %t106 = call ptr @sc_rc_retain_dyn(ptr %t105)
+ %t107 = call ptr @sc_f__x25_dyn_class_property_32(ptr %t106)
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @sc_rc_release_dyn(ptr %t107)
+ br label %exc.cleanup41
+exc.k40:
+ store ptr %t107, ptr %sc_l__x25_dynCallCallee_0
+ %t111 = load ptr, ptr %sc_l__x25_dynCallCallee_0
+ %t112 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ %t113 = call ptr @sc_td_0(ptr @sc_lit_1834571860458263)
+ %t115 = getelementptr inbounds [1 x ptr], ptr %s114, i64 0, i64 0
+ store ptr %t113, ptr %t115
+ call void @scr_dyn_this_push_dyn(ptr %t112)
+ %t116 = call ptr @scr_dyn_call(ptr %t111, ptr %s114, i64 1, ptr @sc_cs_89252900281981)
+ call void @scr_dyn_this_pop()
+ %t117 = load i32, ptr %exc.cell
+ %t118 = icmp ne i32 %t117, 0
+ %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false)
+ br i1 %t119, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t113)
+ call void @sc_rc_release_dyn(ptr %t116)
+ br label %exc.cleanup44
+exc.k43:
+ %t120 = call ptr @sc_dc_22(ptr %t116, ptr null)
+ %t121 = load i32, ptr %exc.cell
+ %t122 = icmp ne i32 %t121, 0
+ %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false)
+ br i1 %t123, label %exc.u45, label %exc.k46
+exc.u45:
+ call void @sc_rc_release_dyn(ptr %t113)
+ call void @sc_rc_release_dyn(ptr %t116)
+ %t124 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ call void @sc_rc_release_dyn(ptr %t124)
+ %t125 = load ptr, ptr %sc_l__x25_dynCallCallee_0
+ call void @sc_rc_release_dyn(ptr %t125)
+ call void @scr_str_release(ptr %t120)
+ ret ptr null
+exc.k46:
+ store ptr %t120, ptr %sc_l_raw_0
+ call void @sc_rc_release_dyn(ptr %t113)
+ call void @sc_rc_release_dyn(ptr %t116)
+ %t126 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ call void @sc_rc_release_dyn(ptr %t126)
+ %t127 = load ptr, ptr %sc_l__x25_dynCallCallee_0
+ call void @sc_rc_release_dyn(ptr %t127)
+ %t128 = load ptr, ptr %sc_l_raw_0
+ %t130 = icmp eq ptr %t128, null
+ br i1 %t130, label %tern.t47, label %tern.f48
+tern.t47:
+ store ptr @sc_lit_4005573543169985, ptr %s131
+ br label %tern.j49
+tern.f48:
+ %t132 = load ptr, ptr %sc_l_raw_0
+ %t133 = call ptr @sc_rc_retain_str(ptr %t132)
+ store ptr %t133, ptr %s131
+ br label %tern.j49
+tern.j49:
+ %t134 = load ptr, ptr %s131
+ store ptr %t134, ptr %sc_l_rel_0
+ %t135 = load ptr, ptr %sc_l_rel_0
+ %t136 = call i1 @sc_bf__x25_m11_traversal(ptr %t135)
+ br i1 %t136, label %if.t50, label %if.j51
+if.t50:
+ %t137 = load ptr, ptr %sc_l_c_0
+ store ptr %t137, ptr %sc_l__x25_protocolReceiver_3
+ %t138 = load ptr, ptr %sc_l__x25_protocolReceiver_3
+ %t139 = call ptr @sc_rc_retain_dyn(ptr %t138)
+ %t140 = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %t139, i32 403, ptr @sc_lit_1113611553843547)
+ %t141 = load i32, ptr %exc.cell
+ %t142 = icmp ne i32 %t141, 0
+ %t143 = call i1 @llvm.expect.i1(i1 %t142, i1 false)
+ br i1 %t143, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_release__x25_m5_CtxCore(ptr %t140)
+ br label %exc.cleanup54
+exc.k53:
+ store ptr %t140, ptr %sc_l__x25_callbackReceiver_2
+ %t144 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t145 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t144)
+ %t146 = load i32, ptr %exc.cell
+ %t147 = icmp ne i32 %t146, 0
+ %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false)
+ br i1 %t148, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t145)
+ br label %exc.cleanup57
+exc.k56:
+ store ptr %t145, ptr %sc_l__x25_callbackBag_2
+ store i1 true, ptr %sc_l__x25_callbackPresent_2
+ %t149 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t150 = getelementptr inbounds i8, ptr %t149, i64 8 ; ->kind
+ %t151 = load i32, ptr %t150
+ %t152 = icmp eq i32 %t151, 6
+ br i1 %t152, label %tern.t58, label %tern.f59
+tern.t58:
+ %t155 = call ptr @scr_dyn_undefined()
+ %t154 = call ptr @scr_dyn_retain_v(ptr %t155)
+ store ptr %t154, ptr %s153
+ br label %tern.j60
+tern.f59:
+ %t156 = load ptr, ptr %sc_l__x25_callbackBag_2
+ %t157 = call ptr @sc_rc_retain_dyn(ptr %t156)
+ %t158 = call ptr @sc_f__x25_dyn_class_property_33(ptr %t157)
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u61, label %exc.k62
+exc.u61:
+ call void @sc_rc_release_dyn(ptr %t158)
+ br label %exc.cleanup63
+exc.k62:
+ store ptr %t158, ptr %s153
+ br label %tern.j60
+tern.j60:
+ %t162 = load ptr, ptr %s153
+ store ptr %t162, ptr %sc_l__x25_callback_2
+ %t163 = load ptr, ptr %sc_l__x25_callback_2
+ %t164 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ %t165 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t164, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t166 = call ptr @sc_td_0(ptr @sc_lit_2114647021869682)
+ %t168 = getelementptr inbounds [1 x ptr], ptr %s167, i64 0, i64 0
+ store ptr %t166, ptr %t168
+ call void @scr_dyn_this_push_dyn(ptr %t165)
+ %t169 = call ptr @scr_dyn_call(ptr %t163, ptr %s167, i64 1, ptr @sc_cs_4405409442699003)
+ call void @scr_dyn_this_pop()
+ %t170 = load i32, ptr %exc.cell
+ %t171 = icmp ne i32 %t170, 0
+ %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false)
+ br i1 %t172, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t165)
+ call void @sc_rc_release_dyn(ptr %t166)
+ call void @sc_rc_release_dyn(ptr %t169)
+ br label %exc.cleanup66
+exc.k65:
+ %t173 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t169)
+ %t174 = load i32, ptr %exc.cell
+ %t175 = icmp ne i32 %t174, 0
+ %t176 = call i1 @llvm.expect.i1(i1 %t175, i1 false)
+ br i1 %t176, label %exc.u67, label %exc.k68
+exc.u67:
+ call void @sc_rc_release_dyn(ptr %t165)
+ call void @sc_rc_release_dyn(ptr %t166)
+ call void @sc_rc_release_dyn(ptr %t169)
+ call void @sc_release__x25_m5_CtxCore(ptr %t173)
+ br label %exc.cleanup66
+exc.k68:
+ call void @sc_rc_release_dyn(ptr %t165)
+ call void @sc_rc_release_dyn(ptr %t166)
+ call void @sc_rc_release_dyn(ptr %t169)
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t173, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @sc_release__x25_m5_CtxCore(ptr %t173)
+ %t178 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t178)
+ %t179 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t179)
+ %t180 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m5_CtxCore(ptr %t180)
+ %t181 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t181)
+ %t182 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t182)
+ ret ptr %t177
+if.j51:
+ %t183 = load ptr, ptr %sc_l_rel_0
+ %t184 = call i1 @sc_bf__x25_m11_hidden(ptr %t183)
+ %t185 = load i32, ptr %exc.cell
+ %t186 = icmp ne i32 %t185, 0
+ %t187 = call i1 @llvm.expect.i1(i1 %t186, i1 false)
+ br i1 %t187, label %exc.u69, label %exc.k70
+exc.u69:
+ br label %exc.cleanup54
+exc.k70:
+ br i1 %t184, label %if.t71, label %if.j72
+if.t71:
+ %t188 = load ptr, ptr %sc_l_c_0
+ store ptr %t188, ptr %sc_l__x25_protocolReceiver_5
+ %t189 = load ptr, ptr %sc_l__x25_protocolReceiver_5
+ %t190 = call ptr @sc_rc_retain_dyn(ptr %t189)
+ %t191 = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %t190, i32 404, ptr @sc_lit_1113611553843547)
+ %t192 = load i32, ptr %exc.cell
+ %t193 = icmp ne i32 %t192, 0
+ %t194 = call i1 @llvm.expect.i1(i1 %t193, i1 false)
+ br i1 %t194, label %exc.u73, label %exc.k74
+exc.u73:
+ call void @sc_release__x25_m5_CtxCore(ptr %t191)
+ br label %exc.cleanup54
+exc.k74:
+ store ptr %t191, ptr %sc_l__x25_callbackReceiver_3
+ %t195 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t196 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t195)
+ %t197 = load i32, ptr %exc.cell
+ %t198 = icmp ne i32 %t197, 0
+ %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false)
+ br i1 %t199, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t196)
+ br label %exc.cleanup77
+exc.k76:
+ store ptr %t196, ptr %sc_l__x25_callbackBag_3
+ store i1 true, ptr %sc_l__x25_callbackPresent_3
+ %t200 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t201 = getelementptr inbounds i8, ptr %t200, i64 8 ; ->kind
+ %t202 = load i32, ptr %t201
+ %t203 = icmp eq i32 %t202, 6
+ br i1 %t203, label %tern.t78, label %tern.f79
+tern.t78:
+ %t206 = call ptr @scr_dyn_undefined()
+ %t205 = call ptr @scr_dyn_retain_v(ptr %t206)
+ store ptr %t205, ptr %s204
+ br label %tern.j80
+tern.f79:
+ %t207 = load ptr, ptr %sc_l__x25_callbackBag_3
+ %t208 = call ptr @sc_rc_retain_dyn(ptr %t207)
+ %t209 = call ptr @sc_f__x25_dyn_class_property_33(ptr %t208)
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u81, label %exc.k82
+exc.u81:
+ call void @sc_rc_release_dyn(ptr %t209)
+ br label %exc.cleanup83
+exc.k82:
+ store ptr %t209, ptr %s204
+ br label %tern.j80
+tern.j80:
+ %t213 = load ptr, ptr %s204
+ store ptr %t213, ptr %sc_l__x25_callback_3
+ %t214 = load ptr, ptr %sc_l__x25_callback_3
+ %t215 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ %t216 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t215, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t217 = call ptr @sc_td_0(ptr @sc_lit_1778054279894)
+ %t219 = getelementptr inbounds [1 x ptr], ptr %s218, i64 0, i64 0
+ store ptr %t217, ptr %t219
+ call void @scr_dyn_this_push_dyn(ptr %t216)
+ %t220 = call ptr @scr_dyn_call(ptr %t214, ptr %s218, i64 1, ptr @sc_cs_1776008808819361)
+ call void @scr_dyn_this_pop()
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t216)
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_rc_release_dyn(ptr %t220)
+ br label %exc.cleanup86
+exc.k85:
+ %t224 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t220)
+ %t225 = load i32, ptr %exc.cell
+ %t226 = icmp ne i32 %t225, 0
+ %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false)
+ br i1 %t227, label %exc.u87, label %exc.k88
+exc.u87:
+ call void @sc_rc_release_dyn(ptr %t216)
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_rc_release_dyn(ptr %t220)
+ call void @sc_release__x25_m5_CtxCore(ptr %t224)
+ br label %exc.cleanup86
+exc.k88:
+ call void @sc_rc_release_dyn(ptr %t216)
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_rc_release_dyn(ptr %t220)
+ %t228 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t224, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @sc_release__x25_m5_CtxCore(ptr %t224)
+ %t229 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t229)
+ %t230 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t230)
+ %t231 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ call void @sc_release__x25_m5_CtxCore(ptr %t231)
+ %t232 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t232)
+ %t233 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t233)
+ ret ptr %t228
+if.j72:
+ %t234 = load ptr, ptr %sc_l_rel_0
+ %t235 = call ptr @sc_bf__x25_m7_extOf(ptr %t234)
+ store ptr %t235, ptr %sc_l_ext_0
+ store ptr @sc_nullable_null, ptr %sc_l_a_0
+ %t236 = load ptr, ptr %sc_l_rel_0
+ %t237 = call zeroext i1 @sc_streq_4005573543169985(ptr %t236)
+ store i1 %t237, ptr %s238
+ br i1 %t237, label %log.j90, label %log.r89
+log.r89:
+ %t239 = load ptr, ptr %sc_l_rel_0
+ %t240 = load ptr, ptr %sc_l_rel_0
+ %t241 = call double @sc_str_utf16_len(ptr %t240)
+ %t243 = fptosi double %t241 to i32
+ %t245 = trunc i64 1 to i32
+ %t244 = sub nsw i32 %t243, %t245
+ %t246 = sitofp i32 %t244 to double
+ %t247 = call ptr @scr_str_char_at(ptr %t239, double %t246)
+ %t248 = call zeroext i1 @sc_streq_2434240011052594(ptr %t247)
+ store i1 %t248, ptr %s238
+ call void @scr_str_release(ptr %t247)
+ br label %log.j90
+log.j90:
+ %t249 = load i1, ptr %s238
+ br i1 %t249, label %if.t91, label %if.f93
+if.t91:
+ %t250 = load ptr, ptr %sc_l_this_0
+ %t251 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t250, i64 0, i32 1
+ %t252 = load ptr, ptr %t251, !tbaa !194
+ %t253 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t252)
+ store ptr %t253, ptr %sc_l__x25_callbackReceiver_4
+ %t254 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t255 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t254, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t256 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t255)
+ %t257 = load i32, ptr %exc.cell
+ %t258 = icmp ne i32 %t257, 0
+ %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false)
+ br i1 %t259, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t256)
+ br label %exc.cleanup96
+exc.k95:
+ store ptr %t256, ptr %sc_l__x25_callbackBag_4
+ store i1 true, ptr %sc_l__x25_callbackPresent_4
+ %t260 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t261 = getelementptr inbounds i8, ptr %t260, i64 8 ; ->kind
+ %t262 = load i32, ptr %t261
+ %t263 = icmp eq i32 %t262, 6
+ br i1 %t263, label %tern.t97, label %tern.f98
+tern.t97:
+ %t266 = call ptr @scr_dyn_undefined()
+ %t265 = call ptr @scr_dyn_retain_v(ptr %t266)
+ store ptr %t265, ptr %s264
+ br label %tern.j99
+tern.f98:
+ %t267 = load ptr, ptr %sc_l__x25_callbackBag_4
+ %t268 = call ptr @sc_rc_retain_dyn(ptr %t267)
+ %t269 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t268)
+ %t270 = load i32, ptr %exc.cell
+ %t271 = icmp ne i32 %t270, 0
+ %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false)
+ br i1 %t272, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t269)
+ br label %exc.cleanup102
+exc.k101:
+ store ptr %t269, ptr %s264
+ br label %tern.j99
+tern.j99:
+ %t273 = load ptr, ptr %s264
+ store ptr %t273, ptr %sc_l__x25_callback_4
+ %t274 = load ptr, ptr %sc_l__x25_callback_4
+ %t275 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ %t276 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t275, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t277 = load ptr, ptr %sc_l_rel_0
+ %t278 = call ptr @sc_rc_retain_str(ptr %t277)
+ %t279 = load ptr, ptr %sc_l_this_0
+ %t280 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t279, i64 0, i32 4
+ %t281 = load ptr, ptr %t280, !tbaa !200
+ %t282 = call ptr @scr_str_concat(ptr %t278, ptr %t281)
+ %t283 = call ptr @sc_td_0(ptr %t282)
+ %t285 = getelementptr inbounds [1 x ptr], ptr %s284, i64 0, i64 0
+ store ptr %t283, ptr %t285
+ call void @scr_dyn_this_push_dyn(ptr %t276)
+ %t286 = call ptr @scr_dyn_call(ptr %t274, ptr %s284, i64 1, ptr @sc_cs_1751115912570399)
+ call void @scr_dyn_this_pop()
+ %t287 = load i32, ptr %exc.cell
+ %t288 = icmp ne i32 %t287, 0
+ %t289 = call i1 @llvm.expect.i1(i1 %t288, i1 false)
+ br i1 %t289, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @scr_str_release(ptr %t278)
+ call void @scr_str_release(ptr %t282)
+ call void @sc_rc_release_dyn(ptr %t283)
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup105
+exc.k104:
+ %t290 = call ptr @sc_dc_81(ptr %t286, ptr null)
+ %t291 = load i32, ptr %exc.cell
+ %t292 = icmp ne i32 %t291, 0
+ %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false)
+ br i1 %t293, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @scr_str_release(ptr %t278)
+ call void @scr_str_release(ptr %t282)
+ call void @sc_rc_release_dyn(ptr %t283)
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_rrelease_r11(ptr %t290)
+ br label %exc.cleanup105
+exc.k107:
+ %t294 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t294)
+ store ptr %t290, ptr %sc_l_a_0
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @scr_str_release(ptr %t278)
+ call void @scr_str_release(ptr %t282)
+ call void @sc_rc_release_dyn(ptr %t283)
+ call void @sc_rc_release_dyn(ptr %t286)
+ %t295 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t295)
+ %t296 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t296)
+ %t297 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ call void @sc_release__x25_m6_AssetSource(ptr %t297)
+ br label %if.j92
+if.f93:
+ %t298 = load ptr, ptr %sc_l_this_0
+ %t299 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t298, i64 0, i32 1
+ %t300 = load ptr, ptr %t299, !tbaa !194
+ %t301 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t300)
+ store ptr %t301, ptr %sc_l__x25_callbackReceiver_5
+ %t302 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup110
+exc.k109:
+ store ptr %t304, ptr %sc_l__x25_callbackBag_5
+ store i1 true, ptr %sc_l__x25_callbackPresent_5
+ %t308 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t309 = getelementptr inbounds i8, ptr %t308, i64 8 ; ->kind
+ %t310 = load i32, ptr %t309
+ %t311 = icmp eq i32 %t310, 6
+ br i1 %t311, label %tern.t111, label %tern.f112
+tern.t111:
+ %t314 = call ptr @scr_dyn_undefined()
+ %t313 = call ptr @scr_dyn_retain_v(ptr %t314)
+ store ptr %t313, ptr %s312
+ br label %tern.j113
+tern.f112:
+ %t315 = load ptr, ptr %sc_l__x25_callbackBag_5
+ %t316 = call ptr @sc_rc_retain_dyn(ptr %t315)
+ %t317 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t316)
+ %t318 = load i32, ptr %exc.cell
+ %t319 = icmp ne i32 %t318, 0
+ %t320 = call i1 @llvm.expect.i1(i1 %t319, i1 false)
+ br i1 %t320, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t317)
+ br label %exc.cleanup116
+exc.k115:
+ store ptr %t317, ptr %s312
+ br label %tern.j113
+tern.j113:
+ %t321 = load ptr, ptr %s312
+ store ptr %t321, ptr %sc_l__x25_callback_5
+ %t322 = load ptr, ptr %sc_l__x25_callback_5
+ %t323 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ %t324 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t323, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t325 = load ptr, ptr %sc_l_rel_0
+ %t326 = call ptr @sc_td_0(ptr %t325)
+ %t328 = getelementptr inbounds [1 x ptr], ptr %s327, i64 0, i64 0
+ store ptr %t326, ptr %t328
+ call void @scr_dyn_this_push_dyn(ptr %t324)
+ %t329 = call ptr @scr_dyn_call(ptr %t322, ptr %s327, i64 1, ptr @sc_cs_1751115912570399)
+ call void @scr_dyn_this_pop()
+ %t330 = load i32, ptr %exc.cell
+ %t331 = icmp ne i32 %t330, 0
+ %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false)
+ br i1 %t332, label %exc.u117, label %exc.k118
+exc.u117:
+ call void @sc_rc_release_dyn(ptr %t324)
+ call void @sc_rc_release_dyn(ptr %t326)
+ call void @sc_rc_release_dyn(ptr %t329)
+ br label %exc.cleanup119
+exc.k118:
+ %t333 = call ptr @sc_dc_81(ptr %t329, ptr null)
+ %t334 = load i32, ptr %exc.cell
+ %t335 = icmp ne i32 %t334, 0
+ %t336 = call i1 @llvm.expect.i1(i1 %t335, i1 false)
+ br i1 %t336, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @sc_rc_release_dyn(ptr %t324)
+ call void @sc_rc_release_dyn(ptr %t326)
+ call void @sc_rc_release_dyn(ptr %t329)
+ call void @sc_rrelease_r11(ptr %t333)
+ br label %exc.cleanup119
+exc.k121:
+ %t337 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t337)
+ store ptr %t333, ptr %sc_l_a_0
+ call void @sc_rc_release_dyn(ptr %t324)
+ call void @sc_rc_release_dyn(ptr %t326)
+ call void @sc_rc_release_dyn(ptr %t329)
+ %t338 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t338)
+ %t339 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t339)
+ %t340 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ call void @sc_release__x25_m6_AssetSource(ptr %t340)
+ %t341 = load ptr, ptr %sc_l_a_0
+ %t343 = icmp eq ptr %t341, @sc_nullable_null
+ store i1 %t343, ptr %s344
+ br i1 %t343, label %log.r122, label %log.j123
+log.r122:
+ %t345 = load ptr, ptr %sc_l_ext_0
+ %t346 = call zeroext i1 @sc_streq_4005573543169985(ptr %t345)
+ store i1 %t346, ptr %s344
+ br label %log.j123
+log.j123:
+ %t347 = load i1, ptr %s344
+ br i1 %t347, label %if.t124, label %if.j125
+if.t124:
+ %t348 = load ptr, ptr %sc_l_this_0
+ %t349 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t348, i64 0, i32 1
+ %t350 = load ptr, ptr %t349, !tbaa !194
+ %t351 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t350)
+ store ptr %t351, ptr %sc_l__x25_callbackReceiver_6
+ %t352 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t354 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup128
+exc.k127:
+ store ptr %t354, ptr %sc_l__x25_callbackBag_6
+ store i1 true, ptr %sc_l__x25_callbackPresent_6
+ %t358 = load ptr, ptr %sc_l__x25_callbackBag_6
+ %t359 = getelementptr inbounds i8, ptr %t358, i64 8 ; ->kind
+ %t360 = load i32, ptr %t359
+ %t361 = icmp eq i32 %t360, 6
+ br i1 %t361, label %tern.t129, label %tern.f130
+tern.t129:
+ %t364 = call ptr @scr_dyn_undefined()
+ %t363 = call ptr @scr_dyn_retain_v(ptr %t364)
+ store ptr %t363, ptr %s362
+ br label %tern.j131
+tern.f130:
+ %t365 = load ptr, ptr %sc_l__x25_callbackBag_6
+ %t366 = call ptr @sc_rc_retain_dyn(ptr %t365)
+ %t367 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t366)
+ %t368 = load i32, ptr %exc.cell
+ %t369 = icmp ne i32 %t368, 0
+ %t370 = call i1 @llvm.expect.i1(i1 %t369, i1 false)
+ br i1 %t370, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @sc_rc_release_dyn(ptr %t367)
+ br label %exc.cleanup134
+exc.k133:
+ store ptr %t367, ptr %s362
+ br label %tern.j131
+tern.j131:
+ %t371 = load ptr, ptr %s362
+ store ptr %t371, ptr %sc_l__x25_callback_6
+ %t372 = load ptr, ptr %sc_l__x25_callback_6
+ %t373 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ %t374 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t373, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t375 = load ptr, ptr %sc_l_rel_0
+ %t376 = load ptr, ptr %sc_l_this_0
+ %t377 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t376, i64 0, i32 4
+ %t378 = load ptr, ptr %t377, !tbaa !200
+ %t380 = getelementptr [3 x ptr], ptr %s379, i32 0, i32 0
+ store ptr %t375, ptr %t380
+ %t381 = getelementptr [3 x ptr], ptr %s379, i32 0, i32 1
+ store ptr @sc_lit_2434240011052594, ptr %t381
+ %t382 = getelementptr [3 x ptr], ptr %s379, i32 0, i32 2
+ store ptr %t378, ptr %t382
+ %t383 = call ptr @scr_str_concat_parts(ptr %s379, i64 3)
+ %t384 = call ptr @sc_td_0(ptr %t383)
+ %t386 = getelementptr inbounds [1 x ptr], ptr %s385, i64 0, i64 0
+ store ptr %t384, ptr %t386
+ call void @scr_dyn_this_push_dyn(ptr %t374)
+ %t387 = call ptr @scr_dyn_call(ptr %t372, ptr %s385, i64 1, ptr @sc_cs_1751115912570399)
+ call void @scr_dyn_this_pop()
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u135, label %exc.k136
+exc.u135:
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @scr_str_release(ptr %t383)
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup137
+exc.k136:
+ %t391 = call ptr @sc_dc_81(ptr %t387, ptr null)
+ %t392 = load i32, ptr %exc.cell
+ %t393 = icmp ne i32 %t392, 0
+ %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false)
+ br i1 %t394, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @scr_str_release(ptr %t383)
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t387)
+ call void @sc_rrelease_r11(ptr %t391)
+ br label %exc.cleanup137
+exc.k139:
+ %t395 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t395)
+ store ptr %t391, ptr %sc_l_a_0
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @scr_str_release(ptr %t383)
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t387)
+ %t396 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t396)
+ %t397 = load ptr, ptr %sc_l__x25_callback_6
+ call void @sc_rc_release_dyn(ptr %t397)
+ %t398 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ call void @sc_release__x25_m6_AssetSource(ptr %t398)
+ br label %if.j125
+if.j125:
+ br label %if.j92
+if.j92:
+ %t399 = load ptr, ptr %sc_l_a_0
+ %t401 = icmp eq ptr %t399, @sc_nullable_null
+ store i1 %t401, ptr %s402
+ br i1 %t401, label %log.r140, label %log.j141
+log.r140:
+ %t403 = load ptr, ptr %sc_l_this_0
+ %t404 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t403, i64 0, i32 2
+ %t405 = load i8, ptr %t404, !tbaa !196
+ %t406 = trunc i8 %t405 to i1
+ store i1 %t406, ptr %s402
+ br label %log.j141
+log.j141:
+ %t407 = load i1, ptr %s402
+ store i1 %t407, ptr %s408
+ br i1 %t407, label %log.r142, label %log.j143
+log.r142:
+ %t409 = load ptr, ptr %sc_l_ext_0
+ %t410 = call zeroext i1 @sc_streq_4005573543169985(ptr %t409)
+ store i1 %t410, ptr %s408
+ br label %log.j143
+log.j143:
+ %t411 = load i1, ptr %s408
+ br i1 %t411, label %if.t144, label %if.j145
+if.t144:
+ %t412 = load ptr, ptr %sc_l_c_0
+ %t413 = call ptr @sc_rc_retain_dyn(ptr %t412)
+ %t414 = call ptr @sc_f__x25_dyn_class_property_30(ptr %t413)
+ %t415 = load i32, ptr %exc.cell
+ %t416 = icmp ne i32 %t415, 0
+ %t417 = call i1 @llvm.expect.i1(i1 %t416, i1 false)
+ br i1 %t417, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @sc_rc_release_dyn(ptr %t414)
+ br label %exc.cleanup148
+exc.k147:
+ store ptr %t414, ptr %sc_l__x25_dynCallReceiver_1
+ %t418 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ %t419 = call ptr @sc_rc_retain_dyn(ptr %t418)
+ %t420 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t419)
+ %t421 = load i32, ptr %exc.cell
+ %t422 = icmp ne i32 %t421, 0
+ %t423 = call i1 @llvm.expect.i1(i1 %t422, i1 false)
+ br i1 %t423, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t420)
+ br label %exc.cleanup151
+exc.k150:
+ store ptr %t420, ptr %sc_l__x25_dynCallCallee_1
+ %t424 = load ptr, ptr %sc_l__x25_dynCallCallee_1
+ %t425 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ %t426 = call ptr @sc_td_0(ptr @sc_lit_3397890422060549)
+ %t428 = getelementptr inbounds [1 x ptr], ptr %s427, i64 0, i64 0
+ store ptr %t426, ptr %t428
+ call void @scr_dyn_this_push_dyn(ptr %t425)
+ %t429 = call ptr @scr_dyn_call(ptr %t424, ptr %s427, i64 1, ptr @sc_cs_28105939436950)
+ call void @scr_dyn_this_pop()
+ %t430 = load i32, ptr %exc.cell
+ %t431 = icmp ne i32 %t430, 0
+ %t432 = call i1 @llvm.expect.i1(i1 %t431, i1 false)
+ br i1 %t432, label %exc.u152, label %exc.k153
+exc.u152:
+ call void @sc_rc_release_dyn(ptr %t426)
+ call void @sc_rc_release_dyn(ptr %t429)
+ br label %exc.cleanup154
+exc.k153:
+ %t433 = call ptr @sc_dc_22(ptr %t429, ptr null)
+ %t434 = load i32, ptr %exc.cell
+ %t435 = icmp ne i32 %t434, 0
+ %t436 = call i1 @llvm.expect.i1(i1 %t435, i1 false)
+ br i1 %t436, label %exc.u155, label %exc.k156
+exc.u155:
+ call void @sc_rc_release_dyn(ptr %t426)
+ call void @sc_rc_release_dyn(ptr %t429)
+ %t437 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ call void @sc_rc_release_dyn(ptr %t437)
+ %t438 = load ptr, ptr %sc_l__x25_dynCallCallee_1
+ call void @sc_rc_release_dyn(ptr %t438)
+ call void @scr_str_release(ptr %t433)
+ br label %exc.cleanup148
+exc.k156:
+ store ptr %t433, ptr %sc_l_acc_0
+ call void @sc_rc_release_dyn(ptr %t426)
+ call void @sc_rc_release_dyn(ptr %t429)
+ %t439 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ call void @sc_rc_release_dyn(ptr %t439)
+ %t440 = load ptr, ptr %sc_l__x25_dynCallCallee_1
+ call void @sc_rc_release_dyn(ptr %t440)
+ %t441 = load ptr, ptr %sc_l_acc_0
+ %t443 = icmp ne ptr %t441, null
+ store i1 %t443, ptr %s444
+ br i1 %t443, label %log.r157, label %log.j158
+log.r157:
+ %t445 = load ptr, ptr %sc_l_acc_0
+ %t446 = call double @scr_str_index_of(ptr %t445, ptr @sc_lit_3294648205618267, double 0x0000000000000000)
+ %t448 = fptosi double %t446 to i32
+ %t449 = sext i32 %t448 to i64
+ %t447 = icmp ne i64 %t449, -1
+ store i1 %t447, ptr %s444
+ br label %log.j158
+log.j158:
+ %t450 = load i1, ptr %s444
+ br i1 %t450, label %if.t159, label %if.j160
+if.t159:
+ %t451 = load ptr, ptr %sc_l_this_0
+ %t452 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t451, i64 0, i32 1
+ %t453 = load ptr, ptr %t452, !tbaa !194
+ %t454 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t453)
+ store ptr %t454, ptr %sc_l__x25_callbackReceiver_7
+ %t455 = load ptr, ptr %sc_l__x25_callbackReceiver_7
+ %t456 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t455, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t457 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t456)
+ %t458 = load i32, ptr %exc.cell
+ %t459 = icmp ne i32 %t458, 0
+ %t460 = call i1 @llvm.expect.i1(i1 %t459, i1 false)
+ br i1 %t460, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t457)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t457, ptr %sc_l__x25_callbackBag_7
+ store i1 true, ptr %sc_l__x25_callbackPresent_7
+ %t461 = load ptr, ptr %sc_l__x25_callbackBag_7
+ %t462 = getelementptr inbounds i8, ptr %t461, i64 8 ; ->kind
+ %t463 = load i32, ptr %t462
+ %t464 = icmp eq i32 %t463, 6
+ br i1 %t464, label %tern.t164, label %tern.f165
+tern.t164:
+ %t467 = call ptr @scr_dyn_undefined()
+ %t466 = call ptr @scr_dyn_retain_v(ptr %t467)
+ store ptr %t466, ptr %s465
+ br label %tern.j166
+tern.f165:
+ %t468 = load ptr, ptr %sc_l__x25_callbackBag_7
+ %t469 = call ptr @sc_rc_retain_dyn(ptr %t468)
+ %t470 = call ptr @sc_f__x25_dyn_class_property_0(ptr %t469)
+ %t471 = load i32, ptr %exc.cell
+ %t472 = icmp ne i32 %t471, 0
+ %t473 = call i1 @llvm.expect.i1(i1 %t472, i1 false)
+ br i1 %t473, label %exc.u167, label %exc.k168
+exc.u167:
+ call void @sc_rc_release_dyn(ptr %t470)
+ br label %exc.cleanup169
+exc.k168:
+ store ptr %t470, ptr %s465
+ br label %tern.j166
+tern.j166:
+ %t474 = load ptr, ptr %s465
+ store ptr %t474, ptr %sc_l__x25_callback_7
+ %t475 = load ptr, ptr %sc_l__x25_callback_7
+ %t476 = load ptr, ptr %sc_l__x25_callbackReceiver_7
+ %t477 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t476, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t478 = load ptr, ptr %sc_l_this_0
+ %t479 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t478, i64 0, i32 4
+ %t480 = load ptr, ptr %t479, !tbaa !200
+ %t481 = call ptr @sc_rc_retain_str(ptr %t480)
+ %t482 = call ptr @sc_td_0(ptr %t481)
+ %t484 = getelementptr inbounds [1 x ptr], ptr %s483, i64 0, i64 0
+ store ptr %t482, ptr %t484
+ call void @scr_dyn_this_push_dyn(ptr %t477)
+ %t485 = call ptr @scr_dyn_call(ptr %t475, ptr %s483, i64 1, ptr @sc_cs_1751115912570399)
+ call void @scr_dyn_this_pop()
+ %t486 = load i32, ptr %exc.cell
+ %t487 = icmp ne i32 %t486, 0
+ %t488 = call i1 @llvm.expect.i1(i1 %t487, i1 false)
+ br i1 %t488, label %exc.u170, label %exc.k171
+exc.u170:
+ call void @sc_rc_release_dyn(ptr %t477)
+ call void @scr_str_release(ptr %t481)
+ call void @sc_rc_release_dyn(ptr %t482)
+ call void @sc_rc_release_dyn(ptr %t485)
+ br label %exc.cleanup172
+exc.k171:
+ %t489 = call ptr @sc_dc_81(ptr %t485, ptr null)
+ %t490 = load i32, ptr %exc.cell
+ %t491 = icmp ne i32 %t490, 0
+ %t492 = call i1 @llvm.expect.i1(i1 %t491, i1 false)
+ br i1 %t492, label %exc.u173, label %exc.k174
+exc.u173:
+ call void @sc_rc_release_dyn(ptr %t477)
+ call void @scr_str_release(ptr %t481)
+ call void @sc_rc_release_dyn(ptr %t482)
+ call void @sc_rc_release_dyn(ptr %t485)
+ call void @sc_rrelease_r11(ptr %t489)
+ br label %exc.cleanup172
+exc.k174:
+ %t493 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t493)
+ store ptr %t489, ptr %sc_l_a_0
+ call void @sc_rc_release_dyn(ptr %t477)
+ call void @scr_str_release(ptr %t481)
+ call void @sc_rc_release_dyn(ptr %t482)
+ call void @sc_rc_release_dyn(ptr %t485)
+ %t494 = load ptr, ptr %sc_l__x25_callbackBag_7
+ call void @sc_rc_release_dyn(ptr %t494)
+ %t495 = load ptr, ptr %sc_l__x25_callback_7
+ call void @sc_rc_release_dyn(ptr %t495)
+ %t496 = load ptr, ptr %sc_l__x25_callbackReceiver_7
+ call void @sc_release__x25_m6_AssetSource(ptr %t496)
+ br label %if.j160
+if.j160:
+ %t497 = load ptr, ptr %sc_l_acc_0
+ call void @scr_str_release(ptr %t497)
+ br label %if.j145
+if.j145:
+ %t498 = load ptr, ptr %sc_l_a_0
+ %t500 = icmp eq ptr %t498, @sc_nullable_null
+ br i1 %t500, label %if.t175, label %if.j176
+if.t175:
+ %t501 = load ptr, ptr %sc_l_c_0
+ store ptr %t501, ptr %sc_l__x25_protocolReceiver_7
+ %t502 = load ptr, ptr %sc_l__x25_protocolReceiver_7
+ %t503 = call ptr @sc_rc_retain_dyn(ptr %t502)
+ %t504 = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %t503, i32 404, ptr @sc_lit_1113611553843547)
+ %t505 = load i32, ptr %exc.cell
+ %t506 = icmp ne i32 %t505, 0
+ %t507 = call i1 @llvm.expect.i1(i1 %t506, i1 false)
+ br i1 %t507, label %exc.u177, label %exc.k178
+exc.u177:
+ call void @sc_release__x25_m5_CtxCore(ptr %t504)
+ br label %exc.cleanup148
+exc.k178:
+ store ptr %t504, ptr %sc_l__x25_callbackReceiver_8
+ %t508 = load ptr, ptr %sc_l__x25_callbackReceiver_8
+ %t509 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t508)
+ %t510 = load i32, ptr %exc.cell
+ %t511 = icmp ne i32 %t510, 0
+ %t512 = call i1 @llvm.expect.i1(i1 %t511, i1 false)
+ br i1 %t512, label %exc.u179, label %exc.k180
+exc.u179:
+ call void @sc_rc_release_dyn(ptr %t509)
+ br label %exc.cleanup181
+exc.k180:
+ store ptr %t509, ptr %sc_l__x25_callbackBag_8
+ store i1 true, ptr %sc_l__x25_callbackPresent_8
+ %t513 = load ptr, ptr %sc_l__x25_callbackBag_8
+ %t514 = getelementptr inbounds i8, ptr %t513, i64 8 ; ->kind
+ %t515 = load i32, ptr %t514
+ %t516 = icmp eq i32 %t515, 6
+ br i1 %t516, label %tern.t182, label %tern.f183
+tern.t182:
+ %t519 = call ptr @scr_dyn_undefined()
+ %t518 = call ptr @scr_dyn_retain_v(ptr %t519)
+ store ptr %t518, ptr %s517
+ br label %tern.j184
+tern.f183:
+ %t520 = load ptr, ptr %sc_l__x25_callbackBag_8
+ %t521 = call ptr @sc_rc_retain_dyn(ptr %t520)
+ %t522 = call ptr @sc_f__x25_dyn_class_property_33(ptr %t521)
+ %t523 = load i32, ptr %exc.cell
+ %t524 = icmp ne i32 %t523, 0
+ %t525 = call i1 @llvm.expect.i1(i1 %t524, i1 false)
+ br i1 %t525, label %exc.u185, label %exc.k186
+exc.u185:
+ call void @sc_rc_release_dyn(ptr %t522)
+ br label %exc.cleanup187
+exc.k186:
+ store ptr %t522, ptr %s517
+ br label %tern.j184
+tern.j184:
+ %t526 = load ptr, ptr %s517
+ store ptr %t526, ptr %sc_l__x25_callback_8
+ %t527 = load ptr, ptr %sc_l__x25_callback_8
+ %t528 = load ptr, ptr %sc_l__x25_callbackReceiver_8
+ %t529 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t528, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t530 = call ptr @sc_td_0(ptr @sc_lit_1778054279894)
+ %t532 = getelementptr inbounds [1 x ptr], ptr %s531, i64 0, i64 0
+ store ptr %t530, ptr %t532
+ call void @scr_dyn_this_push_dyn(ptr %t529)
+ %t533 = call ptr @scr_dyn_call(ptr %t527, ptr %s531, i64 1, ptr @sc_cs_1776008808819361)
+ call void @scr_dyn_this_pop()
+ %t534 = load i32, ptr %exc.cell
+ %t535 = icmp ne i32 %t534, 0
+ %t536 = call i1 @llvm.expect.i1(i1 %t535, i1 false)
+ br i1 %t536, label %exc.u188, label %exc.k189
+exc.u188:
+ call void @sc_rc_release_dyn(ptr %t529)
+ call void @sc_rc_release_dyn(ptr %t530)
+ call void @sc_rc_release_dyn(ptr %t533)
+ br label %exc.cleanup190
+exc.k189:
+ %t537 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t533)
+ %t538 = load i32, ptr %exc.cell
+ %t539 = icmp ne i32 %t538, 0
+ %t540 = call i1 @llvm.expect.i1(i1 %t539, i1 false)
+ br i1 %t540, label %exc.u191, label %exc.k192
+exc.u191:
+ call void @sc_rc_release_dyn(ptr %t529)
+ call void @sc_rc_release_dyn(ptr %t530)
+ call void @sc_rc_release_dyn(ptr %t533)
+ call void @sc_release__x25_m5_CtxCore(ptr %t537)
+ br label %exc.cleanup190
+exc.k192:
+ call void @sc_rc_release_dyn(ptr %t529)
+ call void @sc_rc_release_dyn(ptr %t530)
+ call void @sc_rc_release_dyn(ptr %t533)
+ %t541 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t537, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @sc_release__x25_m5_CtxCore(ptr %t537)
+ %t542 = load ptr, ptr %sc_l__x25_callbackBag_8
+ call void @sc_rc_release_dyn(ptr %t542)
+ %t543 = load ptr, ptr %sc_l__x25_callback_8
+ call void @sc_rc_release_dyn(ptr %t543)
+ %t544 = load ptr, ptr %sc_l__x25_callbackReceiver_8
+ call void @sc_release__x25_m5_CtxCore(ptr %t544)
+ %t545 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t545)
+ %t546 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t546)
+ %t547 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t547)
+ %t548 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t548)
+ ret ptr %t541
+if.j176:
+ %t549 = load ptr, ptr %sc_l_this_0
+ store ptr %t549, ptr %sc_l__x25_callbackReceiver_9
+ %t550 = load ptr, ptr %sc_l__x25_callbackReceiver_9
+ %t551 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t550)
+ %t552 = load i32, ptr %exc.cell
+ %t553 = icmp ne i32 %t552, 0
+ %t554 = call i1 @llvm.expect.i1(i1 %t553, i1 false)
+ br i1 %t554, label %exc.u193, label %exc.k194
+exc.u193:
+ call void @sc_rc_release_dyn(ptr %t551)
+ br label %exc.cleanup148
+exc.k194:
+ store ptr %t551, ptr %sc_l__x25_callbackBag_9
+ store i1 true, ptr %sc_l__x25_callbackPresent_9
+ %t555 = load ptr, ptr %sc_l__x25_callbackBag_9
+ %t556 = getelementptr inbounds i8, ptr %t555, i64 8 ; ->kind
+ %t557 = load i32, ptr %t556
+ %t558 = icmp eq i32 %t557, 6
+ br i1 %t558, label %tern.t195, label %tern.f196
+tern.t195:
+ %t561 = call ptr @scr_dyn_undefined()
+ %t560 = call ptr @scr_dyn_retain_v(ptr %t561)
+ store ptr %t560, ptr %s559
+ br label %tern.j197
+tern.f196:
+ %t562 = load ptr, ptr %sc_l__x25_callbackBag_9
+ %t563 = call ptr @sc_rc_retain_dyn(ptr %t562)
+ %t564 = call ptr @sc_f__x25_dyn_class_property_34(ptr %t563)
+ %t565 = load i32, ptr %exc.cell
+ %t566 = icmp ne i32 %t565, 0
+ %t567 = call i1 @llvm.expect.i1(i1 %t566, i1 false)
+ br i1 %t567, label %exc.u198, label %exc.k199
+exc.u198:
+ call void @sc_rc_release_dyn(ptr %t564)
+ br label %exc.cleanup200
+exc.k199:
+ store ptr %t564, ptr %s559
+ br label %tern.j197
+tern.j197:
+ %t568 = load ptr, ptr %s559
+ store ptr %t568, ptr %sc_l__x25_callback_9
+ %t569 = load ptr, ptr %sc_l__x25_callback_9
+ %t570 = load ptr, ptr %sc_l__x25_callbackReceiver_9
+ %t571 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t570, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t572 = load ptr, ptr %sc_l_c_0
+ %t573 = load ptr, ptr %sc_l_a_0
+ %t574 = call ptr @sc_rretain_r11(ptr %t573)
+ %t575 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t574, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t575, ptr @sc_ldr_46_materialize_rops)
+ %t577 = getelementptr inbounds [2 x ptr], ptr %s576, i64 0, i64 0
+ store ptr %t572, ptr %t577
+ %t578 = getelementptr inbounds [2 x ptr], ptr %s576, i64 0, i64 1
+ store ptr %t575, ptr %t578
+ call void @scr_dyn_this_push_dyn(ptr %t571)
+ %t579 = call ptr @scr_dyn_call(ptr %t569, ptr %s576, i64 2, ptr @sc_cs_4063458104305799)
+ call void @scr_dyn_this_pop()
+ %t580 = load i32, ptr %exc.cell
+ %t581 = icmp ne i32 %t580, 0
+ %t582 = call i1 @llvm.expect.i1(i1 %t581, i1 false)
+ br i1 %t582, label %exc.u201, label %exc.k202
+exc.u201:
+ call void @sc_rc_release_dyn(ptr %t571)
+ call void @sc_rrelease_r11(ptr %t574)
+ call void @sc_rc_release_dyn(ptr %t575)
+ call void @sc_rc_release_dyn(ptr %t579)
+ br label %exc.cleanup203
+exc.k202:
+ call void @sc_rc_release_dyn(ptr %t571)
+ call void @sc_rrelease_r11(ptr %t574)
+ call void @sc_rc_release_dyn(ptr %t575)
+ %t583 = load ptr, ptr %sc_l__x25_callbackBag_9
+ call void @sc_rc_release_dyn(ptr %t583)
+ %t584 = load ptr, ptr %sc_l__x25_callback_9
+ call void @sc_rc_release_dyn(ptr %t584)
+ %t585 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t585)
+ %t586 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t586)
+ %t587 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t587)
+ %t588 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t588)
+ ret ptr %t579
+exc.cleanup9:
+ %t589 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t589)
+ ret ptr null
+exc.cleanup12:
+ %t590 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t590)
+ %t591 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t591)
+ ret ptr null
+exc.cleanup25:
+ %t592 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t592)
+ ret ptr null
+exc.cleanup31:
+ %t593 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t593)
+ %t594 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t594)
+ ret ptr null
+exc.cleanup34:
+ %t595 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t595)
+ %t596 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t596)
+ %t597 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t597)
+ ret ptr null
+exc.cleanup41:
+ %t598 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ call void @sc_rc_release_dyn(ptr %t598)
+ ret ptr null
+exc.cleanup44:
+ %t599 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ call void @sc_rc_release_dyn(ptr %t599)
+ %t600 = load ptr, ptr %sc_l__x25_dynCallCallee_0
+ call void @sc_rc_release_dyn(ptr %t600)
+ ret ptr null
+exc.cleanup54:
+ %t601 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t601)
+ %t602 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t602)
+ ret ptr null
+exc.cleanup57:
+ %t603 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m5_CtxCore(ptr %t603)
+ %t604 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t604)
+ %t605 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t605)
+ ret ptr null
+exc.cleanup63:
+ %t606 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t606)
+ %t607 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m5_CtxCore(ptr %t607)
+ %t608 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t608)
+ %t609 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t609)
+ ret ptr null
+exc.cleanup66:
+ %t610 = load ptr, ptr %sc_l__x25_callbackBag_2
+ call void @sc_rc_release_dyn(ptr %t610)
+ %t611 = load ptr, ptr %sc_l__x25_callback_2
+ call void @sc_rc_release_dyn(ptr %t611)
+ %t612 = load ptr, ptr %sc_l__x25_callbackReceiver_2
+ call void @sc_release__x25_m5_CtxCore(ptr %t612)
+ %t613 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t613)
+ %t614 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t614)
+ ret ptr null
+exc.cleanup77:
+ %t615 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ call void @sc_release__x25_m5_CtxCore(ptr %t615)
+ %t616 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t616)
+ %t617 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t617)
+ ret ptr null
+exc.cleanup83:
+ %t618 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t618)
+ %t619 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ call void @sc_release__x25_m5_CtxCore(ptr %t619)
+ %t620 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t620)
+ %t621 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t621)
+ ret ptr null
+exc.cleanup86:
+ %t622 = load ptr, ptr %sc_l__x25_callbackBag_3
+ call void @sc_rc_release_dyn(ptr %t622)
+ %t623 = load ptr, ptr %sc_l__x25_callback_3
+ call void @sc_rc_release_dyn(ptr %t623)
+ %t624 = load ptr, ptr %sc_l__x25_callbackReceiver_3
+ call void @sc_release__x25_m5_CtxCore(ptr %t624)
+ %t625 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t625)
+ %t626 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t626)
+ ret ptr null
+exc.cleanup96:
+ %t627 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ call void @sc_release__x25_m6_AssetSource(ptr %t627)
+ %t628 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t628)
+ %t629 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t629)
+ %t630 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t630)
+ %t631 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t631)
+ ret ptr null
+exc.cleanup102:
+ %t632 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t632)
+ %t633 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ call void @sc_release__x25_m6_AssetSource(ptr %t633)
+ %t634 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t634)
+ %t635 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t635)
+ %t636 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t636)
+ %t637 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t637)
+ ret ptr null
+exc.cleanup105:
+ %t638 = load ptr, ptr %sc_l__x25_callbackBag_4
+ call void @sc_rc_release_dyn(ptr %t638)
+ %t639 = load ptr, ptr %sc_l__x25_callback_4
+ call void @sc_rc_release_dyn(ptr %t639)
+ %t640 = load ptr, ptr %sc_l__x25_callbackReceiver_4
+ call void @sc_release__x25_m6_AssetSource(ptr %t640)
+ %t641 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t641)
+ %t642 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t642)
+ %t643 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t643)
+ %t644 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t644)
+ ret ptr null
+exc.cleanup110:
+ %t645 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ call void @sc_release__x25_m6_AssetSource(ptr %t645)
+ %t646 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t646)
+ %t647 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t647)
+ %t648 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t648)
+ %t649 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t649)
+ ret ptr null
+exc.cleanup116:
+ %t650 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t650)
+ %t651 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ call void @sc_release__x25_m6_AssetSource(ptr %t651)
+ %t652 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t652)
+ %t653 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t653)
+ %t654 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t654)
+ %t655 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t655)
+ ret ptr null
+exc.cleanup119:
+ %t656 = load ptr, ptr %sc_l__x25_callbackBag_5
+ call void @sc_rc_release_dyn(ptr %t656)
+ %t657 = load ptr, ptr %sc_l__x25_callback_5
+ call void @sc_rc_release_dyn(ptr %t657)
+ %t658 = load ptr, ptr %sc_l__x25_callbackReceiver_5
+ call void @sc_release__x25_m6_AssetSource(ptr %t658)
+ %t659 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t659)
+ %t660 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t660)
+ %t661 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t661)
+ %t662 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t662)
+ ret ptr null
+exc.cleanup128:
+ %t663 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ call void @sc_release__x25_m6_AssetSource(ptr %t663)
+ %t664 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t664)
+ %t665 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t665)
+ %t666 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t666)
+ %t667 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t667)
+ ret ptr null
+exc.cleanup134:
+ %t668 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t668)
+ %t669 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ call void @sc_release__x25_m6_AssetSource(ptr %t669)
+ %t670 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t670)
+ %t671 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t671)
+ %t672 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t672)
+ %t673 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t673)
+ ret ptr null
+exc.cleanup137:
+ %t674 = load ptr, ptr %sc_l__x25_callbackBag_6
+ call void @sc_rc_release_dyn(ptr %t674)
+ %t675 = load ptr, ptr %sc_l__x25_callback_6
+ call void @sc_rc_release_dyn(ptr %t675)
+ %t676 = load ptr, ptr %sc_l__x25_callbackReceiver_6
+ call void @sc_release__x25_m6_AssetSource(ptr %t676)
+ %t677 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t677)
+ %t678 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t678)
+ %t679 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t679)
+ %t680 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t680)
+ ret ptr null
+exc.cleanup148:
+ %t681 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t681)
+ %t682 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t682)
+ %t683 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t683)
+ %t684 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t684)
+ ret ptr null
+exc.cleanup151:
+ %t685 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ call void @sc_rc_release_dyn(ptr %t685)
+ %t686 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t686)
+ %t687 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t687)
+ %t688 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t688)
+ %t689 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t689)
+ ret ptr null
+exc.cleanup154:
+ %t690 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ call void @sc_rc_release_dyn(ptr %t690)
+ %t691 = load ptr, ptr %sc_l__x25_dynCallCallee_1
+ call void @sc_rc_release_dyn(ptr %t691)
+ %t692 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t692)
+ %t693 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t693)
+ %t694 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t694)
+ %t695 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t695)
+ ret ptr null
+exc.cleanup163:
+ %t696 = load ptr, ptr %sc_l__x25_callbackReceiver_7
+ call void @sc_release__x25_m6_AssetSource(ptr %t696)
+ %t697 = load ptr, ptr %sc_l_acc_0
+ call void @scr_str_release(ptr %t697)
+ %t698 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t698)
+ %t699 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t699)
+ %t700 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t700)
+ %t701 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t701)
+ ret ptr null
+exc.cleanup169:
+ %t702 = load ptr, ptr %sc_l__x25_callbackBag_7
+ call void @sc_rc_release_dyn(ptr %t702)
+ %t703 = load ptr, ptr %sc_l__x25_callbackReceiver_7
+ call void @sc_release__x25_m6_AssetSource(ptr %t703)
+ %t704 = load ptr, ptr %sc_l_acc_0
+ call void @scr_str_release(ptr %t704)
+ %t705 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t705)
+ %t706 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t706)
+ %t707 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t707)
+ %t708 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t708)
+ ret ptr null
+exc.cleanup172:
+ %t709 = load ptr, ptr %sc_l__x25_callbackBag_7
+ call void @sc_rc_release_dyn(ptr %t709)
+ %t710 = load ptr, ptr %sc_l__x25_callback_7
+ call void @sc_rc_release_dyn(ptr %t710)
+ %t711 = load ptr, ptr %sc_l__x25_callbackReceiver_7
+ call void @sc_release__x25_m6_AssetSource(ptr %t711)
+ %t712 = load ptr, ptr %sc_l_acc_0
+ call void @scr_str_release(ptr %t712)
+ %t713 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t713)
+ %t714 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t714)
+ %t715 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t715)
+ %t716 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t716)
+ ret ptr null
+exc.cleanup181:
+ %t717 = load ptr, ptr %sc_l__x25_callbackReceiver_8
+ call void @sc_release__x25_m5_CtxCore(ptr %t717)
+ %t718 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t718)
+ %t719 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t719)
+ %t720 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t720)
+ %t721 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t721)
+ ret ptr null
+exc.cleanup187:
+ %t722 = load ptr, ptr %sc_l__x25_callbackBag_8
+ call void @sc_rc_release_dyn(ptr %t722)
+ %t723 = load ptr, ptr %sc_l__x25_callbackReceiver_8
+ call void @sc_release__x25_m5_CtxCore(ptr %t723)
+ %t724 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t724)
+ %t725 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t725)
+ %t726 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t726)
+ %t727 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t727)
+ ret ptr null
+exc.cleanup190:
+ %t728 = load ptr, ptr %sc_l__x25_callbackBag_8
+ call void @sc_rc_release_dyn(ptr %t728)
+ %t729 = load ptr, ptr %sc_l__x25_callback_8
+ call void @sc_rc_release_dyn(ptr %t729)
+ %t730 = load ptr, ptr %sc_l__x25_callbackReceiver_8
+ call void @sc_release__x25_m5_CtxCore(ptr %t730)
+ %t731 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t731)
+ %t732 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t732)
+ %t733 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t733)
+ %t734 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t734)
+ ret ptr null
+exc.cleanup200:
+ %t735 = load ptr, ptr %sc_l__x25_callbackBag_9
+ call void @sc_rc_release_dyn(ptr %t735)
+ %t736 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t736)
+ %t737 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t737)
+ %t738 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t738)
+ %t739 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t739)
+ ret ptr null
+exc.cleanup203:
+ %t740 = load ptr, ptr %sc_l__x25_callbackBag_9
+ call void @sc_rc_release_dyn(ptr %t740)
+ %t741 = load ptr, ptr %sc_l__x25_callback_9
+ call void @sc_rc_release_dyn(ptr %t741)
+ %t742 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t742)
+ %t743 = load ptr, ptr %sc_l_rel_0
+ call void @scr_str_release(ptr %t743)
+ %t744 = load ptr, ptr %sc_l_ext_0
+ call void @scr_str_release(ptr %t744)
+ %t745 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r11(ptr %t745)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m11_StaticServer_handle(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m11_StaticServer_handle(ptr %p0, ptr %p1)
+ call void @sc_release__x25_m11_StaticServer(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m11_StaticServer_send(ptr %p_sc_l_this_0, ptr %p_sc_l_c_0, ptr %p_sc_l_a_0) #0 { ; %%m11.StaticServer.send
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_body_0 = alloca ptr ; body
+ %sc_l_etag_0 = alloca ptr ; etag
+ %sc_l__x25_protocolReceiver_0 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_dynCallReceiver_0 = alloca ptr ; %dynCallReceiver
+ %sc_l__x25_dynCallCallee_0 = alloca ptr ; %dynCallCallee
+ %sc_l_ae_0 = alloca ptr ; ae
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l__x25_protocolReceiver_1 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolCallee_0 = alloca ptr ; %protocolCallee
+ %sc_l_tag_0 = alloca ptr ; tag
+ %sc_l__x25_protocolReceiver_2 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolReceiver_3 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolReceiver_4 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolReceiver_5 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolCallee_1 = alloca ptr ; %protocolCallee
+ %sc_l__x25_protocolReceiver_6 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolCallee_2 = alloca ptr ; %protocolCallee
+ %sc_l__x25_dynCallReceiver_1 = alloca ptr ; %dynCallReceiver
+ %sc_l__x25_dynCallCallee_1 = alloca ptr ; %dynCallCallee
+ %sc_l_inm_0 = alloca ptr ; inm
+ %sc_l__x25_protocolReceiver_7 = alloca ptr ; %protocolReceiver
+ %sc_l_rs_0 = alloca ptr ; rs
+ %sc_l__x25_protocolReceiver_8 = alloca ptr ; %protocolReceiver
+ %sc_l__x25_protocolCallee_3 = alloca ptr ; %protocolCallee
+ %s7 = alloca ptr
+ %s16 = alloca ptr
+ %s25 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s57 = alloca [1 x ptr]
+ %s84 = alloca ptr
+ %s101 = alloca [2 x ptr]
+ %s122 = alloca ptr
+ %s127 = alloca ptr
+ %s139 = alloca ptr
+ %s144 = alloca ptr
+ %s166 = alloca ptr
+ %s171 = alloca ptr
+ %s185 = alloca [3 x ptr]
+ %s201 = alloca ptr
+ %s248 = alloca ptr
+ %s291 = alloca [1 x ptr]
+ %s308 = alloca i1
+ %s365 = alloca ptr
+ store ptr null, ptr %sc_l_body_0
+ store ptr null, ptr %sc_l_etag_0
+ store ptr null, ptr %sc_l__x25_protocolReceiver_0
+ store ptr null, ptr %sc_l__x25_dynCallReceiver_0
+ store ptr null, ptr %sc_l__x25_dynCallCallee_0
+ store ptr null, ptr %sc_l_ae_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr null, ptr %sc_l__x25_protocolReceiver_1
+ store ptr null, ptr %sc_l__x25_protocolCallee_0
+ store ptr null, ptr %sc_l_tag_0
+ store ptr null, ptr %sc_l__x25_protocolReceiver_2
+ store ptr null, ptr %sc_l__x25_protocolReceiver_3
+ store ptr null, ptr %sc_l__x25_protocolReceiver_4
+ store ptr null, ptr %sc_l__x25_protocolReceiver_5
+ store ptr null, ptr %sc_l__x25_protocolCallee_1
+ store ptr null, ptr %sc_l__x25_protocolReceiver_6
+ store ptr null, ptr %sc_l__x25_protocolCallee_2
+ store ptr null, ptr %sc_l__x25_dynCallReceiver_1
+ store ptr null, ptr %sc_l__x25_dynCallCallee_1
+ store ptr null, ptr %sc_l_inm_0
+ store ptr null, ptr %sc_l__x25_protocolReceiver_7
+ store ptr null, ptr %sc_l_rs_0
+ store ptr null, ptr %sc_l__x25_protocolReceiver_8
+ store ptr null, ptr %sc_l__x25_protocolCallee_3
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_a_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %read.then2, label %read.else3
+read.then2:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4492336914082182)
+ ret ptr null
+exc.dead5:
+ store ptr null, ptr %s7
+ br label %read.join4
+read.else3:
+ %t8 = load ptr, ptr %sc_l_a_0
+ store ptr %t8, ptr %s7
+ br label %read.join4
+read.join4:
+ %t9 = load ptr, ptr %s7
+ %t10 = getelementptr inbounds %sc_rs_r11, ptr %t9, i64 0, i32 1
+ %t11 = load ptr, ptr %t10
+ %t12 = call ptr @scr_bytes_retain_v(ptr %t11)
+ store ptr %t12, ptr %sc_l_body_0
+ %t13 = load ptr, ptr %sc_l_a_0
+ %t15 = icmp eq ptr %t13, null
+ br i1 %t15, label %read.then6, label %read.else7
+read.then6:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3442096346492231)
+ br label %exc.cleanup9
+exc.dead10:
+ store ptr null, ptr %s16
+ br label %read.join8
+read.else7:
+ %t17 = load ptr, ptr %sc_l_a_0
+ store ptr %t17, ptr %s16
+ br label %read.join8
+read.join8:
+ %t18 = load ptr, ptr %s16
+ %t19 = getelementptr inbounds %sc_rs_r11, ptr %t18, i64 0, i32 3
+ %t20 = load ptr, ptr %t19
+ %t21 = call ptr @sc_rc_retain_str(ptr %t20)
+ store ptr %t21, ptr %sc_l_etag_0
+ %t22 = load ptr, ptr %sc_l_a_0
+ %t24 = icmp eq ptr %t22, null
+ br i1 %t24, label %read.then11, label %read.else12
+read.then11:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4362671655600605)
+ br label %exc.cleanup14
+exc.dead15:
+ store ptr null, ptr %s25
+ br label %read.join13
+read.else12:
+ %t26 = load ptr, ptr %sc_l_a_0
+ store ptr %t26, ptr %s25
+ br label %read.join13
+read.join13:
+ %t27 = load ptr, ptr %s25
+ %t28 = getelementptr inbounds %sc_rs_r11, ptr %t27, i64 0, i32 2
+ %t29 = load ptr, ptr %t28
+ %t30 = getelementptr inbounds %ScrArr, ptr %t29, i32 0, i32 1
+ %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t32 = sitofp i64 %t31 to double
+ %t34 = fptosi double %t32 to i64
+ %t33 = icmp sgt i64 %t34, 0
+ br i1 %t33, label %if.t16, label %if.j17
+if.t16:
+ %t35 = load ptr, ptr %sc_l_c_0
+ store ptr %t35, ptr %sc_l__x25_protocolReceiver_0
+ %t36 = load ptr, ptr %sc_l__x25_protocolReceiver_0
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = call ptr @sc_bf__x25_dyn_class_protocol_4(ptr %t37, ptr @sc_lit_2518473127799707, ptr @sc_lit_978543277017983, ptr @sc_lit_1338885626691992)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ br label %exc.cleanup14
+exc.k19:
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ %t42 = load ptr, ptr %sc_l_c_0
+ %t43 = call ptr @sc_rc_retain_dyn(ptr %t42)
+ %t44 = call ptr @sc_f__x25_dyn_class_property_30(ptr %t43)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t44)
+ br label %exc.cleanup14
+exc.k21:
+ store ptr %t44, ptr %sc_l__x25_dynCallReceiver_0
+ %t48 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t50 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t49)
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t50)
+ br label %exc.cleanup24
+exc.k23:
+ store ptr %t50, ptr %sc_l__x25_dynCallCallee_0
+ %t54 = load ptr, ptr %sc_l__x25_dynCallCallee_0
+ %t55 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ %t56 = call ptr @sc_td_0(ptr @sc_lit_978543277017983)
+ %t58 = getelementptr inbounds [1 x ptr], ptr %s57, i64 0, i64 0
+ store ptr %t56, ptr %t58
+ call void @scr_dyn_this_push_dyn(ptr %t55)
+ %t59 = call ptr @scr_dyn_call(ptr %t54, ptr %s57, i64 1, ptr @sc_cs_28105939436950)
+ call void @scr_dyn_this_pop()
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u25, label %exc.k26
+exc.u25:
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @sc_rc_release_dyn(ptr %t59)
+ br label %exc.cleanup27
+exc.k26:
+ %t63 = call ptr @sc_dc_22(ptr %t59, ptr null)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @sc_rc_release_dyn(ptr %t59)
+ %t67 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t68 = load ptr, ptr %sc_l__x25_dynCallCallee_0
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @scr_str_release(ptr %t63)
+ br label %exc.cleanup14
+exc.k29:
+ store ptr %t63, ptr %sc_l_ae_0
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @sc_rc_release_dyn(ptr %t59)
+ %t69 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ call void @sc_rc_release_dyn(ptr %t69)
+ %t70 = load ptr, ptr %sc_l__x25_dynCallCallee_0
+ call void @sc_rc_release_dyn(ptr %t70)
+ %t71 = load ptr, ptr %sc_l_ae_0
+ %t73 = icmp ne ptr %t71, null
+ br i1 %t73, label %if.t30, label %if.j31
+if.t30:
+ %t74 = load ptr, ptr %sc_l_this_0
+ store ptr %t74, ptr %sc_l__x25_callbackReceiver_0
+ %t75 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t76 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t75)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t76)
+ br label %exc.cleanup34
+exc.k33:
+ store ptr %t76, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t80 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t81 = getelementptr inbounds i8, ptr %t80, i64 8 ; ->kind
+ %t82 = load i32, ptr %t81
+ %t83 = icmp eq i32 %t82, 6
+ br i1 %t83, label %tern.t35, label %tern.f36
+tern.t35:
+ %t86 = call ptr @scr_dyn_undefined()
+ %t85 = call ptr @scr_dyn_retain_v(ptr %t86)
+ store ptr %t85, ptr %s84
+ br label %tern.j37
+tern.f36:
+ %t87 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t88 = call ptr @sc_rc_retain_dyn(ptr %t87)
+ %t89 = call ptr @sc_f__x25_dyn_class_property_35(ptr %t88)
+ %t90 = load i32, ptr %exc.cell
+ %t91 = icmp ne i32 %t90, 0
+ %t92 = call i1 @llvm.expect.i1(i1 %t91, i1 false)
+ br i1 %t92, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t89)
+ br label %exc.cleanup40
+exc.k39:
+ store ptr %t89, ptr %s84
+ br label %tern.j37
+tern.j37:
+ %t93 = load ptr, ptr %s84
+ store ptr %t93, ptr %sc_l__x25_callback_0
+ %t94 = load ptr, ptr %sc_l__x25_callback_0
+ %t95 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t97 = load ptr, ptr %sc_l_a_0
+ %t98 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t97, ptr @sc_rretain_r11, ptr @sc_rrelease_r11, ptr @sc_cs_1140872696640102, i64 10, ptr @sc_ldr_46_materialize, ptr @sc_ldr_46_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t98, ptr @sc_ldr_46_materialize_rops)
+ %t99 = load ptr, ptr %sc_l_ae_0
+ %t100 = call ptr @sc_td_0(ptr %t99)
+ %t102 = getelementptr inbounds [2 x ptr], ptr %s101, i64 0, i64 0
+ store ptr %t98, ptr %t102
+ %t103 = getelementptr inbounds [2 x ptr], ptr %s101, i64 0, i64 1
+ store ptr %t100, ptr %t103
+ call void @scr_dyn_this_push_dyn(ptr %t96)
+ %t104 = call ptr @scr_dyn_call(ptr %t94, ptr %s101, i64 2, ptr @sc_cs_857144462468593)
+ call void @scr_dyn_this_pop()
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u41, label %exc.k42
+exc.u41:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t104)
+ br label %exc.cleanup43
+exc.k42:
+ %t108 = call ptr @sc_dc_82(ptr %t104, ptr null)
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t104)
+ call void @sc_rrelease_r10(ptr %t108)
+ br label %exc.cleanup43
+exc.k45:
+ store ptr %t108, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t104)
+ %t112 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t112)
+ %t113 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t113)
+ %t114 = load ptr, ptr %sc_l_v_0
+ %t116 = icmp ne ptr %t114, @sc_nullable_null
+ br i1 %t116, label %if.t46, label %if.j47
+if.t46:
+ %t117 = load ptr, ptr %sc_l_v_0
+ %t119 = icmp ne ptr %t117, null
+ %t120 = icmp ne ptr %t117, @sc_nullable_null
+ %t121 = and i1 %t119, %t120
+ br i1 %t121, label %read.then48, label %read.else49
+read.then48:
+ %t123 = load ptr, ptr %sc_l_v_0
+ store ptr %t123, ptr %s122
+ br label %read.join50
+read.else49:
+ %t124 = load ptr, ptr %sc_l_v_0
+ %t126 = icmp eq ptr %t124, @sc_nullable_null
+ br i1 %t126, label %read.then51, label %read.else52
+read.then51:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518)
+ br label %exc.cleanup54
+exc.dead55:
+ store ptr null, ptr %s127
+ br label %read.join53
+read.else52:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup54
+exc.dead56:
+ store ptr null, ptr %s127
+ br label %read.join53
+read.join53:
+ %t128 = load ptr, ptr %s127
+ store ptr %t128, ptr %s122
+ br label %read.join50
+read.join50:
+ %t129 = load ptr, ptr %s122
+ %t130 = getelementptr inbounds %sc_rs_r10, ptr %t129, i64 0, i32 1
+ %t131 = load ptr, ptr %t130
+ %t132 = call ptr @scr_bytes_retain_v(ptr %t131)
+ %t133 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t133)
+ store ptr %t132, ptr %sc_l_body_0
+ %t134 = load ptr, ptr %sc_l_v_0
+ %t136 = icmp ne ptr %t134, null
+ %t137 = icmp ne ptr %t134, @sc_nullable_null
+ %t138 = and i1 %t136, %t137
+ br i1 %t138, label %read.then57, label %read.else58
+read.then57:
+ %t140 = load ptr, ptr %sc_l_v_0
+ store ptr %t140, ptr %s139
+ br label %read.join59
+read.else58:
+ %t141 = load ptr, ptr %sc_l_v_0
+ %t143 = icmp eq ptr %t141, @sc_nullable_null
+ br i1 %t143, label %read.then60, label %read.else61
+read.then60:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518)
+ br label %exc.cleanup54
+exc.dead63:
+ store ptr null, ptr %s144
+ br label %read.join62
+read.else61:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup54
+exc.dead64:
+ store ptr null, ptr %s144
+ br label %read.join62
+read.join62:
+ %t145 = load ptr, ptr %s144
+ store ptr %t145, ptr %s139
+ br label %read.join59
+read.join59:
+ %t146 = load ptr, ptr %s139
+ %t147 = getelementptr inbounds %sc_rs_r10, ptr %t146, i64 0, i32 3
+ %t148 = load ptr, ptr %t147
+ %t149 = call ptr @sc_rc_retain_str(ptr %t148)
+ %t150 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t150)
+ store ptr %t149, ptr %sc_l_etag_0
+ %t151 = load ptr, ptr %sc_l_c_0
+ store ptr %t151, ptr %sc_l__x25_protocolReceiver_1
+ %t152 = load ptr, ptr %sc_l__x25_protocolReceiver_1
+ %t153 = call ptr @sc_rc_retain_dyn(ptr %t152)
+ %t154 = call ptr @sc_f__x25_dyn_class_protocol_callee_5(ptr %t153)
+ %t155 = load i32, ptr %exc.cell
+ %t156 = icmp ne i32 %t155, 0
+ %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false)
+ br i1 %t157, label %exc.u65, label %exc.k66
+exc.u65:
+ call void @sc_rc_release_dyn(ptr %t154)
+ br label %exc.cleanup54
+exc.k66:
+ store ptr %t154, ptr %sc_l__x25_protocolCallee_0
+ %t158 = load ptr, ptr %sc_l__x25_protocolReceiver_1
+ %t159 = call ptr @sc_rc_retain_dyn(ptr %t158)
+ %t160 = load ptr, ptr %sc_l__x25_protocolCallee_0
+ %t161 = load ptr, ptr %sc_l_v_0
+ %t163 = icmp ne ptr %t161, null
+ %t164 = icmp ne ptr %t161, @sc_nullable_null
+ %t165 = and i1 %t163, %t164
+ br i1 %t165, label %read.then67, label %read.else68
+read.then67:
+ %t167 = load ptr, ptr %sc_l_v_0
+ store ptr %t167, ptr %s166
+ br label %read.join69
+read.else68:
+ %t168 = load ptr, ptr %sc_l_v_0
+ %t170 = icmp eq ptr %t168, @sc_nullable_null
+ br i1 %t170, label %read.then70, label %read.else71
+read.then70:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518)
+ call void @sc_rc_release_dyn(ptr %t159)
+ br label %exc.cleanup73
+exc.dead74:
+ store ptr null, ptr %s171
+ br label %read.join72
+read.else71:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ call void @sc_rc_release_dyn(ptr %t159)
+ br label %exc.cleanup73
+exc.dead75:
+ store ptr null, ptr %s171
+ br label %read.join72
+read.join72:
+ %t172 = load ptr, ptr %s171
+ store ptr %t172, ptr %s166
+ br label %read.join69
+read.join69:
+ %t173 = load ptr, ptr %s166
+ %t174 = getelementptr inbounds %sc_rs_r10, ptr %t173, i64 0, i32 2
+ %t175 = load ptr, ptr %t174
+ %t176 = call ptr @sc_rc_retain_str(ptr %t175)
+ %t177 = call ptr @sc_bf__x25_dyn_class_protocol_5(ptr %t159, ptr %t160, ptr @sc_lit_1574667939558669, ptr %t176, ptr @sc_lit_1338885626691992)
+ %t178 = load i32, ptr %exc.cell
+ %t179 = icmp ne i32 %t178, 0
+ %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false)
+ br i1 %t180, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @scr_str_release(ptr %t176)
+ call void @sc_release__x25_m5_CtxCore(ptr %t177)
+ br label %exc.cleanup73
+exc.k77:
+ call void @scr_str_release(ptr %t176)
+ call void @sc_release__x25_m5_CtxCore(ptr %t177)
+ %t181 = load ptr, ptr %sc_l__x25_protocolCallee_0
+ call void @sc_rc_release_dyn(ptr %t181)
+ br label %if.j47
+if.j47:
+ %t182 = load ptr, ptr %sc_l_v_0
+ call void @sc_rrelease_r10(ptr %t182)
+ br label %if.j31
+if.j31:
+ %t183 = load ptr, ptr %sc_l_ae_0
+ call void @scr_str_release(ptr %t183)
+ br label %if.j17
+if.j17:
+ %t184 = load ptr, ptr %sc_l_etag_0
+ %t186 = getelementptr [3 x ptr], ptr %s185, i32 0, i32 0
+ store ptr @sc_lit_2431234921623602, ptr %t186
+ %t187 = getelementptr [3 x ptr], ptr %s185, i32 0, i32 1
+ store ptr %t184, ptr %t187
+ %t188 = getelementptr [3 x ptr], ptr %s185, i32 0, i32 2
+ store ptr @sc_lit_2431234921623602, ptr %t188
+ %t189 = call ptr @scr_str_concat_parts(ptr %s185, i64 3)
+ store ptr %t189, ptr %sc_l_tag_0
+ %t190 = load ptr, ptr %sc_l_c_0
+ store ptr %t190, ptr %sc_l__x25_protocolReceiver_2
+ %t191 = load ptr, ptr %sc_l__x25_protocolReceiver_2
+ %t192 = call ptr @sc_rc_retain_dyn(ptr %t191)
+ %t193 = load ptr, ptr %sc_l_tag_0
+ %t194 = call ptr @sc_bf__x25_dyn_class_protocol_4(ptr %t192, ptr @sc_lit_4445240590403708, ptr %t193, ptr @sc_lit_1338885626691992)
+ %t195 = load i32, ptr %exc.cell
+ %t196 = icmp ne i32 %t195, 0
+ %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false)
+ br i1 %t197, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_release__x25_m5_CtxCore(ptr %t194)
+ br label %exc.cleanup80
+exc.k79:
+ call void @sc_release__x25_m5_CtxCore(ptr %t194)
+ %t198 = load ptr, ptr %sc_l_a_0
+ %t200 = icmp eq ptr %t198, null
+ br i1 %t200, label %read.then81, label %read.else82
+read.then81:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_353569185054010)
+ br label %exc.cleanup80
+exc.dead84:
+ store ptr null, ptr %s201
+ br label %read.join83
+read.else82:
+ %t202 = load ptr, ptr %sc_l_a_0
+ store ptr %t202, ptr %s201
+ br label %read.join83
+read.join83:
+ %t203 = load ptr, ptr %s201
+ %t204 = getelementptr inbounds %sc_rs_r11, ptr %t203, i64 0, i32 4
+ %t205 = load i8, ptr %t204
+ %t206 = trunc i8 %t205 to i1
+ br i1 %t206, label %if.t85, label %if.f87
+if.t85:
+ %t207 = load ptr, ptr %sc_l_c_0
+ store ptr %t207, ptr %sc_l__x25_protocolReceiver_3
+ %t208 = load ptr, ptr %sc_l__x25_protocolReceiver_3
+ %t209 = call ptr @sc_rc_retain_dyn(ptr %t208)
+ %t210 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC
+ %t211 = call ptr @sc_bf__x25_dyn_class_protocol_4(ptr %t209, ptr @sc_lit_2035483511006422, ptr %t210, ptr @sc_lit_1338885626691992)
+ %t212 = load i32, ptr %exc.cell
+ %t213 = icmp ne i32 %t212, 0
+ %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false)
+ br i1 %t214, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_release__x25_m5_CtxCore(ptr %t211)
+ br label %exc.cleanup80
+exc.k89:
+ call void @sc_release__x25_m5_CtxCore(ptr %t211)
+ br label %if.j86
+if.f87:
+ %t215 = load ptr, ptr %sc_l_a_0
+ %t216 = getelementptr inbounds %sc_rs_r11, ptr %t215, i64 0, i32 7
+ %t217 = load ptr, ptr %t216
+ %t218 = call i1 @scr_str_starts_with(ptr %t217, ptr @sc_lit_3294648205618267)
+ br i1 %t218, label %if.t90, label %if.f92
+if.t90:
+ %t219 = load ptr, ptr %sc_l_c_0
+ store ptr %t219, ptr %sc_l__x25_protocolReceiver_4
+ %t220 = load ptr, ptr %sc_l__x25_protocolReceiver_4
+ %t221 = call ptr @sc_rc_retain_dyn(ptr %t220)
+ %t222 = call ptr @sc_bf__x25_dyn_class_protocol_4(ptr %t221, ptr @sc_lit_2035483511006422, ptr @sc_lit_2351619124253283, ptr @sc_lit_1338885626691992)
+ %t223 = load i32, ptr %exc.cell
+ %t224 = icmp ne i32 %t223, 0
+ %t225 = call i1 @llvm.expect.i1(i1 %t224, i1 false)
+ br i1 %t225, label %exc.u93, label %exc.k94
+exc.u93:
+ call void @sc_release__x25_m5_CtxCore(ptr %t222)
+ br label %exc.cleanup80
+exc.k94:
+ call void @sc_release__x25_m5_CtxCore(ptr %t222)
+ br label %if.j91
+if.f92:
+ %t226 = load ptr, ptr %sc_l_c_0
+ store ptr %t226, ptr %sc_l__x25_protocolReceiver_5
+ %t227 = load ptr, ptr %sc_l__x25_protocolReceiver_5
+ %t228 = call ptr @sc_rc_retain_dyn(ptr %t227)
+ %t229 = call ptr @sc_f__x25_dyn_class_protocol_callee_5(ptr %t228)
+ %t230 = load i32, ptr %exc.cell
+ %t231 = icmp ne i32 %t230, 0
+ %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false)
+ br i1 %t232, label %exc.u95, label %exc.k96
+exc.u95:
+ call void @sc_rc_release_dyn(ptr %t229)
+ br label %exc.cleanup80
+exc.k96:
+ store ptr %t229, ptr %sc_l__x25_protocolCallee_1
+ %t233 = load ptr, ptr %sc_l__x25_protocolReceiver_5
+ %t234 = call ptr @sc_rc_retain_dyn(ptr %t233)
+ %t235 = load ptr, ptr %sc_l__x25_protocolCallee_1
+ %t236 = load ptr, ptr %sc_l_this_0
+ %t237 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t236, i64 0, i32 5
+ %t238 = load ptr, ptr %t237, !tbaa !202
+ %t239 = call ptr @sc_rc_retain_str(ptr %t238)
+ %t240 = call ptr @sc_bf__x25_dyn_class_protocol_5(ptr %t234, ptr %t235, ptr @sc_lit_2035483511006422, ptr %t239, ptr @sc_lit_1338885626691992)
+ %t241 = load i32, ptr %exc.cell
+ %t242 = icmp ne i32 %t241, 0
+ %t243 = call i1 @llvm.expect.i1(i1 %t242, i1 false)
+ br i1 %t243, label %exc.u97, label %exc.k98
+exc.u97:
+ call void @scr_str_release(ptr %t239)
+ call void @sc_release__x25_m5_CtxCore(ptr %t240)
+ br label %exc.cleanup99
+exc.k98:
+ call void @scr_str_release(ptr %t239)
+ call void @sc_release__x25_m5_CtxCore(ptr %t240)
+ %t244 = load ptr, ptr %sc_l__x25_protocolCallee_1
+ call void @sc_rc_release_dyn(ptr %t244)
+ br label %if.j91
+if.j91:
+ br label %if.j86
+if.j86:
+ %t245 = load ptr, ptr %sc_l_a_0
+ %t247 = icmp eq ptr %t245, null
+ br i1 %t247, label %read.then100, label %read.else101
+read.then100:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2826121043263175)
+ br label %exc.cleanup80
+exc.dead103:
+ store ptr null, ptr %s248
+ br label %read.join102
+read.else101:
+ %t249 = load ptr, ptr %sc_l_a_0
+ store ptr %t249, ptr %s248
+ br label %read.join102
+read.join102:
+ %t250 = load ptr, ptr %s248
+ %t251 = getelementptr inbounds %sc_rs_r11, ptr %t250, i64 0, i32 5
+ %t252 = load double, ptr %t251
+ %t253 = fcmp ogt double %t252, 0x0000000000000000
+ br i1 %t253, label %if.t104, label %if.j105
+if.t104:
+ %t254 = load ptr, ptr %sc_l_c_0
+ store ptr %t254, ptr %sc_l__x25_protocolReceiver_6
+ %t255 = load ptr, ptr %sc_l__x25_protocolReceiver_6
+ %t256 = call ptr @sc_rc_retain_dyn(ptr %t255)
+ %t257 = call ptr @sc_f__x25_dyn_class_protocol_callee_5(ptr %t256)
+ %t258 = load i32, ptr %exc.cell
+ %t259 = icmp ne i32 %t258, 0
+ %t260 = call i1 @llvm.expect.i1(i1 %t259, i1 false)
+ br i1 %t260, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t257)
+ br label %exc.cleanup80
+exc.k107:
+ store ptr %t257, ptr %sc_l__x25_protocolCallee_2
+ %t261 = load ptr, ptr %sc_l__x25_protocolReceiver_6
+ %t262 = call ptr @sc_rc_retain_dyn(ptr %t261)
+ %t263 = load ptr, ptr %sc_l__x25_protocolCallee_2
+ %t264 = load ptr, ptr %sc_l_a_0
+ %t265 = getelementptr inbounds %sc_rs_r11, ptr %t264, i64 0, i32 5
+ %t266 = load double, ptr %t265
+ %t267 = call ptr @sc_f__x25_m10_httpDate(double %t266)
+ %t268 = load i32, ptr %exc.cell
+ %t269 = icmp ne i32 %t268, 0
+ %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false)
+ br i1 %t270, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t262)
+ call void @scr_str_release(ptr %t267)
+ br label %exc.cleanup110
+exc.k109:
+ %t271 = call ptr @sc_bf__x25_dyn_class_protocol_5(ptr %t262, ptr %t263, ptr @sc_lit_2740571518511302, ptr %t267, ptr @sc_lit_1338885626691992)
+ %t272 = load i32, ptr %exc.cell
+ %t273 = icmp ne i32 %t272, 0
+ %t274 = call i1 @llvm.expect.i1(i1 %t273, i1 false)
+ br i1 %t274, label %exc.u111, label %exc.k112
+exc.u111:
+ call void @scr_str_release(ptr %t267)
+ call void @sc_release__x25_m5_CtxCore(ptr %t271)
+ br label %exc.cleanup110
+exc.k112:
+ call void @scr_str_release(ptr %t267)
+ call void @sc_release__x25_m5_CtxCore(ptr %t271)
+ %t275 = load ptr, ptr %sc_l__x25_protocolCallee_2
+ call void @sc_rc_release_dyn(ptr %t275)
+ br label %if.j105
+if.j105:
+ %t276 = load ptr, ptr %sc_l_c_0
+ %t277 = call ptr @sc_rc_retain_dyn(ptr %t276)
+ %t278 = call ptr @sc_f__x25_dyn_class_property_30(ptr %t277)
+ %t279 = load i32, ptr %exc.cell
+ %t280 = icmp ne i32 %t279, 0
+ %t281 = call i1 @llvm.expect.i1(i1 %t280, i1 false)
+ br i1 %t281, label %exc.u113, label %exc.k114
+exc.u113:
+ call void @sc_rc_release_dyn(ptr %t278)
+ br label %exc.cleanup80
+exc.k114:
+ store ptr %t278, ptr %sc_l__x25_dynCallReceiver_1
+ %t282 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ %t283 = call ptr @sc_rc_retain_dyn(ptr %t282)
+ %t284 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t283)
+ %t285 = load i32, ptr %exc.cell
+ %t286 = icmp ne i32 %t285, 0
+ %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false)
+ br i1 %t287, label %exc.u115, label %exc.k116
+exc.u115:
+ call void @sc_rc_release_dyn(ptr %t284)
+ br label %exc.cleanup117
+exc.k116:
+ store ptr %t284, ptr %sc_l__x25_dynCallCallee_1
+ %t288 = load ptr, ptr %sc_l__x25_dynCallCallee_1
+ %t289 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ %t290 = call ptr @sc_td_0(ptr @sc_lit_2869691414151891)
+ %t292 = getelementptr inbounds [1 x ptr], ptr %s291, i64 0, i64 0
+ store ptr %t290, ptr %t292
+ call void @scr_dyn_this_push_dyn(ptr %t289)
+ %t293 = call ptr @scr_dyn_call(ptr %t288, ptr %s291, i64 1, ptr @sc_cs_28105939436950)
+ call void @scr_dyn_this_pop()
+ %t294 = load i32, ptr %exc.cell
+ %t295 = icmp ne i32 %t294, 0
+ %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false)
+ br i1 %t296, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t290)
+ call void @sc_rc_release_dyn(ptr %t293)
+ br label %exc.cleanup120
+exc.k119:
+ %t297 = call ptr @sc_dc_22(ptr %t293, ptr null)
+ %t298 = load i32, ptr %exc.cell
+ %t299 = icmp ne i32 %t298, 0
+ %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false)
+ br i1 %t300, label %exc.u121, label %exc.k122
+exc.u121:
+ call void @sc_rc_release_dyn(ptr %t290)
+ call void @sc_rc_release_dyn(ptr %t293)
+ %t301 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ call void @sc_rc_release_dyn(ptr %t301)
+ %t302 = load ptr, ptr %sc_l__x25_dynCallCallee_1
+ call void @sc_rc_release_dyn(ptr %t302)
+ call void @scr_str_release(ptr %t297)
+ br label %exc.cleanup80
+exc.k122:
+ store ptr %t297, ptr %sc_l_inm_0
+ call void @sc_rc_release_dyn(ptr %t290)
+ call void @sc_rc_release_dyn(ptr %t293)
+ %t303 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ call void @sc_rc_release_dyn(ptr %t303)
+ %t304 = load ptr, ptr %sc_l__x25_dynCallCallee_1
+ call void @sc_rc_release_dyn(ptr %t304)
+ %t305 = load ptr, ptr %sc_l_inm_0
+ %t307 = icmp ne ptr %t305, null
+ store i1 %t307, ptr %s308
+ br i1 %t307, label %log.r123, label %log.j124
+log.r123:
+ %t309 = load ptr, ptr %sc_l_inm_0
+ %t310 = load ptr, ptr %sc_l_tag_0
+ %t311 = call i1 @sc_bf__x25_m11_etagMatches(ptr %t309, ptr %t310)
+ %t312 = load i32, ptr %exc.cell
+ %t313 = icmp ne i32 %t312, 0
+ %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false)
+ br i1 %t314, label %exc.u125, label %exc.k126
+exc.u125:
+ br label %exc.cleanup127
+exc.k126:
+ store i1 %t311, ptr %s308
+ br label %log.j124
+log.j124:
+ %t315 = load i1, ptr %s308
+ br i1 %t315, label %if.t128, label %if.j129
+if.t128:
+ %t316 = load ptr, ptr %sc_l_c_0
+ store ptr %t316, ptr %sc_l__x25_protocolReceiver_7
+ %t317 = load ptr, ptr %sc_l__x25_protocolReceiver_7
+ %t318 = call ptr @sc_rc_retain_dyn(ptr %t317)
+ %t319 = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %t318, i32 304, ptr @sc_lit_1113611553843547)
+ %t320 = load i32, ptr %exc.cell
+ %t321 = icmp ne i32 %t320, 0
+ %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false)
+ br i1 %t322, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_release__x25_m5_CtxCore(ptr %t319)
+ br label %exc.cleanup127
+exc.k131:
+ call void @sc_release__x25_m5_CtxCore(ptr %t319)
+ %t323 = load ptr, ptr %sc_l_c_0
+ %t324 = call ptr @sc_rc_retain_dyn(ptr %t323)
+ %t325 = call ptr @sc_f__x25_dyn_class_property_36(ptr %t324)
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @sc_rc_release_dyn(ptr %t325)
+ br label %exc.cleanup127
+exc.k133:
+ %t329 = call ptr @sc_dc_11(ptr %t325, ptr null)
+ %t330 = load i32, ptr %exc.cell
+ %t331 = icmp ne i32 %t330, 0
+ %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false)
+ br i1 %t332, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t325)
+ call void @scr_http_res_release(ptr %t329)
+ br label %exc.cleanup127
+exc.k135:
+ store ptr %t329, ptr %sc_l_rs_0
+ call void @sc_rc_release_dyn(ptr %t325)
+ %t333 = load ptr, ptr %sc_l_rs_0
+ %t334 = call ptr @scr_http_res_retain_v(ptr %t333)
+ call void @scr_http_res_end(ptr %t334)
+ %t335 = load i32, ptr %exc.cell
+ %t336 = icmp ne i32 %t335, 0
+ %t337 = call i1 @llvm.expect.i1(i1 %t336, i1 false)
+ br i1 %t337, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @scr_http_res_release(ptr %t334)
+ br label %exc.cleanup138
+exc.k137:
+ call void @scr_http_res_release(ptr %t334)
+ %t338 = load ptr, ptr %sc_l_c_0
+ %t339 = call ptr @sc_rc_retain_dyn(ptr %t338)
+ %t340 = call ptr @sc_td_3(i1 true)
+ call void @sc_bf__x25_dyn_class_property_37(ptr %t339, ptr %t340)
+ %t341 = load i32, ptr %exc.cell
+ %t342 = icmp ne i32 %t341, 0
+ %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false)
+ br i1 %t343, label %exc.u139, label %exc.k140
+exc.u139:
+ call void @sc_rc_release_dyn(ptr %t340)
+ br label %exc.cleanup138
+exc.k140:
+ call void @sc_rc_release_dyn(ptr %t340)
+ %t344 = load ptr, ptr %sc_l_c_0
+ %t345 = call ptr @sc_rc_retain_dyn(ptr %t344)
+ %t346 = load ptr, ptr %sc_l_rs_0
+ call void @scr_http_res_release(ptr %t346)
+ %t347 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t347)
+ %t348 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t348)
+ %t349 = load ptr, ptr %sc_l_tag_0
+ call void @scr_str_release(ptr %t349)
+ %t350 = load ptr, ptr %sc_l_inm_0
+ call void @scr_str_release(ptr %t350)
+ ret ptr %t345
+if.j129:
+ %t351 = load ptr, ptr %sc_l_c_0
+ store ptr %t351, ptr %sc_l__x25_protocolReceiver_8
+ %t352 = load ptr, ptr %sc_l__x25_protocolReceiver_8
+ %t353 = call ptr @sc_rc_retain_dyn(ptr %t352)
+ %t354 = call ptr @sc_f__x25_dyn_class_protocol_callee_6(ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u141, label %exc.k142
+exc.u141:
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup127
+exc.k142:
+ store ptr %t354, ptr %sc_l__x25_protocolCallee_3
+ %t358 = load ptr, ptr %sc_l__x25_protocolReceiver_8
+ %t359 = call ptr @sc_rc_retain_dyn(ptr %t358)
+ %t360 = load ptr, ptr %sc_l__x25_protocolCallee_3
+ %t361 = load ptr, ptr %sc_l_body_0
+ %t362 = load ptr, ptr %sc_l_a_0
+ %t364 = icmp eq ptr %t362, null
+ br i1 %t364, label %read.then143, label %read.else144
+read.then143:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4183713241952410)
+ call void @sc_rc_release_dyn(ptr %t359)
+ br label %exc.cleanup146
+exc.dead147:
+ store ptr null, ptr %s365
+ br label %read.join145
+read.else144:
+ %t366 = load ptr, ptr %sc_l_a_0
+ store ptr %t366, ptr %s365
+ br label %read.join145
+read.join145:
+ %t367 = load ptr, ptr %s365
+ %t368 = getelementptr inbounds %sc_rs_r11, ptr %t367, i64 0, i32 7
+ %t369 = load ptr, ptr %t368
+ %t370 = call ptr @sc_rc_retain_str(ptr %t369)
+ %t371 = call ptr @sc_bf__x25_dyn_class_protocol_6(ptr %t359, ptr %t360, ptr %t361, ptr %t370, ptr @sc_lit_100328930987147)
+ %t372 = load i32, ptr %exc.cell
+ %t373 = icmp ne i32 %t372, 0
+ %t374 = call i1 @llvm.expect.i1(i1 %t373, i1 false)
+ br i1 %t374, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @scr_str_release(ptr %t370)
+ call void @sc_release__x25_m5_CtxCore(ptr %t371)
+ br label %exc.cleanup146
+exc.k149:
+ call void @scr_str_release(ptr %t370)
+ %t375 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t371, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @sc_release__x25_m5_CtxCore(ptr %t371)
+ %t376 = load ptr, ptr %sc_l__x25_protocolCallee_3
+ call void @sc_rc_release_dyn(ptr %t376)
+ %t377 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t377)
+ %t378 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t378)
+ %t379 = load ptr, ptr %sc_l_tag_0
+ call void @scr_str_release(ptr %t379)
+ %t380 = load ptr, ptr %sc_l_inm_0
+ call void @scr_str_release(ptr %t380)
+ ret ptr %t375
+exc.cleanup9:
+ %t381 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t381)
+ ret ptr null
+exc.cleanup14:
+ %t382 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t382)
+ %t383 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t383)
+ ret ptr null
+exc.cleanup24:
+ %t384 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ call void @sc_rc_release_dyn(ptr %t384)
+ %t385 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t385)
+ %t386 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t386)
+ ret ptr null
+exc.cleanup27:
+ %t387 = load ptr, ptr %sc_l__x25_dynCallReceiver_0
+ call void @sc_rc_release_dyn(ptr %t387)
+ %t388 = load ptr, ptr %sc_l__x25_dynCallCallee_0
+ call void @sc_rc_release_dyn(ptr %t388)
+ %t389 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t389)
+ %t390 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t390)
+ ret ptr null
+exc.cleanup34:
+ %t391 = load ptr, ptr %sc_l_ae_0
+ call void @scr_str_release(ptr %t391)
+ %t392 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t393)
+ ret ptr null
+exc.cleanup40:
+ %t394 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ %t395 = load ptr, ptr %sc_l_ae_0
+ call void @scr_str_release(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t396)
+ %t397 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t397)
+ ret ptr null
+exc.cleanup43:
+ %t398 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t398)
+ %t399 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t399)
+ %t400 = load ptr, ptr %sc_l_ae_0
+ call void @scr_str_release(ptr %t400)
+ %t401 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t401)
+ %t402 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t402)
+ ret ptr null
+exc.cleanup54:
+ %t403 = load ptr, ptr %sc_l_v_0
+ call void @sc_rrelease_r10(ptr %t403)
+ %t404 = load ptr, ptr %sc_l_ae_0
+ call void @scr_str_release(ptr %t404)
+ %t405 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t405)
+ %t406 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t406)
+ ret ptr null
+exc.cleanup73:
+ %t407 = load ptr, ptr %sc_l__x25_protocolCallee_0
+ call void @sc_rc_release_dyn(ptr %t407)
+ %t408 = load ptr, ptr %sc_l_v_0
+ call void @sc_rrelease_r10(ptr %t408)
+ %t409 = load ptr, ptr %sc_l_ae_0
+ call void @scr_str_release(ptr %t409)
+ %t410 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t410)
+ %t411 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t411)
+ ret ptr null
+exc.cleanup80:
+ %t412 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t412)
+ %t413 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t413)
+ %t414 = load ptr, ptr %sc_l_tag_0
+ call void @scr_str_release(ptr %t414)
+ ret ptr null
+exc.cleanup99:
+ %t415 = load ptr, ptr %sc_l__x25_protocolCallee_1
+ call void @sc_rc_release_dyn(ptr %t415)
+ %t416 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t416)
+ %t417 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t417)
+ %t418 = load ptr, ptr %sc_l_tag_0
+ call void @scr_str_release(ptr %t418)
+ ret ptr null
+exc.cleanup110:
+ %t419 = load ptr, ptr %sc_l__x25_protocolCallee_2
+ call void @sc_rc_release_dyn(ptr %t419)
+ %t420 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t420)
+ %t421 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t421)
+ %t422 = load ptr, ptr %sc_l_tag_0
+ call void @scr_str_release(ptr %t422)
+ ret ptr null
+exc.cleanup117:
+ %t423 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ call void @sc_rc_release_dyn(ptr %t423)
+ %t424 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t424)
+ %t425 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t425)
+ %t426 = load ptr, ptr %sc_l_tag_0
+ call void @scr_str_release(ptr %t426)
+ ret ptr null
+exc.cleanup120:
+ %t427 = load ptr, ptr %sc_l__x25_dynCallReceiver_1
+ call void @sc_rc_release_dyn(ptr %t427)
+ %t428 = load ptr, ptr %sc_l__x25_dynCallCallee_1
+ call void @sc_rc_release_dyn(ptr %t428)
+ %t429 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t429)
+ %t430 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t430)
+ %t431 = load ptr, ptr %sc_l_tag_0
+ call void @scr_str_release(ptr %t431)
+ ret ptr null
+exc.cleanup127:
+ %t432 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t432)
+ %t433 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t433)
+ %t434 = load ptr, ptr %sc_l_tag_0
+ call void @scr_str_release(ptr %t434)
+ %t435 = load ptr, ptr %sc_l_inm_0
+ call void @scr_str_release(ptr %t435)
+ ret ptr null
+exc.cleanup138:
+ %t436 = load ptr, ptr %sc_l_rs_0
+ call void @scr_http_res_release(ptr %t436)
+ %t437 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t437)
+ %t438 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t438)
+ %t439 = load ptr, ptr %sc_l_tag_0
+ call void @scr_str_release(ptr %t439)
+ %t440 = load ptr, ptr %sc_l_inm_0
+ call void @scr_str_release(ptr %t440)
+ ret ptr null
+exc.cleanup146:
+ %t441 = load ptr, ptr %sc_l__x25_protocolCallee_3
+ call void @sc_rc_release_dyn(ptr %t441)
+ %t442 = load ptr, ptr %sc_l_body_0
+ call void @scr_bytes_release(ptr %t442)
+ %t443 = load ptr, ptr %sc_l_etag_0
+ call void @scr_str_release(ptr %t443)
+ %t444 = load ptr, ptr %sc_l_tag_0
+ call void @scr_str_release(ptr %t444)
+ %t445 = load ptr, ptr %sc_l_inm_0
+ call void @scr_str_release(ptr %t445)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m11_StaticServer_send(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m11_StaticServer_send(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m11_StaticServer(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rrelease_r11(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25__x25_m11_StaticServer_pick(ptr %p_sc_l_this_0, ptr %p_sc_l_a_0, ptr %p_sc_l_ae_0) #0 { ; %%m11.StaticServer.pick
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_ae_0 = alloca ptr ; ae
+ %sc_l_order_0 = alloca ptr ; order
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_arrayLit_0 = alloca ptr ; %arrayLit
+ %sc_l__x25_arrayValue_0 = alloca ptr ; %arrayValue
+ %sc_l_j_0 = alloca i32 ; j
+ %t1 = alloca [2 x i64]
+ %s7 = alloca i64 ; integer induction i
+ %s60 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s115 = alloca ptr
+ %s157 = alloca ptr
+ %s187 = alloca i1
+ %s197 = alloca ptr
+ store ptr null, ptr %sc_l_order_0
+ store ptr null, ptr %sc_l__x25_arrayLit_0
+ store ptr null, ptr %sc_l__x25_arrayValue_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store ptr %p_sc_l_ae_0, ptr %sc_l_ae_0
+ %t0 = call ptr @scr_arr_new(i32 2, i64 2)
+ %t2 = ptrtoint ptr @sc_lit_2398049524360159 to i64
+ %t3 = getelementptr inbounds i64, ptr %t1, i64 0
+ store i64 %t2, ptr %t3
+ %t4 = ptrtoint ptr @sc_lit_3533245170682650 to i64
+ %t5 = getelementptr inbounds i64, ptr %t1, i64 1
+ store i64 %t4, ptr %t5
+ %t6 = call double @scr_arr_push_many(ptr %t0, i64 2, ptr %t1)
+ store ptr %t0, ptr %sc_l_order_0
+ %t8 = fptosi double 0x0000000000000000 to i64
+ store i64 %t8, ptr %s7
+ br label %loop.c1
+loop.c1:
+ %t9 = load ptr, ptr %sc_l_order_0
+ %t10 = getelementptr inbounds %ScrArr, ptr %t9, i64 0, i32 1
+ %t11 = load i64, ptr %t10, !tbaa !2
+ %t12 = load i64, ptr %s7
+ %t13 = icmp ult i64 %t12, %t11
+ br i1 %t13, label %loop.b2, label %loop.e0
+loop.b2:
+ %t14 = load ptr, ptr %sc_l_ae_0
+ %t15 = call ptr @scr_arr_new(i32 2, i64 1)
+ store ptr %t15, ptr %sc_l__x25_arrayLit_0
+ %t16 = load ptr, ptr %sc_l_order_0
+ %t17 = load i64, ptr %s7
+ %t18 = load i64, ptr %s7
+ %t19 = sitofp i64 %t18 to double
+ %t20 = trunc i64 %t18 to i32
+ %t21 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 2
+ %t22 = load i64, ptr %t21, !tbaa !2
+ %t23 = icmp ult i64 %t17, %t22
+ br i1 %t23, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t24 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 6
+ %t25 = load i32, ptr %t24, !tbaa !2
+ %t27 = zext i32 %t25 to i64
+ %t26 = icmp ult i64 %t17, %t27
+ br i1 %t26, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t28 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 1
+ %t29 = load i64, ptr %t28, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t30 = icmp ult i64 %t17, %t29
+ br i1 %t30, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t31 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 9
+ %t32 = load ptr, ptr %t31, !tbaa !2
+ %t33 = getelementptr inbounds i8, ptr %t32, i64 %t17
+ %t34 = load i8, ptr %t33, !tbaa !4
+ %t35 = icmp eq i8 %t34, 1
+ br i1 %t35, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t36 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 8
+ %t37 = load ptr, ptr %t36, !tbaa !2
+ %t38 = getelementptr inbounds i64, ptr %t37, i64 %t17
+ %t39 = load ptr, ptr %t38, !tbaa !6
+ %t40 = call ptr @sc_rc_retain_str(ptr %t39)
+ store ptr %t40, ptr %sc_l__x25_arrayValue_0
+ br label %local.array.join6
+local.array.slow4:
+ %t41 = call ptr @scr_arr_peek_ref(ptr %t16, double %t19)
+ %t42 = icmp ne ptr %t41, null
+ br i1 %t42, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ %t43 = call ptr @sc_rc_retain_str(ptr %t41)
+ store ptr %t43, ptr %sc_l__x25_arrayValue_0
+ br label %local.array.join6
+local.array.missing5:
+ store ptr null, ptr %sc_l__x25_arrayValue_0
+ br label %local.array.join6
+local.array.join6:
+ %t44 = load ptr, ptr %sc_l__x25_arrayValue_0
+ %t46 = icmp eq ptr %t44, null
+ br i1 %t46, label %if.t13, label %if.f15
+if.t13:
+ %t47 = load ptr, ptr %sc_l__x25_arrayLit_0
+ %t48 = load ptr, ptr %sc_l__x25_arrayLit_0
+ %t49 = getelementptr inbounds %ScrArr, ptr %t48, i32 0, i32 1
+ %t50 = load i64, ptr %t49, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t51 = sitofp i64 %t50 to double
+ call void @scr_arr_set_undefined(ptr %t47, double %t51)
+ br label %if.j14
+if.f15:
+ %t52 = load ptr, ptr %sc_l__x25_arrayLit_0
+ %t53 = load ptr, ptr %sc_l__x25_arrayLit_0
+ %t54 = getelementptr inbounds %ScrArr, ptr %t53, i32 0, i32 1
+ %t55 = load i64, ptr %t54, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t56 = sitofp i64 %t55 to double
+ %t57 = load ptr, ptr %sc_l__x25_arrayValue_0
+ %t59 = icmp ne ptr %t57, null
+ br i1 %t59, label %tern.t16, label %tern.f17
+tern.t16:
+ %t61 = load ptr, ptr %sc_l__x25_arrayValue_0
+ %t62 = call ptr @sc_rc_retain_str(ptr %t61)
+ store ptr %t62, ptr %s60
+ br label %tern.j18
+tern.f17:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup19
+exc.dead20:
+ store ptr null, ptr %s60
+ br label %tern.j18
+tern.j18:
+ %t63 = load ptr, ptr %s60
+ %t64 = fptosi double %t56 to i64
+ %t69 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 8
+ %t70 = load ptr, ptr %t69, !tbaa !2
+ %t73 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 6
+ %t74 = load i32, ptr %t73, !tbaa !2
+ %t75 = zext i32 %t74 to i64
+ %t76 = icmp ult i64 %t64, %t75
+ br i1 %t76, label %arr.set.filled23, label %arr.check24
+arr.check24:
+ %t65 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 1
+ %t66 = load i64, ptr %t65, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t67 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 2
+ %t68 = load i64, ptr %t67, !tbaa !2
+ %t71 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 9
+ %t72 = load ptr, ptr %t71, !tbaa !2
+ %t77 = icmp ult i64 %t64, %t68
+ br i1 %t77, label %arr.dense25, label %arr.set.slow21
+arr.dense25:
+ %t78 = getelementptr inbounds i8, ptr %t72, i64 %t64
+ %t79 = getelementptr inbounds i64, ptr %t70, i64 %t64
+ %t80 = load i8, ptr %t78, !tbaa !4
+ %t81 = load ptr, ptr %t79, !tbaa !6
+ store ptr %t63, ptr %t79, !tbaa !6
+ store i8 1, ptr %t78, !tbaa !4
+ %t82 = zext i32 %t74 to i64
+ %t83 = icmp eq i64 %t64, %t82
+ br i1 %t83, label %arr.set.bump26, label %arr.set.state27
+arr.set.bump26:
+ %t84 = trunc i64 %t64 to i32
+ %t85 = add i32 %t84, 1
+ %t86 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 6
+ store i32 %t85, ptr %t86, !tbaa !2
+ br label %arr.set.state27
+arr.set.state27:
+ %t87 = icmp uge i64 %t64, %t66
+ br i1 %t87, label %arr.set.grow28, label %arr.set.stored29
+arr.set.grow28:
+ %t88 = add i64 %t64, 1
+ %t89 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 1
+ store i64 %t88, ptr %t89, !tbaa !2
+ br label %arr.set.stored29
+arr.set.stored29:
+ %t90 = icmp eq i8 %t80, 1
+ br i1 %t90, label %arr.set.release30, label %arr.set.join22
+arr.set.release30:
+ call void @scr_str_release(ptr %t81)
+ br label %arr.set.join22
+arr.set.filled23:
+ %t91 = getelementptr inbounds i64, ptr %t70, i64 %t64
+ %t92 = load ptr, ptr %t91, !tbaa !6
+ store ptr %t63, ptr %t91, !tbaa !6
+ call void @scr_str_release(ptr %t92)
+ br label %arr.set.join22
+arr.set.slow21:
+ call void @scr_arr_set_ref(ptr %t52, double %t56, ptr %t63) cold
+ br label %arr.set.join22
+arr.set.join22:
+ br label %if.j14
+if.j14:
+ %t93 = load ptr, ptr %sc_l__x25_arrayLit_0
+ %t94 = call ptr @scr_arr_retain_v(ptr %t93)
+ %t95 = call i1 @sc_bf__x25_m11_acceptable(ptr %t14, ptr %t94)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @scr_arr_release(ptr %t94)
+ %t99 = load ptr, ptr %sc_l__x25_arrayLit_0
+ call void @scr_arr_release(ptr %t99)
+ %t100 = load ptr, ptr %sc_l__x25_arrayValue_0
+ call void @scr_str_release(ptr %t100)
+ br label %exc.cleanup33
+exc.k32:
+ call void @scr_arr_release(ptr %t94)
+ %t101 = load ptr, ptr %sc_l__x25_arrayLit_0
+ call void @scr_arr_release(ptr %t101)
+ %t102 = load ptr, ptr %sc_l__x25_arrayValue_0
+ call void @scr_str_release(ptr %t102)
+ %t103 = xor i1 %t95, true
+ br i1 %t103, label %if.t34, label %if.j35
+if.t34:
+ br label %loop.u3
+if.j35:
+ store i32 0, ptr %sc_l_j_0
+ br label %loop.c37
+loop.c37:
+ %t104 = load i32, ptr %sc_l_j_0
+ %t105 = uitofp i32 %t104 to double
+ %t106 = load ptr, ptr %sc_l_a_0
+ %t107 = getelementptr inbounds %sc_rs_r11, ptr %t106, i64 0, i32 2
+ %t108 = load ptr, ptr %t107
+ %t109 = getelementptr inbounds %ScrArr, ptr %t108, i32 0, i32 1
+ %t110 = load i64, ptr %t109, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t111 = sitofp i64 %t110 to double
+ %t113 = fptosi double %t111 to i64
+ %t114 = zext i32 %t104 to i64
+ %t112 = icmp slt i64 %t114, %t113
+ br i1 %t112, label %loop.b38, label %loop.e36
+loop.b38:
+ %t116 = load ptr, ptr %sc_l_a_0
+ %t117 = getelementptr inbounds %sc_rs_r11, ptr %t116, i64 0, i32 2
+ %t118 = load ptr, ptr %t117
+ %t119 = load i32, ptr %sc_l_j_0
+ %t120 = uitofp i32 %t119 to double
+ %t121 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 2
+ %t122 = load i64, ptr %t121, !tbaa !2
+ %t123 = fptosi double %t120 to i64
+ %t124 = freeze i64 %t123
+ %t125 = sitofp i64 %t124 to double
+ %t126 = fcmp oeq double %t125, %t120
+ %t127 = icmp ult i64 %t124, %t122
+ %t128 = and i1 %t126, %t127
+ br i1 %t128, label %local.array.range43, label %local.array.slow40
+local.array.range43:
+ br label %local.array.dense44
+local.array.dense44:
+ %t129 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 6
+ %t130 = load i32, ptr %t129, !tbaa !2
+ %t132 = zext i32 %t130 to i64
+ %t131 = icmp ult i64 %t124, %t132
+ br i1 %t131, label %local.array.value46, label %local.array.len45
+local.array.len45:
+ %t133 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 1
+ %t134 = load i64, ptr %t133, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t135 = icmp ult i64 %t124, %t134
+ br i1 %t135, label %local.array.state47, label %local.array.missing41
+local.array.state47:
+ %t136 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 9
+ %t137 = load ptr, ptr %t136, !tbaa !2
+ %t138 = getelementptr inbounds i8, ptr %t137, i64 %t124
+ %t139 = load i8, ptr %t138, !tbaa !4
+ %t140 = icmp eq i8 %t139, 1
+ br i1 %t140, label %local.array.value46, label %local.array.missing41
+local.array.value46:
+ %t141 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 8
+ %t142 = load ptr, ptr %t141, !tbaa !2
+ %t143 = getelementptr inbounds i64, ptr %t142, i64 %t124
+ %t144 = load ptr, ptr %t143, !tbaa !6
+ store ptr %t144, ptr %s115
+ br label %local.array.join42
+local.array.slow40:
+ %t145 = call ptr @scr_arr_peek_ref(ptr %t118, double %t120)
+ %t146 = icmp ne ptr %t145, null
+ br i1 %t146, label %local.array.slow.value48, label %local.array.missing41
+local.array.slow.value48:
+ store ptr %t145, ptr %s115
+ br label %local.array.join42
+local.array.missing41:
+ store ptr null, ptr %s115
+ br label %local.array.join42
+local.array.join42:
+ %t147 = load ptr, ptr %s115
+ %t149 = icmp eq ptr %t147, null
+ %t148 = select i1 %t149, i32 1, i32 0
+ %t150 = icmp eq i32 %t148, 0
+ br i1 %t150, label %narrow.present49, label %narrow.other50
+narrow.other50:
+ call ptr @sc_bf__x25_union_narrow_11(ptr %t147)
+ %t151 = load i32, ptr %exc.cell
+ %t152 = icmp ne i32 %t151, 0
+ %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false)
+ br i1 %t153, label %exc.u51, label %exc.k52
+exc.u51:
+ br label %exc.cleanup33
+exc.k52:
+ unreachable
+narrow.present49:
+ %t154 = getelementptr inbounds %sc_rs_r10, ptr %t147, i64 0, i32 2
+ %t155 = load ptr, ptr %t154
+ %t156 = call ptr @sc_rc_retain_str(ptr %t155)
+ %t158 = load ptr, ptr %sc_l_order_0
+ %t159 = load i64, ptr %s7
+ %t160 = load i64, ptr %s7
+ %t161 = sitofp i64 %t160 to double
+ %t162 = trunc i64 %t160 to i32
+ %t163 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 2
+ %t164 = load i64, ptr %t163, !tbaa !2
+ %t165 = icmp ult i64 %t159, %t164
+ br i1 %t165, label %local.array.range56, label %local.array.slow53
+local.array.range56:
+ br label %local.array.dense57
+local.array.dense57:
+ %t166 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 6
+ %t167 = load i32, ptr %t166, !tbaa !2
+ %t169 = zext i32 %t167 to i64
+ %t168 = icmp ult i64 %t159, %t169
+ br i1 %t168, label %local.array.value59, label %local.array.len58
+local.array.len58:
+ %t170 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 1
+ %t171 = load i64, ptr %t170, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t172 = icmp ult i64 %t159, %t171
+ br i1 %t172, label %local.array.state60, label %local.array.missing54
+local.array.state60:
+ %t173 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 9
+ %t174 = load ptr, ptr %t173, !tbaa !2
+ %t175 = getelementptr inbounds i8, ptr %t174, i64 %t159
+ %t176 = load i8, ptr %t175, !tbaa !4
+ %t177 = icmp eq i8 %t176, 1
+ br i1 %t177, label %local.array.value59, label %local.array.missing54
+local.array.value59:
+ %t178 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 8
+ %t179 = load ptr, ptr %t178, !tbaa !2
+ %t180 = getelementptr inbounds i64, ptr %t179, i64 %t159
+ %t181 = load ptr, ptr %t180, !tbaa !6
+ %t182 = call ptr @sc_rc_retain_str(ptr %t181)
+ store ptr %t182, ptr %s157
+ br label %local.array.join55
+local.array.slow53:
+ %t183 = call ptr @scr_arr_peek_ref(ptr %t158, double %t161)
+ %t184 = icmp ne ptr %t183, null
+ br i1 %t184, label %local.array.slow.value61, label %local.array.missing54
+local.array.slow.value61:
+ %t185 = call ptr @sc_rc_retain_str(ptr %t183)
+ store ptr %t185, ptr %s157
+ br label %local.array.join55
+local.array.missing54:
+ store ptr null, ptr %s157
+ br label %local.array.join55
+local.array.join55:
+ %t186 = load ptr, ptr %s157
+ %t188 = icmp eq ptr %t156, %t186
+ %t190 = icmp ne ptr %t156, null
+ %t191 = icmp ne ptr %t186, null
+ %t189 = and i1 %t190, %t191
+ store i1 %t188, ptr %s187
+ %t192 = xor i1 %t188, true
+ %t193 = and i1 %t192, %t189
+ br i1 %t193, label %ues.b62, label %ues.j63
+ues.b62:
+ %t194 = call zeroext i1 @sc_str_eq(ptr %t156, ptr %t186)
+ store i1 %t194, ptr %s187
+ br label %ues.j63
+ues.j63:
+ %t195 = load i1, ptr %s187
+ call void @scr_str_release(ptr %t156)
+ %t196 = load ptr, ptr %s157
+ call void @scr_str_release(ptr %t196)
+ br i1 %t195, label %if.t64, label %if.j65
+if.t64:
+ %t198 = load ptr, ptr %sc_l_a_0
+ %t199 = getelementptr inbounds %sc_rs_r11, ptr %t198, i64 0, i32 2
+ %t200 = load ptr, ptr %t199
+ %t201 = load i32, ptr %sc_l_j_0
+ %t202 = uitofp i32 %t201 to double
+ %t203 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 2
+ %t204 = load i64, ptr %t203, !tbaa !2
+ %t205 = fptosi double %t202 to i64
+ %t206 = freeze i64 %t205
+ %t207 = sitofp i64 %t206 to double
+ %t208 = fcmp oeq double %t207, %t202
+ %t209 = icmp ult i64 %t206, %t204
+ %t210 = and i1 %t208, %t209
+ br i1 %t210, label %local.array.range69, label %local.array.slow66
+local.array.range69:
+ br label %local.array.dense70
+local.array.dense70:
+ %t211 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 6
+ %t212 = load i32, ptr %t211, !tbaa !2
+ %t214 = zext i32 %t212 to i64
+ %t213 = icmp ult i64 %t206, %t214
+ br i1 %t213, label %local.array.value72, label %local.array.len71
+local.array.len71:
+ %t215 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 1
+ %t216 = load i64, ptr %t215, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t217 = icmp ult i64 %t206, %t216
+ br i1 %t217, label %local.array.state73, label %local.array.missing67
+local.array.state73:
+ %t218 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 9
+ %t219 = load ptr, ptr %t218, !tbaa !2
+ %t220 = getelementptr inbounds i8, ptr %t219, i64 %t206
+ %t221 = load i8, ptr %t220, !tbaa !4
+ %t222 = icmp eq i8 %t221, 1
+ br i1 %t222, label %local.array.value72, label %local.array.missing67
+local.array.value72:
+ %t223 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 8
+ %t224 = load ptr, ptr %t223, !tbaa !2
+ %t225 = getelementptr inbounds i64, ptr %t224, i64 %t206
+ %t226 = load ptr, ptr %t225, !tbaa !6
+ store ptr %t226, ptr %s197
+ br label %local.array.join68
+local.array.slow66:
+ %t227 = call ptr @scr_arr_peek_ref(ptr %t200, double %t202)
+ %t228 = icmp ne ptr %t227, null
+ br i1 %t228, label %local.array.slow.value74, label %local.array.missing67
+local.array.slow.value74:
+ store ptr %t227, ptr %s197
+ br label %local.array.join68
+local.array.missing67:
+ store ptr null, ptr %s197
+ br label %local.array.join68
+local.array.join68:
+ %t229 = load ptr, ptr %s197
+ %t230 = call ptr @sc_bf__x25_union_retag_13(ptr %t229)
+ %t231 = load i32, ptr %exc.cell
+ %t232 = icmp ne i32 %t231, 0
+ %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false)
+ br i1 %t233, label %exc.u75, label %exc.k76
+exc.u75:
+ br label %exc.cleanup33
+exc.k76:
+ %t234 = call ptr @sc_rretain_r10(ptr %t230)
+ %t235 = load ptr, ptr %sc_l_order_0
+ call void @scr_arr_release(ptr %t235)
+ ret ptr %t234
+if.j65:
+ br label %loop.u39
+loop.u39:
+ %t236 = load i32, ptr %sc_l_j_0
+ %t237 = uitofp i32 %t236 to double
+ %t239 = zext i32 %t236 to i64
+ %t240 = add nsw i64 %t239, 1
+ %t242 = trunc i64 %t240 to i32
+ %t241 = sitofp i64 %t240 to double
+ %t243 = trunc i64 %t240 to i32
+ store i32 %t243, ptr %sc_l_j_0
+ br label %loop.c37
+loop.e36:
+ br label %loop.u3
+loop.u3:
+ %t244 = load i64, ptr %s7
+ %t245 = add nuw i64 %t244, 1
+ store i64 %t245, ptr %s7
+ br label %loop.c1
+loop.e0:
+ %t246 = load ptr, ptr %sc_l_order_0
+ call void @scr_arr_release(ptr %t246)
+ ret ptr @sc_nullable_null
+exc.cleanup19:
+ %t247 = load ptr, ptr %sc_l__x25_arrayLit_0
+ call void @scr_arr_release(ptr %t247)
+ %t248 = load ptr, ptr %sc_l__x25_arrayValue_0
+ call void @scr_str_release(ptr %t248)
+ %t249 = load ptr, ptr %sc_l_order_0
+ call void @scr_arr_release(ptr %t249)
+ ret ptr null
+exc.cleanup33:
+ %t250 = load ptr, ptr %sc_l_order_0
+ call void @scr_arr_release(ptr %t250)
+ ret ptr null
+}
+define internal ptr @sc_f__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_release__x25_m11_StaticServer(ptr %p0)
+ call void @sc_rrelease_r11(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25__x25_m14_BakedAssets_constructor(ptr %p_sc_l_this_0) #0 { ; %%m14.BakedAssets.constructor
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l__x25_superInitialized_0 = alloca i1 ; %superInitialized
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s17 = alloca ptr
+ %s32 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ store i1 false, ptr %sc_l__x25_superInitialized_0
+ %t0 = load i1, ptr %sc_l__x25_superInitialized_0
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ call void @scr_throw_node_coded(double 0x0000000000000000, ptr @sc_lit_2988681134725684, ptr @sc_lit_575912859096207)
+ ret void
+exc.dead2:
+ br label %if.j1
+if.j1:
+ %t1 = load ptr, ptr %sc_l_this_0
+ call void @sc_bf__x25__x25_m9_EmbeddedAssets_constructor(ptr %t1)
+ %t2 = load i32, ptr %exc.cell
+ %t3 = icmp ne i32 %t2, 0
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %exc.u3, label %exc.k4
+exc.u3:
+ ret void
+exc.k4:
+ store i1 true, ptr %sc_l__x25_superInitialized_0
+ %t5 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t6 = xor i1 %t5, true
+ br i1 %t6, label %if.t5, label %if.j6
+if.t5:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead7:
+ br label %if.j6
+if.j6:
+ %t7 = load ptr, ptr %sc_l_this_0
+ store ptr %t7, ptr %sc_l__x25_callbackReceiver_0
+ %t8 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t9 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m14_BakedAssets(ptr %t8)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ ret void
+exc.k9:
+ store ptr %t9, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t13 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t14 = getelementptr inbounds i8, ptr %t13, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t16 = icmp eq i32 %t15, 6
+ br i1 %t16, label %tern.t10, label %tern.f11
+tern.t10:
+ %t19 = call ptr @scr_dyn_undefined()
+ %t18 = call ptr @scr_dyn_retain_v(ptr %t19)
+ store ptr %t18, ptr %s17
+ br label %tern.j12
+tern.f11:
+ %t20 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ %t22 = call ptr @sc_f__x25_dyn_class_property_1(ptr %t21)
+ %t23 = load i32, ptr %exc.cell
+ %t24 = icmp ne i32 %t23, 0
+ %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false)
+ br i1 %t25, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup15
+exc.k14:
+ store ptr %t22, ptr %s17
+ br label %tern.j12
+tern.j12:
+ %t26 = load ptr, ptr %s17
+ store ptr %t26, ptr %sc_l__x25_callback_0
+ %t27 = load ptr, ptr %sc_l__x25_callback_0
+ %t28 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t29 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t28, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t30 = load ptr, ptr @sc_g_m14_RECORDS
+ %t31 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t30, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2766961976368107, i64 17, ptr @sc_ldr_53_materialize, ptr @sc_ldr_53_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t31, ptr @sc_ldr_53_materialize_ops)
+ %t33 = getelementptr inbounds [1 x ptr], ptr %s32, i64 0, i64 0
+ store ptr %t31, ptr %t33
+ call void @scr_dyn_this_push_dyn(ptr %t29)
+ %t34 = call ptr @scr_dyn_call(ptr %t27, ptr %s32, i64 1, ptr @sc_cs_1759114556739847)
+ call void @scr_dyn_this_pop()
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t34)
+ br label %exc.cleanup18
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t34)
+ %t38 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t39 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load i1, ptr %sc_l__x25_superInitialized_0
+ %t41 = xor i1 %t40, true
+ br i1 %t41, label %if.t19, label %if.j20
+if.t19:
+ call void @scr_throw_node_coded(double 0x4014000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2754504371456911)
+ ret void
+exc.dead21:
+ br label %if.j20
+if.j20:
+ ret void
+exc.cleanup15:
+ %t42 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret void
+exc.cleanup18:
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret void
+}
+define internal void @sc_f__x25__x25_m14_BakedAssets_constructor(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25__x25_m14_BakedAssets_constructor(ptr %p0)
+ call void @sc_release__x25_m14_BakedAssets(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_init_0() #0 { ; %init.0
+entry:
+ %sc_l__x25_g_m0_ROUTE_CONTRACT_VERSION = alloca i32 ; ROUTE_CONTRACT_VERSION
+ store i32 0, ptr %sc_l__x25_g_m0_ROUTE_CONTRACT_VERSION
+ %t0 = load i1, ptr @sc_g_m0__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m0__x25_loaded
+ store i32 4, ptr %sc_l__x25_g_m0_ROUTE_CONTRACT_VERSION
+ ret void
+}
+
+define internal void @sc_f__x25_init_1() #0 { ; %init.1
+entry:
+ %t0 = load i1, ptr @sc_g_m1__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m1__x25_loaded
+ ret void
+}
+
+define internal void @sc_f__x25_init_2() #0 { ; %init.2
+entry:
+ %t0 = load i1, ptr @sc_g_m2__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m2__x25_loaded
+ ret void
+}
+
+define internal void @sc_f__x25_init_3() #0 { ; %init.3
+entry:
+ %t0 = load i1, ptr @sc_g_m3__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m3__x25_loaded
+ call void @sc_f__x25_init_2()
+ ret void
+}
+
+define internal void @sc_f__x25_init_4() #0 { ; %init.4
+entry:
+ %sc_l__x25_g_m4_MP_BOUNDARY = alloca i32 ; MP_BOUNDARY
+ %sc_l__x25_g_m4_MP_AFTER = alloca i32 ; MP_AFTER
+ %sc_l__x25_g_m4_MP_HEADERS = alloca i32 ; MP_HEADERS
+ %sc_l__x25_g_m4_MP_CONTENT = alloca i32 ; MP_CONTENT
+ %sc_l__x25_g_m4_MP_DONE = alloca i32 ; MP_DONE
+ %sc_l__x25_g_m4_MP_ERR_MALFORMED = alloca i32 ; MP_ERR_MALFORMED
+ %sc_l__x25_g_m4_MP_ERR_LIMIT = alloca i32 ; MP_ERR_LIMIT
+ %sc_l__x25_g_m4_MP_MAX_HEADER = alloca i32 ; MP_MAX_HEADER
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store i32 0, ptr %sc_l__x25_g_m4_MP_BOUNDARY
+ store i32 0, ptr %sc_l__x25_g_m4_MP_AFTER
+ store i32 0, ptr %sc_l__x25_g_m4_MP_HEADERS
+ store i32 0, ptr %sc_l__x25_g_m4_MP_CONTENT
+ store i32 0, ptr %sc_l__x25_g_m4_MP_DONE
+ store i32 0, ptr %sc_l__x25_g_m4_MP_ERR_MALFORMED
+ store i32 0, ptr %sc_l__x25_g_m4_MP_ERR_LIMIT
+ store i32 0, ptr %sc_l__x25_g_m4_MP_MAX_HEADER
+ %t0 = load i1, ptr @sc_g_m4__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m4__x25_loaded
+ %t1 = call ptr @scr_bytes_new(i32 0, double 0x0000000000000000)
+ %t2 = load i32, ptr %exc.cell
+ %t3 = icmp ne i32 %t2, 0
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_bytes_release(ptr %t1)
+ ret void
+exc.k3:
+ %t5 = load ptr, ptr @sc_g_m4_EMPTY_U8
+ call void @scr_bytes_release(ptr %t5)
+ store ptr %t1, ptr @sc_g_m4_EMPTY_U8
+ store i32 0, ptr %sc_l__x25_g_m4_MP_BOUNDARY
+ store i32 1, ptr %sc_l__x25_g_m4_MP_AFTER
+ store i32 2, ptr %sc_l__x25_g_m4_MP_HEADERS
+ store i32 3, ptr %sc_l__x25_g_m4_MP_CONTENT
+ store i32 4, ptr %sc_l__x25_g_m4_MP_DONE
+ store i32 1, ptr %sc_l__x25_g_m4_MP_ERR_MALFORMED
+ store i32 2, ptr %sc_l__x25_g_m4_MP_ERR_LIMIT
+ store i32 16384, ptr %sc_l__x25_g_m4_MP_MAX_HEADER
+ ret void
+}
+
+define internal void @sc_f__x25_init_5() #0 { ; %init.5
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = load i1, ptr @sc_g_m5__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m5__x25_loaded
+ call void @sc_f__x25_init_0()
+ call void @sc_f__x25_init_1()
+ call void @sc_f__x25_init_2()
+ call void @sc_f__x25_init_3()
+ call void @sc_f__x25_init_4()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u2, label %exc.k3
+exc.u2:
+ ret void
+exc.k3:
+ call void @sc_f__x25_init_4()
+ %t4 = load i32, ptr %exc.cell
+ %t5 = icmp ne i32 %t4, 0
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %exc.u4, label %exc.k5
+exc.u4:
+ ret void
+exc.k5:
+ %t7 = call ptr @scr_arr_new(i32 2, i64 0)
+ %t8 = load ptr, ptr @sc_g_m5_EMPTY_S
+ call void @scr_arr_release(ptr %t8)
+ store ptr %t7, ptr @sc_g_m5_EMPTY_S
+ %t9 = call ptr @scr_arr_new(i32 0, i64 0)
+ %t10 = load ptr, ptr @sc_g_m5_EMPTY_N
+ call void @scr_arr_release(ptr %t10)
+ store ptr %t9, ptr @sc_g_m5_EMPTY_N
+ %t11 = call ptr @sc_new__x25_m4_MemoryStorage()
+ call void @sc_bf__x25__x25_m4_MemoryStorage_constructor(ptr %t11)
+ %t12 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t12)
+ store ptr %t11, ptr @sc_g_m5_MP_SHARED_MEM
+ ret void
+}
+
+define internal void @sc_f__x25_init_6() #0 { ; %init.6
+entry:
+ %t0 = load i1, ptr @sc_g_m6__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m6__x25_loaded
+ ret void
+}
+
+define internal void @sc_f__x25_init_7() #0 { ; %init.7
+entry:
+ %t0 = load i1, ptr @sc_g_m7__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m7__x25_loaded
+ ret void
+}
+
+define internal void @sc_f__x25_init_8() #0 { ; %init.8
+entry:
+ %t0 = load i1, ptr @sc_g_m8__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m8__x25_loaded
+ call void @sc_f__x25_init_6()
+ call void @sc_f__x25_init_7()
+ ret void
+}
+
+define internal void @sc_f__x25_init_9() #0 { ; %init.9
+entry:
+ %t0 = load i1, ptr @sc_g_m9__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m9__x25_loaded
+ call void @sc_f__x25_init_6()
+ ret void
+}
+
+define internal void @sc_f__x25_init_10() #0 { ; %init.10
+entry:
+ %t0 = load i1, ptr @sc_g_m10__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m10__x25_loaded
+ %t1 = load ptr, ptr @sc_g_m10_DAYS
+ call void @scr_str_release(ptr %t1)
+ store ptr @sc_lit_957191718306074, ptr @sc_g_m10_DAYS
+ %t2 = load ptr, ptr @sc_g_m10_MONTHS
+ call void @scr_str_release(ptr %t2)
+ store ptr @sc_lit_2120526926710519, ptr @sc_g_m10_MONTHS
+ ret void
+}
+
+define internal void @sc_f__x25_init_11() #0 { ; %init.11
+entry:
+ %t0 = load i1, ptr @sc_g_m11__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m11__x25_loaded
+ call void @sc_f__x25_init_7()
+ call void @sc_f__x25_init_10()
+ %t1 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC
+ call void @scr_str_release(ptr %t1)
+ store ptr @sc_lit_291619741538004, ptr @sc_g_m11_IMMUTABLE_CC
+ ret void
+}
+
+define internal void @sc_f__x25_init_12() #0 { ; %init.12
+entry:
+ %t0 = load i1, ptr @sc_g_m12__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m12__x25_loaded
+ call void @sc_f__x25_init_6()
+ call void @sc_f__x25_init_8()
+ call void @sc_f__x25_init_9()
+ call void @sc_f__x25_init_10()
+ call void @sc_f__x25_init_7()
+ call void @sc_f__x25_init_11()
+ ret void
+}
+
+define internal void @sc_f__x25_init_13() #0 { ; %init.13
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = load i1, ptr @sc_g_m13__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m13__x25_loaded
+ call void @sc_f__x25_init_5()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u2, label %exc.k3
+exc.u2:
+ ret void
+exc.k3:
+ call void @sc_f__x25_init_12()
+ ret void
+}
+
+define internal void @sc_f__x25_init_14() #0 { ; %init.14
+entry:
+ %t32 = alloca [3 x i64]
+ %t0 = load i1, ptr @sc_g_m14__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_m14__x25_loaded
+ call void @sc_f__x25_init_12()
+ %t1 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r14.sc_rrelease_r14.null, i64 3)
+ %t2 = call ptr @sc_rnew_r14()
+ %t3 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 6
+ store ptr @sc_lit_300426198248490, ptr %t3
+ %t4 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 7
+ store ptr @sc_lit_1698807508669189, ptr %t4
+ %t5 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 1
+ store ptr @sc_lit_840587331166583, ptr %t5
+ %t6 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 3
+ store ptr @sc_lit_3371793288775401, ptr %t6
+ %t7 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 5
+ store double 0x427A154819A2B000, ptr %t7
+ %t8 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 4
+ %t9 = zext i1 true to i8
+ store i8 %t9, ptr %t8
+ %t10 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r13.sc_rrelease_r13.null, i64 0)
+ %t11 = getelementptr inbounds %sc_rs_r14, ptr %t2, i64 0, i32 2
+ store ptr %t10, ptr %t11
+ %t12 = call ptr @sc_rnew_r14()
+ %t13 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 6
+ store ptr @sc_lit_4437836837228547, ptr %t13
+ %t14 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 7
+ store ptr @sc_lit_3506423068082710, ptr %t14
+ %t15 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 1
+ store ptr @sc_lit_3782952502569504, ptr %t15
+ %t16 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 3
+ store ptr @sc_lit_1463982050217829, ptr %t16
+ %t17 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 5
+ store double 0x427A154819A2A000, ptr %t17
+ %t18 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 4
+ %t19 = zext i1 false to i8
+ store i8 %t19, ptr %t18
+ %t20 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r13.sc_rrelease_r13.null, i64 0)
+ %t21 = getelementptr inbounds %sc_rs_r14, ptr %t12, i64 0, i32 2
+ store ptr %t20, ptr %t21
+ %t22 = call ptr @sc_rnew_r14()
+ %t23 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 6
+ store ptr @sc_lit_258747939448200, ptr %t23
+ %t24 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 7
+ store ptr @sc_lit_1657010753210616, ptr %t24
+ %t25 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 1
+ store ptr @sc_lit_2088695026021282, ptr %t25
+ %t26 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 3
+ store ptr @sc_lit_2698600211138329, ptr %t26
+ %t27 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 5
+ store double 0x427A154819A2A000, ptr %t27
+ %t28 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 4
+ %t29 = zext i1 false to i8
+ store i8 %t29, ptr %t28
+ %t30 = call ptr @scr_arr_new_ops(ptr @sc_arrops.sc_rretain_r13.sc_rrelease_r13.null, i64 0)
+ %t31 = getelementptr inbounds %sc_rs_r14, ptr %t22, i64 0, i32 2
+ store ptr %t30, ptr %t31
+ %t33 = ptrtoint ptr %t2 to i64
+ %t34 = getelementptr inbounds i64, ptr %t32, i64 0
+ store i64 %t33, ptr %t34
+ %t35 = ptrtoint ptr %t12 to i64
+ %t36 = getelementptr inbounds i64, ptr %t32, i64 1
+ store i64 %t35, ptr %t36
+ %t37 = ptrtoint ptr %t22 to i64
+ %t38 = getelementptr inbounds i64, ptr %t32, i64 2
+ store i64 %t37, ptr %t38
+ %t39 = call double @scr_arr_push_many(ptr %t1, i64 3, ptr %t32)
+ %t40 = load ptr, ptr @sc_g_m14_RECORDS
+ call void @scr_arr_release(ptr %t40)
+ store ptr %t1, ptr @sc_g_m14_RECORDS
+ ret void
+}
+
+define internal void @sc_f__x25_init_15() #0 { ; %init.15
+entry:
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s21 = alloca ptr
+ %s37 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ %t0 = load i1, ptr @sc_g_e__x25_loaded
+ br i1 %t0, label %if.t0, label %if.j1
+if.t0:
+ ret void
+if.j1:
+ store i1 true, ptr @sc_g_e__x25_loaded
+ call void @sc_f__x25_init_13()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u2, label %exc.k3
+exc.u2:
+ ret void
+exc.k3:
+ call void @sc_f__x25_init_14()
+ %t4 = call ptr @sc_new__x25_m14_BakedAssets()
+ call void @sc_bf__x25__x25_m14_BakedAssets_constructor(ptr %t4)
+ %t5 = load i32, ptr %exc.cell
+ %t6 = icmp ne i32 %t5, 0
+ %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false)
+ br i1 %t7, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m14_BakedAssets(ptr %t4)
+ ret void
+exc.k5:
+ %t8 = call ptr @sc_bf__x25_m13_buildApp(ptr %t4)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_release__x25_m6_AssetSource(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t8)
+ ret void
+exc.k7:
+ call void @sc_release__x25_m6_AssetSource(ptr %t4)
+ store ptr %t8, ptr %sc_l__x25_callbackReceiver_0
+ %t12 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t13 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t12)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t13)
+ br label %exc.cleanup10
+exc.k9:
+ store ptr %t13, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = getelementptr inbounds i8, ptr %t17, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t20 = icmp eq i32 %t19, 6
+ br i1 %t20, label %tern.t11, label %tern.f12
+tern.t11:
+ %t23 = call ptr @scr_dyn_undefined()
+ %t22 = call ptr @scr_dyn_retain_v(ptr %t23)
+ store ptr %t22, ptr %s21
+ br label %tern.j13
+tern.f12:
+ %t24 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t25 = call ptr @sc_rc_retain_dyn(ptr %t24)
+ %t26 = call ptr @sc_f__x25_dyn_class_property_53(ptr %t25)
+ %t27 = load i32, ptr %exc.cell
+ %t28 = icmp ne i32 %t27, 0
+ %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false)
+ br i1 %t29, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ br label %exc.cleanup16
+exc.k15:
+ store ptr %t26, ptr %s21
+ br label %tern.j13
+tern.j13:
+ %t30 = load ptr, ptr %s21
+ store ptr %t30, ptr %sc_l__x25_callback_0
+ %t31 = load ptr, ptr %sc_l__x25_callback_0
+ %t32 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t34 = call ptr @sc_rnew_r20()
+ %t35 = getelementptr inbounds %sc_rs_r20, ptr %t34, i64 0, i32 1
+ store double 0x40A7700000000000, ptr %t35
+ %t36 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t34, ptr @sc_rretain_r20, ptr @sc_rrelease_r20, ptr @sc_cs_452564808083842, i64 10, ptr @sc_ldr_57_materialize, ptr @sc_ldr_57_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t36, ptr @sc_ldr_57_materialize_rops)
+ %t38 = getelementptr inbounds [1 x ptr], ptr %s37, i64 0, i64 0
+ store ptr %t36, ptr %t38
+ call void @scr_dyn_this_push_dyn(ptr %t33)
+ %t39 = call ptr @scr_dyn_call(ptr %t31, ptr %s37, i64 1, ptr @sc_cs_4357071885712774)
+ call void @scr_dyn_this_pop()
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rrelease_r20(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup19
+exc.k18:
+ %t43 = call ptr @sc_dc_88(ptr %t39, ptr null)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rrelease_r20(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_net_server_release(ptr %t43)
+ br label %exc.cleanup19
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rrelease_r20(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_net_server_release(ptr %t43)
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ %t48 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ %t49 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t49)
+ ret void
+exc.cleanup10:
+ %t50 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t50)
+ ret void
+exc.cleanup16:
+ %t51 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ %t52 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t52)
+ ret void
+exc.cleanup19:
+ %t53 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t53)
+ %t54 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t54)
+ %t55 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t55)
+ ret void
+}
+
+define internal void @sc_f__x25_main() #0 { ; %main
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ call void @sc_f__x25_init_15()
+ %t0 = load i32, ptr %exc.cell
+ %t1 = icmp ne i32 %t0, 0
+ %t2 = call i1 @llvm.expect.i1(i1 %t1, i1 false)
+ br i1 %t2, label %exc.u0, label %exc.k1
+exc.u0:
+ ret void
+exc.k1:
+ ret void
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m5_App() #0 { ; %prototype.data.%m5.App
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m5_App_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ call void @scr_dyn_release(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m5_App
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m5_App_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_731773075116702)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get)
+ %t13 = call ptr @sc_dfb_13(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ call void @scr_dyn_release(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ call void @scr_dyn_release(ptr %t25)
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_2007918756741504)
+ %t32 = call ptr @scr_dyn_new_obj()
+ %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post)
+ %t34 = call ptr @sc_dfb_13(ptr %t33, ptr null)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ ret ptr null
+exc.k13:
+ %t38 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ ret ptr null
+exc.k15:
+ %t42 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ ret ptr null
+exc.k17:
+ %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ call void @scr_dyn_release(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ call void @scr_dyn_release(ptr %t46)
+ %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ %t52 = call ptr @sc_td_0(ptr @sc_lit_971741391048674)
+ %t53 = call ptr @scr_dyn_new_obj()
+ %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put)
+ %t55 = call ptr @sc_dfb_13(ptr %t54, ptr null)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ ret ptr null
+exc.k21:
+ %t59 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ ret ptr null
+exc.k23:
+ %t63 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ ret ptr null
+exc.k25:
+ %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ call void @scr_dyn_release(ptr %t67)
+ ret ptr null
+exc.k27:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ call void @scr_dyn_release(ptr %t67)
+ %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t73 = call ptr @sc_td_0(ptr @sc_lit_1716842667196161)
+ %t74 = call ptr @scr_dyn_new_obj()
+ %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete)
+ %t76 = call ptr @sc_dfb_13(ptr %t75, ptr null)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ ret ptr null
+exc.k29:
+ %t80 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ ret ptr null
+exc.k31:
+ %t84 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ ret ptr null
+exc.k33:
+ %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ call void @scr_dyn_release(ptr %t88)
+ ret ptr null
+exc.k35:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ call void @scr_dyn_release(ptr %t88)
+ %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t93 = call ptr @sc_rc_retain_dyn(ptr %t92)
+ %t94 = call ptr @sc_td_0(ptr @sc_lit_2894558501580739)
+ %t95 = call ptr @scr_dyn_new_obj()
+ %t96 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch)
+ %t97 = call ptr @sc_dfb_13(ptr %t96, ptr null)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3610950885518037, ptr %t97)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ ret ptr null
+exc.k37:
+ %t101 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_1948131179100861, ptr %t101)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ ret ptr null
+exc.k39:
+ %t105 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3198935257758645, ptr %t105)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ ret ptr null
+exc.k41:
+ %t109 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t93, ptr %t94, ptr %t95)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ call void @scr_dyn_release(ptr %t109)
+ ret ptr null
+exc.k43:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ call void @scr_dyn_release(ptr %t109)
+ %t113 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t114 = call ptr @sc_rc_retain_dyn(ptr %t113)
+ %t115 = call ptr @sc_td_0(ptr @sc_lit_2800347990603543)
+ %t116 = call ptr @scr_dyn_new_obj()
+ %t117 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head)
+ %t118 = call ptr @sc_dfb_13(ptr %t117, ptr null)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3610950885518037, ptr %t118)
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ ret ptr null
+exc.k45:
+ %t122 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_1948131179100861, ptr %t122)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ ret ptr null
+exc.k47:
+ %t126 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3198935257758645, ptr %t126)
+ %t127 = load i32, ptr %exc.cell
+ %t128 = icmp ne i32 %t127, 0
+ %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false)
+ br i1 %t129, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ ret ptr null
+exc.k49:
+ %t130 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t114, ptr %t115, ptr %t116)
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ call void @scr_dyn_release(ptr %t130)
+ ret ptr null
+exc.k51:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ call void @scr_dyn_release(ptr %t130)
+ %t134 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t135 = call ptr @sc_rc_retain_dyn(ptr %t134)
+ %t136 = call ptr @sc_td_0(ptr @sc_lit_2948042885743279)
+ %t137 = call ptr @scr_dyn_new_obj()
+ %t138 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options)
+ %t139 = call ptr @sc_dfb_13(ptr %t138, ptr null)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3610950885518037, ptr %t139)
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ ret ptr null
+exc.k53:
+ %t143 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_1948131179100861, ptr %t143)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ ret ptr null
+exc.k55:
+ %t147 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3198935257758645, ptr %t147)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ ret ptr null
+exc.k57:
+ %t151 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t135, ptr %t136, ptr %t137)
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ call void @scr_dyn_release(ptr %t151)
+ ret ptr null
+exc.k59:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ call void @scr_dyn_release(ptr %t151)
+ %t155 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t156 = call ptr @sc_rc_retain_dyn(ptr %t155)
+ %t157 = call ptr @sc_td_0(ptr @sc_lit_1670565919607657)
+ %t158 = call ptr @scr_dyn_new_obj()
+ %t159 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all)
+ %t160 = call ptr @sc_dfb_13(ptr %t159, ptr null)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3610950885518037, ptr %t160)
+ %t161 = load i32, ptr %exc.cell
+ %t162 = icmp ne i32 %t161, 0
+ %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false)
+ br i1 %t163, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ ret ptr null
+exc.k61:
+ %t164 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_1948131179100861, ptr %t164)
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ ret ptr null
+exc.k63:
+ %t168 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3198935257758645, ptr %t168)
+ %t169 = load i32, ptr %exc.cell
+ %t170 = icmp ne i32 %t169, 0
+ %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false)
+ br i1 %t171, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ ret ptr null
+exc.k65:
+ %t172 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t156, ptr %t157, ptr %t158)
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ call void @scr_dyn_release(ptr %t172)
+ ret ptr null
+exc.k67:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ call void @scr_dyn_release(ptr %t172)
+ %t176 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t177 = call ptr @sc_rc_retain_dyn(ptr %t176)
+ %t178 = call ptr @sc_td_0(ptr @sc_lit_3251470234448474)
+ %t179 = call ptr @scr_dyn_new_obj()
+ %t180 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on)
+ %t181 = call ptr @sc_dfb_14(ptr %t180, ptr null)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3610950885518037, ptr %t181)
+ %t182 = load i32, ptr %exc.cell
+ %t183 = icmp ne i32 %t182, 0
+ %t184 = call i1 @llvm.expect.i1(i1 %t183, i1 false)
+ br i1 %t184, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ ret ptr null
+exc.k69:
+ %t185 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_1948131179100861, ptr %t185)
+ %t186 = load i32, ptr %exc.cell
+ %t187 = icmp ne i32 %t186, 0
+ %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false)
+ br i1 %t188, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ ret ptr null
+exc.k71:
+ %t189 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3198935257758645, ptr %t189)
+ %t190 = load i32, ptr %exc.cell
+ %t191 = icmp ne i32 %t190, 0
+ %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false)
+ br i1 %t192, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ ret ptr null
+exc.k73:
+ %t193 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t177, ptr %t178, ptr %t179)
+ %t194 = load i32, ptr %exc.cell
+ %t195 = icmp ne i32 %t194, 0
+ %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false)
+ br i1 %t196, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ call void @scr_dyn_release(ptr %t193)
+ ret ptr null
+exc.k75:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ call void @scr_dyn_release(ptr %t193)
+ %t197 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t199 = call ptr @sc_td_0(ptr @sc_lit_2879707573315964)
+ %t200 = call ptr @scr_dyn_new_obj()
+ %t201 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use)
+ %t202 = call ptr @sc_dfb_15(ptr %t201, ptr null)
+ call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3610950885518037, ptr %t202)
+ %t203 = load i32, ptr %exc.cell
+ %t204 = icmp ne i32 %t203, 0
+ %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false)
+ br i1 %t205, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ ret ptr null
+exc.k77:
+ %t206 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_1948131179100861, ptr %t206)
+ %t207 = load i32, ptr %exc.cell
+ %t208 = icmp ne i32 %t207, 0
+ %t209 = call i1 @llvm.expect.i1(i1 %t208, i1 false)
+ br i1 %t209, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ ret ptr null
+exc.k79:
+ %t210 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3198935257758645, ptr %t210)
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t210)
+ ret ptr null
+exc.k81:
+ %t214 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t198, ptr %t199, ptr %t200)
+ %t215 = load i32, ptr %exc.cell
+ %t216 = icmp ne i32 %t215, 0
+ %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false)
+ br i1 %t217, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t210)
+ call void @scr_dyn_release(ptr %t214)
+ ret ptr null
+exc.k83:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t210)
+ call void @scr_dyn_release(ptr %t214)
+ %t218 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t219 = call ptr @sc_rc_retain_dyn(ptr %t218)
+ %t220 = call ptr @sc_td_0(ptr @sc_lit_3111096729023658)
+ %t221 = call ptr @scr_dyn_new_obj()
+ %t222 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound)
+ %t223 = call ptr @sc_dfb_16(ptr %t222, ptr null)
+ call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3610950885518037, ptr %t223)
+ %t224 = load i32, ptr %exc.cell
+ %t225 = icmp ne i32 %t224, 0
+ %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false)
+ br i1 %t226, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ ret ptr null
+exc.k85:
+ %t227 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_1948131179100861, ptr %t227)
+ %t228 = load i32, ptr %exc.cell
+ %t229 = icmp ne i32 %t228, 0
+ %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false)
+ br i1 %t230, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ ret ptr null
+exc.k87:
+ %t231 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3198935257758645, ptr %t231)
+ %t232 = load i32, ptr %exc.cell
+ %t233 = icmp ne i32 %t232, 0
+ %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false)
+ br i1 %t234, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t231)
+ ret ptr null
+exc.k89:
+ %t235 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t219, ptr %t220, ptr %t221)
+ %t236 = load i32, ptr %exc.cell
+ %t237 = icmp ne i32 %t236, 0
+ %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false)
+ br i1 %t238, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t231)
+ call void @scr_dyn_release(ptr %t235)
+ ret ptr null
+exc.k91:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t231)
+ call void @scr_dyn_release(ptr %t235)
+ %t239 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t240 = call ptr @sc_rc_retain_dyn(ptr %t239)
+ %t241 = call ptr @sc_td_0(ptr @sc_lit_668712189700762)
+ %t242 = call ptr @scr_dyn_new_obj()
+ %t243 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError)
+ %t244 = call ptr @sc_dfb_17(ptr %t243, ptr null)
+ call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3610950885518037, ptr %t244)
+ %t245 = load i32, ptr %exc.cell
+ %t246 = icmp ne i32 %t245, 0
+ %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false)
+ br i1 %t247, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ ret ptr null
+exc.k93:
+ %t248 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_1948131179100861, ptr %t248)
+ %t249 = load i32, ptr %exc.cell
+ %t250 = icmp ne i32 %t249, 0
+ %t251 = call i1 @llvm.expect.i1(i1 %t250, i1 false)
+ br i1 %t251, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ ret ptr null
+exc.k95:
+ %t252 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3198935257758645, ptr %t252)
+ %t253 = load i32, ptr %exc.cell
+ %t254 = icmp ne i32 %t253, 0
+ %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false)
+ br i1 %t255, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t252)
+ ret ptr null
+exc.k97:
+ %t256 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t240, ptr %t241, ptr %t242)
+ %t257 = load i32, ptr %exc.cell
+ %t258 = icmp ne i32 %t257, 0
+ %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false)
+ br i1 %t259, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t252)
+ call void @scr_dyn_release(ptr %t256)
+ ret ptr null
+exc.k99:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t252)
+ call void @scr_dyn_release(ptr %t256)
+ %t260 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t261 = call ptr @sc_rc_retain_dyn(ptr %t260)
+ %t262 = call ptr @sc_td_0(ptr @sc_lit_2436853855422636)
+ %t263 = call ptr @scr_dyn_new_obj()
+ %t264 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route)
+ %t265 = call ptr @sc_dfb_18(ptr %t264, ptr null)
+ call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3610950885518037, ptr %t265)
+ %t266 = load i32, ptr %exc.cell
+ %t267 = icmp ne i32 %t266, 0
+ %t268 = call i1 @llvm.expect.i1(i1 %t267, i1 false)
+ br i1 %t268, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ ret ptr null
+exc.k101:
+ %t269 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_1948131179100861, ptr %t269)
+ %t270 = load i32, ptr %exc.cell
+ %t271 = icmp ne i32 %t270, 0
+ %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false)
+ br i1 %t272, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ ret ptr null
+exc.k103:
+ %t273 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3198935257758645, ptr %t273)
+ %t274 = load i32, ptr %exc.cell
+ %t275 = icmp ne i32 %t274, 0
+ %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false)
+ br i1 %t276, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t273)
+ ret ptr null
+exc.k105:
+ %t277 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t261, ptr %t262, ptr %t263)
+ %t278 = load i32, ptr %exc.cell
+ %t279 = icmp ne i32 %t278, 0
+ %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false)
+ br i1 %t280, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t273)
+ call void @scr_dyn_release(ptr %t277)
+ ret ptr null
+exc.k107:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t273)
+ call void @scr_dyn_release(ptr %t277)
+ %t281 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t282 = call ptr @sc_rc_retain_dyn(ptr %t281)
+ %t283 = call ptr @sc_td_0(ptr @sc_lit_2466306126986778)
+ %t284 = call ptr @scr_dyn_new_obj()
+ %t285 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch)
+ %t286 = call ptr @sc_dfb_19(ptr %t285, ptr null)
+ call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3610950885518037, ptr %t286)
+ %t287 = load i32, ptr %exc.cell
+ %t288 = icmp ne i32 %t287, 0
+ %t289 = call i1 @llvm.expect.i1(i1 %t288, i1 false)
+ br i1 %t289, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ ret ptr null
+exc.k109:
+ %t290 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_1948131179100861, ptr %t290)
+ %t291 = load i32, ptr %exc.cell
+ %t292 = icmp ne i32 %t291, 0
+ %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false)
+ br i1 %t293, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ ret ptr null
+exc.k111:
+ %t294 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3198935257758645, ptr %t294)
+ %t295 = load i32, ptr %exc.cell
+ %t296 = icmp ne i32 %t295, 0
+ %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false)
+ br i1 %t297, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t294)
+ ret ptr null
+exc.k113:
+ %t298 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t282, ptr %t283, ptr %t284)
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t294)
+ call void @scr_dyn_release(ptr %t298)
+ ret ptr null
+exc.k115:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t294)
+ call void @scr_dyn_release(ptr %t298)
+ %t302 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t303 = call ptr @sc_rc_retain_dyn(ptr %t302)
+ %t304 = call ptr @sc_td_0(ptr @sc_lit_1389753027152399)
+ %t305 = call ptr @scr_dyn_new_obj()
+ %t306 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch)
+ %t307 = call ptr @sc_dfb_20(ptr %t306, ptr null)
+ call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3610950885518037, ptr %t307)
+ %t308 = load i32, ptr %exc.cell
+ %t309 = icmp ne i32 %t308, 0
+ %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false)
+ br i1 %t310, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ ret ptr null
+exc.k117:
+ %t311 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_1948131179100861, ptr %t311)
+ %t312 = load i32, ptr %exc.cell
+ %t313 = icmp ne i32 %t312, 0
+ %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false)
+ br i1 %t314, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ ret ptr null
+exc.k119:
+ %t315 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3198935257758645, ptr %t315)
+ %t316 = load i32, ptr %exc.cell
+ %t317 = icmp ne i32 %t316, 0
+ %t318 = call i1 @llvm.expect.i1(i1 %t317, i1 false)
+ br i1 %t318, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t315)
+ ret ptr null
+exc.k121:
+ %t319 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t303, ptr %t304, ptr %t305)
+ %t320 = load i32, ptr %exc.cell
+ %t321 = icmp ne i32 %t320, 0
+ %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false)
+ br i1 %t322, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t315)
+ call void @scr_dyn_release(ptr %t319)
+ ret ptr null
+exc.k123:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t315)
+ call void @scr_dyn_release(ptr %t319)
+ %t323 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t324 = call ptr @sc_rc_retain_dyn(ptr %t323)
+ %t325 = call ptr @sc_td_0(ptr @sc_lit_1148437194389594)
+ %t326 = call ptr @scr_dyn_new_obj()
+ %t327 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade)
+ %t328 = call ptr @sc_dfb_21(ptr %t327, ptr null)
+ call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3610950885518037, ptr %t328)
+ %t329 = load i32, ptr %exc.cell
+ %t330 = icmp ne i32 %t329, 0
+ %t331 = call i1 @llvm.expect.i1(i1 %t330, i1 false)
+ br i1 %t331, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ ret ptr null
+exc.k125:
+ %t332 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_1948131179100861, ptr %t332)
+ %t333 = load i32, ptr %exc.cell
+ %t334 = icmp ne i32 %t333, 0
+ %t335 = call i1 @llvm.expect.i1(i1 %t334, i1 false)
+ br i1 %t335, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ ret ptr null
+exc.k127:
+ %t336 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3198935257758645, ptr %t336)
+ %t337 = load i32, ptr %exc.cell
+ %t338 = icmp ne i32 %t337, 0
+ %t339 = call i1 @llvm.expect.i1(i1 %t338, i1 false)
+ br i1 %t339, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t336)
+ ret ptr null
+exc.k129:
+ %t340 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t324, ptr %t325, ptr %t326)
+ %t341 = load i32, ptr %exc.cell
+ %t342 = icmp ne i32 %t341, 0
+ %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false)
+ br i1 %t343, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t336)
+ call void @scr_dyn_release(ptr %t340)
+ ret ptr null
+exc.k131:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t336)
+ call void @scr_dyn_release(ptr %t340)
+ %t344 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t345 = call ptr @sc_rc_retain_dyn(ptr %t344)
+ %t346 = call ptr @sc_td_0(ptr @sc_lit_4192469624085056)
+ %t347 = call ptr @scr_dyn_new_obj()
+ %t348 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler)
+ %t349 = call ptr @sc_dfb_22(ptr %t348, ptr null)
+ call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3610950885518037, ptr %t349)
+ %t350 = load i32, ptr %exc.cell
+ %t351 = icmp ne i32 %t350, 0
+ %t352 = call i1 @llvm.expect.i1(i1 %t351, i1 false)
+ br i1 %t352, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ ret ptr null
+exc.k133:
+ %t353 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_1948131179100861, ptr %t353)
+ %t354 = load i32, ptr %exc.cell
+ %t355 = icmp ne i32 %t354, 0
+ %t356 = call i1 @llvm.expect.i1(i1 %t355, i1 false)
+ br i1 %t356, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ ret ptr null
+exc.k135:
+ %t357 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3198935257758645, ptr %t357)
+ %t358 = load i32, ptr %exc.cell
+ %t359 = icmp ne i32 %t358, 0
+ %t360 = call i1 @llvm.expect.i1(i1 %t359, i1 false)
+ br i1 %t360, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t357)
+ ret ptr null
+exc.k137:
+ %t361 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t345, ptr %t346, ptr %t347)
+ %t362 = load i32, ptr %exc.cell
+ %t363 = icmp ne i32 %t362, 0
+ %t364 = call i1 @llvm.expect.i1(i1 %t363, i1 false)
+ br i1 %t364, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t357)
+ call void @scr_dyn_release(ptr %t361)
+ ret ptr null
+exc.k139:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t357)
+ call void @scr_dyn_release(ptr %t361)
+ %t365 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t366 = call ptr @sc_rc_retain_dyn(ptr %t365)
+ %t367 = call ptr @sc_td_0(ptr @sc_lit_864781090888737)
+ %t368 = call ptr @scr_dyn_new_obj()
+ %t369 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler)
+ %t370 = call ptr @sc_dfb_24(ptr %t369, ptr null)
+ call void @scr_dyn_key_set(ptr %t368, ptr @sc_lit_3610950885518037, ptr %t370)
+ %t371 = load i32, ptr %exc.cell
+ %t372 = icmp ne i32 %t371, 0
+ %t373 = call i1 @llvm.expect.i1(i1 %t372, i1 false)
+ br i1 %t373, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @scr_dyn_release(ptr %t366)
+ call void @scr_dyn_release(ptr %t367)
+ call void @scr_dyn_release(ptr %t368)
+ call void @scr_closure_release(ptr %t369)
+ call void @scr_dyn_release(ptr %t370)
+ ret ptr null
+exc.k141:
+ %t374 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t368, ptr @sc_lit_1948131179100861, ptr %t374)
+ %t375 = load i32, ptr %exc.cell
+ %t376 = icmp ne i32 %t375, 0
+ %t377 = call i1 @llvm.expect.i1(i1 %t376, i1 false)
+ br i1 %t377, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @scr_dyn_release(ptr %t366)
+ call void @scr_dyn_release(ptr %t367)
+ call void @scr_dyn_release(ptr %t368)
+ call void @scr_closure_release(ptr %t369)
+ call void @scr_dyn_release(ptr %t370)
+ call void @scr_dyn_release(ptr %t374)
+ ret ptr null
+exc.k143:
+ %t378 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t368, ptr @sc_lit_3198935257758645, ptr %t378)
+ %t379 = load i32, ptr %exc.cell
+ %t380 = icmp ne i32 %t379, 0
+ %t381 = call i1 @llvm.expect.i1(i1 %t380, i1 false)
+ br i1 %t381, label %exc.u144, label %exc.k145
+exc.u144:
+ call void @scr_dyn_release(ptr %t366)
+ call void @scr_dyn_release(ptr %t367)
+ call void @scr_dyn_release(ptr %t368)
+ call void @scr_closure_release(ptr %t369)
+ call void @scr_dyn_release(ptr %t370)
+ call void @scr_dyn_release(ptr %t374)
+ call void @scr_dyn_release(ptr %t378)
+ ret ptr null
+exc.k145:
+ %t382 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t366, ptr %t367, ptr %t368)
+ %t383 = load i32, ptr %exc.cell
+ %t384 = icmp ne i32 %t383, 0
+ %t385 = call i1 @llvm.expect.i1(i1 %t384, i1 false)
+ br i1 %t385, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @scr_dyn_release(ptr %t366)
+ call void @scr_dyn_release(ptr %t367)
+ call void @scr_dyn_release(ptr %t368)
+ call void @scr_closure_release(ptr %t369)
+ call void @scr_dyn_release(ptr %t370)
+ call void @scr_dyn_release(ptr %t374)
+ call void @scr_dyn_release(ptr %t378)
+ call void @scr_dyn_release(ptr %t382)
+ ret ptr null
+exc.k147:
+ call void @scr_dyn_release(ptr %t366)
+ call void @scr_dyn_release(ptr %t367)
+ call void @scr_dyn_release(ptr %t368)
+ call void @scr_closure_release(ptr %t369)
+ call void @scr_dyn_release(ptr %t370)
+ call void @scr_dyn_release(ptr %t374)
+ call void @scr_dyn_release(ptr %t378)
+ call void @scr_dyn_release(ptr %t382)
+ %t386 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t387 = call ptr @sc_rc_retain_dyn(ptr %t386)
+ %t388 = call ptr @sc_td_0(ptr @sc_lit_603267670272610)
+ %t389 = call ptr @scr_dyn_new_obj()
+ %t390 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge)
+ %t391 = call ptr @sc_dfb_24(ptr %t390, ptr null)
+ call void @scr_dyn_key_set(ptr %t389, ptr @sc_lit_3610950885518037, ptr %t391)
+ %t392 = load i32, ptr %exc.cell
+ %t393 = icmp ne i32 %t392, 0
+ %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false)
+ br i1 %t394, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @scr_dyn_release(ptr %t387)
+ call void @scr_dyn_release(ptr %t388)
+ call void @scr_dyn_release(ptr %t389)
+ call void @scr_closure_release(ptr %t390)
+ call void @scr_dyn_release(ptr %t391)
+ ret ptr null
+exc.k149:
+ %t395 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t389, ptr @sc_lit_1948131179100861, ptr %t395)
+ %t396 = load i32, ptr %exc.cell
+ %t397 = icmp ne i32 %t396, 0
+ %t398 = call i1 @llvm.expect.i1(i1 %t397, i1 false)
+ br i1 %t398, label %exc.u150, label %exc.k151
+exc.u150:
+ call void @scr_dyn_release(ptr %t387)
+ call void @scr_dyn_release(ptr %t388)
+ call void @scr_dyn_release(ptr %t389)
+ call void @scr_closure_release(ptr %t390)
+ call void @scr_dyn_release(ptr %t391)
+ call void @scr_dyn_release(ptr %t395)
+ ret ptr null
+exc.k151:
+ %t399 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t389, ptr @sc_lit_3198935257758645, ptr %t399)
+ %t400 = load i32, ptr %exc.cell
+ %t401 = icmp ne i32 %t400, 0
+ %t402 = call i1 @llvm.expect.i1(i1 %t401, i1 false)
+ br i1 %t402, label %exc.u152, label %exc.k153
+exc.u152:
+ call void @scr_dyn_release(ptr %t387)
+ call void @scr_dyn_release(ptr %t388)
+ call void @scr_dyn_release(ptr %t389)
+ call void @scr_closure_release(ptr %t390)
+ call void @scr_dyn_release(ptr %t391)
+ call void @scr_dyn_release(ptr %t395)
+ call void @scr_dyn_release(ptr %t399)
+ ret ptr null
+exc.k153:
+ %t403 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t387, ptr %t388, ptr %t389)
+ %t404 = load i32, ptr %exc.cell
+ %t405 = icmp ne i32 %t404, 0
+ %t406 = call i1 @llvm.expect.i1(i1 %t405, i1 false)
+ br i1 %t406, label %exc.u154, label %exc.k155
+exc.u154:
+ call void @scr_dyn_release(ptr %t387)
+ call void @scr_dyn_release(ptr %t388)
+ call void @scr_dyn_release(ptr %t389)
+ call void @scr_closure_release(ptr %t390)
+ call void @scr_dyn_release(ptr %t391)
+ call void @scr_dyn_release(ptr %t395)
+ call void @scr_dyn_release(ptr %t399)
+ call void @scr_dyn_release(ptr %t403)
+ ret ptr null
+exc.k155:
+ call void @scr_dyn_release(ptr %t387)
+ call void @scr_dyn_release(ptr %t388)
+ call void @scr_dyn_release(ptr %t389)
+ call void @scr_closure_release(ptr %t390)
+ call void @scr_dyn_release(ptr %t391)
+ call void @scr_dyn_release(ptr %t395)
+ call void @scr_dyn_release(ptr %t399)
+ call void @scr_dyn_release(ptr %t403)
+ %t407 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t408 = call ptr @sc_rc_retain_dyn(ptr %t407)
+ %t409 = call ptr @sc_td_0(ptr @sc_lit_646811555153625)
+ %t410 = call ptr @scr_dyn_new_obj()
+ %t411 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve)
+ %t412 = call ptr @sc_dfb_26(ptr %t411, ptr null)
+ call void @scr_dyn_key_set(ptr %t410, ptr @sc_lit_3610950885518037, ptr %t412)
+ %t413 = load i32, ptr %exc.cell
+ %t414 = icmp ne i32 %t413, 0
+ %t415 = call i1 @llvm.expect.i1(i1 %t414, i1 false)
+ br i1 %t415, label %exc.u156, label %exc.k157
+exc.u156:
+ call void @scr_dyn_release(ptr %t408)
+ call void @scr_dyn_release(ptr %t409)
+ call void @scr_dyn_release(ptr %t410)
+ call void @scr_closure_release(ptr %t411)
+ call void @scr_dyn_release(ptr %t412)
+ ret ptr null
+exc.k157:
+ %t416 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t410, ptr @sc_lit_1948131179100861, ptr %t416)
+ %t417 = load i32, ptr %exc.cell
+ %t418 = icmp ne i32 %t417, 0
+ %t419 = call i1 @llvm.expect.i1(i1 %t418, i1 false)
+ br i1 %t419, label %exc.u158, label %exc.k159
+exc.u158:
+ call void @scr_dyn_release(ptr %t408)
+ call void @scr_dyn_release(ptr %t409)
+ call void @scr_dyn_release(ptr %t410)
+ call void @scr_closure_release(ptr %t411)
+ call void @scr_dyn_release(ptr %t412)
+ call void @scr_dyn_release(ptr %t416)
+ ret ptr null
+exc.k159:
+ %t420 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t410, ptr @sc_lit_3198935257758645, ptr %t420)
+ %t421 = load i32, ptr %exc.cell
+ %t422 = icmp ne i32 %t421, 0
+ %t423 = call i1 @llvm.expect.i1(i1 %t422, i1 false)
+ br i1 %t423, label %exc.u160, label %exc.k161
+exc.u160:
+ call void @scr_dyn_release(ptr %t408)
+ call void @scr_dyn_release(ptr %t409)
+ call void @scr_dyn_release(ptr %t410)
+ call void @scr_closure_release(ptr %t411)
+ call void @scr_dyn_release(ptr %t412)
+ call void @scr_dyn_release(ptr %t416)
+ call void @scr_dyn_release(ptr %t420)
+ ret ptr null
+exc.k161:
+ %t424 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t408, ptr %t409, ptr %t410)
+ %t425 = load i32, ptr %exc.cell
+ %t426 = icmp ne i32 %t425, 0
+ %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false)
+ br i1 %t427, label %exc.u162, label %exc.k163
+exc.u162:
+ call void @scr_dyn_release(ptr %t408)
+ call void @scr_dyn_release(ptr %t409)
+ call void @scr_dyn_release(ptr %t410)
+ call void @scr_closure_release(ptr %t411)
+ call void @scr_dyn_release(ptr %t412)
+ call void @scr_dyn_release(ptr %t416)
+ call void @scr_dyn_release(ptr %t420)
+ call void @scr_dyn_release(ptr %t424)
+ ret ptr null
+exc.k163:
+ call void @scr_dyn_release(ptr %t408)
+ call void @scr_dyn_release(ptr %t409)
+ call void @scr_dyn_release(ptr %t410)
+ call void @scr_closure_release(ptr %t411)
+ call void @scr_dyn_release(ptr %t412)
+ call void @scr_dyn_release(ptr %t416)
+ call void @scr_dyn_release(ptr %t420)
+ call void @scr_dyn_release(ptr %t424)
+ %t428 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t429 = call ptr @sc_rc_retain_dyn(ptr %t428)
+ %t430 = call ptr @sc_td_0(ptr @sc_lit_4391217941138845)
+ %t431 = call ptr @scr_dyn_new_obj()
+ %t432 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch)
+ %t433 = call ptr @sc_dfb_26(ptr %t432, ptr null)
+ call void @scr_dyn_key_set(ptr %t431, ptr @sc_lit_3610950885518037, ptr %t433)
+ %t434 = load i32, ptr %exc.cell
+ %t435 = icmp ne i32 %t434, 0
+ %t436 = call i1 @llvm.expect.i1(i1 %t435, i1 false)
+ br i1 %t436, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @scr_dyn_release(ptr %t429)
+ call void @scr_dyn_release(ptr %t430)
+ call void @scr_dyn_release(ptr %t431)
+ call void @scr_closure_release(ptr %t432)
+ call void @scr_dyn_release(ptr %t433)
+ ret ptr null
+exc.k165:
+ %t437 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t431, ptr @sc_lit_1948131179100861, ptr %t437)
+ %t438 = load i32, ptr %exc.cell
+ %t439 = icmp ne i32 %t438, 0
+ %t440 = call i1 @llvm.expect.i1(i1 %t439, i1 false)
+ br i1 %t440, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @scr_dyn_release(ptr %t429)
+ call void @scr_dyn_release(ptr %t430)
+ call void @scr_dyn_release(ptr %t431)
+ call void @scr_closure_release(ptr %t432)
+ call void @scr_dyn_release(ptr %t433)
+ call void @scr_dyn_release(ptr %t437)
+ ret ptr null
+exc.k167:
+ %t441 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t431, ptr @sc_lit_3198935257758645, ptr %t441)
+ %t442 = load i32, ptr %exc.cell
+ %t443 = icmp ne i32 %t442, 0
+ %t444 = call i1 @llvm.expect.i1(i1 %t443, i1 false)
+ br i1 %t444, label %exc.u168, label %exc.k169
+exc.u168:
+ call void @scr_dyn_release(ptr %t429)
+ call void @scr_dyn_release(ptr %t430)
+ call void @scr_dyn_release(ptr %t431)
+ call void @scr_closure_release(ptr %t432)
+ call void @scr_dyn_release(ptr %t433)
+ call void @scr_dyn_release(ptr %t437)
+ call void @scr_dyn_release(ptr %t441)
+ ret ptr null
+exc.k169:
+ %t445 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t429, ptr %t430, ptr %t431)
+ %t446 = load i32, ptr %exc.cell
+ %t447 = icmp ne i32 %t446, 0
+ %t448 = call i1 @llvm.expect.i1(i1 %t447, i1 false)
+ br i1 %t448, label %exc.u170, label %exc.k171
+exc.u170:
+ call void @scr_dyn_release(ptr %t429)
+ call void @scr_dyn_release(ptr %t430)
+ call void @scr_dyn_release(ptr %t431)
+ call void @scr_closure_release(ptr %t432)
+ call void @scr_dyn_release(ptr %t433)
+ call void @scr_dyn_release(ptr %t437)
+ call void @scr_dyn_release(ptr %t441)
+ call void @scr_dyn_release(ptr %t445)
+ ret ptr null
+exc.k171:
+ call void @scr_dyn_release(ptr %t429)
+ call void @scr_dyn_release(ptr %t430)
+ call void @scr_dyn_release(ptr %t431)
+ call void @scr_closure_release(ptr %t432)
+ call void @scr_dyn_release(ptr %t433)
+ call void @scr_dyn_release(ptr %t437)
+ call void @scr_dyn_release(ptr %t441)
+ call void @scr_dyn_release(ptr %t445)
+ %t449 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t450 = call ptr @sc_rc_retain_dyn(ptr %t449)
+ %t451 = call ptr @sc_td_0(ptr @sc_lit_2014847608589337)
+ %t452 = call ptr @scr_dyn_new_obj()
+ %t453 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn)
+ %t454 = call ptr @sc_dfb_27(ptr %t453, ptr null)
+ call void @scr_dyn_key_set(ptr %t452, ptr @sc_lit_3610950885518037, ptr %t454)
+ %t455 = load i32, ptr %exc.cell
+ %t456 = icmp ne i32 %t455, 0
+ %t457 = call i1 @llvm.expect.i1(i1 %t456, i1 false)
+ br i1 %t457, label %exc.u172, label %exc.k173
+exc.u172:
+ call void @scr_dyn_release(ptr %t450)
+ call void @scr_dyn_release(ptr %t451)
+ call void @scr_dyn_release(ptr %t452)
+ call void @scr_closure_release(ptr %t453)
+ call void @scr_dyn_release(ptr %t454)
+ ret ptr null
+exc.k173:
+ %t458 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t452, ptr @sc_lit_1948131179100861, ptr %t458)
+ %t459 = load i32, ptr %exc.cell
+ %t460 = icmp ne i32 %t459, 0
+ %t461 = call i1 @llvm.expect.i1(i1 %t460, i1 false)
+ br i1 %t461, label %exc.u174, label %exc.k175
+exc.u174:
+ call void @scr_dyn_release(ptr %t450)
+ call void @scr_dyn_release(ptr %t451)
+ call void @scr_dyn_release(ptr %t452)
+ call void @scr_closure_release(ptr %t453)
+ call void @scr_dyn_release(ptr %t454)
+ call void @scr_dyn_release(ptr %t458)
+ ret ptr null
+exc.k175:
+ %t462 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t452, ptr @sc_lit_3198935257758645, ptr %t462)
+ %t463 = load i32, ptr %exc.cell
+ %t464 = icmp ne i32 %t463, 0
+ %t465 = call i1 @llvm.expect.i1(i1 %t464, i1 false)
+ br i1 %t465, label %exc.u176, label %exc.k177
+exc.u176:
+ call void @scr_dyn_release(ptr %t450)
+ call void @scr_dyn_release(ptr %t451)
+ call void @scr_dyn_release(ptr %t452)
+ call void @scr_closure_release(ptr %t453)
+ call void @scr_dyn_release(ptr %t454)
+ call void @scr_dyn_release(ptr %t458)
+ call void @scr_dyn_release(ptr %t462)
+ ret ptr null
+exc.k177:
+ %t466 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t450, ptr %t451, ptr %t452)
+ %t467 = load i32, ptr %exc.cell
+ %t468 = icmp ne i32 %t467, 0
+ %t469 = call i1 @llvm.expect.i1(i1 %t468, i1 false)
+ br i1 %t469, label %exc.u178, label %exc.k179
+exc.u178:
+ call void @scr_dyn_release(ptr %t450)
+ call void @scr_dyn_release(ptr %t451)
+ call void @scr_dyn_release(ptr %t452)
+ call void @scr_closure_release(ptr %t453)
+ call void @scr_dyn_release(ptr %t454)
+ call void @scr_dyn_release(ptr %t458)
+ call void @scr_dyn_release(ptr %t462)
+ call void @scr_dyn_release(ptr %t466)
+ ret ptr null
+exc.k179:
+ call void @scr_dyn_release(ptr %t450)
+ call void @scr_dyn_release(ptr %t451)
+ call void @scr_dyn_release(ptr %t452)
+ call void @scr_closure_release(ptr %t453)
+ call void @scr_dyn_release(ptr %t454)
+ call void @scr_dyn_release(ptr %t458)
+ call void @scr_dyn_release(ptr %t462)
+ call void @scr_dyn_release(ptr %t466)
+ %t470 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t471 = call ptr @sc_rc_retain_dyn(ptr %t470)
+ %t472 = call ptr @sc_td_0(ptr @sc_lit_405767859507088)
+ %t473 = call ptr @scr_dyn_new_obj()
+ %t474 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add)
+ %t475 = call ptr @sc_dfb_14(ptr %t474, ptr null)
+ call void @scr_dyn_key_set(ptr %t473, ptr @sc_lit_3610950885518037, ptr %t475)
+ %t476 = load i32, ptr %exc.cell
+ %t477 = icmp ne i32 %t476, 0
+ %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false)
+ br i1 %t478, label %exc.u180, label %exc.k181
+exc.u180:
+ call void @scr_dyn_release(ptr %t471)
+ call void @scr_dyn_release(ptr %t472)
+ call void @scr_dyn_release(ptr %t473)
+ call void @scr_closure_release(ptr %t474)
+ call void @scr_dyn_release(ptr %t475)
+ ret ptr null
+exc.k181:
+ %t479 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t473, ptr @sc_lit_1948131179100861, ptr %t479)
+ %t480 = load i32, ptr %exc.cell
+ %t481 = icmp ne i32 %t480, 0
+ %t482 = call i1 @llvm.expect.i1(i1 %t481, i1 false)
+ br i1 %t482, label %exc.u182, label %exc.k183
+exc.u182:
+ call void @scr_dyn_release(ptr %t471)
+ call void @scr_dyn_release(ptr %t472)
+ call void @scr_dyn_release(ptr %t473)
+ call void @scr_closure_release(ptr %t474)
+ call void @scr_dyn_release(ptr %t475)
+ call void @scr_dyn_release(ptr %t479)
+ ret ptr null
+exc.k183:
+ %t483 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t473, ptr @sc_lit_3198935257758645, ptr %t483)
+ %t484 = load i32, ptr %exc.cell
+ %t485 = icmp ne i32 %t484, 0
+ %t486 = call i1 @llvm.expect.i1(i1 %t485, i1 false)
+ br i1 %t486, label %exc.u184, label %exc.k185
+exc.u184:
+ call void @scr_dyn_release(ptr %t471)
+ call void @scr_dyn_release(ptr %t472)
+ call void @scr_dyn_release(ptr %t473)
+ call void @scr_closure_release(ptr %t474)
+ call void @scr_dyn_release(ptr %t475)
+ call void @scr_dyn_release(ptr %t479)
+ call void @scr_dyn_release(ptr %t483)
+ ret ptr null
+exc.k185:
+ %t487 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t471, ptr %t472, ptr %t473)
+ %t488 = load i32, ptr %exc.cell
+ %t489 = icmp ne i32 %t488, 0
+ %t490 = call i1 @llvm.expect.i1(i1 %t489, i1 false)
+ br i1 %t490, label %exc.u186, label %exc.k187
+exc.u186:
+ call void @scr_dyn_release(ptr %t471)
+ call void @scr_dyn_release(ptr %t472)
+ call void @scr_dyn_release(ptr %t473)
+ call void @scr_closure_release(ptr %t474)
+ call void @scr_dyn_release(ptr %t475)
+ call void @scr_dyn_release(ptr %t479)
+ call void @scr_dyn_release(ptr %t483)
+ call void @scr_dyn_release(ptr %t487)
+ ret ptr null
+exc.k187:
+ call void @scr_dyn_release(ptr %t471)
+ call void @scr_dyn_release(ptr %t472)
+ call void @scr_dyn_release(ptr %t473)
+ call void @scr_closure_release(ptr %t474)
+ call void @scr_dyn_release(ptr %t475)
+ call void @scr_dyn_release(ptr %t479)
+ call void @scr_dyn_release(ptr %t483)
+ call void @scr_dyn_release(ptr %t487)
+ %t491 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t492 = call ptr @sc_rc_retain_dyn(ptr %t491)
+ %t493 = call ptr @sc_td_0(ptr @sc_lit_4078327433052319)
+ %t494 = call ptr @scr_dyn_new_obj()
+ %t495 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch)
+ %t496 = call ptr @sc_dfb_28(ptr %t495, ptr null)
+ call void @scr_dyn_key_set(ptr %t494, ptr @sc_lit_3610950885518037, ptr %t496)
+ %t497 = load i32, ptr %exc.cell
+ %t498 = icmp ne i32 %t497, 0
+ %t499 = call i1 @llvm.expect.i1(i1 %t498, i1 false)
+ br i1 %t499, label %exc.u188, label %exc.k189
+exc.u188:
+ call void @scr_dyn_release(ptr %t492)
+ call void @scr_dyn_release(ptr %t493)
+ call void @scr_dyn_release(ptr %t494)
+ call void @scr_closure_release(ptr %t495)
+ call void @scr_dyn_release(ptr %t496)
+ ret ptr null
+exc.k189:
+ %t500 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t494, ptr @sc_lit_1948131179100861, ptr %t500)
+ %t501 = load i32, ptr %exc.cell
+ %t502 = icmp ne i32 %t501, 0
+ %t503 = call i1 @llvm.expect.i1(i1 %t502, i1 false)
+ br i1 %t503, label %exc.u190, label %exc.k191
+exc.u190:
+ call void @scr_dyn_release(ptr %t492)
+ call void @scr_dyn_release(ptr %t493)
+ call void @scr_dyn_release(ptr %t494)
+ call void @scr_closure_release(ptr %t495)
+ call void @scr_dyn_release(ptr %t496)
+ call void @scr_dyn_release(ptr %t500)
+ ret ptr null
+exc.k191:
+ %t504 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t494, ptr @sc_lit_3198935257758645, ptr %t504)
+ %t505 = load i32, ptr %exc.cell
+ %t506 = icmp ne i32 %t505, 0
+ %t507 = call i1 @llvm.expect.i1(i1 %t506, i1 false)
+ br i1 %t507, label %exc.u192, label %exc.k193
+exc.u192:
+ call void @scr_dyn_release(ptr %t492)
+ call void @scr_dyn_release(ptr %t493)
+ call void @scr_dyn_release(ptr %t494)
+ call void @scr_closure_release(ptr %t495)
+ call void @scr_dyn_release(ptr %t496)
+ call void @scr_dyn_release(ptr %t500)
+ call void @scr_dyn_release(ptr %t504)
+ ret ptr null
+exc.k193:
+ %t508 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t492, ptr %t493, ptr %t494)
+ %t509 = load i32, ptr %exc.cell
+ %t510 = icmp ne i32 %t509, 0
+ %t511 = call i1 @llvm.expect.i1(i1 %t510, i1 false)
+ br i1 %t511, label %exc.u194, label %exc.k195
+exc.u194:
+ call void @scr_dyn_release(ptr %t492)
+ call void @scr_dyn_release(ptr %t493)
+ call void @scr_dyn_release(ptr %t494)
+ call void @scr_closure_release(ptr %t495)
+ call void @scr_dyn_release(ptr %t496)
+ call void @scr_dyn_release(ptr %t500)
+ call void @scr_dyn_release(ptr %t504)
+ call void @scr_dyn_release(ptr %t508)
+ ret ptr null
+exc.k195:
+ call void @scr_dyn_release(ptr %t492)
+ call void @scr_dyn_release(ptr %t493)
+ call void @scr_dyn_release(ptr %t494)
+ call void @scr_closure_release(ptr %t495)
+ call void @scr_dyn_release(ptr %t496)
+ call void @scr_dyn_release(ptr %t500)
+ call void @scr_dyn_release(ptr %t504)
+ call void @scr_dyn_release(ptr %t508)
+ %t512 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t513 = call ptr @sc_rc_retain_dyn(ptr %t512)
+ %t514 = call ptr @sc_td_0(ptr @sc_lit_156708963710691)
+ %t515 = call ptr @scr_dyn_new_obj()
+ %t516 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim)
+ %t517 = call ptr @sc_dfb_29(ptr %t516, ptr null)
+ call void @scr_dyn_key_set(ptr %t515, ptr @sc_lit_3610950885518037, ptr %t517)
+ %t518 = load i32, ptr %exc.cell
+ %t519 = icmp ne i32 %t518, 0
+ %t520 = call i1 @llvm.expect.i1(i1 %t519, i1 false)
+ br i1 %t520, label %exc.u196, label %exc.k197
+exc.u196:
+ call void @scr_dyn_release(ptr %t513)
+ call void @scr_dyn_release(ptr %t514)
+ call void @scr_dyn_release(ptr %t515)
+ call void @scr_closure_release(ptr %t516)
+ call void @scr_dyn_release(ptr %t517)
+ ret ptr null
+exc.k197:
+ %t521 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t515, ptr @sc_lit_1948131179100861, ptr %t521)
+ %t522 = load i32, ptr %exc.cell
+ %t523 = icmp ne i32 %t522, 0
+ %t524 = call i1 @llvm.expect.i1(i1 %t523, i1 false)
+ br i1 %t524, label %exc.u198, label %exc.k199
+exc.u198:
+ call void @scr_dyn_release(ptr %t513)
+ call void @scr_dyn_release(ptr %t514)
+ call void @scr_dyn_release(ptr %t515)
+ call void @scr_closure_release(ptr %t516)
+ call void @scr_dyn_release(ptr %t517)
+ call void @scr_dyn_release(ptr %t521)
+ ret ptr null
+exc.k199:
+ %t525 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t515, ptr @sc_lit_3198935257758645, ptr %t525)
+ %t526 = load i32, ptr %exc.cell
+ %t527 = icmp ne i32 %t526, 0
+ %t528 = call i1 @llvm.expect.i1(i1 %t527, i1 false)
+ br i1 %t528, label %exc.u200, label %exc.k201
+exc.u200:
+ call void @scr_dyn_release(ptr %t513)
+ call void @scr_dyn_release(ptr %t514)
+ call void @scr_dyn_release(ptr %t515)
+ call void @scr_closure_release(ptr %t516)
+ call void @scr_dyn_release(ptr %t517)
+ call void @scr_dyn_release(ptr %t521)
+ call void @scr_dyn_release(ptr %t525)
+ ret ptr null
+exc.k201:
+ %t529 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t513, ptr %t514, ptr %t515)
+ %t530 = load i32, ptr %exc.cell
+ %t531 = icmp ne i32 %t530, 0
+ %t532 = call i1 @llvm.expect.i1(i1 %t531, i1 false)
+ br i1 %t532, label %exc.u202, label %exc.k203
+exc.u202:
+ call void @scr_dyn_release(ptr %t513)
+ call void @scr_dyn_release(ptr %t514)
+ call void @scr_dyn_release(ptr %t515)
+ call void @scr_closure_release(ptr %t516)
+ call void @scr_dyn_release(ptr %t517)
+ call void @scr_dyn_release(ptr %t521)
+ call void @scr_dyn_release(ptr %t525)
+ call void @scr_dyn_release(ptr %t529)
+ ret ptr null
+exc.k203:
+ call void @scr_dyn_release(ptr %t513)
+ call void @scr_dyn_release(ptr %t514)
+ call void @scr_dyn_release(ptr %t515)
+ call void @scr_closure_release(ptr %t516)
+ call void @scr_dyn_release(ptr %t517)
+ call void @scr_dyn_release(ptr %t521)
+ call void @scr_dyn_release(ptr %t525)
+ call void @scr_dyn_release(ptr %t529)
+ %t533 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t534 = call ptr @sc_rc_retain_dyn(ptr %t533)
+ %t535 = call ptr @sc_td_0(ptr @sc_lit_1093190805819680)
+ %t536 = call ptr @scr_dyn_new_obj()
+ %t537 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim)
+ %t538 = call ptr @sc_dfb_30(ptr %t537, ptr null)
+ call void @scr_dyn_key_set(ptr %t536, ptr @sc_lit_3610950885518037, ptr %t538)
+ %t539 = load i32, ptr %exc.cell
+ %t540 = icmp ne i32 %t539, 0
+ %t541 = call i1 @llvm.expect.i1(i1 %t540, i1 false)
+ br i1 %t541, label %exc.u204, label %exc.k205
+exc.u204:
+ call void @scr_dyn_release(ptr %t534)
+ call void @scr_dyn_release(ptr %t535)
+ call void @scr_dyn_release(ptr %t536)
+ call void @scr_closure_release(ptr %t537)
+ call void @scr_dyn_release(ptr %t538)
+ ret ptr null
+exc.k205:
+ %t542 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t536, ptr @sc_lit_1948131179100861, ptr %t542)
+ %t543 = load i32, ptr %exc.cell
+ %t544 = icmp ne i32 %t543, 0
+ %t545 = call i1 @llvm.expect.i1(i1 %t544, i1 false)
+ br i1 %t545, label %exc.u206, label %exc.k207
+exc.u206:
+ call void @scr_dyn_release(ptr %t534)
+ call void @scr_dyn_release(ptr %t535)
+ call void @scr_dyn_release(ptr %t536)
+ call void @scr_closure_release(ptr %t537)
+ call void @scr_dyn_release(ptr %t538)
+ call void @scr_dyn_release(ptr %t542)
+ ret ptr null
+exc.k207:
+ %t546 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t536, ptr @sc_lit_3198935257758645, ptr %t546)
+ %t547 = load i32, ptr %exc.cell
+ %t548 = icmp ne i32 %t547, 0
+ %t549 = call i1 @llvm.expect.i1(i1 %t548, i1 false)
+ br i1 %t549, label %exc.u208, label %exc.k209
+exc.u208:
+ call void @scr_dyn_release(ptr %t534)
+ call void @scr_dyn_release(ptr %t535)
+ call void @scr_dyn_release(ptr %t536)
+ call void @scr_closure_release(ptr %t537)
+ call void @scr_dyn_release(ptr %t538)
+ call void @scr_dyn_release(ptr %t542)
+ call void @scr_dyn_release(ptr %t546)
+ ret ptr null
+exc.k209:
+ %t550 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t534, ptr %t535, ptr %t536)
+ %t551 = load i32, ptr %exc.cell
+ %t552 = icmp ne i32 %t551, 0
+ %t553 = call i1 @llvm.expect.i1(i1 %t552, i1 false)
+ br i1 %t553, label %exc.u210, label %exc.k211
+exc.u210:
+ call void @scr_dyn_release(ptr %t534)
+ call void @scr_dyn_release(ptr %t535)
+ call void @scr_dyn_release(ptr %t536)
+ call void @scr_closure_release(ptr %t537)
+ call void @scr_dyn_release(ptr %t538)
+ call void @scr_dyn_release(ptr %t542)
+ call void @scr_dyn_release(ptr %t546)
+ call void @scr_dyn_release(ptr %t550)
+ ret ptr null
+exc.k211:
+ call void @scr_dyn_release(ptr %t534)
+ call void @scr_dyn_release(ptr %t535)
+ call void @scr_dyn_release(ptr %t536)
+ call void @scr_closure_release(ptr %t537)
+ call void @scr_dyn_release(ptr %t538)
+ call void @scr_dyn_release(ptr %t542)
+ call void @scr_dyn_release(ptr %t546)
+ call void @scr_dyn_release(ptr %t550)
+ %t554 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t555 = call ptr @sc_rc_retain_dyn(ptr %t554)
+ %t556 = call ptr @sc_td_0(ptr @sc_lit_3899522094323235)
+ %t557 = call ptr @scr_dyn_new_obj()
+ %t558 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch)
+ %t559 = call ptr @sc_dfb_31(ptr %t558, ptr null)
+ call void @scr_dyn_key_set(ptr %t557, ptr @sc_lit_3610950885518037, ptr %t559)
+ %t560 = load i32, ptr %exc.cell
+ %t561 = icmp ne i32 %t560, 0
+ %t562 = call i1 @llvm.expect.i1(i1 %t561, i1 false)
+ br i1 %t562, label %exc.u212, label %exc.k213
+exc.u212:
+ call void @scr_dyn_release(ptr %t555)
+ call void @scr_dyn_release(ptr %t556)
+ call void @scr_dyn_release(ptr %t557)
+ call void @scr_closure_release(ptr %t558)
+ call void @scr_dyn_release(ptr %t559)
+ ret ptr null
+exc.k213:
+ %t563 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t557, ptr @sc_lit_1948131179100861, ptr %t563)
+ %t564 = load i32, ptr %exc.cell
+ %t565 = icmp ne i32 %t564, 0
+ %t566 = call i1 @llvm.expect.i1(i1 %t565, i1 false)
+ br i1 %t566, label %exc.u214, label %exc.k215
+exc.u214:
+ call void @scr_dyn_release(ptr %t555)
+ call void @scr_dyn_release(ptr %t556)
+ call void @scr_dyn_release(ptr %t557)
+ call void @scr_closure_release(ptr %t558)
+ call void @scr_dyn_release(ptr %t559)
+ call void @scr_dyn_release(ptr %t563)
+ ret ptr null
+exc.k215:
+ %t567 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t557, ptr @sc_lit_3198935257758645, ptr %t567)
+ %t568 = load i32, ptr %exc.cell
+ %t569 = icmp ne i32 %t568, 0
+ %t570 = call i1 @llvm.expect.i1(i1 %t569, i1 false)
+ br i1 %t570, label %exc.u216, label %exc.k217
+exc.u216:
+ call void @scr_dyn_release(ptr %t555)
+ call void @scr_dyn_release(ptr %t556)
+ call void @scr_dyn_release(ptr %t557)
+ call void @scr_closure_release(ptr %t558)
+ call void @scr_dyn_release(ptr %t559)
+ call void @scr_dyn_release(ptr %t563)
+ call void @scr_dyn_release(ptr %t567)
+ ret ptr null
+exc.k217:
+ %t571 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t555, ptr %t556, ptr %t557)
+ %t572 = load i32, ptr %exc.cell
+ %t573 = icmp ne i32 %t572, 0
+ %t574 = call i1 @llvm.expect.i1(i1 %t573, i1 false)
+ br i1 %t574, label %exc.u218, label %exc.k219
+exc.u218:
+ call void @scr_dyn_release(ptr %t555)
+ call void @scr_dyn_release(ptr %t556)
+ call void @scr_dyn_release(ptr %t557)
+ call void @scr_closure_release(ptr %t558)
+ call void @scr_dyn_release(ptr %t559)
+ call void @scr_dyn_release(ptr %t563)
+ call void @scr_dyn_release(ptr %t567)
+ call void @scr_dyn_release(ptr %t571)
+ ret ptr null
+exc.k219:
+ call void @scr_dyn_release(ptr %t555)
+ call void @scr_dyn_release(ptr %t556)
+ call void @scr_dyn_release(ptr %t557)
+ call void @scr_closure_release(ptr %t558)
+ call void @scr_dyn_release(ptr %t559)
+ call void @scr_dyn_release(ptr %t563)
+ call void @scr_dyn_release(ptr %t567)
+ call void @scr_dyn_release(ptr %t571)
+ br label %if.j3
+if.j3:
+ %t575 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ %t576 = call ptr @sc_rc_retain_dyn(ptr %t575)
+ ret ptr %t576
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m5.App
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_21424698936986
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_21424698936986)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_21424698936986
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m5_App(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_91(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ ret ptr %t31
+if.j7:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_release__x25_m5_App(ptr %t33)
+ ret ptr null
+exc.k16:
+ ret ptr %t33
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m5_App(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_get(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.get
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = call ptr @sc_bf__x25__x25_m5_App_get(ptr %t5, ptr %t9, ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t12)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_get(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_get(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ call void @sc_rrelease_r7(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_post(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.post
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = call ptr @sc_bf__x25__x25_m5_App_post(ptr %t5, ptr %t9, ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t12)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_post(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_post(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ call void @sc_rrelease_r7(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_put(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.put
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = call ptr @sc_bf__x25__x25_m5_App_put(ptr %t5, ptr %t9, ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t12)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_put(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_put(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ call void @sc_rrelease_r7(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.delete
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = call ptr @sc_bf__x25__x25_m5_App_delete(ptr %t5, ptr %t9, ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t12)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_delete(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ call void @sc_rrelease_r7(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.patch
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = call ptr @sc_bf__x25__x25_m5_App_patch(ptr %t5, ptr %t9, ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t12)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_patch(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ call void @sc_rrelease_r7(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_head(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.head
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = call ptr @sc_bf__x25__x25_m5_App_head(ptr %t5, ptr %t9, ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t12)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_head(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_head(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ call void @sc_rrelease_r7(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_options(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.options
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = call ptr @sc_bf__x25__x25_m5_App_options(ptr %t5, ptr %t9, ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t12)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_options(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_options(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ call void @sc_rrelease_r7(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_all(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.all
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = call ptr @sc_bf__x25__x25_m5_App_all(ptr %t5, ptr %t9, ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t12)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_all(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_all(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ call void @sc_rrelease_r7(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_on(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3) #0 { ; %method.value:%%m5.App.on
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_3 = alloca ptr ; p3
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_3, ptr %sc_l_p_3
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = load ptr, ptr %sc_l_p_3
+ %t13 = call ptr @sc_bf__x25__x25_m5_App_on(ptr %t5, ptr %t9, ptr %t10, ptr %t11, ptr %t12)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t13)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t13
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_on(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_on(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @sc_rrelease_r7(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_use(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.App.use
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = call ptr @sc_bf__x25__x25_m5_App_use(ptr %t5, ptr %t9, ptr %t10)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t15 = call ptr @sc_retain__x25_m5_App(ptr %t11)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t15
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_use(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_use(ptr %p0, ptr %p1)
+ call void @scr_union_release(ptr %p0)
+ call void @scr_arr_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.notFound
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_App_notFound(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @sc_retain__x25_m5_App(ptr %t10)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t14
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_notFound(ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.onError
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_App_onError(ptr %t5, ptr %t9)
+ %t11 = call ptr @sc_retain__x25_m5_App(ptr %t10)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t11
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_onError(ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_route(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.App.route
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = call ptr @sc_bf__x25__x25_m5_App_route(ptr %t5, ptr %t9, ptr %t10)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t15 = call ptr @sc_retain__x25_m5_App(ptr %t11)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t15
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_route(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_route(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @sc_release__x25_m5_App(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.withDispatch
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_App_withDispatch(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @sc_retain__x25_m5_App(ptr %t10)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t14
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withDispatch(ptr %p0)
+ call void @sc_release__x25_m0_GenDispatch(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.withFetchDispatch
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_App_withFetchDispatch(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @sc_retain__x25_m5_App(ptr %t10)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t14
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch(ptr %p0)
+ call void @sc_release__x25_m0_GenFetch(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.withUpgrade
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_App_withUpgrade(ptr %t5, ptr %t9)
+ %t11 = call ptr @sc_retain__x25_m5_App(ptr %t10)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t11
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_withUpgrade(ptr %p0)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler() #0 { ; %method.value:%%m5.App.upgradeHandler
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m5_App_upgradeHandler(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_handler() #0 { ; %method.value:%%m5.App.handler
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m5_App_handler(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetchBridge() #0 { ; %method.value:%%m5.App.fetchBridge
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m5_App_fetchBridge(ptr %t5)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.serve
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_App_serve(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @scr_net_server_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serve(ptr %p0)
+ call void @sc_rrelease_r8(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.App.serveFetch
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_App_serveFetch(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @scr_net_server_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_serveFetch(ptr %p0)
+ call void @sc_rrelease_r8(ptr %p0)
+ ret ptr %result
+}
+
+define internal double @sc_bf__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3, ptr %p_sc_l_p_4) #0 { ; %method.value:%%m5.App._regFn
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_3 = alloca ptr ; p3
+ %sc_l_p_4 = alloca ptr ; p4
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_3, ptr %sc_l_p_3
+ store ptr %p_sc_l_p_4, ptr %sc_l_p_4
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret double 0x0000000000000000
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret double 0x0000000000000000
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = load ptr, ptr %sc_l_p_3
+ %t13 = load ptr, ptr %sc_l_p_4
+ %t14 = call double @sc_bf__x25__x25_m5_App__regFn(ptr %t5, ptr %t9, ptr %t10, ptr %t11, ptr %t12, ptr %t13)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret double %t14
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret double %t14
+}
+define internal double @sc_f__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ %result = call double @sc_bf__x25_method_value_x3a__x25__x25_m5_App__regFn(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @scr_union_release(ptr %p0)
+ call void @scr_arr_release(ptr %p1)
+ call void @sc_rrelease_r9(ptr %p2)
+ call void @scr_union_release(ptr %p3)
+ call void @sc_release__x25_m5_MpCfg(ptr %p4)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__add(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3) #0 { ; %method.value:%%m5.App._add
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_3 = alloca ptr ; p3
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_3, ptr %sc_l_p_3
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = load ptr, ptr %sc_l_p_3
+ %t13 = call ptr @sc_bf__x25__x25_m5_App__add(ptr %t5, ptr %t9, ptr %t10, ptr %t11, ptr %t12)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_retain__x25_m5_App(ptr %t13)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t17
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App__add(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__add(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @sc_rrelease_r7(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.App.fetch
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = call ptr @sc_bf__x25__x25_m5_App_fetch(ptr %t5, ptr %t9, ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ call void @scr_promise_release(ptr %t12)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetch(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3, ptr %p_sc_l_p_4) #0 { ; %method.value:%%m5.App.fetchShim
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_3 = alloca ptr ; p3
+ %sc_l_p_4 = alloca ptr ; p4
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_3, ptr %sc_l_p_3
+ store ptr %p_sc_l_p_4, ptr %sc_l_p_4
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = load ptr, ptr %sc_l_p_3
+ %t13 = load ptr, ptr %sc_l_p_4
+ call void @sc_bf__x25__x25_m5_App_fetchShim(ptr %t5, ptr %t9, ptr %t10, ptr %t11, ptr %t12, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_App_fetchShim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_rrelease_r0(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ call void @scr_closure_release(ptr %p4)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3, ptr %p_sc_l_p_4, ptr %p_sc_l_p_5, ptr %p_sc_l_p_6) #0 { ; %method.value:%%m5.App._dispatchPrim
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_3 = alloca ptr ; p3
+ %sc_l_p_4 = alloca ptr ; p4
+ %sc_l_p_5 = alloca ptr ; p5
+ %sc_l_p_6 = alloca ptr ; p6
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_3, ptr %sc_l_p_3
+ store ptr %p_sc_l_p_4, ptr %sc_l_p_4
+ store ptr %p_sc_l_p_5, ptr %sc_l_p_5
+ store ptr %p_sc_l_p_6, ptr %sc_l_p_6
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_rc_retain_str(ptr %t9)
+ %t11 = load ptr, ptr %sc_l_p_1
+ %t12 = call ptr @sc_rc_retain_str(ptr %t11)
+ %t13 = load ptr, ptr %sc_l_p_2
+ %t14 = call ptr @sc_rretain_r0(ptr %t13)
+ %t15 = load ptr, ptr %sc_l_p_3
+ %t16 = call ptr @sc_rc_retain_dyn(ptr %t15)
+ %t17 = load ptr, ptr %sc_l_p_4
+ %t18 = call ptr @sc_rc_retain_str(ptr %t17)
+ %t19 = load ptr, ptr %sc_l_p_5
+ %t20 = call ptr @scr_union_retain_v(ptr %t19)
+ %t21 = load ptr, ptr %sc_l_p_6
+ %t22 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t21)
+ %t23 = call ptr @sc_as__x25__x25_m5_App__dispatchPrim(ptr %t5, ptr %t10, ptr %t12, ptr %t14, ptr %t16, ptr %t18, ptr %t20, ptr %t22)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_promise_release(ptr %t23)
+ ret ptr null
+exc.k5:
+ ret ptr %t23
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_rrelease_r0(ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ call void @scr_union_release(ptr %p5)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p6)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.App._dispatch
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_App(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m5_App__dispatch(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m5_App(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_App__dispatch(ptr %p0, ptr %p1)
+ call void @scr_http_req_release(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_f__x25_dyn_class_properties(ptr %p_sc_l_p_0) #0 { ; %dyn.class.properties
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s46 = alloca ptr
+ %s74 = alloca ptr
+ %s95 = alloca i1
+ %s107 = alloca ptr
+ %s130 = alloca ptr
+ %s158 = alloca ptr
+ %s179 = alloca i1
+ %s191 = alloca ptr
+ %s214 = alloca ptr
+ %s242 = alloca ptr
+ %s263 = alloca i1
+ %s275 = alloca ptr
+ %s298 = alloca ptr
+ %s326 = alloca ptr
+ %s347 = alloca i1
+ %s359 = alloca ptr
+ %s382 = alloca ptr
+ %s410 = alloca ptr
+ %s431 = alloca i1
+ %s443 = alloca ptr
+ %s466 = alloca ptr
+ %s494 = alloca ptr
+ %s515 = alloca i1
+ %s527 = alloca ptr
+ %s550 = alloca ptr
+ %s578 = alloca ptr
+ %s599 = alloca i1
+ %s611 = alloca ptr
+ %s634 = alloca ptr
+ %s662 = alloca ptr
+ %s683 = alloca i1
+ %s693 = alloca i1
+ %s696 = alloca ptr
+ %s722 = alloca ptr
+ %s745 = alloca ptr
+ %s773 = alloca ptr
+ %s794 = alloca i1
+ %s806 = alloca ptr
+ %s829 = alloca ptr
+ %s847 = alloca ptr
+ %s870 = alloca ptr
+ %s888 = alloca ptr
+ %s909 = alloca i1
+ %s919 = alloca i1
+ %s922 = alloca ptr
+ %s948 = alloca ptr
+ %s971 = alloca ptr
+ %s999 = alloca ptr
+ %s1020 = alloca i1
+ %s1030 = alloca i1
+ %s1033 = alloca ptr
+ %s1059 = alloca ptr
+ %s1082 = alloca ptr
+ %s1100 = alloca ptr
+ %s1123 = alloca ptr
+ %s1141 = alloca ptr
+ %s1162 = alloca i1
+ %s1174 = alloca ptr
+ %s1197 = alloca ptr
+ %s1215 = alloca ptr
+ %s1238 = alloca ptr
+ %s1241 = alloca ptr
+ %s1264 = alloca ptr
+ %s1287 = alloca ptr
+ %s1308 = alloca i1
+ %s1320 = alloca ptr
+ %s1343 = alloca ptr
+ %s1371 = alloca ptr
+ %s1392 = alloca i1
+ %s1404 = alloca ptr
+ %s1427 = alloca ptr
+ %s1455 = alloca ptr
+ %s1476 = alloca i1
+ %s1488 = alloca ptr
+ %s1511 = alloca ptr
+ %s1532 = alloca ptr
+ %s1553 = alloca i1
+ %s1565 = alloca ptr
+ %s1588 = alloca ptr
+ %s1616 = alloca ptr
+ %s1637 = alloca i1
+ %s1649 = alloca ptr
+ %s1672 = alloca ptr
+ %s1693 = alloca ptr
+ %s1714 = alloca i1
+ %s1724 = alloca i1
+ %s1727 = alloca ptr
+ %s1753 = alloca ptr
+ %s1776 = alloca ptr
+ %s1804 = alloca ptr
+ %s1825 = alloca i1
+ %s1837 = alloca ptr
+ %s1860 = alloca ptr
+ %s1878 = alloca ptr
+ %s1901 = alloca ptr
+ %s1919 = alloca ptr
+ %s1940 = alloca i1
+ %s1952 = alloca ptr
+ %s1975 = alloca ptr
+ %s2003 = alloca ptr
+ %s2024 = alloca i1
+ %s2034 = alloca i1
+ %s2037 = alloca ptr
+ %s2063 = alloca ptr
+ %s2086 = alloca ptr
+ %s2114 = alloca ptr
+ %s2135 = alloca i1
+ %s2147 = alloca ptr
+ %s2170 = alloca ptr
+ %s2188 = alloca ptr
+ %s2211 = alloca ptr
+ %s2229 = alloca ptr
+ %s2250 = alloca i1
+ %s2260 = alloca i1
+ %s2263 = alloca ptr
+ %s2289 = alloca ptr
+ %s2312 = alloca ptr
+ %s2340 = alloca ptr
+ %s2361 = alloca i1
+ %s2371 = alloca i1
+ %s2374 = alloca ptr
+ %s2400 = alloca ptr
+ %s2423 = alloca ptr
+ %s2441 = alloca ptr
+ %s2464 = alloca ptr
+ %s2482 = alloca ptr
+ %s2503 = alloca i1
+ %s2513 = alloca i1
+ %s2516 = alloca ptr
+ %s2542 = alloca ptr
+ %s2565 = alloca ptr
+ %s2593 = alloca ptr
+ %s2614 = alloca i1
+ %s2626 = alloca ptr
+ %s2649 = alloca ptr
+ %s2667 = alloca ptr
+ %s2690 = alloca ptr
+ %s2693 = alloca ptr
+ %s2716 = alloca ptr
+ %s2728 = alloca ptr
+ %s2751 = alloca ptr
+ %s2770 = alloca ptr
+ %s2791 = alloca i1
+ %s2803 = alloca ptr
+ %s2826 = alloca ptr
+ %s2854 = alloca ptr
+ %s2875 = alloca i1
+ %s2887 = alloca ptr
+ %s2910 = alloca ptr
+ %s2931 = alloca ptr
+ %s2952 = alloca i1
+ %s2962 = alloca i1
+ %s2965 = alloca ptr
+ %s2991 = alloca ptr
+ %s3014 = alloca ptr
+ %s3042 = alloca ptr
+ %s3063 = alloca i1
+ %s3075 = alloca ptr
+ %s3098 = alloca ptr
+ %s3116 = alloca ptr
+ %s3139 = alloca ptr
+ %s3157 = alloca ptr
+ %s3178 = alloca i1
+ %s3190 = alloca ptr
+ %s3213 = alloca ptr
+ %s3241 = alloca ptr
+ %s3262 = alloca i1
+ %s3274 = alloca ptr
+ %s3297 = alloca ptr
+ %s3325 = alloca ptr
+ %s3346 = alloca i1
+ %s3358 = alloca ptr
+ %s3381 = alloca ptr
+ %s3409 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @scr_dyn_release(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_30(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_dyn_release(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t38, i64 0, i32 2
+ %t40 = load ptr, ptr %t39, !tbaa !204
+ %t41 = getelementptr inbounds i8, ptr %t40, i64 8 ; ->kind
+ %t42 = load i32, ptr %t41
+ %t43 = icmp eq i32 %t42, 6
+ call void @scr_dyn_release(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ br i1 %t43, label %if.t18, label %if.j19
+if.t18:
+ %t44 = load ptr, ptr %sc_l_p_0
+ %t45 = call ptr @sc_rc_retain_dyn(ptr %t44)
+ %t47 = icmp ne ptr %t45, null
+ br i1 %t47, label %dc.inspect20, label %dc.checked23
+dc.inspect20:
+ %t52 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind
+ %t53 = load i32, ptr %t52
+ %t48 = icmp eq i32 %t53, 12
+ br i1 %t48, label %dc.capsule21, label %dc.checked23
+dc.capsule21:
+ %t49 = getelementptr inbounds i8, ptr %t45, i64 40 ; ->v.typed_ref.type_key
+ %t50 = load ptr, ptr %t49
+ %t51 = icmp eq ptr %t50, @sc_cs_1746033898805369
+ br i1 %t51, label %dc.exact22, label %dc.checked23
+dc.exact22:
+ %t54 = getelementptr inbounds i8, ptr %t45, i64 16 ; ->v.typed_ref.ptr
+ %t55 = load ptr, ptr %t54
+ %t56 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t55)
+ store ptr %t56, ptr %s46
+ br label %dc.done24
+dc.checked23:
+ %t57 = call ptr @sc_dc_30(ptr %t45, ptr null)
+ store ptr %t57, ptr %s46
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u25, label %exc.k26
+exc.u25:
+ call void @scr_dyn_release(ptr %t45)
+ br label %exc.cleanup2
+exc.k26:
+ br label %dc.done24
+dc.done24:
+ %t61 = load ptr, ptr %s46
+ %t62 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxResCore()
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @scr_dyn_release(ptr %t45)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ br label %exc.cleanup2
+exc.k28:
+ %t66 = call ptr @scr_dyn_obj_create(ptr %t62)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @scr_dyn_release(ptr %t45)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ br label %exc.cleanup2
+exc.k30:
+ %t70 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t61, i64 0, i32 2
+ %t71 = load ptr, ptr %t70
+ store ptr %t66, ptr %t70, !tbaa !204
+ call void @scr_dyn_release(ptr %t71)
+ call void @scr_dyn_release(ptr %t45)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ br label %if.j19
+if.j19:
+ %t72 = load ptr, ptr %sc_l_p_0
+ %t73 = call ptr @sc_rc_retain_dyn(ptr %t72)
+ %t75 = icmp ne ptr %t73, null
+ br i1 %t75, label %dc.inspect31, label %dc.checked34
+dc.inspect31:
+ %t80 = getelementptr inbounds i8, ptr %t73, i64 8 ; ->kind
+ %t81 = load i32, ptr %t80
+ %t76 = icmp eq i32 %t81, 12
+ br i1 %t76, label %dc.capsule32, label %dc.checked34
+dc.capsule32:
+ %t77 = getelementptr inbounds i8, ptr %t73, i64 40 ; ->v.typed_ref.type_key
+ %t78 = load ptr, ptr %t77
+ %t79 = icmp eq ptr %t78, @sc_cs_1746033898805369
+ br i1 %t79, label %dc.exact33, label %dc.checked34
+dc.exact33:
+ %t82 = getelementptr inbounds i8, ptr %t73, i64 16 ; ->v.typed_ref.ptr
+ %t83 = load ptr, ptr %t82
+ %t84 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t83)
+ store ptr %t84, ptr %s74
+ br label %dc.done35
+dc.checked34:
+ %t85 = call ptr @sc_dc_30(ptr %t73, ptr null)
+ store ptr %t85, ptr %s74
+ %t86 = load i32, ptr %exc.cell
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @scr_dyn_release(ptr %t73)
+ br label %exc.cleanup2
+exc.k37:
+ br label %dc.done35
+dc.done35:
+ %t89 = load ptr, ptr %s74
+ %t90 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t89, i64 0, i32 2
+ %t91 = load ptr, ptr %t90, !tbaa !204
+ %t92 = call ptr @sc_rc_retain_dyn(ptr %t91)
+ call void @scr_dyn_release(ptr %t73)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t89)
+ %t93 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t93)
+ ret ptr %t92
+if.j10:
+ %t94 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s95
+ %t96 = icmp ne ptr %t94, null
+ br i1 %t96, label %brand.inspect38, label %brand.done40
+brand.inspect38:
+ %t97 = getelementptr inbounds i8, ptr %t94, i64 8 ; ->kind
+ %t98 = load i32, ptr %t97
+ %t99 = icmp eq i32 %t98, 12
+ br i1 %t99, label %brand.capsule39, label %brand.done40
+brand.capsule39:
+ %t100 = getelementptr inbounds i8, ptr %t94, i64 40 ; ->v.typed_ref.type_key
+ %t101 = load ptr, ptr %t100
+ %t102 = icmp eq ptr %t101, @sc_cs_3456310594719780
+ store i1 true, ptr %s95
+ br i1 %t102, label %brand.done40, label %brand.compare41
+brand.compare41:
+ %t103 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t94, ptr @sc_lit_3456310594719780)
+ store i1 %t103, ptr %s95
+ br label %brand.done40
+brand.done40:
+ %t104 = load i1, ptr %s95
+ br i1 %t104, label %if.t42, label %if.j43
+if.t42:
+ %t105 = load ptr, ptr %sc_l_p_0
+ %t106 = call ptr @sc_rc_retain_dyn(ptr %t105)
+ %t108 = icmp ne ptr %t106, null
+ br i1 %t108, label %dc.inspect44, label %dc.checked47
+dc.inspect44:
+ %t113 = getelementptr inbounds i8, ptr %t106, i64 8 ; ->kind
+ %t114 = load i32, ptr %t113
+ %t109 = icmp eq i32 %t114, 12
+ br i1 %t109, label %dc.capsule45, label %dc.checked47
+dc.capsule45:
+ %t110 = getelementptr inbounds i8, ptr %t106, i64 40 ; ->v.typed_ref.type_key
+ %t111 = load ptr, ptr %t110
+ %t112 = icmp eq ptr %t111, @sc_cs_3456310594719780
+ br i1 %t112, label %dc.exact46, label %dc.checked47
+dc.exact46:
+ %t115 = getelementptr inbounds i8, ptr %t106, i64 16 ; ->v.typed_ref.ptr
+ %t116 = load ptr, ptr %t115
+ %t117 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t116)
+ store ptr %t117, ptr %s107
+ br label %dc.done48
+dc.checked47:
+ %t118 = call ptr @sc_dc_99(ptr %t106, ptr null)
+ store ptr %t118, ptr %s107
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u49, label %exc.k50
+exc.u49:
+ call void @scr_dyn_release(ptr %t106)
+ br label %exc.cleanup2
+exc.k50:
+ br label %dc.done48
+dc.done48:
+ %t122 = load ptr, ptr %s107
+ %t123 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t122, i64 0, i32 2
+ %t124 = load ptr, ptr %t123, !tbaa !204
+ %t125 = getelementptr inbounds i8, ptr %t124, i64 8 ; ->kind
+ %t126 = load i32, ptr %t125
+ %t127 = icmp eq i32 %t126, 6
+ call void @scr_dyn_release(ptr %t106)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t122)
+ br i1 %t127, label %if.t51, label %if.j52
+if.t51:
+ %t128 = load ptr, ptr %sc_l_p_0
+ %t129 = call ptr @sc_rc_retain_dyn(ptr %t128)
+ %t131 = icmp ne ptr %t129, null
+ br i1 %t131, label %dc.inspect53, label %dc.checked56
+dc.inspect53:
+ %t136 = getelementptr inbounds i8, ptr %t129, i64 8 ; ->kind
+ %t137 = load i32, ptr %t136
+ %t132 = icmp eq i32 %t137, 12
+ br i1 %t132, label %dc.capsule54, label %dc.checked56
+dc.capsule54:
+ %t133 = getelementptr inbounds i8, ptr %t129, i64 40 ; ->v.typed_ref.type_key
+ %t134 = load ptr, ptr %t133
+ %t135 = icmp eq ptr %t134, @sc_cs_3456310594719780
+ br i1 %t135, label %dc.exact55, label %dc.checked56
+dc.exact55:
+ %t138 = getelementptr inbounds i8, ptr %t129, i64 16 ; ->v.typed_ref.ptr
+ %t139 = load ptr, ptr %t138
+ %t140 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t139)
+ store ptr %t140, ptr %s130
+ br label %dc.done57
+dc.checked56:
+ %t141 = call ptr @sc_dc_99(ptr %t129, ptr null)
+ store ptr %t141, ptr %s130
+ %t142 = load i32, ptr %exc.cell
+ %t143 = icmp ne i32 %t142, 0
+ %t144 = call i1 @llvm.expect.i1(i1 %t143, i1 false)
+ br i1 %t144, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @scr_dyn_release(ptr %t129)
+ br label %exc.cleanup2
+exc.k59:
+ br label %dc.done57
+dc.done57:
+ %t145 = load ptr, ptr %s130
+ %t146 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t147 = load i32, ptr %exc.cell
+ %t148 = icmp ne i32 %t147, 0
+ %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false)
+ br i1 %t149, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @scr_dyn_release(ptr %t129)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ br label %exc.cleanup2
+exc.k61:
+ %t150 = call ptr @scr_dyn_obj_create(ptr %t146)
+ %t151 = load i32, ptr %exc.cell
+ %t152 = icmp ne i32 %t151, 0
+ %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false)
+ br i1 %t153, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @scr_dyn_release(ptr %t129)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ br label %exc.cleanup2
+exc.k63:
+ %t154 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t145, i64 0, i32 2
+ %t155 = load ptr, ptr %t154
+ store ptr %t150, ptr %t154, !tbaa !204
+ call void @scr_dyn_release(ptr %t155)
+ call void @scr_dyn_release(ptr %t129)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ br label %if.j52
+if.j52:
+ %t156 = load ptr, ptr %sc_l_p_0
+ %t157 = call ptr @sc_rc_retain_dyn(ptr %t156)
+ %t159 = icmp ne ptr %t157, null
+ br i1 %t159, label %dc.inspect64, label %dc.checked67
+dc.inspect64:
+ %t164 = getelementptr inbounds i8, ptr %t157, i64 8 ; ->kind
+ %t165 = load i32, ptr %t164
+ %t160 = icmp eq i32 %t165, 12
+ br i1 %t160, label %dc.capsule65, label %dc.checked67
+dc.capsule65:
+ %t161 = getelementptr inbounds i8, ptr %t157, i64 40 ; ->v.typed_ref.type_key
+ %t162 = load ptr, ptr %t161
+ %t163 = icmp eq ptr %t162, @sc_cs_3456310594719780
+ br i1 %t163, label %dc.exact66, label %dc.checked67
+dc.exact66:
+ %t166 = getelementptr inbounds i8, ptr %t157, i64 16 ; ->v.typed_ref.ptr
+ %t167 = load ptr, ptr %t166
+ %t168 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t167)
+ store ptr %t168, ptr %s158
+ br label %dc.done68
+dc.checked67:
+ %t169 = call ptr @sc_dc_99(ptr %t157, ptr null)
+ store ptr %t169, ptr %s158
+ %t170 = load i32, ptr %exc.cell
+ %t171 = icmp ne i32 %t170, 0
+ %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false)
+ br i1 %t172, label %exc.u69, label %exc.k70
+exc.u69:
+ call void @scr_dyn_release(ptr %t157)
+ br label %exc.cleanup2
+exc.k70:
+ br label %dc.done68
+dc.done68:
+ %t173 = load ptr, ptr %s158
+ %t174 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t173, i64 0, i32 2
+ %t175 = load ptr, ptr %t174, !tbaa !204
+ %t176 = call ptr @sc_rc_retain_dyn(ptr %t175)
+ call void @scr_dyn_release(ptr %t157)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t173)
+ %t177 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t177)
+ ret ptr %t176
+if.j43:
+ %t178 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s179
+ %t180 = icmp ne ptr %t178, null
+ br i1 %t180, label %brand.inspect71, label %brand.done73
+brand.inspect71:
+ %t181 = getelementptr inbounds i8, ptr %t178, i64 8 ; ->kind
+ %t182 = load i32, ptr %t181
+ %t183 = icmp eq i32 %t182, 12
+ br i1 %t183, label %brand.capsule72, label %brand.done73
+brand.capsule72:
+ %t184 = getelementptr inbounds i8, ptr %t178, i64 40 ; ->v.typed_ref.type_key
+ %t185 = load ptr, ptr %t184
+ %t186 = icmp eq ptr %t185, @sc_cs_3728566007289652
+ store i1 true, ptr %s179
+ br i1 %t186, label %brand.done73, label %brand.compare74
+brand.compare74:
+ %t187 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t178, ptr @sc_lit_3728566007289652)
+ store i1 %t187, ptr %s179
+ br label %brand.done73
+brand.done73:
+ %t188 = load i1, ptr %s179
+ br i1 %t188, label %if.t75, label %if.j76
+if.t75:
+ %t189 = load ptr, ptr %sc_l_p_0
+ %t190 = call ptr @sc_rc_retain_dyn(ptr %t189)
+ %t192 = icmp ne ptr %t190, null
+ br i1 %t192, label %dc.inspect77, label %dc.checked80
+dc.inspect77:
+ %t197 = getelementptr inbounds i8, ptr %t190, i64 8 ; ->kind
+ %t198 = load i32, ptr %t197
+ %t193 = icmp eq i32 %t198, 12
+ br i1 %t193, label %dc.capsule78, label %dc.checked80
+dc.capsule78:
+ %t194 = getelementptr inbounds i8, ptr %t190, i64 40 ; ->v.typed_ref.type_key
+ %t195 = load ptr, ptr %t194
+ %t196 = icmp eq ptr %t195, @sc_cs_3728566007289652
+ br i1 %t196, label %dc.exact79, label %dc.checked80
+dc.exact79:
+ %t199 = getelementptr inbounds i8, ptr %t190, i64 16 ; ->v.typed_ref.ptr
+ %t200 = load ptr, ptr %t199
+ %t201 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t200)
+ store ptr %t201, ptr %s191
+ br label %dc.done81
+dc.checked80:
+ %t202 = call ptr @sc_dc_100(ptr %t190, ptr null)
+ store ptr %t202, ptr %s191
+ %t203 = load i32, ptr %exc.cell
+ %t204 = icmp ne i32 %t203, 0
+ %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false)
+ br i1 %t205, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @scr_dyn_release(ptr %t190)
+ br label %exc.cleanup2
+exc.k83:
+ br label %dc.done81
+dc.done81:
+ %t206 = load ptr, ptr %s191
+ %t207 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t206, i64 0, i32 2
+ %t208 = load ptr, ptr %t207, !tbaa !204
+ %t209 = getelementptr inbounds i8, ptr %t208, i64 8 ; ->kind
+ %t210 = load i32, ptr %t209
+ %t211 = icmp eq i32 %t210, 6
+ call void @scr_dyn_release(ptr %t190)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t206)
+ br i1 %t211, label %if.t84, label %if.j85
+if.t84:
+ %t212 = load ptr, ptr %sc_l_p_0
+ %t213 = call ptr @sc_rc_retain_dyn(ptr %t212)
+ %t215 = icmp ne ptr %t213, null
+ br i1 %t215, label %dc.inspect86, label %dc.checked89
+dc.inspect86:
+ %t220 = getelementptr inbounds i8, ptr %t213, i64 8 ; ->kind
+ %t221 = load i32, ptr %t220
+ %t216 = icmp eq i32 %t221, 12
+ br i1 %t216, label %dc.capsule87, label %dc.checked89
+dc.capsule87:
+ %t217 = getelementptr inbounds i8, ptr %t213, i64 40 ; ->v.typed_ref.type_key
+ %t218 = load ptr, ptr %t217
+ %t219 = icmp eq ptr %t218, @sc_cs_3728566007289652
+ br i1 %t219, label %dc.exact88, label %dc.checked89
+dc.exact88:
+ %t222 = getelementptr inbounds i8, ptr %t213, i64 16 ; ->v.typed_ref.ptr
+ %t223 = load ptr, ptr %t222
+ %t224 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t223)
+ store ptr %t224, ptr %s214
+ br label %dc.done90
+dc.checked89:
+ %t225 = call ptr @sc_dc_100(ptr %t213, ptr null)
+ store ptr %t225, ptr %s214
+ %t226 = load i32, ptr %exc.cell
+ %t227 = icmp ne i32 %t226, 0
+ %t228 = call i1 @llvm.expect.i1(i1 %t227, i1 false)
+ br i1 %t228, label %exc.u91, label %exc.k92
+exc.u91:
+ call void @scr_dyn_release(ptr %t213)
+ br label %exc.cleanup2
+exc.k92:
+ br label %dc.done90
+dc.done90:
+ %t229 = load ptr, ptr %s214
+ %t230 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t231 = load i32, ptr %exc.cell
+ %t232 = icmp ne i32 %t231, 0
+ %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false)
+ br i1 %t233, label %exc.u93, label %exc.k94
+exc.u93:
+ call void @scr_dyn_release(ptr %t213)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ br label %exc.cleanup2
+exc.k94:
+ %t234 = call ptr @scr_dyn_obj_create(ptr %t230)
+ %t235 = load i32, ptr %exc.cell
+ %t236 = icmp ne i32 %t235, 0
+ %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false)
+ br i1 %t237, label %exc.u95, label %exc.k96
+exc.u95:
+ call void @scr_dyn_release(ptr %t213)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ br label %exc.cleanup2
+exc.k96:
+ %t238 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t229, i64 0, i32 2
+ %t239 = load ptr, ptr %t238
+ store ptr %t234, ptr %t238, !tbaa !204
+ call void @scr_dyn_release(ptr %t239)
+ call void @scr_dyn_release(ptr %t213)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ br label %if.j85
+if.j85:
+ %t240 = load ptr, ptr %sc_l_p_0
+ %t241 = call ptr @sc_rc_retain_dyn(ptr %t240)
+ %t243 = icmp ne ptr %t241, null
+ br i1 %t243, label %dc.inspect97, label %dc.checked100
+dc.inspect97:
+ %t248 = getelementptr inbounds i8, ptr %t241, i64 8 ; ->kind
+ %t249 = load i32, ptr %t248
+ %t244 = icmp eq i32 %t249, 12
+ br i1 %t244, label %dc.capsule98, label %dc.checked100
+dc.capsule98:
+ %t245 = getelementptr inbounds i8, ptr %t241, i64 40 ; ->v.typed_ref.type_key
+ %t246 = load ptr, ptr %t245
+ %t247 = icmp eq ptr %t246, @sc_cs_3728566007289652
+ br i1 %t247, label %dc.exact99, label %dc.checked100
+dc.exact99:
+ %t250 = getelementptr inbounds i8, ptr %t241, i64 16 ; ->v.typed_ref.ptr
+ %t251 = load ptr, ptr %t250
+ %t252 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t251)
+ store ptr %t252, ptr %s242
+ br label %dc.done101
+dc.checked100:
+ %t253 = call ptr @sc_dc_100(ptr %t241, ptr null)
+ store ptr %t253, ptr %s242
+ %t254 = load i32, ptr %exc.cell
+ %t255 = icmp ne i32 %t254, 0
+ %t256 = call i1 @llvm.expect.i1(i1 %t255, i1 false)
+ br i1 %t256, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @scr_dyn_release(ptr %t241)
+ br label %exc.cleanup2
+exc.k103:
+ br label %dc.done101
+dc.done101:
+ %t257 = load ptr, ptr %s242
+ %t258 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t257, i64 0, i32 2
+ %t259 = load ptr, ptr %t258, !tbaa !204
+ %t260 = call ptr @sc_rc_retain_dyn(ptr %t259)
+ call void @scr_dyn_release(ptr %t241)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t257)
+ %t261 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t261)
+ ret ptr %t260
+if.j76:
+ %t262 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s263
+ %t264 = icmp ne ptr %t262, null
+ br i1 %t264, label %brand.inspect104, label %brand.done106
+brand.inspect104:
+ %t265 = getelementptr inbounds i8, ptr %t262, i64 8 ; ->kind
+ %t266 = load i32, ptr %t265
+ %t267 = icmp eq i32 %t266, 12
+ br i1 %t267, label %brand.capsule105, label %brand.done106
+brand.capsule105:
+ %t268 = getelementptr inbounds i8, ptr %t262, i64 40 ; ->v.typed_ref.type_key
+ %t269 = load ptr, ptr %t268
+ %t270 = icmp eq ptr %t269, @sc_cs_4041255434968695
+ store i1 true, ptr %s263
+ br i1 %t270, label %brand.done106, label %brand.compare107
+brand.compare107:
+ %t271 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t262, ptr @sc_lit_4041255434968695)
+ store i1 %t271, ptr %s263
+ br label %brand.done106
+brand.done106:
+ %t272 = load i1, ptr %s263
+ br i1 %t272, label %if.t108, label %if.j109
+if.t108:
+ %t273 = load ptr, ptr %sc_l_p_0
+ %t274 = call ptr @sc_rc_retain_dyn(ptr %t273)
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %dc.inspect110, label %dc.checked113
+dc.inspect110:
+ %t281 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t282 = load i32, ptr %t281
+ %t277 = icmp eq i32 %t282, 12
+ br i1 %t277, label %dc.capsule111, label %dc.checked113
+dc.capsule111:
+ %t278 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t279 = load ptr, ptr %t278
+ %t280 = icmp eq ptr %t279, @sc_cs_4041255434968695
+ br i1 %t280, label %dc.exact112, label %dc.checked113
+dc.exact112:
+ %t283 = getelementptr inbounds i8, ptr %t274, i64 16 ; ->v.typed_ref.ptr
+ %t284 = load ptr, ptr %t283
+ %t285 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t284)
+ store ptr %t285, ptr %s275
+ br label %dc.done114
+dc.checked113:
+ %t286 = call ptr @sc_dc_101(ptr %t274, ptr null)
+ store ptr %t286, ptr %s275
+ %t287 = load i32, ptr %exc.cell
+ %t288 = icmp ne i32 %t287, 0
+ %t289 = call i1 @llvm.expect.i1(i1 %t288, i1 false)
+ br i1 %t289, label %exc.u115, label %exc.k116
+exc.u115:
+ call void @scr_dyn_release(ptr %t274)
+ br label %exc.cleanup2
+exc.k116:
+ br label %dc.done114
+dc.done114:
+ %t290 = load ptr, ptr %s275
+ %t291 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t290, i64 0, i32 9
+ %t292 = load ptr, ptr %t291, !tbaa !204
+ %t293 = getelementptr inbounds i8, ptr %t292, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t295 = icmp eq i32 %t294, 6
+ call void @scr_dyn_release(ptr %t274)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t290)
+ br i1 %t295, label %if.t117, label %if.j118
+if.t117:
+ %t296 = load ptr, ptr %sc_l_p_0
+ %t297 = call ptr @sc_rc_retain_dyn(ptr %t296)
+ %t299 = icmp ne ptr %t297, null
+ br i1 %t299, label %dc.inspect119, label %dc.checked122
+dc.inspect119:
+ %t304 = getelementptr inbounds i8, ptr %t297, i64 8 ; ->kind
+ %t305 = load i32, ptr %t304
+ %t300 = icmp eq i32 %t305, 12
+ br i1 %t300, label %dc.capsule120, label %dc.checked122
+dc.capsule120:
+ %t301 = getelementptr inbounds i8, ptr %t297, i64 40 ; ->v.typed_ref.type_key
+ %t302 = load ptr, ptr %t301
+ %t303 = icmp eq ptr %t302, @sc_cs_4041255434968695
+ br i1 %t303, label %dc.exact121, label %dc.checked122
+dc.exact121:
+ %t306 = getelementptr inbounds i8, ptr %t297, i64 16 ; ->v.typed_ref.ptr
+ %t307 = load ptr, ptr %t306
+ %t308 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t307)
+ store ptr %t308, ptr %s298
+ br label %dc.done123
+dc.checked122:
+ %t309 = call ptr @sc_dc_101(ptr %t297, ptr null)
+ store ptr %t309, ptr %s298
+ %t310 = load i32, ptr %exc.cell
+ %t311 = icmp ne i32 %t310, 0
+ %t312 = call i1 @llvm.expect.i1(i1 %t311, i1 false)
+ br i1 %t312, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @scr_dyn_release(ptr %t297)
+ br label %exc.cleanup2
+exc.k125:
+ br label %dc.done123
+dc.done123:
+ %t313 = load ptr, ptr %s298
+ %t314 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest()
+ %t315 = load i32, ptr %exc.cell
+ %t316 = icmp ne i32 %t315, 0
+ %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false)
+ br i1 %t317, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @scr_dyn_release(ptr %t297)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ br label %exc.cleanup2
+exc.k127:
+ %t318 = call ptr @scr_dyn_obj_create(ptr %t314)
+ %t319 = load i32, ptr %exc.cell
+ %t320 = icmp ne i32 %t319, 0
+ %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false)
+ br i1 %t321, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @scr_dyn_release(ptr %t297)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ call void @scr_dyn_release(ptr %t318)
+ br label %exc.cleanup2
+exc.k129:
+ %t322 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t313, i64 0, i32 9
+ %t323 = load ptr, ptr %t322
+ store ptr %t318, ptr %t322, !tbaa !204
+ call void @scr_dyn_release(ptr %t323)
+ call void @scr_dyn_release(ptr %t297)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ br label %if.j118
+if.j118:
+ %t324 = load ptr, ptr %sc_l_p_0
+ %t325 = call ptr @sc_rc_retain_dyn(ptr %t324)
+ %t327 = icmp ne ptr %t325, null
+ br i1 %t327, label %dc.inspect130, label %dc.checked133
+dc.inspect130:
+ %t332 = getelementptr inbounds i8, ptr %t325, i64 8 ; ->kind
+ %t333 = load i32, ptr %t332
+ %t328 = icmp eq i32 %t333, 12
+ br i1 %t328, label %dc.capsule131, label %dc.checked133
+dc.capsule131:
+ %t329 = getelementptr inbounds i8, ptr %t325, i64 40 ; ->v.typed_ref.type_key
+ %t330 = load ptr, ptr %t329
+ %t331 = icmp eq ptr %t330, @sc_cs_4041255434968695
+ br i1 %t331, label %dc.exact132, label %dc.checked133
+dc.exact132:
+ %t334 = getelementptr inbounds i8, ptr %t325, i64 16 ; ->v.typed_ref.ptr
+ %t335 = load ptr, ptr %t334
+ %t336 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t335)
+ store ptr %t336, ptr %s326
+ br label %dc.done134
+dc.checked133:
+ %t337 = call ptr @sc_dc_101(ptr %t325, ptr null)
+ store ptr %t337, ptr %s326
+ %t338 = load i32, ptr %exc.cell
+ %t339 = icmp ne i32 %t338, 0
+ %t340 = call i1 @llvm.expect.i1(i1 %t339, i1 false)
+ br i1 %t340, label %exc.u135, label %exc.k136
+exc.u135:
+ call void @scr_dyn_release(ptr %t325)
+ br label %exc.cleanup2
+exc.k136:
+ br label %dc.done134
+dc.done134:
+ %t341 = load ptr, ptr %s326
+ %t342 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t341, i64 0, i32 9
+ %t343 = load ptr, ptr %t342, !tbaa !204
+ %t344 = call ptr @sc_rc_retain_dyn(ptr %t343)
+ call void @scr_dyn_release(ptr %t325)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t341)
+ %t345 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t345)
+ ret ptr %t344
+if.j109:
+ %t346 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s347
+ %t348 = icmp ne ptr %t346, null
+ br i1 %t348, label %brand.inspect137, label %brand.done139
+brand.inspect137:
+ %t349 = getelementptr inbounds i8, ptr %t346, i64 8 ; ->kind
+ %t350 = load i32, ptr %t349
+ %t351 = icmp eq i32 %t350, 12
+ br i1 %t351, label %brand.capsule138, label %brand.done139
+brand.capsule138:
+ %t352 = getelementptr inbounds i8, ptr %t346, i64 40 ; ->v.typed_ref.type_key
+ %t353 = load ptr, ptr %t352
+ %t354 = icmp eq ptr %t353, @sc_cs_3326437563644705
+ store i1 true, ptr %s347
+ br i1 %t354, label %brand.done139, label %brand.compare140
+brand.compare140:
+ %t355 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t346, ptr @sc_lit_3326437563644705)
+ store i1 %t355, ptr %s347
+ br label %brand.done139
+brand.done139:
+ %t356 = load i1, ptr %s347
+ br i1 %t356, label %if.t141, label %if.j142
+if.t141:
+ %t357 = load ptr, ptr %sc_l_p_0
+ %t358 = call ptr @sc_rc_retain_dyn(ptr %t357)
+ %t360 = icmp ne ptr %t358, null
+ br i1 %t360, label %dc.inspect143, label %dc.checked146
+dc.inspect143:
+ %t365 = getelementptr inbounds i8, ptr %t358, i64 8 ; ->kind
+ %t366 = load i32, ptr %t365
+ %t361 = icmp eq i32 %t366, 12
+ br i1 %t361, label %dc.capsule144, label %dc.checked146
+dc.capsule144:
+ %t362 = getelementptr inbounds i8, ptr %t358, i64 40 ; ->v.typed_ref.type_key
+ %t363 = load ptr, ptr %t362
+ %t364 = icmp eq ptr %t363, @sc_cs_3326437563644705
+ br i1 %t364, label %dc.exact145, label %dc.checked146
+dc.exact145:
+ %t367 = getelementptr inbounds i8, ptr %t358, i64 16 ; ->v.typed_ref.ptr
+ %t368 = load ptr, ptr %t367
+ %t369 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t368)
+ store ptr %t369, ptr %s359
+ br label %dc.done147
+dc.checked146:
+ %t370 = call ptr @sc_dc_102(ptr %t358, ptr null)
+ store ptr %t370, ptr %s359
+ %t371 = load i32, ptr %exc.cell
+ %t372 = icmp ne i32 %t371, 0
+ %t373 = call i1 @llvm.expect.i1(i1 %t372, i1 false)
+ br i1 %t373, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @scr_dyn_release(ptr %t358)
+ br label %exc.cleanup2
+exc.k149:
+ br label %dc.done147
+dc.done147:
+ %t374 = load ptr, ptr %s359
+ %t375 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t374, i64 0, i32 2
+ %t376 = load ptr, ptr %t375, !tbaa !204
+ %t377 = getelementptr inbounds i8, ptr %t376, i64 8 ; ->kind
+ %t378 = load i32, ptr %t377
+ %t379 = icmp eq i32 %t378, 6
+ call void @scr_dyn_release(ptr %t358)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t374)
+ br i1 %t379, label %if.t150, label %if.j151
+if.t150:
+ %t380 = load ptr, ptr %sc_l_p_0
+ %t381 = call ptr @sc_rc_retain_dyn(ptr %t380)
+ %t383 = icmp ne ptr %t381, null
+ br i1 %t383, label %dc.inspect152, label %dc.checked155
+dc.inspect152:
+ %t388 = getelementptr inbounds i8, ptr %t381, i64 8 ; ->kind
+ %t389 = load i32, ptr %t388
+ %t384 = icmp eq i32 %t389, 12
+ br i1 %t384, label %dc.capsule153, label %dc.checked155
+dc.capsule153:
+ %t385 = getelementptr inbounds i8, ptr %t381, i64 40 ; ->v.typed_ref.type_key
+ %t386 = load ptr, ptr %t385
+ %t387 = icmp eq ptr %t386, @sc_cs_3326437563644705
+ br i1 %t387, label %dc.exact154, label %dc.checked155
+dc.exact154:
+ %t390 = getelementptr inbounds i8, ptr %t381, i64 16 ; ->v.typed_ref.ptr
+ %t391 = load ptr, ptr %t390
+ %t392 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t391)
+ store ptr %t392, ptr %s382
+ br label %dc.done156
+dc.checked155:
+ %t393 = call ptr @sc_dc_102(ptr %t381, ptr null)
+ store ptr %t393, ptr %s382
+ %t394 = load i32, ptr %exc.cell
+ %t395 = icmp ne i32 %t394, 0
+ %t396 = call i1 @llvm.expect.i1(i1 %t395, i1 false)
+ br i1 %t396, label %exc.u157, label %exc.k158
+exc.u157:
+ call void @scr_dyn_release(ptr %t381)
+ br label %exc.cleanup2
+exc.k158:
+ br label %dc.done156
+dc.done156:
+ %t397 = load ptr, ptr %s382
+ %t398 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t399 = load i32, ptr %exc.cell
+ %t400 = icmp ne i32 %t399, 0
+ %t401 = call i1 @llvm.expect.i1(i1 %t400, i1 false)
+ br i1 %t401, label %exc.u159, label %exc.k160
+exc.u159:
+ call void @scr_dyn_release(ptr %t381)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t397)
+ call void @scr_dyn_release(ptr %t398)
+ br label %exc.cleanup2
+exc.k160:
+ %t402 = call ptr @scr_dyn_obj_create(ptr %t398)
+ %t403 = load i32, ptr %exc.cell
+ %t404 = icmp ne i32 %t403, 0
+ %t405 = call i1 @llvm.expect.i1(i1 %t404, i1 false)
+ br i1 %t405, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @scr_dyn_release(ptr %t381)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t397)
+ call void @scr_dyn_release(ptr %t398)
+ call void @scr_dyn_release(ptr %t402)
+ br label %exc.cleanup2
+exc.k162:
+ %t406 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t397, i64 0, i32 2
+ %t407 = load ptr, ptr %t406
+ store ptr %t402, ptr %t406, !tbaa !204
+ call void @scr_dyn_release(ptr %t407)
+ call void @scr_dyn_release(ptr %t381)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t397)
+ call void @scr_dyn_release(ptr %t398)
+ br label %if.j151
+if.j151:
+ %t408 = load ptr, ptr %sc_l_p_0
+ %t409 = call ptr @sc_rc_retain_dyn(ptr %t408)
+ %t411 = icmp ne ptr %t409, null
+ br i1 %t411, label %dc.inspect163, label %dc.checked166
+dc.inspect163:
+ %t416 = getelementptr inbounds i8, ptr %t409, i64 8 ; ->kind
+ %t417 = load i32, ptr %t416
+ %t412 = icmp eq i32 %t417, 12
+ br i1 %t412, label %dc.capsule164, label %dc.checked166
+dc.capsule164:
+ %t413 = getelementptr inbounds i8, ptr %t409, i64 40 ; ->v.typed_ref.type_key
+ %t414 = load ptr, ptr %t413
+ %t415 = icmp eq ptr %t414, @sc_cs_3326437563644705
+ br i1 %t415, label %dc.exact165, label %dc.checked166
+dc.exact165:
+ %t418 = getelementptr inbounds i8, ptr %t409, i64 16 ; ->v.typed_ref.ptr
+ %t419 = load ptr, ptr %t418
+ %t420 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t419)
+ store ptr %t420, ptr %s410
+ br label %dc.done167
+dc.checked166:
+ %t421 = call ptr @sc_dc_102(ptr %t409, ptr null)
+ store ptr %t421, ptr %s410
+ %t422 = load i32, ptr %exc.cell
+ %t423 = icmp ne i32 %t422, 0
+ %t424 = call i1 @llvm.expect.i1(i1 %t423, i1 false)
+ br i1 %t424, label %exc.u168, label %exc.k169
+exc.u168:
+ call void @scr_dyn_release(ptr %t409)
+ br label %exc.cleanup2
+exc.k169:
+ br label %dc.done167
+dc.done167:
+ %t425 = load ptr, ptr %s410
+ %t426 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t425, i64 0, i32 2
+ %t427 = load ptr, ptr %t426, !tbaa !204
+ %t428 = call ptr @sc_rc_retain_dyn(ptr %t427)
+ call void @scr_dyn_release(ptr %t409)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t425)
+ %t429 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t429)
+ ret ptr %t428
+if.j142:
+ %t430 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s431
+ %t432 = icmp ne ptr %t430, null
+ br i1 %t432, label %brand.inspect170, label %brand.done172
+brand.inspect170:
+ %t433 = getelementptr inbounds i8, ptr %t430, i64 8 ; ->kind
+ %t434 = load i32, ptr %t433
+ %t435 = icmp eq i32 %t434, 12
+ br i1 %t435, label %brand.capsule171, label %brand.done172
+brand.capsule171:
+ %t436 = getelementptr inbounds i8, ptr %t430, i64 40 ; ->v.typed_ref.type_key
+ %t437 = load ptr, ptr %t436
+ %t438 = icmp eq ptr %t437, @sc_cs_3870085012327510
+ store i1 true, ptr %s431
+ br i1 %t438, label %brand.done172, label %brand.compare173
+brand.compare173:
+ %t439 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t430, ptr @sc_lit_3870085012327510)
+ store i1 %t439, ptr %s431
+ br label %brand.done172
+brand.done172:
+ %t440 = load i1, ptr %s431
+ br i1 %t440, label %if.t174, label %if.j175
+if.t174:
+ %t441 = load ptr, ptr %sc_l_p_0
+ %t442 = call ptr @sc_rc_retain_dyn(ptr %t441)
+ %t444 = icmp ne ptr %t442, null
+ br i1 %t444, label %dc.inspect176, label %dc.checked179
+dc.inspect176:
+ %t449 = getelementptr inbounds i8, ptr %t442, i64 8 ; ->kind
+ %t450 = load i32, ptr %t449
+ %t445 = icmp eq i32 %t450, 12
+ br i1 %t445, label %dc.capsule177, label %dc.checked179
+dc.capsule177:
+ %t446 = getelementptr inbounds i8, ptr %t442, i64 40 ; ->v.typed_ref.type_key
+ %t447 = load ptr, ptr %t446
+ %t448 = icmp eq ptr %t447, @sc_cs_3870085012327510
+ br i1 %t448, label %dc.exact178, label %dc.checked179
+dc.exact178:
+ %t451 = getelementptr inbounds i8, ptr %t442, i64 16 ; ->v.typed_ref.ptr
+ %t452 = load ptr, ptr %t451
+ %t453 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t452)
+ store ptr %t453, ptr %s443
+ br label %dc.done180
+dc.checked179:
+ %t454 = call ptr @sc_dc_94(ptr %t442, ptr null)
+ store ptr %t454, ptr %s443
+ %t455 = load i32, ptr %exc.cell
+ %t456 = icmp ne i32 %t455, 0
+ %t457 = call i1 @llvm.expect.i1(i1 %t456, i1 false)
+ br i1 %t457, label %exc.u181, label %exc.k182
+exc.u181:
+ call void @scr_dyn_release(ptr %t442)
+ br label %exc.cleanup2
+exc.k182:
+ br label %dc.done180
+dc.done180:
+ %t458 = load ptr, ptr %s443
+ %t459 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t458, i64 0, i32 1
+ %t460 = load ptr, ptr %t459, !tbaa !204
+ %t461 = getelementptr inbounds i8, ptr %t460, i64 8 ; ->kind
+ %t462 = load i32, ptr %t461
+ %t463 = icmp eq i32 %t462, 6
+ call void @scr_dyn_release(ptr %t442)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t458)
+ br i1 %t463, label %if.t183, label %if.j184
+if.t183:
+ %t464 = load ptr, ptr %sc_l_p_0
+ %t465 = call ptr @sc_rc_retain_dyn(ptr %t464)
+ %t467 = icmp ne ptr %t465, null
+ br i1 %t467, label %dc.inspect185, label %dc.checked188
+dc.inspect185:
+ %t472 = getelementptr inbounds i8, ptr %t465, i64 8 ; ->kind
+ %t473 = load i32, ptr %t472
+ %t468 = icmp eq i32 %t473, 12
+ br i1 %t468, label %dc.capsule186, label %dc.checked188
+dc.capsule186:
+ %t469 = getelementptr inbounds i8, ptr %t465, i64 40 ; ->v.typed_ref.type_key
+ %t470 = load ptr, ptr %t469
+ %t471 = icmp eq ptr %t470, @sc_cs_3870085012327510
+ br i1 %t471, label %dc.exact187, label %dc.checked188
+dc.exact187:
+ %t474 = getelementptr inbounds i8, ptr %t465, i64 16 ; ->v.typed_ref.ptr
+ %t475 = load ptr, ptr %t474
+ %t476 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t475)
+ store ptr %t476, ptr %s466
+ br label %dc.done189
+dc.checked188:
+ %t477 = call ptr @sc_dc_94(ptr %t465, ptr null)
+ store ptr %t477, ptr %s466
+ %t478 = load i32, ptr %exc.cell
+ %t479 = icmp ne i32 %t478, 0
+ %t480 = call i1 @llvm.expect.i1(i1 %t479, i1 false)
+ br i1 %t480, label %exc.u190, label %exc.k191
+exc.u190:
+ call void @scr_dyn_release(ptr %t465)
+ br label %exc.cleanup2
+exc.k191:
+ br label %dc.done189
+dc.done189:
+ %t481 = load ptr, ptr %s466
+ %t482 = call ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch()
+ %t483 = load i32, ptr %exc.cell
+ %t484 = icmp ne i32 %t483, 0
+ %t485 = call i1 @llvm.expect.i1(i1 %t484, i1 false)
+ br i1 %t485, label %exc.u192, label %exc.k193
+exc.u192:
+ call void @scr_dyn_release(ptr %t465)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t481)
+ call void @scr_dyn_release(ptr %t482)
+ br label %exc.cleanup2
+exc.k193:
+ %t486 = call ptr @scr_dyn_obj_create(ptr %t482)
+ %t487 = load i32, ptr %exc.cell
+ %t488 = icmp ne i32 %t487, 0
+ %t489 = call i1 @llvm.expect.i1(i1 %t488, i1 false)
+ br i1 %t489, label %exc.u194, label %exc.k195
+exc.u194:
+ call void @scr_dyn_release(ptr %t465)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t481)
+ call void @scr_dyn_release(ptr %t482)
+ call void @scr_dyn_release(ptr %t486)
+ br label %exc.cleanup2
+exc.k195:
+ %t490 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t481, i64 0, i32 1
+ %t491 = load ptr, ptr %t490
+ store ptr %t486, ptr %t490, !tbaa !204
+ call void @scr_dyn_release(ptr %t491)
+ call void @scr_dyn_release(ptr %t465)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t481)
+ call void @scr_dyn_release(ptr %t482)
+ br label %if.j184
+if.j184:
+ %t492 = load ptr, ptr %sc_l_p_0
+ %t493 = call ptr @sc_rc_retain_dyn(ptr %t492)
+ %t495 = icmp ne ptr %t493, null
+ br i1 %t495, label %dc.inspect196, label %dc.checked199
+dc.inspect196:
+ %t500 = getelementptr inbounds i8, ptr %t493, i64 8 ; ->kind
+ %t501 = load i32, ptr %t500
+ %t496 = icmp eq i32 %t501, 12
+ br i1 %t496, label %dc.capsule197, label %dc.checked199
+dc.capsule197:
+ %t497 = getelementptr inbounds i8, ptr %t493, i64 40 ; ->v.typed_ref.type_key
+ %t498 = load ptr, ptr %t497
+ %t499 = icmp eq ptr %t498, @sc_cs_3870085012327510
+ br i1 %t499, label %dc.exact198, label %dc.checked199
+dc.exact198:
+ %t502 = getelementptr inbounds i8, ptr %t493, i64 16 ; ->v.typed_ref.ptr
+ %t503 = load ptr, ptr %t502
+ %t504 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t503)
+ store ptr %t504, ptr %s494
+ br label %dc.done200
+dc.checked199:
+ %t505 = call ptr @sc_dc_94(ptr %t493, ptr null)
+ store ptr %t505, ptr %s494
+ %t506 = load i32, ptr %exc.cell
+ %t507 = icmp ne i32 %t506, 0
+ %t508 = call i1 @llvm.expect.i1(i1 %t507, i1 false)
+ br i1 %t508, label %exc.u201, label %exc.k202
+exc.u201:
+ call void @scr_dyn_release(ptr %t493)
+ br label %exc.cleanup2
+exc.k202:
+ br label %dc.done200
+dc.done200:
+ %t509 = load ptr, ptr %s494
+ %t510 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t509, i64 0, i32 1
+ %t511 = load ptr, ptr %t510, !tbaa !204
+ %t512 = call ptr @sc_rc_retain_dyn(ptr %t511)
+ call void @scr_dyn_release(ptr %t493)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t509)
+ %t513 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t513)
+ ret ptr %t512
+if.j175:
+ %t514 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s515
+ %t516 = icmp ne ptr %t514, null
+ br i1 %t516, label %brand.inspect203, label %brand.done205
+brand.inspect203:
+ %t517 = getelementptr inbounds i8, ptr %t514, i64 8 ; ->kind
+ %t518 = load i32, ptr %t517
+ %t519 = icmp eq i32 %t518, 12
+ br i1 %t519, label %brand.capsule204, label %brand.done205
+brand.capsule204:
+ %t520 = getelementptr inbounds i8, ptr %t514, i64 40 ; ->v.typed_ref.type_key
+ %t521 = load ptr, ptr %t520
+ %t522 = icmp eq ptr %t521, @sc_cs_2798802470260116
+ store i1 true, ptr %s515
+ br i1 %t522, label %brand.done205, label %brand.compare206
+brand.compare206:
+ %t523 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t514, ptr @sc_lit_2798802470260116)
+ store i1 %t523, ptr %s515
+ br label %brand.done205
+brand.done205:
+ %t524 = load i1, ptr %s515
+ br i1 %t524, label %if.t207, label %if.j208
+if.t207:
+ %t525 = load ptr, ptr %sc_l_p_0
+ %t526 = call ptr @sc_rc_retain_dyn(ptr %t525)
+ %t528 = icmp ne ptr %t526, null
+ br i1 %t528, label %dc.inspect209, label %dc.checked212
+dc.inspect209:
+ %t533 = getelementptr inbounds i8, ptr %t526, i64 8 ; ->kind
+ %t534 = load i32, ptr %t533
+ %t529 = icmp eq i32 %t534, 12
+ br i1 %t529, label %dc.capsule210, label %dc.checked212
+dc.capsule210:
+ %t530 = getelementptr inbounds i8, ptr %t526, i64 40 ; ->v.typed_ref.type_key
+ %t531 = load ptr, ptr %t530
+ %t532 = icmp eq ptr %t531, @sc_cs_2798802470260116
+ br i1 %t532, label %dc.exact211, label %dc.checked212
+dc.exact211:
+ %t535 = getelementptr inbounds i8, ptr %t526, i64 16 ; ->v.typed_ref.ptr
+ %t536 = load ptr, ptr %t535
+ %t537 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t536)
+ store ptr %t537, ptr %s527
+ br label %dc.done213
+dc.checked212:
+ %t538 = call ptr @sc_dc_93(ptr %t526, ptr null)
+ store ptr %t538, ptr %s527
+ %t539 = load i32, ptr %exc.cell
+ %t540 = icmp ne i32 %t539, 0
+ %t541 = call i1 @llvm.expect.i1(i1 %t540, i1 false)
+ br i1 %t541, label %exc.u214, label %exc.k215
+exc.u214:
+ call void @scr_dyn_release(ptr %t526)
+ br label %exc.cleanup2
+exc.k215:
+ br label %dc.done213
+dc.done213:
+ %t542 = load ptr, ptr %s527
+ %t543 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t542, i64 0, i32 2
+ %t544 = load ptr, ptr %t543, !tbaa !204
+ %t545 = getelementptr inbounds i8, ptr %t544, i64 8 ; ->kind
+ %t546 = load i32, ptr %t545
+ %t547 = icmp eq i32 %t546, 6
+ call void @scr_dyn_release(ptr %t526)
+ call void @sc_release__x25_m0_GenFetch(ptr %t542)
+ br i1 %t547, label %if.t216, label %if.j217
+if.t216:
+ %t548 = load ptr, ptr %sc_l_p_0
+ %t549 = call ptr @sc_rc_retain_dyn(ptr %t548)
+ %t551 = icmp ne ptr %t549, null
+ br i1 %t551, label %dc.inspect218, label %dc.checked221
+dc.inspect218:
+ %t556 = getelementptr inbounds i8, ptr %t549, i64 8 ; ->kind
+ %t557 = load i32, ptr %t556
+ %t552 = icmp eq i32 %t557, 12
+ br i1 %t552, label %dc.capsule219, label %dc.checked221
+dc.capsule219:
+ %t553 = getelementptr inbounds i8, ptr %t549, i64 40 ; ->v.typed_ref.type_key
+ %t554 = load ptr, ptr %t553
+ %t555 = icmp eq ptr %t554, @sc_cs_2798802470260116
+ br i1 %t555, label %dc.exact220, label %dc.checked221
+dc.exact220:
+ %t558 = getelementptr inbounds i8, ptr %t549, i64 16 ; ->v.typed_ref.ptr
+ %t559 = load ptr, ptr %t558
+ %t560 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t559)
+ store ptr %t560, ptr %s550
+ br label %dc.done222
+dc.checked221:
+ %t561 = call ptr @sc_dc_93(ptr %t549, ptr null)
+ store ptr %t561, ptr %s550
+ %t562 = load i32, ptr %exc.cell
+ %t563 = icmp ne i32 %t562, 0
+ %t564 = call i1 @llvm.expect.i1(i1 %t563, i1 false)
+ br i1 %t564, label %exc.u223, label %exc.k224
+exc.u223:
+ call void @scr_dyn_release(ptr %t549)
+ br label %exc.cleanup2
+exc.k224:
+ br label %dc.done222
+dc.done222:
+ %t565 = load ptr, ptr %s550
+ %t566 = call ptr @sc_f__x25_prototype_data__x25_m0_GenFetch()
+ %t567 = load i32, ptr %exc.cell
+ %t568 = icmp ne i32 %t567, 0
+ %t569 = call i1 @llvm.expect.i1(i1 %t568, i1 false)
+ br i1 %t569, label %exc.u225, label %exc.k226
+exc.u225:
+ call void @scr_dyn_release(ptr %t549)
+ call void @sc_release__x25_m0_GenFetch(ptr %t565)
+ call void @scr_dyn_release(ptr %t566)
+ br label %exc.cleanup2
+exc.k226:
+ %t570 = call ptr @scr_dyn_obj_create(ptr %t566)
+ %t571 = load i32, ptr %exc.cell
+ %t572 = icmp ne i32 %t571, 0
+ %t573 = call i1 @llvm.expect.i1(i1 %t572, i1 false)
+ br i1 %t573, label %exc.u227, label %exc.k228
+exc.u227:
+ call void @scr_dyn_release(ptr %t549)
+ call void @sc_release__x25_m0_GenFetch(ptr %t565)
+ call void @scr_dyn_release(ptr %t566)
+ call void @scr_dyn_release(ptr %t570)
+ br label %exc.cleanup2
+exc.k228:
+ %t574 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t565, i64 0, i32 2
+ %t575 = load ptr, ptr %t574
+ store ptr %t570, ptr %t574, !tbaa !204
+ call void @scr_dyn_release(ptr %t575)
+ call void @scr_dyn_release(ptr %t549)
+ call void @sc_release__x25_m0_GenFetch(ptr %t565)
+ call void @scr_dyn_release(ptr %t566)
+ br label %if.j217
+if.j217:
+ %t576 = load ptr, ptr %sc_l_p_0
+ %t577 = call ptr @sc_rc_retain_dyn(ptr %t576)
+ %t579 = icmp ne ptr %t577, null
+ br i1 %t579, label %dc.inspect229, label %dc.checked232
+dc.inspect229:
+ %t584 = getelementptr inbounds i8, ptr %t577, i64 8 ; ->kind
+ %t585 = load i32, ptr %t584
+ %t580 = icmp eq i32 %t585, 12
+ br i1 %t580, label %dc.capsule230, label %dc.checked232
+dc.capsule230:
+ %t581 = getelementptr inbounds i8, ptr %t577, i64 40 ; ->v.typed_ref.type_key
+ %t582 = load ptr, ptr %t581
+ %t583 = icmp eq ptr %t582, @sc_cs_2798802470260116
+ br i1 %t583, label %dc.exact231, label %dc.checked232
+dc.exact231:
+ %t586 = getelementptr inbounds i8, ptr %t577, i64 16 ; ->v.typed_ref.ptr
+ %t587 = load ptr, ptr %t586
+ %t588 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t587)
+ store ptr %t588, ptr %s578
+ br label %dc.done233
+dc.checked232:
+ %t589 = call ptr @sc_dc_93(ptr %t577, ptr null)
+ store ptr %t589, ptr %s578
+ %t590 = load i32, ptr %exc.cell
+ %t591 = icmp ne i32 %t590, 0
+ %t592 = call i1 @llvm.expect.i1(i1 %t591, i1 false)
+ br i1 %t592, label %exc.u234, label %exc.k235
+exc.u234:
+ call void @scr_dyn_release(ptr %t577)
+ br label %exc.cleanup2
+exc.k235:
+ br label %dc.done233
+dc.done233:
+ %t593 = load ptr, ptr %s578
+ %t594 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t593, i64 0, i32 2
+ %t595 = load ptr, ptr %t594, !tbaa !204
+ %t596 = call ptr @sc_rc_retain_dyn(ptr %t595)
+ call void @scr_dyn_release(ptr %t577)
+ call void @sc_release__x25_m0_GenFetch(ptr %t593)
+ %t597 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t597)
+ ret ptr %t596
+if.j208:
+ %t598 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s599
+ %t600 = icmp ne ptr %t598, null
+ br i1 %t600, label %brand.inspect236, label %brand.done238
+brand.inspect236:
+ %t601 = getelementptr inbounds i8, ptr %t598, i64 8 ; ->kind
+ %t602 = load i32, ptr %t601
+ %t603 = icmp eq i32 %t602, 12
+ br i1 %t603, label %brand.capsule237, label %brand.done238
+brand.capsule237:
+ %t604 = getelementptr inbounds i8, ptr %t598, i64 40 ; ->v.typed_ref.type_key
+ %t605 = load ptr, ptr %t604
+ %t606 = icmp eq ptr %t605, @sc_cs_2165660704272757
+ store i1 true, ptr %s599
+ br i1 %t606, label %brand.done238, label %brand.compare239
+brand.compare239:
+ %t607 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t598, ptr @sc_lit_2165660704272757)
+ store i1 %t607, ptr %s599
+ br label %brand.done238
+brand.done238:
+ %t608 = load i1, ptr %s599
+ br i1 %t608, label %if.t240, label %if.j241
+if.t240:
+ %t609 = load ptr, ptr %sc_l_p_0
+ %t610 = call ptr @sc_rc_retain_dyn(ptr %t609)
+ %t612 = icmp ne ptr %t610, null
+ br i1 %t612, label %dc.inspect242, label %dc.checked245
+dc.inspect242:
+ %t617 = getelementptr inbounds i8, ptr %t610, i64 8 ; ->kind
+ %t618 = load i32, ptr %t617
+ %t613 = icmp eq i32 %t618, 12
+ br i1 %t613, label %dc.capsule243, label %dc.checked245
+dc.capsule243:
+ %t614 = getelementptr inbounds i8, ptr %t610, i64 40 ; ->v.typed_ref.type_key
+ %t615 = load ptr, ptr %t614
+ %t616 = icmp eq ptr %t615, @sc_cs_2165660704272757
+ br i1 %t616, label %dc.exact244, label %dc.checked245
+dc.exact244:
+ %t619 = getelementptr inbounds i8, ptr %t610, i64 16 ; ->v.typed_ref.ptr
+ %t620 = load ptr, ptr %t619
+ %t621 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t620)
+ store ptr %t621, ptr %s611
+ br label %dc.done246
+dc.checked245:
+ %t622 = call ptr @sc_dc_92(ptr %t610, ptr null)
+ store ptr %t622, ptr %s611
+ %t623 = load i32, ptr %exc.cell
+ %t624 = icmp ne i32 %t623, 0
+ %t625 = call i1 @llvm.expect.i1(i1 %t624, i1 false)
+ br i1 %t625, label %exc.u247, label %exc.k248
+exc.u247:
+ call void @scr_dyn_release(ptr %t610)
+ br label %exc.cleanup2
+exc.k248:
+ br label %dc.done246
+dc.done246:
+ %t626 = load ptr, ptr %s611
+ %t627 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t626, i64 0, i32 2
+ %t628 = load ptr, ptr %t627, !tbaa !204
+ %t629 = getelementptr inbounds i8, ptr %t628, i64 8 ; ->kind
+ %t630 = load i32, ptr %t629
+ %t631 = icmp eq i32 %t630, 6
+ call void @scr_dyn_release(ptr %t610)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t626)
+ br i1 %t631, label %if.t249, label %if.j250
+if.t249:
+ %t632 = load ptr, ptr %sc_l_p_0
+ %t633 = call ptr @sc_rc_retain_dyn(ptr %t632)
+ %t635 = icmp ne ptr %t633, null
+ br i1 %t635, label %dc.inspect251, label %dc.checked254
+dc.inspect251:
+ %t640 = getelementptr inbounds i8, ptr %t633, i64 8 ; ->kind
+ %t641 = load i32, ptr %t640
+ %t636 = icmp eq i32 %t641, 12
+ br i1 %t636, label %dc.capsule252, label %dc.checked254
+dc.capsule252:
+ %t637 = getelementptr inbounds i8, ptr %t633, i64 40 ; ->v.typed_ref.type_key
+ %t638 = load ptr, ptr %t637
+ %t639 = icmp eq ptr %t638, @sc_cs_2165660704272757
+ br i1 %t639, label %dc.exact253, label %dc.checked254
+dc.exact253:
+ %t642 = getelementptr inbounds i8, ptr %t633, i64 16 ; ->v.typed_ref.ptr
+ %t643 = load ptr, ptr %t642
+ %t644 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t643)
+ store ptr %t644, ptr %s634
+ br label %dc.done255
+dc.checked254:
+ %t645 = call ptr @sc_dc_92(ptr %t633, ptr null)
+ store ptr %t645, ptr %s634
+ %t646 = load i32, ptr %exc.cell
+ %t647 = icmp ne i32 %t646, 0
+ %t648 = call i1 @llvm.expect.i1(i1 %t647, i1 false)
+ br i1 %t648, label %exc.u256, label %exc.k257
+exc.u256:
+ call void @scr_dyn_release(ptr %t633)
+ br label %exc.cleanup2
+exc.k257:
+ br label %dc.done255
+dc.done255:
+ %t649 = load ptr, ptr %s634
+ %t650 = call ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch()
+ %t651 = load i32, ptr %exc.cell
+ %t652 = icmp ne i32 %t651, 0
+ %t653 = call i1 @llvm.expect.i1(i1 %t652, i1 false)
+ br i1 %t653, label %exc.u258, label %exc.k259
+exc.u258:
+ call void @scr_dyn_release(ptr %t633)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t649)
+ call void @scr_dyn_release(ptr %t650)
+ br label %exc.cleanup2
+exc.k259:
+ %t654 = call ptr @scr_dyn_obj_create(ptr %t650)
+ %t655 = load i32, ptr %exc.cell
+ %t656 = icmp ne i32 %t655, 0
+ %t657 = call i1 @llvm.expect.i1(i1 %t656, i1 false)
+ br i1 %t657, label %exc.u260, label %exc.k261
+exc.u260:
+ call void @scr_dyn_release(ptr %t633)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t649)
+ call void @scr_dyn_release(ptr %t650)
+ call void @scr_dyn_release(ptr %t654)
+ br label %exc.cleanup2
+exc.k261:
+ %t658 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t649, i64 0, i32 2
+ %t659 = load ptr, ptr %t658
+ store ptr %t654, ptr %t658, !tbaa !204
+ call void @scr_dyn_release(ptr %t659)
+ call void @scr_dyn_release(ptr %t633)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t649)
+ call void @scr_dyn_release(ptr %t650)
+ br label %if.j250
+if.j250:
+ %t660 = load ptr, ptr %sc_l_p_0
+ %t661 = call ptr @sc_rc_retain_dyn(ptr %t660)
+ %t663 = icmp ne ptr %t661, null
+ br i1 %t663, label %dc.inspect262, label %dc.checked265
+dc.inspect262:
+ %t668 = getelementptr inbounds i8, ptr %t661, i64 8 ; ->kind
+ %t669 = load i32, ptr %t668
+ %t664 = icmp eq i32 %t669, 12
+ br i1 %t664, label %dc.capsule263, label %dc.checked265
+dc.capsule263:
+ %t665 = getelementptr inbounds i8, ptr %t661, i64 40 ; ->v.typed_ref.type_key
+ %t666 = load ptr, ptr %t665
+ %t667 = icmp eq ptr %t666, @sc_cs_2165660704272757
+ br i1 %t667, label %dc.exact264, label %dc.checked265
+dc.exact264:
+ %t670 = getelementptr inbounds i8, ptr %t661, i64 16 ; ->v.typed_ref.ptr
+ %t671 = load ptr, ptr %t670
+ %t672 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t671)
+ store ptr %t672, ptr %s662
+ br label %dc.done266
+dc.checked265:
+ %t673 = call ptr @sc_dc_92(ptr %t661, ptr null)
+ store ptr %t673, ptr %s662
+ %t674 = load i32, ptr %exc.cell
+ %t675 = icmp ne i32 %t674, 0
+ %t676 = call i1 @llvm.expect.i1(i1 %t675, i1 false)
+ br i1 %t676, label %exc.u267, label %exc.k268
+exc.u267:
+ call void @scr_dyn_release(ptr %t661)
+ br label %exc.cleanup2
+exc.k268:
+ br label %dc.done266
+dc.done266:
+ %t677 = load ptr, ptr %s662
+ %t678 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t677, i64 0, i32 2
+ %t679 = load ptr, ptr %t678, !tbaa !204
+ %t680 = call ptr @sc_rc_retain_dyn(ptr %t679)
+ call void @scr_dyn_release(ptr %t661)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t677)
+ %t681 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t681)
+ ret ptr %t680
+if.j241:
+ %t682 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s683
+ %t684 = icmp ne ptr %t682, null
+ br i1 %t684, label %brand.inspect269, label %brand.done271
+brand.inspect269:
+ %t685 = getelementptr inbounds i8, ptr %t682, i64 8 ; ->kind
+ %t686 = load i32, ptr %t685
+ %t687 = icmp eq i32 %t686, 12
+ br i1 %t687, label %brand.capsule270, label %brand.done271
+brand.capsule270:
+ %t688 = getelementptr inbounds i8, ptr %t682, i64 40 ; ->v.typed_ref.type_key
+ %t689 = load ptr, ptr %t688
+ %t690 = icmp eq ptr %t689, @sc_cs_2072202777142634
+ store i1 true, ptr %s683
+ br i1 %t690, label %brand.done271, label %brand.compare272
+brand.compare272:
+ %t691 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t682, ptr @sc_lit_2072202777142634)
+ store i1 %t691, ptr %s683
+ br label %brand.done271
+brand.done271:
+ %t692 = load i1, ptr %s683
+ br i1 %t692, label %tern.t273, label %tern.f274
+tern.t273:
+ %t694 = load ptr, ptr %sc_l_p_0
+ %t695 = call ptr @sc_rc_retain_dyn(ptr %t694)
+ %t697 = icmp ne ptr %t695, null
+ br i1 %t697, label %dc.inspect276, label %dc.checked279
+dc.inspect276:
+ %t702 = getelementptr inbounds i8, ptr %t695, i64 8 ; ->kind
+ %t703 = load i32, ptr %t702
+ %t698 = icmp eq i32 %t703, 12
+ br i1 %t698, label %dc.capsule277, label %dc.checked279
+dc.capsule277:
+ %t699 = getelementptr inbounds i8, ptr %t695, i64 40 ; ->v.typed_ref.type_key
+ %t700 = load ptr, ptr %t699
+ %t701 = icmp eq ptr %t700, @sc_cs_2072202777142634
+ br i1 %t701, label %dc.exact278, label %dc.checked279
+dc.exact278:
+ %t704 = getelementptr inbounds i8, ptr %t695, i64 16 ; ->v.typed_ref.ptr
+ %t705 = load ptr, ptr %t704
+ %t706 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t705)
+ store ptr %t706, ptr %s696
+ br label %dc.done280
+dc.checked279:
+ %t707 = call ptr @sc_dc_26(ptr %t695, ptr null)
+ store ptr %t707, ptr %s696
+ %t708 = load i32, ptr %exc.cell
+ %t709 = icmp ne i32 %t708, 0
+ %t710 = call i1 @llvm.expect.i1(i1 %t709, i1 false)
+ br i1 %t710, label %exc.u281, label %exc.k282
+exc.u281:
+ call void @scr_dyn_release(ptr %t695)
+ br label %exc.cleanup2
+exc.k282:
+ br label %dc.done280
+dc.done280:
+ %t711 = load ptr, ptr %s696
+ %t712 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t711, i64 0, i32 1
+ %t713 = load ptr, ptr %t712
+ %t714 = getelementptr inbounds %ScrVt, ptr %t713, i64 0, i32 0
+ %t715 = load i64, ptr %t714
+ %t716 = icmp uge i64 %t715, 23
+ %t717 = icmp ule i64 %t715, 23
+ %t718 = and i1 %t716, %t717 ; instanceof %m4.MemoryFileSink
+ store i1 %t718, ptr %s693
+ call void @scr_dyn_release(ptr %t695)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t711)
+ br label %tern.j275
+tern.f274:
+ store i1 false, ptr %s693
+ br label %tern.j275
+tern.j275:
+ %t719 = load i1, ptr %s693
+ br i1 %t719, label %if.t283, label %if.j284
+if.t283:
+ %t720 = load ptr, ptr %sc_l_p_0
+ %t721 = call ptr @sc_rc_retain_dyn(ptr %t720)
+ %t723 = icmp ne ptr %t721, null
+ br i1 %t723, label %dc.inspect285, label %dc.checked288
+dc.inspect285:
+ %t728 = getelementptr inbounds i8, ptr %t721, i64 8 ; ->kind
+ %t729 = load i32, ptr %t728
+ %t724 = icmp eq i32 %t729, 12
+ br i1 %t724, label %dc.capsule286, label %dc.checked288
+dc.capsule286:
+ %t725 = getelementptr inbounds i8, ptr %t721, i64 40 ; ->v.typed_ref.type_key
+ %t726 = load ptr, ptr %t725
+ %t727 = icmp eq ptr %t726, @sc_cs_2072202777142634
+ br i1 %t727, label %dc.exact287, label %dc.checked288
+dc.exact287:
+ %t730 = getelementptr inbounds i8, ptr %t721, i64 16 ; ->v.typed_ref.ptr
+ %t731 = load ptr, ptr %t730
+ %t732 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t731)
+ store ptr %t732, ptr %s722
+ br label %dc.done289
+dc.checked288:
+ %t733 = call ptr @sc_dc_26(ptr %t721, ptr null)
+ store ptr %t733, ptr %s722
+ %t734 = load i32, ptr %exc.cell
+ %t735 = icmp ne i32 %t734, 0
+ %t736 = call i1 @llvm.expect.i1(i1 %t735, i1 false)
+ br i1 %t736, label %exc.u290, label %exc.k291
+exc.u290:
+ call void @scr_dyn_release(ptr %t721)
+ br label %exc.cleanup2
+exc.k291:
+ br label %dc.done289
+dc.done289:
+ %t737 = load ptr, ptr %s722
+ %t738 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t737, i64 0, i32 2
+ %t739 = load ptr, ptr %t738, !tbaa !204
+ %t740 = getelementptr inbounds i8, ptr %t739, i64 8 ; ->kind
+ %t741 = load i32, ptr %t740
+ %t742 = icmp eq i32 %t741, 6
+ call void @scr_dyn_release(ptr %t721)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t737)
+ br i1 %t742, label %if.t292, label %if.j293
+if.t292:
+ %t743 = load ptr, ptr %sc_l_p_0
+ %t744 = call ptr @sc_rc_retain_dyn(ptr %t743)
+ %t746 = icmp ne ptr %t744, null
+ br i1 %t746, label %dc.inspect294, label %dc.checked297
+dc.inspect294:
+ %t751 = getelementptr inbounds i8, ptr %t744, i64 8 ; ->kind
+ %t752 = load i32, ptr %t751
+ %t747 = icmp eq i32 %t752, 12
+ br i1 %t747, label %dc.capsule295, label %dc.checked297
+dc.capsule295:
+ %t748 = getelementptr inbounds i8, ptr %t744, i64 40 ; ->v.typed_ref.type_key
+ %t749 = load ptr, ptr %t748
+ %t750 = icmp eq ptr %t749, @sc_cs_2072202777142634
+ br i1 %t750, label %dc.exact296, label %dc.checked297
+dc.exact296:
+ %t753 = getelementptr inbounds i8, ptr %t744, i64 16 ; ->v.typed_ref.ptr
+ %t754 = load ptr, ptr %t753
+ %t755 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t754)
+ store ptr %t755, ptr %s745
+ br label %dc.done298
+dc.checked297:
+ %t756 = call ptr @sc_dc_26(ptr %t744, ptr null)
+ store ptr %t756, ptr %s745
+ %t757 = load i32, ptr %exc.cell
+ %t758 = icmp ne i32 %t757, 0
+ %t759 = call i1 @llvm.expect.i1(i1 %t758, i1 false)
+ br i1 %t759, label %exc.u299, label %exc.k300
+exc.u299:
+ call void @scr_dyn_release(ptr %t744)
+ br label %exc.cleanup2
+exc.k300:
+ br label %dc.done298
+dc.done298:
+ %t760 = load ptr, ptr %s745
+ %t761 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t762 = load i32, ptr %exc.cell
+ %t763 = icmp ne i32 %t762, 0
+ %t764 = call i1 @llvm.expect.i1(i1 %t763, i1 false)
+ br i1 %t764, label %exc.u301, label %exc.k302
+exc.u301:
+ call void @scr_dyn_release(ptr %t744)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t760)
+ call void @scr_dyn_release(ptr %t761)
+ br label %exc.cleanup2
+exc.k302:
+ %t765 = call ptr @scr_dyn_obj_create(ptr %t761)
+ %t766 = load i32, ptr %exc.cell
+ %t767 = icmp ne i32 %t766, 0
+ %t768 = call i1 @llvm.expect.i1(i1 %t767, i1 false)
+ br i1 %t768, label %exc.u303, label %exc.k304
+exc.u303:
+ call void @scr_dyn_release(ptr %t744)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t760)
+ call void @scr_dyn_release(ptr %t761)
+ call void @scr_dyn_release(ptr %t765)
+ br label %exc.cleanup2
+exc.k304:
+ %t769 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t760, i64 0, i32 2
+ %t770 = load ptr, ptr %t769
+ store ptr %t765, ptr %t769, !tbaa !204
+ call void @scr_dyn_release(ptr %t770)
+ call void @scr_dyn_release(ptr %t744)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t760)
+ call void @scr_dyn_release(ptr %t761)
+ br label %if.j293
+if.j293:
+ %t771 = load ptr, ptr %sc_l_p_0
+ %t772 = call ptr @sc_rc_retain_dyn(ptr %t771)
+ %t774 = icmp ne ptr %t772, null
+ br i1 %t774, label %dc.inspect305, label %dc.checked308
+dc.inspect305:
+ %t779 = getelementptr inbounds i8, ptr %t772, i64 8 ; ->kind
+ %t780 = load i32, ptr %t779
+ %t775 = icmp eq i32 %t780, 12
+ br i1 %t775, label %dc.capsule306, label %dc.checked308
+dc.capsule306:
+ %t776 = getelementptr inbounds i8, ptr %t772, i64 40 ; ->v.typed_ref.type_key
+ %t777 = load ptr, ptr %t776
+ %t778 = icmp eq ptr %t777, @sc_cs_2072202777142634
+ br i1 %t778, label %dc.exact307, label %dc.checked308
+dc.exact307:
+ %t781 = getelementptr inbounds i8, ptr %t772, i64 16 ; ->v.typed_ref.ptr
+ %t782 = load ptr, ptr %t781
+ %t783 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t782)
+ store ptr %t783, ptr %s773
+ br label %dc.done309
+dc.checked308:
+ %t784 = call ptr @sc_dc_26(ptr %t772, ptr null)
+ store ptr %t784, ptr %s773
+ %t785 = load i32, ptr %exc.cell
+ %t786 = icmp ne i32 %t785, 0
+ %t787 = call i1 @llvm.expect.i1(i1 %t786, i1 false)
+ br i1 %t787, label %exc.u310, label %exc.k311
+exc.u310:
+ call void @scr_dyn_release(ptr %t772)
+ br label %exc.cleanup2
+exc.k311:
+ br label %dc.done309
+dc.done309:
+ %t788 = load ptr, ptr %s773
+ %t789 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t788, i64 0, i32 2
+ %t790 = load ptr, ptr %t789, !tbaa !204
+ %t791 = call ptr @sc_rc_retain_dyn(ptr %t790)
+ call void @scr_dyn_release(ptr %t772)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t788)
+ %t792 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t792)
+ ret ptr %t791
+if.j284:
+ %t793 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s794
+ %t795 = icmp ne ptr %t793, null
+ br i1 %t795, label %brand.inspect312, label %brand.done314
+brand.inspect312:
+ %t796 = getelementptr inbounds i8, ptr %t793, i64 8 ; ->kind
+ %t797 = load i32, ptr %t796
+ %t798 = icmp eq i32 %t797, 12
+ br i1 %t798, label %brand.capsule313, label %brand.done314
+brand.capsule313:
+ %t799 = getelementptr inbounds i8, ptr %t793, i64 40 ; ->v.typed_ref.type_key
+ %t800 = load ptr, ptr %t799
+ %t801 = icmp eq ptr %t800, @sc_cs_2072202777142634
+ store i1 true, ptr %s794
+ br i1 %t801, label %brand.done314, label %brand.compare315
+brand.compare315:
+ %t802 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t793, ptr @sc_lit_2072202777142634)
+ store i1 %t802, ptr %s794
+ br label %brand.done314
+brand.done314:
+ %t803 = load i1, ptr %s794
+ br i1 %t803, label %if.t316, label %if.j317
+if.t316:
+ %t804 = load ptr, ptr %sc_l_p_0
+ %t805 = call ptr @sc_rc_retain_dyn(ptr %t804)
+ %t807 = icmp ne ptr %t805, null
+ br i1 %t807, label %dc.inspect318, label %dc.checked321
+dc.inspect318:
+ %t812 = getelementptr inbounds i8, ptr %t805, i64 8 ; ->kind
+ %t813 = load i32, ptr %t812
+ %t808 = icmp eq i32 %t813, 12
+ br i1 %t808, label %dc.capsule319, label %dc.checked321
+dc.capsule319:
+ %t809 = getelementptr inbounds i8, ptr %t805, i64 40 ; ->v.typed_ref.type_key
+ %t810 = load ptr, ptr %t809
+ %t811 = icmp eq ptr %t810, @sc_cs_2072202777142634
+ br i1 %t811, label %dc.exact320, label %dc.checked321
+dc.exact320:
+ %t814 = getelementptr inbounds i8, ptr %t805, i64 16 ; ->v.typed_ref.ptr
+ %t815 = load ptr, ptr %t814
+ %t816 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t815)
+ store ptr %t816, ptr %s806
+ br label %dc.done322
+dc.checked321:
+ %t817 = call ptr @sc_dc_26(ptr %t805, ptr null)
+ store ptr %t817, ptr %s806
+ %t818 = load i32, ptr %exc.cell
+ %t819 = icmp ne i32 %t818, 0
+ %t820 = call i1 @llvm.expect.i1(i1 %t819, i1 false)
+ br i1 %t820, label %exc.u323, label %exc.k324
+exc.u323:
+ call void @scr_dyn_release(ptr %t805)
+ br label %exc.cleanup2
+exc.k324:
+ br label %dc.done322
+dc.done322:
+ %t821 = load ptr, ptr %s806
+ %t822 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t821, i64 0, i32 2
+ %t823 = load ptr, ptr %t822, !tbaa !204
+ %t824 = getelementptr inbounds i8, ptr %t823, i64 8 ; ->kind
+ %t825 = load i32, ptr %t824
+ %t826 = icmp eq i32 %t825, 6
+ call void @scr_dyn_release(ptr %t805)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t821)
+ br i1 %t826, label %if.t325, label %if.j326
+if.t325:
+ %t827 = load ptr, ptr %sc_l_p_0
+ %t828 = call ptr @sc_rc_retain_dyn(ptr %t827)
+ %t830 = icmp ne ptr %t828, null
+ br i1 %t830, label %dc.inspect327, label %dc.checked330
+dc.inspect327:
+ %t835 = getelementptr inbounds i8, ptr %t828, i64 8 ; ->kind
+ %t836 = load i32, ptr %t835
+ %t831 = icmp eq i32 %t836, 12
+ br i1 %t831, label %dc.capsule328, label %dc.checked330
+dc.capsule328:
+ %t832 = getelementptr inbounds i8, ptr %t828, i64 40 ; ->v.typed_ref.type_key
+ %t833 = load ptr, ptr %t832
+ %t834 = icmp eq ptr %t833, @sc_cs_2072202777142634
+ br i1 %t834, label %dc.exact329, label %dc.checked330
+dc.exact329:
+ %t837 = getelementptr inbounds i8, ptr %t828, i64 16 ; ->v.typed_ref.ptr
+ %t838 = load ptr, ptr %t837
+ %t839 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t838)
+ store ptr %t839, ptr %s829
+ br label %dc.done331
+dc.checked330:
+ %t840 = call ptr @sc_dc_26(ptr %t828, ptr null)
+ store ptr %t840, ptr %s829
+ %t841 = load i32, ptr %exc.cell
+ %t842 = icmp ne i32 %t841, 0
+ %t843 = call i1 @llvm.expect.i1(i1 %t842, i1 false)
+ br i1 %t843, label %exc.u332, label %exc.k333
+exc.u332:
+ call void @scr_dyn_release(ptr %t828)
+ br label %exc.cleanup2
+exc.k333:
+ br label %dc.done331
+dc.done331:
+ %t844 = load ptr, ptr %s829
+ %t845 = load ptr, ptr %sc_l_p_0
+ %t846 = call ptr @sc_rc_retain_dyn(ptr %t845)
+ %t848 = icmp ne ptr %t846, null
+ br i1 %t848, label %dc.inspect334, label %dc.checked337
+dc.inspect334:
+ %t853 = getelementptr inbounds i8, ptr %t846, i64 8 ; ->kind
+ %t854 = load i32, ptr %t853
+ %t849 = icmp eq i32 %t854, 12
+ br i1 %t849, label %dc.capsule335, label %dc.checked337
+dc.capsule335:
+ %t850 = getelementptr inbounds i8, ptr %t846, i64 40 ; ->v.typed_ref.type_key
+ %t851 = load ptr, ptr %t850
+ %t852 = icmp eq ptr %t851, @sc_cs_2072202777142634
+ br i1 %t852, label %dc.exact336, label %dc.checked337
+dc.exact336:
+ %t855 = getelementptr inbounds i8, ptr %t846, i64 16 ; ->v.typed_ref.ptr
+ %t856 = load ptr, ptr %t855
+ %t857 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t856)
+ store ptr %t857, ptr %s847
+ br label %dc.done338
+dc.checked337:
+ %t858 = call ptr @sc_dc_26(ptr %t846, ptr null)
+ store ptr %t858, ptr %s847
+ %t859 = load i32, ptr %exc.cell
+ %t860 = icmp ne i32 %t859, 0
+ %t861 = call i1 @llvm.expect.i1(i1 %t860, i1 false)
+ br i1 %t861, label %exc.u339, label %exc.k340
+exc.u339:
+ call void @scr_dyn_release(ptr %t828)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t844)
+ call void @scr_dyn_release(ptr %t846)
+ br label %exc.cleanup2
+exc.k340:
+ br label %dc.done338
+dc.done338:
+ %t862 = load ptr, ptr %s847
+ %t863 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t862, i64 0, i32 1
+ %t864 = load ptr, ptr %t863
+ %t865 = getelementptr inbounds %ScrVt, ptr %t864, i64 0, i32 0
+ %t866 = load i64, ptr %t865
+ %t867 = icmp uge i64 %t866, 23
+ %t868 = icmp ule i64 %t866, 23
+ %t869 = and i1 %t867, %t868 ; instanceof %m4.MemoryFileSink
+ br i1 %t869, label %tern.t341, label %tern.f342
+tern.t341:
+ %t871 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t872 = load i32, ptr %exc.cell
+ %t873 = icmp ne i32 %t872, 0
+ %t874 = call i1 @llvm.expect.i1(i1 %t873, i1 false)
+ br i1 %t874, label %exc.u344, label %exc.k345
+exc.u344:
+ call void @scr_dyn_release(ptr %t871)
+ call void @scr_dyn_release(ptr %t828)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t844)
+ call void @scr_dyn_release(ptr %t846)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t862)
+ br label %exc.cleanup2
+exc.k345:
+ store ptr %t871, ptr %s870
+ br label %tern.j343
+tern.f342:
+ %t875 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink()
+ %t876 = load i32, ptr %exc.cell
+ %t877 = icmp ne i32 %t876, 0
+ %t878 = call i1 @llvm.expect.i1(i1 %t877, i1 false)
+ br i1 %t878, label %exc.u346, label %exc.k347
+exc.u346:
+ call void @scr_dyn_release(ptr %t875)
+ call void @scr_dyn_release(ptr %t828)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t844)
+ call void @scr_dyn_release(ptr %t846)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t862)
+ br label %exc.cleanup2
+exc.k347:
+ store ptr %t875, ptr %s870
+ br label %tern.j343
+tern.j343:
+ %t879 = load ptr, ptr %s870
+ %t880 = call ptr @scr_dyn_obj_create(ptr %t879)
+ %t881 = load i32, ptr %exc.cell
+ %t882 = icmp ne i32 %t881, 0
+ %t883 = call i1 @llvm.expect.i1(i1 %t882, i1 false)
+ br i1 %t883, label %exc.u348, label %exc.k349
+exc.u348:
+ call void @scr_dyn_release(ptr %t828)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t844)
+ call void @scr_dyn_release(ptr %t846)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t862)
+ call void @scr_dyn_release(ptr %t879)
+ call void @scr_dyn_release(ptr %t880)
+ br label %exc.cleanup2
+exc.k349:
+ %t884 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t844, i64 0, i32 2
+ %t885 = load ptr, ptr %t884
+ store ptr %t880, ptr %t884, !tbaa !204
+ call void @scr_dyn_release(ptr %t885)
+ call void @scr_dyn_release(ptr %t828)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t844)
+ call void @scr_dyn_release(ptr %t846)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t862)
+ call void @scr_dyn_release(ptr %t879)
+ br label %if.j326
+if.j326:
+ %t886 = load ptr, ptr %sc_l_p_0
+ %t887 = call ptr @sc_rc_retain_dyn(ptr %t886)
+ %t889 = icmp ne ptr %t887, null
+ br i1 %t889, label %dc.inspect350, label %dc.checked353
+dc.inspect350:
+ %t894 = getelementptr inbounds i8, ptr %t887, i64 8 ; ->kind
+ %t895 = load i32, ptr %t894
+ %t890 = icmp eq i32 %t895, 12
+ br i1 %t890, label %dc.capsule351, label %dc.checked353
+dc.capsule351:
+ %t891 = getelementptr inbounds i8, ptr %t887, i64 40 ; ->v.typed_ref.type_key
+ %t892 = load ptr, ptr %t891
+ %t893 = icmp eq ptr %t892, @sc_cs_2072202777142634
+ br i1 %t893, label %dc.exact352, label %dc.checked353
+dc.exact352:
+ %t896 = getelementptr inbounds i8, ptr %t887, i64 16 ; ->v.typed_ref.ptr
+ %t897 = load ptr, ptr %t896
+ %t898 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t897)
+ store ptr %t898, ptr %s888
+ br label %dc.done354
+dc.checked353:
+ %t899 = call ptr @sc_dc_26(ptr %t887, ptr null)
+ store ptr %t899, ptr %s888
+ %t900 = load i32, ptr %exc.cell
+ %t901 = icmp ne i32 %t900, 0
+ %t902 = call i1 @llvm.expect.i1(i1 %t901, i1 false)
+ br i1 %t902, label %exc.u355, label %exc.k356
+exc.u355:
+ call void @scr_dyn_release(ptr %t887)
+ br label %exc.cleanup2
+exc.k356:
+ br label %dc.done354
+dc.done354:
+ %t903 = load ptr, ptr %s888
+ %t904 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t903, i64 0, i32 2
+ %t905 = load ptr, ptr %t904, !tbaa !204
+ %t906 = call ptr @sc_rc_retain_dyn(ptr %t905)
+ call void @scr_dyn_release(ptr %t887)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t903)
+ %t907 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t907)
+ ret ptr %t906
+if.j317:
+ %t908 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s909
+ %t910 = icmp ne ptr %t908, null
+ br i1 %t910, label %brand.inspect357, label %brand.done359
+brand.inspect357:
+ %t911 = getelementptr inbounds i8, ptr %t908, i64 8 ; ->kind
+ %t912 = load i32, ptr %t911
+ %t913 = icmp eq i32 %t912, 12
+ br i1 %t913, label %brand.capsule358, label %brand.done359
+brand.capsule358:
+ %t914 = getelementptr inbounds i8, ptr %t908, i64 40 ; ->v.typed_ref.type_key
+ %t915 = load ptr, ptr %t914
+ %t916 = icmp eq ptr %t915, @sc_cs_3314970835853795
+ store i1 true, ptr %s909
+ br i1 %t916, label %brand.done359, label %brand.compare360
+brand.compare360:
+ %t917 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t908, ptr @sc_lit_3314970835853795)
+ store i1 %t917, ptr %s909
+ br label %brand.done359
+brand.done359:
+ %t918 = load i1, ptr %s909
+ br i1 %t918, label %tern.t361, label %tern.f362
+tern.t361:
+ %t920 = load ptr, ptr %sc_l_p_0
+ %t921 = call ptr @sc_rc_retain_dyn(ptr %t920)
+ %t923 = icmp ne ptr %t921, null
+ br i1 %t923, label %dc.inspect364, label %dc.checked367
+dc.inspect364:
+ %t928 = getelementptr inbounds i8, ptr %t921, i64 8 ; ->kind
+ %t929 = load i32, ptr %t928
+ %t924 = icmp eq i32 %t929, 12
+ br i1 %t924, label %dc.capsule365, label %dc.checked367
+dc.capsule365:
+ %t925 = getelementptr inbounds i8, ptr %t921, i64 40 ; ->v.typed_ref.type_key
+ %t926 = load ptr, ptr %t925
+ %t927 = icmp eq ptr %t926, @sc_cs_3314970835853795
+ br i1 %t927, label %dc.exact366, label %dc.checked367
+dc.exact366:
+ %t930 = getelementptr inbounds i8, ptr %t921, i64 16 ; ->v.typed_ref.ptr
+ %t931 = load ptr, ptr %t930
+ %t932 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t931)
+ store ptr %t932, ptr %s922
+ br label %dc.done368
+dc.checked367:
+ %t933 = call ptr @sc_dc_79(ptr %t921, ptr null)
+ store ptr %t933, ptr %s922
+ %t934 = load i32, ptr %exc.cell
+ %t935 = icmp ne i32 %t934, 0
+ %t936 = call i1 @llvm.expect.i1(i1 %t935, i1 false)
+ br i1 %t936, label %exc.u369, label %exc.k370
+exc.u369:
+ call void @scr_dyn_release(ptr %t921)
+ br label %exc.cleanup2
+exc.k370:
+ br label %dc.done368
+dc.done368:
+ %t937 = load ptr, ptr %s922
+ %t938 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t937, i64 0, i32 1
+ %t939 = load ptr, ptr %t938
+ %t940 = getelementptr inbounds %ScrVt, ptr %t939, i64 0, i32 0
+ %t941 = load i64, ptr %t940
+ %t942 = icmp uge i64 %t941, 38
+ %t943 = icmp ule i64 %t941, 38
+ %t944 = and i1 %t942, %t943 ; instanceof %m14.BakedAssets
+ store i1 %t944, ptr %s919
+ call void @scr_dyn_release(ptr %t921)
+ call void @sc_release__x25_m6_AssetSource(ptr %t937)
+ br label %tern.j363
+tern.f362:
+ store i1 false, ptr %s919
+ br label %tern.j363
+tern.j363:
+ %t945 = load i1, ptr %s919
+ br i1 %t945, label %if.t371, label %if.j372
+if.t371:
+ %t946 = load ptr, ptr %sc_l_p_0
+ %t947 = call ptr @sc_rc_retain_dyn(ptr %t946)
+ %t949 = icmp ne ptr %t947, null
+ br i1 %t949, label %dc.inspect373, label %dc.checked376
+dc.inspect373:
+ %t954 = getelementptr inbounds i8, ptr %t947, i64 8 ; ->kind
+ %t955 = load i32, ptr %t954
+ %t950 = icmp eq i32 %t955, 12
+ br i1 %t950, label %dc.capsule374, label %dc.checked376
+dc.capsule374:
+ %t951 = getelementptr inbounds i8, ptr %t947, i64 40 ; ->v.typed_ref.type_key
+ %t952 = load ptr, ptr %t951
+ %t953 = icmp eq ptr %t952, @sc_cs_3314970835853795
+ br i1 %t953, label %dc.exact375, label %dc.checked376
+dc.exact375:
+ %t956 = getelementptr inbounds i8, ptr %t947, i64 16 ; ->v.typed_ref.ptr
+ %t957 = load ptr, ptr %t956
+ %t958 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t957)
+ store ptr %t958, ptr %s948
+ br label %dc.done377
+dc.checked376:
+ %t959 = call ptr @sc_dc_79(ptr %t947, ptr null)
+ store ptr %t959, ptr %s948
+ %t960 = load i32, ptr %exc.cell
+ %t961 = icmp ne i32 %t960, 0
+ %t962 = call i1 @llvm.expect.i1(i1 %t961, i1 false)
+ br i1 %t962, label %exc.u378, label %exc.k379
+exc.u378:
+ call void @scr_dyn_release(ptr %t947)
+ br label %exc.cleanup2
+exc.k379:
+ br label %dc.done377
+dc.done377:
+ %t963 = load ptr, ptr %s948
+ %t964 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t963, i64 0, i32 2
+ %t965 = load ptr, ptr %t964, !tbaa !204
+ %t966 = getelementptr inbounds i8, ptr %t965, i64 8 ; ->kind
+ %t967 = load i32, ptr %t966
+ %t968 = icmp eq i32 %t967, 6
+ call void @scr_dyn_release(ptr %t947)
+ call void @sc_release__x25_m6_AssetSource(ptr %t963)
+ br i1 %t968, label %if.t380, label %if.j381
+if.t380:
+ %t969 = load ptr, ptr %sc_l_p_0
+ %t970 = call ptr @sc_rc_retain_dyn(ptr %t969)
+ %t972 = icmp ne ptr %t970, null
+ br i1 %t972, label %dc.inspect382, label %dc.checked385
+dc.inspect382:
+ %t977 = getelementptr inbounds i8, ptr %t970, i64 8 ; ->kind
+ %t978 = load i32, ptr %t977
+ %t973 = icmp eq i32 %t978, 12
+ br i1 %t973, label %dc.capsule383, label %dc.checked385
+dc.capsule383:
+ %t974 = getelementptr inbounds i8, ptr %t970, i64 40 ; ->v.typed_ref.type_key
+ %t975 = load ptr, ptr %t974
+ %t976 = icmp eq ptr %t975, @sc_cs_3314970835853795
+ br i1 %t976, label %dc.exact384, label %dc.checked385
+dc.exact384:
+ %t979 = getelementptr inbounds i8, ptr %t970, i64 16 ; ->v.typed_ref.ptr
+ %t980 = load ptr, ptr %t979
+ %t981 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t980)
+ store ptr %t981, ptr %s971
+ br label %dc.done386
+dc.checked385:
+ %t982 = call ptr @sc_dc_79(ptr %t970, ptr null)
+ store ptr %t982, ptr %s971
+ %t983 = load i32, ptr %exc.cell
+ %t984 = icmp ne i32 %t983, 0
+ %t985 = call i1 @llvm.expect.i1(i1 %t984, i1 false)
+ br i1 %t985, label %exc.u387, label %exc.k388
+exc.u387:
+ call void @scr_dyn_release(ptr %t970)
+ br label %exc.cleanup2
+exc.k388:
+ br label %dc.done386
+dc.done386:
+ %t986 = load ptr, ptr %s971
+ %t987 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t988 = load i32, ptr %exc.cell
+ %t989 = icmp ne i32 %t988, 0
+ %t990 = call i1 @llvm.expect.i1(i1 %t989, i1 false)
+ br i1 %t990, label %exc.u389, label %exc.k390
+exc.u389:
+ call void @scr_dyn_release(ptr %t970)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t986)
+ call void @scr_dyn_release(ptr %t987)
+ br label %exc.cleanup2
+exc.k390:
+ %t991 = call ptr @scr_dyn_obj_create(ptr %t987)
+ %t992 = load i32, ptr %exc.cell
+ %t993 = icmp ne i32 %t992, 0
+ %t994 = call i1 @llvm.expect.i1(i1 %t993, i1 false)
+ br i1 %t994, label %exc.u391, label %exc.k392
+exc.u391:
+ call void @scr_dyn_release(ptr %t970)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t986)
+ call void @scr_dyn_release(ptr %t987)
+ call void @scr_dyn_release(ptr %t991)
+ br label %exc.cleanup2
+exc.k392:
+ %t995 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t986, i64 0, i32 2
+ %t996 = load ptr, ptr %t995
+ store ptr %t991, ptr %t995, !tbaa !204
+ call void @scr_dyn_release(ptr %t996)
+ call void @scr_dyn_release(ptr %t970)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t986)
+ call void @scr_dyn_release(ptr %t987)
+ br label %if.j381
+if.j381:
+ %t997 = load ptr, ptr %sc_l_p_0
+ %t998 = call ptr @sc_rc_retain_dyn(ptr %t997)
+ %t1000 = icmp ne ptr %t998, null
+ br i1 %t1000, label %dc.inspect393, label %dc.checked396
+dc.inspect393:
+ %t1005 = getelementptr inbounds i8, ptr %t998, i64 8 ; ->kind
+ %t1006 = load i32, ptr %t1005
+ %t1001 = icmp eq i32 %t1006, 12
+ br i1 %t1001, label %dc.capsule394, label %dc.checked396
+dc.capsule394:
+ %t1002 = getelementptr inbounds i8, ptr %t998, i64 40 ; ->v.typed_ref.type_key
+ %t1003 = load ptr, ptr %t1002
+ %t1004 = icmp eq ptr %t1003, @sc_cs_3314970835853795
+ br i1 %t1004, label %dc.exact395, label %dc.checked396
+dc.exact395:
+ %t1007 = getelementptr inbounds i8, ptr %t998, i64 16 ; ->v.typed_ref.ptr
+ %t1008 = load ptr, ptr %t1007
+ %t1009 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1008)
+ store ptr %t1009, ptr %s999
+ br label %dc.done397
+dc.checked396:
+ %t1010 = call ptr @sc_dc_79(ptr %t998, ptr null)
+ store ptr %t1010, ptr %s999
+ %t1011 = load i32, ptr %exc.cell
+ %t1012 = icmp ne i32 %t1011, 0
+ %t1013 = call i1 @llvm.expect.i1(i1 %t1012, i1 false)
+ br i1 %t1013, label %exc.u398, label %exc.k399
+exc.u398:
+ call void @scr_dyn_release(ptr %t998)
+ br label %exc.cleanup2
+exc.k399:
+ br label %dc.done397
+dc.done397:
+ %t1014 = load ptr, ptr %s999
+ %t1015 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t1014, i64 0, i32 2
+ %t1016 = load ptr, ptr %t1015, !tbaa !204
+ %t1017 = call ptr @sc_rc_retain_dyn(ptr %t1016)
+ call void @scr_dyn_release(ptr %t998)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1014)
+ %t1018 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1018)
+ ret ptr %t1017
+if.j372:
+ %t1019 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1020
+ %t1021 = icmp ne ptr %t1019, null
+ br i1 %t1021, label %brand.inspect400, label %brand.done402
+brand.inspect400:
+ %t1022 = getelementptr inbounds i8, ptr %t1019, i64 8 ; ->kind
+ %t1023 = load i32, ptr %t1022
+ %t1024 = icmp eq i32 %t1023, 12
+ br i1 %t1024, label %brand.capsule401, label %brand.done402
+brand.capsule401:
+ %t1025 = getelementptr inbounds i8, ptr %t1019, i64 40 ; ->v.typed_ref.type_key
+ %t1026 = load ptr, ptr %t1025
+ %t1027 = icmp eq ptr %t1026, @sc_cs_3314970835853795
+ store i1 true, ptr %s1020
+ br i1 %t1027, label %brand.done402, label %brand.compare403
+brand.compare403:
+ %t1028 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1019, ptr @sc_lit_3314970835853795)
+ store i1 %t1028, ptr %s1020
+ br label %brand.done402
+brand.done402:
+ %t1029 = load i1, ptr %s1020
+ br i1 %t1029, label %tern.t404, label %tern.f405
+tern.t404:
+ %t1031 = load ptr, ptr %sc_l_p_0
+ %t1032 = call ptr @sc_rc_retain_dyn(ptr %t1031)
+ %t1034 = icmp ne ptr %t1032, null
+ br i1 %t1034, label %dc.inspect407, label %dc.checked410
+dc.inspect407:
+ %t1039 = getelementptr inbounds i8, ptr %t1032, i64 8 ; ->kind
+ %t1040 = load i32, ptr %t1039
+ %t1035 = icmp eq i32 %t1040, 12
+ br i1 %t1035, label %dc.capsule408, label %dc.checked410
+dc.capsule408:
+ %t1036 = getelementptr inbounds i8, ptr %t1032, i64 40 ; ->v.typed_ref.type_key
+ %t1037 = load ptr, ptr %t1036
+ %t1038 = icmp eq ptr %t1037, @sc_cs_3314970835853795
+ br i1 %t1038, label %dc.exact409, label %dc.checked410
+dc.exact409:
+ %t1041 = getelementptr inbounds i8, ptr %t1032, i64 16 ; ->v.typed_ref.ptr
+ %t1042 = load ptr, ptr %t1041
+ %t1043 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1042)
+ store ptr %t1043, ptr %s1033
+ br label %dc.done411
+dc.checked410:
+ %t1044 = call ptr @sc_dc_79(ptr %t1032, ptr null)
+ store ptr %t1044, ptr %s1033
+ %t1045 = load i32, ptr %exc.cell
+ %t1046 = icmp ne i32 %t1045, 0
+ %t1047 = call i1 @llvm.expect.i1(i1 %t1046, i1 false)
+ br i1 %t1047, label %exc.u412, label %exc.k413
+exc.u412:
+ call void @scr_dyn_release(ptr %t1032)
+ br label %exc.cleanup2
+exc.k413:
+ br label %dc.done411
+dc.done411:
+ %t1048 = load ptr, ptr %s1033
+ %t1049 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1048, i64 0, i32 1
+ %t1050 = load ptr, ptr %t1049
+ %t1051 = getelementptr inbounds %ScrVt, ptr %t1050, i64 0, i32 0
+ %t1052 = load i64, ptr %t1051
+ %t1053 = icmp uge i64 %t1052, 37
+ %t1054 = icmp ule i64 %t1052, 38
+ %t1055 = and i1 %t1053, %t1054 ; instanceof %m9.EmbeddedAssets
+ store i1 %t1055, ptr %s1030
+ call void @scr_dyn_release(ptr %t1032)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1048)
+ br label %tern.j406
+tern.f405:
+ store i1 false, ptr %s1030
+ br label %tern.j406
+tern.j406:
+ %t1056 = load i1, ptr %s1030
+ br i1 %t1056, label %if.t414, label %if.j415
+if.t414:
+ %t1057 = load ptr, ptr %sc_l_p_0
+ %t1058 = call ptr @sc_rc_retain_dyn(ptr %t1057)
+ %t1060 = icmp ne ptr %t1058, null
+ br i1 %t1060, label %dc.inspect416, label %dc.checked419
+dc.inspect416:
+ %t1065 = getelementptr inbounds i8, ptr %t1058, i64 8 ; ->kind
+ %t1066 = load i32, ptr %t1065
+ %t1061 = icmp eq i32 %t1066, 12
+ br i1 %t1061, label %dc.capsule417, label %dc.checked419
+dc.capsule417:
+ %t1062 = getelementptr inbounds i8, ptr %t1058, i64 40 ; ->v.typed_ref.type_key
+ %t1063 = load ptr, ptr %t1062
+ %t1064 = icmp eq ptr %t1063, @sc_cs_3314970835853795
+ br i1 %t1064, label %dc.exact418, label %dc.checked419
+dc.exact418:
+ %t1067 = getelementptr inbounds i8, ptr %t1058, i64 16 ; ->v.typed_ref.ptr
+ %t1068 = load ptr, ptr %t1067
+ %t1069 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1068)
+ store ptr %t1069, ptr %s1059
+ br label %dc.done420
+dc.checked419:
+ %t1070 = call ptr @sc_dc_79(ptr %t1058, ptr null)
+ store ptr %t1070, ptr %s1059
+ %t1071 = load i32, ptr %exc.cell
+ %t1072 = icmp ne i32 %t1071, 0
+ %t1073 = call i1 @llvm.expect.i1(i1 %t1072, i1 false)
+ br i1 %t1073, label %exc.u421, label %exc.k422
+exc.u421:
+ call void @scr_dyn_release(ptr %t1058)
+ br label %exc.cleanup2
+exc.k422:
+ br label %dc.done420
+dc.done420:
+ %t1074 = load ptr, ptr %s1059
+ %t1075 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1074, i64 0, i32 2
+ %t1076 = load ptr, ptr %t1075, !tbaa !204
+ %t1077 = getelementptr inbounds i8, ptr %t1076, i64 8 ; ->kind
+ %t1078 = load i32, ptr %t1077
+ %t1079 = icmp eq i32 %t1078, 6
+ call void @scr_dyn_release(ptr %t1058)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1074)
+ br i1 %t1079, label %if.t423, label %if.j424
+if.t423:
+ %t1080 = load ptr, ptr %sc_l_p_0
+ %t1081 = call ptr @sc_rc_retain_dyn(ptr %t1080)
+ %t1083 = icmp ne ptr %t1081, null
+ br i1 %t1083, label %dc.inspect425, label %dc.checked428
+dc.inspect425:
+ %t1088 = getelementptr inbounds i8, ptr %t1081, i64 8 ; ->kind
+ %t1089 = load i32, ptr %t1088
+ %t1084 = icmp eq i32 %t1089, 12
+ br i1 %t1084, label %dc.capsule426, label %dc.checked428
+dc.capsule426:
+ %t1085 = getelementptr inbounds i8, ptr %t1081, i64 40 ; ->v.typed_ref.type_key
+ %t1086 = load ptr, ptr %t1085
+ %t1087 = icmp eq ptr %t1086, @sc_cs_3314970835853795
+ br i1 %t1087, label %dc.exact427, label %dc.checked428
+dc.exact427:
+ %t1090 = getelementptr inbounds i8, ptr %t1081, i64 16 ; ->v.typed_ref.ptr
+ %t1091 = load ptr, ptr %t1090
+ %t1092 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1091)
+ store ptr %t1092, ptr %s1082
+ br label %dc.done429
+dc.checked428:
+ %t1093 = call ptr @sc_dc_79(ptr %t1081, ptr null)
+ store ptr %t1093, ptr %s1082
+ %t1094 = load i32, ptr %exc.cell
+ %t1095 = icmp ne i32 %t1094, 0
+ %t1096 = call i1 @llvm.expect.i1(i1 %t1095, i1 false)
+ br i1 %t1096, label %exc.u430, label %exc.k431
+exc.u430:
+ call void @scr_dyn_release(ptr %t1081)
+ br label %exc.cleanup2
+exc.k431:
+ br label %dc.done429
+dc.done429:
+ %t1097 = load ptr, ptr %s1082
+ %t1098 = load ptr, ptr %sc_l_p_0
+ %t1099 = call ptr @sc_rc_retain_dyn(ptr %t1098)
+ %t1101 = icmp ne ptr %t1099, null
+ br i1 %t1101, label %dc.inspect432, label %dc.checked435
+dc.inspect432:
+ %t1106 = getelementptr inbounds i8, ptr %t1099, i64 8 ; ->kind
+ %t1107 = load i32, ptr %t1106
+ %t1102 = icmp eq i32 %t1107, 12
+ br i1 %t1102, label %dc.capsule433, label %dc.checked435
+dc.capsule433:
+ %t1103 = getelementptr inbounds i8, ptr %t1099, i64 40 ; ->v.typed_ref.type_key
+ %t1104 = load ptr, ptr %t1103
+ %t1105 = icmp eq ptr %t1104, @sc_cs_3314970835853795
+ br i1 %t1105, label %dc.exact434, label %dc.checked435
+dc.exact434:
+ %t1108 = getelementptr inbounds i8, ptr %t1099, i64 16 ; ->v.typed_ref.ptr
+ %t1109 = load ptr, ptr %t1108
+ %t1110 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1109)
+ store ptr %t1110, ptr %s1100
+ br label %dc.done436
+dc.checked435:
+ %t1111 = call ptr @sc_dc_79(ptr %t1099, ptr null)
+ store ptr %t1111, ptr %s1100
+ %t1112 = load i32, ptr %exc.cell
+ %t1113 = icmp ne i32 %t1112, 0
+ %t1114 = call i1 @llvm.expect.i1(i1 %t1113, i1 false)
+ br i1 %t1114, label %exc.u437, label %exc.k438
+exc.u437:
+ call void @scr_dyn_release(ptr %t1081)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1097)
+ call void @scr_dyn_release(ptr %t1099)
+ br label %exc.cleanup2
+exc.k438:
+ br label %dc.done436
+dc.done436:
+ %t1115 = load ptr, ptr %s1100
+ %t1116 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1115, i64 0, i32 1
+ %t1117 = load ptr, ptr %t1116
+ %t1118 = getelementptr inbounds %ScrVt, ptr %t1117, i64 0, i32 0
+ %t1119 = load i64, ptr %t1118
+ %t1120 = icmp uge i64 %t1119, 38
+ %t1121 = icmp ule i64 %t1119, 38
+ %t1122 = and i1 %t1120, %t1121 ; instanceof %m14.BakedAssets
+ br i1 %t1122, label %tern.t439, label %tern.f440
+tern.t439:
+ %t1124 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t1125 = load i32, ptr %exc.cell
+ %t1126 = icmp ne i32 %t1125, 0
+ %t1127 = call i1 @llvm.expect.i1(i1 %t1126, i1 false)
+ br i1 %t1127, label %exc.u442, label %exc.k443
+exc.u442:
+ call void @scr_dyn_release(ptr %t1124)
+ call void @scr_dyn_release(ptr %t1081)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1097)
+ call void @scr_dyn_release(ptr %t1099)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1115)
+ br label %exc.cleanup2
+exc.k443:
+ store ptr %t1124, ptr %s1123
+ br label %tern.j441
+tern.f440:
+ %t1128 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t1129 = load i32, ptr %exc.cell
+ %t1130 = icmp ne i32 %t1129, 0
+ %t1131 = call i1 @llvm.expect.i1(i1 %t1130, i1 false)
+ br i1 %t1131, label %exc.u444, label %exc.k445
+exc.u444:
+ call void @scr_dyn_release(ptr %t1128)
+ call void @scr_dyn_release(ptr %t1081)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1097)
+ call void @scr_dyn_release(ptr %t1099)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1115)
+ br label %exc.cleanup2
+exc.k445:
+ store ptr %t1128, ptr %s1123
+ br label %tern.j441
+tern.j441:
+ %t1132 = load ptr, ptr %s1123
+ %t1133 = call ptr @scr_dyn_obj_create(ptr %t1132)
+ %t1134 = load i32, ptr %exc.cell
+ %t1135 = icmp ne i32 %t1134, 0
+ %t1136 = call i1 @llvm.expect.i1(i1 %t1135, i1 false)
+ br i1 %t1136, label %exc.u446, label %exc.k447
+exc.u446:
+ call void @scr_dyn_release(ptr %t1081)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1097)
+ call void @scr_dyn_release(ptr %t1099)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1115)
+ call void @scr_dyn_release(ptr %t1132)
+ call void @scr_dyn_release(ptr %t1133)
+ br label %exc.cleanup2
+exc.k447:
+ %t1137 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1097, i64 0, i32 2
+ %t1138 = load ptr, ptr %t1137
+ store ptr %t1133, ptr %t1137, !tbaa !204
+ call void @scr_dyn_release(ptr %t1138)
+ call void @scr_dyn_release(ptr %t1081)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1097)
+ call void @scr_dyn_release(ptr %t1099)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1115)
+ call void @scr_dyn_release(ptr %t1132)
+ br label %if.j424
+if.j424:
+ %t1139 = load ptr, ptr %sc_l_p_0
+ %t1140 = call ptr @sc_rc_retain_dyn(ptr %t1139)
+ %t1142 = icmp ne ptr %t1140, null
+ br i1 %t1142, label %dc.inspect448, label %dc.checked451
+dc.inspect448:
+ %t1147 = getelementptr inbounds i8, ptr %t1140, i64 8 ; ->kind
+ %t1148 = load i32, ptr %t1147
+ %t1143 = icmp eq i32 %t1148, 12
+ br i1 %t1143, label %dc.capsule449, label %dc.checked451
+dc.capsule449:
+ %t1144 = getelementptr inbounds i8, ptr %t1140, i64 40 ; ->v.typed_ref.type_key
+ %t1145 = load ptr, ptr %t1144
+ %t1146 = icmp eq ptr %t1145, @sc_cs_3314970835853795
+ br i1 %t1146, label %dc.exact450, label %dc.checked451
+dc.exact450:
+ %t1149 = getelementptr inbounds i8, ptr %t1140, i64 16 ; ->v.typed_ref.ptr
+ %t1150 = load ptr, ptr %t1149
+ %t1151 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1150)
+ store ptr %t1151, ptr %s1141
+ br label %dc.done452
+dc.checked451:
+ %t1152 = call ptr @sc_dc_79(ptr %t1140, ptr null)
+ store ptr %t1152, ptr %s1141
+ %t1153 = load i32, ptr %exc.cell
+ %t1154 = icmp ne i32 %t1153, 0
+ %t1155 = call i1 @llvm.expect.i1(i1 %t1154, i1 false)
+ br i1 %t1155, label %exc.u453, label %exc.k454
+exc.u453:
+ call void @scr_dyn_release(ptr %t1140)
+ br label %exc.cleanup2
+exc.k454:
+ br label %dc.done452
+dc.done452:
+ %t1156 = load ptr, ptr %s1141
+ %t1157 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1156, i64 0, i32 2
+ %t1158 = load ptr, ptr %t1157, !tbaa !204
+ %t1159 = call ptr @sc_rc_retain_dyn(ptr %t1158)
+ call void @scr_dyn_release(ptr %t1140)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1156)
+ %t1160 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1160)
+ ret ptr %t1159
+if.j415:
+ %t1161 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1162
+ %t1163 = icmp ne ptr %t1161, null
+ br i1 %t1163, label %brand.inspect455, label %brand.done457
+brand.inspect455:
+ %t1164 = getelementptr inbounds i8, ptr %t1161, i64 8 ; ->kind
+ %t1165 = load i32, ptr %t1164
+ %t1166 = icmp eq i32 %t1165, 12
+ br i1 %t1166, label %brand.capsule456, label %brand.done457
+brand.capsule456:
+ %t1167 = getelementptr inbounds i8, ptr %t1161, i64 40 ; ->v.typed_ref.type_key
+ %t1168 = load ptr, ptr %t1167
+ %t1169 = icmp eq ptr %t1168, @sc_cs_3314970835853795
+ store i1 true, ptr %s1162
+ br i1 %t1169, label %brand.done457, label %brand.compare458
+brand.compare458:
+ %t1170 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1161, ptr @sc_lit_3314970835853795)
+ store i1 %t1170, ptr %s1162
+ br label %brand.done457
+brand.done457:
+ %t1171 = load i1, ptr %s1162
+ br i1 %t1171, label %if.t459, label %if.j460
+if.t459:
+ %t1172 = load ptr, ptr %sc_l_p_0
+ %t1173 = call ptr @sc_rc_retain_dyn(ptr %t1172)
+ %t1175 = icmp ne ptr %t1173, null
+ br i1 %t1175, label %dc.inspect461, label %dc.checked464
+dc.inspect461:
+ %t1180 = getelementptr inbounds i8, ptr %t1173, i64 8 ; ->kind
+ %t1181 = load i32, ptr %t1180
+ %t1176 = icmp eq i32 %t1181, 12
+ br i1 %t1176, label %dc.capsule462, label %dc.checked464
+dc.capsule462:
+ %t1177 = getelementptr inbounds i8, ptr %t1173, i64 40 ; ->v.typed_ref.type_key
+ %t1178 = load ptr, ptr %t1177
+ %t1179 = icmp eq ptr %t1178, @sc_cs_3314970835853795
+ br i1 %t1179, label %dc.exact463, label %dc.checked464
+dc.exact463:
+ %t1182 = getelementptr inbounds i8, ptr %t1173, i64 16 ; ->v.typed_ref.ptr
+ %t1183 = load ptr, ptr %t1182
+ %t1184 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1183)
+ store ptr %t1184, ptr %s1174
+ br label %dc.done465
+dc.checked464:
+ %t1185 = call ptr @sc_dc_79(ptr %t1173, ptr null)
+ store ptr %t1185, ptr %s1174
+ %t1186 = load i32, ptr %exc.cell
+ %t1187 = icmp ne i32 %t1186, 0
+ %t1188 = call i1 @llvm.expect.i1(i1 %t1187, i1 false)
+ br i1 %t1188, label %exc.u466, label %exc.k467
+exc.u466:
+ call void @scr_dyn_release(ptr %t1173)
+ br label %exc.cleanup2
+exc.k467:
+ br label %dc.done465
+dc.done465:
+ %t1189 = load ptr, ptr %s1174
+ %t1190 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1189, i64 0, i32 2
+ %t1191 = load ptr, ptr %t1190, !tbaa !204
+ %t1192 = getelementptr inbounds i8, ptr %t1191, i64 8 ; ->kind
+ %t1193 = load i32, ptr %t1192
+ %t1194 = icmp eq i32 %t1193, 6
+ call void @scr_dyn_release(ptr %t1173)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1189)
+ br i1 %t1194, label %if.t468, label %if.j469
+if.t468:
+ %t1195 = load ptr, ptr %sc_l_p_0
+ %t1196 = call ptr @sc_rc_retain_dyn(ptr %t1195)
+ %t1198 = icmp ne ptr %t1196, null
+ br i1 %t1198, label %dc.inspect470, label %dc.checked473
+dc.inspect470:
+ %t1203 = getelementptr inbounds i8, ptr %t1196, i64 8 ; ->kind
+ %t1204 = load i32, ptr %t1203
+ %t1199 = icmp eq i32 %t1204, 12
+ br i1 %t1199, label %dc.capsule471, label %dc.checked473
+dc.capsule471:
+ %t1200 = getelementptr inbounds i8, ptr %t1196, i64 40 ; ->v.typed_ref.type_key
+ %t1201 = load ptr, ptr %t1200
+ %t1202 = icmp eq ptr %t1201, @sc_cs_3314970835853795
+ br i1 %t1202, label %dc.exact472, label %dc.checked473
+dc.exact472:
+ %t1205 = getelementptr inbounds i8, ptr %t1196, i64 16 ; ->v.typed_ref.ptr
+ %t1206 = load ptr, ptr %t1205
+ %t1207 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1206)
+ store ptr %t1207, ptr %s1197
+ br label %dc.done474
+dc.checked473:
+ %t1208 = call ptr @sc_dc_79(ptr %t1196, ptr null)
+ store ptr %t1208, ptr %s1197
+ %t1209 = load i32, ptr %exc.cell
+ %t1210 = icmp ne i32 %t1209, 0
+ %t1211 = call i1 @llvm.expect.i1(i1 %t1210, i1 false)
+ br i1 %t1211, label %exc.u475, label %exc.k476
+exc.u475:
+ call void @scr_dyn_release(ptr %t1196)
+ br label %exc.cleanup2
+exc.k476:
+ br label %dc.done474
+dc.done474:
+ %t1212 = load ptr, ptr %s1197
+ %t1213 = load ptr, ptr %sc_l_p_0
+ %t1214 = call ptr @sc_rc_retain_dyn(ptr %t1213)
+ %t1216 = icmp ne ptr %t1214, null
+ br i1 %t1216, label %dc.inspect477, label %dc.checked480
+dc.inspect477:
+ %t1221 = getelementptr inbounds i8, ptr %t1214, i64 8 ; ->kind
+ %t1222 = load i32, ptr %t1221
+ %t1217 = icmp eq i32 %t1222, 12
+ br i1 %t1217, label %dc.capsule478, label %dc.checked480
+dc.capsule478:
+ %t1218 = getelementptr inbounds i8, ptr %t1214, i64 40 ; ->v.typed_ref.type_key
+ %t1219 = load ptr, ptr %t1218
+ %t1220 = icmp eq ptr %t1219, @sc_cs_3314970835853795
+ br i1 %t1220, label %dc.exact479, label %dc.checked480
+dc.exact479:
+ %t1223 = getelementptr inbounds i8, ptr %t1214, i64 16 ; ->v.typed_ref.ptr
+ %t1224 = load ptr, ptr %t1223
+ %t1225 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1224)
+ store ptr %t1225, ptr %s1215
+ br label %dc.done481
+dc.checked480:
+ %t1226 = call ptr @sc_dc_79(ptr %t1214, ptr null)
+ store ptr %t1226, ptr %s1215
+ %t1227 = load i32, ptr %exc.cell
+ %t1228 = icmp ne i32 %t1227, 0
+ %t1229 = call i1 @llvm.expect.i1(i1 %t1228, i1 false)
+ br i1 %t1229, label %exc.u482, label %exc.k483
+exc.u482:
+ call void @scr_dyn_release(ptr %t1196)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1212)
+ call void @scr_dyn_release(ptr %t1214)
+ br label %exc.cleanup2
+exc.k483:
+ br label %dc.done481
+dc.done481:
+ %t1230 = load ptr, ptr %s1215
+ %t1231 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1230, i64 0, i32 1
+ %t1232 = load ptr, ptr %t1231
+ %t1233 = getelementptr inbounds %ScrVt, ptr %t1232, i64 0, i32 0
+ %t1234 = load i64, ptr %t1233
+ %t1235 = icmp uge i64 %t1234, 37
+ %t1236 = icmp ule i64 %t1234, 38
+ %t1237 = and i1 %t1235, %t1236 ; instanceof %m9.EmbeddedAssets
+ br i1 %t1237, label %tern.t484, label %tern.f485
+tern.t484:
+ %t1239 = load ptr, ptr %sc_l_p_0
+ %t1240 = call ptr @sc_rc_retain_dyn(ptr %t1239)
+ %t1242 = icmp ne ptr %t1240, null
+ br i1 %t1242, label %dc.inspect487, label %dc.checked490
+dc.inspect487:
+ %t1247 = getelementptr inbounds i8, ptr %t1240, i64 8 ; ->kind
+ %t1248 = load i32, ptr %t1247
+ %t1243 = icmp eq i32 %t1248, 12
+ br i1 %t1243, label %dc.capsule488, label %dc.checked490
+dc.capsule488:
+ %t1244 = getelementptr inbounds i8, ptr %t1240, i64 40 ; ->v.typed_ref.type_key
+ %t1245 = load ptr, ptr %t1244
+ %t1246 = icmp eq ptr %t1245, @sc_cs_3314970835853795
+ br i1 %t1246, label %dc.exact489, label %dc.checked490
+dc.exact489:
+ %t1249 = getelementptr inbounds i8, ptr %t1240, i64 16 ; ->v.typed_ref.ptr
+ %t1250 = load ptr, ptr %t1249
+ %t1251 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1250)
+ store ptr %t1251, ptr %s1241
+ br label %dc.done491
+dc.checked490:
+ %t1252 = call ptr @sc_dc_79(ptr %t1240, ptr null)
+ store ptr %t1252, ptr %s1241
+ %t1253 = load i32, ptr %exc.cell
+ %t1254 = icmp ne i32 %t1253, 0
+ %t1255 = call i1 @llvm.expect.i1(i1 %t1254, i1 false)
+ br i1 %t1255, label %exc.u492, label %exc.k493
+exc.u492:
+ call void @scr_dyn_release(ptr %t1240)
+ call void @scr_dyn_release(ptr %t1196)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1212)
+ call void @scr_dyn_release(ptr %t1214)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1230)
+ br label %exc.cleanup2
+exc.k493:
+ br label %dc.done491
+dc.done491:
+ %t1256 = load ptr, ptr %s1241
+ %t1257 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1256, i64 0, i32 1
+ %t1258 = load ptr, ptr %t1257
+ %t1259 = getelementptr inbounds %ScrVt, ptr %t1258, i64 0, i32 0
+ %t1260 = load i64, ptr %t1259
+ %t1261 = icmp uge i64 %t1260, 38
+ %t1262 = icmp ule i64 %t1260, 38
+ %t1263 = and i1 %t1261, %t1262 ; instanceof %m14.BakedAssets
+ br i1 %t1263, label %tern.t494, label %tern.f495
+tern.t494:
+ %t1265 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t1266 = load i32, ptr %exc.cell
+ %t1267 = icmp ne i32 %t1266, 0
+ %t1268 = call i1 @llvm.expect.i1(i1 %t1267, i1 false)
+ br i1 %t1268, label %exc.u497, label %exc.k498
+exc.u497:
+ call void @scr_dyn_release(ptr %t1265)
+ call void @scr_dyn_release(ptr %t1240)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1256)
+ call void @scr_dyn_release(ptr %t1196)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1212)
+ call void @scr_dyn_release(ptr %t1214)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1230)
+ br label %exc.cleanup2
+exc.k498:
+ store ptr %t1265, ptr %s1264
+ br label %tern.j496
+tern.f495:
+ %t1269 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t1270 = load i32, ptr %exc.cell
+ %t1271 = icmp ne i32 %t1270, 0
+ %t1272 = call i1 @llvm.expect.i1(i1 %t1271, i1 false)
+ br i1 %t1272, label %exc.u499, label %exc.k500
+exc.u499:
+ call void @scr_dyn_release(ptr %t1269)
+ call void @scr_dyn_release(ptr %t1240)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1256)
+ call void @scr_dyn_release(ptr %t1196)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1212)
+ call void @scr_dyn_release(ptr %t1214)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1230)
+ br label %exc.cleanup2
+exc.k500:
+ store ptr %t1269, ptr %s1264
+ br label %tern.j496
+tern.j496:
+ %t1273 = load ptr, ptr %s1264
+ store ptr %t1273, ptr %s1238
+ call void @scr_dyn_release(ptr %t1240)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1256)
+ br label %tern.j486
+tern.f485:
+ %t1274 = call ptr @sc_f__x25_prototype_data__x25_m6_AssetSource()
+ %t1275 = load i32, ptr %exc.cell
+ %t1276 = icmp ne i32 %t1275, 0
+ %t1277 = call i1 @llvm.expect.i1(i1 %t1276, i1 false)
+ br i1 %t1277, label %exc.u501, label %exc.k502
+exc.u501:
+ call void @scr_dyn_release(ptr %t1274)
+ call void @scr_dyn_release(ptr %t1196)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1212)
+ call void @scr_dyn_release(ptr %t1214)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1230)
+ br label %exc.cleanup2
+exc.k502:
+ store ptr %t1274, ptr %s1238
+ br label %tern.j486
+tern.j486:
+ %t1278 = load ptr, ptr %s1238
+ %t1279 = call ptr @scr_dyn_obj_create(ptr %t1278)
+ %t1280 = load i32, ptr %exc.cell
+ %t1281 = icmp ne i32 %t1280, 0
+ %t1282 = call i1 @llvm.expect.i1(i1 %t1281, i1 false)
+ br i1 %t1282, label %exc.u503, label %exc.k504
+exc.u503:
+ call void @scr_dyn_release(ptr %t1196)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1212)
+ call void @scr_dyn_release(ptr %t1214)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1230)
+ call void @scr_dyn_release(ptr %t1278)
+ call void @scr_dyn_release(ptr %t1279)
+ br label %exc.cleanup2
+exc.k504:
+ %t1283 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1212, i64 0, i32 2
+ %t1284 = load ptr, ptr %t1283
+ store ptr %t1279, ptr %t1283, !tbaa !204
+ call void @scr_dyn_release(ptr %t1284)
+ call void @scr_dyn_release(ptr %t1196)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1212)
+ call void @scr_dyn_release(ptr %t1214)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1230)
+ call void @scr_dyn_release(ptr %t1278)
+ br label %if.j469
+if.j469:
+ %t1285 = load ptr, ptr %sc_l_p_0
+ %t1286 = call ptr @sc_rc_retain_dyn(ptr %t1285)
+ %t1288 = icmp ne ptr %t1286, null
+ br i1 %t1288, label %dc.inspect505, label %dc.checked508
+dc.inspect505:
+ %t1293 = getelementptr inbounds i8, ptr %t1286, i64 8 ; ->kind
+ %t1294 = load i32, ptr %t1293
+ %t1289 = icmp eq i32 %t1294, 12
+ br i1 %t1289, label %dc.capsule506, label %dc.checked508
+dc.capsule506:
+ %t1290 = getelementptr inbounds i8, ptr %t1286, i64 40 ; ->v.typed_ref.type_key
+ %t1291 = load ptr, ptr %t1290
+ %t1292 = icmp eq ptr %t1291, @sc_cs_3314970835853795
+ br i1 %t1292, label %dc.exact507, label %dc.checked508
+dc.exact507:
+ %t1295 = getelementptr inbounds i8, ptr %t1286, i64 16 ; ->v.typed_ref.ptr
+ %t1296 = load ptr, ptr %t1295
+ %t1297 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1296)
+ store ptr %t1297, ptr %s1287
+ br label %dc.done509
+dc.checked508:
+ %t1298 = call ptr @sc_dc_79(ptr %t1286, ptr null)
+ store ptr %t1298, ptr %s1287
+ %t1299 = load i32, ptr %exc.cell
+ %t1300 = icmp ne i32 %t1299, 0
+ %t1301 = call i1 @llvm.expect.i1(i1 %t1300, i1 false)
+ br i1 %t1301, label %exc.u510, label %exc.k511
+exc.u510:
+ call void @scr_dyn_release(ptr %t1286)
+ br label %exc.cleanup2
+exc.k511:
+ br label %dc.done509
+dc.done509:
+ %t1302 = load ptr, ptr %s1287
+ %t1303 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1302, i64 0, i32 2
+ %t1304 = load ptr, ptr %t1303, !tbaa !204
+ %t1305 = call ptr @sc_rc_retain_dyn(ptr %t1304)
+ call void @scr_dyn_release(ptr %t1286)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1302)
+ %t1306 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1306)
+ ret ptr %t1305
+if.j460:
+ %t1307 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1308
+ %t1309 = icmp ne ptr %t1307, null
+ br i1 %t1309, label %brand.inspect512, label %brand.done514
+brand.inspect512:
+ %t1310 = getelementptr inbounds i8, ptr %t1307, i64 8 ; ->kind
+ %t1311 = load i32, ptr %t1310
+ %t1312 = icmp eq i32 %t1311, 12
+ br i1 %t1312, label %brand.capsule513, label %brand.done514
+brand.capsule513:
+ %t1313 = getelementptr inbounds i8, ptr %t1307, i64 40 ; ->v.typed_ref.type_key
+ %t1314 = load ptr, ptr %t1313
+ %t1315 = icmp eq ptr %t1314, @sc_cs_864190948149583
+ store i1 true, ptr %s1308
+ br i1 %t1315, label %brand.done514, label %brand.compare515
+brand.compare515:
+ %t1316 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1307, ptr @sc_lit_864190948149583)
+ store i1 %t1316, ptr %s1308
+ br label %brand.done514
+brand.done514:
+ %t1317 = load i1, ptr %s1308
+ br i1 %t1317, label %if.t516, label %if.j517
+if.t516:
+ %t1318 = load ptr, ptr %sc_l_p_0
+ %t1319 = call ptr @sc_rc_retain_dyn(ptr %t1318)
+ %t1321 = icmp ne ptr %t1319, null
+ br i1 %t1321, label %dc.inspect518, label %dc.checked521
+dc.inspect518:
+ %t1326 = getelementptr inbounds i8, ptr %t1319, i64 8 ; ->kind
+ %t1327 = load i32, ptr %t1326
+ %t1322 = icmp eq i32 %t1327, 12
+ br i1 %t1322, label %dc.capsule519, label %dc.checked521
+dc.capsule519:
+ %t1323 = getelementptr inbounds i8, ptr %t1319, i64 40 ; ->v.typed_ref.type_key
+ %t1324 = load ptr, ptr %t1323
+ %t1325 = icmp eq ptr %t1324, @sc_cs_864190948149583
+ br i1 %t1325, label %dc.exact520, label %dc.checked521
+dc.exact520:
+ %t1328 = getelementptr inbounds i8, ptr %t1319, i64 16 ; ->v.typed_ref.ptr
+ %t1329 = load ptr, ptr %t1328
+ %t1330 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1329)
+ store ptr %t1330, ptr %s1320
+ br label %dc.done522
+dc.checked521:
+ %t1331 = call ptr @sc_dc_103(ptr %t1319, ptr null)
+ store ptr %t1331, ptr %s1320
+ %t1332 = load i32, ptr %exc.cell
+ %t1333 = icmp ne i32 %t1332, 0
+ %t1334 = call i1 @llvm.expect.i1(i1 %t1333, i1 false)
+ br i1 %t1334, label %exc.u523, label %exc.k524
+exc.u523:
+ call void @scr_dyn_release(ptr %t1319)
+ br label %exc.cleanup2
+exc.k524:
+ br label %dc.done522
+dc.done522:
+ %t1335 = load ptr, ptr %s1320
+ %t1336 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1335, i64 0, i32 6
+ %t1337 = load ptr, ptr %t1336, !tbaa !204
+ %t1338 = getelementptr inbounds i8, ptr %t1337, i64 8 ; ->kind
+ %t1339 = load i32, ptr %t1338
+ %t1340 = icmp eq i32 %t1339, 6
+ call void @scr_dyn_release(ptr %t1319)
+ call void @sc_release__x25_m11_StaticServer(ptr %t1335)
+ br i1 %t1340, label %if.t525, label %if.j526
+if.t525:
+ %t1341 = load ptr, ptr %sc_l_p_0
+ %t1342 = call ptr @sc_rc_retain_dyn(ptr %t1341)
+ %t1344 = icmp ne ptr %t1342, null
+ br i1 %t1344, label %dc.inspect527, label %dc.checked530
+dc.inspect527:
+ %t1349 = getelementptr inbounds i8, ptr %t1342, i64 8 ; ->kind
+ %t1350 = load i32, ptr %t1349
+ %t1345 = icmp eq i32 %t1350, 12
+ br i1 %t1345, label %dc.capsule528, label %dc.checked530
+dc.capsule528:
+ %t1346 = getelementptr inbounds i8, ptr %t1342, i64 40 ; ->v.typed_ref.type_key
+ %t1347 = load ptr, ptr %t1346
+ %t1348 = icmp eq ptr %t1347, @sc_cs_864190948149583
+ br i1 %t1348, label %dc.exact529, label %dc.checked530
+dc.exact529:
+ %t1351 = getelementptr inbounds i8, ptr %t1342, i64 16 ; ->v.typed_ref.ptr
+ %t1352 = load ptr, ptr %t1351
+ %t1353 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1352)
+ store ptr %t1353, ptr %s1343
+ br label %dc.done531
+dc.checked530:
+ %t1354 = call ptr @sc_dc_103(ptr %t1342, ptr null)
+ store ptr %t1354, ptr %s1343
+ %t1355 = load i32, ptr %exc.cell
+ %t1356 = icmp ne i32 %t1355, 0
+ %t1357 = call i1 @llvm.expect.i1(i1 %t1356, i1 false)
+ br i1 %t1357, label %exc.u532, label %exc.k533
+exc.u532:
+ call void @scr_dyn_release(ptr %t1342)
+ br label %exc.cleanup2
+exc.k533:
+ br label %dc.done531
+dc.done531:
+ %t1358 = load ptr, ptr %s1343
+ %t1359 = call ptr @sc_f__x25_prototype_data__x25_m11_StaticServer()
+ %t1360 = load i32, ptr %exc.cell
+ %t1361 = icmp ne i32 %t1360, 0
+ %t1362 = call i1 @llvm.expect.i1(i1 %t1361, i1 false)
+ br i1 %t1362, label %exc.u534, label %exc.k535
+exc.u534:
+ call void @scr_dyn_release(ptr %t1342)
+ call void @sc_release__x25_m11_StaticServer(ptr %t1358)
+ call void @scr_dyn_release(ptr %t1359)
+ br label %exc.cleanup2
+exc.k535:
+ %t1363 = call ptr @scr_dyn_obj_create(ptr %t1359)
+ %t1364 = load i32, ptr %exc.cell
+ %t1365 = icmp ne i32 %t1364, 0
+ %t1366 = call i1 @llvm.expect.i1(i1 %t1365, i1 false)
+ br i1 %t1366, label %exc.u536, label %exc.k537
+exc.u536:
+ call void @scr_dyn_release(ptr %t1342)
+ call void @sc_release__x25_m11_StaticServer(ptr %t1358)
+ call void @scr_dyn_release(ptr %t1359)
+ call void @scr_dyn_release(ptr %t1363)
+ br label %exc.cleanup2
+exc.k537:
+ %t1367 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1358, i64 0, i32 6
+ %t1368 = load ptr, ptr %t1367
+ store ptr %t1363, ptr %t1367, !tbaa !204
+ call void @scr_dyn_release(ptr %t1368)
+ call void @scr_dyn_release(ptr %t1342)
+ call void @sc_release__x25_m11_StaticServer(ptr %t1358)
+ call void @scr_dyn_release(ptr %t1359)
+ br label %if.j526
+if.j526:
+ %t1369 = load ptr, ptr %sc_l_p_0
+ %t1370 = call ptr @sc_rc_retain_dyn(ptr %t1369)
+ %t1372 = icmp ne ptr %t1370, null
+ br i1 %t1372, label %dc.inspect538, label %dc.checked541
+dc.inspect538:
+ %t1377 = getelementptr inbounds i8, ptr %t1370, i64 8 ; ->kind
+ %t1378 = load i32, ptr %t1377
+ %t1373 = icmp eq i32 %t1378, 12
+ br i1 %t1373, label %dc.capsule539, label %dc.checked541
+dc.capsule539:
+ %t1374 = getelementptr inbounds i8, ptr %t1370, i64 40 ; ->v.typed_ref.type_key
+ %t1375 = load ptr, ptr %t1374
+ %t1376 = icmp eq ptr %t1375, @sc_cs_864190948149583
+ br i1 %t1376, label %dc.exact540, label %dc.checked541
+dc.exact540:
+ %t1379 = getelementptr inbounds i8, ptr %t1370, i64 16 ; ->v.typed_ref.ptr
+ %t1380 = load ptr, ptr %t1379
+ %t1381 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1380)
+ store ptr %t1381, ptr %s1371
+ br label %dc.done542
+dc.checked541:
+ %t1382 = call ptr @sc_dc_103(ptr %t1370, ptr null)
+ store ptr %t1382, ptr %s1371
+ %t1383 = load i32, ptr %exc.cell
+ %t1384 = icmp ne i32 %t1383, 0
+ %t1385 = call i1 @llvm.expect.i1(i1 %t1384, i1 false)
+ br i1 %t1385, label %exc.u543, label %exc.k544
+exc.u543:
+ call void @scr_dyn_release(ptr %t1370)
+ br label %exc.cleanup2
+exc.k544:
+ br label %dc.done542
+dc.done542:
+ %t1386 = load ptr, ptr %s1371
+ %t1387 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1386, i64 0, i32 6
+ %t1388 = load ptr, ptr %t1387, !tbaa !204
+ %t1389 = call ptr @sc_rc_retain_dyn(ptr %t1388)
+ call void @scr_dyn_release(ptr %t1370)
+ call void @sc_release__x25_m11_StaticServer(ptr %t1386)
+ %t1390 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1390)
+ ret ptr %t1389
+if.j517:
+ %t1391 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1392
+ %t1393 = icmp ne ptr %t1391, null
+ br i1 %t1393, label %brand.inspect545, label %brand.done547
+brand.inspect545:
+ %t1394 = getelementptr inbounds i8, ptr %t1391, i64 8 ; ->kind
+ %t1395 = load i32, ptr %t1394
+ %t1396 = icmp eq i32 %t1395, 12
+ br i1 %t1396, label %brand.capsule546, label %brand.done547
+brand.capsule546:
+ %t1397 = getelementptr inbounds i8, ptr %t1391, i64 40 ; ->v.typed_ref.type_key
+ %t1398 = load ptr, ptr %t1397
+ %t1399 = icmp eq ptr %t1398, @sc_cs_4074974279575818
+ store i1 true, ptr %s1392
+ br i1 %t1399, label %brand.done547, label %brand.compare548
+brand.compare548:
+ %t1400 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1391, ptr @sc_lit_4074974279575818)
+ store i1 %t1400, ptr %s1392
+ br label %brand.done547
+brand.done547:
+ %t1401 = load i1, ptr %s1392
+ br i1 %t1401, label %if.t549, label %if.j550
+if.t549:
+ %t1402 = load ptr, ptr %sc_l_p_0
+ %t1403 = call ptr @sc_rc_retain_dyn(ptr %t1402)
+ %t1405 = icmp ne ptr %t1403, null
+ br i1 %t1405, label %dc.inspect551, label %dc.checked554
+dc.inspect551:
+ %t1410 = getelementptr inbounds i8, ptr %t1403, i64 8 ; ->kind
+ %t1411 = load i32, ptr %t1410
+ %t1406 = icmp eq i32 %t1411, 12
+ br i1 %t1406, label %dc.capsule552, label %dc.checked554
+dc.capsule552:
+ %t1407 = getelementptr inbounds i8, ptr %t1403, i64 40 ; ->v.typed_ref.type_key
+ %t1408 = load ptr, ptr %t1407
+ %t1409 = icmp eq ptr %t1408, @sc_cs_4074974279575818
+ br i1 %t1409, label %dc.exact553, label %dc.checked554
+dc.exact553:
+ %t1412 = getelementptr inbounds i8, ptr %t1403, i64 16 ; ->v.typed_ref.ptr
+ %t1413 = load ptr, ptr %t1412
+ %t1414 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1413)
+ store ptr %t1414, ptr %s1404
+ br label %dc.done555
+dc.checked554:
+ %t1415 = call ptr @sc_dc_104(ptr %t1403, ptr null)
+ store ptr %t1415, ptr %s1404
+ %t1416 = load i32, ptr %exc.cell
+ %t1417 = icmp ne i32 %t1416, 0
+ %t1418 = call i1 @llvm.expect.i1(i1 %t1417, i1 false)
+ br i1 %t1418, label %exc.u556, label %exc.k557
+exc.u556:
+ call void @scr_dyn_release(ptr %t1403)
+ br label %exc.cleanup2
+exc.k557:
+ br label %dc.done555
+dc.done555:
+ %t1419 = load ptr, ptr %s1404
+ %t1420 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1419, i64 0, i32 2
+ %t1421 = load ptr, ptr %t1420, !tbaa !204
+ %t1422 = getelementptr inbounds i8, ptr %t1421, i64 8 ; ->kind
+ %t1423 = load i32, ptr %t1422
+ %t1424 = icmp eq i32 %t1423, 6
+ call void @scr_dyn_release(ptr %t1403)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1419)
+ br i1 %t1424, label %if.t558, label %if.j559
+if.t558:
+ %t1425 = load ptr, ptr %sc_l_p_0
+ %t1426 = call ptr @sc_rc_retain_dyn(ptr %t1425)
+ %t1428 = icmp ne ptr %t1426, null
+ br i1 %t1428, label %dc.inspect560, label %dc.checked563
+dc.inspect560:
+ %t1433 = getelementptr inbounds i8, ptr %t1426, i64 8 ; ->kind
+ %t1434 = load i32, ptr %t1433
+ %t1429 = icmp eq i32 %t1434, 12
+ br i1 %t1429, label %dc.capsule561, label %dc.checked563
+dc.capsule561:
+ %t1430 = getelementptr inbounds i8, ptr %t1426, i64 40 ; ->v.typed_ref.type_key
+ %t1431 = load ptr, ptr %t1430
+ %t1432 = icmp eq ptr %t1431, @sc_cs_4074974279575818
+ br i1 %t1432, label %dc.exact562, label %dc.checked563
+dc.exact562:
+ %t1435 = getelementptr inbounds i8, ptr %t1426, i64 16 ; ->v.typed_ref.ptr
+ %t1436 = load ptr, ptr %t1435
+ %t1437 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1436)
+ store ptr %t1437, ptr %s1427
+ br label %dc.done564
+dc.checked563:
+ %t1438 = call ptr @sc_dc_104(ptr %t1426, ptr null)
+ store ptr %t1438, ptr %s1427
+ %t1439 = load i32, ptr %exc.cell
+ %t1440 = icmp ne i32 %t1439, 0
+ %t1441 = call i1 @llvm.expect.i1(i1 %t1440, i1 false)
+ br i1 %t1441, label %exc.u565, label %exc.k566
+exc.u565:
+ call void @scr_dyn_release(ptr %t1426)
+ br label %exc.cleanup2
+exc.k566:
+ br label %dc.done564
+dc.done564:
+ %t1442 = load ptr, ptr %s1427
+ %t1443 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1444 = load i32, ptr %exc.cell
+ %t1445 = icmp ne i32 %t1444, 0
+ %t1446 = call i1 @llvm.expect.i1(i1 %t1445, i1 false)
+ br i1 %t1446, label %exc.u567, label %exc.k568
+exc.u567:
+ call void @scr_dyn_release(ptr %t1426)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1442)
+ call void @scr_dyn_release(ptr %t1443)
+ br label %exc.cleanup2
+exc.k568:
+ %t1447 = call ptr @scr_dyn_obj_create(ptr %t1443)
+ %t1448 = load i32, ptr %exc.cell
+ %t1449 = icmp ne i32 %t1448, 0
+ %t1450 = call i1 @llvm.expect.i1(i1 %t1449, i1 false)
+ br i1 %t1450, label %exc.u569, label %exc.k570
+exc.u569:
+ call void @scr_dyn_release(ptr %t1426)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1442)
+ call void @scr_dyn_release(ptr %t1443)
+ call void @scr_dyn_release(ptr %t1447)
+ br label %exc.cleanup2
+exc.k570:
+ %t1451 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1442, i64 0, i32 2
+ %t1452 = load ptr, ptr %t1451
+ store ptr %t1447, ptr %t1451, !tbaa !204
+ call void @scr_dyn_release(ptr %t1452)
+ call void @scr_dyn_release(ptr %t1426)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1442)
+ call void @scr_dyn_release(ptr %t1443)
+ br label %if.j559
+if.j559:
+ %t1453 = load ptr, ptr %sc_l_p_0
+ %t1454 = call ptr @sc_rc_retain_dyn(ptr %t1453)
+ %t1456 = icmp ne ptr %t1454, null
+ br i1 %t1456, label %dc.inspect571, label %dc.checked574
+dc.inspect571:
+ %t1461 = getelementptr inbounds i8, ptr %t1454, i64 8 ; ->kind
+ %t1462 = load i32, ptr %t1461
+ %t1457 = icmp eq i32 %t1462, 12
+ br i1 %t1457, label %dc.capsule572, label %dc.checked574
+dc.capsule572:
+ %t1458 = getelementptr inbounds i8, ptr %t1454, i64 40 ; ->v.typed_ref.type_key
+ %t1459 = load ptr, ptr %t1458
+ %t1460 = icmp eq ptr %t1459, @sc_cs_4074974279575818
+ br i1 %t1460, label %dc.exact573, label %dc.checked574
+dc.exact573:
+ %t1463 = getelementptr inbounds i8, ptr %t1454, i64 16 ; ->v.typed_ref.ptr
+ %t1464 = load ptr, ptr %t1463
+ %t1465 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1464)
+ store ptr %t1465, ptr %s1455
+ br label %dc.done575
+dc.checked574:
+ %t1466 = call ptr @sc_dc_104(ptr %t1454, ptr null)
+ store ptr %t1466, ptr %s1455
+ %t1467 = load i32, ptr %exc.cell
+ %t1468 = icmp ne i32 %t1467, 0
+ %t1469 = call i1 @llvm.expect.i1(i1 %t1468, i1 false)
+ br i1 %t1469, label %exc.u576, label %exc.k577
+exc.u576:
+ call void @scr_dyn_release(ptr %t1454)
+ br label %exc.cleanup2
+exc.k577:
+ br label %dc.done575
+dc.done575:
+ %t1470 = load ptr, ptr %s1455
+ %t1471 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1470, i64 0, i32 2
+ %t1472 = load ptr, ptr %t1471, !tbaa !204
+ %t1473 = call ptr @sc_rc_retain_dyn(ptr %t1472)
+ call void @scr_dyn_release(ptr %t1454)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1470)
+ %t1474 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1474)
+ ret ptr %t1473
+if.j550:
+ %t1475 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1476
+ %t1477 = icmp ne ptr %t1475, null
+ br i1 %t1477, label %brand.inspect578, label %brand.done580
+brand.inspect578:
+ %t1478 = getelementptr inbounds i8, ptr %t1475, i64 8 ; ->kind
+ %t1479 = load i32, ptr %t1478
+ %t1480 = icmp eq i32 %t1479, 12
+ br i1 %t1480, label %brand.capsule579, label %brand.done580
+brand.capsule579:
+ %t1481 = getelementptr inbounds i8, ptr %t1475, i64 40 ; ->v.typed_ref.type_key
+ %t1482 = load ptr, ptr %t1481
+ %t1483 = icmp eq ptr %t1482, @sc_cs_4408523527888294
+ store i1 true, ptr %s1476
+ br i1 %t1483, label %brand.done580, label %brand.compare581
+brand.compare581:
+ %t1484 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1475, ptr @sc_lit_4408523527888294)
+ store i1 %t1484, ptr %s1476
+ br label %brand.done580
+brand.done580:
+ %t1485 = load i1, ptr %s1476
+ br i1 %t1485, label %if.t582, label %if.j583
+if.t582:
+ %t1486 = load ptr, ptr %sc_l_p_0
+ %t1487 = call ptr @sc_rc_retain_dyn(ptr %t1486)
+ %t1489 = icmp ne ptr %t1487, null
+ br i1 %t1489, label %dc.inspect584, label %dc.checked587
+dc.inspect584:
+ %t1494 = getelementptr inbounds i8, ptr %t1487, i64 8 ; ->kind
+ %t1495 = load i32, ptr %t1494
+ %t1490 = icmp eq i32 %t1495, 12
+ br i1 %t1490, label %dc.capsule585, label %dc.checked587
+dc.capsule585:
+ %t1491 = getelementptr inbounds i8, ptr %t1487, i64 40 ; ->v.typed_ref.type_key
+ %t1492 = load ptr, ptr %t1491
+ %t1493 = icmp eq ptr %t1492, @sc_cs_4408523527888294
+ br i1 %t1493, label %dc.exact586, label %dc.checked587
+dc.exact586:
+ %t1496 = getelementptr inbounds i8, ptr %t1487, i64 16 ; ->v.typed_ref.ptr
+ %t1497 = load ptr, ptr %t1496
+ %t1498 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1497)
+ store ptr %t1498, ptr %s1488
+ br label %dc.done588
+dc.checked587:
+ %t1499 = call ptr @sc_dc_21(ptr %t1487, ptr null)
+ store ptr %t1499, ptr %s1488
+ %t1500 = load i32, ptr %exc.cell
+ %t1501 = icmp ne i32 %t1500, 0
+ %t1502 = call i1 @llvm.expect.i1(i1 %t1501, i1 false)
+ br i1 %t1502, label %exc.u589, label %exc.k590
+exc.u589:
+ call void @scr_dyn_release(ptr %t1487)
+ br label %exc.cleanup2
+exc.k590:
+ br label %dc.done588
+dc.done588:
+ %t1503 = load ptr, ptr %s1488
+ %t1504 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1503, i64 0, i32 7
+ %t1505 = load ptr, ptr %t1504, !tbaa !204
+ %t1506 = getelementptr inbounds i8, ptr %t1505, i64 8 ; ->kind
+ %t1507 = load i32, ptr %t1506
+ %t1508 = icmp eq i32 %t1507, 6
+ call void @scr_dyn_release(ptr %t1487)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t1503)
+ br i1 %t1508, label %if.t591, label %if.j592
+if.t591:
+ %t1509 = load ptr, ptr %sc_l_p_0
+ %t1510 = call ptr @sc_rc_retain_dyn(ptr %t1509)
+ %t1512 = icmp ne ptr %t1510, null
+ br i1 %t1512, label %dc.inspect593, label %dc.checked596
+dc.inspect593:
+ %t1517 = getelementptr inbounds i8, ptr %t1510, i64 8 ; ->kind
+ %t1518 = load i32, ptr %t1517
+ %t1513 = icmp eq i32 %t1518, 12
+ br i1 %t1513, label %dc.capsule594, label %dc.checked596
+dc.capsule594:
+ %t1514 = getelementptr inbounds i8, ptr %t1510, i64 40 ; ->v.typed_ref.type_key
+ %t1515 = load ptr, ptr %t1514
+ %t1516 = icmp eq ptr %t1515, @sc_cs_4408523527888294
+ br i1 %t1516, label %dc.exact595, label %dc.checked596
+dc.exact595:
+ %t1519 = getelementptr inbounds i8, ptr %t1510, i64 16 ; ->v.typed_ref.ptr
+ %t1520 = load ptr, ptr %t1519
+ %t1521 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1520)
+ store ptr %t1521, ptr %s1511
+ br label %dc.done597
+dc.checked596:
+ %t1522 = call ptr @sc_dc_21(ptr %t1510, ptr null)
+ store ptr %t1522, ptr %s1511
+ %t1523 = load i32, ptr %exc.cell
+ %t1524 = icmp ne i32 %t1523, 0
+ %t1525 = call i1 @llvm.expect.i1(i1 %t1524, i1 false)
+ br i1 %t1525, label %exc.u598, label %exc.k599
+exc.u598:
+ call void @scr_dyn_release(ptr %t1510)
+ br label %exc.cleanup2
+exc.k599:
+ br label %dc.done597
+dc.done597:
+ %t1526 = load ptr, ptr %s1511
+ %t1527 = call ptr @scr_dyn_new_obj()
+ %t1528 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1526, i64 0, i32 7
+ %t1529 = load ptr, ptr %t1528
+ store ptr %t1527, ptr %t1528, !tbaa !204
+ call void @scr_dyn_release(ptr %t1529)
+ call void @scr_dyn_release(ptr %t1510)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t1526)
+ br label %if.j592
+if.j592:
+ %t1530 = load ptr, ptr %sc_l_p_0
+ %t1531 = call ptr @sc_rc_retain_dyn(ptr %t1530)
+ %t1533 = icmp ne ptr %t1531, null
+ br i1 %t1533, label %dc.inspect600, label %dc.checked603
+dc.inspect600:
+ %t1538 = getelementptr inbounds i8, ptr %t1531, i64 8 ; ->kind
+ %t1539 = load i32, ptr %t1538
+ %t1534 = icmp eq i32 %t1539, 12
+ br i1 %t1534, label %dc.capsule601, label %dc.checked603
+dc.capsule601:
+ %t1535 = getelementptr inbounds i8, ptr %t1531, i64 40 ; ->v.typed_ref.type_key
+ %t1536 = load ptr, ptr %t1535
+ %t1537 = icmp eq ptr %t1536, @sc_cs_4408523527888294
+ br i1 %t1537, label %dc.exact602, label %dc.checked603
+dc.exact602:
+ %t1540 = getelementptr inbounds i8, ptr %t1531, i64 16 ; ->v.typed_ref.ptr
+ %t1541 = load ptr, ptr %t1540
+ %t1542 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1541)
+ store ptr %t1542, ptr %s1532
+ br label %dc.done604
+dc.checked603:
+ %t1543 = call ptr @sc_dc_21(ptr %t1531, ptr null)
+ store ptr %t1543, ptr %s1532
+ %t1544 = load i32, ptr %exc.cell
+ %t1545 = icmp ne i32 %t1544, 0
+ %t1546 = call i1 @llvm.expect.i1(i1 %t1545, i1 false)
+ br i1 %t1546, label %exc.u605, label %exc.k606
+exc.u605:
+ call void @scr_dyn_release(ptr %t1531)
+ br label %exc.cleanup2
+exc.k606:
+ br label %dc.done604
+dc.done604:
+ %t1547 = load ptr, ptr %s1532
+ %t1548 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1547, i64 0, i32 7
+ %t1549 = load ptr, ptr %t1548, !tbaa !204
+ %t1550 = call ptr @sc_rc_retain_dyn(ptr %t1549)
+ call void @scr_dyn_release(ptr %t1531)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t1547)
+ %t1551 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1551)
+ ret ptr %t1550
+if.j583:
+ %t1552 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1553
+ %t1554 = icmp ne ptr %t1552, null
+ br i1 %t1554, label %brand.inspect607, label %brand.done609
+brand.inspect607:
+ %t1555 = getelementptr inbounds i8, ptr %t1552, i64 8 ; ->kind
+ %t1556 = load i32, ptr %t1555
+ %t1557 = icmp eq i32 %t1556, 12
+ br i1 %t1557, label %brand.capsule608, label %brand.done609
+brand.capsule608:
+ %t1558 = getelementptr inbounds i8, ptr %t1552, i64 40 ; ->v.typed_ref.type_key
+ %t1559 = load ptr, ptr %t1558
+ %t1560 = icmp eq ptr %t1559, @sc_cs_3163508115280491
+ store i1 true, ptr %s1553
+ br i1 %t1560, label %brand.done609, label %brand.compare610
+brand.compare610:
+ %t1561 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1552, ptr @sc_lit_3163508115280491)
+ store i1 %t1561, ptr %s1553
+ br label %brand.done609
+brand.done609:
+ %t1562 = load i1, ptr %s1553
+ br i1 %t1562, label %if.t611, label %if.j612
+if.t611:
+ %t1563 = load ptr, ptr %sc_l_p_0
+ %t1564 = call ptr @sc_rc_retain_dyn(ptr %t1563)
+ %t1566 = icmp ne ptr %t1564, null
+ br i1 %t1566, label %dc.inspect613, label %dc.checked616
+dc.inspect613:
+ %t1571 = getelementptr inbounds i8, ptr %t1564, i64 8 ; ->kind
+ %t1572 = load i32, ptr %t1571
+ %t1567 = icmp eq i32 %t1572, 12
+ br i1 %t1567, label %dc.capsule614, label %dc.checked616
+dc.capsule614:
+ %t1568 = getelementptr inbounds i8, ptr %t1564, i64 40 ; ->v.typed_ref.type_key
+ %t1569 = load ptr, ptr %t1568
+ %t1570 = icmp eq ptr %t1569, @sc_cs_3163508115280491
+ br i1 %t1570, label %dc.exact615, label %dc.checked616
+dc.exact615:
+ %t1573 = getelementptr inbounds i8, ptr %t1564, i64 16 ; ->v.typed_ref.ptr
+ %t1574 = load ptr, ptr %t1573
+ %t1575 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1574)
+ store ptr %t1575, ptr %s1565
+ br label %dc.done617
+dc.checked616:
+ %t1576 = call ptr @sc_dc_105(ptr %t1564, ptr null)
+ store ptr %t1576, ptr %s1565
+ %t1577 = load i32, ptr %exc.cell
+ %t1578 = icmp ne i32 %t1577, 0
+ %t1579 = call i1 @llvm.expect.i1(i1 %t1578, i1 false)
+ br i1 %t1579, label %exc.u618, label %exc.k619
+exc.u618:
+ call void @scr_dyn_release(ptr %t1564)
+ br label %exc.cleanup2
+exc.k619:
+ br label %dc.done617
+dc.done617:
+ %t1580 = load ptr, ptr %s1565
+ %t1581 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1580, i64 0, i32 21
+ %t1582 = load ptr, ptr %t1581, !tbaa !204
+ %t1583 = getelementptr inbounds i8, ptr %t1582, i64 8 ; ->kind
+ %t1584 = load i32, ptr %t1583
+ %t1585 = icmp eq i32 %t1584, 6
+ call void @scr_dyn_release(ptr %t1564)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t1580)
+ br i1 %t1585, label %if.t620, label %if.j621
+if.t620:
+ %t1586 = load ptr, ptr %sc_l_p_0
+ %t1587 = call ptr @sc_rc_retain_dyn(ptr %t1586)
+ %t1589 = icmp ne ptr %t1587, null
+ br i1 %t1589, label %dc.inspect622, label %dc.checked625
+dc.inspect622:
+ %t1594 = getelementptr inbounds i8, ptr %t1587, i64 8 ; ->kind
+ %t1595 = load i32, ptr %t1594
+ %t1590 = icmp eq i32 %t1595, 12
+ br i1 %t1590, label %dc.capsule623, label %dc.checked625
+dc.capsule623:
+ %t1591 = getelementptr inbounds i8, ptr %t1587, i64 40 ; ->v.typed_ref.type_key
+ %t1592 = load ptr, ptr %t1591
+ %t1593 = icmp eq ptr %t1592, @sc_cs_3163508115280491
+ br i1 %t1593, label %dc.exact624, label %dc.checked625
+dc.exact624:
+ %t1596 = getelementptr inbounds i8, ptr %t1587, i64 16 ; ->v.typed_ref.ptr
+ %t1597 = load ptr, ptr %t1596
+ %t1598 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1597)
+ store ptr %t1598, ptr %s1588
+ br label %dc.done626
+dc.checked625:
+ %t1599 = call ptr @sc_dc_105(ptr %t1587, ptr null)
+ store ptr %t1599, ptr %s1588
+ %t1600 = load i32, ptr %exc.cell
+ %t1601 = icmp ne i32 %t1600, 0
+ %t1602 = call i1 @llvm.expect.i1(i1 %t1601, i1 false)
+ br i1 %t1602, label %exc.u627, label %exc.k628
+exc.u627:
+ call void @scr_dyn_release(ptr %t1587)
+ br label %exc.cleanup2
+exc.k628:
+ br label %dc.done626
+dc.done626:
+ %t1603 = load ptr, ptr %s1588
+ %t1604 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser()
+ %t1605 = load i32, ptr %exc.cell
+ %t1606 = icmp ne i32 %t1605, 0
+ %t1607 = call i1 @llvm.expect.i1(i1 %t1606, i1 false)
+ br i1 %t1607, label %exc.u629, label %exc.k630
+exc.u629:
+ call void @scr_dyn_release(ptr %t1587)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t1603)
+ call void @scr_dyn_release(ptr %t1604)
+ br label %exc.cleanup2
+exc.k630:
+ %t1608 = call ptr @scr_dyn_obj_create(ptr %t1604)
+ %t1609 = load i32, ptr %exc.cell
+ %t1610 = icmp ne i32 %t1609, 0
+ %t1611 = call i1 @llvm.expect.i1(i1 %t1610, i1 false)
+ br i1 %t1611, label %exc.u631, label %exc.k632
+exc.u631:
+ call void @scr_dyn_release(ptr %t1587)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t1603)
+ call void @scr_dyn_release(ptr %t1604)
+ call void @scr_dyn_release(ptr %t1608)
+ br label %exc.cleanup2
+exc.k632:
+ %t1612 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1603, i64 0, i32 21
+ %t1613 = load ptr, ptr %t1612
+ store ptr %t1608, ptr %t1612, !tbaa !204
+ call void @scr_dyn_release(ptr %t1613)
+ call void @scr_dyn_release(ptr %t1587)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t1603)
+ call void @scr_dyn_release(ptr %t1604)
+ br label %if.j621
+if.j621:
+ %t1614 = load ptr, ptr %sc_l_p_0
+ %t1615 = call ptr @sc_rc_retain_dyn(ptr %t1614)
+ %t1617 = icmp ne ptr %t1615, null
+ br i1 %t1617, label %dc.inspect633, label %dc.checked636
+dc.inspect633:
+ %t1622 = getelementptr inbounds i8, ptr %t1615, i64 8 ; ->kind
+ %t1623 = load i32, ptr %t1622
+ %t1618 = icmp eq i32 %t1623, 12
+ br i1 %t1618, label %dc.capsule634, label %dc.checked636
+dc.capsule634:
+ %t1619 = getelementptr inbounds i8, ptr %t1615, i64 40 ; ->v.typed_ref.type_key
+ %t1620 = load ptr, ptr %t1619
+ %t1621 = icmp eq ptr %t1620, @sc_cs_3163508115280491
+ br i1 %t1621, label %dc.exact635, label %dc.checked636
+dc.exact635:
+ %t1624 = getelementptr inbounds i8, ptr %t1615, i64 16 ; ->v.typed_ref.ptr
+ %t1625 = load ptr, ptr %t1624
+ %t1626 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1625)
+ store ptr %t1626, ptr %s1616
+ br label %dc.done637
+dc.checked636:
+ %t1627 = call ptr @sc_dc_105(ptr %t1615, ptr null)
+ store ptr %t1627, ptr %s1616
+ %t1628 = load i32, ptr %exc.cell
+ %t1629 = icmp ne i32 %t1628, 0
+ %t1630 = call i1 @llvm.expect.i1(i1 %t1629, i1 false)
+ br i1 %t1630, label %exc.u638, label %exc.k639
+exc.u638:
+ call void @scr_dyn_release(ptr %t1615)
+ br label %exc.cleanup2
+exc.k639:
+ br label %dc.done637
+dc.done637:
+ %t1631 = load ptr, ptr %s1616
+ %t1632 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1631, i64 0, i32 21
+ %t1633 = load ptr, ptr %t1632, !tbaa !204
+ %t1634 = call ptr @sc_rc_retain_dyn(ptr %t1633)
+ call void @scr_dyn_release(ptr %t1615)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t1631)
+ %t1635 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1635)
+ ret ptr %t1634
+if.j612:
+ %t1636 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1637
+ %t1638 = icmp ne ptr %t1636, null
+ br i1 %t1638, label %brand.inspect640, label %brand.done642
+brand.inspect640:
+ %t1639 = getelementptr inbounds i8, ptr %t1636, i64 8 ; ->kind
+ %t1640 = load i32, ptr %t1639
+ %t1641 = icmp eq i32 %t1640, 12
+ br i1 %t1641, label %brand.capsule641, label %brand.done642
+brand.capsule641:
+ %t1642 = getelementptr inbounds i8, ptr %t1636, i64 40 ; ->v.typed_ref.type_key
+ %t1643 = load ptr, ptr %t1642
+ %t1644 = icmp eq ptr %t1643, @sc_cs_1875086966829314
+ store i1 true, ptr %s1637
+ br i1 %t1644, label %brand.done642, label %brand.compare643
+brand.compare643:
+ %t1645 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1636, ptr @sc_lit_1875086966829314)
+ store i1 %t1645, ptr %s1637
+ br label %brand.done642
+brand.done642:
+ %t1646 = load i1, ptr %s1637
+ br i1 %t1646, label %if.t644, label %if.j645
+if.t644:
+ %t1647 = load ptr, ptr %sc_l_p_0
+ %t1648 = call ptr @sc_rc_retain_dyn(ptr %t1647)
+ %t1650 = icmp ne ptr %t1648, null
+ br i1 %t1650, label %dc.inspect646, label %dc.checked649
+dc.inspect646:
+ %t1655 = getelementptr inbounds i8, ptr %t1648, i64 8 ; ->kind
+ %t1656 = load i32, ptr %t1655
+ %t1651 = icmp eq i32 %t1656, 12
+ br i1 %t1651, label %dc.capsule647, label %dc.checked649
+dc.capsule647:
+ %t1652 = getelementptr inbounds i8, ptr %t1648, i64 40 ; ->v.typed_ref.type_key
+ %t1653 = load ptr, ptr %t1652
+ %t1654 = icmp eq ptr %t1653, @sc_cs_1875086966829314
+ br i1 %t1654, label %dc.exact648, label %dc.checked649
+dc.exact648:
+ %t1657 = getelementptr inbounds i8, ptr %t1648, i64 16 ; ->v.typed_ref.ptr
+ %t1658 = load ptr, ptr %t1657
+ %t1659 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1658)
+ store ptr %t1659, ptr %s1649
+ br label %dc.done650
+dc.checked649:
+ %t1660 = call ptr @sc_dc_106(ptr %t1648, ptr null)
+ store ptr %t1660, ptr %s1649
+ %t1661 = load i32, ptr %exc.cell
+ %t1662 = icmp ne i32 %t1661, 0
+ %t1663 = call i1 @llvm.expect.i1(i1 %t1662, i1 false)
+ br i1 %t1663, label %exc.u651, label %exc.k652
+exc.u651:
+ call void @scr_dyn_release(ptr %t1648)
+ br label %exc.cleanup2
+exc.k652:
+ br label %dc.done650
+dc.done650:
+ %t1664 = load ptr, ptr %s1649
+ %t1665 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1664, i64 0, i32 22
+ %t1666 = load ptr, ptr %t1665, !tbaa !204
+ %t1667 = getelementptr inbounds i8, ptr %t1666, i64 8 ; ->kind
+ %t1668 = load i32, ptr %t1667
+ %t1669 = icmp eq i32 %t1668, 6
+ call void @scr_dyn_release(ptr %t1648)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1664)
+ br i1 %t1669, label %if.t653, label %if.j654
+if.t653:
+ %t1670 = load ptr, ptr %sc_l_p_0
+ %t1671 = call ptr @sc_rc_retain_dyn(ptr %t1670)
+ %t1673 = icmp ne ptr %t1671, null
+ br i1 %t1673, label %dc.inspect655, label %dc.checked658
+dc.inspect655:
+ %t1678 = getelementptr inbounds i8, ptr %t1671, i64 8 ; ->kind
+ %t1679 = load i32, ptr %t1678
+ %t1674 = icmp eq i32 %t1679, 12
+ br i1 %t1674, label %dc.capsule656, label %dc.checked658
+dc.capsule656:
+ %t1675 = getelementptr inbounds i8, ptr %t1671, i64 40 ; ->v.typed_ref.type_key
+ %t1676 = load ptr, ptr %t1675
+ %t1677 = icmp eq ptr %t1676, @sc_cs_1875086966829314
+ br i1 %t1677, label %dc.exact657, label %dc.checked658
+dc.exact657:
+ %t1680 = getelementptr inbounds i8, ptr %t1671, i64 16 ; ->v.typed_ref.ptr
+ %t1681 = load ptr, ptr %t1680
+ %t1682 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1681)
+ store ptr %t1682, ptr %s1672
+ br label %dc.done659
+dc.checked658:
+ %t1683 = call ptr @sc_dc_106(ptr %t1671, ptr null)
+ store ptr %t1683, ptr %s1672
+ %t1684 = load i32, ptr %exc.cell
+ %t1685 = icmp ne i32 %t1684, 0
+ %t1686 = call i1 @llvm.expect.i1(i1 %t1685, i1 false)
+ br i1 %t1686, label %exc.u660, label %exc.k661
+exc.u660:
+ call void @scr_dyn_release(ptr %t1671)
+ br label %exc.cleanup2
+exc.k661:
+ br label %dc.done659
+dc.done659:
+ %t1687 = load ptr, ptr %s1672
+ %t1688 = call ptr @scr_dyn_new_obj()
+ %t1689 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1687, i64 0, i32 22
+ %t1690 = load ptr, ptr %t1689
+ store ptr %t1688, ptr %t1689, !tbaa !204
+ call void @scr_dyn_release(ptr %t1690)
+ call void @scr_dyn_release(ptr %t1671)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1687)
+ br label %if.j654
+if.j654:
+ %t1691 = load ptr, ptr %sc_l_p_0
+ %t1692 = call ptr @sc_rc_retain_dyn(ptr %t1691)
+ %t1694 = icmp ne ptr %t1692, null
+ br i1 %t1694, label %dc.inspect662, label %dc.checked665
+dc.inspect662:
+ %t1699 = getelementptr inbounds i8, ptr %t1692, i64 8 ; ->kind
+ %t1700 = load i32, ptr %t1699
+ %t1695 = icmp eq i32 %t1700, 12
+ br i1 %t1695, label %dc.capsule663, label %dc.checked665
+dc.capsule663:
+ %t1696 = getelementptr inbounds i8, ptr %t1692, i64 40 ; ->v.typed_ref.type_key
+ %t1697 = load ptr, ptr %t1696
+ %t1698 = icmp eq ptr %t1697, @sc_cs_1875086966829314
+ br i1 %t1698, label %dc.exact664, label %dc.checked665
+dc.exact664:
+ %t1701 = getelementptr inbounds i8, ptr %t1692, i64 16 ; ->v.typed_ref.ptr
+ %t1702 = load ptr, ptr %t1701
+ %t1703 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1702)
+ store ptr %t1703, ptr %s1693
+ br label %dc.done666
+dc.checked665:
+ %t1704 = call ptr @sc_dc_106(ptr %t1692, ptr null)
+ store ptr %t1704, ptr %s1693
+ %t1705 = load i32, ptr %exc.cell
+ %t1706 = icmp ne i32 %t1705, 0
+ %t1707 = call i1 @llvm.expect.i1(i1 %t1706, i1 false)
+ br i1 %t1707, label %exc.u667, label %exc.k668
+exc.u667:
+ call void @scr_dyn_release(ptr %t1692)
+ br label %exc.cleanup2
+exc.k668:
+ br label %dc.done666
+dc.done666:
+ %t1708 = load ptr, ptr %s1693
+ %t1709 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1708, i64 0, i32 22
+ %t1710 = load ptr, ptr %t1709, !tbaa !204
+ %t1711 = call ptr @sc_rc_retain_dyn(ptr %t1710)
+ call void @scr_dyn_release(ptr %t1692)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1708)
+ %t1712 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1712)
+ ret ptr %t1711
+if.j645:
+ %t1713 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1714
+ %t1715 = icmp ne ptr %t1713, null
+ br i1 %t1715, label %brand.inspect669, label %brand.done671
+brand.inspect669:
+ %t1716 = getelementptr inbounds i8, ptr %t1713, i64 8 ; ->kind
+ %t1717 = load i32, ptr %t1716
+ %t1718 = icmp eq i32 %t1717, 12
+ br i1 %t1718, label %brand.capsule670, label %brand.done671
+brand.capsule670:
+ %t1719 = getelementptr inbounds i8, ptr %t1713, i64 40 ; ->v.typed_ref.type_key
+ %t1720 = load ptr, ptr %t1719
+ %t1721 = icmp eq ptr %t1720, @sc_cs_2434838942941195
+ store i1 true, ptr %s1714
+ br i1 %t1721, label %brand.done671, label %brand.compare672
+brand.compare672:
+ %t1722 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1713, ptr @sc_lit_2434838942941195)
+ store i1 %t1722, ptr %s1714
+ br label %brand.done671
+brand.done671:
+ %t1723 = load i1, ptr %s1714
+ br i1 %t1723, label %tern.t673, label %tern.f674
+tern.t673:
+ %t1725 = load ptr, ptr %sc_l_p_0
+ %t1726 = call ptr @sc_rc_retain_dyn(ptr %t1725)
+ %t1728 = icmp ne ptr %t1726, null
+ br i1 %t1728, label %dc.inspect676, label %dc.checked679
+dc.inspect676:
+ %t1733 = getelementptr inbounds i8, ptr %t1726, i64 8 ; ->kind
+ %t1734 = load i32, ptr %t1733
+ %t1729 = icmp eq i32 %t1734, 12
+ br i1 %t1729, label %dc.capsule677, label %dc.checked679
+dc.capsule677:
+ %t1730 = getelementptr inbounds i8, ptr %t1726, i64 40 ; ->v.typed_ref.type_key
+ %t1731 = load ptr, ptr %t1730
+ %t1732 = icmp eq ptr %t1731, @sc_cs_2434838942941195
+ br i1 %t1732, label %dc.exact678, label %dc.checked679
+dc.exact678:
+ %t1735 = getelementptr inbounds i8, ptr %t1726, i64 16 ; ->v.typed_ref.ptr
+ %t1736 = load ptr, ptr %t1735
+ %t1737 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1736)
+ store ptr %t1737, ptr %s1727
+ br label %dc.done680
+dc.checked679:
+ %t1738 = call ptr @sc_dc_52(ptr %t1726, ptr null)
+ store ptr %t1738, ptr %s1727
+ %t1739 = load i32, ptr %exc.cell
+ %t1740 = icmp ne i32 %t1739, 0
+ %t1741 = call i1 @llvm.expect.i1(i1 %t1740, i1 false)
+ br i1 %t1741, label %exc.u681, label %exc.k682
+exc.u681:
+ call void @scr_dyn_release(ptr %t1726)
+ br label %exc.cleanup2
+exc.k682:
+ br label %dc.done680
+dc.done680:
+ %t1742 = load ptr, ptr %s1727
+ %t1743 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1742, i64 0, i32 1
+ %t1744 = load ptr, ptr %t1743
+ %t1745 = getelementptr inbounds %ScrVt, ptr %t1744, i64 0, i32 0
+ %t1746 = load i64, ptr %t1745
+ %t1747 = icmp uge i64 %t1746, 18
+ %t1748 = icmp ule i64 %t1746, 18
+ %t1749 = and i1 %t1747, %t1748 ; instanceof %m3.LiteResponse
+ store i1 %t1749, ptr %s1724
+ call void @scr_dyn_release(ptr %t1726)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1742)
+ br label %tern.j675
+tern.f674:
+ store i1 false, ptr %s1724
+ br label %tern.j675
+tern.j675:
+ %t1750 = load i1, ptr %s1724
+ br i1 %t1750, label %if.t683, label %if.j684
+if.t683:
+ %t1751 = load ptr, ptr %sc_l_p_0
+ %t1752 = call ptr @sc_rc_retain_dyn(ptr %t1751)
+ %t1754 = icmp ne ptr %t1752, null
+ br i1 %t1754, label %dc.inspect685, label %dc.checked688
+dc.inspect685:
+ %t1759 = getelementptr inbounds i8, ptr %t1752, i64 8 ; ->kind
+ %t1760 = load i32, ptr %t1759
+ %t1755 = icmp eq i32 %t1760, 12
+ br i1 %t1755, label %dc.capsule686, label %dc.checked688
+dc.capsule686:
+ %t1756 = getelementptr inbounds i8, ptr %t1752, i64 40 ; ->v.typed_ref.type_key
+ %t1757 = load ptr, ptr %t1756
+ %t1758 = icmp eq ptr %t1757, @sc_cs_2434838942941195
+ br i1 %t1758, label %dc.exact687, label %dc.checked688
+dc.exact687:
+ %t1761 = getelementptr inbounds i8, ptr %t1752, i64 16 ; ->v.typed_ref.ptr
+ %t1762 = load ptr, ptr %t1761
+ %t1763 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1762)
+ store ptr %t1763, ptr %s1753
+ br label %dc.done689
+dc.checked688:
+ %t1764 = call ptr @sc_dc_52(ptr %t1752, ptr null)
+ store ptr %t1764, ptr %s1753
+ %t1765 = load i32, ptr %exc.cell
+ %t1766 = icmp ne i32 %t1765, 0
+ %t1767 = call i1 @llvm.expect.i1(i1 %t1766, i1 false)
+ br i1 %t1767, label %exc.u690, label %exc.k691
+exc.u690:
+ call void @scr_dyn_release(ptr %t1752)
+ br label %exc.cleanup2
+exc.k691:
+ br label %dc.done689
+dc.done689:
+ %t1768 = load ptr, ptr %s1753
+ %t1769 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1768, i64 0, i32 2
+ %t1770 = load ptr, ptr %t1769, !tbaa !204
+ %t1771 = getelementptr inbounds i8, ptr %t1770, i64 8 ; ->kind
+ %t1772 = load i32, ptr %t1771
+ %t1773 = icmp eq i32 %t1772, 6
+ call void @scr_dyn_release(ptr %t1752)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1768)
+ br i1 %t1773, label %if.t692, label %if.j693
+if.t692:
+ %t1774 = load ptr, ptr %sc_l_p_0
+ %t1775 = call ptr @sc_rc_retain_dyn(ptr %t1774)
+ %t1777 = icmp ne ptr %t1775, null
+ br i1 %t1777, label %dc.inspect694, label %dc.checked697
+dc.inspect694:
+ %t1782 = getelementptr inbounds i8, ptr %t1775, i64 8 ; ->kind
+ %t1783 = load i32, ptr %t1782
+ %t1778 = icmp eq i32 %t1783, 12
+ br i1 %t1778, label %dc.capsule695, label %dc.checked697
+dc.capsule695:
+ %t1779 = getelementptr inbounds i8, ptr %t1775, i64 40 ; ->v.typed_ref.type_key
+ %t1780 = load ptr, ptr %t1779
+ %t1781 = icmp eq ptr %t1780, @sc_cs_2434838942941195
+ br i1 %t1781, label %dc.exact696, label %dc.checked697
+dc.exact696:
+ %t1784 = getelementptr inbounds i8, ptr %t1775, i64 16 ; ->v.typed_ref.ptr
+ %t1785 = load ptr, ptr %t1784
+ %t1786 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1785)
+ store ptr %t1786, ptr %s1776
+ br label %dc.done698
+dc.checked697:
+ %t1787 = call ptr @sc_dc_52(ptr %t1775, ptr null)
+ store ptr %t1787, ptr %s1776
+ %t1788 = load i32, ptr %exc.cell
+ %t1789 = icmp ne i32 %t1788, 0
+ %t1790 = call i1 @llvm.expect.i1(i1 %t1789, i1 false)
+ br i1 %t1790, label %exc.u699, label %exc.k700
+exc.u699:
+ call void @scr_dyn_release(ptr %t1775)
+ br label %exc.cleanup2
+exc.k700:
+ br label %dc.done698
+dc.done698:
+ %t1791 = load ptr, ptr %s1776
+ %t1792 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1793 = load i32, ptr %exc.cell
+ %t1794 = icmp ne i32 %t1793, 0
+ %t1795 = call i1 @llvm.expect.i1(i1 %t1794, i1 false)
+ br i1 %t1795, label %exc.u701, label %exc.k702
+exc.u701:
+ call void @scr_dyn_release(ptr %t1775)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1791)
+ call void @scr_dyn_release(ptr %t1792)
+ br label %exc.cleanup2
+exc.k702:
+ %t1796 = call ptr @scr_dyn_obj_create(ptr %t1792)
+ %t1797 = load i32, ptr %exc.cell
+ %t1798 = icmp ne i32 %t1797, 0
+ %t1799 = call i1 @llvm.expect.i1(i1 %t1798, i1 false)
+ br i1 %t1799, label %exc.u703, label %exc.k704
+exc.u703:
+ call void @scr_dyn_release(ptr %t1775)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1791)
+ call void @scr_dyn_release(ptr %t1792)
+ call void @scr_dyn_release(ptr %t1796)
+ br label %exc.cleanup2
+exc.k704:
+ %t1800 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1791, i64 0, i32 2
+ %t1801 = load ptr, ptr %t1800
+ store ptr %t1796, ptr %t1800, !tbaa !204
+ call void @scr_dyn_release(ptr %t1801)
+ call void @scr_dyn_release(ptr %t1775)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1791)
+ call void @scr_dyn_release(ptr %t1792)
+ br label %if.j693
+if.j693:
+ %t1802 = load ptr, ptr %sc_l_p_0
+ %t1803 = call ptr @sc_rc_retain_dyn(ptr %t1802)
+ %t1805 = icmp ne ptr %t1803, null
+ br i1 %t1805, label %dc.inspect705, label %dc.checked708
+dc.inspect705:
+ %t1810 = getelementptr inbounds i8, ptr %t1803, i64 8 ; ->kind
+ %t1811 = load i32, ptr %t1810
+ %t1806 = icmp eq i32 %t1811, 12
+ br i1 %t1806, label %dc.capsule706, label %dc.checked708
+dc.capsule706:
+ %t1807 = getelementptr inbounds i8, ptr %t1803, i64 40 ; ->v.typed_ref.type_key
+ %t1808 = load ptr, ptr %t1807
+ %t1809 = icmp eq ptr %t1808, @sc_cs_2434838942941195
+ br i1 %t1809, label %dc.exact707, label %dc.checked708
+dc.exact707:
+ %t1812 = getelementptr inbounds i8, ptr %t1803, i64 16 ; ->v.typed_ref.ptr
+ %t1813 = load ptr, ptr %t1812
+ %t1814 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1813)
+ store ptr %t1814, ptr %s1804
+ br label %dc.done709
+dc.checked708:
+ %t1815 = call ptr @sc_dc_52(ptr %t1803, ptr null)
+ store ptr %t1815, ptr %s1804
+ %t1816 = load i32, ptr %exc.cell
+ %t1817 = icmp ne i32 %t1816, 0
+ %t1818 = call i1 @llvm.expect.i1(i1 %t1817, i1 false)
+ br i1 %t1818, label %exc.u710, label %exc.k711
+exc.u710:
+ call void @scr_dyn_release(ptr %t1803)
+ br label %exc.cleanup2
+exc.k711:
+ br label %dc.done709
+dc.done709:
+ %t1819 = load ptr, ptr %s1804
+ %t1820 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1819, i64 0, i32 2
+ %t1821 = load ptr, ptr %t1820, !tbaa !204
+ %t1822 = call ptr @sc_rc_retain_dyn(ptr %t1821)
+ call void @scr_dyn_release(ptr %t1803)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1819)
+ %t1823 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1823)
+ ret ptr %t1822
+if.j684:
+ %t1824 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1825
+ %t1826 = icmp ne ptr %t1824, null
+ br i1 %t1826, label %brand.inspect712, label %brand.done714
+brand.inspect712:
+ %t1827 = getelementptr inbounds i8, ptr %t1824, i64 8 ; ->kind
+ %t1828 = load i32, ptr %t1827
+ %t1829 = icmp eq i32 %t1828, 12
+ br i1 %t1829, label %brand.capsule713, label %brand.done714
+brand.capsule713:
+ %t1830 = getelementptr inbounds i8, ptr %t1824, i64 40 ; ->v.typed_ref.type_key
+ %t1831 = load ptr, ptr %t1830
+ %t1832 = icmp eq ptr %t1831, @sc_cs_2434838942941195
+ store i1 true, ptr %s1825
+ br i1 %t1832, label %brand.done714, label %brand.compare715
+brand.compare715:
+ %t1833 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1824, ptr @sc_lit_2434838942941195)
+ store i1 %t1833, ptr %s1825
+ br label %brand.done714
+brand.done714:
+ %t1834 = load i1, ptr %s1825
+ br i1 %t1834, label %if.t716, label %if.j717
+if.t716:
+ %t1835 = load ptr, ptr %sc_l_p_0
+ %t1836 = call ptr @sc_rc_retain_dyn(ptr %t1835)
+ %t1838 = icmp ne ptr %t1836, null
+ br i1 %t1838, label %dc.inspect718, label %dc.checked721
+dc.inspect718:
+ %t1843 = getelementptr inbounds i8, ptr %t1836, i64 8 ; ->kind
+ %t1844 = load i32, ptr %t1843
+ %t1839 = icmp eq i32 %t1844, 12
+ br i1 %t1839, label %dc.capsule719, label %dc.checked721
+dc.capsule719:
+ %t1840 = getelementptr inbounds i8, ptr %t1836, i64 40 ; ->v.typed_ref.type_key
+ %t1841 = load ptr, ptr %t1840
+ %t1842 = icmp eq ptr %t1841, @sc_cs_2434838942941195
+ br i1 %t1842, label %dc.exact720, label %dc.checked721
+dc.exact720:
+ %t1845 = getelementptr inbounds i8, ptr %t1836, i64 16 ; ->v.typed_ref.ptr
+ %t1846 = load ptr, ptr %t1845
+ %t1847 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1846)
+ store ptr %t1847, ptr %s1837
+ br label %dc.done722
+dc.checked721:
+ %t1848 = call ptr @sc_dc_52(ptr %t1836, ptr null)
+ store ptr %t1848, ptr %s1837
+ %t1849 = load i32, ptr %exc.cell
+ %t1850 = icmp ne i32 %t1849, 0
+ %t1851 = call i1 @llvm.expect.i1(i1 %t1850, i1 false)
+ br i1 %t1851, label %exc.u723, label %exc.k724
+exc.u723:
+ call void @scr_dyn_release(ptr %t1836)
+ br label %exc.cleanup2
+exc.k724:
+ br label %dc.done722
+dc.done722:
+ %t1852 = load ptr, ptr %s1837
+ %t1853 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1852, i64 0, i32 2
+ %t1854 = load ptr, ptr %t1853, !tbaa !204
+ %t1855 = getelementptr inbounds i8, ptr %t1854, i64 8 ; ->kind
+ %t1856 = load i32, ptr %t1855
+ %t1857 = icmp eq i32 %t1856, 6
+ call void @scr_dyn_release(ptr %t1836)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1852)
+ br i1 %t1857, label %if.t725, label %if.j726
+if.t725:
+ %t1858 = load ptr, ptr %sc_l_p_0
+ %t1859 = call ptr @sc_rc_retain_dyn(ptr %t1858)
+ %t1861 = icmp ne ptr %t1859, null
+ br i1 %t1861, label %dc.inspect727, label %dc.checked730
+dc.inspect727:
+ %t1866 = getelementptr inbounds i8, ptr %t1859, i64 8 ; ->kind
+ %t1867 = load i32, ptr %t1866
+ %t1862 = icmp eq i32 %t1867, 12
+ br i1 %t1862, label %dc.capsule728, label %dc.checked730
+dc.capsule728:
+ %t1863 = getelementptr inbounds i8, ptr %t1859, i64 40 ; ->v.typed_ref.type_key
+ %t1864 = load ptr, ptr %t1863
+ %t1865 = icmp eq ptr %t1864, @sc_cs_2434838942941195
+ br i1 %t1865, label %dc.exact729, label %dc.checked730
+dc.exact729:
+ %t1868 = getelementptr inbounds i8, ptr %t1859, i64 16 ; ->v.typed_ref.ptr
+ %t1869 = load ptr, ptr %t1868
+ %t1870 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1869)
+ store ptr %t1870, ptr %s1860
+ br label %dc.done731
+dc.checked730:
+ %t1871 = call ptr @sc_dc_52(ptr %t1859, ptr null)
+ store ptr %t1871, ptr %s1860
+ %t1872 = load i32, ptr %exc.cell
+ %t1873 = icmp ne i32 %t1872, 0
+ %t1874 = call i1 @llvm.expect.i1(i1 %t1873, i1 false)
+ br i1 %t1874, label %exc.u732, label %exc.k733
+exc.u732:
+ call void @scr_dyn_release(ptr %t1859)
+ br label %exc.cleanup2
+exc.k733:
+ br label %dc.done731
+dc.done731:
+ %t1875 = load ptr, ptr %s1860
+ %t1876 = load ptr, ptr %sc_l_p_0
+ %t1877 = call ptr @sc_rc_retain_dyn(ptr %t1876)
+ %t1879 = icmp ne ptr %t1877, null
+ br i1 %t1879, label %dc.inspect734, label %dc.checked737
+dc.inspect734:
+ %t1884 = getelementptr inbounds i8, ptr %t1877, i64 8 ; ->kind
+ %t1885 = load i32, ptr %t1884
+ %t1880 = icmp eq i32 %t1885, 12
+ br i1 %t1880, label %dc.capsule735, label %dc.checked737
+dc.capsule735:
+ %t1881 = getelementptr inbounds i8, ptr %t1877, i64 40 ; ->v.typed_ref.type_key
+ %t1882 = load ptr, ptr %t1881
+ %t1883 = icmp eq ptr %t1882, @sc_cs_2434838942941195
+ br i1 %t1883, label %dc.exact736, label %dc.checked737
+dc.exact736:
+ %t1886 = getelementptr inbounds i8, ptr %t1877, i64 16 ; ->v.typed_ref.ptr
+ %t1887 = load ptr, ptr %t1886
+ %t1888 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1887)
+ store ptr %t1888, ptr %s1878
+ br label %dc.done738
+dc.checked737:
+ %t1889 = call ptr @sc_dc_52(ptr %t1877, ptr null)
+ store ptr %t1889, ptr %s1878
+ %t1890 = load i32, ptr %exc.cell
+ %t1891 = icmp ne i32 %t1890, 0
+ %t1892 = call i1 @llvm.expect.i1(i1 %t1891, i1 false)
+ br i1 %t1892, label %exc.u739, label %exc.k740
+exc.u739:
+ call void @scr_dyn_release(ptr %t1859)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1875)
+ call void @scr_dyn_release(ptr %t1877)
+ br label %exc.cleanup2
+exc.k740:
+ br label %dc.done738
+dc.done738:
+ %t1893 = load ptr, ptr %s1878
+ %t1894 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1893, i64 0, i32 1
+ %t1895 = load ptr, ptr %t1894
+ %t1896 = getelementptr inbounds %ScrVt, ptr %t1895, i64 0, i32 0
+ %t1897 = load i64, ptr %t1896
+ %t1898 = icmp uge i64 %t1897, 18
+ %t1899 = icmp ule i64 %t1897, 18
+ %t1900 = and i1 %t1898, %t1899 ; instanceof %m3.LiteResponse
+ br i1 %t1900, label %tern.t741, label %tern.f742
+tern.t741:
+ %t1902 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1903 = load i32, ptr %exc.cell
+ %t1904 = icmp ne i32 %t1903, 0
+ %t1905 = call i1 @llvm.expect.i1(i1 %t1904, i1 false)
+ br i1 %t1905, label %exc.u744, label %exc.k745
+exc.u744:
+ call void @scr_dyn_release(ptr %t1902)
+ call void @scr_dyn_release(ptr %t1859)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1875)
+ call void @scr_dyn_release(ptr %t1877)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1893)
+ br label %exc.cleanup2
+exc.k745:
+ store ptr %t1902, ptr %s1901
+ br label %tern.j743
+tern.f742:
+ %t1906 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t1907 = load i32, ptr %exc.cell
+ %t1908 = icmp ne i32 %t1907, 0
+ %t1909 = call i1 @llvm.expect.i1(i1 %t1908, i1 false)
+ br i1 %t1909, label %exc.u746, label %exc.k747
+exc.u746:
+ call void @scr_dyn_release(ptr %t1906)
+ call void @scr_dyn_release(ptr %t1859)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1875)
+ call void @scr_dyn_release(ptr %t1877)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1893)
+ br label %exc.cleanup2
+exc.k747:
+ store ptr %t1906, ptr %s1901
+ br label %tern.j743
+tern.j743:
+ %t1910 = load ptr, ptr %s1901
+ %t1911 = call ptr @scr_dyn_obj_create(ptr %t1910)
+ %t1912 = load i32, ptr %exc.cell
+ %t1913 = icmp ne i32 %t1912, 0
+ %t1914 = call i1 @llvm.expect.i1(i1 %t1913, i1 false)
+ br i1 %t1914, label %exc.u748, label %exc.k749
+exc.u748:
+ call void @scr_dyn_release(ptr %t1859)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1875)
+ call void @scr_dyn_release(ptr %t1877)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1893)
+ call void @scr_dyn_release(ptr %t1910)
+ call void @scr_dyn_release(ptr %t1911)
+ br label %exc.cleanup2
+exc.k749:
+ %t1915 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1875, i64 0, i32 2
+ %t1916 = load ptr, ptr %t1915
+ store ptr %t1911, ptr %t1915, !tbaa !204
+ call void @scr_dyn_release(ptr %t1916)
+ call void @scr_dyn_release(ptr %t1859)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1875)
+ call void @scr_dyn_release(ptr %t1877)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1893)
+ call void @scr_dyn_release(ptr %t1910)
+ br label %if.j726
+if.j726:
+ %t1917 = load ptr, ptr %sc_l_p_0
+ %t1918 = call ptr @sc_rc_retain_dyn(ptr %t1917)
+ %t1920 = icmp ne ptr %t1918, null
+ br i1 %t1920, label %dc.inspect750, label %dc.checked753
+dc.inspect750:
+ %t1925 = getelementptr inbounds i8, ptr %t1918, i64 8 ; ->kind
+ %t1926 = load i32, ptr %t1925
+ %t1921 = icmp eq i32 %t1926, 12
+ br i1 %t1921, label %dc.capsule751, label %dc.checked753
+dc.capsule751:
+ %t1922 = getelementptr inbounds i8, ptr %t1918, i64 40 ; ->v.typed_ref.type_key
+ %t1923 = load ptr, ptr %t1922
+ %t1924 = icmp eq ptr %t1923, @sc_cs_2434838942941195
+ br i1 %t1924, label %dc.exact752, label %dc.checked753
+dc.exact752:
+ %t1927 = getelementptr inbounds i8, ptr %t1918, i64 16 ; ->v.typed_ref.ptr
+ %t1928 = load ptr, ptr %t1927
+ %t1929 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1928)
+ store ptr %t1929, ptr %s1919
+ br label %dc.done754
+dc.checked753:
+ %t1930 = call ptr @sc_dc_52(ptr %t1918, ptr null)
+ store ptr %t1930, ptr %s1919
+ %t1931 = load i32, ptr %exc.cell
+ %t1932 = icmp ne i32 %t1931, 0
+ %t1933 = call i1 @llvm.expect.i1(i1 %t1932, i1 false)
+ br i1 %t1933, label %exc.u755, label %exc.k756
+exc.u755:
+ call void @scr_dyn_release(ptr %t1918)
+ br label %exc.cleanup2
+exc.k756:
+ br label %dc.done754
+dc.done754:
+ %t1934 = load ptr, ptr %s1919
+ %t1935 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1934, i64 0, i32 2
+ %t1936 = load ptr, ptr %t1935, !tbaa !204
+ %t1937 = call ptr @sc_rc_retain_dyn(ptr %t1936)
+ call void @scr_dyn_release(ptr %t1918)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1934)
+ %t1938 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1938)
+ ret ptr %t1937
+if.j717:
+ %t1939 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1940
+ %t1941 = icmp ne ptr %t1939, null
+ br i1 %t1941, label %brand.inspect757, label %brand.done759
+brand.inspect757:
+ %t1942 = getelementptr inbounds i8, ptr %t1939, i64 8 ; ->kind
+ %t1943 = load i32, ptr %t1942
+ %t1944 = icmp eq i32 %t1943, 12
+ br i1 %t1944, label %brand.capsule758, label %brand.done759
+brand.capsule758:
+ %t1945 = getelementptr inbounds i8, ptr %t1939, i64 40 ; ->v.typed_ref.type_key
+ %t1946 = load ptr, ptr %t1945
+ %t1947 = icmp eq ptr %t1946, @sc_cs_67546268704151
+ store i1 true, ptr %s1940
+ br i1 %t1947, label %brand.done759, label %brand.compare760
+brand.compare760:
+ %t1948 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1939, ptr @sc_lit_67546268704151)
+ store i1 %t1948, ptr %s1940
+ br label %brand.done759
+brand.done759:
+ %t1949 = load i1, ptr %s1940
+ br i1 %t1949, label %if.t761, label %if.j762
+if.t761:
+ %t1950 = load ptr, ptr %sc_l_p_0
+ %t1951 = call ptr @sc_rc_retain_dyn(ptr %t1950)
+ %t1953 = icmp ne ptr %t1951, null
+ br i1 %t1953, label %dc.inspect763, label %dc.checked766
+dc.inspect763:
+ %t1958 = getelementptr inbounds i8, ptr %t1951, i64 8 ; ->kind
+ %t1959 = load i32, ptr %t1958
+ %t1954 = icmp eq i32 %t1959, 12
+ br i1 %t1954, label %dc.capsule764, label %dc.checked766
+dc.capsule764:
+ %t1955 = getelementptr inbounds i8, ptr %t1951, i64 40 ; ->v.typed_ref.type_key
+ %t1956 = load ptr, ptr %t1955
+ %t1957 = icmp eq ptr %t1956, @sc_cs_67546268704151
+ br i1 %t1957, label %dc.exact765, label %dc.checked766
+dc.exact765:
+ %t1960 = getelementptr inbounds i8, ptr %t1951, i64 16 ; ->v.typed_ref.ptr
+ %t1961 = load ptr, ptr %t1960
+ %t1962 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1961)
+ store ptr %t1962, ptr %s1952
+ br label %dc.done767
+dc.checked766:
+ %t1963 = call ptr @sc_dc_107(ptr %t1951, ptr null)
+ store ptr %t1963, ptr %s1952
+ %t1964 = load i32, ptr %exc.cell
+ %t1965 = icmp ne i32 %t1964, 0
+ %t1966 = call i1 @llvm.expect.i1(i1 %t1965, i1 false)
+ br i1 %t1966, label %exc.u768, label %exc.k769
+exc.u768:
+ call void @scr_dyn_release(ptr %t1951)
+ br label %exc.cleanup2
+exc.k769:
+ br label %dc.done767
+dc.done767:
+ %t1967 = load ptr, ptr %s1952
+ %t1968 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1967, i64 0, i32 2
+ %t1969 = load ptr, ptr %t1968, !tbaa !204
+ %t1970 = getelementptr inbounds i8, ptr %t1969, i64 8 ; ->kind
+ %t1971 = load i32, ptr %t1970
+ %t1972 = icmp eq i32 %t1971, 6
+ call void @scr_dyn_release(ptr %t1951)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t1967)
+ br i1 %t1972, label %if.t770, label %if.j771
+if.t770:
+ %t1973 = load ptr, ptr %sc_l_p_0
+ %t1974 = call ptr @sc_rc_retain_dyn(ptr %t1973)
+ %t1976 = icmp ne ptr %t1974, null
+ br i1 %t1976, label %dc.inspect772, label %dc.checked775
+dc.inspect772:
+ %t1981 = getelementptr inbounds i8, ptr %t1974, i64 8 ; ->kind
+ %t1982 = load i32, ptr %t1981
+ %t1977 = icmp eq i32 %t1982, 12
+ br i1 %t1977, label %dc.capsule773, label %dc.checked775
+dc.capsule773:
+ %t1978 = getelementptr inbounds i8, ptr %t1974, i64 40 ; ->v.typed_ref.type_key
+ %t1979 = load ptr, ptr %t1978
+ %t1980 = icmp eq ptr %t1979, @sc_cs_67546268704151
+ br i1 %t1980, label %dc.exact774, label %dc.checked775
+dc.exact774:
+ %t1983 = getelementptr inbounds i8, ptr %t1974, i64 16 ; ->v.typed_ref.ptr
+ %t1984 = load ptr, ptr %t1983
+ %t1985 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1984)
+ store ptr %t1985, ptr %s1975
+ br label %dc.done776
+dc.checked775:
+ %t1986 = call ptr @sc_dc_107(ptr %t1974, ptr null)
+ store ptr %t1986, ptr %s1975
+ %t1987 = load i32, ptr %exc.cell
+ %t1988 = icmp ne i32 %t1987, 0
+ %t1989 = call i1 @llvm.expect.i1(i1 %t1988, i1 false)
+ br i1 %t1989, label %exc.u777, label %exc.k778
+exc.u777:
+ call void @scr_dyn_release(ptr %t1974)
+ br label %exc.cleanup2
+exc.k778:
+ br label %dc.done776
+dc.done776:
+ %t1990 = load ptr, ptr %s1975
+ %t1991 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteHeaders()
+ %t1992 = load i32, ptr %exc.cell
+ %t1993 = icmp ne i32 %t1992, 0
+ %t1994 = call i1 @llvm.expect.i1(i1 %t1993, i1 false)
+ br i1 %t1994, label %exc.u779, label %exc.k780
+exc.u779:
+ call void @scr_dyn_release(ptr %t1974)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t1990)
+ call void @scr_dyn_release(ptr %t1991)
+ br label %exc.cleanup2
+exc.k780:
+ %t1995 = call ptr @scr_dyn_obj_create(ptr %t1991)
+ %t1996 = load i32, ptr %exc.cell
+ %t1997 = icmp ne i32 %t1996, 0
+ %t1998 = call i1 @llvm.expect.i1(i1 %t1997, i1 false)
+ br i1 %t1998, label %exc.u781, label %exc.k782
+exc.u781:
+ call void @scr_dyn_release(ptr %t1974)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t1990)
+ call void @scr_dyn_release(ptr %t1991)
+ call void @scr_dyn_release(ptr %t1995)
+ br label %exc.cleanup2
+exc.k782:
+ %t1999 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1990, i64 0, i32 2
+ %t2000 = load ptr, ptr %t1999
+ store ptr %t1995, ptr %t1999, !tbaa !204
+ call void @scr_dyn_release(ptr %t2000)
+ call void @scr_dyn_release(ptr %t1974)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t1990)
+ call void @scr_dyn_release(ptr %t1991)
+ br label %if.j771
+if.j771:
+ %t2001 = load ptr, ptr %sc_l_p_0
+ %t2002 = call ptr @sc_rc_retain_dyn(ptr %t2001)
+ %t2004 = icmp ne ptr %t2002, null
+ br i1 %t2004, label %dc.inspect783, label %dc.checked786
+dc.inspect783:
+ %t2009 = getelementptr inbounds i8, ptr %t2002, i64 8 ; ->kind
+ %t2010 = load i32, ptr %t2009
+ %t2005 = icmp eq i32 %t2010, 12
+ br i1 %t2005, label %dc.capsule784, label %dc.checked786
+dc.capsule784:
+ %t2006 = getelementptr inbounds i8, ptr %t2002, i64 40 ; ->v.typed_ref.type_key
+ %t2007 = load ptr, ptr %t2006
+ %t2008 = icmp eq ptr %t2007, @sc_cs_67546268704151
+ br i1 %t2008, label %dc.exact785, label %dc.checked786
+dc.exact785:
+ %t2011 = getelementptr inbounds i8, ptr %t2002, i64 16 ; ->v.typed_ref.ptr
+ %t2012 = load ptr, ptr %t2011
+ %t2013 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t2012)
+ store ptr %t2013, ptr %s2003
+ br label %dc.done787
+dc.checked786:
+ %t2014 = call ptr @sc_dc_107(ptr %t2002, ptr null)
+ store ptr %t2014, ptr %s2003
+ %t2015 = load i32, ptr %exc.cell
+ %t2016 = icmp ne i32 %t2015, 0
+ %t2017 = call i1 @llvm.expect.i1(i1 %t2016, i1 false)
+ br i1 %t2017, label %exc.u788, label %exc.k789
+exc.u788:
+ call void @scr_dyn_release(ptr %t2002)
+ br label %exc.cleanup2
+exc.k789:
+ br label %dc.done787
+dc.done787:
+ %t2018 = load ptr, ptr %s2003
+ %t2019 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t2018, i64 0, i32 2
+ %t2020 = load ptr, ptr %t2019, !tbaa !204
+ %t2021 = call ptr @sc_rc_retain_dyn(ptr %t2020)
+ call void @scr_dyn_release(ptr %t2002)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t2018)
+ %t2022 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2022)
+ ret ptr %t2021
+if.j762:
+ %t2023 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2024
+ %t2025 = icmp ne ptr %t2023, null
+ br i1 %t2025, label %brand.inspect790, label %brand.done792
+brand.inspect790:
+ %t2026 = getelementptr inbounds i8, ptr %t2023, i64 8 ; ->kind
+ %t2027 = load i32, ptr %t2026
+ %t2028 = icmp eq i32 %t2027, 12
+ br i1 %t2028, label %brand.capsule791, label %brand.done792
+brand.capsule791:
+ %t2029 = getelementptr inbounds i8, ptr %t2023, i64 40 ; ->v.typed_ref.type_key
+ %t2030 = load ptr, ptr %t2029
+ %t2031 = icmp eq ptr %t2030, @sc_cs_2519527309428716
+ store i1 true, ptr %s2024
+ br i1 %t2031, label %brand.done792, label %brand.compare793
+brand.compare793:
+ %t2032 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2023, ptr @sc_lit_2519527309428716)
+ store i1 %t2032, ptr %s2024
+ br label %brand.done792
+brand.done792:
+ %t2033 = load i1, ptr %s2024
+ br i1 %t2033, label %tern.t794, label %tern.f795
+tern.t794:
+ %t2035 = load ptr, ptr %sc_l_p_0
+ %t2036 = call ptr @sc_rc_retain_dyn(ptr %t2035)
+ %t2038 = icmp ne ptr %t2036, null
+ br i1 %t2038, label %dc.inspect797, label %dc.checked800
+dc.inspect797:
+ %t2043 = getelementptr inbounds i8, ptr %t2036, i64 8 ; ->kind
+ %t2044 = load i32, ptr %t2043
+ %t2039 = icmp eq i32 %t2044, 12
+ br i1 %t2039, label %dc.capsule798, label %dc.checked800
+dc.capsule798:
+ %t2040 = getelementptr inbounds i8, ptr %t2036, i64 40 ; ->v.typed_ref.type_key
+ %t2041 = load ptr, ptr %t2040
+ %t2042 = icmp eq ptr %t2041, @sc_cs_2519527309428716
+ br i1 %t2042, label %dc.exact799, label %dc.checked800
+dc.exact799:
+ %t2045 = getelementptr inbounds i8, ptr %t2036, i64 16 ; ->v.typed_ref.ptr
+ %t2046 = load ptr, ptr %t2045
+ %t2047 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2046)
+ store ptr %t2047, ptr %s2037
+ br label %dc.done801
+dc.checked800:
+ %t2048 = call ptr @sc_dc_108(ptr %t2036, ptr null)
+ store ptr %t2048, ptr %s2037
+ %t2049 = load i32, ptr %exc.cell
+ %t2050 = icmp ne i32 %t2049, 0
+ %t2051 = call i1 @llvm.expect.i1(i1 %t2050, i1 false)
+ br i1 %t2051, label %exc.u802, label %exc.k803
+exc.u802:
+ call void @scr_dyn_release(ptr %t2036)
+ br label %exc.cleanup2
+exc.k803:
+ br label %dc.done801
+dc.done801:
+ %t2052 = load ptr, ptr %s2037
+ %t2053 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t2052, i64 0, i32 1
+ %t2054 = load ptr, ptr %t2053
+ %t2055 = getelementptr inbounds %ScrVt, ptr %t2054, i64 0, i32 0
+ %t2056 = load i64, ptr %t2055
+ %t2057 = icmp uge i64 %t2056, 38
+ %t2058 = icmp ule i64 %t2056, 38
+ %t2059 = and i1 %t2057, %t2058 ; instanceof %m14.BakedAssets
+ store i1 %t2059, ptr %s2034
+ call void @scr_dyn_release(ptr %t2036)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2052)
+ br label %tern.j796
+tern.f795:
+ store i1 false, ptr %s2034
+ br label %tern.j796
+tern.j796:
+ %t2060 = load i1, ptr %s2034
+ br i1 %t2060, label %if.t804, label %if.j805
+if.t804:
+ %t2061 = load ptr, ptr %sc_l_p_0
+ %t2062 = call ptr @sc_rc_retain_dyn(ptr %t2061)
+ %t2064 = icmp ne ptr %t2062, null
+ br i1 %t2064, label %dc.inspect806, label %dc.checked809
+dc.inspect806:
+ %t2069 = getelementptr inbounds i8, ptr %t2062, i64 8 ; ->kind
+ %t2070 = load i32, ptr %t2069
+ %t2065 = icmp eq i32 %t2070, 12
+ br i1 %t2065, label %dc.capsule807, label %dc.checked809
+dc.capsule807:
+ %t2066 = getelementptr inbounds i8, ptr %t2062, i64 40 ; ->v.typed_ref.type_key
+ %t2067 = load ptr, ptr %t2066
+ %t2068 = icmp eq ptr %t2067, @sc_cs_2519527309428716
+ br i1 %t2068, label %dc.exact808, label %dc.checked809
+dc.exact808:
+ %t2071 = getelementptr inbounds i8, ptr %t2062, i64 16 ; ->v.typed_ref.ptr
+ %t2072 = load ptr, ptr %t2071
+ %t2073 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2072)
+ store ptr %t2073, ptr %s2063
+ br label %dc.done810
+dc.checked809:
+ %t2074 = call ptr @sc_dc_108(ptr %t2062, ptr null)
+ store ptr %t2074, ptr %s2063
+ %t2075 = load i32, ptr %exc.cell
+ %t2076 = icmp ne i32 %t2075, 0
+ %t2077 = call i1 @llvm.expect.i1(i1 %t2076, i1 false)
+ br i1 %t2077, label %exc.u811, label %exc.k812
+exc.u811:
+ call void @scr_dyn_release(ptr %t2062)
+ br label %exc.cleanup2
+exc.k812:
+ br label %dc.done810
+dc.done810:
+ %t2078 = load ptr, ptr %s2063
+ %t2079 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2078, i64 0, i32 2
+ %t2080 = load ptr, ptr %t2079, !tbaa !204
+ %t2081 = getelementptr inbounds i8, ptr %t2080, i64 8 ; ->kind
+ %t2082 = load i32, ptr %t2081
+ %t2083 = icmp eq i32 %t2082, 6
+ call void @scr_dyn_release(ptr %t2062)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2078)
+ br i1 %t2083, label %if.t813, label %if.j814
+if.t813:
+ %t2084 = load ptr, ptr %sc_l_p_0
+ %t2085 = call ptr @sc_rc_retain_dyn(ptr %t2084)
+ %t2087 = icmp ne ptr %t2085, null
+ br i1 %t2087, label %dc.inspect815, label %dc.checked818
+dc.inspect815:
+ %t2092 = getelementptr inbounds i8, ptr %t2085, i64 8 ; ->kind
+ %t2093 = load i32, ptr %t2092
+ %t2088 = icmp eq i32 %t2093, 12
+ br i1 %t2088, label %dc.capsule816, label %dc.checked818
+dc.capsule816:
+ %t2089 = getelementptr inbounds i8, ptr %t2085, i64 40 ; ->v.typed_ref.type_key
+ %t2090 = load ptr, ptr %t2089
+ %t2091 = icmp eq ptr %t2090, @sc_cs_2519527309428716
+ br i1 %t2091, label %dc.exact817, label %dc.checked818
+dc.exact817:
+ %t2094 = getelementptr inbounds i8, ptr %t2085, i64 16 ; ->v.typed_ref.ptr
+ %t2095 = load ptr, ptr %t2094
+ %t2096 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2095)
+ store ptr %t2096, ptr %s2086
+ br label %dc.done819
+dc.checked818:
+ %t2097 = call ptr @sc_dc_108(ptr %t2085, ptr null)
+ store ptr %t2097, ptr %s2086
+ %t2098 = load i32, ptr %exc.cell
+ %t2099 = icmp ne i32 %t2098, 0
+ %t2100 = call i1 @llvm.expect.i1(i1 %t2099, i1 false)
+ br i1 %t2100, label %exc.u820, label %exc.k821
+exc.u820:
+ call void @scr_dyn_release(ptr %t2085)
+ br label %exc.cleanup2
+exc.k821:
+ br label %dc.done819
+dc.done819:
+ %t2101 = load ptr, ptr %s2086
+ %t2102 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t2103 = load i32, ptr %exc.cell
+ %t2104 = icmp ne i32 %t2103, 0
+ %t2105 = call i1 @llvm.expect.i1(i1 %t2104, i1 false)
+ br i1 %t2105, label %exc.u822, label %exc.k823
+exc.u822:
+ call void @scr_dyn_release(ptr %t2085)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t2101)
+ call void @scr_dyn_release(ptr %t2102)
+ br label %exc.cleanup2
+exc.k823:
+ %t2106 = call ptr @scr_dyn_obj_create(ptr %t2102)
+ %t2107 = load i32, ptr %exc.cell
+ %t2108 = icmp ne i32 %t2107, 0
+ %t2109 = call i1 @llvm.expect.i1(i1 %t2108, i1 false)
+ br i1 %t2109, label %exc.u824, label %exc.k825
+exc.u824:
+ call void @scr_dyn_release(ptr %t2085)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t2101)
+ call void @scr_dyn_release(ptr %t2102)
+ call void @scr_dyn_release(ptr %t2106)
+ br label %exc.cleanup2
+exc.k825:
+ %t2110 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2101, i64 0, i32 2
+ %t2111 = load ptr, ptr %t2110
+ store ptr %t2106, ptr %t2110, !tbaa !204
+ call void @scr_dyn_release(ptr %t2111)
+ call void @scr_dyn_release(ptr %t2085)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t2101)
+ call void @scr_dyn_release(ptr %t2102)
+ br label %if.j814
+if.j814:
+ %t2112 = load ptr, ptr %sc_l_p_0
+ %t2113 = call ptr @sc_rc_retain_dyn(ptr %t2112)
+ %t2115 = icmp ne ptr %t2113, null
+ br i1 %t2115, label %dc.inspect826, label %dc.checked829
+dc.inspect826:
+ %t2120 = getelementptr inbounds i8, ptr %t2113, i64 8 ; ->kind
+ %t2121 = load i32, ptr %t2120
+ %t2116 = icmp eq i32 %t2121, 12
+ br i1 %t2116, label %dc.capsule827, label %dc.checked829
+dc.capsule827:
+ %t2117 = getelementptr inbounds i8, ptr %t2113, i64 40 ; ->v.typed_ref.type_key
+ %t2118 = load ptr, ptr %t2117
+ %t2119 = icmp eq ptr %t2118, @sc_cs_2519527309428716
+ br i1 %t2119, label %dc.exact828, label %dc.checked829
+dc.exact828:
+ %t2122 = getelementptr inbounds i8, ptr %t2113, i64 16 ; ->v.typed_ref.ptr
+ %t2123 = load ptr, ptr %t2122
+ %t2124 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2123)
+ store ptr %t2124, ptr %s2114
+ br label %dc.done830
+dc.checked829:
+ %t2125 = call ptr @sc_dc_108(ptr %t2113, ptr null)
+ store ptr %t2125, ptr %s2114
+ %t2126 = load i32, ptr %exc.cell
+ %t2127 = icmp ne i32 %t2126, 0
+ %t2128 = call i1 @llvm.expect.i1(i1 %t2127, i1 false)
+ br i1 %t2128, label %exc.u831, label %exc.k832
+exc.u831:
+ call void @scr_dyn_release(ptr %t2113)
+ br label %exc.cleanup2
+exc.k832:
+ br label %dc.done830
+dc.done830:
+ %t2129 = load ptr, ptr %s2114
+ %t2130 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2129, i64 0, i32 2
+ %t2131 = load ptr, ptr %t2130, !tbaa !204
+ %t2132 = call ptr @sc_rc_retain_dyn(ptr %t2131)
+ call void @scr_dyn_release(ptr %t2113)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2129)
+ %t2133 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2133)
+ ret ptr %t2132
+if.j805:
+ %t2134 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2135
+ %t2136 = icmp ne ptr %t2134, null
+ br i1 %t2136, label %brand.inspect833, label %brand.done835
+brand.inspect833:
+ %t2137 = getelementptr inbounds i8, ptr %t2134, i64 8 ; ->kind
+ %t2138 = load i32, ptr %t2137
+ %t2139 = icmp eq i32 %t2138, 12
+ br i1 %t2139, label %brand.capsule834, label %brand.done835
+brand.capsule834:
+ %t2140 = getelementptr inbounds i8, ptr %t2134, i64 40 ; ->v.typed_ref.type_key
+ %t2141 = load ptr, ptr %t2140
+ %t2142 = icmp eq ptr %t2141, @sc_cs_2519527309428716
+ store i1 true, ptr %s2135
+ br i1 %t2142, label %brand.done835, label %brand.compare836
+brand.compare836:
+ %t2143 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2134, ptr @sc_lit_2519527309428716)
+ store i1 %t2143, ptr %s2135
+ br label %brand.done835
+brand.done835:
+ %t2144 = load i1, ptr %s2135
+ br i1 %t2144, label %if.t837, label %if.j838
+if.t837:
+ %t2145 = load ptr, ptr %sc_l_p_0
+ %t2146 = call ptr @sc_rc_retain_dyn(ptr %t2145)
+ %t2148 = icmp ne ptr %t2146, null
+ br i1 %t2148, label %dc.inspect839, label %dc.checked842
+dc.inspect839:
+ %t2153 = getelementptr inbounds i8, ptr %t2146, i64 8 ; ->kind
+ %t2154 = load i32, ptr %t2153
+ %t2149 = icmp eq i32 %t2154, 12
+ br i1 %t2149, label %dc.capsule840, label %dc.checked842
+dc.capsule840:
+ %t2150 = getelementptr inbounds i8, ptr %t2146, i64 40 ; ->v.typed_ref.type_key
+ %t2151 = load ptr, ptr %t2150
+ %t2152 = icmp eq ptr %t2151, @sc_cs_2519527309428716
+ br i1 %t2152, label %dc.exact841, label %dc.checked842
+dc.exact841:
+ %t2155 = getelementptr inbounds i8, ptr %t2146, i64 16 ; ->v.typed_ref.ptr
+ %t2156 = load ptr, ptr %t2155
+ %t2157 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2156)
+ store ptr %t2157, ptr %s2147
+ br label %dc.done843
+dc.checked842:
+ %t2158 = call ptr @sc_dc_108(ptr %t2146, ptr null)
+ store ptr %t2158, ptr %s2147
+ %t2159 = load i32, ptr %exc.cell
+ %t2160 = icmp ne i32 %t2159, 0
+ %t2161 = call i1 @llvm.expect.i1(i1 %t2160, i1 false)
+ br i1 %t2161, label %exc.u844, label %exc.k845
+exc.u844:
+ call void @scr_dyn_release(ptr %t2146)
+ br label %exc.cleanup2
+exc.k845:
+ br label %dc.done843
+dc.done843:
+ %t2162 = load ptr, ptr %s2147
+ %t2163 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t2162, i64 0, i32 2
+ %t2164 = load ptr, ptr %t2163, !tbaa !204
+ %t2165 = getelementptr inbounds i8, ptr %t2164, i64 8 ; ->kind
+ %t2166 = load i32, ptr %t2165
+ %t2167 = icmp eq i32 %t2166, 6
+ call void @scr_dyn_release(ptr %t2146)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2162)
+ br i1 %t2167, label %if.t846, label %if.j847
+if.t846:
+ %t2168 = load ptr, ptr %sc_l_p_0
+ %t2169 = call ptr @sc_rc_retain_dyn(ptr %t2168)
+ %t2171 = icmp ne ptr %t2169, null
+ br i1 %t2171, label %dc.inspect848, label %dc.checked851
+dc.inspect848:
+ %t2176 = getelementptr inbounds i8, ptr %t2169, i64 8 ; ->kind
+ %t2177 = load i32, ptr %t2176
+ %t2172 = icmp eq i32 %t2177, 12
+ br i1 %t2172, label %dc.capsule849, label %dc.checked851
+dc.capsule849:
+ %t2173 = getelementptr inbounds i8, ptr %t2169, i64 40 ; ->v.typed_ref.type_key
+ %t2174 = load ptr, ptr %t2173
+ %t2175 = icmp eq ptr %t2174, @sc_cs_2519527309428716
+ br i1 %t2175, label %dc.exact850, label %dc.checked851
+dc.exact850:
+ %t2178 = getelementptr inbounds i8, ptr %t2169, i64 16 ; ->v.typed_ref.ptr
+ %t2179 = load ptr, ptr %t2178
+ %t2180 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2179)
+ store ptr %t2180, ptr %s2170
+ br label %dc.done852
+dc.checked851:
+ %t2181 = call ptr @sc_dc_108(ptr %t2169, ptr null)
+ store ptr %t2181, ptr %s2170
+ %t2182 = load i32, ptr %exc.cell
+ %t2183 = icmp ne i32 %t2182, 0
+ %t2184 = call i1 @llvm.expect.i1(i1 %t2183, i1 false)
+ br i1 %t2184, label %exc.u853, label %exc.k854
+exc.u853:
+ call void @scr_dyn_release(ptr %t2169)
+ br label %exc.cleanup2
+exc.k854:
+ br label %dc.done852
+dc.done852:
+ %t2185 = load ptr, ptr %s2170
+ %t2186 = load ptr, ptr %sc_l_p_0
+ %t2187 = call ptr @sc_rc_retain_dyn(ptr %t2186)
+ %t2189 = icmp ne ptr %t2187, null
+ br i1 %t2189, label %dc.inspect855, label %dc.checked858
+dc.inspect855:
+ %t2194 = getelementptr inbounds i8, ptr %t2187, i64 8 ; ->kind
+ %t2195 = load i32, ptr %t2194
+ %t2190 = icmp eq i32 %t2195, 12
+ br i1 %t2190, label %dc.capsule856, label %dc.checked858
+dc.capsule856:
+ %t2191 = getelementptr inbounds i8, ptr %t2187, i64 40 ; ->v.typed_ref.type_key
+ %t2192 = load ptr, ptr %t2191
+ %t2193 = icmp eq ptr %t2192, @sc_cs_2519527309428716
+ br i1 %t2193, label %dc.exact857, label %dc.checked858
+dc.exact857:
+ %t2196 = getelementptr inbounds i8, ptr %t2187, i64 16 ; ->v.typed_ref.ptr
+ %t2197 = load ptr, ptr %t2196
+ %t2198 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2197)
+ store ptr %t2198, ptr %s2188
+ br label %dc.done859
+dc.checked858:
+ %t2199 = call ptr @sc_dc_108(ptr %t2187, ptr null)
+ store ptr %t2199, ptr %s2188
+ %t2200 = load i32, ptr %exc.cell
+ %t2201 = icmp ne i32 %t2200, 0
+ %t2202 = call i1 @llvm.expect.i1(i1 %t2201, i1 false)
+ br i1 %t2202, label %exc.u860, label %exc.k861
+exc.u860:
+ call void @scr_dyn_release(ptr %t2169)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2185)
+ call void @scr_dyn_release(ptr %t2187)
+ br label %exc.cleanup2
+exc.k861:
+ br label %dc.done859
+dc.done859:
+ %t2203 = load ptr, ptr %s2188
+ %t2204 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t2203, i64 0, i32 1
+ %t2205 = load ptr, ptr %t2204
+ %t2206 = getelementptr inbounds %ScrVt, ptr %t2205, i64 0, i32 0
+ %t2207 = load i64, ptr %t2206
+ %t2208 = icmp uge i64 %t2207, 38
+ %t2209 = icmp ule i64 %t2207, 38
+ %t2210 = and i1 %t2208, %t2209 ; instanceof %m14.BakedAssets
+ br i1 %t2210, label %tern.t862, label %tern.f863
+tern.t862:
+ %t2212 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t2213 = load i32, ptr %exc.cell
+ %t2214 = icmp ne i32 %t2213, 0
+ %t2215 = call i1 @llvm.expect.i1(i1 %t2214, i1 false)
+ br i1 %t2215, label %exc.u865, label %exc.k866
+exc.u865:
+ call void @scr_dyn_release(ptr %t2212)
+ call void @scr_dyn_release(ptr %t2169)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2185)
+ call void @scr_dyn_release(ptr %t2187)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2203)
+ br label %exc.cleanup2
+exc.k866:
+ store ptr %t2212, ptr %s2211
+ br label %tern.j864
+tern.f863:
+ %t2216 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t2217 = load i32, ptr %exc.cell
+ %t2218 = icmp ne i32 %t2217, 0
+ %t2219 = call i1 @llvm.expect.i1(i1 %t2218, i1 false)
+ br i1 %t2219, label %exc.u867, label %exc.k868
+exc.u867:
+ call void @scr_dyn_release(ptr %t2216)
+ call void @scr_dyn_release(ptr %t2169)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2185)
+ call void @scr_dyn_release(ptr %t2187)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2203)
+ br label %exc.cleanup2
+exc.k868:
+ store ptr %t2216, ptr %s2211
+ br label %tern.j864
+tern.j864:
+ %t2220 = load ptr, ptr %s2211
+ %t2221 = call ptr @scr_dyn_obj_create(ptr %t2220)
+ %t2222 = load i32, ptr %exc.cell
+ %t2223 = icmp ne i32 %t2222, 0
+ %t2224 = call i1 @llvm.expect.i1(i1 %t2223, i1 false)
+ br i1 %t2224, label %exc.u869, label %exc.k870
+exc.u869:
+ call void @scr_dyn_release(ptr %t2169)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2185)
+ call void @scr_dyn_release(ptr %t2187)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2203)
+ call void @scr_dyn_release(ptr %t2220)
+ call void @scr_dyn_release(ptr %t2221)
+ br label %exc.cleanup2
+exc.k870:
+ %t2225 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t2185, i64 0, i32 2
+ %t2226 = load ptr, ptr %t2225
+ store ptr %t2221, ptr %t2225, !tbaa !204
+ call void @scr_dyn_release(ptr %t2226)
+ call void @scr_dyn_release(ptr %t2169)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2185)
+ call void @scr_dyn_release(ptr %t2187)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2203)
+ call void @scr_dyn_release(ptr %t2220)
+ br label %if.j847
+if.j847:
+ %t2227 = load ptr, ptr %sc_l_p_0
+ %t2228 = call ptr @sc_rc_retain_dyn(ptr %t2227)
+ %t2230 = icmp ne ptr %t2228, null
+ br i1 %t2230, label %dc.inspect871, label %dc.checked874
+dc.inspect871:
+ %t2235 = getelementptr inbounds i8, ptr %t2228, i64 8 ; ->kind
+ %t2236 = load i32, ptr %t2235
+ %t2231 = icmp eq i32 %t2236, 12
+ br i1 %t2231, label %dc.capsule872, label %dc.checked874
+dc.capsule872:
+ %t2232 = getelementptr inbounds i8, ptr %t2228, i64 40 ; ->v.typed_ref.type_key
+ %t2233 = load ptr, ptr %t2232
+ %t2234 = icmp eq ptr %t2233, @sc_cs_2519527309428716
+ br i1 %t2234, label %dc.exact873, label %dc.checked874
+dc.exact873:
+ %t2237 = getelementptr inbounds i8, ptr %t2228, i64 16 ; ->v.typed_ref.ptr
+ %t2238 = load ptr, ptr %t2237
+ %t2239 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t2238)
+ store ptr %t2239, ptr %s2229
+ br label %dc.done875
+dc.checked874:
+ %t2240 = call ptr @sc_dc_108(ptr %t2228, ptr null)
+ store ptr %t2240, ptr %s2229
+ %t2241 = load i32, ptr %exc.cell
+ %t2242 = icmp ne i32 %t2241, 0
+ %t2243 = call i1 @llvm.expect.i1(i1 %t2242, i1 false)
+ br i1 %t2243, label %exc.u876, label %exc.k877
+exc.u876:
+ call void @scr_dyn_release(ptr %t2228)
+ br label %exc.cleanup2
+exc.k877:
+ br label %dc.done875
+dc.done875:
+ %t2244 = load ptr, ptr %s2229
+ %t2245 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t2244, i64 0, i32 2
+ %t2246 = load ptr, ptr %t2245, !tbaa !204
+ %t2247 = call ptr @sc_rc_retain_dyn(ptr %t2246)
+ call void @scr_dyn_release(ptr %t2228)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t2244)
+ %t2248 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2248)
+ ret ptr %t2247
+if.j838:
+ %t2249 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2250
+ %t2251 = icmp ne ptr %t2249, null
+ br i1 %t2251, label %brand.inspect878, label %brand.done880
+brand.inspect878:
+ %t2252 = getelementptr inbounds i8, ptr %t2249, i64 8 ; ->kind
+ %t2253 = load i32, ptr %t2252
+ %t2254 = icmp eq i32 %t2253, 12
+ br i1 %t2254, label %brand.capsule879, label %brand.done880
+brand.capsule879:
+ %t2255 = getelementptr inbounds i8, ptr %t2249, i64 40 ; ->v.typed_ref.type_key
+ %t2256 = load ptr, ptr %t2255
+ %t2257 = icmp eq ptr %t2256, @sc_cs_629517122853751
+ store i1 true, ptr %s2250
+ br i1 %t2257, label %brand.done880, label %brand.compare881
+brand.compare881:
+ %t2258 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2249, ptr @sc_lit_629517122853751)
+ store i1 %t2258, ptr %s2250
+ br label %brand.done880
+brand.done880:
+ %t2259 = load i1, ptr %s2250
+ br i1 %t2259, label %tern.t882, label %tern.f883
+tern.t882:
+ %t2261 = load ptr, ptr %sc_l_p_0
+ %t2262 = call ptr @sc_rc_retain_dyn(ptr %t2261)
+ %t2264 = icmp ne ptr %t2262, null
+ br i1 %t2264, label %dc.inspect885, label %dc.checked888
+dc.inspect885:
+ %t2269 = getelementptr inbounds i8, ptr %t2262, i64 8 ; ->kind
+ %t2270 = load i32, ptr %t2269
+ %t2265 = icmp eq i32 %t2270, 12
+ br i1 %t2265, label %dc.capsule886, label %dc.checked888
+dc.capsule886:
+ %t2266 = getelementptr inbounds i8, ptr %t2262, i64 40 ; ->v.typed_ref.type_key
+ %t2267 = load ptr, ptr %t2266
+ %t2268 = icmp eq ptr %t2267, @sc_cs_629517122853751
+ br i1 %t2268, label %dc.exact887, label %dc.checked888
+dc.exact887:
+ %t2271 = getelementptr inbounds i8, ptr %t2262, i64 16 ; ->v.typed_ref.ptr
+ %t2272 = load ptr, ptr %t2271
+ %t2273 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2272)
+ store ptr %t2273, ptr %s2263
+ br label %dc.done889
+dc.checked888:
+ %t2274 = call ptr @sc_dc_29(ptr %t2262, ptr null)
+ store ptr %t2274, ptr %s2263
+ %t2275 = load i32, ptr %exc.cell
+ %t2276 = icmp ne i32 %t2275, 0
+ %t2277 = call i1 @llvm.expect.i1(i1 %t2276, i1 false)
+ br i1 %t2277, label %exc.u890, label %exc.k891
+exc.u890:
+ call void @scr_dyn_release(ptr %t2262)
+ br label %exc.cleanup2
+exc.k891:
+ br label %dc.done889
+dc.done889:
+ %t2278 = load ptr, ptr %s2263
+ %t2279 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2278, i64 0, i32 1
+ %t2280 = load ptr, ptr %t2279
+ %t2281 = getelementptr inbounds %ScrVt, ptr %t2280, i64 0, i32 0
+ %t2282 = load i64, ptr %t2281
+ %t2283 = icmp uge i64 %t2282, 18
+ %t2284 = icmp ule i64 %t2282, 18
+ %t2285 = and i1 %t2283, %t2284 ; instanceof %m3.LiteResponse
+ store i1 %t2285, ptr %s2260
+ call void @scr_dyn_release(ptr %t2262)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2278)
+ br label %tern.j884
+tern.f883:
+ store i1 false, ptr %s2260
+ br label %tern.j884
+tern.j884:
+ %t2286 = load i1, ptr %s2260
+ br i1 %t2286, label %if.t892, label %if.j893
+if.t892:
+ %t2287 = load ptr, ptr %sc_l_p_0
+ %t2288 = call ptr @sc_rc_retain_dyn(ptr %t2287)
+ %t2290 = icmp ne ptr %t2288, null
+ br i1 %t2290, label %dc.inspect894, label %dc.checked897
+dc.inspect894:
+ %t2295 = getelementptr inbounds i8, ptr %t2288, i64 8 ; ->kind
+ %t2296 = load i32, ptr %t2295
+ %t2291 = icmp eq i32 %t2296, 12
+ br i1 %t2291, label %dc.capsule895, label %dc.checked897
+dc.capsule895:
+ %t2292 = getelementptr inbounds i8, ptr %t2288, i64 40 ; ->v.typed_ref.type_key
+ %t2293 = load ptr, ptr %t2292
+ %t2294 = icmp eq ptr %t2293, @sc_cs_629517122853751
+ br i1 %t2294, label %dc.exact896, label %dc.checked897
+dc.exact896:
+ %t2297 = getelementptr inbounds i8, ptr %t2288, i64 16 ; ->v.typed_ref.ptr
+ %t2298 = load ptr, ptr %t2297
+ %t2299 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2298)
+ store ptr %t2299, ptr %s2289
+ br label %dc.done898
+dc.checked897:
+ %t2300 = call ptr @sc_dc_29(ptr %t2288, ptr null)
+ store ptr %t2300, ptr %s2289
+ %t2301 = load i32, ptr %exc.cell
+ %t2302 = icmp ne i32 %t2301, 0
+ %t2303 = call i1 @llvm.expect.i1(i1 %t2302, i1 false)
+ br i1 %t2303, label %exc.u899, label %exc.k900
+exc.u899:
+ call void @scr_dyn_release(ptr %t2288)
+ br label %exc.cleanup2
+exc.k900:
+ br label %dc.done898
+dc.done898:
+ %t2304 = load ptr, ptr %s2289
+ %t2305 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t2304, i64 0, i32 2
+ %t2306 = load ptr, ptr %t2305, !tbaa !204
+ %t2307 = getelementptr inbounds i8, ptr %t2306, i64 8 ; ->kind
+ %t2308 = load i32, ptr %t2307
+ %t2309 = icmp eq i32 %t2308, 6
+ call void @scr_dyn_release(ptr %t2288)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2304)
+ br i1 %t2309, label %if.t901, label %if.j902
+if.t901:
+ %t2310 = load ptr, ptr %sc_l_p_0
+ %t2311 = call ptr @sc_rc_retain_dyn(ptr %t2310)
+ %t2313 = icmp ne ptr %t2311, null
+ br i1 %t2313, label %dc.inspect903, label %dc.checked906
+dc.inspect903:
+ %t2318 = getelementptr inbounds i8, ptr %t2311, i64 8 ; ->kind
+ %t2319 = load i32, ptr %t2318
+ %t2314 = icmp eq i32 %t2319, 12
+ br i1 %t2314, label %dc.capsule904, label %dc.checked906
+dc.capsule904:
+ %t2315 = getelementptr inbounds i8, ptr %t2311, i64 40 ; ->v.typed_ref.type_key
+ %t2316 = load ptr, ptr %t2315
+ %t2317 = icmp eq ptr %t2316, @sc_cs_629517122853751
+ br i1 %t2317, label %dc.exact905, label %dc.checked906
+dc.exact905:
+ %t2320 = getelementptr inbounds i8, ptr %t2311, i64 16 ; ->v.typed_ref.ptr
+ %t2321 = load ptr, ptr %t2320
+ %t2322 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2321)
+ store ptr %t2322, ptr %s2312
+ br label %dc.done907
+dc.checked906:
+ %t2323 = call ptr @sc_dc_29(ptr %t2311, ptr null)
+ store ptr %t2323, ptr %s2312
+ %t2324 = load i32, ptr %exc.cell
+ %t2325 = icmp ne i32 %t2324, 0
+ %t2326 = call i1 @llvm.expect.i1(i1 %t2325, i1 false)
+ br i1 %t2326, label %exc.u908, label %exc.k909
+exc.u908:
+ call void @scr_dyn_release(ptr %t2311)
+ br label %exc.cleanup2
+exc.k909:
+ br label %dc.done907
+dc.done907:
+ %t2327 = load ptr, ptr %s2312
+ %t2328 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t2329 = load i32, ptr %exc.cell
+ %t2330 = icmp ne i32 %t2329, 0
+ %t2331 = call i1 @llvm.expect.i1(i1 %t2330, i1 false)
+ br i1 %t2331, label %exc.u910, label %exc.k911
+exc.u910:
+ call void @scr_dyn_release(ptr %t2311)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t2327)
+ call void @scr_dyn_release(ptr %t2328)
+ br label %exc.cleanup2
+exc.k911:
+ %t2332 = call ptr @scr_dyn_obj_create(ptr %t2328)
+ %t2333 = load i32, ptr %exc.cell
+ %t2334 = icmp ne i32 %t2333, 0
+ %t2335 = call i1 @llvm.expect.i1(i1 %t2334, i1 false)
+ br i1 %t2335, label %exc.u912, label %exc.k913
+exc.u912:
+ call void @scr_dyn_release(ptr %t2311)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t2327)
+ call void @scr_dyn_release(ptr %t2328)
+ call void @scr_dyn_release(ptr %t2332)
+ br label %exc.cleanup2
+exc.k913:
+ %t2336 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t2327, i64 0, i32 2
+ %t2337 = load ptr, ptr %t2336
+ store ptr %t2332, ptr %t2336, !tbaa !204
+ call void @scr_dyn_release(ptr %t2337)
+ call void @scr_dyn_release(ptr %t2311)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t2327)
+ call void @scr_dyn_release(ptr %t2328)
+ br label %if.j902
+if.j902:
+ %t2338 = load ptr, ptr %sc_l_p_0
+ %t2339 = call ptr @sc_rc_retain_dyn(ptr %t2338)
+ %t2341 = icmp ne ptr %t2339, null
+ br i1 %t2341, label %dc.inspect914, label %dc.checked917
+dc.inspect914:
+ %t2346 = getelementptr inbounds i8, ptr %t2339, i64 8 ; ->kind
+ %t2347 = load i32, ptr %t2346
+ %t2342 = icmp eq i32 %t2347, 12
+ br i1 %t2342, label %dc.capsule915, label %dc.checked917
+dc.capsule915:
+ %t2343 = getelementptr inbounds i8, ptr %t2339, i64 40 ; ->v.typed_ref.type_key
+ %t2344 = load ptr, ptr %t2343
+ %t2345 = icmp eq ptr %t2344, @sc_cs_629517122853751
+ br i1 %t2345, label %dc.exact916, label %dc.checked917
+dc.exact916:
+ %t2348 = getelementptr inbounds i8, ptr %t2339, i64 16 ; ->v.typed_ref.ptr
+ %t2349 = load ptr, ptr %t2348
+ %t2350 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2349)
+ store ptr %t2350, ptr %s2340
+ br label %dc.done918
+dc.checked917:
+ %t2351 = call ptr @sc_dc_29(ptr %t2339, ptr null)
+ store ptr %t2351, ptr %s2340
+ %t2352 = load i32, ptr %exc.cell
+ %t2353 = icmp ne i32 %t2352, 0
+ %t2354 = call i1 @llvm.expect.i1(i1 %t2353, i1 false)
+ br i1 %t2354, label %exc.u919, label %exc.k920
+exc.u919:
+ call void @scr_dyn_release(ptr %t2339)
+ br label %exc.cleanup2
+exc.k920:
+ br label %dc.done918
+dc.done918:
+ %t2355 = load ptr, ptr %s2340
+ %t2356 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t2355, i64 0, i32 2
+ %t2357 = load ptr, ptr %t2356, !tbaa !204
+ %t2358 = call ptr @sc_rc_retain_dyn(ptr %t2357)
+ call void @scr_dyn_release(ptr %t2339)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2355)
+ %t2359 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2359)
+ ret ptr %t2358
+if.j893:
+ %t2360 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2361
+ %t2362 = icmp ne ptr %t2360, null
+ br i1 %t2362, label %brand.inspect921, label %brand.done923
+brand.inspect921:
+ %t2363 = getelementptr inbounds i8, ptr %t2360, i64 8 ; ->kind
+ %t2364 = load i32, ptr %t2363
+ %t2365 = icmp eq i32 %t2364, 12
+ br i1 %t2365, label %brand.capsule922, label %brand.done923
+brand.capsule922:
+ %t2366 = getelementptr inbounds i8, ptr %t2360, i64 40 ; ->v.typed_ref.type_key
+ %t2367 = load ptr, ptr %t2366
+ %t2368 = icmp eq ptr %t2367, @sc_cs_629517122853751
+ store i1 true, ptr %s2361
+ br i1 %t2368, label %brand.done923, label %brand.compare924
+brand.compare924:
+ %t2369 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2360, ptr @sc_lit_629517122853751)
+ store i1 %t2369, ptr %s2361
+ br label %brand.done923
+brand.done923:
+ %t2370 = load i1, ptr %s2361
+ br i1 %t2370, label %tern.t925, label %tern.f926
+tern.t925:
+ %t2372 = load ptr, ptr %sc_l_p_0
+ %t2373 = call ptr @sc_rc_retain_dyn(ptr %t2372)
+ %t2375 = icmp ne ptr %t2373, null
+ br i1 %t2375, label %dc.inspect928, label %dc.checked931
+dc.inspect928:
+ %t2380 = getelementptr inbounds i8, ptr %t2373, i64 8 ; ->kind
+ %t2381 = load i32, ptr %t2380
+ %t2376 = icmp eq i32 %t2381, 12
+ br i1 %t2376, label %dc.capsule929, label %dc.checked931
+dc.capsule929:
+ %t2377 = getelementptr inbounds i8, ptr %t2373, i64 40 ; ->v.typed_ref.type_key
+ %t2378 = load ptr, ptr %t2377
+ %t2379 = icmp eq ptr %t2378, @sc_cs_629517122853751
+ br i1 %t2379, label %dc.exact930, label %dc.checked931
+dc.exact930:
+ %t2382 = getelementptr inbounds i8, ptr %t2373, i64 16 ; ->v.typed_ref.ptr
+ %t2383 = load ptr, ptr %t2382
+ %t2384 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2383)
+ store ptr %t2384, ptr %s2374
+ br label %dc.done932
+dc.checked931:
+ %t2385 = call ptr @sc_dc_29(ptr %t2373, ptr null)
+ store ptr %t2385, ptr %s2374
+ %t2386 = load i32, ptr %exc.cell
+ %t2387 = icmp ne i32 %t2386, 0
+ %t2388 = call i1 @llvm.expect.i1(i1 %t2387, i1 false)
+ br i1 %t2388, label %exc.u933, label %exc.k934
+exc.u933:
+ call void @scr_dyn_release(ptr %t2373)
+ br label %exc.cleanup2
+exc.k934:
+ br label %dc.done932
+dc.done932:
+ %t2389 = load ptr, ptr %s2374
+ %t2390 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2389, i64 0, i32 1
+ %t2391 = load ptr, ptr %t2390
+ %t2392 = getelementptr inbounds %ScrVt, ptr %t2391, i64 0, i32 0
+ %t2393 = load i64, ptr %t2392
+ %t2394 = icmp uge i64 %t2393, 17
+ %t2395 = icmp ule i64 %t2393, 18
+ %t2396 = and i1 %t2394, %t2395 ; instanceof %m2.FetchResponseSink
+ store i1 %t2396, ptr %s2371
+ call void @scr_dyn_release(ptr %t2373)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2389)
+ br label %tern.j927
+tern.f926:
+ store i1 false, ptr %s2371
+ br label %tern.j927
+tern.j927:
+ %t2397 = load i1, ptr %s2371
+ br i1 %t2397, label %if.t935, label %if.j936
+if.t935:
+ %t2398 = load ptr, ptr %sc_l_p_0
+ %t2399 = call ptr @sc_rc_retain_dyn(ptr %t2398)
+ %t2401 = icmp ne ptr %t2399, null
+ br i1 %t2401, label %dc.inspect937, label %dc.checked940
+dc.inspect937:
+ %t2406 = getelementptr inbounds i8, ptr %t2399, i64 8 ; ->kind
+ %t2407 = load i32, ptr %t2406
+ %t2402 = icmp eq i32 %t2407, 12
+ br i1 %t2402, label %dc.capsule938, label %dc.checked940
+dc.capsule938:
+ %t2403 = getelementptr inbounds i8, ptr %t2399, i64 40 ; ->v.typed_ref.type_key
+ %t2404 = load ptr, ptr %t2403
+ %t2405 = icmp eq ptr %t2404, @sc_cs_629517122853751
+ br i1 %t2405, label %dc.exact939, label %dc.checked940
+dc.exact939:
+ %t2408 = getelementptr inbounds i8, ptr %t2399, i64 16 ; ->v.typed_ref.ptr
+ %t2409 = load ptr, ptr %t2408
+ %t2410 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2409)
+ store ptr %t2410, ptr %s2400
+ br label %dc.done941
+dc.checked940:
+ %t2411 = call ptr @sc_dc_29(ptr %t2399, ptr null)
+ store ptr %t2411, ptr %s2400
+ %t2412 = load i32, ptr %exc.cell
+ %t2413 = icmp ne i32 %t2412, 0
+ %t2414 = call i1 @llvm.expect.i1(i1 %t2413, i1 false)
+ br i1 %t2414, label %exc.u942, label %exc.k943
+exc.u942:
+ call void @scr_dyn_release(ptr %t2399)
+ br label %exc.cleanup2
+exc.k943:
+ br label %dc.done941
+dc.done941:
+ %t2415 = load ptr, ptr %s2400
+ %t2416 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t2415, i64 0, i32 2
+ %t2417 = load ptr, ptr %t2416, !tbaa !204
+ %t2418 = getelementptr inbounds i8, ptr %t2417, i64 8 ; ->kind
+ %t2419 = load i32, ptr %t2418
+ %t2420 = icmp eq i32 %t2419, 6
+ call void @scr_dyn_release(ptr %t2399)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2415)
+ br i1 %t2420, label %if.t944, label %if.j945
+if.t944:
+ %t2421 = load ptr, ptr %sc_l_p_0
+ %t2422 = call ptr @sc_rc_retain_dyn(ptr %t2421)
+ %t2424 = icmp ne ptr %t2422, null
+ br i1 %t2424, label %dc.inspect946, label %dc.checked949
+dc.inspect946:
+ %t2429 = getelementptr inbounds i8, ptr %t2422, i64 8 ; ->kind
+ %t2430 = load i32, ptr %t2429
+ %t2425 = icmp eq i32 %t2430, 12
+ br i1 %t2425, label %dc.capsule947, label %dc.checked949
+dc.capsule947:
+ %t2426 = getelementptr inbounds i8, ptr %t2422, i64 40 ; ->v.typed_ref.type_key
+ %t2427 = load ptr, ptr %t2426
+ %t2428 = icmp eq ptr %t2427, @sc_cs_629517122853751
+ br i1 %t2428, label %dc.exact948, label %dc.checked949
+dc.exact948:
+ %t2431 = getelementptr inbounds i8, ptr %t2422, i64 16 ; ->v.typed_ref.ptr
+ %t2432 = load ptr, ptr %t2431
+ %t2433 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2432)
+ store ptr %t2433, ptr %s2423
+ br label %dc.done950
+dc.checked949:
+ %t2434 = call ptr @sc_dc_29(ptr %t2422, ptr null)
+ store ptr %t2434, ptr %s2423
+ %t2435 = load i32, ptr %exc.cell
+ %t2436 = icmp ne i32 %t2435, 0
+ %t2437 = call i1 @llvm.expect.i1(i1 %t2436, i1 false)
+ br i1 %t2437, label %exc.u951, label %exc.k952
+exc.u951:
+ call void @scr_dyn_release(ptr %t2422)
+ br label %exc.cleanup2
+exc.k952:
+ br label %dc.done950
+dc.done950:
+ %t2438 = load ptr, ptr %s2423
+ %t2439 = load ptr, ptr %sc_l_p_0
+ %t2440 = call ptr @sc_rc_retain_dyn(ptr %t2439)
+ %t2442 = icmp ne ptr %t2440, null
+ br i1 %t2442, label %dc.inspect953, label %dc.checked956
+dc.inspect953:
+ %t2447 = getelementptr inbounds i8, ptr %t2440, i64 8 ; ->kind
+ %t2448 = load i32, ptr %t2447
+ %t2443 = icmp eq i32 %t2448, 12
+ br i1 %t2443, label %dc.capsule954, label %dc.checked956
+dc.capsule954:
+ %t2444 = getelementptr inbounds i8, ptr %t2440, i64 40 ; ->v.typed_ref.type_key
+ %t2445 = load ptr, ptr %t2444
+ %t2446 = icmp eq ptr %t2445, @sc_cs_629517122853751
+ br i1 %t2446, label %dc.exact955, label %dc.checked956
+dc.exact955:
+ %t2449 = getelementptr inbounds i8, ptr %t2440, i64 16 ; ->v.typed_ref.ptr
+ %t2450 = load ptr, ptr %t2449
+ %t2451 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2450)
+ store ptr %t2451, ptr %s2441
+ br label %dc.done957
+dc.checked956:
+ %t2452 = call ptr @sc_dc_29(ptr %t2440, ptr null)
+ store ptr %t2452, ptr %s2441
+ %t2453 = load i32, ptr %exc.cell
+ %t2454 = icmp ne i32 %t2453, 0
+ %t2455 = call i1 @llvm.expect.i1(i1 %t2454, i1 false)
+ br i1 %t2455, label %exc.u958, label %exc.k959
+exc.u958:
+ call void @scr_dyn_release(ptr %t2422)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t2438)
+ call void @scr_dyn_release(ptr %t2440)
+ br label %exc.cleanup2
+exc.k959:
+ br label %dc.done957
+dc.done957:
+ %t2456 = load ptr, ptr %s2441
+ %t2457 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t2456, i64 0, i32 1
+ %t2458 = load ptr, ptr %t2457
+ %t2459 = getelementptr inbounds %ScrVt, ptr %t2458, i64 0, i32 0
+ %t2460 = load i64, ptr %t2459
+ %t2461 = icmp uge i64 %t2460, 18
+ %t2462 = icmp ule i64 %t2460, 18
+ %t2463 = and i1 %t2461, %t2462 ; instanceof %m3.LiteResponse
+ br i1 %t2463, label %tern.t960, label %tern.f961
+tern.t960:
+ %t2465 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t2466 = load i32, ptr %exc.cell
+ %t2467 = icmp ne i32 %t2466, 0
+ %t2468 = call i1 @llvm.expect.i1(i1 %t2467, i1 false)
+ br i1 %t2468, label %exc.u963, label %exc.k964
+exc.u963:
+ call void @scr_dyn_release(ptr %t2465)
+ call void @scr_dyn_release(ptr %t2422)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t2438)
+ call void @scr_dyn_release(ptr %t2440)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t2456)
+ br label %exc.cleanup2
+exc.k964:
+ store ptr %t2465, ptr %s2464
+ br label %tern.j962
+tern.f961:
+ %t2469 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t2470 = load i32, ptr %exc.cell
+ %t2471 = icmp ne i32 %t2470, 0
+ %t2472 = call i1 @llvm.expect.i1(i1 %t2471, i1 false)
+ br i1 %t2472, label %exc.u965, label %exc.k966
+exc.u965:
+ call void @scr_dyn_release(ptr %t2469)
+ call void @scr_dyn_release(ptr %t2422)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t2438)
+ call void @scr_dyn_release(ptr %t2440)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t2456)
+ br label %exc.cleanup2
+exc.k966:
+ store ptr %t2469, ptr %s2464
+ br label %tern.j962
+tern.j962:
+ %t2473 = load ptr, ptr %s2464
+ %t2474 = call ptr @scr_dyn_obj_create(ptr %t2473)
+ %t2475 = load i32, ptr %exc.cell
+ %t2476 = icmp ne i32 %t2475, 0
+ %t2477 = call i1 @llvm.expect.i1(i1 %t2476, i1 false)
+ br i1 %t2477, label %exc.u967, label %exc.k968
+exc.u967:
+ call void @scr_dyn_release(ptr %t2422)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t2438)
+ call void @scr_dyn_release(ptr %t2440)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t2456)
+ call void @scr_dyn_release(ptr %t2473)
+ call void @scr_dyn_release(ptr %t2474)
+ br label %exc.cleanup2
+exc.k968:
+ %t2478 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t2438, i64 0, i32 2
+ %t2479 = load ptr, ptr %t2478
+ store ptr %t2474, ptr %t2478, !tbaa !204
+ call void @scr_dyn_release(ptr %t2479)
+ call void @scr_dyn_release(ptr %t2422)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t2438)
+ call void @scr_dyn_release(ptr %t2440)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t2456)
+ call void @scr_dyn_release(ptr %t2473)
+ br label %if.j945
+if.j945:
+ %t2480 = load ptr, ptr %sc_l_p_0
+ %t2481 = call ptr @sc_rc_retain_dyn(ptr %t2480)
+ %t2483 = icmp ne ptr %t2481, null
+ br i1 %t2483, label %dc.inspect969, label %dc.checked972
+dc.inspect969:
+ %t2488 = getelementptr inbounds i8, ptr %t2481, i64 8 ; ->kind
+ %t2489 = load i32, ptr %t2488
+ %t2484 = icmp eq i32 %t2489, 12
+ br i1 %t2484, label %dc.capsule970, label %dc.checked972
+dc.capsule970:
+ %t2485 = getelementptr inbounds i8, ptr %t2481, i64 40 ; ->v.typed_ref.type_key
+ %t2486 = load ptr, ptr %t2485
+ %t2487 = icmp eq ptr %t2486, @sc_cs_629517122853751
+ br i1 %t2487, label %dc.exact971, label %dc.checked972
+dc.exact971:
+ %t2490 = getelementptr inbounds i8, ptr %t2481, i64 16 ; ->v.typed_ref.ptr
+ %t2491 = load ptr, ptr %t2490
+ %t2492 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2491)
+ store ptr %t2492, ptr %s2482
+ br label %dc.done973
+dc.checked972:
+ %t2493 = call ptr @sc_dc_29(ptr %t2481, ptr null)
+ store ptr %t2493, ptr %s2482
+ %t2494 = load i32, ptr %exc.cell
+ %t2495 = icmp ne i32 %t2494, 0
+ %t2496 = call i1 @llvm.expect.i1(i1 %t2495, i1 false)
+ br i1 %t2496, label %exc.u974, label %exc.k975
+exc.u974:
+ call void @scr_dyn_release(ptr %t2481)
+ br label %exc.cleanup2
+exc.k975:
+ br label %dc.done973
+dc.done973:
+ %t2497 = load ptr, ptr %s2482
+ %t2498 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t2497, i64 0, i32 2
+ %t2499 = load ptr, ptr %t2498, !tbaa !204
+ %t2500 = call ptr @sc_rc_retain_dyn(ptr %t2499)
+ call void @scr_dyn_release(ptr %t2481)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2497)
+ %t2501 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2501)
+ ret ptr %t2500
+if.j936:
+ %t2502 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2503
+ %t2504 = icmp ne ptr %t2502, null
+ br i1 %t2504, label %brand.inspect976, label %brand.done978
+brand.inspect976:
+ %t2505 = getelementptr inbounds i8, ptr %t2502, i64 8 ; ->kind
+ %t2506 = load i32, ptr %t2505
+ %t2507 = icmp eq i32 %t2506, 12
+ br i1 %t2507, label %brand.capsule977, label %brand.done978
+brand.capsule977:
+ %t2508 = getelementptr inbounds i8, ptr %t2502, i64 40 ; ->v.typed_ref.type_key
+ %t2509 = load ptr, ptr %t2508
+ %t2510 = icmp eq ptr %t2509, @sc_cs_629517122853751
+ store i1 true, ptr %s2503
+ br i1 %t2510, label %brand.done978, label %brand.compare979
+brand.compare979:
+ %t2511 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2502, ptr @sc_lit_629517122853751)
+ store i1 %t2511, ptr %s2503
+ br label %brand.done978
+brand.done978:
+ %t2512 = load i1, ptr %s2503
+ br i1 %t2512, label %tern.t980, label %tern.f981
+tern.t980:
+ %t2514 = load ptr, ptr %sc_l_p_0
+ %t2515 = call ptr @sc_rc_retain_dyn(ptr %t2514)
+ %t2517 = icmp ne ptr %t2515, null
+ br i1 %t2517, label %dc.inspect983, label %dc.checked986
+dc.inspect983:
+ %t2522 = getelementptr inbounds i8, ptr %t2515, i64 8 ; ->kind
+ %t2523 = load i32, ptr %t2522
+ %t2518 = icmp eq i32 %t2523, 12
+ br i1 %t2518, label %dc.capsule984, label %dc.checked986
+dc.capsule984:
+ %t2519 = getelementptr inbounds i8, ptr %t2515, i64 40 ; ->v.typed_ref.type_key
+ %t2520 = load ptr, ptr %t2519
+ %t2521 = icmp eq ptr %t2520, @sc_cs_629517122853751
+ br i1 %t2521, label %dc.exact985, label %dc.checked986
+dc.exact985:
+ %t2524 = getelementptr inbounds i8, ptr %t2515, i64 16 ; ->v.typed_ref.ptr
+ %t2525 = load ptr, ptr %t2524
+ %t2526 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2525)
+ store ptr %t2526, ptr %s2516
+ br label %dc.done987
+dc.checked986:
+ %t2527 = call ptr @sc_dc_29(ptr %t2515, ptr null)
+ store ptr %t2527, ptr %s2516
+ %t2528 = load i32, ptr %exc.cell
+ %t2529 = icmp ne i32 %t2528, 0
+ %t2530 = call i1 @llvm.expect.i1(i1 %t2529, i1 false)
+ br i1 %t2530, label %exc.u988, label %exc.k989
+exc.u988:
+ call void @scr_dyn_release(ptr %t2515)
+ br label %exc.cleanup2
+exc.k989:
+ br label %dc.done987
+dc.done987:
+ %t2531 = load ptr, ptr %s2516
+ %t2532 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2531, i64 0, i32 1
+ %t2533 = load ptr, ptr %t2532
+ %t2534 = getelementptr inbounds %ScrVt, ptr %t2533, i64 0, i32 0
+ %t2535 = load i64, ptr %t2534
+ %t2536 = icmp uge i64 %t2535, 16
+ %t2537 = icmp ule i64 %t2535, 16
+ %t2538 = and i1 %t2536, %t2537 ; instanceof %m2.NodeResponseSink
+ store i1 %t2538, ptr %s2513
+ call void @scr_dyn_release(ptr %t2515)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2531)
+ br label %tern.j982
+tern.f981:
+ store i1 false, ptr %s2513
+ br label %tern.j982
+tern.j982:
+ %t2539 = load i1, ptr %s2513
+ br i1 %t2539, label %if.t990, label %if.j991
+if.t990:
+ %t2540 = load ptr, ptr %sc_l_p_0
+ %t2541 = call ptr @sc_rc_retain_dyn(ptr %t2540)
+ %t2543 = icmp ne ptr %t2541, null
+ br i1 %t2543, label %dc.inspect992, label %dc.checked995
+dc.inspect992:
+ %t2548 = getelementptr inbounds i8, ptr %t2541, i64 8 ; ->kind
+ %t2549 = load i32, ptr %t2548
+ %t2544 = icmp eq i32 %t2549, 12
+ br i1 %t2544, label %dc.capsule993, label %dc.checked995
+dc.capsule993:
+ %t2545 = getelementptr inbounds i8, ptr %t2541, i64 40 ; ->v.typed_ref.type_key
+ %t2546 = load ptr, ptr %t2545
+ %t2547 = icmp eq ptr %t2546, @sc_cs_629517122853751
+ br i1 %t2547, label %dc.exact994, label %dc.checked995
+dc.exact994:
+ %t2550 = getelementptr inbounds i8, ptr %t2541, i64 16 ; ->v.typed_ref.ptr
+ %t2551 = load ptr, ptr %t2550
+ %t2552 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2551)
+ store ptr %t2552, ptr %s2542
+ br label %dc.done996
+dc.checked995:
+ %t2553 = call ptr @sc_dc_29(ptr %t2541, ptr null)
+ store ptr %t2553, ptr %s2542
+ %t2554 = load i32, ptr %exc.cell
+ %t2555 = icmp ne i32 %t2554, 0
+ %t2556 = call i1 @llvm.expect.i1(i1 %t2555, i1 false)
+ br i1 %t2556, label %exc.u997, label %exc.k998
+exc.u997:
+ call void @scr_dyn_release(ptr %t2541)
+ br label %exc.cleanup2
+exc.k998:
+ br label %dc.done996
+dc.done996:
+ %t2557 = load ptr, ptr %s2542
+ %t2558 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2557, i64 0, i32 2
+ %t2559 = load ptr, ptr %t2558, !tbaa !204
+ %t2560 = getelementptr inbounds i8, ptr %t2559, i64 8 ; ->kind
+ %t2561 = load i32, ptr %t2560
+ %t2562 = icmp eq i32 %t2561, 6
+ call void @scr_dyn_release(ptr %t2541)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2557)
+ br i1 %t2562, label %if.t999, label %if.j1000
+if.t999:
+ %t2563 = load ptr, ptr %sc_l_p_0
+ %t2564 = call ptr @sc_rc_retain_dyn(ptr %t2563)
+ %t2566 = icmp ne ptr %t2564, null
+ br i1 %t2566, label %dc.inspect1001, label %dc.checked1004
+dc.inspect1001:
+ %t2571 = getelementptr inbounds i8, ptr %t2564, i64 8 ; ->kind
+ %t2572 = load i32, ptr %t2571
+ %t2567 = icmp eq i32 %t2572, 12
+ br i1 %t2567, label %dc.capsule1002, label %dc.checked1004
+dc.capsule1002:
+ %t2568 = getelementptr inbounds i8, ptr %t2564, i64 40 ; ->v.typed_ref.type_key
+ %t2569 = load ptr, ptr %t2568
+ %t2570 = icmp eq ptr %t2569, @sc_cs_629517122853751
+ br i1 %t2570, label %dc.exact1003, label %dc.checked1004
+dc.exact1003:
+ %t2573 = getelementptr inbounds i8, ptr %t2564, i64 16 ; ->v.typed_ref.ptr
+ %t2574 = load ptr, ptr %t2573
+ %t2575 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2574)
+ store ptr %t2575, ptr %s2565
+ br label %dc.done1005
+dc.checked1004:
+ %t2576 = call ptr @sc_dc_29(ptr %t2564, ptr null)
+ store ptr %t2576, ptr %s2565
+ %t2577 = load i32, ptr %exc.cell
+ %t2578 = icmp ne i32 %t2577, 0
+ %t2579 = call i1 @llvm.expect.i1(i1 %t2578, i1 false)
+ br i1 %t2579, label %exc.u1006, label %exc.k1007
+exc.u1006:
+ call void @scr_dyn_release(ptr %t2564)
+ br label %exc.cleanup2
+exc.k1007:
+ br label %dc.done1005
+dc.done1005:
+ %t2580 = load ptr, ptr %s2565
+ %t2581 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t2582 = load i32, ptr %exc.cell
+ %t2583 = icmp ne i32 %t2582, 0
+ %t2584 = call i1 @llvm.expect.i1(i1 %t2583, i1 false)
+ br i1 %t2584, label %exc.u1008, label %exc.k1009
+exc.u1008:
+ call void @scr_dyn_release(ptr %t2564)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t2580)
+ call void @scr_dyn_release(ptr %t2581)
+ br label %exc.cleanup2
+exc.k1009:
+ %t2585 = call ptr @scr_dyn_obj_create(ptr %t2581)
+ %t2586 = load i32, ptr %exc.cell
+ %t2587 = icmp ne i32 %t2586, 0
+ %t2588 = call i1 @llvm.expect.i1(i1 %t2587, i1 false)
+ br i1 %t2588, label %exc.u1010, label %exc.k1011
+exc.u1010:
+ call void @scr_dyn_release(ptr %t2564)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t2580)
+ call void @scr_dyn_release(ptr %t2581)
+ call void @scr_dyn_release(ptr %t2585)
+ br label %exc.cleanup2
+exc.k1011:
+ %t2589 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2580, i64 0, i32 2
+ %t2590 = load ptr, ptr %t2589
+ store ptr %t2585, ptr %t2589, !tbaa !204
+ call void @scr_dyn_release(ptr %t2590)
+ call void @scr_dyn_release(ptr %t2564)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t2580)
+ call void @scr_dyn_release(ptr %t2581)
+ br label %if.j1000
+if.j1000:
+ %t2591 = load ptr, ptr %sc_l_p_0
+ %t2592 = call ptr @sc_rc_retain_dyn(ptr %t2591)
+ %t2594 = icmp ne ptr %t2592, null
+ br i1 %t2594, label %dc.inspect1012, label %dc.checked1015
+dc.inspect1012:
+ %t2599 = getelementptr inbounds i8, ptr %t2592, i64 8 ; ->kind
+ %t2600 = load i32, ptr %t2599
+ %t2595 = icmp eq i32 %t2600, 12
+ br i1 %t2595, label %dc.capsule1013, label %dc.checked1015
+dc.capsule1013:
+ %t2596 = getelementptr inbounds i8, ptr %t2592, i64 40 ; ->v.typed_ref.type_key
+ %t2597 = load ptr, ptr %t2596
+ %t2598 = icmp eq ptr %t2597, @sc_cs_629517122853751
+ br i1 %t2598, label %dc.exact1014, label %dc.checked1015
+dc.exact1014:
+ %t2601 = getelementptr inbounds i8, ptr %t2592, i64 16 ; ->v.typed_ref.ptr
+ %t2602 = load ptr, ptr %t2601
+ %t2603 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2602)
+ store ptr %t2603, ptr %s2593
+ br label %dc.done1016
+dc.checked1015:
+ %t2604 = call ptr @sc_dc_29(ptr %t2592, ptr null)
+ store ptr %t2604, ptr %s2593
+ %t2605 = load i32, ptr %exc.cell
+ %t2606 = icmp ne i32 %t2605, 0
+ %t2607 = call i1 @llvm.expect.i1(i1 %t2606, i1 false)
+ br i1 %t2607, label %exc.u1017, label %exc.k1018
+exc.u1017:
+ call void @scr_dyn_release(ptr %t2592)
+ br label %exc.cleanup2
+exc.k1018:
+ br label %dc.done1016
+dc.done1016:
+ %t2608 = load ptr, ptr %s2593
+ %t2609 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2608, i64 0, i32 2
+ %t2610 = load ptr, ptr %t2609, !tbaa !204
+ %t2611 = call ptr @sc_rc_retain_dyn(ptr %t2610)
+ call void @scr_dyn_release(ptr %t2592)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2608)
+ %t2612 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2612)
+ ret ptr %t2611
+if.j991:
+ %t2613 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2614
+ %t2615 = icmp ne ptr %t2613, null
+ br i1 %t2615, label %brand.inspect1019, label %brand.done1021
+brand.inspect1019:
+ %t2616 = getelementptr inbounds i8, ptr %t2613, i64 8 ; ->kind
+ %t2617 = load i32, ptr %t2616
+ %t2618 = icmp eq i32 %t2617, 12
+ br i1 %t2618, label %brand.capsule1020, label %brand.done1021
+brand.capsule1020:
+ %t2619 = getelementptr inbounds i8, ptr %t2613, i64 40 ; ->v.typed_ref.type_key
+ %t2620 = load ptr, ptr %t2619
+ %t2621 = icmp eq ptr %t2620, @sc_cs_629517122853751
+ store i1 true, ptr %s2614
+ br i1 %t2621, label %brand.done1021, label %brand.compare1022
+brand.compare1022:
+ %t2622 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2613, ptr @sc_lit_629517122853751)
+ store i1 %t2622, ptr %s2614
+ br label %brand.done1021
+brand.done1021:
+ %t2623 = load i1, ptr %s2614
+ br i1 %t2623, label %if.t1023, label %if.j1024
+if.t1023:
+ %t2624 = load ptr, ptr %sc_l_p_0
+ %t2625 = call ptr @sc_rc_retain_dyn(ptr %t2624)
+ %t2627 = icmp ne ptr %t2625, null
+ br i1 %t2627, label %dc.inspect1025, label %dc.checked1028
+dc.inspect1025:
+ %t2632 = getelementptr inbounds i8, ptr %t2625, i64 8 ; ->kind
+ %t2633 = load i32, ptr %t2632
+ %t2628 = icmp eq i32 %t2633, 12
+ br i1 %t2628, label %dc.capsule1026, label %dc.checked1028
+dc.capsule1026:
+ %t2629 = getelementptr inbounds i8, ptr %t2625, i64 40 ; ->v.typed_ref.type_key
+ %t2630 = load ptr, ptr %t2629
+ %t2631 = icmp eq ptr %t2630, @sc_cs_629517122853751
+ br i1 %t2631, label %dc.exact1027, label %dc.checked1028
+dc.exact1027:
+ %t2634 = getelementptr inbounds i8, ptr %t2625, i64 16 ; ->v.typed_ref.ptr
+ %t2635 = load ptr, ptr %t2634
+ %t2636 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2635)
+ store ptr %t2636, ptr %s2626
+ br label %dc.done1029
+dc.checked1028:
+ %t2637 = call ptr @sc_dc_29(ptr %t2625, ptr null)
+ store ptr %t2637, ptr %s2626
+ %t2638 = load i32, ptr %exc.cell
+ %t2639 = icmp ne i32 %t2638, 0
+ %t2640 = call i1 @llvm.expect.i1(i1 %t2639, i1 false)
+ br i1 %t2640, label %exc.u1030, label %exc.k1031
+exc.u1030:
+ call void @scr_dyn_release(ptr %t2625)
+ br label %exc.cleanup2
+exc.k1031:
+ br label %dc.done1029
+dc.done1029:
+ %t2641 = load ptr, ptr %s2626
+ %t2642 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2641, i64 0, i32 2
+ %t2643 = load ptr, ptr %t2642, !tbaa !204
+ %t2644 = getelementptr inbounds i8, ptr %t2643, i64 8 ; ->kind
+ %t2645 = load i32, ptr %t2644
+ %t2646 = icmp eq i32 %t2645, 6
+ call void @scr_dyn_release(ptr %t2625)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2641)
+ br i1 %t2646, label %if.t1032, label %if.j1033
+if.t1032:
+ %t2647 = load ptr, ptr %sc_l_p_0
+ %t2648 = call ptr @sc_rc_retain_dyn(ptr %t2647)
+ %t2650 = icmp ne ptr %t2648, null
+ br i1 %t2650, label %dc.inspect1034, label %dc.checked1037
+dc.inspect1034:
+ %t2655 = getelementptr inbounds i8, ptr %t2648, i64 8 ; ->kind
+ %t2656 = load i32, ptr %t2655
+ %t2651 = icmp eq i32 %t2656, 12
+ br i1 %t2651, label %dc.capsule1035, label %dc.checked1037
+dc.capsule1035:
+ %t2652 = getelementptr inbounds i8, ptr %t2648, i64 40 ; ->v.typed_ref.type_key
+ %t2653 = load ptr, ptr %t2652
+ %t2654 = icmp eq ptr %t2653, @sc_cs_629517122853751
+ br i1 %t2654, label %dc.exact1036, label %dc.checked1037
+dc.exact1036:
+ %t2657 = getelementptr inbounds i8, ptr %t2648, i64 16 ; ->v.typed_ref.ptr
+ %t2658 = load ptr, ptr %t2657
+ %t2659 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2658)
+ store ptr %t2659, ptr %s2649
+ br label %dc.done1038
+dc.checked1037:
+ %t2660 = call ptr @sc_dc_29(ptr %t2648, ptr null)
+ store ptr %t2660, ptr %s2649
+ %t2661 = load i32, ptr %exc.cell
+ %t2662 = icmp ne i32 %t2661, 0
+ %t2663 = call i1 @llvm.expect.i1(i1 %t2662, i1 false)
+ br i1 %t2663, label %exc.u1039, label %exc.k1040
+exc.u1039:
+ call void @scr_dyn_release(ptr %t2648)
+ br label %exc.cleanup2
+exc.k1040:
+ br label %dc.done1038
+dc.done1038:
+ %t2664 = load ptr, ptr %s2649
+ %t2665 = load ptr, ptr %sc_l_p_0
+ %t2666 = call ptr @sc_rc_retain_dyn(ptr %t2665)
+ %t2668 = icmp ne ptr %t2666, null
+ br i1 %t2668, label %dc.inspect1041, label %dc.checked1044
+dc.inspect1041:
+ %t2673 = getelementptr inbounds i8, ptr %t2666, i64 8 ; ->kind
+ %t2674 = load i32, ptr %t2673
+ %t2669 = icmp eq i32 %t2674, 12
+ br i1 %t2669, label %dc.capsule1042, label %dc.checked1044
+dc.capsule1042:
+ %t2670 = getelementptr inbounds i8, ptr %t2666, i64 40 ; ->v.typed_ref.type_key
+ %t2671 = load ptr, ptr %t2670
+ %t2672 = icmp eq ptr %t2671, @sc_cs_629517122853751
+ br i1 %t2672, label %dc.exact1043, label %dc.checked1044
+dc.exact1043:
+ %t2675 = getelementptr inbounds i8, ptr %t2666, i64 16 ; ->v.typed_ref.ptr
+ %t2676 = load ptr, ptr %t2675
+ %t2677 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2676)
+ store ptr %t2677, ptr %s2667
+ br label %dc.done1045
+dc.checked1044:
+ %t2678 = call ptr @sc_dc_29(ptr %t2666, ptr null)
+ store ptr %t2678, ptr %s2667
+ %t2679 = load i32, ptr %exc.cell
+ %t2680 = icmp ne i32 %t2679, 0
+ %t2681 = call i1 @llvm.expect.i1(i1 %t2680, i1 false)
+ br i1 %t2681, label %exc.u1046, label %exc.k1047
+exc.u1046:
+ call void @scr_dyn_release(ptr %t2648)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2664)
+ call void @scr_dyn_release(ptr %t2666)
+ br label %exc.cleanup2
+exc.k1047:
+ br label %dc.done1045
+dc.done1045:
+ %t2682 = load ptr, ptr %s2667
+ %t2683 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2682, i64 0, i32 1
+ %t2684 = load ptr, ptr %t2683
+ %t2685 = getelementptr inbounds %ScrVt, ptr %t2684, i64 0, i32 0
+ %t2686 = load i64, ptr %t2685
+ %t2687 = icmp uge i64 %t2686, 17
+ %t2688 = icmp ule i64 %t2686, 18
+ %t2689 = and i1 %t2687, %t2688 ; instanceof %m2.FetchResponseSink
+ br i1 %t2689, label %tern.t1048, label %tern.f1049
+tern.t1048:
+ %t2691 = load ptr, ptr %sc_l_p_0
+ %t2692 = call ptr @sc_rc_retain_dyn(ptr %t2691)
+ %t2694 = icmp ne ptr %t2692, null
+ br i1 %t2694, label %dc.inspect1051, label %dc.checked1054
+dc.inspect1051:
+ %t2699 = getelementptr inbounds i8, ptr %t2692, i64 8 ; ->kind
+ %t2700 = load i32, ptr %t2699
+ %t2695 = icmp eq i32 %t2700, 12
+ br i1 %t2695, label %dc.capsule1052, label %dc.checked1054
+dc.capsule1052:
+ %t2696 = getelementptr inbounds i8, ptr %t2692, i64 40 ; ->v.typed_ref.type_key
+ %t2697 = load ptr, ptr %t2696
+ %t2698 = icmp eq ptr %t2697, @sc_cs_629517122853751
+ br i1 %t2698, label %dc.exact1053, label %dc.checked1054
+dc.exact1053:
+ %t2701 = getelementptr inbounds i8, ptr %t2692, i64 16 ; ->v.typed_ref.ptr
+ %t2702 = load ptr, ptr %t2701
+ %t2703 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2702)
+ store ptr %t2703, ptr %s2693
+ br label %dc.done1055
+dc.checked1054:
+ %t2704 = call ptr @sc_dc_29(ptr %t2692, ptr null)
+ store ptr %t2704, ptr %s2693
+ %t2705 = load i32, ptr %exc.cell
+ %t2706 = icmp ne i32 %t2705, 0
+ %t2707 = call i1 @llvm.expect.i1(i1 %t2706, i1 false)
+ br i1 %t2707, label %exc.u1056, label %exc.k1057
+exc.u1056:
+ call void @scr_dyn_release(ptr %t2692)
+ call void @scr_dyn_release(ptr %t2648)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2664)
+ call void @scr_dyn_release(ptr %t2666)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2682)
+ br label %exc.cleanup2
+exc.k1057:
+ br label %dc.done1055
+dc.done1055:
+ %t2708 = load ptr, ptr %s2693
+ %t2709 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2708, i64 0, i32 1
+ %t2710 = load ptr, ptr %t2709
+ %t2711 = getelementptr inbounds %ScrVt, ptr %t2710, i64 0, i32 0
+ %t2712 = load i64, ptr %t2711
+ %t2713 = icmp uge i64 %t2712, 18
+ %t2714 = icmp ule i64 %t2712, 18
+ %t2715 = and i1 %t2713, %t2714 ; instanceof %m3.LiteResponse
+ br i1 %t2715, label %tern.t1058, label %tern.f1059
+tern.t1058:
+ %t2717 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t2718 = load i32, ptr %exc.cell
+ %t2719 = icmp ne i32 %t2718, 0
+ %t2720 = call i1 @llvm.expect.i1(i1 %t2719, i1 false)
+ br i1 %t2720, label %exc.u1061, label %exc.k1062
+exc.u1061:
+ call void @scr_dyn_release(ptr %t2717)
+ call void @scr_dyn_release(ptr %t2692)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2708)
+ call void @scr_dyn_release(ptr %t2648)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2664)
+ call void @scr_dyn_release(ptr %t2666)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2682)
+ br label %exc.cleanup2
+exc.k1062:
+ store ptr %t2717, ptr %s2716
+ br label %tern.j1060
+tern.f1059:
+ %t2721 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t2722 = load i32, ptr %exc.cell
+ %t2723 = icmp ne i32 %t2722, 0
+ %t2724 = call i1 @llvm.expect.i1(i1 %t2723, i1 false)
+ br i1 %t2724, label %exc.u1063, label %exc.k1064
+exc.u1063:
+ call void @scr_dyn_release(ptr %t2721)
+ call void @scr_dyn_release(ptr %t2692)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2708)
+ call void @scr_dyn_release(ptr %t2648)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2664)
+ call void @scr_dyn_release(ptr %t2666)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2682)
+ br label %exc.cleanup2
+exc.k1064:
+ store ptr %t2721, ptr %s2716
+ br label %tern.j1060
+tern.j1060:
+ %t2725 = load ptr, ptr %s2716
+ store ptr %t2725, ptr %s2690
+ call void @scr_dyn_release(ptr %t2692)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2708)
+ br label %tern.j1050
+tern.f1049:
+ %t2726 = load ptr, ptr %sc_l_p_0
+ %t2727 = call ptr @sc_rc_retain_dyn(ptr %t2726)
+ %t2729 = icmp ne ptr %t2727, null
+ br i1 %t2729, label %dc.inspect1065, label %dc.checked1068
+dc.inspect1065:
+ %t2734 = getelementptr inbounds i8, ptr %t2727, i64 8 ; ->kind
+ %t2735 = load i32, ptr %t2734
+ %t2730 = icmp eq i32 %t2735, 12
+ br i1 %t2730, label %dc.capsule1066, label %dc.checked1068
+dc.capsule1066:
+ %t2731 = getelementptr inbounds i8, ptr %t2727, i64 40 ; ->v.typed_ref.type_key
+ %t2732 = load ptr, ptr %t2731
+ %t2733 = icmp eq ptr %t2732, @sc_cs_629517122853751
+ br i1 %t2733, label %dc.exact1067, label %dc.checked1068
+dc.exact1067:
+ %t2736 = getelementptr inbounds i8, ptr %t2727, i64 16 ; ->v.typed_ref.ptr
+ %t2737 = load ptr, ptr %t2736
+ %t2738 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2737)
+ store ptr %t2738, ptr %s2728
+ br label %dc.done1069
+dc.checked1068:
+ %t2739 = call ptr @sc_dc_29(ptr %t2727, ptr null)
+ store ptr %t2739, ptr %s2728
+ %t2740 = load i32, ptr %exc.cell
+ %t2741 = icmp ne i32 %t2740, 0
+ %t2742 = call i1 @llvm.expect.i1(i1 %t2741, i1 false)
+ br i1 %t2742, label %exc.u1070, label %exc.k1071
+exc.u1070:
+ call void @scr_dyn_release(ptr %t2727)
+ call void @scr_dyn_release(ptr %t2648)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2664)
+ call void @scr_dyn_release(ptr %t2666)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2682)
+ br label %exc.cleanup2
+exc.k1071:
+ br label %dc.done1069
+dc.done1069:
+ %t2743 = load ptr, ptr %s2728
+ %t2744 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2743, i64 0, i32 1
+ %t2745 = load ptr, ptr %t2744
+ %t2746 = getelementptr inbounds %ScrVt, ptr %t2745, i64 0, i32 0
+ %t2747 = load i64, ptr %t2746
+ %t2748 = icmp uge i64 %t2747, 16
+ %t2749 = icmp ule i64 %t2747, 16
+ %t2750 = and i1 %t2748, %t2749 ; instanceof %m2.NodeResponseSink
+ br i1 %t2750, label %tern.t1072, label %tern.f1073
+tern.t1072:
+ %t2752 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t2753 = load i32, ptr %exc.cell
+ %t2754 = icmp ne i32 %t2753, 0
+ %t2755 = call i1 @llvm.expect.i1(i1 %t2754, i1 false)
+ br i1 %t2755, label %exc.u1075, label %exc.k1076
+exc.u1075:
+ call void @scr_dyn_release(ptr %t2752)
+ call void @scr_dyn_release(ptr %t2727)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2743)
+ call void @scr_dyn_release(ptr %t2648)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2664)
+ call void @scr_dyn_release(ptr %t2666)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2682)
+ br label %exc.cleanup2
+exc.k1076:
+ store ptr %t2752, ptr %s2751
+ br label %tern.j1074
+tern.f1073:
+ %t2756 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink()
+ %t2757 = load i32, ptr %exc.cell
+ %t2758 = icmp ne i32 %t2757, 0
+ %t2759 = call i1 @llvm.expect.i1(i1 %t2758, i1 false)
+ br i1 %t2759, label %exc.u1077, label %exc.k1078
+exc.u1077:
+ call void @scr_dyn_release(ptr %t2756)
+ call void @scr_dyn_release(ptr %t2727)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2743)
+ call void @scr_dyn_release(ptr %t2648)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2664)
+ call void @scr_dyn_release(ptr %t2666)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2682)
+ br label %exc.cleanup2
+exc.k1078:
+ store ptr %t2756, ptr %s2751
+ br label %tern.j1074
+tern.j1074:
+ %t2760 = load ptr, ptr %s2751
+ store ptr %t2760, ptr %s2690
+ call void @scr_dyn_release(ptr %t2727)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2743)
+ br label %tern.j1050
+tern.j1050:
+ %t2761 = load ptr, ptr %s2690
+ %t2762 = call ptr @scr_dyn_obj_create(ptr %t2761)
+ %t2763 = load i32, ptr %exc.cell
+ %t2764 = icmp ne i32 %t2763, 0
+ %t2765 = call i1 @llvm.expect.i1(i1 %t2764, i1 false)
+ br i1 %t2765, label %exc.u1079, label %exc.k1080
+exc.u1079:
+ call void @scr_dyn_release(ptr %t2648)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2664)
+ call void @scr_dyn_release(ptr %t2666)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2682)
+ call void @scr_dyn_release(ptr %t2761)
+ call void @scr_dyn_release(ptr %t2762)
+ br label %exc.cleanup2
+exc.k1080:
+ %t2766 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2664, i64 0, i32 2
+ %t2767 = load ptr, ptr %t2766
+ store ptr %t2762, ptr %t2766, !tbaa !204
+ call void @scr_dyn_release(ptr %t2767)
+ call void @scr_dyn_release(ptr %t2648)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2664)
+ call void @scr_dyn_release(ptr %t2666)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2682)
+ call void @scr_dyn_release(ptr %t2761)
+ br label %if.j1033
+if.j1033:
+ %t2768 = load ptr, ptr %sc_l_p_0
+ %t2769 = call ptr @sc_rc_retain_dyn(ptr %t2768)
+ %t2771 = icmp ne ptr %t2769, null
+ br i1 %t2771, label %dc.inspect1081, label %dc.checked1084
+dc.inspect1081:
+ %t2776 = getelementptr inbounds i8, ptr %t2769, i64 8 ; ->kind
+ %t2777 = load i32, ptr %t2776
+ %t2772 = icmp eq i32 %t2777, 12
+ br i1 %t2772, label %dc.capsule1082, label %dc.checked1084
+dc.capsule1082:
+ %t2773 = getelementptr inbounds i8, ptr %t2769, i64 40 ; ->v.typed_ref.type_key
+ %t2774 = load ptr, ptr %t2773
+ %t2775 = icmp eq ptr %t2774, @sc_cs_629517122853751
+ br i1 %t2775, label %dc.exact1083, label %dc.checked1084
+dc.exact1083:
+ %t2778 = getelementptr inbounds i8, ptr %t2769, i64 16 ; ->v.typed_ref.ptr
+ %t2779 = load ptr, ptr %t2778
+ %t2780 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2779)
+ store ptr %t2780, ptr %s2770
+ br label %dc.done1085
+dc.checked1084:
+ %t2781 = call ptr @sc_dc_29(ptr %t2769, ptr null)
+ store ptr %t2781, ptr %s2770
+ %t2782 = load i32, ptr %exc.cell
+ %t2783 = icmp ne i32 %t2782, 0
+ %t2784 = call i1 @llvm.expect.i1(i1 %t2783, i1 false)
+ br i1 %t2784, label %exc.u1086, label %exc.k1087
+exc.u1086:
+ call void @scr_dyn_release(ptr %t2769)
+ br label %exc.cleanup2
+exc.k1087:
+ br label %dc.done1085
+dc.done1085:
+ %t2785 = load ptr, ptr %s2770
+ %t2786 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2785, i64 0, i32 2
+ %t2787 = load ptr, ptr %t2786, !tbaa !204
+ %t2788 = call ptr @sc_rc_retain_dyn(ptr %t2787)
+ call void @scr_dyn_release(ptr %t2769)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2785)
+ %t2789 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2789)
+ ret ptr %t2788
+if.j1024:
+ %t2790 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2791
+ %t2792 = icmp ne ptr %t2790, null
+ br i1 %t2792, label %brand.inspect1088, label %brand.done1090
+brand.inspect1088:
+ %t2793 = getelementptr inbounds i8, ptr %t2790, i64 8 ; ->kind
+ %t2794 = load i32, ptr %t2793
+ %t2795 = icmp eq i32 %t2794, 12
+ br i1 %t2795, label %brand.capsule1089, label %brand.done1090
+brand.capsule1089:
+ %t2796 = getelementptr inbounds i8, ptr %t2790, i64 40 ; ->v.typed_ref.type_key
+ %t2797 = load ptr, ptr %t2796
+ %t2798 = icmp eq ptr %t2797, @sc_cs_660811353369478
+ store i1 true, ptr %s2791
+ br i1 %t2798, label %brand.done1090, label %brand.compare1091
+brand.compare1091:
+ %t2799 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2790, ptr @sc_lit_660811353369478)
+ store i1 %t2799, ptr %s2791
+ br label %brand.done1090
+brand.done1090:
+ %t2800 = load i1, ptr %s2791
+ br i1 %t2800, label %if.t1092, label %if.j1093
+if.t1092:
+ %t2801 = load ptr, ptr %sc_l_p_0
+ %t2802 = call ptr @sc_rc_retain_dyn(ptr %t2801)
+ %t2804 = icmp ne ptr %t2802, null
+ br i1 %t2804, label %dc.inspect1094, label %dc.checked1097
+dc.inspect1094:
+ %t2809 = getelementptr inbounds i8, ptr %t2802, i64 8 ; ->kind
+ %t2810 = load i32, ptr %t2809
+ %t2805 = icmp eq i32 %t2810, 12
+ br i1 %t2805, label %dc.capsule1095, label %dc.checked1097
+dc.capsule1095:
+ %t2806 = getelementptr inbounds i8, ptr %t2802, i64 40 ; ->v.typed_ref.type_key
+ %t2807 = load ptr, ptr %t2806
+ %t2808 = icmp eq ptr %t2807, @sc_cs_660811353369478
+ br i1 %t2808, label %dc.exact1096, label %dc.checked1097
+dc.exact1096:
+ %t2811 = getelementptr inbounds i8, ptr %t2802, i64 16 ; ->v.typed_ref.ptr
+ %t2812 = load ptr, ptr %t2811
+ %t2813 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2812)
+ store ptr %t2813, ptr %s2803
+ br label %dc.done1098
+dc.checked1097:
+ %t2814 = call ptr @sc_dc_28(ptr %t2802, ptr null)
+ store ptr %t2814, ptr %s2803
+ %t2815 = load i32, ptr %exc.cell
+ %t2816 = icmp ne i32 %t2815, 0
+ %t2817 = call i1 @llvm.expect.i1(i1 %t2816, i1 false)
+ br i1 %t2817, label %exc.u1099, label %exc.k1100
+exc.u1099:
+ call void @scr_dyn_release(ptr %t2802)
+ br label %exc.cleanup2
+exc.k1100:
+ br label %dc.done1098
+dc.done1098:
+ %t2818 = load ptr, ptr %s2803
+ %t2819 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2818, i64 0, i32 17
+ %t2820 = load ptr, ptr %t2819, !tbaa !204
+ %t2821 = getelementptr inbounds i8, ptr %t2820, i64 8 ; ->kind
+ %t2822 = load i32, ptr %t2821
+ %t2823 = icmp eq i32 %t2822, 6
+ call void @scr_dyn_release(ptr %t2802)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t2818)
+ br i1 %t2823, label %if.t1101, label %if.j1102
+if.t1101:
+ %t2824 = load ptr, ptr %sc_l_p_0
+ %t2825 = call ptr @sc_rc_retain_dyn(ptr %t2824)
+ %t2827 = icmp ne ptr %t2825, null
+ br i1 %t2827, label %dc.inspect1103, label %dc.checked1106
+dc.inspect1103:
+ %t2832 = getelementptr inbounds i8, ptr %t2825, i64 8 ; ->kind
+ %t2833 = load i32, ptr %t2832
+ %t2828 = icmp eq i32 %t2833, 12
+ br i1 %t2828, label %dc.capsule1104, label %dc.checked1106
+dc.capsule1104:
+ %t2829 = getelementptr inbounds i8, ptr %t2825, i64 40 ; ->v.typed_ref.type_key
+ %t2830 = load ptr, ptr %t2829
+ %t2831 = icmp eq ptr %t2830, @sc_cs_660811353369478
+ br i1 %t2831, label %dc.exact1105, label %dc.checked1106
+dc.exact1105:
+ %t2834 = getelementptr inbounds i8, ptr %t2825, i64 16 ; ->v.typed_ref.ptr
+ %t2835 = load ptr, ptr %t2834
+ %t2836 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2835)
+ store ptr %t2836, ptr %s2826
+ br label %dc.done1107
+dc.checked1106:
+ %t2837 = call ptr @sc_dc_28(ptr %t2825, ptr null)
+ store ptr %t2837, ptr %s2826
+ %t2838 = load i32, ptr %exc.cell
+ %t2839 = icmp ne i32 %t2838, 0
+ %t2840 = call i1 @llvm.expect.i1(i1 %t2839, i1 false)
+ br i1 %t2840, label %exc.u1108, label %exc.k1109
+exc.u1108:
+ call void @scr_dyn_release(ptr %t2825)
+ br label %exc.cleanup2
+exc.k1109:
+ br label %dc.done1107
+dc.done1107:
+ %t2841 = load ptr, ptr %s2826
+ %t2842 = call ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore()
+ %t2843 = load i32, ptr %exc.cell
+ %t2844 = icmp ne i32 %t2843, 0
+ %t2845 = call i1 @llvm.expect.i1(i1 %t2844, i1 false)
+ br i1 %t2845, label %exc.u1110, label %exc.k1111
+exc.u1110:
+ call void @scr_dyn_release(ptr %t2825)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t2841)
+ call void @scr_dyn_release(ptr %t2842)
+ br label %exc.cleanup2
+exc.k1111:
+ %t2846 = call ptr @scr_dyn_obj_create(ptr %t2842)
+ %t2847 = load i32, ptr %exc.cell
+ %t2848 = icmp ne i32 %t2847, 0
+ %t2849 = call i1 @llvm.expect.i1(i1 %t2848, i1 false)
+ br i1 %t2849, label %exc.u1112, label %exc.k1113
+exc.u1112:
+ call void @scr_dyn_release(ptr %t2825)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t2841)
+ call void @scr_dyn_release(ptr %t2842)
+ call void @scr_dyn_release(ptr %t2846)
+ br label %exc.cleanup2
+exc.k1113:
+ %t2850 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2841, i64 0, i32 17
+ %t2851 = load ptr, ptr %t2850
+ store ptr %t2846, ptr %t2850, !tbaa !204
+ call void @scr_dyn_release(ptr %t2851)
+ call void @scr_dyn_release(ptr %t2825)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t2841)
+ call void @scr_dyn_release(ptr %t2842)
+ br label %if.j1102
+if.j1102:
+ %t2852 = load ptr, ptr %sc_l_p_0
+ %t2853 = call ptr @sc_rc_retain_dyn(ptr %t2852)
+ %t2855 = icmp ne ptr %t2853, null
+ br i1 %t2855, label %dc.inspect1114, label %dc.checked1117
+dc.inspect1114:
+ %t2860 = getelementptr inbounds i8, ptr %t2853, i64 8 ; ->kind
+ %t2861 = load i32, ptr %t2860
+ %t2856 = icmp eq i32 %t2861, 12
+ br i1 %t2856, label %dc.capsule1115, label %dc.checked1117
+dc.capsule1115:
+ %t2857 = getelementptr inbounds i8, ptr %t2853, i64 40 ; ->v.typed_ref.type_key
+ %t2858 = load ptr, ptr %t2857
+ %t2859 = icmp eq ptr %t2858, @sc_cs_660811353369478
+ br i1 %t2859, label %dc.exact1116, label %dc.checked1117
+dc.exact1116:
+ %t2862 = getelementptr inbounds i8, ptr %t2853, i64 16 ; ->v.typed_ref.ptr
+ %t2863 = load ptr, ptr %t2862
+ %t2864 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2863)
+ store ptr %t2864, ptr %s2854
+ br label %dc.done1118
+dc.checked1117:
+ %t2865 = call ptr @sc_dc_28(ptr %t2853, ptr null)
+ store ptr %t2865, ptr %s2854
+ %t2866 = load i32, ptr %exc.cell
+ %t2867 = icmp ne i32 %t2866, 0
+ %t2868 = call i1 @llvm.expect.i1(i1 %t2867, i1 false)
+ br i1 %t2868, label %exc.u1119, label %exc.k1120
+exc.u1119:
+ call void @scr_dyn_release(ptr %t2853)
+ br label %exc.cleanup2
+exc.k1120:
+ br label %dc.done1118
+dc.done1118:
+ %t2869 = load ptr, ptr %s2854
+ %t2870 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2869, i64 0, i32 17
+ %t2871 = load ptr, ptr %t2870, !tbaa !204
+ %t2872 = call ptr @sc_rc_retain_dyn(ptr %t2871)
+ call void @scr_dyn_release(ptr %t2853)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t2869)
+ %t2873 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2873)
+ ret ptr %t2872
+if.j1093:
+ %t2874 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2875
+ %t2876 = icmp ne ptr %t2874, null
+ br i1 %t2876, label %brand.inspect1121, label %brand.done1123
+brand.inspect1121:
+ %t2877 = getelementptr inbounds i8, ptr %t2874, i64 8 ; ->kind
+ %t2878 = load i32, ptr %t2877
+ %t2879 = icmp eq i32 %t2878, 12
+ br i1 %t2879, label %brand.capsule1122, label %brand.done1123
+brand.capsule1122:
+ %t2880 = getelementptr inbounds i8, ptr %t2874, i64 40 ; ->v.typed_ref.type_key
+ %t2881 = load ptr, ptr %t2880
+ %t2882 = icmp eq ptr %t2881, @sc_cs_4336131790391205
+ store i1 true, ptr %s2875
+ br i1 %t2882, label %brand.done1123, label %brand.compare1124
+brand.compare1124:
+ %t2883 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2874, ptr @sc_lit_4336131790391205)
+ store i1 %t2883, ptr %s2875
+ br label %brand.done1123
+brand.done1123:
+ %t2884 = load i1, ptr %s2875
+ br i1 %t2884, label %if.t1125, label %if.j1126
+if.t1125:
+ %t2885 = load ptr, ptr %sc_l_p_0
+ %t2886 = call ptr @sc_rc_retain_dyn(ptr %t2885)
+ %t2888 = icmp ne ptr %t2886, null
+ br i1 %t2888, label %dc.inspect1127, label %dc.checked1130
+dc.inspect1127:
+ %t2893 = getelementptr inbounds i8, ptr %t2886, i64 8 ; ->kind
+ %t2894 = load i32, ptr %t2893
+ %t2889 = icmp eq i32 %t2894, 12
+ br i1 %t2889, label %dc.capsule1128, label %dc.checked1130
+dc.capsule1128:
+ %t2890 = getelementptr inbounds i8, ptr %t2886, i64 40 ; ->v.typed_ref.type_key
+ %t2891 = load ptr, ptr %t2890
+ %t2892 = icmp eq ptr %t2891, @sc_cs_4336131790391205
+ br i1 %t2892, label %dc.exact1129, label %dc.checked1130
+dc.exact1129:
+ %t2895 = getelementptr inbounds i8, ptr %t2886, i64 16 ; ->v.typed_ref.ptr
+ %t2896 = load ptr, ptr %t2895
+ %t2897 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2896)
+ store ptr %t2897, ptr %s2887
+ br label %dc.done1131
+dc.checked1130:
+ %t2898 = call ptr @sc_dc_43(ptr %t2886, ptr null)
+ store ptr %t2898, ptr %s2887
+ %t2899 = load i32, ptr %exc.cell
+ %t2900 = icmp ne i32 %t2899, 0
+ %t2901 = call i1 @llvm.expect.i1(i1 %t2900, i1 false)
+ br i1 %t2901, label %exc.u1132, label %exc.k1133
+exc.u1132:
+ call void @scr_dyn_release(ptr %t2886)
+ br label %exc.cleanup2
+exc.k1133:
+ br label %dc.done1131
+dc.done1131:
+ %t2902 = load ptr, ptr %s2887
+ %t2903 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2902, i64 0, i32 6
+ %t2904 = load ptr, ptr %t2903, !tbaa !204
+ %t2905 = getelementptr inbounds i8, ptr %t2904, i64 8 ; ->kind
+ %t2906 = load i32, ptr %t2905
+ %t2907 = icmp eq i32 %t2906, 6
+ call void @scr_dyn_release(ptr %t2886)
+ call void @sc_release__x25_m5_MpCfg(ptr %t2902)
+ br i1 %t2907, label %if.t1134, label %if.j1135
+if.t1134:
+ %t2908 = load ptr, ptr %sc_l_p_0
+ %t2909 = call ptr @sc_rc_retain_dyn(ptr %t2908)
+ %t2911 = icmp ne ptr %t2909, null
+ br i1 %t2911, label %dc.inspect1136, label %dc.checked1139
+dc.inspect1136:
+ %t2916 = getelementptr inbounds i8, ptr %t2909, i64 8 ; ->kind
+ %t2917 = load i32, ptr %t2916
+ %t2912 = icmp eq i32 %t2917, 12
+ br i1 %t2912, label %dc.capsule1137, label %dc.checked1139
+dc.capsule1137:
+ %t2913 = getelementptr inbounds i8, ptr %t2909, i64 40 ; ->v.typed_ref.type_key
+ %t2914 = load ptr, ptr %t2913
+ %t2915 = icmp eq ptr %t2914, @sc_cs_4336131790391205
+ br i1 %t2915, label %dc.exact1138, label %dc.checked1139
+dc.exact1138:
+ %t2918 = getelementptr inbounds i8, ptr %t2909, i64 16 ; ->v.typed_ref.ptr
+ %t2919 = load ptr, ptr %t2918
+ %t2920 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2919)
+ store ptr %t2920, ptr %s2910
+ br label %dc.done1140
+dc.checked1139:
+ %t2921 = call ptr @sc_dc_43(ptr %t2909, ptr null)
+ store ptr %t2921, ptr %s2910
+ %t2922 = load i32, ptr %exc.cell
+ %t2923 = icmp ne i32 %t2922, 0
+ %t2924 = call i1 @llvm.expect.i1(i1 %t2923, i1 false)
+ br i1 %t2924, label %exc.u1141, label %exc.k1142
+exc.u1141:
+ call void @scr_dyn_release(ptr %t2909)
+ br label %exc.cleanup2
+exc.k1142:
+ br label %dc.done1140
+dc.done1140:
+ %t2925 = load ptr, ptr %s2910
+ %t2926 = call ptr @scr_dyn_new_obj()
+ %t2927 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2925, i64 0, i32 6
+ %t2928 = load ptr, ptr %t2927
+ store ptr %t2926, ptr %t2927, !tbaa !204
+ call void @scr_dyn_release(ptr %t2928)
+ call void @scr_dyn_release(ptr %t2909)
+ call void @sc_release__x25_m5_MpCfg(ptr %t2925)
+ br label %if.j1135
+if.j1135:
+ %t2929 = load ptr, ptr %sc_l_p_0
+ %t2930 = call ptr @sc_rc_retain_dyn(ptr %t2929)
+ %t2932 = icmp ne ptr %t2930, null
+ br i1 %t2932, label %dc.inspect1143, label %dc.checked1146
+dc.inspect1143:
+ %t2937 = getelementptr inbounds i8, ptr %t2930, i64 8 ; ->kind
+ %t2938 = load i32, ptr %t2937
+ %t2933 = icmp eq i32 %t2938, 12
+ br i1 %t2933, label %dc.capsule1144, label %dc.checked1146
+dc.capsule1144:
+ %t2934 = getelementptr inbounds i8, ptr %t2930, i64 40 ; ->v.typed_ref.type_key
+ %t2935 = load ptr, ptr %t2934
+ %t2936 = icmp eq ptr %t2935, @sc_cs_4336131790391205
+ br i1 %t2936, label %dc.exact1145, label %dc.checked1146
+dc.exact1145:
+ %t2939 = getelementptr inbounds i8, ptr %t2930, i64 16 ; ->v.typed_ref.ptr
+ %t2940 = load ptr, ptr %t2939
+ %t2941 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2940)
+ store ptr %t2941, ptr %s2931
+ br label %dc.done1147
+dc.checked1146:
+ %t2942 = call ptr @sc_dc_43(ptr %t2930, ptr null)
+ store ptr %t2942, ptr %s2931
+ %t2943 = load i32, ptr %exc.cell
+ %t2944 = icmp ne i32 %t2943, 0
+ %t2945 = call i1 @llvm.expect.i1(i1 %t2944, i1 false)
+ br i1 %t2945, label %exc.u1148, label %exc.k1149
+exc.u1148:
+ call void @scr_dyn_release(ptr %t2930)
+ br label %exc.cleanup2
+exc.k1149:
+ br label %dc.done1147
+dc.done1147:
+ %t2946 = load ptr, ptr %s2931
+ %t2947 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2946, i64 0, i32 6
+ %t2948 = load ptr, ptr %t2947, !tbaa !204
+ %t2949 = call ptr @sc_rc_retain_dyn(ptr %t2948)
+ call void @scr_dyn_release(ptr %t2930)
+ call void @sc_release__x25_m5_MpCfg(ptr %t2946)
+ %t2950 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2950)
+ ret ptr %t2949
+if.j1126:
+ %t2951 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2952
+ %t2953 = icmp ne ptr %t2951, null
+ br i1 %t2953, label %brand.inspect1150, label %brand.done1152
+brand.inspect1150:
+ %t2954 = getelementptr inbounds i8, ptr %t2951, i64 8 ; ->kind
+ %t2955 = load i32, ptr %t2954
+ %t2956 = icmp eq i32 %t2955, 12
+ br i1 %t2956, label %brand.capsule1151, label %brand.done1152
+brand.capsule1151:
+ %t2957 = getelementptr inbounds i8, ptr %t2951, i64 40 ; ->v.typed_ref.type_key
+ %t2958 = load ptr, ptr %t2957
+ %t2959 = icmp eq ptr %t2958, @sc_cs_3635319175845957
+ store i1 true, ptr %s2952
+ br i1 %t2959, label %brand.done1152, label %brand.compare1153
+brand.compare1153:
+ %t2960 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2951, ptr @sc_lit_3635319175845957)
+ store i1 %t2960, ptr %s2952
+ br label %brand.done1152
+brand.done1152:
+ %t2961 = load i1, ptr %s2952
+ br i1 %t2961, label %tern.t1154, label %tern.f1155
+tern.t1154:
+ %t2963 = load ptr, ptr %sc_l_p_0
+ %t2964 = call ptr @sc_rc_retain_dyn(ptr %t2963)
+ %t2966 = icmp ne ptr %t2964, null
+ br i1 %t2966, label %dc.inspect1157, label %dc.checked1160
+dc.inspect1157:
+ %t2971 = getelementptr inbounds i8, ptr %t2964, i64 8 ; ->kind
+ %t2972 = load i32, ptr %t2971
+ %t2967 = icmp eq i32 %t2972, 12
+ br i1 %t2967, label %dc.capsule1158, label %dc.checked1160
+dc.capsule1158:
+ %t2968 = getelementptr inbounds i8, ptr %t2964, i64 40 ; ->v.typed_ref.type_key
+ %t2969 = load ptr, ptr %t2968
+ %t2970 = icmp eq ptr %t2969, @sc_cs_3635319175845957
+ br i1 %t2970, label %dc.exact1159, label %dc.checked1160
+dc.exact1159:
+ %t2973 = getelementptr inbounds i8, ptr %t2964, i64 16 ; ->v.typed_ref.ptr
+ %t2974 = load ptr, ptr %t2973
+ %t2975 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2974)
+ store ptr %t2975, ptr %s2965
+ br label %dc.done1161
+dc.checked1160:
+ %t2976 = call ptr @sc_dc_24(ptr %t2964, ptr null)
+ store ptr %t2976, ptr %s2965
+ %t2977 = load i32, ptr %exc.cell
+ %t2978 = icmp ne i32 %t2977, 0
+ %t2979 = call i1 @llvm.expect.i1(i1 %t2978, i1 false)
+ br i1 %t2979, label %exc.u1162, label %exc.k1163
+exc.u1162:
+ call void @scr_dyn_release(ptr %t2964)
+ br label %exc.cleanup2
+exc.k1163:
+ br label %dc.done1161
+dc.done1161:
+ %t2980 = load ptr, ptr %s2965
+ %t2981 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2980, i64 0, i32 1
+ %t2982 = load ptr, ptr %t2981
+ %t2983 = getelementptr inbounds %ScrVt, ptr %t2982, i64 0, i32 0
+ %t2984 = load i64, ptr %t2983
+ %t2985 = icmp uge i64 %t2984, 26
+ %t2986 = icmp ule i64 %t2984, 26
+ %t2987 = and i1 %t2985, %t2986 ; instanceof %m4.MemoryStorage
+ store i1 %t2987, ptr %s2962
+ call void @scr_dyn_release(ptr %t2964)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2980)
+ br label %tern.j1156
+tern.f1155:
+ store i1 false, ptr %s2962
+ br label %tern.j1156
+tern.j1156:
+ %t2988 = load i1, ptr %s2962
+ br i1 %t2988, label %if.t1164, label %if.j1165
+if.t1164:
+ %t2989 = load ptr, ptr %sc_l_p_0
+ %t2990 = call ptr @sc_rc_retain_dyn(ptr %t2989)
+ %t2992 = icmp ne ptr %t2990, null
+ br i1 %t2992, label %dc.inspect1166, label %dc.checked1169
+dc.inspect1166:
+ %t2997 = getelementptr inbounds i8, ptr %t2990, i64 8 ; ->kind
+ %t2998 = load i32, ptr %t2997
+ %t2993 = icmp eq i32 %t2998, 12
+ br i1 %t2993, label %dc.capsule1167, label %dc.checked1169
+dc.capsule1167:
+ %t2994 = getelementptr inbounds i8, ptr %t2990, i64 40 ; ->v.typed_ref.type_key
+ %t2995 = load ptr, ptr %t2994
+ %t2996 = icmp eq ptr %t2995, @sc_cs_3635319175845957
+ br i1 %t2996, label %dc.exact1168, label %dc.checked1169
+dc.exact1168:
+ %t2999 = getelementptr inbounds i8, ptr %t2990, i64 16 ; ->v.typed_ref.ptr
+ %t3000 = load ptr, ptr %t2999
+ %t3001 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3000)
+ store ptr %t3001, ptr %s2991
+ br label %dc.done1170
+dc.checked1169:
+ %t3002 = call ptr @sc_dc_24(ptr %t2990, ptr null)
+ store ptr %t3002, ptr %s2991
+ %t3003 = load i32, ptr %exc.cell
+ %t3004 = icmp ne i32 %t3003, 0
+ %t3005 = call i1 @llvm.expect.i1(i1 %t3004, i1 false)
+ br i1 %t3005, label %exc.u1171, label %exc.k1172
+exc.u1171:
+ call void @scr_dyn_release(ptr %t2990)
+ br label %exc.cleanup2
+exc.k1172:
+ br label %dc.done1170
+dc.done1170:
+ %t3006 = load ptr, ptr %s2991
+ %t3007 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t3006, i64 0, i32 2
+ %t3008 = load ptr, ptr %t3007, !tbaa !204
+ %t3009 = getelementptr inbounds i8, ptr %t3008, i64 8 ; ->kind
+ %t3010 = load i32, ptr %t3009
+ %t3011 = icmp eq i32 %t3010, 6
+ call void @scr_dyn_release(ptr %t2990)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3006)
+ br i1 %t3011, label %if.t1173, label %if.j1174
+if.t1173:
+ %t3012 = load ptr, ptr %sc_l_p_0
+ %t3013 = call ptr @sc_rc_retain_dyn(ptr %t3012)
+ %t3015 = icmp ne ptr %t3013, null
+ br i1 %t3015, label %dc.inspect1175, label %dc.checked1178
+dc.inspect1175:
+ %t3020 = getelementptr inbounds i8, ptr %t3013, i64 8 ; ->kind
+ %t3021 = load i32, ptr %t3020
+ %t3016 = icmp eq i32 %t3021, 12
+ br i1 %t3016, label %dc.capsule1176, label %dc.checked1178
+dc.capsule1176:
+ %t3017 = getelementptr inbounds i8, ptr %t3013, i64 40 ; ->v.typed_ref.type_key
+ %t3018 = load ptr, ptr %t3017
+ %t3019 = icmp eq ptr %t3018, @sc_cs_3635319175845957
+ br i1 %t3019, label %dc.exact1177, label %dc.checked1178
+dc.exact1177:
+ %t3022 = getelementptr inbounds i8, ptr %t3013, i64 16 ; ->v.typed_ref.ptr
+ %t3023 = load ptr, ptr %t3022
+ %t3024 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3023)
+ store ptr %t3024, ptr %s3014
+ br label %dc.done1179
+dc.checked1178:
+ %t3025 = call ptr @sc_dc_24(ptr %t3013, ptr null)
+ store ptr %t3025, ptr %s3014
+ %t3026 = load i32, ptr %exc.cell
+ %t3027 = icmp ne i32 %t3026, 0
+ %t3028 = call i1 @llvm.expect.i1(i1 %t3027, i1 false)
+ br i1 %t3028, label %exc.u1180, label %exc.k1181
+exc.u1180:
+ call void @scr_dyn_release(ptr %t3013)
+ br label %exc.cleanup2
+exc.k1181:
+ br label %dc.done1179
+dc.done1179:
+ %t3029 = load ptr, ptr %s3014
+ %t3030 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t3031 = load i32, ptr %exc.cell
+ %t3032 = icmp ne i32 %t3031, 0
+ %t3033 = call i1 @llvm.expect.i1(i1 %t3032, i1 false)
+ br i1 %t3033, label %exc.u1182, label %exc.k1183
+exc.u1182:
+ call void @scr_dyn_release(ptr %t3013)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t3029)
+ call void @scr_dyn_release(ptr %t3030)
+ br label %exc.cleanup2
+exc.k1183:
+ %t3034 = call ptr @scr_dyn_obj_create(ptr %t3030)
+ %t3035 = load i32, ptr %exc.cell
+ %t3036 = icmp ne i32 %t3035, 0
+ %t3037 = call i1 @llvm.expect.i1(i1 %t3036, i1 false)
+ br i1 %t3037, label %exc.u1184, label %exc.k1185
+exc.u1184:
+ call void @scr_dyn_release(ptr %t3013)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t3029)
+ call void @scr_dyn_release(ptr %t3030)
+ call void @scr_dyn_release(ptr %t3034)
+ br label %exc.cleanup2
+exc.k1185:
+ %t3038 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t3029, i64 0, i32 2
+ %t3039 = load ptr, ptr %t3038
+ store ptr %t3034, ptr %t3038, !tbaa !204
+ call void @scr_dyn_release(ptr %t3039)
+ call void @scr_dyn_release(ptr %t3013)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t3029)
+ call void @scr_dyn_release(ptr %t3030)
+ br label %if.j1174
+if.j1174:
+ %t3040 = load ptr, ptr %sc_l_p_0
+ %t3041 = call ptr @sc_rc_retain_dyn(ptr %t3040)
+ %t3043 = icmp ne ptr %t3041, null
+ br i1 %t3043, label %dc.inspect1186, label %dc.checked1189
+dc.inspect1186:
+ %t3048 = getelementptr inbounds i8, ptr %t3041, i64 8 ; ->kind
+ %t3049 = load i32, ptr %t3048
+ %t3044 = icmp eq i32 %t3049, 12
+ br i1 %t3044, label %dc.capsule1187, label %dc.checked1189
+dc.capsule1187:
+ %t3045 = getelementptr inbounds i8, ptr %t3041, i64 40 ; ->v.typed_ref.type_key
+ %t3046 = load ptr, ptr %t3045
+ %t3047 = icmp eq ptr %t3046, @sc_cs_3635319175845957
+ br i1 %t3047, label %dc.exact1188, label %dc.checked1189
+dc.exact1188:
+ %t3050 = getelementptr inbounds i8, ptr %t3041, i64 16 ; ->v.typed_ref.ptr
+ %t3051 = load ptr, ptr %t3050
+ %t3052 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3051)
+ store ptr %t3052, ptr %s3042
+ br label %dc.done1190
+dc.checked1189:
+ %t3053 = call ptr @sc_dc_24(ptr %t3041, ptr null)
+ store ptr %t3053, ptr %s3042
+ %t3054 = load i32, ptr %exc.cell
+ %t3055 = icmp ne i32 %t3054, 0
+ %t3056 = call i1 @llvm.expect.i1(i1 %t3055, i1 false)
+ br i1 %t3056, label %exc.u1191, label %exc.k1192
+exc.u1191:
+ call void @scr_dyn_release(ptr %t3041)
+ br label %exc.cleanup2
+exc.k1192:
+ br label %dc.done1190
+dc.done1190:
+ %t3057 = load ptr, ptr %s3042
+ %t3058 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t3057, i64 0, i32 2
+ %t3059 = load ptr, ptr %t3058, !tbaa !204
+ %t3060 = call ptr @sc_rc_retain_dyn(ptr %t3059)
+ call void @scr_dyn_release(ptr %t3041)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3057)
+ %t3061 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t3061)
+ ret ptr %t3060
+if.j1165:
+ %t3062 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s3063
+ %t3064 = icmp ne ptr %t3062, null
+ br i1 %t3064, label %brand.inspect1193, label %brand.done1195
+brand.inspect1193:
+ %t3065 = getelementptr inbounds i8, ptr %t3062, i64 8 ; ->kind
+ %t3066 = load i32, ptr %t3065
+ %t3067 = icmp eq i32 %t3066, 12
+ br i1 %t3067, label %brand.capsule1194, label %brand.done1195
+brand.capsule1194:
+ %t3068 = getelementptr inbounds i8, ptr %t3062, i64 40 ; ->v.typed_ref.type_key
+ %t3069 = load ptr, ptr %t3068
+ %t3070 = icmp eq ptr %t3069, @sc_cs_3635319175845957
+ store i1 true, ptr %s3063
+ br i1 %t3070, label %brand.done1195, label %brand.compare1196
+brand.compare1196:
+ %t3071 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t3062, ptr @sc_lit_3635319175845957)
+ store i1 %t3071, ptr %s3063
+ br label %brand.done1195
+brand.done1195:
+ %t3072 = load i1, ptr %s3063
+ br i1 %t3072, label %if.t1197, label %if.j1198
+if.t1197:
+ %t3073 = load ptr, ptr %sc_l_p_0
+ %t3074 = call ptr @sc_rc_retain_dyn(ptr %t3073)
+ %t3076 = icmp ne ptr %t3074, null
+ br i1 %t3076, label %dc.inspect1199, label %dc.checked1202
+dc.inspect1199:
+ %t3081 = getelementptr inbounds i8, ptr %t3074, i64 8 ; ->kind
+ %t3082 = load i32, ptr %t3081
+ %t3077 = icmp eq i32 %t3082, 12
+ br i1 %t3077, label %dc.capsule1200, label %dc.checked1202
+dc.capsule1200:
+ %t3078 = getelementptr inbounds i8, ptr %t3074, i64 40 ; ->v.typed_ref.type_key
+ %t3079 = load ptr, ptr %t3078
+ %t3080 = icmp eq ptr %t3079, @sc_cs_3635319175845957
+ br i1 %t3080, label %dc.exact1201, label %dc.checked1202
+dc.exact1201:
+ %t3083 = getelementptr inbounds i8, ptr %t3074, i64 16 ; ->v.typed_ref.ptr
+ %t3084 = load ptr, ptr %t3083
+ %t3085 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3084)
+ store ptr %t3085, ptr %s3075
+ br label %dc.done1203
+dc.checked1202:
+ %t3086 = call ptr @sc_dc_24(ptr %t3074, ptr null)
+ store ptr %t3086, ptr %s3075
+ %t3087 = load i32, ptr %exc.cell
+ %t3088 = icmp ne i32 %t3087, 0
+ %t3089 = call i1 @llvm.expect.i1(i1 %t3088, i1 false)
+ br i1 %t3089, label %exc.u1204, label %exc.k1205
+exc.u1204:
+ call void @scr_dyn_release(ptr %t3074)
+ br label %exc.cleanup2
+exc.k1205:
+ br label %dc.done1203
+dc.done1203:
+ %t3090 = load ptr, ptr %s3075
+ %t3091 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t3090, i64 0, i32 2
+ %t3092 = load ptr, ptr %t3091, !tbaa !204
+ %t3093 = getelementptr inbounds i8, ptr %t3092, i64 8 ; ->kind
+ %t3094 = load i32, ptr %t3093
+ %t3095 = icmp eq i32 %t3094, 6
+ call void @scr_dyn_release(ptr %t3074)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3090)
+ br i1 %t3095, label %if.t1206, label %if.j1207
+if.t1206:
+ %t3096 = load ptr, ptr %sc_l_p_0
+ %t3097 = call ptr @sc_rc_retain_dyn(ptr %t3096)
+ %t3099 = icmp ne ptr %t3097, null
+ br i1 %t3099, label %dc.inspect1208, label %dc.checked1211
+dc.inspect1208:
+ %t3104 = getelementptr inbounds i8, ptr %t3097, i64 8 ; ->kind
+ %t3105 = load i32, ptr %t3104
+ %t3100 = icmp eq i32 %t3105, 12
+ br i1 %t3100, label %dc.capsule1209, label %dc.checked1211
+dc.capsule1209:
+ %t3101 = getelementptr inbounds i8, ptr %t3097, i64 40 ; ->v.typed_ref.type_key
+ %t3102 = load ptr, ptr %t3101
+ %t3103 = icmp eq ptr %t3102, @sc_cs_3635319175845957
+ br i1 %t3103, label %dc.exact1210, label %dc.checked1211
+dc.exact1210:
+ %t3106 = getelementptr inbounds i8, ptr %t3097, i64 16 ; ->v.typed_ref.ptr
+ %t3107 = load ptr, ptr %t3106
+ %t3108 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3107)
+ store ptr %t3108, ptr %s3098
+ br label %dc.done1212
+dc.checked1211:
+ %t3109 = call ptr @sc_dc_24(ptr %t3097, ptr null)
+ store ptr %t3109, ptr %s3098
+ %t3110 = load i32, ptr %exc.cell
+ %t3111 = icmp ne i32 %t3110, 0
+ %t3112 = call i1 @llvm.expect.i1(i1 %t3111, i1 false)
+ br i1 %t3112, label %exc.u1213, label %exc.k1214
+exc.u1213:
+ call void @scr_dyn_release(ptr %t3097)
+ br label %exc.cleanup2
+exc.k1214:
+ br label %dc.done1212
+dc.done1212:
+ %t3113 = load ptr, ptr %s3098
+ %t3114 = load ptr, ptr %sc_l_p_0
+ %t3115 = call ptr @sc_rc_retain_dyn(ptr %t3114)
+ %t3117 = icmp ne ptr %t3115, null
+ br i1 %t3117, label %dc.inspect1215, label %dc.checked1218
+dc.inspect1215:
+ %t3122 = getelementptr inbounds i8, ptr %t3115, i64 8 ; ->kind
+ %t3123 = load i32, ptr %t3122
+ %t3118 = icmp eq i32 %t3123, 12
+ br i1 %t3118, label %dc.capsule1216, label %dc.checked1218
+dc.capsule1216:
+ %t3119 = getelementptr inbounds i8, ptr %t3115, i64 40 ; ->v.typed_ref.type_key
+ %t3120 = load ptr, ptr %t3119
+ %t3121 = icmp eq ptr %t3120, @sc_cs_3635319175845957
+ br i1 %t3121, label %dc.exact1217, label %dc.checked1218
+dc.exact1217:
+ %t3124 = getelementptr inbounds i8, ptr %t3115, i64 16 ; ->v.typed_ref.ptr
+ %t3125 = load ptr, ptr %t3124
+ %t3126 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3125)
+ store ptr %t3126, ptr %s3116
+ br label %dc.done1219
+dc.checked1218:
+ %t3127 = call ptr @sc_dc_24(ptr %t3115, ptr null)
+ store ptr %t3127, ptr %s3116
+ %t3128 = load i32, ptr %exc.cell
+ %t3129 = icmp ne i32 %t3128, 0
+ %t3130 = call i1 @llvm.expect.i1(i1 %t3129, i1 false)
+ br i1 %t3130, label %exc.u1220, label %exc.k1221
+exc.u1220:
+ call void @scr_dyn_release(ptr %t3097)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3113)
+ call void @scr_dyn_release(ptr %t3115)
+ br label %exc.cleanup2
+exc.k1221:
+ br label %dc.done1219
+dc.done1219:
+ %t3131 = load ptr, ptr %s3116
+ %t3132 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t3131, i64 0, i32 1
+ %t3133 = load ptr, ptr %t3132
+ %t3134 = getelementptr inbounds %ScrVt, ptr %t3133, i64 0, i32 0
+ %t3135 = load i64, ptr %t3134
+ %t3136 = icmp uge i64 %t3135, 26
+ %t3137 = icmp ule i64 %t3135, 26
+ %t3138 = and i1 %t3136, %t3137 ; instanceof %m4.MemoryStorage
+ br i1 %t3138, label %tern.t1222, label %tern.f1223
+tern.t1222:
+ %t3140 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t3141 = load i32, ptr %exc.cell
+ %t3142 = icmp ne i32 %t3141, 0
+ %t3143 = call i1 @llvm.expect.i1(i1 %t3142, i1 false)
+ br i1 %t3143, label %exc.u1225, label %exc.k1226
+exc.u1225:
+ call void @scr_dyn_release(ptr %t3140)
+ call void @scr_dyn_release(ptr %t3097)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3113)
+ call void @scr_dyn_release(ptr %t3115)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3131)
+ br label %exc.cleanup2
+exc.k1226:
+ store ptr %t3140, ptr %s3139
+ br label %tern.j1224
+tern.f1223:
+ %t3144 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage()
+ %t3145 = load i32, ptr %exc.cell
+ %t3146 = icmp ne i32 %t3145, 0
+ %t3147 = call i1 @llvm.expect.i1(i1 %t3146, i1 false)
+ br i1 %t3147, label %exc.u1227, label %exc.k1228
+exc.u1227:
+ call void @scr_dyn_release(ptr %t3144)
+ call void @scr_dyn_release(ptr %t3097)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3113)
+ call void @scr_dyn_release(ptr %t3115)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3131)
+ br label %exc.cleanup2
+exc.k1228:
+ store ptr %t3144, ptr %s3139
+ br label %tern.j1224
+tern.j1224:
+ %t3148 = load ptr, ptr %s3139
+ %t3149 = call ptr @scr_dyn_obj_create(ptr %t3148)
+ %t3150 = load i32, ptr %exc.cell
+ %t3151 = icmp ne i32 %t3150, 0
+ %t3152 = call i1 @llvm.expect.i1(i1 %t3151, i1 false)
+ br i1 %t3152, label %exc.u1229, label %exc.k1230
+exc.u1229:
+ call void @scr_dyn_release(ptr %t3097)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3113)
+ call void @scr_dyn_release(ptr %t3115)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3131)
+ call void @scr_dyn_release(ptr %t3148)
+ call void @scr_dyn_release(ptr %t3149)
+ br label %exc.cleanup2
+exc.k1230:
+ %t3153 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t3113, i64 0, i32 2
+ %t3154 = load ptr, ptr %t3153
+ store ptr %t3149, ptr %t3153, !tbaa !204
+ call void @scr_dyn_release(ptr %t3154)
+ call void @scr_dyn_release(ptr %t3097)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3113)
+ call void @scr_dyn_release(ptr %t3115)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3131)
+ call void @scr_dyn_release(ptr %t3148)
+ br label %if.j1207
+if.j1207:
+ %t3155 = load ptr, ptr %sc_l_p_0
+ %t3156 = call ptr @sc_rc_retain_dyn(ptr %t3155)
+ %t3158 = icmp ne ptr %t3156, null
+ br i1 %t3158, label %dc.inspect1231, label %dc.checked1234
+dc.inspect1231:
+ %t3163 = getelementptr inbounds i8, ptr %t3156, i64 8 ; ->kind
+ %t3164 = load i32, ptr %t3163
+ %t3159 = icmp eq i32 %t3164, 12
+ br i1 %t3159, label %dc.capsule1232, label %dc.checked1234
+dc.capsule1232:
+ %t3160 = getelementptr inbounds i8, ptr %t3156, i64 40 ; ->v.typed_ref.type_key
+ %t3161 = load ptr, ptr %t3160
+ %t3162 = icmp eq ptr %t3161, @sc_cs_3635319175845957
+ br i1 %t3162, label %dc.exact1233, label %dc.checked1234
+dc.exact1233:
+ %t3165 = getelementptr inbounds i8, ptr %t3156, i64 16 ; ->v.typed_ref.ptr
+ %t3166 = load ptr, ptr %t3165
+ %t3167 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t3166)
+ store ptr %t3167, ptr %s3157
+ br label %dc.done1235
+dc.checked1234:
+ %t3168 = call ptr @sc_dc_24(ptr %t3156, ptr null)
+ store ptr %t3168, ptr %s3157
+ %t3169 = load i32, ptr %exc.cell
+ %t3170 = icmp ne i32 %t3169, 0
+ %t3171 = call i1 @llvm.expect.i1(i1 %t3170, i1 false)
+ br i1 %t3171, label %exc.u1236, label %exc.k1237
+exc.u1236:
+ call void @scr_dyn_release(ptr %t3156)
+ br label %exc.cleanup2
+exc.k1237:
+ br label %dc.done1235
+dc.done1235:
+ %t3172 = load ptr, ptr %s3157
+ %t3173 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t3172, i64 0, i32 2
+ %t3174 = load ptr, ptr %t3173, !tbaa !204
+ %t3175 = call ptr @sc_rc_retain_dyn(ptr %t3174)
+ call void @scr_dyn_release(ptr %t3156)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t3172)
+ %t3176 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t3176)
+ ret ptr %t3175
+if.j1198:
+ %t3177 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s3178
+ %t3179 = icmp ne ptr %t3177, null
+ br i1 %t3179, label %brand.inspect1238, label %brand.done1240
+brand.inspect1238:
+ %t3180 = getelementptr inbounds i8, ptr %t3177, i64 8 ; ->kind
+ %t3181 = load i32, ptr %t3180
+ %t3182 = icmp eq i32 %t3181, 12
+ br i1 %t3182, label %brand.capsule1239, label %brand.done1240
+brand.capsule1239:
+ %t3183 = getelementptr inbounds i8, ptr %t3177, i64 40 ; ->v.typed_ref.type_key
+ %t3184 = load ptr, ptr %t3183
+ %t3185 = icmp eq ptr %t3184, @sc_cs_4143564844538255
+ store i1 true, ptr %s3178
+ br i1 %t3185, label %brand.done1240, label %brand.compare1241
+brand.compare1241:
+ %t3186 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t3177, ptr @sc_lit_4143564844538255)
+ store i1 %t3186, ptr %s3178
+ br label %brand.done1240
+brand.done1240:
+ %t3187 = load i1, ptr %s3178
+ br i1 %t3187, label %if.t1242, label %if.j1243
+if.t1242:
+ %t3188 = load ptr, ptr %sc_l_p_0
+ %t3189 = call ptr @sc_rc_retain_dyn(ptr %t3188)
+ %t3191 = icmp ne ptr %t3189, null
+ br i1 %t3191, label %dc.inspect1244, label %dc.checked1247
+dc.inspect1244:
+ %t3196 = getelementptr inbounds i8, ptr %t3189, i64 8 ; ->kind
+ %t3197 = load i32, ptr %t3196
+ %t3192 = icmp eq i32 %t3197, 12
+ br i1 %t3192, label %dc.capsule1245, label %dc.checked1247
+dc.capsule1245:
+ %t3193 = getelementptr inbounds i8, ptr %t3189, i64 40 ; ->v.typed_ref.type_key
+ %t3194 = load ptr, ptr %t3193
+ %t3195 = icmp eq ptr %t3194, @sc_cs_4143564844538255
+ br i1 %t3195, label %dc.exact1246, label %dc.checked1247
+dc.exact1246:
+ %t3198 = getelementptr inbounds i8, ptr %t3189, i64 16 ; ->v.typed_ref.ptr
+ %t3199 = load ptr, ptr %t3198
+ %t3200 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t3199)
+ store ptr %t3200, ptr %s3190
+ br label %dc.done1248
+dc.checked1247:
+ %t3201 = call ptr @sc_dc_109(ptr %t3189, ptr null)
+ store ptr %t3201, ptr %s3190
+ %t3202 = load i32, ptr %exc.cell
+ %t3203 = icmp ne i32 %t3202, 0
+ %t3204 = call i1 @llvm.expect.i1(i1 %t3203, i1 false)
+ br i1 %t3204, label %exc.u1249, label %exc.k1250
+exc.u1249:
+ call void @scr_dyn_release(ptr %t3189)
+ br label %exc.cleanup2
+exc.k1250:
+ br label %dc.done1248
+dc.done1248:
+ %t3205 = load ptr, ptr %s3190
+ %t3206 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t3205, i64 0, i32 2
+ %t3207 = load ptr, ptr %t3206, !tbaa !204
+ %t3208 = getelementptr inbounds i8, ptr %t3207, i64 8 ; ->kind
+ %t3209 = load i32, ptr %t3208
+ %t3210 = icmp eq i32 %t3209, 6
+ call void @scr_dyn_release(ptr %t3189)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t3205)
+ br i1 %t3210, label %if.t1251, label %if.j1252
+if.t1251:
+ %t3211 = load ptr, ptr %sc_l_p_0
+ %t3212 = call ptr @sc_rc_retain_dyn(ptr %t3211)
+ %t3214 = icmp ne ptr %t3212, null
+ br i1 %t3214, label %dc.inspect1253, label %dc.checked1256
+dc.inspect1253:
+ %t3219 = getelementptr inbounds i8, ptr %t3212, i64 8 ; ->kind
+ %t3220 = load i32, ptr %t3219
+ %t3215 = icmp eq i32 %t3220, 12
+ br i1 %t3215, label %dc.capsule1254, label %dc.checked1256
+dc.capsule1254:
+ %t3216 = getelementptr inbounds i8, ptr %t3212, i64 40 ; ->v.typed_ref.type_key
+ %t3217 = load ptr, ptr %t3216
+ %t3218 = icmp eq ptr %t3217, @sc_cs_4143564844538255
+ br i1 %t3218, label %dc.exact1255, label %dc.checked1256
+dc.exact1255:
+ %t3221 = getelementptr inbounds i8, ptr %t3212, i64 16 ; ->v.typed_ref.ptr
+ %t3222 = load ptr, ptr %t3221
+ %t3223 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t3222)
+ store ptr %t3223, ptr %s3213
+ br label %dc.done1257
+dc.checked1256:
+ %t3224 = call ptr @sc_dc_109(ptr %t3212, ptr null)
+ store ptr %t3224, ptr %s3213
+ %t3225 = load i32, ptr %exc.cell
+ %t3226 = icmp ne i32 %t3225, 0
+ %t3227 = call i1 @llvm.expect.i1(i1 %t3226, i1 false)
+ br i1 %t3227, label %exc.u1258, label %exc.k1259
+exc.u1258:
+ call void @scr_dyn_release(ptr %t3212)
+ br label %exc.cleanup2
+exc.k1259:
+ br label %dc.done1257
+dc.done1257:
+ %t3228 = load ptr, ptr %s3213
+ %t3229 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t3230 = load i32, ptr %exc.cell
+ %t3231 = icmp ne i32 %t3230, 0
+ %t3232 = call i1 @llvm.expect.i1(i1 %t3231, i1 false)
+ br i1 %t3232, label %exc.u1260, label %exc.k1261
+exc.u1260:
+ call void @scr_dyn_release(ptr %t3212)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t3228)
+ call void @scr_dyn_release(ptr %t3229)
+ br label %exc.cleanup2
+exc.k1261:
+ %t3233 = call ptr @scr_dyn_obj_create(ptr %t3229)
+ %t3234 = load i32, ptr %exc.cell
+ %t3235 = icmp ne i32 %t3234, 0
+ %t3236 = call i1 @llvm.expect.i1(i1 %t3235, i1 false)
+ br i1 %t3236, label %exc.u1262, label %exc.k1263
+exc.u1262:
+ call void @scr_dyn_release(ptr %t3212)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t3228)
+ call void @scr_dyn_release(ptr %t3229)
+ call void @scr_dyn_release(ptr %t3233)
+ br label %exc.cleanup2
+exc.k1263:
+ %t3237 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t3228, i64 0, i32 2
+ %t3238 = load ptr, ptr %t3237
+ store ptr %t3233, ptr %t3237, !tbaa !204
+ call void @scr_dyn_release(ptr %t3238)
+ call void @scr_dyn_release(ptr %t3212)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t3228)
+ call void @scr_dyn_release(ptr %t3229)
+ br label %if.j1252
+if.j1252:
+ %t3239 = load ptr, ptr %sc_l_p_0
+ %t3240 = call ptr @sc_rc_retain_dyn(ptr %t3239)
+ %t3242 = icmp ne ptr %t3240, null
+ br i1 %t3242, label %dc.inspect1264, label %dc.checked1267
+dc.inspect1264:
+ %t3247 = getelementptr inbounds i8, ptr %t3240, i64 8 ; ->kind
+ %t3248 = load i32, ptr %t3247
+ %t3243 = icmp eq i32 %t3248, 12
+ br i1 %t3243, label %dc.capsule1265, label %dc.checked1267
+dc.capsule1265:
+ %t3244 = getelementptr inbounds i8, ptr %t3240, i64 40 ; ->v.typed_ref.type_key
+ %t3245 = load ptr, ptr %t3244
+ %t3246 = icmp eq ptr %t3245, @sc_cs_4143564844538255
+ br i1 %t3246, label %dc.exact1266, label %dc.checked1267
+dc.exact1266:
+ %t3249 = getelementptr inbounds i8, ptr %t3240, i64 16 ; ->v.typed_ref.ptr
+ %t3250 = load ptr, ptr %t3249
+ %t3251 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t3250)
+ store ptr %t3251, ptr %s3241
+ br label %dc.done1268
+dc.checked1267:
+ %t3252 = call ptr @sc_dc_109(ptr %t3240, ptr null)
+ store ptr %t3252, ptr %s3241
+ %t3253 = load i32, ptr %exc.cell
+ %t3254 = icmp ne i32 %t3253, 0
+ %t3255 = call i1 @llvm.expect.i1(i1 %t3254, i1 false)
+ br i1 %t3255, label %exc.u1269, label %exc.k1270
+exc.u1269:
+ call void @scr_dyn_release(ptr %t3240)
+ br label %exc.cleanup2
+exc.k1270:
+ br label %dc.done1268
+dc.done1268:
+ %t3256 = load ptr, ptr %s3241
+ %t3257 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t3256, i64 0, i32 2
+ %t3258 = load ptr, ptr %t3257, !tbaa !204
+ %t3259 = call ptr @sc_rc_retain_dyn(ptr %t3258)
+ call void @scr_dyn_release(ptr %t3240)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t3256)
+ %t3260 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t3260)
+ ret ptr %t3259
+if.j1243:
+ %t3261 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s3262
+ %t3263 = icmp ne ptr %t3261, null
+ br i1 %t3263, label %brand.inspect1271, label %brand.done1273
+brand.inspect1271:
+ %t3264 = getelementptr inbounds i8, ptr %t3261, i64 8 ; ->kind
+ %t3265 = load i32, ptr %t3264
+ %t3266 = icmp eq i32 %t3265, 12
+ br i1 %t3266, label %brand.capsule1272, label %brand.done1273
+brand.capsule1272:
+ %t3267 = getelementptr inbounds i8, ptr %t3261, i64 40 ; ->v.typed_ref.type_key
+ %t3268 = load ptr, ptr %t3267
+ %t3269 = icmp eq ptr %t3268, @sc_cs_2875643240706496
+ store i1 true, ptr %s3262
+ br i1 %t3269, label %brand.done1273, label %brand.compare1274
+brand.compare1274:
+ %t3270 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t3261, ptr @sc_lit_2875643240706496)
+ store i1 %t3270, ptr %s3262
+ br label %brand.done1273
+brand.done1273:
+ %t3271 = load i1, ptr %s3262
+ br i1 %t3271, label %if.t1275, label %if.j1276
+if.t1275:
+ %t3272 = load ptr, ptr %sc_l_p_0
+ %t3273 = call ptr @sc_rc_retain_dyn(ptr %t3272)
+ %t3275 = icmp ne ptr %t3273, null
+ br i1 %t3275, label %dc.inspect1277, label %dc.checked1280
+dc.inspect1277:
+ %t3280 = getelementptr inbounds i8, ptr %t3273, i64 8 ; ->kind
+ %t3281 = load i32, ptr %t3280
+ %t3276 = icmp eq i32 %t3281, 12
+ br i1 %t3276, label %dc.capsule1278, label %dc.checked1280
+dc.capsule1278:
+ %t3277 = getelementptr inbounds i8, ptr %t3273, i64 40 ; ->v.typed_ref.type_key
+ %t3278 = load ptr, ptr %t3277
+ %t3279 = icmp eq ptr %t3278, @sc_cs_2875643240706496
+ br i1 %t3279, label %dc.exact1279, label %dc.checked1280
+dc.exact1279:
+ %t3282 = getelementptr inbounds i8, ptr %t3273, i64 16 ; ->v.typed_ref.ptr
+ %t3283 = load ptr, ptr %t3282
+ %t3284 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t3283)
+ store ptr %t3284, ptr %s3274
+ br label %dc.done1281
+dc.checked1280:
+ %t3285 = call ptr @sc_dc_48(ptr %t3273, ptr null)
+ store ptr %t3285, ptr %s3274
+ %t3286 = load i32, ptr %exc.cell
+ %t3287 = icmp ne i32 %t3286, 0
+ %t3288 = call i1 @llvm.expect.i1(i1 %t3287, i1 false)
+ br i1 %t3288, label %exc.u1282, label %exc.k1283
+exc.u1282:
+ call void @scr_dyn_release(ptr %t3273)
+ br label %exc.cleanup2
+exc.k1283:
+ br label %dc.done1281
+dc.done1281:
+ %t3289 = load ptr, ptr %s3274
+ %t3290 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t3289, i64 0, i32 8
+ %t3291 = load ptr, ptr %t3290, !tbaa !204
+ %t3292 = getelementptr inbounds i8, ptr %t3291, i64 8 ; ->kind
+ %t3293 = load i32, ptr %t3292
+ %t3294 = icmp eq i32 %t3293, 6
+ call void @scr_dyn_release(ptr %t3273)
+ call void @sc_release__x25_m5_CtxCore(ptr %t3289)
+ br i1 %t3294, label %if.t1284, label %if.j1285
+if.t1284:
+ %t3295 = load ptr, ptr %sc_l_p_0
+ %t3296 = call ptr @sc_rc_retain_dyn(ptr %t3295)
+ %t3298 = icmp ne ptr %t3296, null
+ br i1 %t3298, label %dc.inspect1286, label %dc.checked1289
+dc.inspect1286:
+ %t3303 = getelementptr inbounds i8, ptr %t3296, i64 8 ; ->kind
+ %t3304 = load i32, ptr %t3303
+ %t3299 = icmp eq i32 %t3304, 12
+ br i1 %t3299, label %dc.capsule1287, label %dc.checked1289
+dc.capsule1287:
+ %t3300 = getelementptr inbounds i8, ptr %t3296, i64 40 ; ->v.typed_ref.type_key
+ %t3301 = load ptr, ptr %t3300
+ %t3302 = icmp eq ptr %t3301, @sc_cs_2875643240706496
+ br i1 %t3302, label %dc.exact1288, label %dc.checked1289
+dc.exact1288:
+ %t3305 = getelementptr inbounds i8, ptr %t3296, i64 16 ; ->v.typed_ref.ptr
+ %t3306 = load ptr, ptr %t3305
+ %t3307 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t3306)
+ store ptr %t3307, ptr %s3297
+ br label %dc.done1290
+dc.checked1289:
+ %t3308 = call ptr @sc_dc_48(ptr %t3296, ptr null)
+ store ptr %t3308, ptr %s3297
+ %t3309 = load i32, ptr %exc.cell
+ %t3310 = icmp ne i32 %t3309, 0
+ %t3311 = call i1 @llvm.expect.i1(i1 %t3310, i1 false)
+ br i1 %t3311, label %exc.u1291, label %exc.k1292
+exc.u1291:
+ call void @scr_dyn_release(ptr %t3296)
+ br label %exc.cleanup2
+exc.k1292:
+ br label %dc.done1290
+dc.done1290:
+ %t3312 = load ptr, ptr %s3297
+ %t3313 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxCore()
+ %t3314 = load i32, ptr %exc.cell
+ %t3315 = icmp ne i32 %t3314, 0
+ %t3316 = call i1 @llvm.expect.i1(i1 %t3315, i1 false)
+ br i1 %t3316, label %exc.u1293, label %exc.k1294
+exc.u1293:
+ call void @scr_dyn_release(ptr %t3296)
+ call void @sc_release__x25_m5_CtxCore(ptr %t3312)
+ call void @scr_dyn_release(ptr %t3313)
+ br label %exc.cleanup2
+exc.k1294:
+ %t3317 = call ptr @scr_dyn_obj_create(ptr %t3313)
+ %t3318 = load i32, ptr %exc.cell
+ %t3319 = icmp ne i32 %t3318, 0
+ %t3320 = call i1 @llvm.expect.i1(i1 %t3319, i1 false)
+ br i1 %t3320, label %exc.u1295, label %exc.k1296
+exc.u1295:
+ call void @scr_dyn_release(ptr %t3296)
+ call void @sc_release__x25_m5_CtxCore(ptr %t3312)
+ call void @scr_dyn_release(ptr %t3313)
+ call void @scr_dyn_release(ptr %t3317)
+ br label %exc.cleanup2
+exc.k1296:
+ %t3321 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t3312, i64 0, i32 8
+ %t3322 = load ptr, ptr %t3321
+ store ptr %t3317, ptr %t3321, !tbaa !204
+ call void @scr_dyn_release(ptr %t3322)
+ call void @scr_dyn_release(ptr %t3296)
+ call void @sc_release__x25_m5_CtxCore(ptr %t3312)
+ call void @scr_dyn_release(ptr %t3313)
+ br label %if.j1285
+if.j1285:
+ %t3323 = load ptr, ptr %sc_l_p_0
+ %t3324 = call ptr @sc_rc_retain_dyn(ptr %t3323)
+ %t3326 = icmp ne ptr %t3324, null
+ br i1 %t3326, label %dc.inspect1297, label %dc.checked1300
+dc.inspect1297:
+ %t3331 = getelementptr inbounds i8, ptr %t3324, i64 8 ; ->kind
+ %t3332 = load i32, ptr %t3331
+ %t3327 = icmp eq i32 %t3332, 12
+ br i1 %t3327, label %dc.capsule1298, label %dc.checked1300
+dc.capsule1298:
+ %t3328 = getelementptr inbounds i8, ptr %t3324, i64 40 ; ->v.typed_ref.type_key
+ %t3329 = load ptr, ptr %t3328
+ %t3330 = icmp eq ptr %t3329, @sc_cs_2875643240706496
+ br i1 %t3330, label %dc.exact1299, label %dc.checked1300
+dc.exact1299:
+ %t3333 = getelementptr inbounds i8, ptr %t3324, i64 16 ; ->v.typed_ref.ptr
+ %t3334 = load ptr, ptr %t3333
+ %t3335 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t3334)
+ store ptr %t3335, ptr %s3325
+ br label %dc.done1301
+dc.checked1300:
+ %t3336 = call ptr @sc_dc_48(ptr %t3324, ptr null)
+ store ptr %t3336, ptr %s3325
+ %t3337 = load i32, ptr %exc.cell
+ %t3338 = icmp ne i32 %t3337, 0
+ %t3339 = call i1 @llvm.expect.i1(i1 %t3338, i1 false)
+ br i1 %t3339, label %exc.u1302, label %exc.k1303
+exc.u1302:
+ call void @scr_dyn_release(ptr %t3324)
+ br label %exc.cleanup2
+exc.k1303:
+ br label %dc.done1301
+dc.done1301:
+ %t3340 = load ptr, ptr %s3325
+ %t3341 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t3340, i64 0, i32 8
+ %t3342 = load ptr, ptr %t3341, !tbaa !204
+ %t3343 = call ptr @sc_rc_retain_dyn(ptr %t3342)
+ call void @scr_dyn_release(ptr %t3324)
+ call void @sc_release__x25_m5_CtxCore(ptr %t3340)
+ %t3344 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t3344)
+ ret ptr %t3343
+if.j1276:
+ %t3345 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s3346
+ %t3347 = icmp ne ptr %t3345, null
+ br i1 %t3347, label %brand.inspect1304, label %brand.done1306
+brand.inspect1304:
+ %t3348 = getelementptr inbounds i8, ptr %t3345, i64 8 ; ->kind
+ %t3349 = load i32, ptr %t3348
+ %t3350 = icmp eq i32 %t3349, 12
+ br i1 %t3350, label %brand.capsule1305, label %brand.done1306
+brand.capsule1305:
+ %t3351 = getelementptr inbounds i8, ptr %t3345, i64 40 ; ->v.typed_ref.type_key
+ %t3352 = load ptr, ptr %t3351
+ %t3353 = icmp eq ptr %t3352, @sc_cs_21424698936986
+ store i1 true, ptr %s3346
+ br i1 %t3353, label %brand.done1306, label %brand.compare1307
+brand.compare1307:
+ %t3354 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t3345, ptr @sc_lit_21424698936986)
+ store i1 %t3354, ptr %s3346
+ br label %brand.done1306
+brand.done1306:
+ %t3355 = load i1, ptr %s3346
+ br i1 %t3355, label %if.t1308, label %if.j1309
+if.t1308:
+ %t3356 = load ptr, ptr %sc_l_p_0
+ %t3357 = call ptr @sc_rc_retain_dyn(ptr %t3356)
+ %t3359 = icmp ne ptr %t3357, null
+ br i1 %t3359, label %dc.inspect1310, label %dc.checked1313
+dc.inspect1310:
+ %t3364 = getelementptr inbounds i8, ptr %t3357, i64 8 ; ->kind
+ %t3365 = load i32, ptr %t3364
+ %t3360 = icmp eq i32 %t3365, 12
+ br i1 %t3360, label %dc.capsule1311, label %dc.checked1313
+dc.capsule1311:
+ %t3361 = getelementptr inbounds i8, ptr %t3357, i64 40 ; ->v.typed_ref.type_key
+ %t3362 = load ptr, ptr %t3361
+ %t3363 = icmp eq ptr %t3362, @sc_cs_21424698936986
+ br i1 %t3363, label %dc.exact1312, label %dc.checked1313
+dc.exact1312:
+ %t3366 = getelementptr inbounds i8, ptr %t3357, i64 16 ; ->v.typed_ref.ptr
+ %t3367 = load ptr, ptr %t3366
+ %t3368 = call ptr @sc_retain__x25_m5_App(ptr %t3367)
+ store ptr %t3368, ptr %s3358
+ br label %dc.done1314
+dc.checked1313:
+ %t3369 = call ptr @sc_dc_91(ptr %t3357, ptr null)
+ store ptr %t3369, ptr %s3358
+ %t3370 = load i32, ptr %exc.cell
+ %t3371 = icmp ne i32 %t3370, 0
+ %t3372 = call i1 @llvm.expect.i1(i1 %t3371, i1 false)
+ br i1 %t3372, label %exc.u1315, label %exc.k1316
+exc.u1315:
+ call void @scr_dyn_release(ptr %t3357)
+ br label %exc.cleanup2
+exc.k1316:
+ br label %dc.done1314
+dc.done1314:
+ %t3373 = load ptr, ptr %s3358
+ %t3374 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t3373, i64 0, i32 18
+ %t3375 = load ptr, ptr %t3374, !tbaa !204
+ %t3376 = getelementptr inbounds i8, ptr %t3375, i64 8 ; ->kind
+ %t3377 = load i32, ptr %t3376
+ %t3378 = icmp eq i32 %t3377, 6
+ call void @scr_dyn_release(ptr %t3357)
+ call void @sc_release__x25_m5_App(ptr %t3373)
+ br i1 %t3378, label %if.t1317, label %if.j1318
+if.t1317:
+ %t3379 = load ptr, ptr %sc_l_p_0
+ %t3380 = call ptr @sc_rc_retain_dyn(ptr %t3379)
+ %t3382 = icmp ne ptr %t3380, null
+ br i1 %t3382, label %dc.inspect1319, label %dc.checked1322
+dc.inspect1319:
+ %t3387 = getelementptr inbounds i8, ptr %t3380, i64 8 ; ->kind
+ %t3388 = load i32, ptr %t3387
+ %t3383 = icmp eq i32 %t3388, 12
+ br i1 %t3383, label %dc.capsule1320, label %dc.checked1322
+dc.capsule1320:
+ %t3384 = getelementptr inbounds i8, ptr %t3380, i64 40 ; ->v.typed_ref.type_key
+ %t3385 = load ptr, ptr %t3384
+ %t3386 = icmp eq ptr %t3385, @sc_cs_21424698936986
+ br i1 %t3386, label %dc.exact1321, label %dc.checked1322
+dc.exact1321:
+ %t3389 = getelementptr inbounds i8, ptr %t3380, i64 16 ; ->v.typed_ref.ptr
+ %t3390 = load ptr, ptr %t3389
+ %t3391 = call ptr @sc_retain__x25_m5_App(ptr %t3390)
+ store ptr %t3391, ptr %s3381
+ br label %dc.done1323
+dc.checked1322:
+ %t3392 = call ptr @sc_dc_91(ptr %t3380, ptr null)
+ store ptr %t3392, ptr %s3381
+ %t3393 = load i32, ptr %exc.cell
+ %t3394 = icmp ne i32 %t3393, 0
+ %t3395 = call i1 @llvm.expect.i1(i1 %t3394, i1 false)
+ br i1 %t3395, label %exc.u1324, label %exc.k1325
+exc.u1324:
+ call void @scr_dyn_release(ptr %t3380)
+ br label %exc.cleanup2
+exc.k1325:
+ br label %dc.done1323
+dc.done1323:
+ %t3396 = load ptr, ptr %s3381
+ %t3397 = call ptr @sc_f__x25_prototype_data__x25_m5_App()
+ %t3398 = load i32, ptr %exc.cell
+ %t3399 = icmp ne i32 %t3398, 0
+ %t3400 = call i1 @llvm.expect.i1(i1 %t3399, i1 false)
+ br i1 %t3400, label %exc.u1326, label %exc.k1327
+exc.u1326:
+ call void @scr_dyn_release(ptr %t3380)
+ call void @sc_release__x25_m5_App(ptr %t3396)
+ call void @scr_dyn_release(ptr %t3397)
+ br label %exc.cleanup2
+exc.k1327:
+ %t3401 = call ptr @scr_dyn_obj_create(ptr %t3397)
+ %t3402 = load i32, ptr %exc.cell
+ %t3403 = icmp ne i32 %t3402, 0
+ %t3404 = call i1 @llvm.expect.i1(i1 %t3403, i1 false)
+ br i1 %t3404, label %exc.u1328, label %exc.k1329
+exc.u1328:
+ call void @scr_dyn_release(ptr %t3380)
+ call void @sc_release__x25_m5_App(ptr %t3396)
+ call void @scr_dyn_release(ptr %t3397)
+ call void @scr_dyn_release(ptr %t3401)
+ br label %exc.cleanup2
+exc.k1329:
+ %t3405 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t3396, i64 0, i32 18
+ %t3406 = load ptr, ptr %t3405
+ store ptr %t3401, ptr %t3405, !tbaa !204
+ call void @scr_dyn_release(ptr %t3406)
+ call void @scr_dyn_release(ptr %t3380)
+ call void @sc_release__x25_m5_App(ptr %t3396)
+ call void @scr_dyn_release(ptr %t3397)
+ br label %if.j1318
+if.j1318:
+ %t3407 = load ptr, ptr %sc_l_p_0
+ %t3408 = call ptr @sc_rc_retain_dyn(ptr %t3407)
+ %t3410 = icmp ne ptr %t3408, null
+ br i1 %t3410, label %dc.inspect1330, label %dc.checked1333
+dc.inspect1330:
+ %t3415 = getelementptr inbounds i8, ptr %t3408, i64 8 ; ->kind
+ %t3416 = load i32, ptr %t3415
+ %t3411 = icmp eq i32 %t3416, 12
+ br i1 %t3411, label %dc.capsule1331, label %dc.checked1333
+dc.capsule1331:
+ %t3412 = getelementptr inbounds i8, ptr %t3408, i64 40 ; ->v.typed_ref.type_key
+ %t3413 = load ptr, ptr %t3412
+ %t3414 = icmp eq ptr %t3413, @sc_cs_21424698936986
+ br i1 %t3414, label %dc.exact1332, label %dc.checked1333
+dc.exact1332:
+ %t3417 = getelementptr inbounds i8, ptr %t3408, i64 16 ; ->v.typed_ref.ptr
+ %t3418 = load ptr, ptr %t3417
+ %t3419 = call ptr @sc_retain__x25_m5_App(ptr %t3418)
+ store ptr %t3419, ptr %s3409
+ br label %dc.done1334
+dc.checked1333:
+ %t3420 = call ptr @sc_dc_91(ptr %t3408, ptr null)
+ store ptr %t3420, ptr %s3409
+ %t3421 = load i32, ptr %exc.cell
+ %t3422 = icmp ne i32 %t3421, 0
+ %t3423 = call i1 @llvm.expect.i1(i1 %t3422, i1 false)
+ br i1 %t3423, label %exc.u1335, label %exc.k1336
+exc.u1335:
+ call void @scr_dyn_release(ptr %t3408)
+ br label %exc.cleanup2
+exc.k1336:
+ br label %dc.done1334
+dc.done1334:
+ %t3424 = load ptr, ptr %s3409
+ %t3425 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t3424, i64 0, i32 18
+ %t3426 = load ptr, ptr %t3425, !tbaa !204
+ %t3427 = call ptr @sc_rc_retain_dyn(ptr %t3426)
+ call void @scr_dyn_release(ptr %t3408)
+ call void @sc_release__x25_m5_App(ptr %t3424)
+ %t3428 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t3428)
+ ret ptr %t3427
+if.j1309:
+ %t3429 = load ptr, ptr %sc_l_p_0
+ ret ptr %t3429
+exc.cleanup2:
+ %t3430 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t3430)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_readProperties(ptr %p_sc_l_p_0) #0 { ; %dyn.class.readProperties
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s55 = alloca ptr
+ %s76 = alloca i1
+ %s88 = alloca ptr
+ %s120 = alloca ptr
+ %s141 = alloca i1
+ %s153 = alloca ptr
+ %s185 = alloca ptr
+ %s206 = alloca i1
+ %s218 = alloca ptr
+ %s250 = alloca ptr
+ %s271 = alloca i1
+ %s283 = alloca ptr
+ %s315 = alloca ptr
+ %s336 = alloca i1
+ %s348 = alloca ptr
+ %s380 = alloca ptr
+ %s401 = alloca i1
+ %s413 = alloca ptr
+ %s445 = alloca ptr
+ %s466 = alloca i1
+ %s478 = alloca ptr
+ %s510 = alloca ptr
+ %s531 = alloca i1
+ %s541 = alloca i1
+ %s544 = alloca ptr
+ %s570 = alloca ptr
+ %s602 = alloca ptr
+ %s623 = alloca i1
+ %s635 = alloca ptr
+ %s658 = alloca ptr
+ %s681 = alloca ptr
+ %s698 = alloca ptr
+ %s719 = alloca i1
+ %s729 = alloca i1
+ %s732 = alloca ptr
+ %s758 = alloca ptr
+ %s790 = alloca ptr
+ %s811 = alloca i1
+ %s821 = alloca i1
+ %s824 = alloca ptr
+ %s850 = alloca ptr
+ %s873 = alloca ptr
+ %s896 = alloca ptr
+ %s913 = alloca ptr
+ %s934 = alloca i1
+ %s946 = alloca ptr
+ %s969 = alloca ptr
+ %s992 = alloca ptr
+ %s995 = alloca ptr
+ %s1018 = alloca ptr
+ %s1040 = alloca ptr
+ %s1061 = alloca i1
+ %s1073 = alloca ptr
+ %s1105 = alloca ptr
+ %s1126 = alloca i1
+ %s1138 = alloca ptr
+ %s1170 = alloca ptr
+ %s1191 = alloca i1
+ %s1203 = alloca ptr
+ %s1224 = alloca i1
+ %s1236 = alloca ptr
+ %s1268 = alloca ptr
+ %s1289 = alloca i1
+ %s1301 = alloca ptr
+ %s1322 = alloca i1
+ %s1332 = alloca i1
+ %s1335 = alloca ptr
+ %s1361 = alloca ptr
+ %s1393 = alloca ptr
+ %s1414 = alloca i1
+ %s1426 = alloca ptr
+ %s1449 = alloca ptr
+ %s1472 = alloca ptr
+ %s1489 = alloca ptr
+ %s1510 = alloca i1
+ %s1522 = alloca ptr
+ %s1554 = alloca ptr
+ %s1575 = alloca i1
+ %s1585 = alloca i1
+ %s1588 = alloca ptr
+ %s1614 = alloca ptr
+ %s1646 = alloca ptr
+ %s1667 = alloca i1
+ %s1679 = alloca ptr
+ %s1702 = alloca ptr
+ %s1725 = alloca ptr
+ %s1742 = alloca ptr
+ %s1763 = alloca i1
+ %s1773 = alloca i1
+ %s1776 = alloca ptr
+ %s1802 = alloca ptr
+ %s1834 = alloca ptr
+ %s1855 = alloca i1
+ %s1865 = alloca i1
+ %s1868 = alloca ptr
+ %s1894 = alloca ptr
+ %s1917 = alloca ptr
+ %s1940 = alloca ptr
+ %s1957 = alloca ptr
+ %s1978 = alloca i1
+ %s1988 = alloca i1
+ %s1991 = alloca ptr
+ %s2017 = alloca ptr
+ %s2049 = alloca ptr
+ %s2070 = alloca i1
+ %s2082 = alloca ptr
+ %s2105 = alloca ptr
+ %s2128 = alloca ptr
+ %s2131 = alloca ptr
+ %s2154 = alloca ptr
+ %s2166 = alloca ptr
+ %s2189 = alloca ptr
+ %s2207 = alloca ptr
+ %s2228 = alloca i1
+ %s2240 = alloca ptr
+ %s2272 = alloca ptr
+ %s2293 = alloca i1
+ %s2305 = alloca ptr
+ %s2326 = alloca i1
+ %s2336 = alloca i1
+ %s2339 = alloca ptr
+ %s2365 = alloca ptr
+ %s2397 = alloca ptr
+ %s2418 = alloca i1
+ %s2430 = alloca ptr
+ %s2453 = alloca ptr
+ %s2476 = alloca ptr
+ %s2493 = alloca ptr
+ %s2514 = alloca i1
+ %s2526 = alloca ptr
+ %s2558 = alloca ptr
+ %s2579 = alloca i1
+ %s2591 = alloca ptr
+ %s2623 = alloca ptr
+ %s2644 = alloca i1
+ %s2656 = alloca ptr
+ %s2688 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @scr_dyn_release(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_30(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_dyn_release(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t38, i64 0, i32 2
+ %t40 = load ptr, ptr %t39, !tbaa !204
+ %t41 = getelementptr inbounds i8, ptr %t40, i64 8 ; ->kind
+ %t42 = load i32, ptr %t41
+ %t43 = icmp eq i32 %t42, 6
+ call void @scr_dyn_release(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ br i1 %t43, label %if.t18, label %if.j19
+if.t18:
+ %t44 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxResCore()
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_dyn_release(ptr %t44)
+ br label %exc.cleanup2
+exc.k21:
+ %t48 = call ptr @scr_dyn_obj_create(ptr %t44)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_dyn_release(ptr %t44)
+ call void @scr_dyn_release(ptr %t48)
+ br label %exc.cleanup2
+exc.k23:
+ call void @scr_dyn_release(ptr %t44)
+ %t52 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t52)
+ ret ptr %t48
+if.j19:
+ %t53 = load ptr, ptr %sc_l_p_0
+ %t54 = call ptr @sc_rc_retain_dyn(ptr %t53)
+ %t56 = icmp ne ptr %t54, null
+ br i1 %t56, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t61 = getelementptr inbounds i8, ptr %t54, i64 8 ; ->kind
+ %t62 = load i32, ptr %t61
+ %t57 = icmp eq i32 %t62, 12
+ br i1 %t57, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t58 = getelementptr inbounds i8, ptr %t54, i64 40 ; ->v.typed_ref.type_key
+ %t59 = load ptr, ptr %t58
+ %t60 = icmp eq ptr %t59, @sc_cs_1746033898805369
+ br i1 %t60, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t63 = getelementptr inbounds i8, ptr %t54, i64 16 ; ->v.typed_ref.ptr
+ %t64 = load ptr, ptr %t63
+ %t65 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t64)
+ store ptr %t65, ptr %s55
+ br label %dc.done28
+dc.checked27:
+ %t66 = call ptr @sc_dc_30(ptr %t54, ptr null)
+ store ptr %t66, ptr %s55
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @scr_dyn_release(ptr %t54)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t70 = load ptr, ptr %s55
+ %t71 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t70, i64 0, i32 2
+ %t72 = load ptr, ptr %t71, !tbaa !204
+ %t73 = call ptr @sc_rc_retain_dyn(ptr %t72)
+ call void @scr_dyn_release(ptr %t54)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t70)
+ %t74 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t74)
+ ret ptr %t73
+if.j10:
+ %t75 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s76
+ %t77 = icmp ne ptr %t75, null
+ br i1 %t77, label %brand.inspect31, label %brand.done33
+brand.inspect31:
+ %t78 = getelementptr inbounds i8, ptr %t75, i64 8 ; ->kind
+ %t79 = load i32, ptr %t78
+ %t80 = icmp eq i32 %t79, 12
+ br i1 %t80, label %brand.capsule32, label %brand.done33
+brand.capsule32:
+ %t81 = getelementptr inbounds i8, ptr %t75, i64 40 ; ->v.typed_ref.type_key
+ %t82 = load ptr, ptr %t81
+ %t83 = icmp eq ptr %t82, @sc_cs_3456310594719780
+ store i1 true, ptr %s76
+ br i1 %t83, label %brand.done33, label %brand.compare34
+brand.compare34:
+ %t84 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t75, ptr @sc_lit_3456310594719780)
+ store i1 %t84, ptr %s76
+ br label %brand.done33
+brand.done33:
+ %t85 = load i1, ptr %s76
+ br i1 %t85, label %if.t35, label %if.j36
+if.t35:
+ %t86 = load ptr, ptr %sc_l_p_0
+ %t87 = call ptr @sc_rc_retain_dyn(ptr %t86)
+ %t89 = icmp ne ptr %t87, null
+ br i1 %t89, label %dc.inspect37, label %dc.checked40
+dc.inspect37:
+ %t94 = getelementptr inbounds i8, ptr %t87, i64 8 ; ->kind
+ %t95 = load i32, ptr %t94
+ %t90 = icmp eq i32 %t95, 12
+ br i1 %t90, label %dc.capsule38, label %dc.checked40
+dc.capsule38:
+ %t91 = getelementptr inbounds i8, ptr %t87, i64 40 ; ->v.typed_ref.type_key
+ %t92 = load ptr, ptr %t91
+ %t93 = icmp eq ptr %t92, @sc_cs_3456310594719780
+ br i1 %t93, label %dc.exact39, label %dc.checked40
+dc.exact39:
+ %t96 = getelementptr inbounds i8, ptr %t87, i64 16 ; ->v.typed_ref.ptr
+ %t97 = load ptr, ptr %t96
+ %t98 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t97)
+ store ptr %t98, ptr %s88
+ br label %dc.done41
+dc.checked40:
+ %t99 = call ptr @sc_dc_99(ptr %t87, ptr null)
+ store ptr %t99, ptr %s88
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_dyn_release(ptr %t87)
+ br label %exc.cleanup2
+exc.k43:
+ br label %dc.done41
+dc.done41:
+ %t103 = load ptr, ptr %s88
+ %t104 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t103, i64 0, i32 2
+ %t105 = load ptr, ptr %t104, !tbaa !204
+ %t106 = getelementptr inbounds i8, ptr %t105, i64 8 ; ->kind
+ %t107 = load i32, ptr %t106
+ %t108 = icmp eq i32 %t107, 6
+ call void @scr_dyn_release(ptr %t87)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t103)
+ br i1 %t108, label %if.t44, label %if.j45
+if.t44:
+ %t109 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @scr_dyn_release(ptr %t109)
+ br label %exc.cleanup2
+exc.k47:
+ %t113 = call ptr @scr_dyn_obj_create(ptr %t109)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_dyn_release(ptr %t109)
+ call void @scr_dyn_release(ptr %t113)
+ br label %exc.cleanup2
+exc.k49:
+ call void @scr_dyn_release(ptr %t109)
+ %t117 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t117)
+ ret ptr %t113
+if.j45:
+ %t118 = load ptr, ptr %sc_l_p_0
+ %t119 = call ptr @sc_rc_retain_dyn(ptr %t118)
+ %t121 = icmp ne ptr %t119, null
+ br i1 %t121, label %dc.inspect50, label %dc.checked53
+dc.inspect50:
+ %t126 = getelementptr inbounds i8, ptr %t119, i64 8 ; ->kind
+ %t127 = load i32, ptr %t126
+ %t122 = icmp eq i32 %t127, 12
+ br i1 %t122, label %dc.capsule51, label %dc.checked53
+dc.capsule51:
+ %t123 = getelementptr inbounds i8, ptr %t119, i64 40 ; ->v.typed_ref.type_key
+ %t124 = load ptr, ptr %t123
+ %t125 = icmp eq ptr %t124, @sc_cs_3456310594719780
+ br i1 %t125, label %dc.exact52, label %dc.checked53
+dc.exact52:
+ %t128 = getelementptr inbounds i8, ptr %t119, i64 16 ; ->v.typed_ref.ptr
+ %t129 = load ptr, ptr %t128
+ %t130 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t129)
+ store ptr %t130, ptr %s120
+ br label %dc.done54
+dc.checked53:
+ %t131 = call ptr @sc_dc_99(ptr %t119, ptr null)
+ store ptr %t131, ptr %s120
+ %t132 = load i32, ptr %exc.cell
+ %t133 = icmp ne i32 %t132, 0
+ %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false)
+ br i1 %t134, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @scr_dyn_release(ptr %t119)
+ br label %exc.cleanup2
+exc.k56:
+ br label %dc.done54
+dc.done54:
+ %t135 = load ptr, ptr %s120
+ %t136 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t135, i64 0, i32 2
+ %t137 = load ptr, ptr %t136, !tbaa !204
+ %t138 = call ptr @sc_rc_retain_dyn(ptr %t137)
+ call void @scr_dyn_release(ptr %t119)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t135)
+ %t139 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t139)
+ ret ptr %t138
+if.j36:
+ %t140 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s141
+ %t142 = icmp ne ptr %t140, null
+ br i1 %t142, label %brand.inspect57, label %brand.done59
+brand.inspect57:
+ %t143 = getelementptr inbounds i8, ptr %t140, i64 8 ; ->kind
+ %t144 = load i32, ptr %t143
+ %t145 = icmp eq i32 %t144, 12
+ br i1 %t145, label %brand.capsule58, label %brand.done59
+brand.capsule58:
+ %t146 = getelementptr inbounds i8, ptr %t140, i64 40 ; ->v.typed_ref.type_key
+ %t147 = load ptr, ptr %t146
+ %t148 = icmp eq ptr %t147, @sc_cs_3728566007289652
+ store i1 true, ptr %s141
+ br i1 %t148, label %brand.done59, label %brand.compare60
+brand.compare60:
+ %t149 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t140, ptr @sc_lit_3728566007289652)
+ store i1 %t149, ptr %s141
+ br label %brand.done59
+brand.done59:
+ %t150 = load i1, ptr %s141
+ br i1 %t150, label %if.t61, label %if.j62
+if.t61:
+ %t151 = load ptr, ptr %sc_l_p_0
+ %t152 = call ptr @sc_rc_retain_dyn(ptr %t151)
+ %t154 = icmp ne ptr %t152, null
+ br i1 %t154, label %dc.inspect63, label %dc.checked66
+dc.inspect63:
+ %t159 = getelementptr inbounds i8, ptr %t152, i64 8 ; ->kind
+ %t160 = load i32, ptr %t159
+ %t155 = icmp eq i32 %t160, 12
+ br i1 %t155, label %dc.capsule64, label %dc.checked66
+dc.capsule64:
+ %t156 = getelementptr inbounds i8, ptr %t152, i64 40 ; ->v.typed_ref.type_key
+ %t157 = load ptr, ptr %t156
+ %t158 = icmp eq ptr %t157, @sc_cs_3728566007289652
+ br i1 %t158, label %dc.exact65, label %dc.checked66
+dc.exact65:
+ %t161 = getelementptr inbounds i8, ptr %t152, i64 16 ; ->v.typed_ref.ptr
+ %t162 = load ptr, ptr %t161
+ %t163 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t162)
+ store ptr %t163, ptr %s153
+ br label %dc.done67
+dc.checked66:
+ %t164 = call ptr @sc_dc_100(ptr %t152, ptr null)
+ store ptr %t164, ptr %s153
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @scr_dyn_release(ptr %t152)
+ br label %exc.cleanup2
+exc.k69:
+ br label %dc.done67
+dc.done67:
+ %t168 = load ptr, ptr %s153
+ %t169 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t168, i64 0, i32 2
+ %t170 = load ptr, ptr %t169, !tbaa !204
+ %t171 = getelementptr inbounds i8, ptr %t170, i64 8 ; ->kind
+ %t172 = load i32, ptr %t171
+ %t173 = icmp eq i32 %t172, 6
+ call void @scr_dyn_release(ptr %t152)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t168)
+ br i1 %t173, label %if.t70, label %if.j71
+if.t70:
+ %t174 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t175 = load i32, ptr %exc.cell
+ %t176 = icmp ne i32 %t175, 0
+ %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false)
+ br i1 %t177, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @scr_dyn_release(ptr %t174)
+ br label %exc.cleanup2
+exc.k73:
+ %t178 = call ptr @scr_dyn_obj_create(ptr %t174)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @scr_dyn_release(ptr %t174)
+ call void @scr_dyn_release(ptr %t178)
+ br label %exc.cleanup2
+exc.k75:
+ call void @scr_dyn_release(ptr %t174)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t182)
+ ret ptr %t178
+if.j71:
+ %t183 = load ptr, ptr %sc_l_p_0
+ %t184 = call ptr @sc_rc_retain_dyn(ptr %t183)
+ %t186 = icmp ne ptr %t184, null
+ br i1 %t186, label %dc.inspect76, label %dc.checked79
+dc.inspect76:
+ %t191 = getelementptr inbounds i8, ptr %t184, i64 8 ; ->kind
+ %t192 = load i32, ptr %t191
+ %t187 = icmp eq i32 %t192, 12
+ br i1 %t187, label %dc.capsule77, label %dc.checked79
+dc.capsule77:
+ %t188 = getelementptr inbounds i8, ptr %t184, i64 40 ; ->v.typed_ref.type_key
+ %t189 = load ptr, ptr %t188
+ %t190 = icmp eq ptr %t189, @sc_cs_3728566007289652
+ br i1 %t190, label %dc.exact78, label %dc.checked79
+dc.exact78:
+ %t193 = getelementptr inbounds i8, ptr %t184, i64 16 ; ->v.typed_ref.ptr
+ %t194 = load ptr, ptr %t193
+ %t195 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t194)
+ store ptr %t195, ptr %s185
+ br label %dc.done80
+dc.checked79:
+ %t196 = call ptr @sc_dc_100(ptr %t184, ptr null)
+ store ptr %t196, ptr %s185
+ %t197 = load i32, ptr %exc.cell
+ %t198 = icmp ne i32 %t197, 0
+ %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false)
+ br i1 %t199, label %exc.u81, label %exc.k82
+exc.u81:
+ call void @scr_dyn_release(ptr %t184)
+ br label %exc.cleanup2
+exc.k82:
+ br label %dc.done80
+dc.done80:
+ %t200 = load ptr, ptr %s185
+ %t201 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t200, i64 0, i32 2
+ %t202 = load ptr, ptr %t201, !tbaa !204
+ %t203 = call ptr @sc_rc_retain_dyn(ptr %t202)
+ call void @scr_dyn_release(ptr %t184)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t200)
+ %t204 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t204)
+ ret ptr %t203
+if.j62:
+ %t205 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s206
+ %t207 = icmp ne ptr %t205, null
+ br i1 %t207, label %brand.inspect83, label %brand.done85
+brand.inspect83:
+ %t208 = getelementptr inbounds i8, ptr %t205, i64 8 ; ->kind
+ %t209 = load i32, ptr %t208
+ %t210 = icmp eq i32 %t209, 12
+ br i1 %t210, label %brand.capsule84, label %brand.done85
+brand.capsule84:
+ %t211 = getelementptr inbounds i8, ptr %t205, i64 40 ; ->v.typed_ref.type_key
+ %t212 = load ptr, ptr %t211
+ %t213 = icmp eq ptr %t212, @sc_cs_4041255434968695
+ store i1 true, ptr %s206
+ br i1 %t213, label %brand.done85, label %brand.compare86
+brand.compare86:
+ %t214 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t205, ptr @sc_lit_4041255434968695)
+ store i1 %t214, ptr %s206
+ br label %brand.done85
+brand.done85:
+ %t215 = load i1, ptr %s206
+ br i1 %t215, label %if.t87, label %if.j88
+if.t87:
+ %t216 = load ptr, ptr %sc_l_p_0
+ %t217 = call ptr @sc_rc_retain_dyn(ptr %t216)
+ %t219 = icmp ne ptr %t217, null
+ br i1 %t219, label %dc.inspect89, label %dc.checked92
+dc.inspect89:
+ %t224 = getelementptr inbounds i8, ptr %t217, i64 8 ; ->kind
+ %t225 = load i32, ptr %t224
+ %t220 = icmp eq i32 %t225, 12
+ br i1 %t220, label %dc.capsule90, label %dc.checked92
+dc.capsule90:
+ %t221 = getelementptr inbounds i8, ptr %t217, i64 40 ; ->v.typed_ref.type_key
+ %t222 = load ptr, ptr %t221
+ %t223 = icmp eq ptr %t222, @sc_cs_4041255434968695
+ br i1 %t223, label %dc.exact91, label %dc.checked92
+dc.exact91:
+ %t226 = getelementptr inbounds i8, ptr %t217, i64 16 ; ->v.typed_ref.ptr
+ %t227 = load ptr, ptr %t226
+ %t228 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t227)
+ store ptr %t228, ptr %s218
+ br label %dc.done93
+dc.checked92:
+ %t229 = call ptr @sc_dc_101(ptr %t217, ptr null)
+ store ptr %t229, ptr %s218
+ %t230 = load i32, ptr %exc.cell
+ %t231 = icmp ne i32 %t230, 0
+ %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false)
+ br i1 %t232, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @scr_dyn_release(ptr %t217)
+ br label %exc.cleanup2
+exc.k95:
+ br label %dc.done93
+dc.done93:
+ %t233 = load ptr, ptr %s218
+ %t234 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t233, i64 0, i32 9
+ %t235 = load ptr, ptr %t234, !tbaa !204
+ %t236 = getelementptr inbounds i8, ptr %t235, i64 8 ; ->kind
+ %t237 = load i32, ptr %t236
+ %t238 = icmp eq i32 %t237, 6
+ call void @scr_dyn_release(ptr %t217)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t233)
+ br i1 %t238, label %if.t96, label %if.j97
+if.t96:
+ %t239 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest()
+ %t240 = load i32, ptr %exc.cell
+ %t241 = icmp ne i32 %t240, 0
+ %t242 = call i1 @llvm.expect.i1(i1 %t241, i1 false)
+ br i1 %t242, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @scr_dyn_release(ptr %t239)
+ br label %exc.cleanup2
+exc.k99:
+ %t243 = call ptr @scr_dyn_obj_create(ptr %t239)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @scr_dyn_release(ptr %t239)
+ call void @scr_dyn_release(ptr %t243)
+ br label %exc.cleanup2
+exc.k101:
+ call void @scr_dyn_release(ptr %t239)
+ %t247 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t247)
+ ret ptr %t243
+if.j97:
+ %t248 = load ptr, ptr %sc_l_p_0
+ %t249 = call ptr @sc_rc_retain_dyn(ptr %t248)
+ %t251 = icmp ne ptr %t249, null
+ br i1 %t251, label %dc.inspect102, label %dc.checked105
+dc.inspect102:
+ %t256 = getelementptr inbounds i8, ptr %t249, i64 8 ; ->kind
+ %t257 = load i32, ptr %t256
+ %t252 = icmp eq i32 %t257, 12
+ br i1 %t252, label %dc.capsule103, label %dc.checked105
+dc.capsule103:
+ %t253 = getelementptr inbounds i8, ptr %t249, i64 40 ; ->v.typed_ref.type_key
+ %t254 = load ptr, ptr %t253
+ %t255 = icmp eq ptr %t254, @sc_cs_4041255434968695
+ br i1 %t255, label %dc.exact104, label %dc.checked105
+dc.exact104:
+ %t258 = getelementptr inbounds i8, ptr %t249, i64 16 ; ->v.typed_ref.ptr
+ %t259 = load ptr, ptr %t258
+ %t260 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t259)
+ store ptr %t260, ptr %s250
+ br label %dc.done106
+dc.checked105:
+ %t261 = call ptr @sc_dc_101(ptr %t249, ptr null)
+ store ptr %t261, ptr %s250
+ %t262 = load i32, ptr %exc.cell
+ %t263 = icmp ne i32 %t262, 0
+ %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false)
+ br i1 %t264, label %exc.u107, label %exc.k108
+exc.u107:
+ call void @scr_dyn_release(ptr %t249)
+ br label %exc.cleanup2
+exc.k108:
+ br label %dc.done106
+dc.done106:
+ %t265 = load ptr, ptr %s250
+ %t266 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t265, i64 0, i32 9
+ %t267 = load ptr, ptr %t266, !tbaa !204
+ %t268 = call ptr @sc_rc_retain_dyn(ptr %t267)
+ call void @scr_dyn_release(ptr %t249)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t265)
+ %t269 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t269)
+ ret ptr %t268
+if.j88:
+ %t270 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s271
+ %t272 = icmp ne ptr %t270, null
+ br i1 %t272, label %brand.inspect109, label %brand.done111
+brand.inspect109:
+ %t273 = getelementptr inbounds i8, ptr %t270, i64 8 ; ->kind
+ %t274 = load i32, ptr %t273
+ %t275 = icmp eq i32 %t274, 12
+ br i1 %t275, label %brand.capsule110, label %brand.done111
+brand.capsule110:
+ %t276 = getelementptr inbounds i8, ptr %t270, i64 40 ; ->v.typed_ref.type_key
+ %t277 = load ptr, ptr %t276
+ %t278 = icmp eq ptr %t277, @sc_cs_3326437563644705
+ store i1 true, ptr %s271
+ br i1 %t278, label %brand.done111, label %brand.compare112
+brand.compare112:
+ %t279 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t270, ptr @sc_lit_3326437563644705)
+ store i1 %t279, ptr %s271
+ br label %brand.done111
+brand.done111:
+ %t280 = load i1, ptr %s271
+ br i1 %t280, label %if.t113, label %if.j114
+if.t113:
+ %t281 = load ptr, ptr %sc_l_p_0
+ %t282 = call ptr @sc_rc_retain_dyn(ptr %t281)
+ %t284 = icmp ne ptr %t282, null
+ br i1 %t284, label %dc.inspect115, label %dc.checked118
+dc.inspect115:
+ %t289 = getelementptr inbounds i8, ptr %t282, i64 8 ; ->kind
+ %t290 = load i32, ptr %t289
+ %t285 = icmp eq i32 %t290, 12
+ br i1 %t285, label %dc.capsule116, label %dc.checked118
+dc.capsule116:
+ %t286 = getelementptr inbounds i8, ptr %t282, i64 40 ; ->v.typed_ref.type_key
+ %t287 = load ptr, ptr %t286
+ %t288 = icmp eq ptr %t287, @sc_cs_3326437563644705
+ br i1 %t288, label %dc.exact117, label %dc.checked118
+dc.exact117:
+ %t291 = getelementptr inbounds i8, ptr %t282, i64 16 ; ->v.typed_ref.ptr
+ %t292 = load ptr, ptr %t291
+ %t293 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t292)
+ store ptr %t293, ptr %s283
+ br label %dc.done119
+dc.checked118:
+ %t294 = call ptr @sc_dc_102(ptr %t282, ptr null)
+ store ptr %t294, ptr %s283
+ %t295 = load i32, ptr %exc.cell
+ %t296 = icmp ne i32 %t295, 0
+ %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false)
+ br i1 %t297, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @scr_dyn_release(ptr %t282)
+ br label %exc.cleanup2
+exc.k121:
+ br label %dc.done119
+dc.done119:
+ %t298 = load ptr, ptr %s283
+ %t299 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t298, i64 0, i32 2
+ %t300 = load ptr, ptr %t299, !tbaa !204
+ %t301 = getelementptr inbounds i8, ptr %t300, i64 8 ; ->kind
+ %t302 = load i32, ptr %t301
+ %t303 = icmp eq i32 %t302, 6
+ call void @scr_dyn_release(ptr %t282)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t298)
+ br i1 %t303, label %if.t122, label %if.j123
+if.t122:
+ %t304 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @scr_dyn_release(ptr %t304)
+ br label %exc.cleanup2
+exc.k125:
+ %t308 = call ptr @scr_dyn_obj_create(ptr %t304)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t308)
+ br label %exc.cleanup2
+exc.k127:
+ call void @scr_dyn_release(ptr %t304)
+ %t312 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t312)
+ ret ptr %t308
+if.j123:
+ %t313 = load ptr, ptr %sc_l_p_0
+ %t314 = call ptr @sc_rc_retain_dyn(ptr %t313)
+ %t316 = icmp ne ptr %t314, null
+ br i1 %t316, label %dc.inspect128, label %dc.checked131
+dc.inspect128:
+ %t321 = getelementptr inbounds i8, ptr %t314, i64 8 ; ->kind
+ %t322 = load i32, ptr %t321
+ %t317 = icmp eq i32 %t322, 12
+ br i1 %t317, label %dc.capsule129, label %dc.checked131
+dc.capsule129:
+ %t318 = getelementptr inbounds i8, ptr %t314, i64 40 ; ->v.typed_ref.type_key
+ %t319 = load ptr, ptr %t318
+ %t320 = icmp eq ptr %t319, @sc_cs_3326437563644705
+ br i1 %t320, label %dc.exact130, label %dc.checked131
+dc.exact130:
+ %t323 = getelementptr inbounds i8, ptr %t314, i64 16 ; ->v.typed_ref.ptr
+ %t324 = load ptr, ptr %t323
+ %t325 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t324)
+ store ptr %t325, ptr %s315
+ br label %dc.done132
+dc.checked131:
+ %t326 = call ptr @sc_dc_102(ptr %t314, ptr null)
+ store ptr %t326, ptr %s315
+ %t327 = load i32, ptr %exc.cell
+ %t328 = icmp ne i32 %t327, 0
+ %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false)
+ br i1 %t329, label %exc.u133, label %exc.k134
+exc.u133:
+ call void @scr_dyn_release(ptr %t314)
+ br label %exc.cleanup2
+exc.k134:
+ br label %dc.done132
+dc.done132:
+ %t330 = load ptr, ptr %s315
+ %t331 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t330, i64 0, i32 2
+ %t332 = load ptr, ptr %t331, !tbaa !204
+ %t333 = call ptr @sc_rc_retain_dyn(ptr %t332)
+ call void @scr_dyn_release(ptr %t314)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t330)
+ %t334 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t334)
+ ret ptr %t333
+if.j114:
+ %t335 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s336
+ %t337 = icmp ne ptr %t335, null
+ br i1 %t337, label %brand.inspect135, label %brand.done137
+brand.inspect135:
+ %t338 = getelementptr inbounds i8, ptr %t335, i64 8 ; ->kind
+ %t339 = load i32, ptr %t338
+ %t340 = icmp eq i32 %t339, 12
+ br i1 %t340, label %brand.capsule136, label %brand.done137
+brand.capsule136:
+ %t341 = getelementptr inbounds i8, ptr %t335, i64 40 ; ->v.typed_ref.type_key
+ %t342 = load ptr, ptr %t341
+ %t343 = icmp eq ptr %t342, @sc_cs_3870085012327510
+ store i1 true, ptr %s336
+ br i1 %t343, label %brand.done137, label %brand.compare138
+brand.compare138:
+ %t344 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t335, ptr @sc_lit_3870085012327510)
+ store i1 %t344, ptr %s336
+ br label %brand.done137
+brand.done137:
+ %t345 = load i1, ptr %s336
+ br i1 %t345, label %if.t139, label %if.j140
+if.t139:
+ %t346 = load ptr, ptr %sc_l_p_0
+ %t347 = call ptr @sc_rc_retain_dyn(ptr %t346)
+ %t349 = icmp ne ptr %t347, null
+ br i1 %t349, label %dc.inspect141, label %dc.checked144
+dc.inspect141:
+ %t354 = getelementptr inbounds i8, ptr %t347, i64 8 ; ->kind
+ %t355 = load i32, ptr %t354
+ %t350 = icmp eq i32 %t355, 12
+ br i1 %t350, label %dc.capsule142, label %dc.checked144
+dc.capsule142:
+ %t351 = getelementptr inbounds i8, ptr %t347, i64 40 ; ->v.typed_ref.type_key
+ %t352 = load ptr, ptr %t351
+ %t353 = icmp eq ptr %t352, @sc_cs_3870085012327510
+ br i1 %t353, label %dc.exact143, label %dc.checked144
+dc.exact143:
+ %t356 = getelementptr inbounds i8, ptr %t347, i64 16 ; ->v.typed_ref.ptr
+ %t357 = load ptr, ptr %t356
+ %t358 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t357)
+ store ptr %t358, ptr %s348
+ br label %dc.done145
+dc.checked144:
+ %t359 = call ptr @sc_dc_94(ptr %t347, ptr null)
+ store ptr %t359, ptr %s348
+ %t360 = load i32, ptr %exc.cell
+ %t361 = icmp ne i32 %t360, 0
+ %t362 = call i1 @llvm.expect.i1(i1 %t361, i1 false)
+ br i1 %t362, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @scr_dyn_release(ptr %t347)
+ br label %exc.cleanup2
+exc.k147:
+ br label %dc.done145
+dc.done145:
+ %t363 = load ptr, ptr %s348
+ %t364 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t363, i64 0, i32 1
+ %t365 = load ptr, ptr %t364, !tbaa !204
+ %t366 = getelementptr inbounds i8, ptr %t365, i64 8 ; ->kind
+ %t367 = load i32, ptr %t366
+ %t368 = icmp eq i32 %t367, 6
+ call void @scr_dyn_release(ptr %t347)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t363)
+ br i1 %t368, label %if.t148, label %if.j149
+if.t148:
+ %t369 = call ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch()
+ %t370 = load i32, ptr %exc.cell
+ %t371 = icmp ne i32 %t370, 0
+ %t372 = call i1 @llvm.expect.i1(i1 %t371, i1 false)
+ br i1 %t372, label %exc.u150, label %exc.k151
+exc.u150:
+ call void @scr_dyn_release(ptr %t369)
+ br label %exc.cleanup2
+exc.k151:
+ %t373 = call ptr @scr_dyn_obj_create(ptr %t369)
+ %t374 = load i32, ptr %exc.cell
+ %t375 = icmp ne i32 %t374, 0
+ %t376 = call i1 @llvm.expect.i1(i1 %t375, i1 false)
+ br i1 %t376, label %exc.u152, label %exc.k153
+exc.u152:
+ call void @scr_dyn_release(ptr %t369)
+ call void @scr_dyn_release(ptr %t373)
+ br label %exc.cleanup2
+exc.k153:
+ call void @scr_dyn_release(ptr %t369)
+ %t377 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t377)
+ ret ptr %t373
+if.j149:
+ %t378 = load ptr, ptr %sc_l_p_0
+ %t379 = call ptr @sc_rc_retain_dyn(ptr %t378)
+ %t381 = icmp ne ptr %t379, null
+ br i1 %t381, label %dc.inspect154, label %dc.checked157
+dc.inspect154:
+ %t386 = getelementptr inbounds i8, ptr %t379, i64 8 ; ->kind
+ %t387 = load i32, ptr %t386
+ %t382 = icmp eq i32 %t387, 12
+ br i1 %t382, label %dc.capsule155, label %dc.checked157
+dc.capsule155:
+ %t383 = getelementptr inbounds i8, ptr %t379, i64 40 ; ->v.typed_ref.type_key
+ %t384 = load ptr, ptr %t383
+ %t385 = icmp eq ptr %t384, @sc_cs_3870085012327510
+ br i1 %t385, label %dc.exact156, label %dc.checked157
+dc.exact156:
+ %t388 = getelementptr inbounds i8, ptr %t379, i64 16 ; ->v.typed_ref.ptr
+ %t389 = load ptr, ptr %t388
+ %t390 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t389)
+ store ptr %t390, ptr %s380
+ br label %dc.done158
+dc.checked157:
+ %t391 = call ptr @sc_dc_94(ptr %t379, ptr null)
+ store ptr %t391, ptr %s380
+ %t392 = load i32, ptr %exc.cell
+ %t393 = icmp ne i32 %t392, 0
+ %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false)
+ br i1 %t394, label %exc.u159, label %exc.k160
+exc.u159:
+ call void @scr_dyn_release(ptr %t379)
+ br label %exc.cleanup2
+exc.k160:
+ br label %dc.done158
+dc.done158:
+ %t395 = load ptr, ptr %s380
+ %t396 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t395, i64 0, i32 1
+ %t397 = load ptr, ptr %t396, !tbaa !204
+ %t398 = call ptr @sc_rc_retain_dyn(ptr %t397)
+ call void @scr_dyn_release(ptr %t379)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t395)
+ %t399 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t399)
+ ret ptr %t398
+if.j140:
+ %t400 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s401
+ %t402 = icmp ne ptr %t400, null
+ br i1 %t402, label %brand.inspect161, label %brand.done163
+brand.inspect161:
+ %t403 = getelementptr inbounds i8, ptr %t400, i64 8 ; ->kind
+ %t404 = load i32, ptr %t403
+ %t405 = icmp eq i32 %t404, 12
+ br i1 %t405, label %brand.capsule162, label %brand.done163
+brand.capsule162:
+ %t406 = getelementptr inbounds i8, ptr %t400, i64 40 ; ->v.typed_ref.type_key
+ %t407 = load ptr, ptr %t406
+ %t408 = icmp eq ptr %t407, @sc_cs_2798802470260116
+ store i1 true, ptr %s401
+ br i1 %t408, label %brand.done163, label %brand.compare164
+brand.compare164:
+ %t409 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t400, ptr @sc_lit_2798802470260116)
+ store i1 %t409, ptr %s401
+ br label %brand.done163
+brand.done163:
+ %t410 = load i1, ptr %s401
+ br i1 %t410, label %if.t165, label %if.j166
+if.t165:
+ %t411 = load ptr, ptr %sc_l_p_0
+ %t412 = call ptr @sc_rc_retain_dyn(ptr %t411)
+ %t414 = icmp ne ptr %t412, null
+ br i1 %t414, label %dc.inspect167, label %dc.checked170
+dc.inspect167:
+ %t419 = getelementptr inbounds i8, ptr %t412, i64 8 ; ->kind
+ %t420 = load i32, ptr %t419
+ %t415 = icmp eq i32 %t420, 12
+ br i1 %t415, label %dc.capsule168, label %dc.checked170
+dc.capsule168:
+ %t416 = getelementptr inbounds i8, ptr %t412, i64 40 ; ->v.typed_ref.type_key
+ %t417 = load ptr, ptr %t416
+ %t418 = icmp eq ptr %t417, @sc_cs_2798802470260116
+ br i1 %t418, label %dc.exact169, label %dc.checked170
+dc.exact169:
+ %t421 = getelementptr inbounds i8, ptr %t412, i64 16 ; ->v.typed_ref.ptr
+ %t422 = load ptr, ptr %t421
+ %t423 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t422)
+ store ptr %t423, ptr %s413
+ br label %dc.done171
+dc.checked170:
+ %t424 = call ptr @sc_dc_93(ptr %t412, ptr null)
+ store ptr %t424, ptr %s413
+ %t425 = load i32, ptr %exc.cell
+ %t426 = icmp ne i32 %t425, 0
+ %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false)
+ br i1 %t427, label %exc.u172, label %exc.k173
+exc.u172:
+ call void @scr_dyn_release(ptr %t412)
+ br label %exc.cleanup2
+exc.k173:
+ br label %dc.done171
+dc.done171:
+ %t428 = load ptr, ptr %s413
+ %t429 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t428, i64 0, i32 2
+ %t430 = load ptr, ptr %t429, !tbaa !204
+ %t431 = getelementptr inbounds i8, ptr %t430, i64 8 ; ->kind
+ %t432 = load i32, ptr %t431
+ %t433 = icmp eq i32 %t432, 6
+ call void @scr_dyn_release(ptr %t412)
+ call void @sc_release__x25_m0_GenFetch(ptr %t428)
+ br i1 %t433, label %if.t174, label %if.j175
+if.t174:
+ %t434 = call ptr @sc_f__x25_prototype_data__x25_m0_GenFetch()
+ %t435 = load i32, ptr %exc.cell
+ %t436 = icmp ne i32 %t435, 0
+ %t437 = call i1 @llvm.expect.i1(i1 %t436, i1 false)
+ br i1 %t437, label %exc.u176, label %exc.k177
+exc.u176:
+ call void @scr_dyn_release(ptr %t434)
+ br label %exc.cleanup2
+exc.k177:
+ %t438 = call ptr @scr_dyn_obj_create(ptr %t434)
+ %t439 = load i32, ptr %exc.cell
+ %t440 = icmp ne i32 %t439, 0
+ %t441 = call i1 @llvm.expect.i1(i1 %t440, i1 false)
+ br i1 %t441, label %exc.u178, label %exc.k179
+exc.u178:
+ call void @scr_dyn_release(ptr %t434)
+ call void @scr_dyn_release(ptr %t438)
+ br label %exc.cleanup2
+exc.k179:
+ call void @scr_dyn_release(ptr %t434)
+ %t442 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t442)
+ ret ptr %t438
+if.j175:
+ %t443 = load ptr, ptr %sc_l_p_0
+ %t444 = call ptr @sc_rc_retain_dyn(ptr %t443)
+ %t446 = icmp ne ptr %t444, null
+ br i1 %t446, label %dc.inspect180, label %dc.checked183
+dc.inspect180:
+ %t451 = getelementptr inbounds i8, ptr %t444, i64 8 ; ->kind
+ %t452 = load i32, ptr %t451
+ %t447 = icmp eq i32 %t452, 12
+ br i1 %t447, label %dc.capsule181, label %dc.checked183
+dc.capsule181:
+ %t448 = getelementptr inbounds i8, ptr %t444, i64 40 ; ->v.typed_ref.type_key
+ %t449 = load ptr, ptr %t448
+ %t450 = icmp eq ptr %t449, @sc_cs_2798802470260116
+ br i1 %t450, label %dc.exact182, label %dc.checked183
+dc.exact182:
+ %t453 = getelementptr inbounds i8, ptr %t444, i64 16 ; ->v.typed_ref.ptr
+ %t454 = load ptr, ptr %t453
+ %t455 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t454)
+ store ptr %t455, ptr %s445
+ br label %dc.done184
+dc.checked183:
+ %t456 = call ptr @sc_dc_93(ptr %t444, ptr null)
+ store ptr %t456, ptr %s445
+ %t457 = load i32, ptr %exc.cell
+ %t458 = icmp ne i32 %t457, 0
+ %t459 = call i1 @llvm.expect.i1(i1 %t458, i1 false)
+ br i1 %t459, label %exc.u185, label %exc.k186
+exc.u185:
+ call void @scr_dyn_release(ptr %t444)
+ br label %exc.cleanup2
+exc.k186:
+ br label %dc.done184
+dc.done184:
+ %t460 = load ptr, ptr %s445
+ %t461 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t460, i64 0, i32 2
+ %t462 = load ptr, ptr %t461, !tbaa !204
+ %t463 = call ptr @sc_rc_retain_dyn(ptr %t462)
+ call void @scr_dyn_release(ptr %t444)
+ call void @sc_release__x25_m0_GenFetch(ptr %t460)
+ %t464 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t464)
+ ret ptr %t463
+if.j166:
+ %t465 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s466
+ %t467 = icmp ne ptr %t465, null
+ br i1 %t467, label %brand.inspect187, label %brand.done189
+brand.inspect187:
+ %t468 = getelementptr inbounds i8, ptr %t465, i64 8 ; ->kind
+ %t469 = load i32, ptr %t468
+ %t470 = icmp eq i32 %t469, 12
+ br i1 %t470, label %brand.capsule188, label %brand.done189
+brand.capsule188:
+ %t471 = getelementptr inbounds i8, ptr %t465, i64 40 ; ->v.typed_ref.type_key
+ %t472 = load ptr, ptr %t471
+ %t473 = icmp eq ptr %t472, @sc_cs_2165660704272757
+ store i1 true, ptr %s466
+ br i1 %t473, label %brand.done189, label %brand.compare190
+brand.compare190:
+ %t474 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t465, ptr @sc_lit_2165660704272757)
+ store i1 %t474, ptr %s466
+ br label %brand.done189
+brand.done189:
+ %t475 = load i1, ptr %s466
+ br i1 %t475, label %if.t191, label %if.j192
+if.t191:
+ %t476 = load ptr, ptr %sc_l_p_0
+ %t477 = call ptr @sc_rc_retain_dyn(ptr %t476)
+ %t479 = icmp ne ptr %t477, null
+ br i1 %t479, label %dc.inspect193, label %dc.checked196
+dc.inspect193:
+ %t484 = getelementptr inbounds i8, ptr %t477, i64 8 ; ->kind
+ %t485 = load i32, ptr %t484
+ %t480 = icmp eq i32 %t485, 12
+ br i1 %t480, label %dc.capsule194, label %dc.checked196
+dc.capsule194:
+ %t481 = getelementptr inbounds i8, ptr %t477, i64 40 ; ->v.typed_ref.type_key
+ %t482 = load ptr, ptr %t481
+ %t483 = icmp eq ptr %t482, @sc_cs_2165660704272757
+ br i1 %t483, label %dc.exact195, label %dc.checked196
+dc.exact195:
+ %t486 = getelementptr inbounds i8, ptr %t477, i64 16 ; ->v.typed_ref.ptr
+ %t487 = load ptr, ptr %t486
+ %t488 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t487)
+ store ptr %t488, ptr %s478
+ br label %dc.done197
+dc.checked196:
+ %t489 = call ptr @sc_dc_92(ptr %t477, ptr null)
+ store ptr %t489, ptr %s478
+ %t490 = load i32, ptr %exc.cell
+ %t491 = icmp ne i32 %t490, 0
+ %t492 = call i1 @llvm.expect.i1(i1 %t491, i1 false)
+ br i1 %t492, label %exc.u198, label %exc.k199
+exc.u198:
+ call void @scr_dyn_release(ptr %t477)
+ br label %exc.cleanup2
+exc.k199:
+ br label %dc.done197
+dc.done197:
+ %t493 = load ptr, ptr %s478
+ %t494 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t493, i64 0, i32 2
+ %t495 = load ptr, ptr %t494, !tbaa !204
+ %t496 = getelementptr inbounds i8, ptr %t495, i64 8 ; ->kind
+ %t497 = load i32, ptr %t496
+ %t498 = icmp eq i32 %t497, 6
+ call void @scr_dyn_release(ptr %t477)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t493)
+ br i1 %t498, label %if.t200, label %if.j201
+if.t200:
+ %t499 = call ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch()
+ %t500 = load i32, ptr %exc.cell
+ %t501 = icmp ne i32 %t500, 0
+ %t502 = call i1 @llvm.expect.i1(i1 %t501, i1 false)
+ br i1 %t502, label %exc.u202, label %exc.k203
+exc.u202:
+ call void @scr_dyn_release(ptr %t499)
+ br label %exc.cleanup2
+exc.k203:
+ %t503 = call ptr @scr_dyn_obj_create(ptr %t499)
+ %t504 = load i32, ptr %exc.cell
+ %t505 = icmp ne i32 %t504, 0
+ %t506 = call i1 @llvm.expect.i1(i1 %t505, i1 false)
+ br i1 %t506, label %exc.u204, label %exc.k205
+exc.u204:
+ call void @scr_dyn_release(ptr %t499)
+ call void @scr_dyn_release(ptr %t503)
+ br label %exc.cleanup2
+exc.k205:
+ call void @scr_dyn_release(ptr %t499)
+ %t507 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t507)
+ ret ptr %t503
+if.j201:
+ %t508 = load ptr, ptr %sc_l_p_0
+ %t509 = call ptr @sc_rc_retain_dyn(ptr %t508)
+ %t511 = icmp ne ptr %t509, null
+ br i1 %t511, label %dc.inspect206, label %dc.checked209
+dc.inspect206:
+ %t516 = getelementptr inbounds i8, ptr %t509, i64 8 ; ->kind
+ %t517 = load i32, ptr %t516
+ %t512 = icmp eq i32 %t517, 12
+ br i1 %t512, label %dc.capsule207, label %dc.checked209
+dc.capsule207:
+ %t513 = getelementptr inbounds i8, ptr %t509, i64 40 ; ->v.typed_ref.type_key
+ %t514 = load ptr, ptr %t513
+ %t515 = icmp eq ptr %t514, @sc_cs_2165660704272757
+ br i1 %t515, label %dc.exact208, label %dc.checked209
+dc.exact208:
+ %t518 = getelementptr inbounds i8, ptr %t509, i64 16 ; ->v.typed_ref.ptr
+ %t519 = load ptr, ptr %t518
+ %t520 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t519)
+ store ptr %t520, ptr %s510
+ br label %dc.done210
+dc.checked209:
+ %t521 = call ptr @sc_dc_92(ptr %t509, ptr null)
+ store ptr %t521, ptr %s510
+ %t522 = load i32, ptr %exc.cell
+ %t523 = icmp ne i32 %t522, 0
+ %t524 = call i1 @llvm.expect.i1(i1 %t523, i1 false)
+ br i1 %t524, label %exc.u211, label %exc.k212
+exc.u211:
+ call void @scr_dyn_release(ptr %t509)
+ br label %exc.cleanup2
+exc.k212:
+ br label %dc.done210
+dc.done210:
+ %t525 = load ptr, ptr %s510
+ %t526 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t525, i64 0, i32 2
+ %t527 = load ptr, ptr %t526, !tbaa !204
+ %t528 = call ptr @sc_rc_retain_dyn(ptr %t527)
+ call void @scr_dyn_release(ptr %t509)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t525)
+ %t529 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t529)
+ ret ptr %t528
+if.j192:
+ %t530 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s531
+ %t532 = icmp ne ptr %t530, null
+ br i1 %t532, label %brand.inspect213, label %brand.done215
+brand.inspect213:
+ %t533 = getelementptr inbounds i8, ptr %t530, i64 8 ; ->kind
+ %t534 = load i32, ptr %t533
+ %t535 = icmp eq i32 %t534, 12
+ br i1 %t535, label %brand.capsule214, label %brand.done215
+brand.capsule214:
+ %t536 = getelementptr inbounds i8, ptr %t530, i64 40 ; ->v.typed_ref.type_key
+ %t537 = load ptr, ptr %t536
+ %t538 = icmp eq ptr %t537, @sc_cs_2072202777142634
+ store i1 true, ptr %s531
+ br i1 %t538, label %brand.done215, label %brand.compare216
+brand.compare216:
+ %t539 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t530, ptr @sc_lit_2072202777142634)
+ store i1 %t539, ptr %s531
+ br label %brand.done215
+brand.done215:
+ %t540 = load i1, ptr %s531
+ br i1 %t540, label %tern.t217, label %tern.f218
+tern.t217:
+ %t542 = load ptr, ptr %sc_l_p_0
+ %t543 = call ptr @sc_rc_retain_dyn(ptr %t542)
+ %t545 = icmp ne ptr %t543, null
+ br i1 %t545, label %dc.inspect220, label %dc.checked223
+dc.inspect220:
+ %t550 = getelementptr inbounds i8, ptr %t543, i64 8 ; ->kind
+ %t551 = load i32, ptr %t550
+ %t546 = icmp eq i32 %t551, 12
+ br i1 %t546, label %dc.capsule221, label %dc.checked223
+dc.capsule221:
+ %t547 = getelementptr inbounds i8, ptr %t543, i64 40 ; ->v.typed_ref.type_key
+ %t548 = load ptr, ptr %t547
+ %t549 = icmp eq ptr %t548, @sc_cs_2072202777142634
+ br i1 %t549, label %dc.exact222, label %dc.checked223
+dc.exact222:
+ %t552 = getelementptr inbounds i8, ptr %t543, i64 16 ; ->v.typed_ref.ptr
+ %t553 = load ptr, ptr %t552
+ %t554 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t553)
+ store ptr %t554, ptr %s544
+ br label %dc.done224
+dc.checked223:
+ %t555 = call ptr @sc_dc_26(ptr %t543, ptr null)
+ store ptr %t555, ptr %s544
+ %t556 = load i32, ptr %exc.cell
+ %t557 = icmp ne i32 %t556, 0
+ %t558 = call i1 @llvm.expect.i1(i1 %t557, i1 false)
+ br i1 %t558, label %exc.u225, label %exc.k226
+exc.u225:
+ call void @scr_dyn_release(ptr %t543)
+ br label %exc.cleanup2
+exc.k226:
+ br label %dc.done224
+dc.done224:
+ %t559 = load ptr, ptr %s544
+ %t560 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t559, i64 0, i32 1
+ %t561 = load ptr, ptr %t560
+ %t562 = getelementptr inbounds %ScrVt, ptr %t561, i64 0, i32 0
+ %t563 = load i64, ptr %t562
+ %t564 = icmp uge i64 %t563, 23
+ %t565 = icmp ule i64 %t563, 23
+ %t566 = and i1 %t564, %t565 ; instanceof %m4.MemoryFileSink
+ store i1 %t566, ptr %s541
+ call void @scr_dyn_release(ptr %t543)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t559)
+ br label %tern.j219
+tern.f218:
+ store i1 false, ptr %s541
+ br label %tern.j219
+tern.j219:
+ %t567 = load i1, ptr %s541
+ br i1 %t567, label %if.t227, label %if.j228
+if.t227:
+ %t568 = load ptr, ptr %sc_l_p_0
+ %t569 = call ptr @sc_rc_retain_dyn(ptr %t568)
+ %t571 = icmp ne ptr %t569, null
+ br i1 %t571, label %dc.inspect229, label %dc.checked232
+dc.inspect229:
+ %t576 = getelementptr inbounds i8, ptr %t569, i64 8 ; ->kind
+ %t577 = load i32, ptr %t576
+ %t572 = icmp eq i32 %t577, 12
+ br i1 %t572, label %dc.capsule230, label %dc.checked232
+dc.capsule230:
+ %t573 = getelementptr inbounds i8, ptr %t569, i64 40 ; ->v.typed_ref.type_key
+ %t574 = load ptr, ptr %t573
+ %t575 = icmp eq ptr %t574, @sc_cs_2072202777142634
+ br i1 %t575, label %dc.exact231, label %dc.checked232
+dc.exact231:
+ %t578 = getelementptr inbounds i8, ptr %t569, i64 16 ; ->v.typed_ref.ptr
+ %t579 = load ptr, ptr %t578
+ %t580 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t579)
+ store ptr %t580, ptr %s570
+ br label %dc.done233
+dc.checked232:
+ %t581 = call ptr @sc_dc_26(ptr %t569, ptr null)
+ store ptr %t581, ptr %s570
+ %t582 = load i32, ptr %exc.cell
+ %t583 = icmp ne i32 %t582, 0
+ %t584 = call i1 @llvm.expect.i1(i1 %t583, i1 false)
+ br i1 %t584, label %exc.u234, label %exc.k235
+exc.u234:
+ call void @scr_dyn_release(ptr %t569)
+ br label %exc.cleanup2
+exc.k235:
+ br label %dc.done233
+dc.done233:
+ %t585 = load ptr, ptr %s570
+ %t586 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t585, i64 0, i32 2
+ %t587 = load ptr, ptr %t586, !tbaa !204
+ %t588 = getelementptr inbounds i8, ptr %t587, i64 8 ; ->kind
+ %t589 = load i32, ptr %t588
+ %t590 = icmp eq i32 %t589, 6
+ call void @scr_dyn_release(ptr %t569)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t585)
+ br i1 %t590, label %if.t236, label %if.j237
+if.t236:
+ %t591 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t592 = load i32, ptr %exc.cell
+ %t593 = icmp ne i32 %t592, 0
+ %t594 = call i1 @llvm.expect.i1(i1 %t593, i1 false)
+ br i1 %t594, label %exc.u238, label %exc.k239
+exc.u238:
+ call void @scr_dyn_release(ptr %t591)
+ br label %exc.cleanup2
+exc.k239:
+ %t595 = call ptr @scr_dyn_obj_create(ptr %t591)
+ %t596 = load i32, ptr %exc.cell
+ %t597 = icmp ne i32 %t596, 0
+ %t598 = call i1 @llvm.expect.i1(i1 %t597, i1 false)
+ br i1 %t598, label %exc.u240, label %exc.k241
+exc.u240:
+ call void @scr_dyn_release(ptr %t591)
+ call void @scr_dyn_release(ptr %t595)
+ br label %exc.cleanup2
+exc.k241:
+ call void @scr_dyn_release(ptr %t591)
+ %t599 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t599)
+ ret ptr %t595
+if.j237:
+ %t600 = load ptr, ptr %sc_l_p_0
+ %t601 = call ptr @sc_rc_retain_dyn(ptr %t600)
+ %t603 = icmp ne ptr %t601, null
+ br i1 %t603, label %dc.inspect242, label %dc.checked245
+dc.inspect242:
+ %t608 = getelementptr inbounds i8, ptr %t601, i64 8 ; ->kind
+ %t609 = load i32, ptr %t608
+ %t604 = icmp eq i32 %t609, 12
+ br i1 %t604, label %dc.capsule243, label %dc.checked245
+dc.capsule243:
+ %t605 = getelementptr inbounds i8, ptr %t601, i64 40 ; ->v.typed_ref.type_key
+ %t606 = load ptr, ptr %t605
+ %t607 = icmp eq ptr %t606, @sc_cs_2072202777142634
+ br i1 %t607, label %dc.exact244, label %dc.checked245
+dc.exact244:
+ %t610 = getelementptr inbounds i8, ptr %t601, i64 16 ; ->v.typed_ref.ptr
+ %t611 = load ptr, ptr %t610
+ %t612 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t611)
+ store ptr %t612, ptr %s602
+ br label %dc.done246
+dc.checked245:
+ %t613 = call ptr @sc_dc_26(ptr %t601, ptr null)
+ store ptr %t613, ptr %s602
+ %t614 = load i32, ptr %exc.cell
+ %t615 = icmp ne i32 %t614, 0
+ %t616 = call i1 @llvm.expect.i1(i1 %t615, i1 false)
+ br i1 %t616, label %exc.u247, label %exc.k248
+exc.u247:
+ call void @scr_dyn_release(ptr %t601)
+ br label %exc.cleanup2
+exc.k248:
+ br label %dc.done246
+dc.done246:
+ %t617 = load ptr, ptr %s602
+ %t618 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t617, i64 0, i32 2
+ %t619 = load ptr, ptr %t618, !tbaa !204
+ %t620 = call ptr @sc_rc_retain_dyn(ptr %t619)
+ call void @scr_dyn_release(ptr %t601)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t617)
+ %t621 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t621)
+ ret ptr %t620
+if.j228:
+ %t622 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s623
+ %t624 = icmp ne ptr %t622, null
+ br i1 %t624, label %brand.inspect249, label %brand.done251
+brand.inspect249:
+ %t625 = getelementptr inbounds i8, ptr %t622, i64 8 ; ->kind
+ %t626 = load i32, ptr %t625
+ %t627 = icmp eq i32 %t626, 12
+ br i1 %t627, label %brand.capsule250, label %brand.done251
+brand.capsule250:
+ %t628 = getelementptr inbounds i8, ptr %t622, i64 40 ; ->v.typed_ref.type_key
+ %t629 = load ptr, ptr %t628
+ %t630 = icmp eq ptr %t629, @sc_cs_2072202777142634
+ store i1 true, ptr %s623
+ br i1 %t630, label %brand.done251, label %brand.compare252
+brand.compare252:
+ %t631 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t622, ptr @sc_lit_2072202777142634)
+ store i1 %t631, ptr %s623
+ br label %brand.done251
+brand.done251:
+ %t632 = load i1, ptr %s623
+ br i1 %t632, label %if.t253, label %if.j254
+if.t253:
+ %t633 = load ptr, ptr %sc_l_p_0
+ %t634 = call ptr @sc_rc_retain_dyn(ptr %t633)
+ %t636 = icmp ne ptr %t634, null
+ br i1 %t636, label %dc.inspect255, label %dc.checked258
+dc.inspect255:
+ %t641 = getelementptr inbounds i8, ptr %t634, i64 8 ; ->kind
+ %t642 = load i32, ptr %t641
+ %t637 = icmp eq i32 %t642, 12
+ br i1 %t637, label %dc.capsule256, label %dc.checked258
+dc.capsule256:
+ %t638 = getelementptr inbounds i8, ptr %t634, i64 40 ; ->v.typed_ref.type_key
+ %t639 = load ptr, ptr %t638
+ %t640 = icmp eq ptr %t639, @sc_cs_2072202777142634
+ br i1 %t640, label %dc.exact257, label %dc.checked258
+dc.exact257:
+ %t643 = getelementptr inbounds i8, ptr %t634, i64 16 ; ->v.typed_ref.ptr
+ %t644 = load ptr, ptr %t643
+ %t645 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t644)
+ store ptr %t645, ptr %s635
+ br label %dc.done259
+dc.checked258:
+ %t646 = call ptr @sc_dc_26(ptr %t634, ptr null)
+ store ptr %t646, ptr %s635
+ %t647 = load i32, ptr %exc.cell
+ %t648 = icmp ne i32 %t647, 0
+ %t649 = call i1 @llvm.expect.i1(i1 %t648, i1 false)
+ br i1 %t649, label %exc.u260, label %exc.k261
+exc.u260:
+ call void @scr_dyn_release(ptr %t634)
+ br label %exc.cleanup2
+exc.k261:
+ br label %dc.done259
+dc.done259:
+ %t650 = load ptr, ptr %s635
+ %t651 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t650, i64 0, i32 2
+ %t652 = load ptr, ptr %t651, !tbaa !204
+ %t653 = getelementptr inbounds i8, ptr %t652, i64 8 ; ->kind
+ %t654 = load i32, ptr %t653
+ %t655 = icmp eq i32 %t654, 6
+ call void @scr_dyn_release(ptr %t634)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t650)
+ br i1 %t655, label %if.t262, label %if.j263
+if.t262:
+ %t656 = load ptr, ptr %sc_l_p_0
+ %t657 = call ptr @sc_rc_retain_dyn(ptr %t656)
+ %t659 = icmp ne ptr %t657, null
+ br i1 %t659, label %dc.inspect264, label %dc.checked267
+dc.inspect264:
+ %t664 = getelementptr inbounds i8, ptr %t657, i64 8 ; ->kind
+ %t665 = load i32, ptr %t664
+ %t660 = icmp eq i32 %t665, 12
+ br i1 %t660, label %dc.capsule265, label %dc.checked267
+dc.capsule265:
+ %t661 = getelementptr inbounds i8, ptr %t657, i64 40 ; ->v.typed_ref.type_key
+ %t662 = load ptr, ptr %t661
+ %t663 = icmp eq ptr %t662, @sc_cs_2072202777142634
+ br i1 %t663, label %dc.exact266, label %dc.checked267
+dc.exact266:
+ %t666 = getelementptr inbounds i8, ptr %t657, i64 16 ; ->v.typed_ref.ptr
+ %t667 = load ptr, ptr %t666
+ %t668 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t667)
+ store ptr %t668, ptr %s658
+ br label %dc.done268
+dc.checked267:
+ %t669 = call ptr @sc_dc_26(ptr %t657, ptr null)
+ store ptr %t669, ptr %s658
+ %t670 = load i32, ptr %exc.cell
+ %t671 = icmp ne i32 %t670, 0
+ %t672 = call i1 @llvm.expect.i1(i1 %t671, i1 false)
+ br i1 %t672, label %exc.u269, label %exc.k270
+exc.u269:
+ call void @scr_dyn_release(ptr %t657)
+ br label %exc.cleanup2
+exc.k270:
+ br label %dc.done268
+dc.done268:
+ %t673 = load ptr, ptr %s658
+ %t674 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t673, i64 0, i32 1
+ %t675 = load ptr, ptr %t674
+ %t676 = getelementptr inbounds %ScrVt, ptr %t675, i64 0, i32 0
+ %t677 = load i64, ptr %t676
+ %t678 = icmp uge i64 %t677, 23
+ %t679 = icmp ule i64 %t677, 23
+ %t680 = and i1 %t678, %t679 ; instanceof %m4.MemoryFileSink
+ br i1 %t680, label %tern.t271, label %tern.f272
+tern.t271:
+ %t682 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t683 = load i32, ptr %exc.cell
+ %t684 = icmp ne i32 %t683, 0
+ %t685 = call i1 @llvm.expect.i1(i1 %t684, i1 false)
+ br i1 %t685, label %exc.u274, label %exc.k275
+exc.u274:
+ call void @scr_dyn_release(ptr %t682)
+ call void @scr_dyn_release(ptr %t657)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t673)
+ br label %exc.cleanup2
+exc.k275:
+ store ptr %t682, ptr %s681
+ br label %tern.j273
+tern.f272:
+ %t686 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink()
+ %t687 = load i32, ptr %exc.cell
+ %t688 = icmp ne i32 %t687, 0
+ %t689 = call i1 @llvm.expect.i1(i1 %t688, i1 false)
+ br i1 %t689, label %exc.u276, label %exc.k277
+exc.u276:
+ call void @scr_dyn_release(ptr %t686)
+ call void @scr_dyn_release(ptr %t657)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t673)
+ br label %exc.cleanup2
+exc.k277:
+ store ptr %t686, ptr %s681
+ br label %tern.j273
+tern.j273:
+ %t690 = load ptr, ptr %s681
+ %t691 = call ptr @scr_dyn_obj_create(ptr %t690)
+ %t692 = load i32, ptr %exc.cell
+ %t693 = icmp ne i32 %t692, 0
+ %t694 = call i1 @llvm.expect.i1(i1 %t693, i1 false)
+ br i1 %t694, label %exc.u278, label %exc.k279
+exc.u278:
+ call void @scr_dyn_release(ptr %t657)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t673)
+ call void @scr_dyn_release(ptr %t690)
+ call void @scr_dyn_release(ptr %t691)
+ br label %exc.cleanup2
+exc.k279:
+ call void @scr_dyn_release(ptr %t657)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t673)
+ call void @scr_dyn_release(ptr %t690)
+ %t695 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t695)
+ ret ptr %t691
+if.j263:
+ %t696 = load ptr, ptr %sc_l_p_0
+ %t697 = call ptr @sc_rc_retain_dyn(ptr %t696)
+ %t699 = icmp ne ptr %t697, null
+ br i1 %t699, label %dc.inspect280, label %dc.checked283
+dc.inspect280:
+ %t704 = getelementptr inbounds i8, ptr %t697, i64 8 ; ->kind
+ %t705 = load i32, ptr %t704
+ %t700 = icmp eq i32 %t705, 12
+ br i1 %t700, label %dc.capsule281, label %dc.checked283
+dc.capsule281:
+ %t701 = getelementptr inbounds i8, ptr %t697, i64 40 ; ->v.typed_ref.type_key
+ %t702 = load ptr, ptr %t701
+ %t703 = icmp eq ptr %t702, @sc_cs_2072202777142634
+ br i1 %t703, label %dc.exact282, label %dc.checked283
+dc.exact282:
+ %t706 = getelementptr inbounds i8, ptr %t697, i64 16 ; ->v.typed_ref.ptr
+ %t707 = load ptr, ptr %t706
+ %t708 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t707)
+ store ptr %t708, ptr %s698
+ br label %dc.done284
+dc.checked283:
+ %t709 = call ptr @sc_dc_26(ptr %t697, ptr null)
+ store ptr %t709, ptr %s698
+ %t710 = load i32, ptr %exc.cell
+ %t711 = icmp ne i32 %t710, 0
+ %t712 = call i1 @llvm.expect.i1(i1 %t711, i1 false)
+ br i1 %t712, label %exc.u285, label %exc.k286
+exc.u285:
+ call void @scr_dyn_release(ptr %t697)
+ br label %exc.cleanup2
+exc.k286:
+ br label %dc.done284
+dc.done284:
+ %t713 = load ptr, ptr %s698
+ %t714 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t713, i64 0, i32 2
+ %t715 = load ptr, ptr %t714, !tbaa !204
+ %t716 = call ptr @sc_rc_retain_dyn(ptr %t715)
+ call void @scr_dyn_release(ptr %t697)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t713)
+ %t717 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t717)
+ ret ptr %t716
+if.j254:
+ %t718 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s719
+ %t720 = icmp ne ptr %t718, null
+ br i1 %t720, label %brand.inspect287, label %brand.done289
+brand.inspect287:
+ %t721 = getelementptr inbounds i8, ptr %t718, i64 8 ; ->kind
+ %t722 = load i32, ptr %t721
+ %t723 = icmp eq i32 %t722, 12
+ br i1 %t723, label %brand.capsule288, label %brand.done289
+brand.capsule288:
+ %t724 = getelementptr inbounds i8, ptr %t718, i64 40 ; ->v.typed_ref.type_key
+ %t725 = load ptr, ptr %t724
+ %t726 = icmp eq ptr %t725, @sc_cs_3314970835853795
+ store i1 true, ptr %s719
+ br i1 %t726, label %brand.done289, label %brand.compare290
+brand.compare290:
+ %t727 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t718, ptr @sc_lit_3314970835853795)
+ store i1 %t727, ptr %s719
+ br label %brand.done289
+brand.done289:
+ %t728 = load i1, ptr %s719
+ br i1 %t728, label %tern.t291, label %tern.f292
+tern.t291:
+ %t730 = load ptr, ptr %sc_l_p_0
+ %t731 = call ptr @sc_rc_retain_dyn(ptr %t730)
+ %t733 = icmp ne ptr %t731, null
+ br i1 %t733, label %dc.inspect294, label %dc.checked297
+dc.inspect294:
+ %t738 = getelementptr inbounds i8, ptr %t731, i64 8 ; ->kind
+ %t739 = load i32, ptr %t738
+ %t734 = icmp eq i32 %t739, 12
+ br i1 %t734, label %dc.capsule295, label %dc.checked297
+dc.capsule295:
+ %t735 = getelementptr inbounds i8, ptr %t731, i64 40 ; ->v.typed_ref.type_key
+ %t736 = load ptr, ptr %t735
+ %t737 = icmp eq ptr %t736, @sc_cs_3314970835853795
+ br i1 %t737, label %dc.exact296, label %dc.checked297
+dc.exact296:
+ %t740 = getelementptr inbounds i8, ptr %t731, i64 16 ; ->v.typed_ref.ptr
+ %t741 = load ptr, ptr %t740
+ %t742 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t741)
+ store ptr %t742, ptr %s732
+ br label %dc.done298
+dc.checked297:
+ %t743 = call ptr @sc_dc_79(ptr %t731, ptr null)
+ store ptr %t743, ptr %s732
+ %t744 = load i32, ptr %exc.cell
+ %t745 = icmp ne i32 %t744, 0
+ %t746 = call i1 @llvm.expect.i1(i1 %t745, i1 false)
+ br i1 %t746, label %exc.u299, label %exc.k300
+exc.u299:
+ call void @scr_dyn_release(ptr %t731)
+ br label %exc.cleanup2
+exc.k300:
+ br label %dc.done298
+dc.done298:
+ %t747 = load ptr, ptr %s732
+ %t748 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t747, i64 0, i32 1
+ %t749 = load ptr, ptr %t748
+ %t750 = getelementptr inbounds %ScrVt, ptr %t749, i64 0, i32 0
+ %t751 = load i64, ptr %t750
+ %t752 = icmp uge i64 %t751, 38
+ %t753 = icmp ule i64 %t751, 38
+ %t754 = and i1 %t752, %t753 ; instanceof %m14.BakedAssets
+ store i1 %t754, ptr %s729
+ call void @scr_dyn_release(ptr %t731)
+ call void @sc_release__x25_m6_AssetSource(ptr %t747)
+ br label %tern.j293
+tern.f292:
+ store i1 false, ptr %s729
+ br label %tern.j293
+tern.j293:
+ %t755 = load i1, ptr %s729
+ br i1 %t755, label %if.t301, label %if.j302
+if.t301:
+ %t756 = load ptr, ptr %sc_l_p_0
+ %t757 = call ptr @sc_rc_retain_dyn(ptr %t756)
+ %t759 = icmp ne ptr %t757, null
+ br i1 %t759, label %dc.inspect303, label %dc.checked306
+dc.inspect303:
+ %t764 = getelementptr inbounds i8, ptr %t757, i64 8 ; ->kind
+ %t765 = load i32, ptr %t764
+ %t760 = icmp eq i32 %t765, 12
+ br i1 %t760, label %dc.capsule304, label %dc.checked306
+dc.capsule304:
+ %t761 = getelementptr inbounds i8, ptr %t757, i64 40 ; ->v.typed_ref.type_key
+ %t762 = load ptr, ptr %t761
+ %t763 = icmp eq ptr %t762, @sc_cs_3314970835853795
+ br i1 %t763, label %dc.exact305, label %dc.checked306
+dc.exact305:
+ %t766 = getelementptr inbounds i8, ptr %t757, i64 16 ; ->v.typed_ref.ptr
+ %t767 = load ptr, ptr %t766
+ %t768 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t767)
+ store ptr %t768, ptr %s758
+ br label %dc.done307
+dc.checked306:
+ %t769 = call ptr @sc_dc_79(ptr %t757, ptr null)
+ store ptr %t769, ptr %s758
+ %t770 = load i32, ptr %exc.cell
+ %t771 = icmp ne i32 %t770, 0
+ %t772 = call i1 @llvm.expect.i1(i1 %t771, i1 false)
+ br i1 %t772, label %exc.u308, label %exc.k309
+exc.u308:
+ call void @scr_dyn_release(ptr %t757)
+ br label %exc.cleanup2
+exc.k309:
+ br label %dc.done307
+dc.done307:
+ %t773 = load ptr, ptr %s758
+ %t774 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t773, i64 0, i32 2
+ %t775 = load ptr, ptr %t774, !tbaa !204
+ %t776 = getelementptr inbounds i8, ptr %t775, i64 8 ; ->kind
+ %t777 = load i32, ptr %t776
+ %t778 = icmp eq i32 %t777, 6
+ call void @scr_dyn_release(ptr %t757)
+ call void @sc_release__x25_m6_AssetSource(ptr %t773)
+ br i1 %t778, label %if.t310, label %if.j311
+if.t310:
+ %t779 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t780 = load i32, ptr %exc.cell
+ %t781 = icmp ne i32 %t780, 0
+ %t782 = call i1 @llvm.expect.i1(i1 %t781, i1 false)
+ br i1 %t782, label %exc.u312, label %exc.k313
+exc.u312:
+ call void @scr_dyn_release(ptr %t779)
+ br label %exc.cleanup2
+exc.k313:
+ %t783 = call ptr @scr_dyn_obj_create(ptr %t779)
+ %t784 = load i32, ptr %exc.cell
+ %t785 = icmp ne i32 %t784, 0
+ %t786 = call i1 @llvm.expect.i1(i1 %t785, i1 false)
+ br i1 %t786, label %exc.u314, label %exc.k315
+exc.u314:
+ call void @scr_dyn_release(ptr %t779)
+ call void @scr_dyn_release(ptr %t783)
+ br label %exc.cleanup2
+exc.k315:
+ call void @scr_dyn_release(ptr %t779)
+ %t787 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t787)
+ ret ptr %t783
+if.j311:
+ %t788 = load ptr, ptr %sc_l_p_0
+ %t789 = call ptr @sc_rc_retain_dyn(ptr %t788)
+ %t791 = icmp ne ptr %t789, null
+ br i1 %t791, label %dc.inspect316, label %dc.checked319
+dc.inspect316:
+ %t796 = getelementptr inbounds i8, ptr %t789, i64 8 ; ->kind
+ %t797 = load i32, ptr %t796
+ %t792 = icmp eq i32 %t797, 12
+ br i1 %t792, label %dc.capsule317, label %dc.checked319
+dc.capsule317:
+ %t793 = getelementptr inbounds i8, ptr %t789, i64 40 ; ->v.typed_ref.type_key
+ %t794 = load ptr, ptr %t793
+ %t795 = icmp eq ptr %t794, @sc_cs_3314970835853795
+ br i1 %t795, label %dc.exact318, label %dc.checked319
+dc.exact318:
+ %t798 = getelementptr inbounds i8, ptr %t789, i64 16 ; ->v.typed_ref.ptr
+ %t799 = load ptr, ptr %t798
+ %t800 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t799)
+ store ptr %t800, ptr %s790
+ br label %dc.done320
+dc.checked319:
+ %t801 = call ptr @sc_dc_79(ptr %t789, ptr null)
+ store ptr %t801, ptr %s790
+ %t802 = load i32, ptr %exc.cell
+ %t803 = icmp ne i32 %t802, 0
+ %t804 = call i1 @llvm.expect.i1(i1 %t803, i1 false)
+ br i1 %t804, label %exc.u321, label %exc.k322
+exc.u321:
+ call void @scr_dyn_release(ptr %t789)
+ br label %exc.cleanup2
+exc.k322:
+ br label %dc.done320
+dc.done320:
+ %t805 = load ptr, ptr %s790
+ %t806 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t805, i64 0, i32 2
+ %t807 = load ptr, ptr %t806, !tbaa !204
+ %t808 = call ptr @sc_rc_retain_dyn(ptr %t807)
+ call void @scr_dyn_release(ptr %t789)
+ call void @sc_release__x25_m6_AssetSource(ptr %t805)
+ %t809 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t809)
+ ret ptr %t808
+if.j302:
+ %t810 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s811
+ %t812 = icmp ne ptr %t810, null
+ br i1 %t812, label %brand.inspect323, label %brand.done325
+brand.inspect323:
+ %t813 = getelementptr inbounds i8, ptr %t810, i64 8 ; ->kind
+ %t814 = load i32, ptr %t813
+ %t815 = icmp eq i32 %t814, 12
+ br i1 %t815, label %brand.capsule324, label %brand.done325
+brand.capsule324:
+ %t816 = getelementptr inbounds i8, ptr %t810, i64 40 ; ->v.typed_ref.type_key
+ %t817 = load ptr, ptr %t816
+ %t818 = icmp eq ptr %t817, @sc_cs_3314970835853795
+ store i1 true, ptr %s811
+ br i1 %t818, label %brand.done325, label %brand.compare326
+brand.compare326:
+ %t819 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t810, ptr @sc_lit_3314970835853795)
+ store i1 %t819, ptr %s811
+ br label %brand.done325
+brand.done325:
+ %t820 = load i1, ptr %s811
+ br i1 %t820, label %tern.t327, label %tern.f328
+tern.t327:
+ %t822 = load ptr, ptr %sc_l_p_0
+ %t823 = call ptr @sc_rc_retain_dyn(ptr %t822)
+ %t825 = icmp ne ptr %t823, null
+ br i1 %t825, label %dc.inspect330, label %dc.checked333
+dc.inspect330:
+ %t830 = getelementptr inbounds i8, ptr %t823, i64 8 ; ->kind
+ %t831 = load i32, ptr %t830
+ %t826 = icmp eq i32 %t831, 12
+ br i1 %t826, label %dc.capsule331, label %dc.checked333
+dc.capsule331:
+ %t827 = getelementptr inbounds i8, ptr %t823, i64 40 ; ->v.typed_ref.type_key
+ %t828 = load ptr, ptr %t827
+ %t829 = icmp eq ptr %t828, @sc_cs_3314970835853795
+ br i1 %t829, label %dc.exact332, label %dc.checked333
+dc.exact332:
+ %t832 = getelementptr inbounds i8, ptr %t823, i64 16 ; ->v.typed_ref.ptr
+ %t833 = load ptr, ptr %t832
+ %t834 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t833)
+ store ptr %t834, ptr %s824
+ br label %dc.done334
+dc.checked333:
+ %t835 = call ptr @sc_dc_79(ptr %t823, ptr null)
+ store ptr %t835, ptr %s824
+ %t836 = load i32, ptr %exc.cell
+ %t837 = icmp ne i32 %t836, 0
+ %t838 = call i1 @llvm.expect.i1(i1 %t837, i1 false)
+ br i1 %t838, label %exc.u335, label %exc.k336
+exc.u335:
+ call void @scr_dyn_release(ptr %t823)
+ br label %exc.cleanup2
+exc.k336:
+ br label %dc.done334
+dc.done334:
+ %t839 = load ptr, ptr %s824
+ %t840 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t839, i64 0, i32 1
+ %t841 = load ptr, ptr %t840
+ %t842 = getelementptr inbounds %ScrVt, ptr %t841, i64 0, i32 0
+ %t843 = load i64, ptr %t842
+ %t844 = icmp uge i64 %t843, 37
+ %t845 = icmp ule i64 %t843, 38
+ %t846 = and i1 %t844, %t845 ; instanceof %m9.EmbeddedAssets
+ store i1 %t846, ptr %s821
+ call void @scr_dyn_release(ptr %t823)
+ call void @sc_release__x25_m6_AssetSource(ptr %t839)
+ br label %tern.j329
+tern.f328:
+ store i1 false, ptr %s821
+ br label %tern.j329
+tern.j329:
+ %t847 = load i1, ptr %s821
+ br i1 %t847, label %if.t337, label %if.j338
+if.t337:
+ %t848 = load ptr, ptr %sc_l_p_0
+ %t849 = call ptr @sc_rc_retain_dyn(ptr %t848)
+ %t851 = icmp ne ptr %t849, null
+ br i1 %t851, label %dc.inspect339, label %dc.checked342
+dc.inspect339:
+ %t856 = getelementptr inbounds i8, ptr %t849, i64 8 ; ->kind
+ %t857 = load i32, ptr %t856
+ %t852 = icmp eq i32 %t857, 12
+ br i1 %t852, label %dc.capsule340, label %dc.checked342
+dc.capsule340:
+ %t853 = getelementptr inbounds i8, ptr %t849, i64 40 ; ->v.typed_ref.type_key
+ %t854 = load ptr, ptr %t853
+ %t855 = icmp eq ptr %t854, @sc_cs_3314970835853795
+ br i1 %t855, label %dc.exact341, label %dc.checked342
+dc.exact341:
+ %t858 = getelementptr inbounds i8, ptr %t849, i64 16 ; ->v.typed_ref.ptr
+ %t859 = load ptr, ptr %t858
+ %t860 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t859)
+ store ptr %t860, ptr %s850
+ br label %dc.done343
+dc.checked342:
+ %t861 = call ptr @sc_dc_79(ptr %t849, ptr null)
+ store ptr %t861, ptr %s850
+ %t862 = load i32, ptr %exc.cell
+ %t863 = icmp ne i32 %t862, 0
+ %t864 = call i1 @llvm.expect.i1(i1 %t863, i1 false)
+ br i1 %t864, label %exc.u344, label %exc.k345
+exc.u344:
+ call void @scr_dyn_release(ptr %t849)
+ br label %exc.cleanup2
+exc.k345:
+ br label %dc.done343
+dc.done343:
+ %t865 = load ptr, ptr %s850
+ %t866 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t865, i64 0, i32 2
+ %t867 = load ptr, ptr %t866, !tbaa !204
+ %t868 = getelementptr inbounds i8, ptr %t867, i64 8 ; ->kind
+ %t869 = load i32, ptr %t868
+ %t870 = icmp eq i32 %t869, 6
+ call void @scr_dyn_release(ptr %t849)
+ call void @sc_release__x25_m6_AssetSource(ptr %t865)
+ br i1 %t870, label %if.t346, label %if.j347
+if.t346:
+ %t871 = load ptr, ptr %sc_l_p_0
+ %t872 = call ptr @sc_rc_retain_dyn(ptr %t871)
+ %t874 = icmp ne ptr %t872, null
+ br i1 %t874, label %dc.inspect348, label %dc.checked351
+dc.inspect348:
+ %t879 = getelementptr inbounds i8, ptr %t872, i64 8 ; ->kind
+ %t880 = load i32, ptr %t879
+ %t875 = icmp eq i32 %t880, 12
+ br i1 %t875, label %dc.capsule349, label %dc.checked351
+dc.capsule349:
+ %t876 = getelementptr inbounds i8, ptr %t872, i64 40 ; ->v.typed_ref.type_key
+ %t877 = load ptr, ptr %t876
+ %t878 = icmp eq ptr %t877, @sc_cs_3314970835853795
+ br i1 %t878, label %dc.exact350, label %dc.checked351
+dc.exact350:
+ %t881 = getelementptr inbounds i8, ptr %t872, i64 16 ; ->v.typed_ref.ptr
+ %t882 = load ptr, ptr %t881
+ %t883 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t882)
+ store ptr %t883, ptr %s873
+ br label %dc.done352
+dc.checked351:
+ %t884 = call ptr @sc_dc_79(ptr %t872, ptr null)
+ store ptr %t884, ptr %s873
+ %t885 = load i32, ptr %exc.cell
+ %t886 = icmp ne i32 %t885, 0
+ %t887 = call i1 @llvm.expect.i1(i1 %t886, i1 false)
+ br i1 %t887, label %exc.u353, label %exc.k354
+exc.u353:
+ call void @scr_dyn_release(ptr %t872)
+ br label %exc.cleanup2
+exc.k354:
+ br label %dc.done352
+dc.done352:
+ %t888 = load ptr, ptr %s873
+ %t889 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t888, i64 0, i32 1
+ %t890 = load ptr, ptr %t889
+ %t891 = getelementptr inbounds %ScrVt, ptr %t890, i64 0, i32 0
+ %t892 = load i64, ptr %t891
+ %t893 = icmp uge i64 %t892, 38
+ %t894 = icmp ule i64 %t892, 38
+ %t895 = and i1 %t893, %t894 ; instanceof %m14.BakedAssets
+ br i1 %t895, label %tern.t355, label %tern.f356
+tern.t355:
+ %t897 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t898 = load i32, ptr %exc.cell
+ %t899 = icmp ne i32 %t898, 0
+ %t900 = call i1 @llvm.expect.i1(i1 %t899, i1 false)
+ br i1 %t900, label %exc.u358, label %exc.k359
+exc.u358:
+ call void @scr_dyn_release(ptr %t897)
+ call void @scr_dyn_release(ptr %t872)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888)
+ br label %exc.cleanup2
+exc.k359:
+ store ptr %t897, ptr %s896
+ br label %tern.j357
+tern.f356:
+ %t901 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t902 = load i32, ptr %exc.cell
+ %t903 = icmp ne i32 %t902, 0
+ %t904 = call i1 @llvm.expect.i1(i1 %t903, i1 false)
+ br i1 %t904, label %exc.u360, label %exc.k361
+exc.u360:
+ call void @scr_dyn_release(ptr %t901)
+ call void @scr_dyn_release(ptr %t872)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888)
+ br label %exc.cleanup2
+exc.k361:
+ store ptr %t901, ptr %s896
+ br label %tern.j357
+tern.j357:
+ %t905 = load ptr, ptr %s896
+ %t906 = call ptr @scr_dyn_obj_create(ptr %t905)
+ %t907 = load i32, ptr %exc.cell
+ %t908 = icmp ne i32 %t907, 0
+ %t909 = call i1 @llvm.expect.i1(i1 %t908, i1 false)
+ br i1 %t909, label %exc.u362, label %exc.k363
+exc.u362:
+ call void @scr_dyn_release(ptr %t872)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888)
+ call void @scr_dyn_release(ptr %t905)
+ call void @scr_dyn_release(ptr %t906)
+ br label %exc.cleanup2
+exc.k363:
+ call void @scr_dyn_release(ptr %t872)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888)
+ call void @scr_dyn_release(ptr %t905)
+ %t910 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t910)
+ ret ptr %t906
+if.j347:
+ %t911 = load ptr, ptr %sc_l_p_0
+ %t912 = call ptr @sc_rc_retain_dyn(ptr %t911)
+ %t914 = icmp ne ptr %t912, null
+ br i1 %t914, label %dc.inspect364, label %dc.checked367
+dc.inspect364:
+ %t919 = getelementptr inbounds i8, ptr %t912, i64 8 ; ->kind
+ %t920 = load i32, ptr %t919
+ %t915 = icmp eq i32 %t920, 12
+ br i1 %t915, label %dc.capsule365, label %dc.checked367
+dc.capsule365:
+ %t916 = getelementptr inbounds i8, ptr %t912, i64 40 ; ->v.typed_ref.type_key
+ %t917 = load ptr, ptr %t916
+ %t918 = icmp eq ptr %t917, @sc_cs_3314970835853795
+ br i1 %t918, label %dc.exact366, label %dc.checked367
+dc.exact366:
+ %t921 = getelementptr inbounds i8, ptr %t912, i64 16 ; ->v.typed_ref.ptr
+ %t922 = load ptr, ptr %t921
+ %t923 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t922)
+ store ptr %t923, ptr %s913
+ br label %dc.done368
+dc.checked367:
+ %t924 = call ptr @sc_dc_79(ptr %t912, ptr null)
+ store ptr %t924, ptr %s913
+ %t925 = load i32, ptr %exc.cell
+ %t926 = icmp ne i32 %t925, 0
+ %t927 = call i1 @llvm.expect.i1(i1 %t926, i1 false)
+ br i1 %t927, label %exc.u369, label %exc.k370
+exc.u369:
+ call void @scr_dyn_release(ptr %t912)
+ br label %exc.cleanup2
+exc.k370:
+ br label %dc.done368
+dc.done368:
+ %t928 = load ptr, ptr %s913
+ %t929 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t928, i64 0, i32 2
+ %t930 = load ptr, ptr %t929, !tbaa !204
+ %t931 = call ptr @sc_rc_retain_dyn(ptr %t930)
+ call void @scr_dyn_release(ptr %t912)
+ call void @sc_release__x25_m6_AssetSource(ptr %t928)
+ %t932 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t932)
+ ret ptr %t931
+if.j338:
+ %t933 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s934
+ %t935 = icmp ne ptr %t933, null
+ br i1 %t935, label %brand.inspect371, label %brand.done373
+brand.inspect371:
+ %t936 = getelementptr inbounds i8, ptr %t933, i64 8 ; ->kind
+ %t937 = load i32, ptr %t936
+ %t938 = icmp eq i32 %t937, 12
+ br i1 %t938, label %brand.capsule372, label %brand.done373
+brand.capsule372:
+ %t939 = getelementptr inbounds i8, ptr %t933, i64 40 ; ->v.typed_ref.type_key
+ %t940 = load ptr, ptr %t939
+ %t941 = icmp eq ptr %t940, @sc_cs_3314970835853795
+ store i1 true, ptr %s934
+ br i1 %t941, label %brand.done373, label %brand.compare374
+brand.compare374:
+ %t942 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t933, ptr @sc_lit_3314970835853795)
+ store i1 %t942, ptr %s934
+ br label %brand.done373
+brand.done373:
+ %t943 = load i1, ptr %s934
+ br i1 %t943, label %if.t375, label %if.j376
+if.t375:
+ %t944 = load ptr, ptr %sc_l_p_0
+ %t945 = call ptr @sc_rc_retain_dyn(ptr %t944)
+ %t947 = icmp ne ptr %t945, null
+ br i1 %t947, label %dc.inspect377, label %dc.checked380
+dc.inspect377:
+ %t952 = getelementptr inbounds i8, ptr %t945, i64 8 ; ->kind
+ %t953 = load i32, ptr %t952
+ %t948 = icmp eq i32 %t953, 12
+ br i1 %t948, label %dc.capsule378, label %dc.checked380
+dc.capsule378:
+ %t949 = getelementptr inbounds i8, ptr %t945, i64 40 ; ->v.typed_ref.type_key
+ %t950 = load ptr, ptr %t949
+ %t951 = icmp eq ptr %t950, @sc_cs_3314970835853795
+ br i1 %t951, label %dc.exact379, label %dc.checked380
+dc.exact379:
+ %t954 = getelementptr inbounds i8, ptr %t945, i64 16 ; ->v.typed_ref.ptr
+ %t955 = load ptr, ptr %t954
+ %t956 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t955)
+ store ptr %t956, ptr %s946
+ br label %dc.done381
+dc.checked380:
+ %t957 = call ptr @sc_dc_79(ptr %t945, ptr null)
+ store ptr %t957, ptr %s946
+ %t958 = load i32, ptr %exc.cell
+ %t959 = icmp ne i32 %t958, 0
+ %t960 = call i1 @llvm.expect.i1(i1 %t959, i1 false)
+ br i1 %t960, label %exc.u382, label %exc.k383
+exc.u382:
+ call void @scr_dyn_release(ptr %t945)
+ br label %exc.cleanup2
+exc.k383:
+ br label %dc.done381
+dc.done381:
+ %t961 = load ptr, ptr %s946
+ %t962 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t961, i64 0, i32 2
+ %t963 = load ptr, ptr %t962, !tbaa !204
+ %t964 = getelementptr inbounds i8, ptr %t963, i64 8 ; ->kind
+ %t965 = load i32, ptr %t964
+ %t966 = icmp eq i32 %t965, 6
+ call void @scr_dyn_release(ptr %t945)
+ call void @sc_release__x25_m6_AssetSource(ptr %t961)
+ br i1 %t966, label %if.t384, label %if.j385
+if.t384:
+ %t967 = load ptr, ptr %sc_l_p_0
+ %t968 = call ptr @sc_rc_retain_dyn(ptr %t967)
+ %t970 = icmp ne ptr %t968, null
+ br i1 %t970, label %dc.inspect386, label %dc.checked389
+dc.inspect386:
+ %t975 = getelementptr inbounds i8, ptr %t968, i64 8 ; ->kind
+ %t976 = load i32, ptr %t975
+ %t971 = icmp eq i32 %t976, 12
+ br i1 %t971, label %dc.capsule387, label %dc.checked389
+dc.capsule387:
+ %t972 = getelementptr inbounds i8, ptr %t968, i64 40 ; ->v.typed_ref.type_key
+ %t973 = load ptr, ptr %t972
+ %t974 = icmp eq ptr %t973, @sc_cs_3314970835853795
+ br i1 %t974, label %dc.exact388, label %dc.checked389
+dc.exact388:
+ %t977 = getelementptr inbounds i8, ptr %t968, i64 16 ; ->v.typed_ref.ptr
+ %t978 = load ptr, ptr %t977
+ %t979 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t978)
+ store ptr %t979, ptr %s969
+ br label %dc.done390
+dc.checked389:
+ %t980 = call ptr @sc_dc_79(ptr %t968, ptr null)
+ store ptr %t980, ptr %s969
+ %t981 = load i32, ptr %exc.cell
+ %t982 = icmp ne i32 %t981, 0
+ %t983 = call i1 @llvm.expect.i1(i1 %t982, i1 false)
+ br i1 %t983, label %exc.u391, label %exc.k392
+exc.u391:
+ call void @scr_dyn_release(ptr %t968)
+ br label %exc.cleanup2
+exc.k392:
+ br label %dc.done390
+dc.done390:
+ %t984 = load ptr, ptr %s969
+ %t985 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t984, i64 0, i32 1
+ %t986 = load ptr, ptr %t985
+ %t987 = getelementptr inbounds %ScrVt, ptr %t986, i64 0, i32 0
+ %t988 = load i64, ptr %t987
+ %t989 = icmp uge i64 %t988, 37
+ %t990 = icmp ule i64 %t988, 38
+ %t991 = and i1 %t989, %t990 ; instanceof %m9.EmbeddedAssets
+ br i1 %t991, label %tern.t393, label %tern.f394
+tern.t393:
+ %t993 = load ptr, ptr %sc_l_p_0
+ %t994 = call ptr @sc_rc_retain_dyn(ptr %t993)
+ %t996 = icmp ne ptr %t994, null
+ br i1 %t996, label %dc.inspect396, label %dc.checked399
+dc.inspect396:
+ %t1001 = getelementptr inbounds i8, ptr %t994, i64 8 ; ->kind
+ %t1002 = load i32, ptr %t1001
+ %t997 = icmp eq i32 %t1002, 12
+ br i1 %t997, label %dc.capsule397, label %dc.checked399
+dc.capsule397:
+ %t998 = getelementptr inbounds i8, ptr %t994, i64 40 ; ->v.typed_ref.type_key
+ %t999 = load ptr, ptr %t998
+ %t1000 = icmp eq ptr %t999, @sc_cs_3314970835853795
+ br i1 %t1000, label %dc.exact398, label %dc.checked399
+dc.exact398:
+ %t1003 = getelementptr inbounds i8, ptr %t994, i64 16 ; ->v.typed_ref.ptr
+ %t1004 = load ptr, ptr %t1003
+ %t1005 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1004)
+ store ptr %t1005, ptr %s995
+ br label %dc.done400
+dc.checked399:
+ %t1006 = call ptr @sc_dc_79(ptr %t994, ptr null)
+ store ptr %t1006, ptr %s995
+ %t1007 = load i32, ptr %exc.cell
+ %t1008 = icmp ne i32 %t1007, 0
+ %t1009 = call i1 @llvm.expect.i1(i1 %t1008, i1 false)
+ br i1 %t1009, label %exc.u401, label %exc.k402
+exc.u401:
+ call void @scr_dyn_release(ptr %t994)
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ br label %exc.cleanup2
+exc.k402:
+ br label %dc.done400
+dc.done400:
+ %t1010 = load ptr, ptr %s995
+ %t1011 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1010, i64 0, i32 1
+ %t1012 = load ptr, ptr %t1011
+ %t1013 = getelementptr inbounds %ScrVt, ptr %t1012, i64 0, i32 0
+ %t1014 = load i64, ptr %t1013
+ %t1015 = icmp uge i64 %t1014, 38
+ %t1016 = icmp ule i64 %t1014, 38
+ %t1017 = and i1 %t1015, %t1016 ; instanceof %m14.BakedAssets
+ br i1 %t1017, label %tern.t403, label %tern.f404
+tern.t403:
+ %t1019 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t1020 = load i32, ptr %exc.cell
+ %t1021 = icmp ne i32 %t1020, 0
+ %t1022 = call i1 @llvm.expect.i1(i1 %t1021, i1 false)
+ br i1 %t1022, label %exc.u406, label %exc.k407
+exc.u406:
+ call void @scr_dyn_release(ptr %t1019)
+ call void @scr_dyn_release(ptr %t994)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1010)
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ br label %exc.cleanup2
+exc.k407:
+ store ptr %t1019, ptr %s1018
+ br label %tern.j405
+tern.f404:
+ %t1023 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t1024 = load i32, ptr %exc.cell
+ %t1025 = icmp ne i32 %t1024, 0
+ %t1026 = call i1 @llvm.expect.i1(i1 %t1025, i1 false)
+ br i1 %t1026, label %exc.u408, label %exc.k409
+exc.u408:
+ call void @scr_dyn_release(ptr %t1023)
+ call void @scr_dyn_release(ptr %t994)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1010)
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ br label %exc.cleanup2
+exc.k409:
+ store ptr %t1023, ptr %s1018
+ br label %tern.j405
+tern.j405:
+ %t1027 = load ptr, ptr %s1018
+ store ptr %t1027, ptr %s992
+ call void @scr_dyn_release(ptr %t994)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1010)
+ br label %tern.j395
+tern.f394:
+ %t1028 = call ptr @sc_f__x25_prototype_data__x25_m6_AssetSource()
+ %t1029 = load i32, ptr %exc.cell
+ %t1030 = icmp ne i32 %t1029, 0
+ %t1031 = call i1 @llvm.expect.i1(i1 %t1030, i1 false)
+ br i1 %t1031, label %exc.u410, label %exc.k411
+exc.u410:
+ call void @scr_dyn_release(ptr %t1028)
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ br label %exc.cleanup2
+exc.k411:
+ store ptr %t1028, ptr %s992
+ br label %tern.j395
+tern.j395:
+ %t1032 = load ptr, ptr %s992
+ %t1033 = call ptr @scr_dyn_obj_create(ptr %t1032)
+ %t1034 = load i32, ptr %exc.cell
+ %t1035 = icmp ne i32 %t1034, 0
+ %t1036 = call i1 @llvm.expect.i1(i1 %t1035, i1 false)
+ br i1 %t1036, label %exc.u412, label %exc.k413
+exc.u412:
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ call void @scr_dyn_release(ptr %t1032)
+ call void @scr_dyn_release(ptr %t1033)
+ br label %exc.cleanup2
+exc.k413:
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ call void @scr_dyn_release(ptr %t1032)
+ %t1037 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1037)
+ ret ptr %t1033
+if.j385:
+ %t1038 = load ptr, ptr %sc_l_p_0
+ %t1039 = call ptr @sc_rc_retain_dyn(ptr %t1038)
+ %t1041 = icmp ne ptr %t1039, null
+ br i1 %t1041, label %dc.inspect414, label %dc.checked417
+dc.inspect414:
+ %t1046 = getelementptr inbounds i8, ptr %t1039, i64 8 ; ->kind
+ %t1047 = load i32, ptr %t1046
+ %t1042 = icmp eq i32 %t1047, 12
+ br i1 %t1042, label %dc.capsule415, label %dc.checked417
+dc.capsule415:
+ %t1043 = getelementptr inbounds i8, ptr %t1039, i64 40 ; ->v.typed_ref.type_key
+ %t1044 = load ptr, ptr %t1043
+ %t1045 = icmp eq ptr %t1044, @sc_cs_3314970835853795
+ br i1 %t1045, label %dc.exact416, label %dc.checked417
+dc.exact416:
+ %t1048 = getelementptr inbounds i8, ptr %t1039, i64 16 ; ->v.typed_ref.ptr
+ %t1049 = load ptr, ptr %t1048
+ %t1050 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1049)
+ store ptr %t1050, ptr %s1040
+ br label %dc.done418
+dc.checked417:
+ %t1051 = call ptr @sc_dc_79(ptr %t1039, ptr null)
+ store ptr %t1051, ptr %s1040
+ %t1052 = load i32, ptr %exc.cell
+ %t1053 = icmp ne i32 %t1052, 0
+ %t1054 = call i1 @llvm.expect.i1(i1 %t1053, i1 false)
+ br i1 %t1054, label %exc.u419, label %exc.k420
+exc.u419:
+ call void @scr_dyn_release(ptr %t1039)
+ br label %exc.cleanup2
+exc.k420:
+ br label %dc.done418
+dc.done418:
+ %t1055 = load ptr, ptr %s1040
+ %t1056 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1055, i64 0, i32 2
+ %t1057 = load ptr, ptr %t1056, !tbaa !204
+ %t1058 = call ptr @sc_rc_retain_dyn(ptr %t1057)
+ call void @scr_dyn_release(ptr %t1039)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1055)
+ %t1059 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1059)
+ ret ptr %t1058
+if.j376:
+ %t1060 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1061
+ %t1062 = icmp ne ptr %t1060, null
+ br i1 %t1062, label %brand.inspect421, label %brand.done423
+brand.inspect421:
+ %t1063 = getelementptr inbounds i8, ptr %t1060, i64 8 ; ->kind
+ %t1064 = load i32, ptr %t1063
+ %t1065 = icmp eq i32 %t1064, 12
+ br i1 %t1065, label %brand.capsule422, label %brand.done423
+brand.capsule422:
+ %t1066 = getelementptr inbounds i8, ptr %t1060, i64 40 ; ->v.typed_ref.type_key
+ %t1067 = load ptr, ptr %t1066
+ %t1068 = icmp eq ptr %t1067, @sc_cs_864190948149583
+ store i1 true, ptr %s1061
+ br i1 %t1068, label %brand.done423, label %brand.compare424
+brand.compare424:
+ %t1069 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1060, ptr @sc_lit_864190948149583)
+ store i1 %t1069, ptr %s1061
+ br label %brand.done423
+brand.done423:
+ %t1070 = load i1, ptr %s1061
+ br i1 %t1070, label %if.t425, label %if.j426
+if.t425:
+ %t1071 = load ptr, ptr %sc_l_p_0
+ %t1072 = call ptr @sc_rc_retain_dyn(ptr %t1071)
+ %t1074 = icmp ne ptr %t1072, null
+ br i1 %t1074, label %dc.inspect427, label %dc.checked430
+dc.inspect427:
+ %t1079 = getelementptr inbounds i8, ptr %t1072, i64 8 ; ->kind
+ %t1080 = load i32, ptr %t1079
+ %t1075 = icmp eq i32 %t1080, 12
+ br i1 %t1075, label %dc.capsule428, label %dc.checked430
+dc.capsule428:
+ %t1076 = getelementptr inbounds i8, ptr %t1072, i64 40 ; ->v.typed_ref.type_key
+ %t1077 = load ptr, ptr %t1076
+ %t1078 = icmp eq ptr %t1077, @sc_cs_864190948149583
+ br i1 %t1078, label %dc.exact429, label %dc.checked430
+dc.exact429:
+ %t1081 = getelementptr inbounds i8, ptr %t1072, i64 16 ; ->v.typed_ref.ptr
+ %t1082 = load ptr, ptr %t1081
+ %t1083 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1082)
+ store ptr %t1083, ptr %s1073
+ br label %dc.done431
+dc.checked430:
+ %t1084 = call ptr @sc_dc_103(ptr %t1072, ptr null)
+ store ptr %t1084, ptr %s1073
+ %t1085 = load i32, ptr %exc.cell
+ %t1086 = icmp ne i32 %t1085, 0
+ %t1087 = call i1 @llvm.expect.i1(i1 %t1086, i1 false)
+ br i1 %t1087, label %exc.u432, label %exc.k433
+exc.u432:
+ call void @scr_dyn_release(ptr %t1072)
+ br label %exc.cleanup2
+exc.k433:
+ br label %dc.done431
+dc.done431:
+ %t1088 = load ptr, ptr %s1073
+ %t1089 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1088, i64 0, i32 6
+ %t1090 = load ptr, ptr %t1089, !tbaa !204
+ %t1091 = getelementptr inbounds i8, ptr %t1090, i64 8 ; ->kind
+ %t1092 = load i32, ptr %t1091
+ %t1093 = icmp eq i32 %t1092, 6
+ call void @scr_dyn_release(ptr %t1072)
+ call void @sc_release__x25_m11_StaticServer(ptr %t1088)
+ br i1 %t1093, label %if.t434, label %if.j435
+if.t434:
+ %t1094 = call ptr @sc_f__x25_prototype_data__x25_m11_StaticServer()
+ %t1095 = load i32, ptr %exc.cell
+ %t1096 = icmp ne i32 %t1095, 0
+ %t1097 = call i1 @llvm.expect.i1(i1 %t1096, i1 false)
+ br i1 %t1097, label %exc.u436, label %exc.k437
+exc.u436:
+ call void @scr_dyn_release(ptr %t1094)
+ br label %exc.cleanup2
+exc.k437:
+ %t1098 = call ptr @scr_dyn_obj_create(ptr %t1094)
+ %t1099 = load i32, ptr %exc.cell
+ %t1100 = icmp ne i32 %t1099, 0
+ %t1101 = call i1 @llvm.expect.i1(i1 %t1100, i1 false)
+ br i1 %t1101, label %exc.u438, label %exc.k439
+exc.u438:
+ call void @scr_dyn_release(ptr %t1094)
+ call void @scr_dyn_release(ptr %t1098)
+ br label %exc.cleanup2
+exc.k439:
+ call void @scr_dyn_release(ptr %t1094)
+ %t1102 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1102)
+ ret ptr %t1098
+if.j435:
+ %t1103 = load ptr, ptr %sc_l_p_0
+ %t1104 = call ptr @sc_rc_retain_dyn(ptr %t1103)
+ %t1106 = icmp ne ptr %t1104, null
+ br i1 %t1106, label %dc.inspect440, label %dc.checked443
+dc.inspect440:
+ %t1111 = getelementptr inbounds i8, ptr %t1104, i64 8 ; ->kind
+ %t1112 = load i32, ptr %t1111
+ %t1107 = icmp eq i32 %t1112, 12
+ br i1 %t1107, label %dc.capsule441, label %dc.checked443
+dc.capsule441:
+ %t1108 = getelementptr inbounds i8, ptr %t1104, i64 40 ; ->v.typed_ref.type_key
+ %t1109 = load ptr, ptr %t1108
+ %t1110 = icmp eq ptr %t1109, @sc_cs_864190948149583
+ br i1 %t1110, label %dc.exact442, label %dc.checked443
+dc.exact442:
+ %t1113 = getelementptr inbounds i8, ptr %t1104, i64 16 ; ->v.typed_ref.ptr
+ %t1114 = load ptr, ptr %t1113
+ %t1115 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1114)
+ store ptr %t1115, ptr %s1105
+ br label %dc.done444
+dc.checked443:
+ %t1116 = call ptr @sc_dc_103(ptr %t1104, ptr null)
+ store ptr %t1116, ptr %s1105
+ %t1117 = load i32, ptr %exc.cell
+ %t1118 = icmp ne i32 %t1117, 0
+ %t1119 = call i1 @llvm.expect.i1(i1 %t1118, i1 false)
+ br i1 %t1119, label %exc.u445, label %exc.k446
+exc.u445:
+ call void @scr_dyn_release(ptr %t1104)
+ br label %exc.cleanup2
+exc.k446:
+ br label %dc.done444
+dc.done444:
+ %t1120 = load ptr, ptr %s1105
+ %t1121 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1120, i64 0, i32 6
+ %t1122 = load ptr, ptr %t1121, !tbaa !204
+ %t1123 = call ptr @sc_rc_retain_dyn(ptr %t1122)
+ call void @scr_dyn_release(ptr %t1104)
+ call void @sc_release__x25_m11_StaticServer(ptr %t1120)
+ %t1124 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1124)
+ ret ptr %t1123
+if.j426:
+ %t1125 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1126
+ %t1127 = icmp ne ptr %t1125, null
+ br i1 %t1127, label %brand.inspect447, label %brand.done449
+brand.inspect447:
+ %t1128 = getelementptr inbounds i8, ptr %t1125, i64 8 ; ->kind
+ %t1129 = load i32, ptr %t1128
+ %t1130 = icmp eq i32 %t1129, 12
+ br i1 %t1130, label %brand.capsule448, label %brand.done449
+brand.capsule448:
+ %t1131 = getelementptr inbounds i8, ptr %t1125, i64 40 ; ->v.typed_ref.type_key
+ %t1132 = load ptr, ptr %t1131
+ %t1133 = icmp eq ptr %t1132, @sc_cs_4074974279575818
+ store i1 true, ptr %s1126
+ br i1 %t1133, label %brand.done449, label %brand.compare450
+brand.compare450:
+ %t1134 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1125, ptr @sc_lit_4074974279575818)
+ store i1 %t1134, ptr %s1126
+ br label %brand.done449
+brand.done449:
+ %t1135 = load i1, ptr %s1126
+ br i1 %t1135, label %if.t451, label %if.j452
+if.t451:
+ %t1136 = load ptr, ptr %sc_l_p_0
+ %t1137 = call ptr @sc_rc_retain_dyn(ptr %t1136)
+ %t1139 = icmp ne ptr %t1137, null
+ br i1 %t1139, label %dc.inspect453, label %dc.checked456
+dc.inspect453:
+ %t1144 = getelementptr inbounds i8, ptr %t1137, i64 8 ; ->kind
+ %t1145 = load i32, ptr %t1144
+ %t1140 = icmp eq i32 %t1145, 12
+ br i1 %t1140, label %dc.capsule454, label %dc.checked456
+dc.capsule454:
+ %t1141 = getelementptr inbounds i8, ptr %t1137, i64 40 ; ->v.typed_ref.type_key
+ %t1142 = load ptr, ptr %t1141
+ %t1143 = icmp eq ptr %t1142, @sc_cs_4074974279575818
+ br i1 %t1143, label %dc.exact455, label %dc.checked456
+dc.exact455:
+ %t1146 = getelementptr inbounds i8, ptr %t1137, i64 16 ; ->v.typed_ref.ptr
+ %t1147 = load ptr, ptr %t1146
+ %t1148 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1147)
+ store ptr %t1148, ptr %s1138
+ br label %dc.done457
+dc.checked456:
+ %t1149 = call ptr @sc_dc_104(ptr %t1137, ptr null)
+ store ptr %t1149, ptr %s1138
+ %t1150 = load i32, ptr %exc.cell
+ %t1151 = icmp ne i32 %t1150, 0
+ %t1152 = call i1 @llvm.expect.i1(i1 %t1151, i1 false)
+ br i1 %t1152, label %exc.u458, label %exc.k459
+exc.u458:
+ call void @scr_dyn_release(ptr %t1137)
+ br label %exc.cleanup2
+exc.k459:
+ br label %dc.done457
+dc.done457:
+ %t1153 = load ptr, ptr %s1138
+ %t1154 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1153, i64 0, i32 2
+ %t1155 = load ptr, ptr %t1154, !tbaa !204
+ %t1156 = getelementptr inbounds i8, ptr %t1155, i64 8 ; ->kind
+ %t1157 = load i32, ptr %t1156
+ %t1158 = icmp eq i32 %t1157, 6
+ call void @scr_dyn_release(ptr %t1137)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1153)
+ br i1 %t1158, label %if.t460, label %if.j461
+if.t460:
+ %t1159 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1160 = load i32, ptr %exc.cell
+ %t1161 = icmp ne i32 %t1160, 0
+ %t1162 = call i1 @llvm.expect.i1(i1 %t1161, i1 false)
+ br i1 %t1162, label %exc.u462, label %exc.k463
+exc.u462:
+ call void @scr_dyn_release(ptr %t1159)
+ br label %exc.cleanup2
+exc.k463:
+ %t1163 = call ptr @scr_dyn_obj_create(ptr %t1159)
+ %t1164 = load i32, ptr %exc.cell
+ %t1165 = icmp ne i32 %t1164, 0
+ %t1166 = call i1 @llvm.expect.i1(i1 %t1165, i1 false)
+ br i1 %t1166, label %exc.u464, label %exc.k465
+exc.u464:
+ call void @scr_dyn_release(ptr %t1159)
+ call void @scr_dyn_release(ptr %t1163)
+ br label %exc.cleanup2
+exc.k465:
+ call void @scr_dyn_release(ptr %t1159)
+ %t1167 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1167)
+ ret ptr %t1163
+if.j461:
+ %t1168 = load ptr, ptr %sc_l_p_0
+ %t1169 = call ptr @sc_rc_retain_dyn(ptr %t1168)
+ %t1171 = icmp ne ptr %t1169, null
+ br i1 %t1171, label %dc.inspect466, label %dc.checked469
+dc.inspect466:
+ %t1176 = getelementptr inbounds i8, ptr %t1169, i64 8 ; ->kind
+ %t1177 = load i32, ptr %t1176
+ %t1172 = icmp eq i32 %t1177, 12
+ br i1 %t1172, label %dc.capsule467, label %dc.checked469
+dc.capsule467:
+ %t1173 = getelementptr inbounds i8, ptr %t1169, i64 40 ; ->v.typed_ref.type_key
+ %t1174 = load ptr, ptr %t1173
+ %t1175 = icmp eq ptr %t1174, @sc_cs_4074974279575818
+ br i1 %t1175, label %dc.exact468, label %dc.checked469
+dc.exact468:
+ %t1178 = getelementptr inbounds i8, ptr %t1169, i64 16 ; ->v.typed_ref.ptr
+ %t1179 = load ptr, ptr %t1178
+ %t1180 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1179)
+ store ptr %t1180, ptr %s1170
+ br label %dc.done470
+dc.checked469:
+ %t1181 = call ptr @sc_dc_104(ptr %t1169, ptr null)
+ store ptr %t1181, ptr %s1170
+ %t1182 = load i32, ptr %exc.cell
+ %t1183 = icmp ne i32 %t1182, 0
+ %t1184 = call i1 @llvm.expect.i1(i1 %t1183, i1 false)
+ br i1 %t1184, label %exc.u471, label %exc.k472
+exc.u471:
+ call void @scr_dyn_release(ptr %t1169)
+ br label %exc.cleanup2
+exc.k472:
+ br label %dc.done470
+dc.done470:
+ %t1185 = load ptr, ptr %s1170
+ %t1186 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1185, i64 0, i32 2
+ %t1187 = load ptr, ptr %t1186, !tbaa !204
+ %t1188 = call ptr @sc_rc_retain_dyn(ptr %t1187)
+ call void @scr_dyn_release(ptr %t1169)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1185)
+ %t1189 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1189)
+ ret ptr %t1188
+if.j452:
+ %t1190 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1191
+ %t1192 = icmp ne ptr %t1190, null
+ br i1 %t1192, label %brand.inspect473, label %brand.done475
+brand.inspect473:
+ %t1193 = getelementptr inbounds i8, ptr %t1190, i64 8 ; ->kind
+ %t1194 = load i32, ptr %t1193
+ %t1195 = icmp eq i32 %t1194, 12
+ br i1 %t1195, label %brand.capsule474, label %brand.done475
+brand.capsule474:
+ %t1196 = getelementptr inbounds i8, ptr %t1190, i64 40 ; ->v.typed_ref.type_key
+ %t1197 = load ptr, ptr %t1196
+ %t1198 = icmp eq ptr %t1197, @sc_cs_4408523527888294
+ store i1 true, ptr %s1191
+ br i1 %t1198, label %brand.done475, label %brand.compare476
+brand.compare476:
+ %t1199 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1190, ptr @sc_lit_4408523527888294)
+ store i1 %t1199, ptr %s1191
+ br label %brand.done475
+brand.done475:
+ %t1200 = load i1, ptr %s1191
+ br i1 %t1200, label %if.t477, label %if.j478
+if.t477:
+ %t1201 = load ptr, ptr %sc_l_p_0
+ %t1202 = call ptr @sc_rc_retain_dyn(ptr %t1201)
+ %t1204 = icmp ne ptr %t1202, null
+ br i1 %t1204, label %dc.inspect479, label %dc.checked482
+dc.inspect479:
+ %t1209 = getelementptr inbounds i8, ptr %t1202, i64 8 ; ->kind
+ %t1210 = load i32, ptr %t1209
+ %t1205 = icmp eq i32 %t1210, 12
+ br i1 %t1205, label %dc.capsule480, label %dc.checked482
+dc.capsule480:
+ %t1206 = getelementptr inbounds i8, ptr %t1202, i64 40 ; ->v.typed_ref.type_key
+ %t1207 = load ptr, ptr %t1206
+ %t1208 = icmp eq ptr %t1207, @sc_cs_4408523527888294
+ br i1 %t1208, label %dc.exact481, label %dc.checked482
+dc.exact481:
+ %t1211 = getelementptr inbounds i8, ptr %t1202, i64 16 ; ->v.typed_ref.ptr
+ %t1212 = load ptr, ptr %t1211
+ %t1213 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1212)
+ store ptr %t1213, ptr %s1203
+ br label %dc.done483
+dc.checked482:
+ %t1214 = call ptr @sc_dc_21(ptr %t1202, ptr null)
+ store ptr %t1214, ptr %s1203
+ %t1215 = load i32, ptr %exc.cell
+ %t1216 = icmp ne i32 %t1215, 0
+ %t1217 = call i1 @llvm.expect.i1(i1 %t1216, i1 false)
+ br i1 %t1217, label %exc.u484, label %exc.k485
+exc.u484:
+ call void @scr_dyn_release(ptr %t1202)
+ br label %exc.cleanup2
+exc.k485:
+ br label %dc.done483
+dc.done483:
+ %t1218 = load ptr, ptr %s1203
+ %t1219 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1218, i64 0, i32 7
+ %t1220 = load ptr, ptr %t1219, !tbaa !204
+ %t1221 = call ptr @sc_rc_retain_dyn(ptr %t1220)
+ call void @scr_dyn_release(ptr %t1202)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t1218)
+ %t1222 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1222)
+ ret ptr %t1221
+if.j478:
+ %t1223 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1224
+ %t1225 = icmp ne ptr %t1223, null
+ br i1 %t1225, label %brand.inspect486, label %brand.done488
+brand.inspect486:
+ %t1226 = getelementptr inbounds i8, ptr %t1223, i64 8 ; ->kind
+ %t1227 = load i32, ptr %t1226
+ %t1228 = icmp eq i32 %t1227, 12
+ br i1 %t1228, label %brand.capsule487, label %brand.done488
+brand.capsule487:
+ %t1229 = getelementptr inbounds i8, ptr %t1223, i64 40 ; ->v.typed_ref.type_key
+ %t1230 = load ptr, ptr %t1229
+ %t1231 = icmp eq ptr %t1230, @sc_cs_3163508115280491
+ store i1 true, ptr %s1224
+ br i1 %t1231, label %brand.done488, label %brand.compare489
+brand.compare489:
+ %t1232 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1223, ptr @sc_lit_3163508115280491)
+ store i1 %t1232, ptr %s1224
+ br label %brand.done488
+brand.done488:
+ %t1233 = load i1, ptr %s1224
+ br i1 %t1233, label %if.t490, label %if.j491
+if.t490:
+ %t1234 = load ptr, ptr %sc_l_p_0
+ %t1235 = call ptr @sc_rc_retain_dyn(ptr %t1234)
+ %t1237 = icmp ne ptr %t1235, null
+ br i1 %t1237, label %dc.inspect492, label %dc.checked495
+dc.inspect492:
+ %t1242 = getelementptr inbounds i8, ptr %t1235, i64 8 ; ->kind
+ %t1243 = load i32, ptr %t1242
+ %t1238 = icmp eq i32 %t1243, 12
+ br i1 %t1238, label %dc.capsule493, label %dc.checked495
+dc.capsule493:
+ %t1239 = getelementptr inbounds i8, ptr %t1235, i64 40 ; ->v.typed_ref.type_key
+ %t1240 = load ptr, ptr %t1239
+ %t1241 = icmp eq ptr %t1240, @sc_cs_3163508115280491
+ br i1 %t1241, label %dc.exact494, label %dc.checked495
+dc.exact494:
+ %t1244 = getelementptr inbounds i8, ptr %t1235, i64 16 ; ->v.typed_ref.ptr
+ %t1245 = load ptr, ptr %t1244
+ %t1246 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1245)
+ store ptr %t1246, ptr %s1236
+ br label %dc.done496
+dc.checked495:
+ %t1247 = call ptr @sc_dc_105(ptr %t1235, ptr null)
+ store ptr %t1247, ptr %s1236
+ %t1248 = load i32, ptr %exc.cell
+ %t1249 = icmp ne i32 %t1248, 0
+ %t1250 = call i1 @llvm.expect.i1(i1 %t1249, i1 false)
+ br i1 %t1250, label %exc.u497, label %exc.k498
+exc.u497:
+ call void @scr_dyn_release(ptr %t1235)
+ br label %exc.cleanup2
+exc.k498:
+ br label %dc.done496
+dc.done496:
+ %t1251 = load ptr, ptr %s1236
+ %t1252 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1251, i64 0, i32 21
+ %t1253 = load ptr, ptr %t1252, !tbaa !204
+ %t1254 = getelementptr inbounds i8, ptr %t1253, i64 8 ; ->kind
+ %t1255 = load i32, ptr %t1254
+ %t1256 = icmp eq i32 %t1255, 6
+ call void @scr_dyn_release(ptr %t1235)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t1251)
+ br i1 %t1256, label %if.t499, label %if.j500
+if.t499:
+ %t1257 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser()
+ %t1258 = load i32, ptr %exc.cell
+ %t1259 = icmp ne i32 %t1258, 0
+ %t1260 = call i1 @llvm.expect.i1(i1 %t1259, i1 false)
+ br i1 %t1260, label %exc.u501, label %exc.k502
+exc.u501:
+ call void @scr_dyn_release(ptr %t1257)
+ br label %exc.cleanup2
+exc.k502:
+ %t1261 = call ptr @scr_dyn_obj_create(ptr %t1257)
+ %t1262 = load i32, ptr %exc.cell
+ %t1263 = icmp ne i32 %t1262, 0
+ %t1264 = call i1 @llvm.expect.i1(i1 %t1263, i1 false)
+ br i1 %t1264, label %exc.u503, label %exc.k504
+exc.u503:
+ call void @scr_dyn_release(ptr %t1257)
+ call void @scr_dyn_release(ptr %t1261)
+ br label %exc.cleanup2
+exc.k504:
+ call void @scr_dyn_release(ptr %t1257)
+ %t1265 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1265)
+ ret ptr %t1261
+if.j500:
+ %t1266 = load ptr, ptr %sc_l_p_0
+ %t1267 = call ptr @sc_rc_retain_dyn(ptr %t1266)
+ %t1269 = icmp ne ptr %t1267, null
+ br i1 %t1269, label %dc.inspect505, label %dc.checked508
+dc.inspect505:
+ %t1274 = getelementptr inbounds i8, ptr %t1267, i64 8 ; ->kind
+ %t1275 = load i32, ptr %t1274
+ %t1270 = icmp eq i32 %t1275, 12
+ br i1 %t1270, label %dc.capsule506, label %dc.checked508
+dc.capsule506:
+ %t1271 = getelementptr inbounds i8, ptr %t1267, i64 40 ; ->v.typed_ref.type_key
+ %t1272 = load ptr, ptr %t1271
+ %t1273 = icmp eq ptr %t1272, @sc_cs_3163508115280491
+ br i1 %t1273, label %dc.exact507, label %dc.checked508
+dc.exact507:
+ %t1276 = getelementptr inbounds i8, ptr %t1267, i64 16 ; ->v.typed_ref.ptr
+ %t1277 = load ptr, ptr %t1276
+ %t1278 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1277)
+ store ptr %t1278, ptr %s1268
+ br label %dc.done509
+dc.checked508:
+ %t1279 = call ptr @sc_dc_105(ptr %t1267, ptr null)
+ store ptr %t1279, ptr %s1268
+ %t1280 = load i32, ptr %exc.cell
+ %t1281 = icmp ne i32 %t1280, 0
+ %t1282 = call i1 @llvm.expect.i1(i1 %t1281, i1 false)
+ br i1 %t1282, label %exc.u510, label %exc.k511
+exc.u510:
+ call void @scr_dyn_release(ptr %t1267)
+ br label %exc.cleanup2
+exc.k511:
+ br label %dc.done509
+dc.done509:
+ %t1283 = load ptr, ptr %s1268
+ %t1284 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1283, i64 0, i32 21
+ %t1285 = load ptr, ptr %t1284, !tbaa !204
+ %t1286 = call ptr @sc_rc_retain_dyn(ptr %t1285)
+ call void @scr_dyn_release(ptr %t1267)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t1283)
+ %t1287 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1287)
+ ret ptr %t1286
+if.j491:
+ %t1288 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1289
+ %t1290 = icmp ne ptr %t1288, null
+ br i1 %t1290, label %brand.inspect512, label %brand.done514
+brand.inspect512:
+ %t1291 = getelementptr inbounds i8, ptr %t1288, i64 8 ; ->kind
+ %t1292 = load i32, ptr %t1291
+ %t1293 = icmp eq i32 %t1292, 12
+ br i1 %t1293, label %brand.capsule513, label %brand.done514
+brand.capsule513:
+ %t1294 = getelementptr inbounds i8, ptr %t1288, i64 40 ; ->v.typed_ref.type_key
+ %t1295 = load ptr, ptr %t1294
+ %t1296 = icmp eq ptr %t1295, @sc_cs_1875086966829314
+ store i1 true, ptr %s1289
+ br i1 %t1296, label %brand.done514, label %brand.compare515
+brand.compare515:
+ %t1297 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1288, ptr @sc_lit_1875086966829314)
+ store i1 %t1297, ptr %s1289
+ br label %brand.done514
+brand.done514:
+ %t1298 = load i1, ptr %s1289
+ br i1 %t1298, label %if.t516, label %if.j517
+if.t516:
+ %t1299 = load ptr, ptr %sc_l_p_0
+ %t1300 = call ptr @sc_rc_retain_dyn(ptr %t1299)
+ %t1302 = icmp ne ptr %t1300, null
+ br i1 %t1302, label %dc.inspect518, label %dc.checked521
+dc.inspect518:
+ %t1307 = getelementptr inbounds i8, ptr %t1300, i64 8 ; ->kind
+ %t1308 = load i32, ptr %t1307
+ %t1303 = icmp eq i32 %t1308, 12
+ br i1 %t1303, label %dc.capsule519, label %dc.checked521
+dc.capsule519:
+ %t1304 = getelementptr inbounds i8, ptr %t1300, i64 40 ; ->v.typed_ref.type_key
+ %t1305 = load ptr, ptr %t1304
+ %t1306 = icmp eq ptr %t1305, @sc_cs_1875086966829314
+ br i1 %t1306, label %dc.exact520, label %dc.checked521
+dc.exact520:
+ %t1309 = getelementptr inbounds i8, ptr %t1300, i64 16 ; ->v.typed_ref.ptr
+ %t1310 = load ptr, ptr %t1309
+ %t1311 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1310)
+ store ptr %t1311, ptr %s1301
+ br label %dc.done522
+dc.checked521:
+ %t1312 = call ptr @sc_dc_106(ptr %t1300, ptr null)
+ store ptr %t1312, ptr %s1301
+ %t1313 = load i32, ptr %exc.cell
+ %t1314 = icmp ne i32 %t1313, 0
+ %t1315 = call i1 @llvm.expect.i1(i1 %t1314, i1 false)
+ br i1 %t1315, label %exc.u523, label %exc.k524
+exc.u523:
+ call void @scr_dyn_release(ptr %t1300)
+ br label %exc.cleanup2
+exc.k524:
+ br label %dc.done522
+dc.done522:
+ %t1316 = load ptr, ptr %s1301
+ %t1317 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1316, i64 0, i32 22
+ %t1318 = load ptr, ptr %t1317, !tbaa !204
+ %t1319 = call ptr @sc_rc_retain_dyn(ptr %t1318)
+ call void @scr_dyn_release(ptr %t1300)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1316)
+ %t1320 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1320)
+ ret ptr %t1319
+if.j517:
+ %t1321 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1322
+ %t1323 = icmp ne ptr %t1321, null
+ br i1 %t1323, label %brand.inspect525, label %brand.done527
+brand.inspect525:
+ %t1324 = getelementptr inbounds i8, ptr %t1321, i64 8 ; ->kind
+ %t1325 = load i32, ptr %t1324
+ %t1326 = icmp eq i32 %t1325, 12
+ br i1 %t1326, label %brand.capsule526, label %brand.done527
+brand.capsule526:
+ %t1327 = getelementptr inbounds i8, ptr %t1321, i64 40 ; ->v.typed_ref.type_key
+ %t1328 = load ptr, ptr %t1327
+ %t1329 = icmp eq ptr %t1328, @sc_cs_2434838942941195
+ store i1 true, ptr %s1322
+ br i1 %t1329, label %brand.done527, label %brand.compare528
+brand.compare528:
+ %t1330 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1321, ptr @sc_lit_2434838942941195)
+ store i1 %t1330, ptr %s1322
+ br label %brand.done527
+brand.done527:
+ %t1331 = load i1, ptr %s1322
+ br i1 %t1331, label %tern.t529, label %tern.f530
+tern.t529:
+ %t1333 = load ptr, ptr %sc_l_p_0
+ %t1334 = call ptr @sc_rc_retain_dyn(ptr %t1333)
+ %t1336 = icmp ne ptr %t1334, null
+ br i1 %t1336, label %dc.inspect532, label %dc.checked535
+dc.inspect532:
+ %t1341 = getelementptr inbounds i8, ptr %t1334, i64 8 ; ->kind
+ %t1342 = load i32, ptr %t1341
+ %t1337 = icmp eq i32 %t1342, 12
+ br i1 %t1337, label %dc.capsule533, label %dc.checked535
+dc.capsule533:
+ %t1338 = getelementptr inbounds i8, ptr %t1334, i64 40 ; ->v.typed_ref.type_key
+ %t1339 = load ptr, ptr %t1338
+ %t1340 = icmp eq ptr %t1339, @sc_cs_2434838942941195
+ br i1 %t1340, label %dc.exact534, label %dc.checked535
+dc.exact534:
+ %t1343 = getelementptr inbounds i8, ptr %t1334, i64 16 ; ->v.typed_ref.ptr
+ %t1344 = load ptr, ptr %t1343
+ %t1345 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1344)
+ store ptr %t1345, ptr %s1335
+ br label %dc.done536
+dc.checked535:
+ %t1346 = call ptr @sc_dc_52(ptr %t1334, ptr null)
+ store ptr %t1346, ptr %s1335
+ %t1347 = load i32, ptr %exc.cell
+ %t1348 = icmp ne i32 %t1347, 0
+ %t1349 = call i1 @llvm.expect.i1(i1 %t1348, i1 false)
+ br i1 %t1349, label %exc.u537, label %exc.k538
+exc.u537:
+ call void @scr_dyn_release(ptr %t1334)
+ br label %exc.cleanup2
+exc.k538:
+ br label %dc.done536
+dc.done536:
+ %t1350 = load ptr, ptr %s1335
+ %t1351 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1350, i64 0, i32 1
+ %t1352 = load ptr, ptr %t1351
+ %t1353 = getelementptr inbounds %ScrVt, ptr %t1352, i64 0, i32 0
+ %t1354 = load i64, ptr %t1353
+ %t1355 = icmp uge i64 %t1354, 18
+ %t1356 = icmp ule i64 %t1354, 18
+ %t1357 = and i1 %t1355, %t1356 ; instanceof %m3.LiteResponse
+ store i1 %t1357, ptr %s1332
+ call void @scr_dyn_release(ptr %t1334)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1350)
+ br label %tern.j531
+tern.f530:
+ store i1 false, ptr %s1332
+ br label %tern.j531
+tern.j531:
+ %t1358 = load i1, ptr %s1332
+ br i1 %t1358, label %if.t539, label %if.j540
+if.t539:
+ %t1359 = load ptr, ptr %sc_l_p_0
+ %t1360 = call ptr @sc_rc_retain_dyn(ptr %t1359)
+ %t1362 = icmp ne ptr %t1360, null
+ br i1 %t1362, label %dc.inspect541, label %dc.checked544
+dc.inspect541:
+ %t1367 = getelementptr inbounds i8, ptr %t1360, i64 8 ; ->kind
+ %t1368 = load i32, ptr %t1367
+ %t1363 = icmp eq i32 %t1368, 12
+ br i1 %t1363, label %dc.capsule542, label %dc.checked544
+dc.capsule542:
+ %t1364 = getelementptr inbounds i8, ptr %t1360, i64 40 ; ->v.typed_ref.type_key
+ %t1365 = load ptr, ptr %t1364
+ %t1366 = icmp eq ptr %t1365, @sc_cs_2434838942941195
+ br i1 %t1366, label %dc.exact543, label %dc.checked544
+dc.exact543:
+ %t1369 = getelementptr inbounds i8, ptr %t1360, i64 16 ; ->v.typed_ref.ptr
+ %t1370 = load ptr, ptr %t1369
+ %t1371 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1370)
+ store ptr %t1371, ptr %s1361
+ br label %dc.done545
+dc.checked544:
+ %t1372 = call ptr @sc_dc_52(ptr %t1360, ptr null)
+ store ptr %t1372, ptr %s1361
+ %t1373 = load i32, ptr %exc.cell
+ %t1374 = icmp ne i32 %t1373, 0
+ %t1375 = call i1 @llvm.expect.i1(i1 %t1374, i1 false)
+ br i1 %t1375, label %exc.u546, label %exc.k547
+exc.u546:
+ call void @scr_dyn_release(ptr %t1360)
+ br label %exc.cleanup2
+exc.k547:
+ br label %dc.done545
+dc.done545:
+ %t1376 = load ptr, ptr %s1361
+ %t1377 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1376, i64 0, i32 2
+ %t1378 = load ptr, ptr %t1377, !tbaa !204
+ %t1379 = getelementptr inbounds i8, ptr %t1378, i64 8 ; ->kind
+ %t1380 = load i32, ptr %t1379
+ %t1381 = icmp eq i32 %t1380, 6
+ call void @scr_dyn_release(ptr %t1360)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1376)
+ br i1 %t1381, label %if.t548, label %if.j549
+if.t548:
+ %t1382 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1383 = load i32, ptr %exc.cell
+ %t1384 = icmp ne i32 %t1383, 0
+ %t1385 = call i1 @llvm.expect.i1(i1 %t1384, i1 false)
+ br i1 %t1385, label %exc.u550, label %exc.k551
+exc.u550:
+ call void @scr_dyn_release(ptr %t1382)
+ br label %exc.cleanup2
+exc.k551:
+ %t1386 = call ptr @scr_dyn_obj_create(ptr %t1382)
+ %t1387 = load i32, ptr %exc.cell
+ %t1388 = icmp ne i32 %t1387, 0
+ %t1389 = call i1 @llvm.expect.i1(i1 %t1388, i1 false)
+ br i1 %t1389, label %exc.u552, label %exc.k553
+exc.u552:
+ call void @scr_dyn_release(ptr %t1382)
+ call void @scr_dyn_release(ptr %t1386)
+ br label %exc.cleanup2
+exc.k553:
+ call void @scr_dyn_release(ptr %t1382)
+ %t1390 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1390)
+ ret ptr %t1386
+if.j549:
+ %t1391 = load ptr, ptr %sc_l_p_0
+ %t1392 = call ptr @sc_rc_retain_dyn(ptr %t1391)
+ %t1394 = icmp ne ptr %t1392, null
+ br i1 %t1394, label %dc.inspect554, label %dc.checked557
+dc.inspect554:
+ %t1399 = getelementptr inbounds i8, ptr %t1392, i64 8 ; ->kind
+ %t1400 = load i32, ptr %t1399
+ %t1395 = icmp eq i32 %t1400, 12
+ br i1 %t1395, label %dc.capsule555, label %dc.checked557
+dc.capsule555:
+ %t1396 = getelementptr inbounds i8, ptr %t1392, i64 40 ; ->v.typed_ref.type_key
+ %t1397 = load ptr, ptr %t1396
+ %t1398 = icmp eq ptr %t1397, @sc_cs_2434838942941195
+ br i1 %t1398, label %dc.exact556, label %dc.checked557
+dc.exact556:
+ %t1401 = getelementptr inbounds i8, ptr %t1392, i64 16 ; ->v.typed_ref.ptr
+ %t1402 = load ptr, ptr %t1401
+ %t1403 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1402)
+ store ptr %t1403, ptr %s1393
+ br label %dc.done558
+dc.checked557:
+ %t1404 = call ptr @sc_dc_52(ptr %t1392, ptr null)
+ store ptr %t1404, ptr %s1393
+ %t1405 = load i32, ptr %exc.cell
+ %t1406 = icmp ne i32 %t1405, 0
+ %t1407 = call i1 @llvm.expect.i1(i1 %t1406, i1 false)
+ br i1 %t1407, label %exc.u559, label %exc.k560
+exc.u559:
+ call void @scr_dyn_release(ptr %t1392)
+ br label %exc.cleanup2
+exc.k560:
+ br label %dc.done558
+dc.done558:
+ %t1408 = load ptr, ptr %s1393
+ %t1409 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1408, i64 0, i32 2
+ %t1410 = load ptr, ptr %t1409, !tbaa !204
+ %t1411 = call ptr @sc_rc_retain_dyn(ptr %t1410)
+ call void @scr_dyn_release(ptr %t1392)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1408)
+ %t1412 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1412)
+ ret ptr %t1411
+if.j540:
+ %t1413 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1414
+ %t1415 = icmp ne ptr %t1413, null
+ br i1 %t1415, label %brand.inspect561, label %brand.done563
+brand.inspect561:
+ %t1416 = getelementptr inbounds i8, ptr %t1413, i64 8 ; ->kind
+ %t1417 = load i32, ptr %t1416
+ %t1418 = icmp eq i32 %t1417, 12
+ br i1 %t1418, label %brand.capsule562, label %brand.done563
+brand.capsule562:
+ %t1419 = getelementptr inbounds i8, ptr %t1413, i64 40 ; ->v.typed_ref.type_key
+ %t1420 = load ptr, ptr %t1419
+ %t1421 = icmp eq ptr %t1420, @sc_cs_2434838942941195
+ store i1 true, ptr %s1414
+ br i1 %t1421, label %brand.done563, label %brand.compare564
+brand.compare564:
+ %t1422 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1413, ptr @sc_lit_2434838942941195)
+ store i1 %t1422, ptr %s1414
+ br label %brand.done563
+brand.done563:
+ %t1423 = load i1, ptr %s1414
+ br i1 %t1423, label %if.t565, label %if.j566
+if.t565:
+ %t1424 = load ptr, ptr %sc_l_p_0
+ %t1425 = call ptr @sc_rc_retain_dyn(ptr %t1424)
+ %t1427 = icmp ne ptr %t1425, null
+ br i1 %t1427, label %dc.inspect567, label %dc.checked570
+dc.inspect567:
+ %t1432 = getelementptr inbounds i8, ptr %t1425, i64 8 ; ->kind
+ %t1433 = load i32, ptr %t1432
+ %t1428 = icmp eq i32 %t1433, 12
+ br i1 %t1428, label %dc.capsule568, label %dc.checked570
+dc.capsule568:
+ %t1429 = getelementptr inbounds i8, ptr %t1425, i64 40 ; ->v.typed_ref.type_key
+ %t1430 = load ptr, ptr %t1429
+ %t1431 = icmp eq ptr %t1430, @sc_cs_2434838942941195
+ br i1 %t1431, label %dc.exact569, label %dc.checked570
+dc.exact569:
+ %t1434 = getelementptr inbounds i8, ptr %t1425, i64 16 ; ->v.typed_ref.ptr
+ %t1435 = load ptr, ptr %t1434
+ %t1436 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1435)
+ store ptr %t1436, ptr %s1426
+ br label %dc.done571
+dc.checked570:
+ %t1437 = call ptr @sc_dc_52(ptr %t1425, ptr null)
+ store ptr %t1437, ptr %s1426
+ %t1438 = load i32, ptr %exc.cell
+ %t1439 = icmp ne i32 %t1438, 0
+ %t1440 = call i1 @llvm.expect.i1(i1 %t1439, i1 false)
+ br i1 %t1440, label %exc.u572, label %exc.k573
+exc.u572:
+ call void @scr_dyn_release(ptr %t1425)
+ br label %exc.cleanup2
+exc.k573:
+ br label %dc.done571
+dc.done571:
+ %t1441 = load ptr, ptr %s1426
+ %t1442 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1441, i64 0, i32 2
+ %t1443 = load ptr, ptr %t1442, !tbaa !204
+ %t1444 = getelementptr inbounds i8, ptr %t1443, i64 8 ; ->kind
+ %t1445 = load i32, ptr %t1444
+ %t1446 = icmp eq i32 %t1445, 6
+ call void @scr_dyn_release(ptr %t1425)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1441)
+ br i1 %t1446, label %if.t574, label %if.j575
+if.t574:
+ %t1447 = load ptr, ptr %sc_l_p_0
+ %t1448 = call ptr @sc_rc_retain_dyn(ptr %t1447)
+ %t1450 = icmp ne ptr %t1448, null
+ br i1 %t1450, label %dc.inspect576, label %dc.checked579
+dc.inspect576:
+ %t1455 = getelementptr inbounds i8, ptr %t1448, i64 8 ; ->kind
+ %t1456 = load i32, ptr %t1455
+ %t1451 = icmp eq i32 %t1456, 12
+ br i1 %t1451, label %dc.capsule577, label %dc.checked579
+dc.capsule577:
+ %t1452 = getelementptr inbounds i8, ptr %t1448, i64 40 ; ->v.typed_ref.type_key
+ %t1453 = load ptr, ptr %t1452
+ %t1454 = icmp eq ptr %t1453, @sc_cs_2434838942941195
+ br i1 %t1454, label %dc.exact578, label %dc.checked579
+dc.exact578:
+ %t1457 = getelementptr inbounds i8, ptr %t1448, i64 16 ; ->v.typed_ref.ptr
+ %t1458 = load ptr, ptr %t1457
+ %t1459 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1458)
+ store ptr %t1459, ptr %s1449
+ br label %dc.done580
+dc.checked579:
+ %t1460 = call ptr @sc_dc_52(ptr %t1448, ptr null)
+ store ptr %t1460, ptr %s1449
+ %t1461 = load i32, ptr %exc.cell
+ %t1462 = icmp ne i32 %t1461, 0
+ %t1463 = call i1 @llvm.expect.i1(i1 %t1462, i1 false)
+ br i1 %t1463, label %exc.u581, label %exc.k582
+exc.u581:
+ call void @scr_dyn_release(ptr %t1448)
+ br label %exc.cleanup2
+exc.k582:
+ br label %dc.done580
+dc.done580:
+ %t1464 = load ptr, ptr %s1449
+ %t1465 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1464, i64 0, i32 1
+ %t1466 = load ptr, ptr %t1465
+ %t1467 = getelementptr inbounds %ScrVt, ptr %t1466, i64 0, i32 0
+ %t1468 = load i64, ptr %t1467
+ %t1469 = icmp uge i64 %t1468, 18
+ %t1470 = icmp ule i64 %t1468, 18
+ %t1471 = and i1 %t1469, %t1470 ; instanceof %m3.LiteResponse
+ br i1 %t1471, label %tern.t583, label %tern.f584
+tern.t583:
+ %t1473 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1474 = load i32, ptr %exc.cell
+ %t1475 = icmp ne i32 %t1474, 0
+ %t1476 = call i1 @llvm.expect.i1(i1 %t1475, i1 false)
+ br i1 %t1476, label %exc.u586, label %exc.k587
+exc.u586:
+ call void @scr_dyn_release(ptr %t1473)
+ call void @scr_dyn_release(ptr %t1448)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1464)
+ br label %exc.cleanup2
+exc.k587:
+ store ptr %t1473, ptr %s1472
+ br label %tern.j585
+tern.f584:
+ %t1477 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t1478 = load i32, ptr %exc.cell
+ %t1479 = icmp ne i32 %t1478, 0
+ %t1480 = call i1 @llvm.expect.i1(i1 %t1479, i1 false)
+ br i1 %t1480, label %exc.u588, label %exc.k589
+exc.u588:
+ call void @scr_dyn_release(ptr %t1477)
+ call void @scr_dyn_release(ptr %t1448)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1464)
+ br label %exc.cleanup2
+exc.k589:
+ store ptr %t1477, ptr %s1472
+ br label %tern.j585
+tern.j585:
+ %t1481 = load ptr, ptr %s1472
+ %t1482 = call ptr @scr_dyn_obj_create(ptr %t1481)
+ %t1483 = load i32, ptr %exc.cell
+ %t1484 = icmp ne i32 %t1483, 0
+ %t1485 = call i1 @llvm.expect.i1(i1 %t1484, i1 false)
+ br i1 %t1485, label %exc.u590, label %exc.k591
+exc.u590:
+ call void @scr_dyn_release(ptr %t1448)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1464)
+ call void @scr_dyn_release(ptr %t1481)
+ call void @scr_dyn_release(ptr %t1482)
+ br label %exc.cleanup2
+exc.k591:
+ call void @scr_dyn_release(ptr %t1448)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1464)
+ call void @scr_dyn_release(ptr %t1481)
+ %t1486 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1486)
+ ret ptr %t1482
+if.j575:
+ %t1487 = load ptr, ptr %sc_l_p_0
+ %t1488 = call ptr @sc_rc_retain_dyn(ptr %t1487)
+ %t1490 = icmp ne ptr %t1488, null
+ br i1 %t1490, label %dc.inspect592, label %dc.checked595
+dc.inspect592:
+ %t1495 = getelementptr inbounds i8, ptr %t1488, i64 8 ; ->kind
+ %t1496 = load i32, ptr %t1495
+ %t1491 = icmp eq i32 %t1496, 12
+ br i1 %t1491, label %dc.capsule593, label %dc.checked595
+dc.capsule593:
+ %t1492 = getelementptr inbounds i8, ptr %t1488, i64 40 ; ->v.typed_ref.type_key
+ %t1493 = load ptr, ptr %t1492
+ %t1494 = icmp eq ptr %t1493, @sc_cs_2434838942941195
+ br i1 %t1494, label %dc.exact594, label %dc.checked595
+dc.exact594:
+ %t1497 = getelementptr inbounds i8, ptr %t1488, i64 16 ; ->v.typed_ref.ptr
+ %t1498 = load ptr, ptr %t1497
+ %t1499 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1498)
+ store ptr %t1499, ptr %s1489
+ br label %dc.done596
+dc.checked595:
+ %t1500 = call ptr @sc_dc_52(ptr %t1488, ptr null)
+ store ptr %t1500, ptr %s1489
+ %t1501 = load i32, ptr %exc.cell
+ %t1502 = icmp ne i32 %t1501, 0
+ %t1503 = call i1 @llvm.expect.i1(i1 %t1502, i1 false)
+ br i1 %t1503, label %exc.u597, label %exc.k598
+exc.u597:
+ call void @scr_dyn_release(ptr %t1488)
+ br label %exc.cleanup2
+exc.k598:
+ br label %dc.done596
+dc.done596:
+ %t1504 = load ptr, ptr %s1489
+ %t1505 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1504, i64 0, i32 2
+ %t1506 = load ptr, ptr %t1505, !tbaa !204
+ %t1507 = call ptr @sc_rc_retain_dyn(ptr %t1506)
+ call void @scr_dyn_release(ptr %t1488)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1504)
+ %t1508 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1508)
+ ret ptr %t1507
+if.j566:
+ %t1509 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1510
+ %t1511 = icmp ne ptr %t1509, null
+ br i1 %t1511, label %brand.inspect599, label %brand.done601
+brand.inspect599:
+ %t1512 = getelementptr inbounds i8, ptr %t1509, i64 8 ; ->kind
+ %t1513 = load i32, ptr %t1512
+ %t1514 = icmp eq i32 %t1513, 12
+ br i1 %t1514, label %brand.capsule600, label %brand.done601
+brand.capsule600:
+ %t1515 = getelementptr inbounds i8, ptr %t1509, i64 40 ; ->v.typed_ref.type_key
+ %t1516 = load ptr, ptr %t1515
+ %t1517 = icmp eq ptr %t1516, @sc_cs_67546268704151
+ store i1 true, ptr %s1510
+ br i1 %t1517, label %brand.done601, label %brand.compare602
+brand.compare602:
+ %t1518 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1509, ptr @sc_lit_67546268704151)
+ store i1 %t1518, ptr %s1510
+ br label %brand.done601
+brand.done601:
+ %t1519 = load i1, ptr %s1510
+ br i1 %t1519, label %if.t603, label %if.j604
+if.t603:
+ %t1520 = load ptr, ptr %sc_l_p_0
+ %t1521 = call ptr @sc_rc_retain_dyn(ptr %t1520)
+ %t1523 = icmp ne ptr %t1521, null
+ br i1 %t1523, label %dc.inspect605, label %dc.checked608
+dc.inspect605:
+ %t1528 = getelementptr inbounds i8, ptr %t1521, i64 8 ; ->kind
+ %t1529 = load i32, ptr %t1528
+ %t1524 = icmp eq i32 %t1529, 12
+ br i1 %t1524, label %dc.capsule606, label %dc.checked608
+dc.capsule606:
+ %t1525 = getelementptr inbounds i8, ptr %t1521, i64 40 ; ->v.typed_ref.type_key
+ %t1526 = load ptr, ptr %t1525
+ %t1527 = icmp eq ptr %t1526, @sc_cs_67546268704151
+ br i1 %t1527, label %dc.exact607, label %dc.checked608
+dc.exact607:
+ %t1530 = getelementptr inbounds i8, ptr %t1521, i64 16 ; ->v.typed_ref.ptr
+ %t1531 = load ptr, ptr %t1530
+ %t1532 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1531)
+ store ptr %t1532, ptr %s1522
+ br label %dc.done609
+dc.checked608:
+ %t1533 = call ptr @sc_dc_107(ptr %t1521, ptr null)
+ store ptr %t1533, ptr %s1522
+ %t1534 = load i32, ptr %exc.cell
+ %t1535 = icmp ne i32 %t1534, 0
+ %t1536 = call i1 @llvm.expect.i1(i1 %t1535, i1 false)
+ br i1 %t1536, label %exc.u610, label %exc.k611
+exc.u610:
+ call void @scr_dyn_release(ptr %t1521)
+ br label %exc.cleanup2
+exc.k611:
+ br label %dc.done609
+dc.done609:
+ %t1537 = load ptr, ptr %s1522
+ %t1538 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1537, i64 0, i32 2
+ %t1539 = load ptr, ptr %t1538, !tbaa !204
+ %t1540 = getelementptr inbounds i8, ptr %t1539, i64 8 ; ->kind
+ %t1541 = load i32, ptr %t1540
+ %t1542 = icmp eq i32 %t1541, 6
+ call void @scr_dyn_release(ptr %t1521)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t1537)
+ br i1 %t1542, label %if.t612, label %if.j613
+if.t612:
+ %t1543 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteHeaders()
+ %t1544 = load i32, ptr %exc.cell
+ %t1545 = icmp ne i32 %t1544, 0
+ %t1546 = call i1 @llvm.expect.i1(i1 %t1545, i1 false)
+ br i1 %t1546, label %exc.u614, label %exc.k615
+exc.u614:
+ call void @scr_dyn_release(ptr %t1543)
+ br label %exc.cleanup2
+exc.k615:
+ %t1547 = call ptr @scr_dyn_obj_create(ptr %t1543)
+ %t1548 = load i32, ptr %exc.cell
+ %t1549 = icmp ne i32 %t1548, 0
+ %t1550 = call i1 @llvm.expect.i1(i1 %t1549, i1 false)
+ br i1 %t1550, label %exc.u616, label %exc.k617
+exc.u616:
+ call void @scr_dyn_release(ptr %t1543)
+ call void @scr_dyn_release(ptr %t1547)
+ br label %exc.cleanup2
+exc.k617:
+ call void @scr_dyn_release(ptr %t1543)
+ %t1551 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1551)
+ ret ptr %t1547
+if.j613:
+ %t1552 = load ptr, ptr %sc_l_p_0
+ %t1553 = call ptr @sc_rc_retain_dyn(ptr %t1552)
+ %t1555 = icmp ne ptr %t1553, null
+ br i1 %t1555, label %dc.inspect618, label %dc.checked621
+dc.inspect618:
+ %t1560 = getelementptr inbounds i8, ptr %t1553, i64 8 ; ->kind
+ %t1561 = load i32, ptr %t1560
+ %t1556 = icmp eq i32 %t1561, 12
+ br i1 %t1556, label %dc.capsule619, label %dc.checked621
+dc.capsule619:
+ %t1557 = getelementptr inbounds i8, ptr %t1553, i64 40 ; ->v.typed_ref.type_key
+ %t1558 = load ptr, ptr %t1557
+ %t1559 = icmp eq ptr %t1558, @sc_cs_67546268704151
+ br i1 %t1559, label %dc.exact620, label %dc.checked621
+dc.exact620:
+ %t1562 = getelementptr inbounds i8, ptr %t1553, i64 16 ; ->v.typed_ref.ptr
+ %t1563 = load ptr, ptr %t1562
+ %t1564 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1563)
+ store ptr %t1564, ptr %s1554
+ br label %dc.done622
+dc.checked621:
+ %t1565 = call ptr @sc_dc_107(ptr %t1553, ptr null)
+ store ptr %t1565, ptr %s1554
+ %t1566 = load i32, ptr %exc.cell
+ %t1567 = icmp ne i32 %t1566, 0
+ %t1568 = call i1 @llvm.expect.i1(i1 %t1567, i1 false)
+ br i1 %t1568, label %exc.u623, label %exc.k624
+exc.u623:
+ call void @scr_dyn_release(ptr %t1553)
+ br label %exc.cleanup2
+exc.k624:
+ br label %dc.done622
+dc.done622:
+ %t1569 = load ptr, ptr %s1554
+ %t1570 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1569, i64 0, i32 2
+ %t1571 = load ptr, ptr %t1570, !tbaa !204
+ %t1572 = call ptr @sc_rc_retain_dyn(ptr %t1571)
+ call void @scr_dyn_release(ptr %t1553)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t1569)
+ %t1573 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1573)
+ ret ptr %t1572
+if.j604:
+ %t1574 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1575
+ %t1576 = icmp ne ptr %t1574, null
+ br i1 %t1576, label %brand.inspect625, label %brand.done627
+brand.inspect625:
+ %t1577 = getelementptr inbounds i8, ptr %t1574, i64 8 ; ->kind
+ %t1578 = load i32, ptr %t1577
+ %t1579 = icmp eq i32 %t1578, 12
+ br i1 %t1579, label %brand.capsule626, label %brand.done627
+brand.capsule626:
+ %t1580 = getelementptr inbounds i8, ptr %t1574, i64 40 ; ->v.typed_ref.type_key
+ %t1581 = load ptr, ptr %t1580
+ %t1582 = icmp eq ptr %t1581, @sc_cs_2519527309428716
+ store i1 true, ptr %s1575
+ br i1 %t1582, label %brand.done627, label %brand.compare628
+brand.compare628:
+ %t1583 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1574, ptr @sc_lit_2519527309428716)
+ store i1 %t1583, ptr %s1575
+ br label %brand.done627
+brand.done627:
+ %t1584 = load i1, ptr %s1575
+ br i1 %t1584, label %tern.t629, label %tern.f630
+tern.t629:
+ %t1586 = load ptr, ptr %sc_l_p_0
+ %t1587 = call ptr @sc_rc_retain_dyn(ptr %t1586)
+ %t1589 = icmp ne ptr %t1587, null
+ br i1 %t1589, label %dc.inspect632, label %dc.checked635
+dc.inspect632:
+ %t1594 = getelementptr inbounds i8, ptr %t1587, i64 8 ; ->kind
+ %t1595 = load i32, ptr %t1594
+ %t1590 = icmp eq i32 %t1595, 12
+ br i1 %t1590, label %dc.capsule633, label %dc.checked635
+dc.capsule633:
+ %t1591 = getelementptr inbounds i8, ptr %t1587, i64 40 ; ->v.typed_ref.type_key
+ %t1592 = load ptr, ptr %t1591
+ %t1593 = icmp eq ptr %t1592, @sc_cs_2519527309428716
+ br i1 %t1593, label %dc.exact634, label %dc.checked635
+dc.exact634:
+ %t1596 = getelementptr inbounds i8, ptr %t1587, i64 16 ; ->v.typed_ref.ptr
+ %t1597 = load ptr, ptr %t1596
+ %t1598 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1597)
+ store ptr %t1598, ptr %s1588
+ br label %dc.done636
+dc.checked635:
+ %t1599 = call ptr @sc_dc_108(ptr %t1587, ptr null)
+ store ptr %t1599, ptr %s1588
+ %t1600 = load i32, ptr %exc.cell
+ %t1601 = icmp ne i32 %t1600, 0
+ %t1602 = call i1 @llvm.expect.i1(i1 %t1601, i1 false)
+ br i1 %t1602, label %exc.u637, label %exc.k638
+exc.u637:
+ call void @scr_dyn_release(ptr %t1587)
+ br label %exc.cleanup2
+exc.k638:
+ br label %dc.done636
+dc.done636:
+ %t1603 = load ptr, ptr %s1588
+ %t1604 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1603, i64 0, i32 1
+ %t1605 = load ptr, ptr %t1604
+ %t1606 = getelementptr inbounds %ScrVt, ptr %t1605, i64 0, i32 0
+ %t1607 = load i64, ptr %t1606
+ %t1608 = icmp uge i64 %t1607, 38
+ %t1609 = icmp ule i64 %t1607, 38
+ %t1610 = and i1 %t1608, %t1609 ; instanceof %m14.BakedAssets
+ store i1 %t1610, ptr %s1585
+ call void @scr_dyn_release(ptr %t1587)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1603)
+ br label %tern.j631
+tern.f630:
+ store i1 false, ptr %s1585
+ br label %tern.j631
+tern.j631:
+ %t1611 = load i1, ptr %s1585
+ br i1 %t1611, label %if.t639, label %if.j640
+if.t639:
+ %t1612 = load ptr, ptr %sc_l_p_0
+ %t1613 = call ptr @sc_rc_retain_dyn(ptr %t1612)
+ %t1615 = icmp ne ptr %t1613, null
+ br i1 %t1615, label %dc.inspect641, label %dc.checked644
+dc.inspect641:
+ %t1620 = getelementptr inbounds i8, ptr %t1613, i64 8 ; ->kind
+ %t1621 = load i32, ptr %t1620
+ %t1616 = icmp eq i32 %t1621, 12
+ br i1 %t1616, label %dc.capsule642, label %dc.checked644
+dc.capsule642:
+ %t1617 = getelementptr inbounds i8, ptr %t1613, i64 40 ; ->v.typed_ref.type_key
+ %t1618 = load ptr, ptr %t1617
+ %t1619 = icmp eq ptr %t1618, @sc_cs_2519527309428716
+ br i1 %t1619, label %dc.exact643, label %dc.checked644
+dc.exact643:
+ %t1622 = getelementptr inbounds i8, ptr %t1613, i64 16 ; ->v.typed_ref.ptr
+ %t1623 = load ptr, ptr %t1622
+ %t1624 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1623)
+ store ptr %t1624, ptr %s1614
+ br label %dc.done645
+dc.checked644:
+ %t1625 = call ptr @sc_dc_108(ptr %t1613, ptr null)
+ store ptr %t1625, ptr %s1614
+ %t1626 = load i32, ptr %exc.cell
+ %t1627 = icmp ne i32 %t1626, 0
+ %t1628 = call i1 @llvm.expect.i1(i1 %t1627, i1 false)
+ br i1 %t1628, label %exc.u646, label %exc.k647
+exc.u646:
+ call void @scr_dyn_release(ptr %t1613)
+ br label %exc.cleanup2
+exc.k647:
+ br label %dc.done645
+dc.done645:
+ %t1629 = load ptr, ptr %s1614
+ %t1630 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t1629, i64 0, i32 2
+ %t1631 = load ptr, ptr %t1630, !tbaa !204
+ %t1632 = getelementptr inbounds i8, ptr %t1631, i64 8 ; ->kind
+ %t1633 = load i32, ptr %t1632
+ %t1634 = icmp eq i32 %t1633, 6
+ call void @scr_dyn_release(ptr %t1613)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1629)
+ br i1 %t1634, label %if.t648, label %if.j649
+if.t648:
+ %t1635 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t1636 = load i32, ptr %exc.cell
+ %t1637 = icmp ne i32 %t1636, 0
+ %t1638 = call i1 @llvm.expect.i1(i1 %t1637, i1 false)
+ br i1 %t1638, label %exc.u650, label %exc.k651
+exc.u650:
+ call void @scr_dyn_release(ptr %t1635)
+ br label %exc.cleanup2
+exc.k651:
+ %t1639 = call ptr @scr_dyn_obj_create(ptr %t1635)
+ %t1640 = load i32, ptr %exc.cell
+ %t1641 = icmp ne i32 %t1640, 0
+ %t1642 = call i1 @llvm.expect.i1(i1 %t1641, i1 false)
+ br i1 %t1642, label %exc.u652, label %exc.k653
+exc.u652:
+ call void @scr_dyn_release(ptr %t1635)
+ call void @scr_dyn_release(ptr %t1639)
+ br label %exc.cleanup2
+exc.k653:
+ call void @scr_dyn_release(ptr %t1635)
+ %t1643 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1643)
+ ret ptr %t1639
+if.j649:
+ %t1644 = load ptr, ptr %sc_l_p_0
+ %t1645 = call ptr @sc_rc_retain_dyn(ptr %t1644)
+ %t1647 = icmp ne ptr %t1645, null
+ br i1 %t1647, label %dc.inspect654, label %dc.checked657
+dc.inspect654:
+ %t1652 = getelementptr inbounds i8, ptr %t1645, i64 8 ; ->kind
+ %t1653 = load i32, ptr %t1652
+ %t1648 = icmp eq i32 %t1653, 12
+ br i1 %t1648, label %dc.capsule655, label %dc.checked657
+dc.capsule655:
+ %t1649 = getelementptr inbounds i8, ptr %t1645, i64 40 ; ->v.typed_ref.type_key
+ %t1650 = load ptr, ptr %t1649
+ %t1651 = icmp eq ptr %t1650, @sc_cs_2519527309428716
+ br i1 %t1651, label %dc.exact656, label %dc.checked657
+dc.exact656:
+ %t1654 = getelementptr inbounds i8, ptr %t1645, i64 16 ; ->v.typed_ref.ptr
+ %t1655 = load ptr, ptr %t1654
+ %t1656 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1655)
+ store ptr %t1656, ptr %s1646
+ br label %dc.done658
+dc.checked657:
+ %t1657 = call ptr @sc_dc_108(ptr %t1645, ptr null)
+ store ptr %t1657, ptr %s1646
+ %t1658 = load i32, ptr %exc.cell
+ %t1659 = icmp ne i32 %t1658, 0
+ %t1660 = call i1 @llvm.expect.i1(i1 %t1659, i1 false)
+ br i1 %t1660, label %exc.u659, label %exc.k660
+exc.u659:
+ call void @scr_dyn_release(ptr %t1645)
+ br label %exc.cleanup2
+exc.k660:
+ br label %dc.done658
+dc.done658:
+ %t1661 = load ptr, ptr %s1646
+ %t1662 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t1661, i64 0, i32 2
+ %t1663 = load ptr, ptr %t1662, !tbaa !204
+ %t1664 = call ptr @sc_rc_retain_dyn(ptr %t1663)
+ call void @scr_dyn_release(ptr %t1645)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1661)
+ %t1665 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1665)
+ ret ptr %t1664
+if.j640:
+ %t1666 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1667
+ %t1668 = icmp ne ptr %t1666, null
+ br i1 %t1668, label %brand.inspect661, label %brand.done663
+brand.inspect661:
+ %t1669 = getelementptr inbounds i8, ptr %t1666, i64 8 ; ->kind
+ %t1670 = load i32, ptr %t1669
+ %t1671 = icmp eq i32 %t1670, 12
+ br i1 %t1671, label %brand.capsule662, label %brand.done663
+brand.capsule662:
+ %t1672 = getelementptr inbounds i8, ptr %t1666, i64 40 ; ->v.typed_ref.type_key
+ %t1673 = load ptr, ptr %t1672
+ %t1674 = icmp eq ptr %t1673, @sc_cs_2519527309428716
+ store i1 true, ptr %s1667
+ br i1 %t1674, label %brand.done663, label %brand.compare664
+brand.compare664:
+ %t1675 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1666, ptr @sc_lit_2519527309428716)
+ store i1 %t1675, ptr %s1667
+ br label %brand.done663
+brand.done663:
+ %t1676 = load i1, ptr %s1667
+ br i1 %t1676, label %if.t665, label %if.j666
+if.t665:
+ %t1677 = load ptr, ptr %sc_l_p_0
+ %t1678 = call ptr @sc_rc_retain_dyn(ptr %t1677)
+ %t1680 = icmp ne ptr %t1678, null
+ br i1 %t1680, label %dc.inspect667, label %dc.checked670
+dc.inspect667:
+ %t1685 = getelementptr inbounds i8, ptr %t1678, i64 8 ; ->kind
+ %t1686 = load i32, ptr %t1685
+ %t1681 = icmp eq i32 %t1686, 12
+ br i1 %t1681, label %dc.capsule668, label %dc.checked670
+dc.capsule668:
+ %t1682 = getelementptr inbounds i8, ptr %t1678, i64 40 ; ->v.typed_ref.type_key
+ %t1683 = load ptr, ptr %t1682
+ %t1684 = icmp eq ptr %t1683, @sc_cs_2519527309428716
+ br i1 %t1684, label %dc.exact669, label %dc.checked670
+dc.exact669:
+ %t1687 = getelementptr inbounds i8, ptr %t1678, i64 16 ; ->v.typed_ref.ptr
+ %t1688 = load ptr, ptr %t1687
+ %t1689 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1688)
+ store ptr %t1689, ptr %s1679
+ br label %dc.done671
+dc.checked670:
+ %t1690 = call ptr @sc_dc_108(ptr %t1678, ptr null)
+ store ptr %t1690, ptr %s1679
+ %t1691 = load i32, ptr %exc.cell
+ %t1692 = icmp ne i32 %t1691, 0
+ %t1693 = call i1 @llvm.expect.i1(i1 %t1692, i1 false)
+ br i1 %t1693, label %exc.u672, label %exc.k673
+exc.u672:
+ call void @scr_dyn_release(ptr %t1678)
+ br label %exc.cleanup2
+exc.k673:
+ br label %dc.done671
+dc.done671:
+ %t1694 = load ptr, ptr %s1679
+ %t1695 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1694, i64 0, i32 2
+ %t1696 = load ptr, ptr %t1695, !tbaa !204
+ %t1697 = getelementptr inbounds i8, ptr %t1696, i64 8 ; ->kind
+ %t1698 = load i32, ptr %t1697
+ %t1699 = icmp eq i32 %t1698, 6
+ call void @scr_dyn_release(ptr %t1678)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1694)
+ br i1 %t1699, label %if.t674, label %if.j675
+if.t674:
+ %t1700 = load ptr, ptr %sc_l_p_0
+ %t1701 = call ptr @sc_rc_retain_dyn(ptr %t1700)
+ %t1703 = icmp ne ptr %t1701, null
+ br i1 %t1703, label %dc.inspect676, label %dc.checked679
+dc.inspect676:
+ %t1708 = getelementptr inbounds i8, ptr %t1701, i64 8 ; ->kind
+ %t1709 = load i32, ptr %t1708
+ %t1704 = icmp eq i32 %t1709, 12
+ br i1 %t1704, label %dc.capsule677, label %dc.checked679
+dc.capsule677:
+ %t1705 = getelementptr inbounds i8, ptr %t1701, i64 40 ; ->v.typed_ref.type_key
+ %t1706 = load ptr, ptr %t1705
+ %t1707 = icmp eq ptr %t1706, @sc_cs_2519527309428716
+ br i1 %t1707, label %dc.exact678, label %dc.checked679
+dc.exact678:
+ %t1710 = getelementptr inbounds i8, ptr %t1701, i64 16 ; ->v.typed_ref.ptr
+ %t1711 = load ptr, ptr %t1710
+ %t1712 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1711)
+ store ptr %t1712, ptr %s1702
+ br label %dc.done680
+dc.checked679:
+ %t1713 = call ptr @sc_dc_108(ptr %t1701, ptr null)
+ store ptr %t1713, ptr %s1702
+ %t1714 = load i32, ptr %exc.cell
+ %t1715 = icmp ne i32 %t1714, 0
+ %t1716 = call i1 @llvm.expect.i1(i1 %t1715, i1 false)
+ br i1 %t1716, label %exc.u681, label %exc.k682
+exc.u681:
+ call void @scr_dyn_release(ptr %t1701)
+ br label %exc.cleanup2
+exc.k682:
+ br label %dc.done680
+dc.done680:
+ %t1717 = load ptr, ptr %s1702
+ %t1718 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1717, i64 0, i32 1
+ %t1719 = load ptr, ptr %t1718
+ %t1720 = getelementptr inbounds %ScrVt, ptr %t1719, i64 0, i32 0
+ %t1721 = load i64, ptr %t1720
+ %t1722 = icmp uge i64 %t1721, 38
+ %t1723 = icmp ule i64 %t1721, 38
+ %t1724 = and i1 %t1722, %t1723 ; instanceof %m14.BakedAssets
+ br i1 %t1724, label %tern.t683, label %tern.f684
+tern.t683:
+ %t1726 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t1727 = load i32, ptr %exc.cell
+ %t1728 = icmp ne i32 %t1727, 0
+ %t1729 = call i1 @llvm.expect.i1(i1 %t1728, i1 false)
+ br i1 %t1729, label %exc.u686, label %exc.k687
+exc.u686:
+ call void @scr_dyn_release(ptr %t1726)
+ call void @scr_dyn_release(ptr %t1701)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1717)
+ br label %exc.cleanup2
+exc.k687:
+ store ptr %t1726, ptr %s1725
+ br label %tern.j685
+tern.f684:
+ %t1730 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t1731 = load i32, ptr %exc.cell
+ %t1732 = icmp ne i32 %t1731, 0
+ %t1733 = call i1 @llvm.expect.i1(i1 %t1732, i1 false)
+ br i1 %t1733, label %exc.u688, label %exc.k689
+exc.u688:
+ call void @scr_dyn_release(ptr %t1730)
+ call void @scr_dyn_release(ptr %t1701)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1717)
+ br label %exc.cleanup2
+exc.k689:
+ store ptr %t1730, ptr %s1725
+ br label %tern.j685
+tern.j685:
+ %t1734 = load ptr, ptr %s1725
+ %t1735 = call ptr @scr_dyn_obj_create(ptr %t1734)
+ %t1736 = load i32, ptr %exc.cell
+ %t1737 = icmp ne i32 %t1736, 0
+ %t1738 = call i1 @llvm.expect.i1(i1 %t1737, i1 false)
+ br i1 %t1738, label %exc.u690, label %exc.k691
+exc.u690:
+ call void @scr_dyn_release(ptr %t1701)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1717)
+ call void @scr_dyn_release(ptr %t1734)
+ call void @scr_dyn_release(ptr %t1735)
+ br label %exc.cleanup2
+exc.k691:
+ call void @scr_dyn_release(ptr %t1701)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1717)
+ call void @scr_dyn_release(ptr %t1734)
+ %t1739 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1739)
+ ret ptr %t1735
+if.j675:
+ %t1740 = load ptr, ptr %sc_l_p_0
+ %t1741 = call ptr @sc_rc_retain_dyn(ptr %t1740)
+ %t1743 = icmp ne ptr %t1741, null
+ br i1 %t1743, label %dc.inspect692, label %dc.checked695
+dc.inspect692:
+ %t1748 = getelementptr inbounds i8, ptr %t1741, i64 8 ; ->kind
+ %t1749 = load i32, ptr %t1748
+ %t1744 = icmp eq i32 %t1749, 12
+ br i1 %t1744, label %dc.capsule693, label %dc.checked695
+dc.capsule693:
+ %t1745 = getelementptr inbounds i8, ptr %t1741, i64 40 ; ->v.typed_ref.type_key
+ %t1746 = load ptr, ptr %t1745
+ %t1747 = icmp eq ptr %t1746, @sc_cs_2519527309428716
+ br i1 %t1747, label %dc.exact694, label %dc.checked695
+dc.exact694:
+ %t1750 = getelementptr inbounds i8, ptr %t1741, i64 16 ; ->v.typed_ref.ptr
+ %t1751 = load ptr, ptr %t1750
+ %t1752 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1751)
+ store ptr %t1752, ptr %s1742
+ br label %dc.done696
+dc.checked695:
+ %t1753 = call ptr @sc_dc_108(ptr %t1741, ptr null)
+ store ptr %t1753, ptr %s1742
+ %t1754 = load i32, ptr %exc.cell
+ %t1755 = icmp ne i32 %t1754, 0
+ %t1756 = call i1 @llvm.expect.i1(i1 %t1755, i1 false)
+ br i1 %t1756, label %exc.u697, label %exc.k698
+exc.u697:
+ call void @scr_dyn_release(ptr %t1741)
+ br label %exc.cleanup2
+exc.k698:
+ br label %dc.done696
+dc.done696:
+ %t1757 = load ptr, ptr %s1742
+ %t1758 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1757, i64 0, i32 2
+ %t1759 = load ptr, ptr %t1758, !tbaa !204
+ %t1760 = call ptr @sc_rc_retain_dyn(ptr %t1759)
+ call void @scr_dyn_release(ptr %t1741)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1757)
+ %t1761 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1761)
+ ret ptr %t1760
+if.j666:
+ %t1762 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1763
+ %t1764 = icmp ne ptr %t1762, null
+ br i1 %t1764, label %brand.inspect699, label %brand.done701
+brand.inspect699:
+ %t1765 = getelementptr inbounds i8, ptr %t1762, i64 8 ; ->kind
+ %t1766 = load i32, ptr %t1765
+ %t1767 = icmp eq i32 %t1766, 12
+ br i1 %t1767, label %brand.capsule700, label %brand.done701
+brand.capsule700:
+ %t1768 = getelementptr inbounds i8, ptr %t1762, i64 40 ; ->v.typed_ref.type_key
+ %t1769 = load ptr, ptr %t1768
+ %t1770 = icmp eq ptr %t1769, @sc_cs_629517122853751
+ store i1 true, ptr %s1763
+ br i1 %t1770, label %brand.done701, label %brand.compare702
+brand.compare702:
+ %t1771 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1762, ptr @sc_lit_629517122853751)
+ store i1 %t1771, ptr %s1763
+ br label %brand.done701
+brand.done701:
+ %t1772 = load i1, ptr %s1763
+ br i1 %t1772, label %tern.t703, label %tern.f704
+tern.t703:
+ %t1774 = load ptr, ptr %sc_l_p_0
+ %t1775 = call ptr @sc_rc_retain_dyn(ptr %t1774)
+ %t1777 = icmp ne ptr %t1775, null
+ br i1 %t1777, label %dc.inspect706, label %dc.checked709
+dc.inspect706:
+ %t1782 = getelementptr inbounds i8, ptr %t1775, i64 8 ; ->kind
+ %t1783 = load i32, ptr %t1782
+ %t1778 = icmp eq i32 %t1783, 12
+ br i1 %t1778, label %dc.capsule707, label %dc.checked709
+dc.capsule707:
+ %t1779 = getelementptr inbounds i8, ptr %t1775, i64 40 ; ->v.typed_ref.type_key
+ %t1780 = load ptr, ptr %t1779
+ %t1781 = icmp eq ptr %t1780, @sc_cs_629517122853751
+ br i1 %t1781, label %dc.exact708, label %dc.checked709
+dc.exact708:
+ %t1784 = getelementptr inbounds i8, ptr %t1775, i64 16 ; ->v.typed_ref.ptr
+ %t1785 = load ptr, ptr %t1784
+ %t1786 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1785)
+ store ptr %t1786, ptr %s1776
+ br label %dc.done710
+dc.checked709:
+ %t1787 = call ptr @sc_dc_29(ptr %t1775, ptr null)
+ store ptr %t1787, ptr %s1776
+ %t1788 = load i32, ptr %exc.cell
+ %t1789 = icmp ne i32 %t1788, 0
+ %t1790 = call i1 @llvm.expect.i1(i1 %t1789, i1 false)
+ br i1 %t1790, label %exc.u711, label %exc.k712
+exc.u711:
+ call void @scr_dyn_release(ptr %t1775)
+ br label %exc.cleanup2
+exc.k712:
+ br label %dc.done710
+dc.done710:
+ %t1791 = load ptr, ptr %s1776
+ %t1792 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t1791, i64 0, i32 1
+ %t1793 = load ptr, ptr %t1792
+ %t1794 = getelementptr inbounds %ScrVt, ptr %t1793, i64 0, i32 0
+ %t1795 = load i64, ptr %t1794
+ %t1796 = icmp uge i64 %t1795, 18
+ %t1797 = icmp ule i64 %t1795, 18
+ %t1798 = and i1 %t1796, %t1797 ; instanceof %m3.LiteResponse
+ store i1 %t1798, ptr %s1773
+ call void @scr_dyn_release(ptr %t1775)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1791)
+ br label %tern.j705
+tern.f704:
+ store i1 false, ptr %s1773
+ br label %tern.j705
+tern.j705:
+ %t1799 = load i1, ptr %s1773
+ br i1 %t1799, label %if.t713, label %if.j714
+if.t713:
+ %t1800 = load ptr, ptr %sc_l_p_0
+ %t1801 = call ptr @sc_rc_retain_dyn(ptr %t1800)
+ %t1803 = icmp ne ptr %t1801, null
+ br i1 %t1803, label %dc.inspect715, label %dc.checked718
+dc.inspect715:
+ %t1808 = getelementptr inbounds i8, ptr %t1801, i64 8 ; ->kind
+ %t1809 = load i32, ptr %t1808
+ %t1804 = icmp eq i32 %t1809, 12
+ br i1 %t1804, label %dc.capsule716, label %dc.checked718
+dc.capsule716:
+ %t1805 = getelementptr inbounds i8, ptr %t1801, i64 40 ; ->v.typed_ref.type_key
+ %t1806 = load ptr, ptr %t1805
+ %t1807 = icmp eq ptr %t1806, @sc_cs_629517122853751
+ br i1 %t1807, label %dc.exact717, label %dc.checked718
+dc.exact717:
+ %t1810 = getelementptr inbounds i8, ptr %t1801, i64 16 ; ->v.typed_ref.ptr
+ %t1811 = load ptr, ptr %t1810
+ %t1812 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1811)
+ store ptr %t1812, ptr %s1802
+ br label %dc.done719
+dc.checked718:
+ %t1813 = call ptr @sc_dc_29(ptr %t1801, ptr null)
+ store ptr %t1813, ptr %s1802
+ %t1814 = load i32, ptr %exc.cell
+ %t1815 = icmp ne i32 %t1814, 0
+ %t1816 = call i1 @llvm.expect.i1(i1 %t1815, i1 false)
+ br i1 %t1816, label %exc.u720, label %exc.k721
+exc.u720:
+ call void @scr_dyn_release(ptr %t1801)
+ br label %exc.cleanup2
+exc.k721:
+ br label %dc.done719
+dc.done719:
+ %t1817 = load ptr, ptr %s1802
+ %t1818 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1817, i64 0, i32 2
+ %t1819 = load ptr, ptr %t1818, !tbaa !204
+ %t1820 = getelementptr inbounds i8, ptr %t1819, i64 8 ; ->kind
+ %t1821 = load i32, ptr %t1820
+ %t1822 = icmp eq i32 %t1821, 6
+ call void @scr_dyn_release(ptr %t1801)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1817)
+ br i1 %t1822, label %if.t722, label %if.j723
+if.t722:
+ %t1823 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1824 = load i32, ptr %exc.cell
+ %t1825 = icmp ne i32 %t1824, 0
+ %t1826 = call i1 @llvm.expect.i1(i1 %t1825, i1 false)
+ br i1 %t1826, label %exc.u724, label %exc.k725
+exc.u724:
+ call void @scr_dyn_release(ptr %t1823)
+ br label %exc.cleanup2
+exc.k725:
+ %t1827 = call ptr @scr_dyn_obj_create(ptr %t1823)
+ %t1828 = load i32, ptr %exc.cell
+ %t1829 = icmp ne i32 %t1828, 0
+ %t1830 = call i1 @llvm.expect.i1(i1 %t1829, i1 false)
+ br i1 %t1830, label %exc.u726, label %exc.k727
+exc.u726:
+ call void @scr_dyn_release(ptr %t1823)
+ call void @scr_dyn_release(ptr %t1827)
+ br label %exc.cleanup2
+exc.k727:
+ call void @scr_dyn_release(ptr %t1823)
+ %t1831 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1831)
+ ret ptr %t1827
+if.j723:
+ %t1832 = load ptr, ptr %sc_l_p_0
+ %t1833 = call ptr @sc_rc_retain_dyn(ptr %t1832)
+ %t1835 = icmp ne ptr %t1833, null
+ br i1 %t1835, label %dc.inspect728, label %dc.checked731
+dc.inspect728:
+ %t1840 = getelementptr inbounds i8, ptr %t1833, i64 8 ; ->kind
+ %t1841 = load i32, ptr %t1840
+ %t1836 = icmp eq i32 %t1841, 12
+ br i1 %t1836, label %dc.capsule729, label %dc.checked731
+dc.capsule729:
+ %t1837 = getelementptr inbounds i8, ptr %t1833, i64 40 ; ->v.typed_ref.type_key
+ %t1838 = load ptr, ptr %t1837
+ %t1839 = icmp eq ptr %t1838, @sc_cs_629517122853751
+ br i1 %t1839, label %dc.exact730, label %dc.checked731
+dc.exact730:
+ %t1842 = getelementptr inbounds i8, ptr %t1833, i64 16 ; ->v.typed_ref.ptr
+ %t1843 = load ptr, ptr %t1842
+ %t1844 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1843)
+ store ptr %t1844, ptr %s1834
+ br label %dc.done732
+dc.checked731:
+ %t1845 = call ptr @sc_dc_29(ptr %t1833, ptr null)
+ store ptr %t1845, ptr %s1834
+ %t1846 = load i32, ptr %exc.cell
+ %t1847 = icmp ne i32 %t1846, 0
+ %t1848 = call i1 @llvm.expect.i1(i1 %t1847, i1 false)
+ br i1 %t1848, label %exc.u733, label %exc.k734
+exc.u733:
+ call void @scr_dyn_release(ptr %t1833)
+ br label %exc.cleanup2
+exc.k734:
+ br label %dc.done732
+dc.done732:
+ %t1849 = load ptr, ptr %s1834
+ %t1850 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1849, i64 0, i32 2
+ %t1851 = load ptr, ptr %t1850, !tbaa !204
+ %t1852 = call ptr @sc_rc_retain_dyn(ptr %t1851)
+ call void @scr_dyn_release(ptr %t1833)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1849)
+ %t1853 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1853)
+ ret ptr %t1852
+if.j714:
+ %t1854 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1855
+ %t1856 = icmp ne ptr %t1854, null
+ br i1 %t1856, label %brand.inspect735, label %brand.done737
+brand.inspect735:
+ %t1857 = getelementptr inbounds i8, ptr %t1854, i64 8 ; ->kind
+ %t1858 = load i32, ptr %t1857
+ %t1859 = icmp eq i32 %t1858, 12
+ br i1 %t1859, label %brand.capsule736, label %brand.done737
+brand.capsule736:
+ %t1860 = getelementptr inbounds i8, ptr %t1854, i64 40 ; ->v.typed_ref.type_key
+ %t1861 = load ptr, ptr %t1860
+ %t1862 = icmp eq ptr %t1861, @sc_cs_629517122853751
+ store i1 true, ptr %s1855
+ br i1 %t1862, label %brand.done737, label %brand.compare738
+brand.compare738:
+ %t1863 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1854, ptr @sc_lit_629517122853751)
+ store i1 %t1863, ptr %s1855
+ br label %brand.done737
+brand.done737:
+ %t1864 = load i1, ptr %s1855
+ br i1 %t1864, label %tern.t739, label %tern.f740
+tern.t739:
+ %t1866 = load ptr, ptr %sc_l_p_0
+ %t1867 = call ptr @sc_rc_retain_dyn(ptr %t1866)
+ %t1869 = icmp ne ptr %t1867, null
+ br i1 %t1869, label %dc.inspect742, label %dc.checked745
+dc.inspect742:
+ %t1874 = getelementptr inbounds i8, ptr %t1867, i64 8 ; ->kind
+ %t1875 = load i32, ptr %t1874
+ %t1870 = icmp eq i32 %t1875, 12
+ br i1 %t1870, label %dc.capsule743, label %dc.checked745
+dc.capsule743:
+ %t1871 = getelementptr inbounds i8, ptr %t1867, i64 40 ; ->v.typed_ref.type_key
+ %t1872 = load ptr, ptr %t1871
+ %t1873 = icmp eq ptr %t1872, @sc_cs_629517122853751
+ br i1 %t1873, label %dc.exact744, label %dc.checked745
+dc.exact744:
+ %t1876 = getelementptr inbounds i8, ptr %t1867, i64 16 ; ->v.typed_ref.ptr
+ %t1877 = load ptr, ptr %t1876
+ %t1878 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1877)
+ store ptr %t1878, ptr %s1868
+ br label %dc.done746
+dc.checked745:
+ %t1879 = call ptr @sc_dc_29(ptr %t1867, ptr null)
+ store ptr %t1879, ptr %s1868
+ %t1880 = load i32, ptr %exc.cell
+ %t1881 = icmp ne i32 %t1880, 0
+ %t1882 = call i1 @llvm.expect.i1(i1 %t1881, i1 false)
+ br i1 %t1882, label %exc.u747, label %exc.k748
+exc.u747:
+ call void @scr_dyn_release(ptr %t1867)
+ br label %exc.cleanup2
+exc.k748:
+ br label %dc.done746
+dc.done746:
+ %t1883 = load ptr, ptr %s1868
+ %t1884 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t1883, i64 0, i32 1
+ %t1885 = load ptr, ptr %t1884
+ %t1886 = getelementptr inbounds %ScrVt, ptr %t1885, i64 0, i32 0
+ %t1887 = load i64, ptr %t1886
+ %t1888 = icmp uge i64 %t1887, 17
+ %t1889 = icmp ule i64 %t1887, 18
+ %t1890 = and i1 %t1888, %t1889 ; instanceof %m2.FetchResponseSink
+ store i1 %t1890, ptr %s1865
+ call void @scr_dyn_release(ptr %t1867)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1883)
+ br label %tern.j741
+tern.f740:
+ store i1 false, ptr %s1865
+ br label %tern.j741
+tern.j741:
+ %t1891 = load i1, ptr %s1865
+ br i1 %t1891, label %if.t749, label %if.j750
+if.t749:
+ %t1892 = load ptr, ptr %sc_l_p_0
+ %t1893 = call ptr @sc_rc_retain_dyn(ptr %t1892)
+ %t1895 = icmp ne ptr %t1893, null
+ br i1 %t1895, label %dc.inspect751, label %dc.checked754
+dc.inspect751:
+ %t1900 = getelementptr inbounds i8, ptr %t1893, i64 8 ; ->kind
+ %t1901 = load i32, ptr %t1900
+ %t1896 = icmp eq i32 %t1901, 12
+ br i1 %t1896, label %dc.capsule752, label %dc.checked754
+dc.capsule752:
+ %t1897 = getelementptr inbounds i8, ptr %t1893, i64 40 ; ->v.typed_ref.type_key
+ %t1898 = load ptr, ptr %t1897
+ %t1899 = icmp eq ptr %t1898, @sc_cs_629517122853751
+ br i1 %t1899, label %dc.exact753, label %dc.checked754
+dc.exact753:
+ %t1902 = getelementptr inbounds i8, ptr %t1893, i64 16 ; ->v.typed_ref.ptr
+ %t1903 = load ptr, ptr %t1902
+ %t1904 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1903)
+ store ptr %t1904, ptr %s1894
+ br label %dc.done755
+dc.checked754:
+ %t1905 = call ptr @sc_dc_29(ptr %t1893, ptr null)
+ store ptr %t1905, ptr %s1894
+ %t1906 = load i32, ptr %exc.cell
+ %t1907 = icmp ne i32 %t1906, 0
+ %t1908 = call i1 @llvm.expect.i1(i1 %t1907, i1 false)
+ br i1 %t1908, label %exc.u756, label %exc.k757
+exc.u756:
+ call void @scr_dyn_release(ptr %t1893)
+ br label %exc.cleanup2
+exc.k757:
+ br label %dc.done755
+dc.done755:
+ %t1909 = load ptr, ptr %s1894
+ %t1910 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1909, i64 0, i32 2
+ %t1911 = load ptr, ptr %t1910, !tbaa !204
+ %t1912 = getelementptr inbounds i8, ptr %t1911, i64 8 ; ->kind
+ %t1913 = load i32, ptr %t1912
+ %t1914 = icmp eq i32 %t1913, 6
+ call void @scr_dyn_release(ptr %t1893)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1909)
+ br i1 %t1914, label %if.t758, label %if.j759
+if.t758:
+ %t1915 = load ptr, ptr %sc_l_p_0
+ %t1916 = call ptr @sc_rc_retain_dyn(ptr %t1915)
+ %t1918 = icmp ne ptr %t1916, null
+ br i1 %t1918, label %dc.inspect760, label %dc.checked763
+dc.inspect760:
+ %t1923 = getelementptr inbounds i8, ptr %t1916, i64 8 ; ->kind
+ %t1924 = load i32, ptr %t1923
+ %t1919 = icmp eq i32 %t1924, 12
+ br i1 %t1919, label %dc.capsule761, label %dc.checked763
+dc.capsule761:
+ %t1920 = getelementptr inbounds i8, ptr %t1916, i64 40 ; ->v.typed_ref.type_key
+ %t1921 = load ptr, ptr %t1920
+ %t1922 = icmp eq ptr %t1921, @sc_cs_629517122853751
+ br i1 %t1922, label %dc.exact762, label %dc.checked763
+dc.exact762:
+ %t1925 = getelementptr inbounds i8, ptr %t1916, i64 16 ; ->v.typed_ref.ptr
+ %t1926 = load ptr, ptr %t1925
+ %t1927 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1926)
+ store ptr %t1927, ptr %s1917
+ br label %dc.done764
+dc.checked763:
+ %t1928 = call ptr @sc_dc_29(ptr %t1916, ptr null)
+ store ptr %t1928, ptr %s1917
+ %t1929 = load i32, ptr %exc.cell
+ %t1930 = icmp ne i32 %t1929, 0
+ %t1931 = call i1 @llvm.expect.i1(i1 %t1930, i1 false)
+ br i1 %t1931, label %exc.u765, label %exc.k766
+exc.u765:
+ call void @scr_dyn_release(ptr %t1916)
+ br label %exc.cleanup2
+exc.k766:
+ br label %dc.done764
+dc.done764:
+ %t1932 = load ptr, ptr %s1917
+ %t1933 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1932, i64 0, i32 1
+ %t1934 = load ptr, ptr %t1933
+ %t1935 = getelementptr inbounds %ScrVt, ptr %t1934, i64 0, i32 0
+ %t1936 = load i64, ptr %t1935
+ %t1937 = icmp uge i64 %t1936, 18
+ %t1938 = icmp ule i64 %t1936, 18
+ %t1939 = and i1 %t1937, %t1938 ; instanceof %m3.LiteResponse
+ br i1 %t1939, label %tern.t767, label %tern.f768
+tern.t767:
+ %t1941 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1942 = load i32, ptr %exc.cell
+ %t1943 = icmp ne i32 %t1942, 0
+ %t1944 = call i1 @llvm.expect.i1(i1 %t1943, i1 false)
+ br i1 %t1944, label %exc.u770, label %exc.k771
+exc.u770:
+ call void @scr_dyn_release(ptr %t1941)
+ call void @scr_dyn_release(ptr %t1916)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1932)
+ br label %exc.cleanup2
+exc.k771:
+ store ptr %t1941, ptr %s1940
+ br label %tern.j769
+tern.f768:
+ %t1945 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t1946 = load i32, ptr %exc.cell
+ %t1947 = icmp ne i32 %t1946, 0
+ %t1948 = call i1 @llvm.expect.i1(i1 %t1947, i1 false)
+ br i1 %t1948, label %exc.u772, label %exc.k773
+exc.u772:
+ call void @scr_dyn_release(ptr %t1945)
+ call void @scr_dyn_release(ptr %t1916)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1932)
+ br label %exc.cleanup2
+exc.k773:
+ store ptr %t1945, ptr %s1940
+ br label %tern.j769
+tern.j769:
+ %t1949 = load ptr, ptr %s1940
+ %t1950 = call ptr @scr_dyn_obj_create(ptr %t1949)
+ %t1951 = load i32, ptr %exc.cell
+ %t1952 = icmp ne i32 %t1951, 0
+ %t1953 = call i1 @llvm.expect.i1(i1 %t1952, i1 false)
+ br i1 %t1953, label %exc.u774, label %exc.k775
+exc.u774:
+ call void @scr_dyn_release(ptr %t1916)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1932)
+ call void @scr_dyn_release(ptr %t1949)
+ call void @scr_dyn_release(ptr %t1950)
+ br label %exc.cleanup2
+exc.k775:
+ call void @scr_dyn_release(ptr %t1916)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1932)
+ call void @scr_dyn_release(ptr %t1949)
+ %t1954 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1954)
+ ret ptr %t1950
+if.j759:
+ %t1955 = load ptr, ptr %sc_l_p_0
+ %t1956 = call ptr @sc_rc_retain_dyn(ptr %t1955)
+ %t1958 = icmp ne ptr %t1956, null
+ br i1 %t1958, label %dc.inspect776, label %dc.checked779
+dc.inspect776:
+ %t1963 = getelementptr inbounds i8, ptr %t1956, i64 8 ; ->kind
+ %t1964 = load i32, ptr %t1963
+ %t1959 = icmp eq i32 %t1964, 12
+ br i1 %t1959, label %dc.capsule777, label %dc.checked779
+dc.capsule777:
+ %t1960 = getelementptr inbounds i8, ptr %t1956, i64 40 ; ->v.typed_ref.type_key
+ %t1961 = load ptr, ptr %t1960
+ %t1962 = icmp eq ptr %t1961, @sc_cs_629517122853751
+ br i1 %t1962, label %dc.exact778, label %dc.checked779
+dc.exact778:
+ %t1965 = getelementptr inbounds i8, ptr %t1956, i64 16 ; ->v.typed_ref.ptr
+ %t1966 = load ptr, ptr %t1965
+ %t1967 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1966)
+ store ptr %t1967, ptr %s1957
+ br label %dc.done780
+dc.checked779:
+ %t1968 = call ptr @sc_dc_29(ptr %t1956, ptr null)
+ store ptr %t1968, ptr %s1957
+ %t1969 = load i32, ptr %exc.cell
+ %t1970 = icmp ne i32 %t1969, 0
+ %t1971 = call i1 @llvm.expect.i1(i1 %t1970, i1 false)
+ br i1 %t1971, label %exc.u781, label %exc.k782
+exc.u781:
+ call void @scr_dyn_release(ptr %t1956)
+ br label %exc.cleanup2
+exc.k782:
+ br label %dc.done780
+dc.done780:
+ %t1972 = load ptr, ptr %s1957
+ %t1973 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1972, i64 0, i32 2
+ %t1974 = load ptr, ptr %t1973, !tbaa !204
+ %t1975 = call ptr @sc_rc_retain_dyn(ptr %t1974)
+ call void @scr_dyn_release(ptr %t1956)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1972)
+ %t1976 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1976)
+ ret ptr %t1975
+if.j750:
+ %t1977 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1978
+ %t1979 = icmp ne ptr %t1977, null
+ br i1 %t1979, label %brand.inspect783, label %brand.done785
+brand.inspect783:
+ %t1980 = getelementptr inbounds i8, ptr %t1977, i64 8 ; ->kind
+ %t1981 = load i32, ptr %t1980
+ %t1982 = icmp eq i32 %t1981, 12
+ br i1 %t1982, label %brand.capsule784, label %brand.done785
+brand.capsule784:
+ %t1983 = getelementptr inbounds i8, ptr %t1977, i64 40 ; ->v.typed_ref.type_key
+ %t1984 = load ptr, ptr %t1983
+ %t1985 = icmp eq ptr %t1984, @sc_cs_629517122853751
+ store i1 true, ptr %s1978
+ br i1 %t1985, label %brand.done785, label %brand.compare786
+brand.compare786:
+ %t1986 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1977, ptr @sc_lit_629517122853751)
+ store i1 %t1986, ptr %s1978
+ br label %brand.done785
+brand.done785:
+ %t1987 = load i1, ptr %s1978
+ br i1 %t1987, label %tern.t787, label %tern.f788
+tern.t787:
+ %t1989 = load ptr, ptr %sc_l_p_0
+ %t1990 = call ptr @sc_rc_retain_dyn(ptr %t1989)
+ %t1992 = icmp ne ptr %t1990, null
+ br i1 %t1992, label %dc.inspect790, label %dc.checked793
+dc.inspect790:
+ %t1997 = getelementptr inbounds i8, ptr %t1990, i64 8 ; ->kind
+ %t1998 = load i32, ptr %t1997
+ %t1993 = icmp eq i32 %t1998, 12
+ br i1 %t1993, label %dc.capsule791, label %dc.checked793
+dc.capsule791:
+ %t1994 = getelementptr inbounds i8, ptr %t1990, i64 40 ; ->v.typed_ref.type_key
+ %t1995 = load ptr, ptr %t1994
+ %t1996 = icmp eq ptr %t1995, @sc_cs_629517122853751
+ br i1 %t1996, label %dc.exact792, label %dc.checked793
+dc.exact792:
+ %t1999 = getelementptr inbounds i8, ptr %t1990, i64 16 ; ->v.typed_ref.ptr
+ %t2000 = load ptr, ptr %t1999
+ %t2001 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2000)
+ store ptr %t2001, ptr %s1991
+ br label %dc.done794
+dc.checked793:
+ %t2002 = call ptr @sc_dc_29(ptr %t1990, ptr null)
+ store ptr %t2002, ptr %s1991
+ %t2003 = load i32, ptr %exc.cell
+ %t2004 = icmp ne i32 %t2003, 0
+ %t2005 = call i1 @llvm.expect.i1(i1 %t2004, i1 false)
+ br i1 %t2005, label %exc.u795, label %exc.k796
+exc.u795:
+ call void @scr_dyn_release(ptr %t1990)
+ br label %exc.cleanup2
+exc.k796:
+ br label %dc.done794
+dc.done794:
+ %t2006 = load ptr, ptr %s1991
+ %t2007 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2006, i64 0, i32 1
+ %t2008 = load ptr, ptr %t2007
+ %t2009 = getelementptr inbounds %ScrVt, ptr %t2008, i64 0, i32 0
+ %t2010 = load i64, ptr %t2009
+ %t2011 = icmp uge i64 %t2010, 16
+ %t2012 = icmp ule i64 %t2010, 16
+ %t2013 = and i1 %t2011, %t2012 ; instanceof %m2.NodeResponseSink
+ store i1 %t2013, ptr %s1988
+ call void @scr_dyn_release(ptr %t1990)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2006)
+ br label %tern.j789
+tern.f788:
+ store i1 false, ptr %s1988
+ br label %tern.j789
+tern.j789:
+ %t2014 = load i1, ptr %s1988
+ br i1 %t2014, label %if.t797, label %if.j798
+if.t797:
+ %t2015 = load ptr, ptr %sc_l_p_0
+ %t2016 = call ptr @sc_rc_retain_dyn(ptr %t2015)
+ %t2018 = icmp ne ptr %t2016, null
+ br i1 %t2018, label %dc.inspect799, label %dc.checked802
+dc.inspect799:
+ %t2023 = getelementptr inbounds i8, ptr %t2016, i64 8 ; ->kind
+ %t2024 = load i32, ptr %t2023
+ %t2019 = icmp eq i32 %t2024, 12
+ br i1 %t2019, label %dc.capsule800, label %dc.checked802
+dc.capsule800:
+ %t2020 = getelementptr inbounds i8, ptr %t2016, i64 40 ; ->v.typed_ref.type_key
+ %t2021 = load ptr, ptr %t2020
+ %t2022 = icmp eq ptr %t2021, @sc_cs_629517122853751
+ br i1 %t2022, label %dc.exact801, label %dc.checked802
+dc.exact801:
+ %t2025 = getelementptr inbounds i8, ptr %t2016, i64 16 ; ->v.typed_ref.ptr
+ %t2026 = load ptr, ptr %t2025
+ %t2027 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2026)
+ store ptr %t2027, ptr %s2017
+ br label %dc.done803
+dc.checked802:
+ %t2028 = call ptr @sc_dc_29(ptr %t2016, ptr null)
+ store ptr %t2028, ptr %s2017
+ %t2029 = load i32, ptr %exc.cell
+ %t2030 = icmp ne i32 %t2029, 0
+ %t2031 = call i1 @llvm.expect.i1(i1 %t2030, i1 false)
+ br i1 %t2031, label %exc.u804, label %exc.k805
+exc.u804:
+ call void @scr_dyn_release(ptr %t2016)
+ br label %exc.cleanup2
+exc.k805:
+ br label %dc.done803
+dc.done803:
+ %t2032 = load ptr, ptr %s2017
+ %t2033 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2032, i64 0, i32 2
+ %t2034 = load ptr, ptr %t2033, !tbaa !204
+ %t2035 = getelementptr inbounds i8, ptr %t2034, i64 8 ; ->kind
+ %t2036 = load i32, ptr %t2035
+ %t2037 = icmp eq i32 %t2036, 6
+ call void @scr_dyn_release(ptr %t2016)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2032)
+ br i1 %t2037, label %if.t806, label %if.j807
+if.t806:
+ %t2038 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t2039 = load i32, ptr %exc.cell
+ %t2040 = icmp ne i32 %t2039, 0
+ %t2041 = call i1 @llvm.expect.i1(i1 %t2040, i1 false)
+ br i1 %t2041, label %exc.u808, label %exc.k809
+exc.u808:
+ call void @scr_dyn_release(ptr %t2038)
+ br label %exc.cleanup2
+exc.k809:
+ %t2042 = call ptr @scr_dyn_obj_create(ptr %t2038)
+ %t2043 = load i32, ptr %exc.cell
+ %t2044 = icmp ne i32 %t2043, 0
+ %t2045 = call i1 @llvm.expect.i1(i1 %t2044, i1 false)
+ br i1 %t2045, label %exc.u810, label %exc.k811
+exc.u810:
+ call void @scr_dyn_release(ptr %t2038)
+ call void @scr_dyn_release(ptr %t2042)
+ br label %exc.cleanup2
+exc.k811:
+ call void @scr_dyn_release(ptr %t2038)
+ %t2046 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2046)
+ ret ptr %t2042
+if.j807:
+ %t2047 = load ptr, ptr %sc_l_p_0
+ %t2048 = call ptr @sc_rc_retain_dyn(ptr %t2047)
+ %t2050 = icmp ne ptr %t2048, null
+ br i1 %t2050, label %dc.inspect812, label %dc.checked815
+dc.inspect812:
+ %t2055 = getelementptr inbounds i8, ptr %t2048, i64 8 ; ->kind
+ %t2056 = load i32, ptr %t2055
+ %t2051 = icmp eq i32 %t2056, 12
+ br i1 %t2051, label %dc.capsule813, label %dc.checked815
+dc.capsule813:
+ %t2052 = getelementptr inbounds i8, ptr %t2048, i64 40 ; ->v.typed_ref.type_key
+ %t2053 = load ptr, ptr %t2052
+ %t2054 = icmp eq ptr %t2053, @sc_cs_629517122853751
+ br i1 %t2054, label %dc.exact814, label %dc.checked815
+dc.exact814:
+ %t2057 = getelementptr inbounds i8, ptr %t2048, i64 16 ; ->v.typed_ref.ptr
+ %t2058 = load ptr, ptr %t2057
+ %t2059 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2058)
+ store ptr %t2059, ptr %s2049
+ br label %dc.done816
+dc.checked815:
+ %t2060 = call ptr @sc_dc_29(ptr %t2048, ptr null)
+ store ptr %t2060, ptr %s2049
+ %t2061 = load i32, ptr %exc.cell
+ %t2062 = icmp ne i32 %t2061, 0
+ %t2063 = call i1 @llvm.expect.i1(i1 %t2062, i1 false)
+ br i1 %t2063, label %exc.u817, label %exc.k818
+exc.u817:
+ call void @scr_dyn_release(ptr %t2048)
+ br label %exc.cleanup2
+exc.k818:
+ br label %dc.done816
+dc.done816:
+ %t2064 = load ptr, ptr %s2049
+ %t2065 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2064, i64 0, i32 2
+ %t2066 = load ptr, ptr %t2065, !tbaa !204
+ %t2067 = call ptr @sc_rc_retain_dyn(ptr %t2066)
+ call void @scr_dyn_release(ptr %t2048)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2064)
+ %t2068 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2068)
+ ret ptr %t2067
+if.j798:
+ %t2069 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2070
+ %t2071 = icmp ne ptr %t2069, null
+ br i1 %t2071, label %brand.inspect819, label %brand.done821
+brand.inspect819:
+ %t2072 = getelementptr inbounds i8, ptr %t2069, i64 8 ; ->kind
+ %t2073 = load i32, ptr %t2072
+ %t2074 = icmp eq i32 %t2073, 12
+ br i1 %t2074, label %brand.capsule820, label %brand.done821
+brand.capsule820:
+ %t2075 = getelementptr inbounds i8, ptr %t2069, i64 40 ; ->v.typed_ref.type_key
+ %t2076 = load ptr, ptr %t2075
+ %t2077 = icmp eq ptr %t2076, @sc_cs_629517122853751
+ store i1 true, ptr %s2070
+ br i1 %t2077, label %brand.done821, label %brand.compare822
+brand.compare822:
+ %t2078 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2069, ptr @sc_lit_629517122853751)
+ store i1 %t2078, ptr %s2070
+ br label %brand.done821
+brand.done821:
+ %t2079 = load i1, ptr %s2070
+ br i1 %t2079, label %if.t823, label %if.j824
+if.t823:
+ %t2080 = load ptr, ptr %sc_l_p_0
+ %t2081 = call ptr @sc_rc_retain_dyn(ptr %t2080)
+ %t2083 = icmp ne ptr %t2081, null
+ br i1 %t2083, label %dc.inspect825, label %dc.checked828
+dc.inspect825:
+ %t2088 = getelementptr inbounds i8, ptr %t2081, i64 8 ; ->kind
+ %t2089 = load i32, ptr %t2088
+ %t2084 = icmp eq i32 %t2089, 12
+ br i1 %t2084, label %dc.capsule826, label %dc.checked828
+dc.capsule826:
+ %t2085 = getelementptr inbounds i8, ptr %t2081, i64 40 ; ->v.typed_ref.type_key
+ %t2086 = load ptr, ptr %t2085
+ %t2087 = icmp eq ptr %t2086, @sc_cs_629517122853751
+ br i1 %t2087, label %dc.exact827, label %dc.checked828
+dc.exact827:
+ %t2090 = getelementptr inbounds i8, ptr %t2081, i64 16 ; ->v.typed_ref.ptr
+ %t2091 = load ptr, ptr %t2090
+ %t2092 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2091)
+ store ptr %t2092, ptr %s2082
+ br label %dc.done829
+dc.checked828:
+ %t2093 = call ptr @sc_dc_29(ptr %t2081, ptr null)
+ store ptr %t2093, ptr %s2082
+ %t2094 = load i32, ptr %exc.cell
+ %t2095 = icmp ne i32 %t2094, 0
+ %t2096 = call i1 @llvm.expect.i1(i1 %t2095, i1 false)
+ br i1 %t2096, label %exc.u830, label %exc.k831
+exc.u830:
+ call void @scr_dyn_release(ptr %t2081)
+ br label %exc.cleanup2
+exc.k831:
+ br label %dc.done829
+dc.done829:
+ %t2097 = load ptr, ptr %s2082
+ %t2098 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2097, i64 0, i32 2
+ %t2099 = load ptr, ptr %t2098, !tbaa !204
+ %t2100 = getelementptr inbounds i8, ptr %t2099, i64 8 ; ->kind
+ %t2101 = load i32, ptr %t2100
+ %t2102 = icmp eq i32 %t2101, 6
+ call void @scr_dyn_release(ptr %t2081)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2097)
+ br i1 %t2102, label %if.t832, label %if.j833
+if.t832:
+ %t2103 = load ptr, ptr %sc_l_p_0
+ %t2104 = call ptr @sc_rc_retain_dyn(ptr %t2103)
+ %t2106 = icmp ne ptr %t2104, null
+ br i1 %t2106, label %dc.inspect834, label %dc.checked837
+dc.inspect834:
+ %t2111 = getelementptr inbounds i8, ptr %t2104, i64 8 ; ->kind
+ %t2112 = load i32, ptr %t2111
+ %t2107 = icmp eq i32 %t2112, 12
+ br i1 %t2107, label %dc.capsule835, label %dc.checked837
+dc.capsule835:
+ %t2108 = getelementptr inbounds i8, ptr %t2104, i64 40 ; ->v.typed_ref.type_key
+ %t2109 = load ptr, ptr %t2108
+ %t2110 = icmp eq ptr %t2109, @sc_cs_629517122853751
+ br i1 %t2110, label %dc.exact836, label %dc.checked837
+dc.exact836:
+ %t2113 = getelementptr inbounds i8, ptr %t2104, i64 16 ; ->v.typed_ref.ptr
+ %t2114 = load ptr, ptr %t2113
+ %t2115 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2114)
+ store ptr %t2115, ptr %s2105
+ br label %dc.done838
+dc.checked837:
+ %t2116 = call ptr @sc_dc_29(ptr %t2104, ptr null)
+ store ptr %t2116, ptr %s2105
+ %t2117 = load i32, ptr %exc.cell
+ %t2118 = icmp ne i32 %t2117, 0
+ %t2119 = call i1 @llvm.expect.i1(i1 %t2118, i1 false)
+ br i1 %t2119, label %exc.u839, label %exc.k840
+exc.u839:
+ call void @scr_dyn_release(ptr %t2104)
+ br label %exc.cleanup2
+exc.k840:
+ br label %dc.done838
+dc.done838:
+ %t2120 = load ptr, ptr %s2105
+ %t2121 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2120, i64 0, i32 1
+ %t2122 = load ptr, ptr %t2121
+ %t2123 = getelementptr inbounds %ScrVt, ptr %t2122, i64 0, i32 0
+ %t2124 = load i64, ptr %t2123
+ %t2125 = icmp uge i64 %t2124, 17
+ %t2126 = icmp ule i64 %t2124, 18
+ %t2127 = and i1 %t2125, %t2126 ; instanceof %m2.FetchResponseSink
+ br i1 %t2127, label %tern.t841, label %tern.f842
+tern.t841:
+ %t2129 = load ptr, ptr %sc_l_p_0
+ %t2130 = call ptr @sc_rc_retain_dyn(ptr %t2129)
+ %t2132 = icmp ne ptr %t2130, null
+ br i1 %t2132, label %dc.inspect844, label %dc.checked847
+dc.inspect844:
+ %t2137 = getelementptr inbounds i8, ptr %t2130, i64 8 ; ->kind
+ %t2138 = load i32, ptr %t2137
+ %t2133 = icmp eq i32 %t2138, 12
+ br i1 %t2133, label %dc.capsule845, label %dc.checked847
+dc.capsule845:
+ %t2134 = getelementptr inbounds i8, ptr %t2130, i64 40 ; ->v.typed_ref.type_key
+ %t2135 = load ptr, ptr %t2134
+ %t2136 = icmp eq ptr %t2135, @sc_cs_629517122853751
+ br i1 %t2136, label %dc.exact846, label %dc.checked847
+dc.exact846:
+ %t2139 = getelementptr inbounds i8, ptr %t2130, i64 16 ; ->v.typed_ref.ptr
+ %t2140 = load ptr, ptr %t2139
+ %t2141 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2140)
+ store ptr %t2141, ptr %s2131
+ br label %dc.done848
+dc.checked847:
+ %t2142 = call ptr @sc_dc_29(ptr %t2130, ptr null)
+ store ptr %t2142, ptr %s2131
+ %t2143 = load i32, ptr %exc.cell
+ %t2144 = icmp ne i32 %t2143, 0
+ %t2145 = call i1 @llvm.expect.i1(i1 %t2144, i1 false)
+ br i1 %t2145, label %exc.u849, label %exc.k850
+exc.u849:
+ call void @scr_dyn_release(ptr %t2130)
+ call void @scr_dyn_release(ptr %t2104)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2120)
+ br label %exc.cleanup2
+exc.k850:
+ br label %dc.done848
+dc.done848:
+ %t2146 = load ptr, ptr %s2131
+ %t2147 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2146, i64 0, i32 1
+ %t2148 = load ptr, ptr %t2147
+ %t2149 = getelementptr inbounds %ScrVt, ptr %t2148, i64 0, i32 0
+ %t2150 = load i64, ptr %t2149
+ %t2151 = icmp uge i64 %t2150, 18
+ %t2152 = icmp ule i64 %t2150, 18
+ %t2153 = and i1 %t2151, %t2152 ; instanceof %m3.LiteResponse
+ br i1 %t2153, label %tern.t851, label %tern.f852
+tern.t851:
+ %t2155 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t2156 = load i32, ptr %exc.cell
+ %t2157 = icmp ne i32 %t2156, 0
+ %t2158 = call i1 @llvm.expect.i1(i1 %t2157, i1 false)
+ br i1 %t2158, label %exc.u854, label %exc.k855
+exc.u854:
+ call void @scr_dyn_release(ptr %t2155)
+ call void @scr_dyn_release(ptr %t2130)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2146)
+ call void @scr_dyn_release(ptr %t2104)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2120)
+ br label %exc.cleanup2
+exc.k855:
+ store ptr %t2155, ptr %s2154
+ br label %tern.j853
+tern.f852:
+ %t2159 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t2160 = load i32, ptr %exc.cell
+ %t2161 = icmp ne i32 %t2160, 0
+ %t2162 = call i1 @llvm.expect.i1(i1 %t2161, i1 false)
+ br i1 %t2162, label %exc.u856, label %exc.k857
+exc.u856:
+ call void @scr_dyn_release(ptr %t2159)
+ call void @scr_dyn_release(ptr %t2130)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2146)
+ call void @scr_dyn_release(ptr %t2104)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2120)
+ br label %exc.cleanup2
+exc.k857:
+ store ptr %t2159, ptr %s2154
+ br label %tern.j853
+tern.j853:
+ %t2163 = load ptr, ptr %s2154
+ store ptr %t2163, ptr %s2128
+ call void @scr_dyn_release(ptr %t2130)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2146)
+ br label %tern.j843
+tern.f842:
+ %t2164 = load ptr, ptr %sc_l_p_0
+ %t2165 = call ptr @sc_rc_retain_dyn(ptr %t2164)
+ %t2167 = icmp ne ptr %t2165, null
+ br i1 %t2167, label %dc.inspect858, label %dc.checked861
+dc.inspect858:
+ %t2172 = getelementptr inbounds i8, ptr %t2165, i64 8 ; ->kind
+ %t2173 = load i32, ptr %t2172
+ %t2168 = icmp eq i32 %t2173, 12
+ br i1 %t2168, label %dc.capsule859, label %dc.checked861
+dc.capsule859:
+ %t2169 = getelementptr inbounds i8, ptr %t2165, i64 40 ; ->v.typed_ref.type_key
+ %t2170 = load ptr, ptr %t2169
+ %t2171 = icmp eq ptr %t2170, @sc_cs_629517122853751
+ br i1 %t2171, label %dc.exact860, label %dc.checked861
+dc.exact860:
+ %t2174 = getelementptr inbounds i8, ptr %t2165, i64 16 ; ->v.typed_ref.ptr
+ %t2175 = load ptr, ptr %t2174
+ %t2176 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2175)
+ store ptr %t2176, ptr %s2166
+ br label %dc.done862
+dc.checked861:
+ %t2177 = call ptr @sc_dc_29(ptr %t2165, ptr null)
+ store ptr %t2177, ptr %s2166
+ %t2178 = load i32, ptr %exc.cell
+ %t2179 = icmp ne i32 %t2178, 0
+ %t2180 = call i1 @llvm.expect.i1(i1 %t2179, i1 false)
+ br i1 %t2180, label %exc.u863, label %exc.k864
+exc.u863:
+ call void @scr_dyn_release(ptr %t2165)
+ call void @scr_dyn_release(ptr %t2104)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2120)
+ br label %exc.cleanup2
+exc.k864:
+ br label %dc.done862
+dc.done862:
+ %t2181 = load ptr, ptr %s2166
+ %t2182 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2181, i64 0, i32 1
+ %t2183 = load ptr, ptr %t2182
+ %t2184 = getelementptr inbounds %ScrVt, ptr %t2183, i64 0, i32 0
+ %t2185 = load i64, ptr %t2184
+ %t2186 = icmp uge i64 %t2185, 16
+ %t2187 = icmp ule i64 %t2185, 16
+ %t2188 = and i1 %t2186, %t2187 ; instanceof %m2.NodeResponseSink
+ br i1 %t2188, label %tern.t865, label %tern.f866
+tern.t865:
+ %t2190 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t2191 = load i32, ptr %exc.cell
+ %t2192 = icmp ne i32 %t2191, 0
+ %t2193 = call i1 @llvm.expect.i1(i1 %t2192, i1 false)
+ br i1 %t2193, label %exc.u868, label %exc.k869
+exc.u868:
+ call void @scr_dyn_release(ptr %t2190)
+ call void @scr_dyn_release(ptr %t2165)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2181)
+ call void @scr_dyn_release(ptr %t2104)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2120)
+ br label %exc.cleanup2
+exc.k869:
+ store ptr %t2190, ptr %s2189
+ br label %tern.j867
+tern.f866:
+ %t2194 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink()
+ %t2195 = load i32, ptr %exc.cell
+ %t2196 = icmp ne i32 %t2195, 0
+ %t2197 = call i1 @llvm.expect.i1(i1 %t2196, i1 false)
+ br i1 %t2197, label %exc.u870, label %exc.k871
+exc.u870:
+ call void @scr_dyn_release(ptr %t2194)
+ call void @scr_dyn_release(ptr %t2165)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2181)
+ call void @scr_dyn_release(ptr %t2104)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2120)
+ br label %exc.cleanup2
+exc.k871:
+ store ptr %t2194, ptr %s2189
+ br label %tern.j867
+tern.j867:
+ %t2198 = load ptr, ptr %s2189
+ store ptr %t2198, ptr %s2128
+ call void @scr_dyn_release(ptr %t2165)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2181)
+ br label %tern.j843
+tern.j843:
+ %t2199 = load ptr, ptr %s2128
+ %t2200 = call ptr @scr_dyn_obj_create(ptr %t2199)
+ %t2201 = load i32, ptr %exc.cell
+ %t2202 = icmp ne i32 %t2201, 0
+ %t2203 = call i1 @llvm.expect.i1(i1 %t2202, i1 false)
+ br i1 %t2203, label %exc.u872, label %exc.k873
+exc.u872:
+ call void @scr_dyn_release(ptr %t2104)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2120)
+ call void @scr_dyn_release(ptr %t2199)
+ call void @scr_dyn_release(ptr %t2200)
+ br label %exc.cleanup2
+exc.k873:
+ call void @scr_dyn_release(ptr %t2104)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2120)
+ call void @scr_dyn_release(ptr %t2199)
+ %t2204 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2204)
+ ret ptr %t2200
+if.j833:
+ %t2205 = load ptr, ptr %sc_l_p_0
+ %t2206 = call ptr @sc_rc_retain_dyn(ptr %t2205)
+ %t2208 = icmp ne ptr %t2206, null
+ br i1 %t2208, label %dc.inspect874, label %dc.checked877
+dc.inspect874:
+ %t2213 = getelementptr inbounds i8, ptr %t2206, i64 8 ; ->kind
+ %t2214 = load i32, ptr %t2213
+ %t2209 = icmp eq i32 %t2214, 12
+ br i1 %t2209, label %dc.capsule875, label %dc.checked877
+dc.capsule875:
+ %t2210 = getelementptr inbounds i8, ptr %t2206, i64 40 ; ->v.typed_ref.type_key
+ %t2211 = load ptr, ptr %t2210
+ %t2212 = icmp eq ptr %t2211, @sc_cs_629517122853751
+ br i1 %t2212, label %dc.exact876, label %dc.checked877
+dc.exact876:
+ %t2215 = getelementptr inbounds i8, ptr %t2206, i64 16 ; ->v.typed_ref.ptr
+ %t2216 = load ptr, ptr %t2215
+ %t2217 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2216)
+ store ptr %t2217, ptr %s2207
+ br label %dc.done878
+dc.checked877:
+ %t2218 = call ptr @sc_dc_29(ptr %t2206, ptr null)
+ store ptr %t2218, ptr %s2207
+ %t2219 = load i32, ptr %exc.cell
+ %t2220 = icmp ne i32 %t2219, 0
+ %t2221 = call i1 @llvm.expect.i1(i1 %t2220, i1 false)
+ br i1 %t2221, label %exc.u879, label %exc.k880
+exc.u879:
+ call void @scr_dyn_release(ptr %t2206)
+ br label %exc.cleanup2
+exc.k880:
+ br label %dc.done878
+dc.done878:
+ %t2222 = load ptr, ptr %s2207
+ %t2223 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2222, i64 0, i32 2
+ %t2224 = load ptr, ptr %t2223, !tbaa !204
+ %t2225 = call ptr @sc_rc_retain_dyn(ptr %t2224)
+ call void @scr_dyn_release(ptr %t2206)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2222)
+ %t2226 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2226)
+ ret ptr %t2225
+if.j824:
+ %t2227 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2228
+ %t2229 = icmp ne ptr %t2227, null
+ br i1 %t2229, label %brand.inspect881, label %brand.done883
+brand.inspect881:
+ %t2230 = getelementptr inbounds i8, ptr %t2227, i64 8 ; ->kind
+ %t2231 = load i32, ptr %t2230
+ %t2232 = icmp eq i32 %t2231, 12
+ br i1 %t2232, label %brand.capsule882, label %brand.done883
+brand.capsule882:
+ %t2233 = getelementptr inbounds i8, ptr %t2227, i64 40 ; ->v.typed_ref.type_key
+ %t2234 = load ptr, ptr %t2233
+ %t2235 = icmp eq ptr %t2234, @sc_cs_660811353369478
+ store i1 true, ptr %s2228
+ br i1 %t2235, label %brand.done883, label %brand.compare884
+brand.compare884:
+ %t2236 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2227, ptr @sc_lit_660811353369478)
+ store i1 %t2236, ptr %s2228
+ br label %brand.done883
+brand.done883:
+ %t2237 = load i1, ptr %s2228
+ br i1 %t2237, label %if.t885, label %if.j886
+if.t885:
+ %t2238 = load ptr, ptr %sc_l_p_0
+ %t2239 = call ptr @sc_rc_retain_dyn(ptr %t2238)
+ %t2241 = icmp ne ptr %t2239, null
+ br i1 %t2241, label %dc.inspect887, label %dc.checked890
+dc.inspect887:
+ %t2246 = getelementptr inbounds i8, ptr %t2239, i64 8 ; ->kind
+ %t2247 = load i32, ptr %t2246
+ %t2242 = icmp eq i32 %t2247, 12
+ br i1 %t2242, label %dc.capsule888, label %dc.checked890
+dc.capsule888:
+ %t2243 = getelementptr inbounds i8, ptr %t2239, i64 40 ; ->v.typed_ref.type_key
+ %t2244 = load ptr, ptr %t2243
+ %t2245 = icmp eq ptr %t2244, @sc_cs_660811353369478
+ br i1 %t2245, label %dc.exact889, label %dc.checked890
+dc.exact889:
+ %t2248 = getelementptr inbounds i8, ptr %t2239, i64 16 ; ->v.typed_ref.ptr
+ %t2249 = load ptr, ptr %t2248
+ %t2250 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2249)
+ store ptr %t2250, ptr %s2240
+ br label %dc.done891
+dc.checked890:
+ %t2251 = call ptr @sc_dc_28(ptr %t2239, ptr null)
+ store ptr %t2251, ptr %s2240
+ %t2252 = load i32, ptr %exc.cell
+ %t2253 = icmp ne i32 %t2252, 0
+ %t2254 = call i1 @llvm.expect.i1(i1 %t2253, i1 false)
+ br i1 %t2254, label %exc.u892, label %exc.k893
+exc.u892:
+ call void @scr_dyn_release(ptr %t2239)
+ br label %exc.cleanup2
+exc.k893:
+ br label %dc.done891
+dc.done891:
+ %t2255 = load ptr, ptr %s2240
+ %t2256 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2255, i64 0, i32 17
+ %t2257 = load ptr, ptr %t2256, !tbaa !204
+ %t2258 = getelementptr inbounds i8, ptr %t2257, i64 8 ; ->kind
+ %t2259 = load i32, ptr %t2258
+ %t2260 = icmp eq i32 %t2259, 6
+ call void @scr_dyn_release(ptr %t2239)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t2255)
+ br i1 %t2260, label %if.t894, label %if.j895
+if.t894:
+ %t2261 = call ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore()
+ %t2262 = load i32, ptr %exc.cell
+ %t2263 = icmp ne i32 %t2262, 0
+ %t2264 = call i1 @llvm.expect.i1(i1 %t2263, i1 false)
+ br i1 %t2264, label %exc.u896, label %exc.k897
+exc.u896:
+ call void @scr_dyn_release(ptr %t2261)
+ br label %exc.cleanup2
+exc.k897:
+ %t2265 = call ptr @scr_dyn_obj_create(ptr %t2261)
+ %t2266 = load i32, ptr %exc.cell
+ %t2267 = icmp ne i32 %t2266, 0
+ %t2268 = call i1 @llvm.expect.i1(i1 %t2267, i1 false)
+ br i1 %t2268, label %exc.u898, label %exc.k899
+exc.u898:
+ call void @scr_dyn_release(ptr %t2261)
+ call void @scr_dyn_release(ptr %t2265)
+ br label %exc.cleanup2
+exc.k899:
+ call void @scr_dyn_release(ptr %t2261)
+ %t2269 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2269)
+ ret ptr %t2265
+if.j895:
+ %t2270 = load ptr, ptr %sc_l_p_0
+ %t2271 = call ptr @sc_rc_retain_dyn(ptr %t2270)
+ %t2273 = icmp ne ptr %t2271, null
+ br i1 %t2273, label %dc.inspect900, label %dc.checked903
+dc.inspect900:
+ %t2278 = getelementptr inbounds i8, ptr %t2271, i64 8 ; ->kind
+ %t2279 = load i32, ptr %t2278
+ %t2274 = icmp eq i32 %t2279, 12
+ br i1 %t2274, label %dc.capsule901, label %dc.checked903
+dc.capsule901:
+ %t2275 = getelementptr inbounds i8, ptr %t2271, i64 40 ; ->v.typed_ref.type_key
+ %t2276 = load ptr, ptr %t2275
+ %t2277 = icmp eq ptr %t2276, @sc_cs_660811353369478
+ br i1 %t2277, label %dc.exact902, label %dc.checked903
+dc.exact902:
+ %t2280 = getelementptr inbounds i8, ptr %t2271, i64 16 ; ->v.typed_ref.ptr
+ %t2281 = load ptr, ptr %t2280
+ %t2282 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2281)
+ store ptr %t2282, ptr %s2272
+ br label %dc.done904
+dc.checked903:
+ %t2283 = call ptr @sc_dc_28(ptr %t2271, ptr null)
+ store ptr %t2283, ptr %s2272
+ %t2284 = load i32, ptr %exc.cell
+ %t2285 = icmp ne i32 %t2284, 0
+ %t2286 = call i1 @llvm.expect.i1(i1 %t2285, i1 false)
+ br i1 %t2286, label %exc.u905, label %exc.k906
+exc.u905:
+ call void @scr_dyn_release(ptr %t2271)
+ br label %exc.cleanup2
+exc.k906:
+ br label %dc.done904
+dc.done904:
+ %t2287 = load ptr, ptr %s2272
+ %t2288 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2287, i64 0, i32 17
+ %t2289 = load ptr, ptr %t2288, !tbaa !204
+ %t2290 = call ptr @sc_rc_retain_dyn(ptr %t2289)
+ call void @scr_dyn_release(ptr %t2271)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t2287)
+ %t2291 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2291)
+ ret ptr %t2290
+if.j886:
+ %t2292 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2293
+ %t2294 = icmp ne ptr %t2292, null
+ br i1 %t2294, label %brand.inspect907, label %brand.done909
+brand.inspect907:
+ %t2295 = getelementptr inbounds i8, ptr %t2292, i64 8 ; ->kind
+ %t2296 = load i32, ptr %t2295
+ %t2297 = icmp eq i32 %t2296, 12
+ br i1 %t2297, label %brand.capsule908, label %brand.done909
+brand.capsule908:
+ %t2298 = getelementptr inbounds i8, ptr %t2292, i64 40 ; ->v.typed_ref.type_key
+ %t2299 = load ptr, ptr %t2298
+ %t2300 = icmp eq ptr %t2299, @sc_cs_4336131790391205
+ store i1 true, ptr %s2293
+ br i1 %t2300, label %brand.done909, label %brand.compare910
+brand.compare910:
+ %t2301 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2292, ptr @sc_lit_4336131790391205)
+ store i1 %t2301, ptr %s2293
+ br label %brand.done909
+brand.done909:
+ %t2302 = load i1, ptr %s2293
+ br i1 %t2302, label %if.t911, label %if.j912
+if.t911:
+ %t2303 = load ptr, ptr %sc_l_p_0
+ %t2304 = call ptr @sc_rc_retain_dyn(ptr %t2303)
+ %t2306 = icmp ne ptr %t2304, null
+ br i1 %t2306, label %dc.inspect913, label %dc.checked916
+dc.inspect913:
+ %t2311 = getelementptr inbounds i8, ptr %t2304, i64 8 ; ->kind
+ %t2312 = load i32, ptr %t2311
+ %t2307 = icmp eq i32 %t2312, 12
+ br i1 %t2307, label %dc.capsule914, label %dc.checked916
+dc.capsule914:
+ %t2308 = getelementptr inbounds i8, ptr %t2304, i64 40 ; ->v.typed_ref.type_key
+ %t2309 = load ptr, ptr %t2308
+ %t2310 = icmp eq ptr %t2309, @sc_cs_4336131790391205
+ br i1 %t2310, label %dc.exact915, label %dc.checked916
+dc.exact915:
+ %t2313 = getelementptr inbounds i8, ptr %t2304, i64 16 ; ->v.typed_ref.ptr
+ %t2314 = load ptr, ptr %t2313
+ %t2315 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2314)
+ store ptr %t2315, ptr %s2305
+ br label %dc.done917
+dc.checked916:
+ %t2316 = call ptr @sc_dc_43(ptr %t2304, ptr null)
+ store ptr %t2316, ptr %s2305
+ %t2317 = load i32, ptr %exc.cell
+ %t2318 = icmp ne i32 %t2317, 0
+ %t2319 = call i1 @llvm.expect.i1(i1 %t2318, i1 false)
+ br i1 %t2319, label %exc.u918, label %exc.k919
+exc.u918:
+ call void @scr_dyn_release(ptr %t2304)
+ br label %exc.cleanup2
+exc.k919:
+ br label %dc.done917
+dc.done917:
+ %t2320 = load ptr, ptr %s2305
+ %t2321 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2320, i64 0, i32 6
+ %t2322 = load ptr, ptr %t2321, !tbaa !204
+ %t2323 = call ptr @sc_rc_retain_dyn(ptr %t2322)
+ call void @scr_dyn_release(ptr %t2304)
+ call void @sc_release__x25_m5_MpCfg(ptr %t2320)
+ %t2324 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2324)
+ ret ptr %t2323
+if.j912:
+ %t2325 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2326
+ %t2327 = icmp ne ptr %t2325, null
+ br i1 %t2327, label %brand.inspect920, label %brand.done922
+brand.inspect920:
+ %t2328 = getelementptr inbounds i8, ptr %t2325, i64 8 ; ->kind
+ %t2329 = load i32, ptr %t2328
+ %t2330 = icmp eq i32 %t2329, 12
+ br i1 %t2330, label %brand.capsule921, label %brand.done922
+brand.capsule921:
+ %t2331 = getelementptr inbounds i8, ptr %t2325, i64 40 ; ->v.typed_ref.type_key
+ %t2332 = load ptr, ptr %t2331
+ %t2333 = icmp eq ptr %t2332, @sc_cs_3635319175845957
+ store i1 true, ptr %s2326
+ br i1 %t2333, label %brand.done922, label %brand.compare923
+brand.compare923:
+ %t2334 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2325, ptr @sc_lit_3635319175845957)
+ store i1 %t2334, ptr %s2326
+ br label %brand.done922
+brand.done922:
+ %t2335 = load i1, ptr %s2326
+ br i1 %t2335, label %tern.t924, label %tern.f925
+tern.t924:
+ %t2337 = load ptr, ptr %sc_l_p_0
+ %t2338 = call ptr @sc_rc_retain_dyn(ptr %t2337)
+ %t2340 = icmp ne ptr %t2338, null
+ br i1 %t2340, label %dc.inspect927, label %dc.checked930
+dc.inspect927:
+ %t2345 = getelementptr inbounds i8, ptr %t2338, i64 8 ; ->kind
+ %t2346 = load i32, ptr %t2345
+ %t2341 = icmp eq i32 %t2346, 12
+ br i1 %t2341, label %dc.capsule928, label %dc.checked930
+dc.capsule928:
+ %t2342 = getelementptr inbounds i8, ptr %t2338, i64 40 ; ->v.typed_ref.type_key
+ %t2343 = load ptr, ptr %t2342
+ %t2344 = icmp eq ptr %t2343, @sc_cs_3635319175845957
+ br i1 %t2344, label %dc.exact929, label %dc.checked930
+dc.exact929:
+ %t2347 = getelementptr inbounds i8, ptr %t2338, i64 16 ; ->v.typed_ref.ptr
+ %t2348 = load ptr, ptr %t2347
+ %t2349 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2348)
+ store ptr %t2349, ptr %s2339
+ br label %dc.done931
+dc.checked930:
+ %t2350 = call ptr @sc_dc_24(ptr %t2338, ptr null)
+ store ptr %t2350, ptr %s2339
+ %t2351 = load i32, ptr %exc.cell
+ %t2352 = icmp ne i32 %t2351, 0
+ %t2353 = call i1 @llvm.expect.i1(i1 %t2352, i1 false)
+ br i1 %t2353, label %exc.u932, label %exc.k933
+exc.u932:
+ call void @scr_dyn_release(ptr %t2338)
+ br label %exc.cleanup2
+exc.k933:
+ br label %dc.done931
+dc.done931:
+ %t2354 = load ptr, ptr %s2339
+ %t2355 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2354, i64 0, i32 1
+ %t2356 = load ptr, ptr %t2355
+ %t2357 = getelementptr inbounds %ScrVt, ptr %t2356, i64 0, i32 0
+ %t2358 = load i64, ptr %t2357
+ %t2359 = icmp uge i64 %t2358, 26
+ %t2360 = icmp ule i64 %t2358, 26
+ %t2361 = and i1 %t2359, %t2360 ; instanceof %m4.MemoryStorage
+ store i1 %t2361, ptr %s2336
+ call void @scr_dyn_release(ptr %t2338)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2354)
+ br label %tern.j926
+tern.f925:
+ store i1 false, ptr %s2336
+ br label %tern.j926
+tern.j926:
+ %t2362 = load i1, ptr %s2336
+ br i1 %t2362, label %if.t934, label %if.j935
+if.t934:
+ %t2363 = load ptr, ptr %sc_l_p_0
+ %t2364 = call ptr @sc_rc_retain_dyn(ptr %t2363)
+ %t2366 = icmp ne ptr %t2364, null
+ br i1 %t2366, label %dc.inspect936, label %dc.checked939
+dc.inspect936:
+ %t2371 = getelementptr inbounds i8, ptr %t2364, i64 8 ; ->kind
+ %t2372 = load i32, ptr %t2371
+ %t2367 = icmp eq i32 %t2372, 12
+ br i1 %t2367, label %dc.capsule937, label %dc.checked939
+dc.capsule937:
+ %t2368 = getelementptr inbounds i8, ptr %t2364, i64 40 ; ->v.typed_ref.type_key
+ %t2369 = load ptr, ptr %t2368
+ %t2370 = icmp eq ptr %t2369, @sc_cs_3635319175845957
+ br i1 %t2370, label %dc.exact938, label %dc.checked939
+dc.exact938:
+ %t2373 = getelementptr inbounds i8, ptr %t2364, i64 16 ; ->v.typed_ref.ptr
+ %t2374 = load ptr, ptr %t2373
+ %t2375 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2374)
+ store ptr %t2375, ptr %s2365
+ br label %dc.done940
+dc.checked939:
+ %t2376 = call ptr @sc_dc_24(ptr %t2364, ptr null)
+ store ptr %t2376, ptr %s2365
+ %t2377 = load i32, ptr %exc.cell
+ %t2378 = icmp ne i32 %t2377, 0
+ %t2379 = call i1 @llvm.expect.i1(i1 %t2378, i1 false)
+ br i1 %t2379, label %exc.u941, label %exc.k942
+exc.u941:
+ call void @scr_dyn_release(ptr %t2364)
+ br label %exc.cleanup2
+exc.k942:
+ br label %dc.done940
+dc.done940:
+ %t2380 = load ptr, ptr %s2365
+ %t2381 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t2380, i64 0, i32 2
+ %t2382 = load ptr, ptr %t2381, !tbaa !204
+ %t2383 = getelementptr inbounds i8, ptr %t2382, i64 8 ; ->kind
+ %t2384 = load i32, ptr %t2383
+ %t2385 = icmp eq i32 %t2384, 6
+ call void @scr_dyn_release(ptr %t2364)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2380)
+ br i1 %t2385, label %if.t943, label %if.j944
+if.t943:
+ %t2386 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t2387 = load i32, ptr %exc.cell
+ %t2388 = icmp ne i32 %t2387, 0
+ %t2389 = call i1 @llvm.expect.i1(i1 %t2388, i1 false)
+ br i1 %t2389, label %exc.u945, label %exc.k946
+exc.u945:
+ call void @scr_dyn_release(ptr %t2386)
+ br label %exc.cleanup2
+exc.k946:
+ %t2390 = call ptr @scr_dyn_obj_create(ptr %t2386)
+ %t2391 = load i32, ptr %exc.cell
+ %t2392 = icmp ne i32 %t2391, 0
+ %t2393 = call i1 @llvm.expect.i1(i1 %t2392, i1 false)
+ br i1 %t2393, label %exc.u947, label %exc.k948
+exc.u947:
+ call void @scr_dyn_release(ptr %t2386)
+ call void @scr_dyn_release(ptr %t2390)
+ br label %exc.cleanup2
+exc.k948:
+ call void @scr_dyn_release(ptr %t2386)
+ %t2394 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2394)
+ ret ptr %t2390
+if.j944:
+ %t2395 = load ptr, ptr %sc_l_p_0
+ %t2396 = call ptr @sc_rc_retain_dyn(ptr %t2395)
+ %t2398 = icmp ne ptr %t2396, null
+ br i1 %t2398, label %dc.inspect949, label %dc.checked952
+dc.inspect949:
+ %t2403 = getelementptr inbounds i8, ptr %t2396, i64 8 ; ->kind
+ %t2404 = load i32, ptr %t2403
+ %t2399 = icmp eq i32 %t2404, 12
+ br i1 %t2399, label %dc.capsule950, label %dc.checked952
+dc.capsule950:
+ %t2400 = getelementptr inbounds i8, ptr %t2396, i64 40 ; ->v.typed_ref.type_key
+ %t2401 = load ptr, ptr %t2400
+ %t2402 = icmp eq ptr %t2401, @sc_cs_3635319175845957
+ br i1 %t2402, label %dc.exact951, label %dc.checked952
+dc.exact951:
+ %t2405 = getelementptr inbounds i8, ptr %t2396, i64 16 ; ->v.typed_ref.ptr
+ %t2406 = load ptr, ptr %t2405
+ %t2407 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2406)
+ store ptr %t2407, ptr %s2397
+ br label %dc.done953
+dc.checked952:
+ %t2408 = call ptr @sc_dc_24(ptr %t2396, ptr null)
+ store ptr %t2408, ptr %s2397
+ %t2409 = load i32, ptr %exc.cell
+ %t2410 = icmp ne i32 %t2409, 0
+ %t2411 = call i1 @llvm.expect.i1(i1 %t2410, i1 false)
+ br i1 %t2411, label %exc.u954, label %exc.k955
+exc.u954:
+ call void @scr_dyn_release(ptr %t2396)
+ br label %exc.cleanup2
+exc.k955:
+ br label %dc.done953
+dc.done953:
+ %t2412 = load ptr, ptr %s2397
+ %t2413 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t2412, i64 0, i32 2
+ %t2414 = load ptr, ptr %t2413, !tbaa !204
+ %t2415 = call ptr @sc_rc_retain_dyn(ptr %t2414)
+ call void @scr_dyn_release(ptr %t2396)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2412)
+ %t2416 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2416)
+ ret ptr %t2415
+if.j935:
+ %t2417 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2418
+ %t2419 = icmp ne ptr %t2417, null
+ br i1 %t2419, label %brand.inspect956, label %brand.done958
+brand.inspect956:
+ %t2420 = getelementptr inbounds i8, ptr %t2417, i64 8 ; ->kind
+ %t2421 = load i32, ptr %t2420
+ %t2422 = icmp eq i32 %t2421, 12
+ br i1 %t2422, label %brand.capsule957, label %brand.done958
+brand.capsule957:
+ %t2423 = getelementptr inbounds i8, ptr %t2417, i64 40 ; ->v.typed_ref.type_key
+ %t2424 = load ptr, ptr %t2423
+ %t2425 = icmp eq ptr %t2424, @sc_cs_3635319175845957
+ store i1 true, ptr %s2418
+ br i1 %t2425, label %brand.done958, label %brand.compare959
+brand.compare959:
+ %t2426 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2417, ptr @sc_lit_3635319175845957)
+ store i1 %t2426, ptr %s2418
+ br label %brand.done958
+brand.done958:
+ %t2427 = load i1, ptr %s2418
+ br i1 %t2427, label %if.t960, label %if.j961
+if.t960:
+ %t2428 = load ptr, ptr %sc_l_p_0
+ %t2429 = call ptr @sc_rc_retain_dyn(ptr %t2428)
+ %t2431 = icmp ne ptr %t2429, null
+ br i1 %t2431, label %dc.inspect962, label %dc.checked965
+dc.inspect962:
+ %t2436 = getelementptr inbounds i8, ptr %t2429, i64 8 ; ->kind
+ %t2437 = load i32, ptr %t2436
+ %t2432 = icmp eq i32 %t2437, 12
+ br i1 %t2432, label %dc.capsule963, label %dc.checked965
+dc.capsule963:
+ %t2433 = getelementptr inbounds i8, ptr %t2429, i64 40 ; ->v.typed_ref.type_key
+ %t2434 = load ptr, ptr %t2433
+ %t2435 = icmp eq ptr %t2434, @sc_cs_3635319175845957
+ br i1 %t2435, label %dc.exact964, label %dc.checked965
+dc.exact964:
+ %t2438 = getelementptr inbounds i8, ptr %t2429, i64 16 ; ->v.typed_ref.ptr
+ %t2439 = load ptr, ptr %t2438
+ %t2440 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2439)
+ store ptr %t2440, ptr %s2430
+ br label %dc.done966
+dc.checked965:
+ %t2441 = call ptr @sc_dc_24(ptr %t2429, ptr null)
+ store ptr %t2441, ptr %s2430
+ %t2442 = load i32, ptr %exc.cell
+ %t2443 = icmp ne i32 %t2442, 0
+ %t2444 = call i1 @llvm.expect.i1(i1 %t2443, i1 false)
+ br i1 %t2444, label %exc.u967, label %exc.k968
+exc.u967:
+ call void @scr_dyn_release(ptr %t2429)
+ br label %exc.cleanup2
+exc.k968:
+ br label %dc.done966
+dc.done966:
+ %t2445 = load ptr, ptr %s2430
+ %t2446 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2445, i64 0, i32 2
+ %t2447 = load ptr, ptr %t2446, !tbaa !204
+ %t2448 = getelementptr inbounds i8, ptr %t2447, i64 8 ; ->kind
+ %t2449 = load i32, ptr %t2448
+ %t2450 = icmp eq i32 %t2449, 6
+ call void @scr_dyn_release(ptr %t2429)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2445)
+ br i1 %t2450, label %if.t969, label %if.j970
+if.t969:
+ %t2451 = load ptr, ptr %sc_l_p_0
+ %t2452 = call ptr @sc_rc_retain_dyn(ptr %t2451)
+ %t2454 = icmp ne ptr %t2452, null
+ br i1 %t2454, label %dc.inspect971, label %dc.checked974
+dc.inspect971:
+ %t2459 = getelementptr inbounds i8, ptr %t2452, i64 8 ; ->kind
+ %t2460 = load i32, ptr %t2459
+ %t2455 = icmp eq i32 %t2460, 12
+ br i1 %t2455, label %dc.capsule972, label %dc.checked974
+dc.capsule972:
+ %t2456 = getelementptr inbounds i8, ptr %t2452, i64 40 ; ->v.typed_ref.type_key
+ %t2457 = load ptr, ptr %t2456
+ %t2458 = icmp eq ptr %t2457, @sc_cs_3635319175845957
+ br i1 %t2458, label %dc.exact973, label %dc.checked974
+dc.exact973:
+ %t2461 = getelementptr inbounds i8, ptr %t2452, i64 16 ; ->v.typed_ref.ptr
+ %t2462 = load ptr, ptr %t2461
+ %t2463 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2462)
+ store ptr %t2463, ptr %s2453
+ br label %dc.done975
+dc.checked974:
+ %t2464 = call ptr @sc_dc_24(ptr %t2452, ptr null)
+ store ptr %t2464, ptr %s2453
+ %t2465 = load i32, ptr %exc.cell
+ %t2466 = icmp ne i32 %t2465, 0
+ %t2467 = call i1 @llvm.expect.i1(i1 %t2466, i1 false)
+ br i1 %t2467, label %exc.u976, label %exc.k977
+exc.u976:
+ call void @scr_dyn_release(ptr %t2452)
+ br label %exc.cleanup2
+exc.k977:
+ br label %dc.done975
+dc.done975:
+ %t2468 = load ptr, ptr %s2453
+ %t2469 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2468, i64 0, i32 1
+ %t2470 = load ptr, ptr %t2469
+ %t2471 = getelementptr inbounds %ScrVt, ptr %t2470, i64 0, i32 0
+ %t2472 = load i64, ptr %t2471
+ %t2473 = icmp uge i64 %t2472, 26
+ %t2474 = icmp ule i64 %t2472, 26
+ %t2475 = and i1 %t2473, %t2474 ; instanceof %m4.MemoryStorage
+ br i1 %t2475, label %tern.t978, label %tern.f979
+tern.t978:
+ %t2477 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t2478 = load i32, ptr %exc.cell
+ %t2479 = icmp ne i32 %t2478, 0
+ %t2480 = call i1 @llvm.expect.i1(i1 %t2479, i1 false)
+ br i1 %t2480, label %exc.u981, label %exc.k982
+exc.u981:
+ call void @scr_dyn_release(ptr %t2477)
+ call void @scr_dyn_release(ptr %t2452)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2468)
+ br label %exc.cleanup2
+exc.k982:
+ store ptr %t2477, ptr %s2476
+ br label %tern.j980
+tern.f979:
+ %t2481 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage()
+ %t2482 = load i32, ptr %exc.cell
+ %t2483 = icmp ne i32 %t2482, 0
+ %t2484 = call i1 @llvm.expect.i1(i1 %t2483, i1 false)
+ br i1 %t2484, label %exc.u983, label %exc.k984
+exc.u983:
+ call void @scr_dyn_release(ptr %t2481)
+ call void @scr_dyn_release(ptr %t2452)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2468)
+ br label %exc.cleanup2
+exc.k984:
+ store ptr %t2481, ptr %s2476
+ br label %tern.j980
+tern.j980:
+ %t2485 = load ptr, ptr %s2476
+ %t2486 = call ptr @scr_dyn_obj_create(ptr %t2485)
+ %t2487 = load i32, ptr %exc.cell
+ %t2488 = icmp ne i32 %t2487, 0
+ %t2489 = call i1 @llvm.expect.i1(i1 %t2488, i1 false)
+ br i1 %t2489, label %exc.u985, label %exc.k986
+exc.u985:
+ call void @scr_dyn_release(ptr %t2452)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2468)
+ call void @scr_dyn_release(ptr %t2485)
+ call void @scr_dyn_release(ptr %t2486)
+ br label %exc.cleanup2
+exc.k986:
+ call void @scr_dyn_release(ptr %t2452)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2468)
+ call void @scr_dyn_release(ptr %t2485)
+ %t2490 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2490)
+ ret ptr %t2486
+if.j970:
+ %t2491 = load ptr, ptr %sc_l_p_0
+ %t2492 = call ptr @sc_rc_retain_dyn(ptr %t2491)
+ %t2494 = icmp ne ptr %t2492, null
+ br i1 %t2494, label %dc.inspect987, label %dc.checked990
+dc.inspect987:
+ %t2499 = getelementptr inbounds i8, ptr %t2492, i64 8 ; ->kind
+ %t2500 = load i32, ptr %t2499
+ %t2495 = icmp eq i32 %t2500, 12
+ br i1 %t2495, label %dc.capsule988, label %dc.checked990
+dc.capsule988:
+ %t2496 = getelementptr inbounds i8, ptr %t2492, i64 40 ; ->v.typed_ref.type_key
+ %t2497 = load ptr, ptr %t2496
+ %t2498 = icmp eq ptr %t2497, @sc_cs_3635319175845957
+ br i1 %t2498, label %dc.exact989, label %dc.checked990
+dc.exact989:
+ %t2501 = getelementptr inbounds i8, ptr %t2492, i64 16 ; ->v.typed_ref.ptr
+ %t2502 = load ptr, ptr %t2501
+ %t2503 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2502)
+ store ptr %t2503, ptr %s2493
+ br label %dc.done991
+dc.checked990:
+ %t2504 = call ptr @sc_dc_24(ptr %t2492, ptr null)
+ store ptr %t2504, ptr %s2493
+ %t2505 = load i32, ptr %exc.cell
+ %t2506 = icmp ne i32 %t2505, 0
+ %t2507 = call i1 @llvm.expect.i1(i1 %t2506, i1 false)
+ br i1 %t2507, label %exc.u992, label %exc.k993
+exc.u992:
+ call void @scr_dyn_release(ptr %t2492)
+ br label %exc.cleanup2
+exc.k993:
+ br label %dc.done991
+dc.done991:
+ %t2508 = load ptr, ptr %s2493
+ %t2509 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2508, i64 0, i32 2
+ %t2510 = load ptr, ptr %t2509, !tbaa !204
+ %t2511 = call ptr @sc_rc_retain_dyn(ptr %t2510)
+ call void @scr_dyn_release(ptr %t2492)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2508)
+ %t2512 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2512)
+ ret ptr %t2511
+if.j961:
+ %t2513 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2514
+ %t2515 = icmp ne ptr %t2513, null
+ br i1 %t2515, label %brand.inspect994, label %brand.done996
+brand.inspect994:
+ %t2516 = getelementptr inbounds i8, ptr %t2513, i64 8 ; ->kind
+ %t2517 = load i32, ptr %t2516
+ %t2518 = icmp eq i32 %t2517, 12
+ br i1 %t2518, label %brand.capsule995, label %brand.done996
+brand.capsule995:
+ %t2519 = getelementptr inbounds i8, ptr %t2513, i64 40 ; ->v.typed_ref.type_key
+ %t2520 = load ptr, ptr %t2519
+ %t2521 = icmp eq ptr %t2520, @sc_cs_4143564844538255
+ store i1 true, ptr %s2514
+ br i1 %t2521, label %brand.done996, label %brand.compare997
+brand.compare997:
+ %t2522 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2513, ptr @sc_lit_4143564844538255)
+ store i1 %t2522, ptr %s2514
+ br label %brand.done996
+brand.done996:
+ %t2523 = load i1, ptr %s2514
+ br i1 %t2523, label %if.t998, label %if.j999
+if.t998:
+ %t2524 = load ptr, ptr %sc_l_p_0
+ %t2525 = call ptr @sc_rc_retain_dyn(ptr %t2524)
+ %t2527 = icmp ne ptr %t2525, null
+ br i1 %t2527, label %dc.inspect1000, label %dc.checked1003
+dc.inspect1000:
+ %t2532 = getelementptr inbounds i8, ptr %t2525, i64 8 ; ->kind
+ %t2533 = load i32, ptr %t2532
+ %t2528 = icmp eq i32 %t2533, 12
+ br i1 %t2528, label %dc.capsule1001, label %dc.checked1003
+dc.capsule1001:
+ %t2529 = getelementptr inbounds i8, ptr %t2525, i64 40 ; ->v.typed_ref.type_key
+ %t2530 = load ptr, ptr %t2529
+ %t2531 = icmp eq ptr %t2530, @sc_cs_4143564844538255
+ br i1 %t2531, label %dc.exact1002, label %dc.checked1003
+dc.exact1002:
+ %t2534 = getelementptr inbounds i8, ptr %t2525, i64 16 ; ->v.typed_ref.ptr
+ %t2535 = load ptr, ptr %t2534
+ %t2536 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t2535)
+ store ptr %t2536, ptr %s2526
+ br label %dc.done1004
+dc.checked1003:
+ %t2537 = call ptr @sc_dc_109(ptr %t2525, ptr null)
+ store ptr %t2537, ptr %s2526
+ %t2538 = load i32, ptr %exc.cell
+ %t2539 = icmp ne i32 %t2538, 0
+ %t2540 = call i1 @llvm.expect.i1(i1 %t2539, i1 false)
+ br i1 %t2540, label %exc.u1005, label %exc.k1006
+exc.u1005:
+ call void @scr_dyn_release(ptr %t2525)
+ br label %exc.cleanup2
+exc.k1006:
+ br label %dc.done1004
+dc.done1004:
+ %t2541 = load ptr, ptr %s2526
+ %t2542 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2541, i64 0, i32 2
+ %t2543 = load ptr, ptr %t2542, !tbaa !204
+ %t2544 = getelementptr inbounds i8, ptr %t2543, i64 8 ; ->kind
+ %t2545 = load i32, ptr %t2544
+ %t2546 = icmp eq i32 %t2545, 6
+ call void @scr_dyn_release(ptr %t2525)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t2541)
+ br i1 %t2546, label %if.t1007, label %if.j1008
+if.t1007:
+ %t2547 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t2548 = load i32, ptr %exc.cell
+ %t2549 = icmp ne i32 %t2548, 0
+ %t2550 = call i1 @llvm.expect.i1(i1 %t2549, i1 false)
+ br i1 %t2550, label %exc.u1009, label %exc.k1010
+exc.u1009:
+ call void @scr_dyn_release(ptr %t2547)
+ br label %exc.cleanup2
+exc.k1010:
+ %t2551 = call ptr @scr_dyn_obj_create(ptr %t2547)
+ %t2552 = load i32, ptr %exc.cell
+ %t2553 = icmp ne i32 %t2552, 0
+ %t2554 = call i1 @llvm.expect.i1(i1 %t2553, i1 false)
+ br i1 %t2554, label %exc.u1011, label %exc.k1012
+exc.u1011:
+ call void @scr_dyn_release(ptr %t2547)
+ call void @scr_dyn_release(ptr %t2551)
+ br label %exc.cleanup2
+exc.k1012:
+ call void @scr_dyn_release(ptr %t2547)
+ %t2555 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2555)
+ ret ptr %t2551
+if.j1008:
+ %t2556 = load ptr, ptr %sc_l_p_0
+ %t2557 = call ptr @sc_rc_retain_dyn(ptr %t2556)
+ %t2559 = icmp ne ptr %t2557, null
+ br i1 %t2559, label %dc.inspect1013, label %dc.checked1016
+dc.inspect1013:
+ %t2564 = getelementptr inbounds i8, ptr %t2557, i64 8 ; ->kind
+ %t2565 = load i32, ptr %t2564
+ %t2560 = icmp eq i32 %t2565, 12
+ br i1 %t2560, label %dc.capsule1014, label %dc.checked1016
+dc.capsule1014:
+ %t2561 = getelementptr inbounds i8, ptr %t2557, i64 40 ; ->v.typed_ref.type_key
+ %t2562 = load ptr, ptr %t2561
+ %t2563 = icmp eq ptr %t2562, @sc_cs_4143564844538255
+ br i1 %t2563, label %dc.exact1015, label %dc.checked1016
+dc.exact1015:
+ %t2566 = getelementptr inbounds i8, ptr %t2557, i64 16 ; ->v.typed_ref.ptr
+ %t2567 = load ptr, ptr %t2566
+ %t2568 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t2567)
+ store ptr %t2568, ptr %s2558
+ br label %dc.done1017
+dc.checked1016:
+ %t2569 = call ptr @sc_dc_109(ptr %t2557, ptr null)
+ store ptr %t2569, ptr %s2558
+ %t2570 = load i32, ptr %exc.cell
+ %t2571 = icmp ne i32 %t2570, 0
+ %t2572 = call i1 @llvm.expect.i1(i1 %t2571, i1 false)
+ br i1 %t2572, label %exc.u1018, label %exc.k1019
+exc.u1018:
+ call void @scr_dyn_release(ptr %t2557)
+ br label %exc.cleanup2
+exc.k1019:
+ br label %dc.done1017
+dc.done1017:
+ %t2573 = load ptr, ptr %s2558
+ %t2574 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2573, i64 0, i32 2
+ %t2575 = load ptr, ptr %t2574, !tbaa !204
+ %t2576 = call ptr @sc_rc_retain_dyn(ptr %t2575)
+ call void @scr_dyn_release(ptr %t2557)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t2573)
+ %t2577 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2577)
+ ret ptr %t2576
+if.j999:
+ %t2578 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2579
+ %t2580 = icmp ne ptr %t2578, null
+ br i1 %t2580, label %brand.inspect1020, label %brand.done1022
+brand.inspect1020:
+ %t2581 = getelementptr inbounds i8, ptr %t2578, i64 8 ; ->kind
+ %t2582 = load i32, ptr %t2581
+ %t2583 = icmp eq i32 %t2582, 12
+ br i1 %t2583, label %brand.capsule1021, label %brand.done1022
+brand.capsule1021:
+ %t2584 = getelementptr inbounds i8, ptr %t2578, i64 40 ; ->v.typed_ref.type_key
+ %t2585 = load ptr, ptr %t2584
+ %t2586 = icmp eq ptr %t2585, @sc_cs_2875643240706496
+ store i1 true, ptr %s2579
+ br i1 %t2586, label %brand.done1022, label %brand.compare1023
+brand.compare1023:
+ %t2587 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2578, ptr @sc_lit_2875643240706496)
+ store i1 %t2587, ptr %s2579
+ br label %brand.done1022
+brand.done1022:
+ %t2588 = load i1, ptr %s2579
+ br i1 %t2588, label %if.t1024, label %if.j1025
+if.t1024:
+ %t2589 = load ptr, ptr %sc_l_p_0
+ %t2590 = call ptr @sc_rc_retain_dyn(ptr %t2589)
+ %t2592 = icmp ne ptr %t2590, null
+ br i1 %t2592, label %dc.inspect1026, label %dc.checked1029
+dc.inspect1026:
+ %t2597 = getelementptr inbounds i8, ptr %t2590, i64 8 ; ->kind
+ %t2598 = load i32, ptr %t2597
+ %t2593 = icmp eq i32 %t2598, 12
+ br i1 %t2593, label %dc.capsule1027, label %dc.checked1029
+dc.capsule1027:
+ %t2594 = getelementptr inbounds i8, ptr %t2590, i64 40 ; ->v.typed_ref.type_key
+ %t2595 = load ptr, ptr %t2594
+ %t2596 = icmp eq ptr %t2595, @sc_cs_2875643240706496
+ br i1 %t2596, label %dc.exact1028, label %dc.checked1029
+dc.exact1028:
+ %t2599 = getelementptr inbounds i8, ptr %t2590, i64 16 ; ->v.typed_ref.ptr
+ %t2600 = load ptr, ptr %t2599
+ %t2601 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t2600)
+ store ptr %t2601, ptr %s2591
+ br label %dc.done1030
+dc.checked1029:
+ %t2602 = call ptr @sc_dc_48(ptr %t2590, ptr null)
+ store ptr %t2602, ptr %s2591
+ %t2603 = load i32, ptr %exc.cell
+ %t2604 = icmp ne i32 %t2603, 0
+ %t2605 = call i1 @llvm.expect.i1(i1 %t2604, i1 false)
+ br i1 %t2605, label %exc.u1031, label %exc.k1032
+exc.u1031:
+ call void @scr_dyn_release(ptr %t2590)
+ br label %exc.cleanup2
+exc.k1032:
+ br label %dc.done1030
+dc.done1030:
+ %t2606 = load ptr, ptr %s2591
+ %t2607 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t2606, i64 0, i32 8
+ %t2608 = load ptr, ptr %t2607, !tbaa !204
+ %t2609 = getelementptr inbounds i8, ptr %t2608, i64 8 ; ->kind
+ %t2610 = load i32, ptr %t2609
+ %t2611 = icmp eq i32 %t2610, 6
+ call void @scr_dyn_release(ptr %t2590)
+ call void @sc_release__x25_m5_CtxCore(ptr %t2606)
+ br i1 %t2611, label %if.t1033, label %if.j1034
+if.t1033:
+ %t2612 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxCore()
+ %t2613 = load i32, ptr %exc.cell
+ %t2614 = icmp ne i32 %t2613, 0
+ %t2615 = call i1 @llvm.expect.i1(i1 %t2614, i1 false)
+ br i1 %t2615, label %exc.u1035, label %exc.k1036
+exc.u1035:
+ call void @scr_dyn_release(ptr %t2612)
+ br label %exc.cleanup2
+exc.k1036:
+ %t2616 = call ptr @scr_dyn_obj_create(ptr %t2612)
+ %t2617 = load i32, ptr %exc.cell
+ %t2618 = icmp ne i32 %t2617, 0
+ %t2619 = call i1 @llvm.expect.i1(i1 %t2618, i1 false)
+ br i1 %t2619, label %exc.u1037, label %exc.k1038
+exc.u1037:
+ call void @scr_dyn_release(ptr %t2612)
+ call void @scr_dyn_release(ptr %t2616)
+ br label %exc.cleanup2
+exc.k1038:
+ call void @scr_dyn_release(ptr %t2612)
+ %t2620 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2620)
+ ret ptr %t2616
+if.j1034:
+ %t2621 = load ptr, ptr %sc_l_p_0
+ %t2622 = call ptr @sc_rc_retain_dyn(ptr %t2621)
+ %t2624 = icmp ne ptr %t2622, null
+ br i1 %t2624, label %dc.inspect1039, label %dc.checked1042
+dc.inspect1039:
+ %t2629 = getelementptr inbounds i8, ptr %t2622, i64 8 ; ->kind
+ %t2630 = load i32, ptr %t2629
+ %t2625 = icmp eq i32 %t2630, 12
+ br i1 %t2625, label %dc.capsule1040, label %dc.checked1042
+dc.capsule1040:
+ %t2626 = getelementptr inbounds i8, ptr %t2622, i64 40 ; ->v.typed_ref.type_key
+ %t2627 = load ptr, ptr %t2626
+ %t2628 = icmp eq ptr %t2627, @sc_cs_2875643240706496
+ br i1 %t2628, label %dc.exact1041, label %dc.checked1042
+dc.exact1041:
+ %t2631 = getelementptr inbounds i8, ptr %t2622, i64 16 ; ->v.typed_ref.ptr
+ %t2632 = load ptr, ptr %t2631
+ %t2633 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t2632)
+ store ptr %t2633, ptr %s2623
+ br label %dc.done1043
+dc.checked1042:
+ %t2634 = call ptr @sc_dc_48(ptr %t2622, ptr null)
+ store ptr %t2634, ptr %s2623
+ %t2635 = load i32, ptr %exc.cell
+ %t2636 = icmp ne i32 %t2635, 0
+ %t2637 = call i1 @llvm.expect.i1(i1 %t2636, i1 false)
+ br i1 %t2637, label %exc.u1044, label %exc.k1045
+exc.u1044:
+ call void @scr_dyn_release(ptr %t2622)
+ br label %exc.cleanup2
+exc.k1045:
+ br label %dc.done1043
+dc.done1043:
+ %t2638 = load ptr, ptr %s2623
+ %t2639 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t2638, i64 0, i32 8
+ %t2640 = load ptr, ptr %t2639, !tbaa !204
+ %t2641 = call ptr @sc_rc_retain_dyn(ptr %t2640)
+ call void @scr_dyn_release(ptr %t2622)
+ call void @sc_release__x25_m5_CtxCore(ptr %t2638)
+ %t2642 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2642)
+ ret ptr %t2641
+if.j1025:
+ %t2643 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2644
+ %t2645 = icmp ne ptr %t2643, null
+ br i1 %t2645, label %brand.inspect1046, label %brand.done1048
+brand.inspect1046:
+ %t2646 = getelementptr inbounds i8, ptr %t2643, i64 8 ; ->kind
+ %t2647 = load i32, ptr %t2646
+ %t2648 = icmp eq i32 %t2647, 12
+ br i1 %t2648, label %brand.capsule1047, label %brand.done1048
+brand.capsule1047:
+ %t2649 = getelementptr inbounds i8, ptr %t2643, i64 40 ; ->v.typed_ref.type_key
+ %t2650 = load ptr, ptr %t2649
+ %t2651 = icmp eq ptr %t2650, @sc_cs_21424698936986
+ store i1 true, ptr %s2644
+ br i1 %t2651, label %brand.done1048, label %brand.compare1049
+brand.compare1049:
+ %t2652 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2643, ptr @sc_lit_21424698936986)
+ store i1 %t2652, ptr %s2644
+ br label %brand.done1048
+brand.done1048:
+ %t2653 = load i1, ptr %s2644
+ br i1 %t2653, label %if.t1050, label %if.j1051
+if.t1050:
+ %t2654 = load ptr, ptr %sc_l_p_0
+ %t2655 = call ptr @sc_rc_retain_dyn(ptr %t2654)
+ %t2657 = icmp ne ptr %t2655, null
+ br i1 %t2657, label %dc.inspect1052, label %dc.checked1055
+dc.inspect1052:
+ %t2662 = getelementptr inbounds i8, ptr %t2655, i64 8 ; ->kind
+ %t2663 = load i32, ptr %t2662
+ %t2658 = icmp eq i32 %t2663, 12
+ br i1 %t2658, label %dc.capsule1053, label %dc.checked1055
+dc.capsule1053:
+ %t2659 = getelementptr inbounds i8, ptr %t2655, i64 40 ; ->v.typed_ref.type_key
+ %t2660 = load ptr, ptr %t2659
+ %t2661 = icmp eq ptr %t2660, @sc_cs_21424698936986
+ br i1 %t2661, label %dc.exact1054, label %dc.checked1055
+dc.exact1054:
+ %t2664 = getelementptr inbounds i8, ptr %t2655, i64 16 ; ->v.typed_ref.ptr
+ %t2665 = load ptr, ptr %t2664
+ %t2666 = call ptr @sc_retain__x25_m5_App(ptr %t2665)
+ store ptr %t2666, ptr %s2656
+ br label %dc.done1056
+dc.checked1055:
+ %t2667 = call ptr @sc_dc_91(ptr %t2655, ptr null)
+ store ptr %t2667, ptr %s2656
+ %t2668 = load i32, ptr %exc.cell
+ %t2669 = icmp ne i32 %t2668, 0
+ %t2670 = call i1 @llvm.expect.i1(i1 %t2669, i1 false)
+ br i1 %t2670, label %exc.u1057, label %exc.k1058
+exc.u1057:
+ call void @scr_dyn_release(ptr %t2655)
+ br label %exc.cleanup2
+exc.k1058:
+ br label %dc.done1056
+dc.done1056:
+ %t2671 = load ptr, ptr %s2656
+ %t2672 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t2671, i64 0, i32 18
+ %t2673 = load ptr, ptr %t2672, !tbaa !204
+ %t2674 = getelementptr inbounds i8, ptr %t2673, i64 8 ; ->kind
+ %t2675 = load i32, ptr %t2674
+ %t2676 = icmp eq i32 %t2675, 6
+ call void @scr_dyn_release(ptr %t2655)
+ call void @sc_release__x25_m5_App(ptr %t2671)
+ br i1 %t2676, label %if.t1059, label %if.j1060
+if.t1059:
+ %t2677 = call ptr @sc_f__x25_prototype_data__x25_m5_App()
+ %t2678 = load i32, ptr %exc.cell
+ %t2679 = icmp ne i32 %t2678, 0
+ %t2680 = call i1 @llvm.expect.i1(i1 %t2679, i1 false)
+ br i1 %t2680, label %exc.u1061, label %exc.k1062
+exc.u1061:
+ call void @scr_dyn_release(ptr %t2677)
+ br label %exc.cleanup2
+exc.k1062:
+ %t2681 = call ptr @scr_dyn_obj_create(ptr %t2677)
+ %t2682 = load i32, ptr %exc.cell
+ %t2683 = icmp ne i32 %t2682, 0
+ %t2684 = call i1 @llvm.expect.i1(i1 %t2683, i1 false)
+ br i1 %t2684, label %exc.u1063, label %exc.k1064
+exc.u1063:
+ call void @scr_dyn_release(ptr %t2677)
+ call void @scr_dyn_release(ptr %t2681)
+ br label %exc.cleanup2
+exc.k1064:
+ call void @scr_dyn_release(ptr %t2677)
+ %t2685 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2685)
+ ret ptr %t2681
+if.j1060:
+ %t2686 = load ptr, ptr %sc_l_p_0
+ %t2687 = call ptr @sc_rc_retain_dyn(ptr %t2686)
+ %t2689 = icmp ne ptr %t2687, null
+ br i1 %t2689, label %dc.inspect1065, label %dc.checked1068
+dc.inspect1065:
+ %t2694 = getelementptr inbounds i8, ptr %t2687, i64 8 ; ->kind
+ %t2695 = load i32, ptr %t2694
+ %t2690 = icmp eq i32 %t2695, 12
+ br i1 %t2690, label %dc.capsule1066, label %dc.checked1068
+dc.capsule1066:
+ %t2691 = getelementptr inbounds i8, ptr %t2687, i64 40 ; ->v.typed_ref.type_key
+ %t2692 = load ptr, ptr %t2691
+ %t2693 = icmp eq ptr %t2692, @sc_cs_21424698936986
+ br i1 %t2693, label %dc.exact1067, label %dc.checked1068
+dc.exact1067:
+ %t2696 = getelementptr inbounds i8, ptr %t2687, i64 16 ; ->v.typed_ref.ptr
+ %t2697 = load ptr, ptr %t2696
+ %t2698 = call ptr @sc_retain__x25_m5_App(ptr %t2697)
+ store ptr %t2698, ptr %s2688
+ br label %dc.done1069
+dc.checked1068:
+ %t2699 = call ptr @sc_dc_91(ptr %t2687, ptr null)
+ store ptr %t2699, ptr %s2688
+ %t2700 = load i32, ptr %exc.cell
+ %t2701 = icmp ne i32 %t2700, 0
+ %t2702 = call i1 @llvm.expect.i1(i1 %t2701, i1 false)
+ br i1 %t2702, label %exc.u1070, label %exc.k1071
+exc.u1070:
+ call void @scr_dyn_release(ptr %t2687)
+ br label %exc.cleanup2
+exc.k1071:
+ br label %dc.done1069
+dc.done1069:
+ %t2703 = load ptr, ptr %s2688
+ %t2704 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t2703, i64 0, i32 18
+ %t2705 = load ptr, ptr %t2704, !tbaa !204
+ %t2706 = call ptr @sc_rc_retain_dyn(ptr %t2705)
+ call void @scr_dyn_release(ptr %t2687)
+ call void @sc_release__x25_m5_App(ptr %t2703)
+ %t2707 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2707)
+ ret ptr %t2706
+if.j1051:
+ %t2708 = load ptr, ptr %sc_l_p_0
+ ret ptr %t2708
+exc.cleanup2:
+ %t2709 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2709)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m5_CtxCore() #0 { ; %prototype.data.%m5.CtxCore
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ call void @scr_dyn_release(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_161925136240866)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect)
+ %t13 = call ptr @sc_dfb_32(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ call void @scr_dyn_release(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ call void @scr_dyn_release(ptr %t25)
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_2677147133778287)
+ %t32 = call ptr @scr_dyn_new_obj()
+ %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text)
+ %t34 = call ptr @sc_dfb_33(ptr %t33, ptr null)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ ret ptr null
+exc.k13:
+ %t38 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ ret ptr null
+exc.k15:
+ %t42 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ ret ptr null
+exc.k17:
+ %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ call void @scr_dyn_release(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ call void @scr_dyn_release(ptr %t46)
+ %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ %t52 = call ptr @sc_td_0(ptr @sc_lit_528144782449140)
+ %t53 = call ptr @scr_dyn_new_obj()
+ %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header)
+ %t55 = call ptr @sc_dfb_34(ptr %t54, ptr null)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ ret ptr null
+exc.k21:
+ %t59 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ ret ptr null
+exc.k23:
+ %t63 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ ret ptr null
+exc.k25:
+ %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ call void @scr_dyn_release(ptr %t67)
+ ret ptr null
+exc.k27:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ call void @scr_dyn_release(ptr %t67)
+ %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t73 = call ptr @sc_td_0(ptr @sc_lit_127274431826284)
+ %t74 = call ptr @scr_dyn_new_obj()
+ %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status)
+ %t76 = call ptr @sc_dfb_35(ptr %t75, ptr null)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ ret ptr null
+exc.k29:
+ %t80 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ ret ptr null
+exc.k31:
+ %t84 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ ret ptr null
+exc.k33:
+ %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ call void @scr_dyn_release(ptr %t88)
+ ret ptr null
+exc.k35:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ call void @scr_dyn_release(ptr %t88)
+ %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ %t93 = call ptr @sc_rc_retain_dyn(ptr %t92)
+ %t94 = call ptr @sc_td_0(ptr @sc_lit_1950596786618243)
+ %t95 = call ptr @scr_dyn_new_obj()
+ %t96 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set)
+ %t97 = call ptr @sc_dfb_36(ptr %t96, ptr null)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3610950885518037, ptr %t97)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ ret ptr null
+exc.k37:
+ %t101 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_1948131179100861, ptr %t101)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ ret ptr null
+exc.k39:
+ %t105 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3198935257758645, ptr %t105)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ ret ptr null
+exc.k41:
+ %t109 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t93, ptr %t94, ptr %t95)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ call void @scr_dyn_release(ptr %t109)
+ ret ptr null
+exc.k43:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ call void @scr_dyn_release(ptr %t109)
+ %t113 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ %t114 = call ptr @sc_rc_retain_dyn(ptr %t113)
+ %t115 = call ptr @sc_td_0(ptr @sc_lit_48178627029362)
+ %t116 = call ptr @scr_dyn_new_obj()
+ %t117 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json)
+ %t118 = call ptr @sc_dfb_37(ptr %t117, ptr null)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3610950885518037, ptr %t118)
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ ret ptr null
+exc.k45:
+ %t122 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_1948131179100861, ptr %t122)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ ret ptr null
+exc.k47:
+ %t126 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3198935257758645, ptr %t126)
+ %t127 = load i32, ptr %exc.cell
+ %t128 = icmp ne i32 %t127, 0
+ %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false)
+ br i1 %t129, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ ret ptr null
+exc.k49:
+ %t130 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t114, ptr %t115, ptr %t116)
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ call void @scr_dyn_release(ptr %t130)
+ ret ptr null
+exc.k51:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ call void @scr_dyn_release(ptr %t130)
+ %t134 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ %t135 = call ptr @sc_rc_retain_dyn(ptr %t134)
+ %t136 = call ptr @sc_td_0(ptr @sc_lit_4044156596960274)
+ %t137 = call ptr @scr_dyn_new_obj()
+ %t138 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html)
+ %t139 = call ptr @sc_dfb_33(ptr %t138, ptr null)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3610950885518037, ptr %t139)
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ ret ptr null
+exc.k53:
+ %t143 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_1948131179100861, ptr %t143)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ ret ptr null
+exc.k55:
+ %t147 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3198935257758645, ptr %t147)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ ret ptr null
+exc.k57:
+ %t151 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t135, ptr %t136, ptr %t137)
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ call void @scr_dyn_release(ptr %t151)
+ ret ptr null
+exc.k59:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ call void @scr_dyn_release(ptr %t151)
+ %t155 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ %t156 = call ptr @sc_rc_retain_dyn(ptr %t155)
+ %t157 = call ptr @sc_td_0(ptr @sc_lit_693828840439997)
+ %t158 = call ptr @scr_dyn_new_obj()
+ %t159 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes)
+ %t160 = call ptr @sc_dfb_38(ptr %t159, ptr null)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3610950885518037, ptr %t160)
+ %t161 = load i32, ptr %exc.cell
+ %t162 = icmp ne i32 %t161, 0
+ %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false)
+ br i1 %t163, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ ret ptr null
+exc.k61:
+ %t164 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_1948131179100861, ptr %t164)
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ ret ptr null
+exc.k63:
+ %t168 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3198935257758645, ptr %t168)
+ %t169 = load i32, ptr %exc.cell
+ %t170 = icmp ne i32 %t169, 0
+ %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false)
+ br i1 %t171, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ ret ptr null
+exc.k65:
+ %t172 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t156, ptr %t157, ptr %t158)
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ call void @scr_dyn_release(ptr %t172)
+ ret ptr null
+exc.k67:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ call void @scr_dyn_release(ptr %t172)
+ %t176 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ %t177 = call ptr @sc_rc_retain_dyn(ptr %t176)
+ %t178 = call ptr @sc_td_0(ptr @sc_lit_587707337530151)
+ %t179 = call ptr @scr_dyn_new_obj()
+ %t180 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send)
+ %t181 = call ptr @sc_dfb_39(ptr %t180, ptr null)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3610950885518037, ptr %t181)
+ %t182 = load i32, ptr %exc.cell
+ %t183 = icmp ne i32 %t182, 0
+ %t184 = call i1 @llvm.expect.i1(i1 %t183, i1 false)
+ br i1 %t184, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ ret ptr null
+exc.k69:
+ %t185 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_1948131179100861, ptr %t185)
+ %t186 = load i32, ptr %exc.cell
+ %t187 = icmp ne i32 %t186, 0
+ %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false)
+ br i1 %t188, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ ret ptr null
+exc.k71:
+ %t189 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3198935257758645, ptr %t189)
+ %t190 = load i32, ptr %exc.cell
+ %t191 = icmp ne i32 %t190, 0
+ %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false)
+ br i1 %t192, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ ret ptr null
+exc.k73:
+ %t193 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t177, ptr %t178, ptr %t179)
+ %t194 = load i32, ptr %exc.cell
+ %t195 = icmp ne i32 %t194, 0
+ %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false)
+ br i1 %t196, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ call void @scr_dyn_release(ptr %t193)
+ ret ptr null
+exc.k75:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ call void @scr_dyn_release(ptr %t193)
+ br label %if.j3
+if.j3:
+ %t197 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ ret ptr %t198
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m5.CtxCore
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_2875643240706496
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_2875643240706496)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_2875643240706496
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_48(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ ret ptr %t31
+if.j7:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_release__x25_m5_CtxCore(ptr %t33)
+ ret ptr null
+exc.k16:
+ ret ptr %t33
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.CtxCore.redirect
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = call ptr @sc_bf__x25__x25_m5_CtxCore_redirect(ptr %t5, ptr %t9, ptr %t10)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t15 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t11)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr %t15
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_union_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.CtxCore.text
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_CtxCore_text(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ call void @sc_release__x25_m5_CtxCore(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_text(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m5.CtxCore.header
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = load ptr, ptr %sc_l_p_2
+ %t12 = call ptr @sc_bf__x25__x25_m5_CtxCore_header(ptr %t5, ptr %t9, ptr %t10, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t16 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t12)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr %t16
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_header(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_rrelease_r4(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_status(double %p_sc_l_p_0) #0 { ; %method.value:%%m5.CtxCore.status
+entry:
+ %sc_l_p_0 = alloca double ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store double %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load double, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_CtxCore_status(ptr %t5, double %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t10)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr %t14
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.CtxCore.set
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m5_CtxCore_set(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_set(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.CtxCore.json
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_CtxCore_json(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ call void @sc_release__x25_m5_CtxCore(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_json(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.CtxCore.html
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_CtxCore_html(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ call void @sc_release__x25_m5_CtxCore(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_html(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.CtxCore.bytes
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = call ptr @sc_bf__x25__x25_m5_CtxCore_bytes(ptr %t5, ptr %t9, ptr %t10)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t15 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t11)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr %t15
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes(ptr %p0, ptr %p1)
+ call void @scr_bytes_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.CtxCore._send
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = call ptr @sc_bf__x25__x25_m5_CtxCore__send(ptr %t5, ptr %t9, ptr %t10)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr null
+exc.k5:
+ %t15 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t11)
+ call void @sc_release__x25_m5_CtxCore(ptr %t5)
+ ret ptr %t15
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxCore__send(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn0(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn0
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s10 = alloca ptr
+ %s26 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t0 = load ptr, ptr %sc_l_c_0
+ store ptr %t0, ptr %sc_l__x25_callbackReceiver_0
+ %t1 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t2 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t1)
+ %t3 = load i32, ptr %exc.cell
+ %t4 = icmp ne i32 %t3, 0
+ %t5 = call i1 @llvm.expect.i1(i1 %t4, i1 false)
+ br i1 %t5, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t2)
+ ret ptr null
+exc.k1:
+ store ptr %t2, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t6 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %tern.t2, label %tern.f3
+tern.t2:
+ %t12 = call ptr @scr_dyn_undefined()
+ %t11 = call ptr @scr_dyn_retain_v(ptr %t12)
+ store ptr %t11, ptr %s10
+ br label %tern.j4
+tern.f3:
+ %t13 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t14 = call ptr @sc_rc_retain_dyn(ptr %t13)
+ %t15 = call ptr @sc_f__x25_dyn_class_property_31(ptr %t14)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t15)
+ br label %exc.cleanup7
+exc.k6:
+ store ptr %t15, ptr %s10
+ br label %tern.j4
+tern.j4:
+ %t19 = load ptr, ptr %s10
+ store ptr %t19, ptr %sc_l__x25_callback_0
+ %t20 = load ptr, ptr %sc_l__x25_callback_0
+ %t21 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t22 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t21, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t23 = call ptr @sc_rnew_r21()
+ %t24 = getelementptr inbounds %sc_rs_r21, ptr %t23, i64 0, i32 1
+ store ptr @sc_lit_23007219113608, ptr %t24
+ %t25 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t23, ptr @sc_rretain_r21, ptr @sc_rrelease_r21, ptr @sc_cs_1122325011748487, i64 10, ptr @sc_ldr_58_materialize, ptr @sc_ldr_58_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t25, ptr @sc_ldr_58_materialize_rops)
+ %t27 = getelementptr inbounds [1 x ptr], ptr %s26, i64 0, i64 0
+ store ptr %t25, ptr %t27
+ call void @scr_dyn_this_push_dyn(ptr %t22)
+ %t28 = call ptr @scr_dyn_call(ptr %t20, ptr %s26, i64 1, ptr @sc_cs_4290884524289030)
+ call void @scr_dyn_this_pop()
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rrelease_r21(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t28)
+ br label %exc.cleanup10
+exc.k9:
+ %t32 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t28)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rrelease_r21(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_release__x25_m5_CtxCore(ptr %t32)
+ br label %exc.cleanup10
+exc.k12:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rrelease_r21(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t28)
+ %t36 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t36)
+ %t37 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t37)
+ ret ptr %t32
+exc.cleanup7:
+ %t38 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.cleanup10:
+ %t39 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t40 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_fn0(ptr %sc_env, ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn0(ptr %sc_env, ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn_adapt_0_impl(ptr %sc_env, ptr %p_sc_l_a_0) #0 { ; %fn.adapt.0.impl
+entry:
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l_a_0 = alloca ptr ; a0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_f_0 ; captured f
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_f_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ %t10 = call ptr @scr_dyn_this_get()
+ %t11 = load ptr, ptr %sc_l_a_0
+ %t12 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t11)
+ %t13 = getelementptr inbounds %ScrClosure, ptr %t9, i64 0, i32 1
+ %t14 = load ptr, ptr %t13
+ call void @scr_dyn_this_push_dyn(ptr %t10)
+ %t15 = call ptr %t14(ptr %t9, ptr %t12)
+ call void @scr_dyn_this_pop()
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_release__x25_m5_CtxCore(ptr %t15)
+ ret ptr null
+exc.k3:
+ %t19 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t15, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_release__x25_m5_CtxCore(ptr %t15)
+ ret ptr %t19
+}
+define internal ptr @sc_f__x25_fn_adapt_0_impl(ptr %sc_env, ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn_adapt_0_impl(ptr %sc_env, ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn_adapt_0(ptr %p_sc_l_f_0) #0 { ; %fn.adapt.0
+entry:
+ %sc_l_f_0 = alloca ptr ; f
+ %s0 = alloca ptr ; lazy box f
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_f_0, ptr %sc_l_f_0
+ %t1 = call ptr @scr_closure_new(ptr @sc_f__x25_fn_adapt_0_impl, i64 1)
+ %t2 = getelementptr inbounds %ScrClosure, ptr %t1, i64 0, i32 7
+ store ptr @sc_bf__x25_fn_adapt_0_impl, ptr %t2
+ %t3 = load ptr, ptr %s0
+ %t4 = icmp eq ptr %t3, null
+ br i1 %t4, label %lazy.box0, label %lazy.box.j1
+lazy.box0:
+ %t5 = call ptr @scr_box_new(i32 4)
+ %t6 = load ptr, ptr %sc_l_f_0
+ %t7 = call ptr @scr_closure_retain_v(ptr %t6)
+ call void @scr_box_set_ref(ptr %t5, ptr %t7)
+ store ptr %t5, ptr %s0
+ br label %lazy.box.j1
+lazy.box.j1:
+ %t8 = load ptr, ptr %s0
+ %t9 = call ptr @sc_retain_box(ptr %t8)
+ %t10 = getelementptr inbounds %ScrClosure, ptr %t1, i64 1 ; caps
+ %t11 = getelementptr inbounds ptr, ptr %t10, i64 0 ; caps[0]
+ store ptr %t9, ptr %t11
+ %t12 = getelementptr inbounds %ScrBox, ptr %t8, i64 0, i32 5
+ %t13 = load ptr, ptr %t12
+ call void @scr_closure_adopt_identity(ptr %t1, ptr %t13, i32 1)
+ %t14 = load ptr, ptr %s0
+ %t15 = icmp ne ptr %t14, null
+ br i1 %t15, label %lazy.release2, label %lazy.release.j3
+lazy.release2:
+ call void @scr_box_release(ptr %t14)
+ br label %lazy.release.j3
+lazy.release.j3:
+ ret ptr %t1
+}
+define internal ptr @sc_f__x25_fn_adapt_0(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn_adapt_0(ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn1(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn1
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s30 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_c_0
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t4, label %tern.f5
+tern.t4:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j6
+tern.f5:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_31(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t19, ptr %s14
+ br label %tern.j6
+tern.j6:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t27 = call ptr @sc_rnew_r21()
+ %t28 = getelementptr inbounds %sc_rs_r21, ptr %t27, i64 0, i32 1
+ store ptr @sc_lit_23007219113608, ptr %t28
+ %t29 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t27, ptr @sc_rretain_r21, ptr @sc_rrelease_r21, ptr @sc_cs_1122325011748487, i64 10, ptr @sc_ldr_58_materialize, ptr @sc_ldr_58_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_record(ptr %t29, ptr @sc_ldr_58_materialize_rops)
+ %t31 = getelementptr inbounds [1 x ptr], ptr %s30, i64 0, i64 0
+ store ptr %t29, ptr %t31
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t32 = call ptr @scr_dyn_call(ptr %t24, ptr %s30, i64 1, ptr @sc_cs_4290884524289030)
+ call void @scr_dyn_this_pop()
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rrelease_r21(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t32)
+ br label %exc.cleanup12
+exc.k11:
+ %t36 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t32)
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rrelease_r21(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_release__x25_m5_CtxCore(ptr %t36)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rrelease_r21(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t32)
+ %t40 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret ptr %t36
+exc.cleanup9:
+ %t42 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.cleanup12:
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_fn1(ptr %sc_env, ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn1(ptr %sc_env, ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m6_AssetSource() #0 { ; %prototype.data.%m6.AssetSource
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_731773075116702)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get)
+ %t13 = call ptr @sc_dfb_40(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %if.j3
+if.j3:
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ ret ptr %t30
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m6_AssetSource(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m6.AssetSource
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s1 = alloca i1
+ %s12 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s29 = alloca i1
+ %s40 = alloca ptr
+ %s57 = alloca i1
+ %s68 = alloca ptr
+ %s85 = alloca i1
+ %s96 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s1
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %brand.inspect0, label %brand.done2
+brand.inspect0:
+ %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t4 = load i32, ptr %t3
+ %t5 = icmp eq i32 %t4, 12
+ br i1 %t5, label %brand.capsule1, label %brand.done2
+brand.capsule1:
+ %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t7 = load ptr, ptr %t6
+ %t8 = icmp eq ptr %t7, @sc_cs_3314970835853795
+ store i1 true, ptr %s1
+ br i1 %t8, label %brand.done2, label %brand.compare3
+brand.compare3:
+ %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_3314970835853795)
+ store i1 %t9, ptr %s1
+ br label %brand.done2
+brand.done2:
+ %t10 = load i1, ptr %s1
+ br i1 %t10, label %if.t4, label %if.j5
+if.t4:
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t13 = icmp ne ptr %t11, null
+ br i1 %t13, label %dc.inspect6, label %dc.checked9
+dc.inspect6:
+ %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t14 = icmp eq i32 %t19, 12
+ br i1 %t14, label %dc.capsule7, label %dc.checked9
+dc.capsule7:
+ %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key
+ %t16 = load ptr, ptr %t15
+ %t17 = icmp eq ptr %t16, @sc_cs_3314970835853795
+ br i1 %t17, label %dc.exact8, label %dc.checked9
+dc.exact8:
+ %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t21)
+ store ptr %t22, ptr %s12
+ br label %dc.done10
+dc.checked9:
+ %t23 = call ptr @sc_dc_79(ptr %t11, ptr null)
+ store ptr %t23, ptr %s12
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ ret ptr null
+exc.k12:
+ br label %dc.done10
+dc.done10:
+ %t27 = load ptr, ptr %s12
+ ret ptr %t27
+if.j5:
+ %t28 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s29
+ %t30 = icmp ne ptr %t28, null
+ br i1 %t30, label %brand.inspect13, label %brand.done15
+brand.inspect13:
+ %t31 = getelementptr inbounds i8, ptr %t28, i64 8 ; ->kind
+ %t32 = load i32, ptr %t31
+ %t33 = icmp eq i32 %t32, 12
+ br i1 %t33, label %brand.capsule14, label %brand.done15
+brand.capsule14:
+ %t34 = getelementptr inbounds i8, ptr %t28, i64 40 ; ->v.typed_ref.type_key
+ %t35 = load ptr, ptr %t34
+ %t36 = icmp eq ptr %t35, @sc_cs_3595188456357610
+ store i1 true, ptr %s29
+ br i1 %t36, label %brand.done15, label %brand.compare16
+brand.compare16:
+ %t37 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t28, ptr @sc_lit_3595188456357610)
+ store i1 %t37, ptr %s29
+ br label %brand.done15
+brand.done15:
+ %t38 = load i1, ptr %s29
+ br i1 %t38, label %if.t17, label %if.j18
+if.t17:
+ %t39 = load ptr, ptr %sc_l_this_0
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect19, label %dc.checked22
+dc.inspect19:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule20, label %dc.checked22
+dc.capsule20:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_3595188456357610
+ br i1 %t45, label %dc.exact21, label %dc.checked22
+dc.exact21:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m8_DiskAssets(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done23
+dc.checked22:
+ %t51 = call ptr @sc_dc_113(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u24, label %exc.k25
+exc.u24:
+ ret ptr null
+exc.k25:
+ br label %dc.done23
+dc.done23:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j18:
+ %t56 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s57
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %brand.inspect26, label %brand.done28
+brand.inspect26:
+ %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t61 = icmp eq i32 %t60, 12
+ br i1 %t61, label %brand.capsule27, label %brand.done28
+brand.capsule27:
+ %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t63 = load ptr, ptr %t62
+ %t64 = icmp eq ptr %t63, @sc_cs_2519527309428716
+ store i1 true, ptr %s57
+ br i1 %t64, label %brand.done28, label %brand.compare29
+brand.compare29:
+ %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2519527309428716)
+ store i1 %t65, ptr %s57
+ br label %brand.done28
+brand.done28:
+ %t66 = load i1, ptr %s57
+ br i1 %t66, label %if.t30, label %if.j31
+if.t30:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t69 = icmp ne ptr %t67, null
+ br i1 %t69, label %dc.inspect32, label %dc.checked35
+dc.inspect32:
+ %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind
+ %t75 = load i32, ptr %t74
+ %t70 = icmp eq i32 %t75, 12
+ br i1 %t70, label %dc.capsule33, label %dc.checked35
+dc.capsule33:
+ %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key
+ %t72 = load ptr, ptr %t71
+ %t73 = icmp eq ptr %t72, @sc_cs_2519527309428716
+ br i1 %t73, label %dc.exact34, label %dc.checked35
+dc.exact34:
+ %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr
+ %t77 = load ptr, ptr %t76
+ %t78 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t77)
+ store ptr %t78, ptr %s68
+ br label %dc.done36
+dc.checked35:
+ %t79 = call ptr @sc_dc_108(ptr %t67, ptr null)
+ store ptr %t79, ptr %s68
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u37, label %exc.k38
+exc.u37:
+ ret ptr null
+exc.k38:
+ br label %dc.done36
+dc.done36:
+ %t83 = load ptr, ptr %s68
+ ret ptr %t83
+if.j31:
+ %t84 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s85
+ %t86 = icmp ne ptr %t84, null
+ br i1 %t86, label %brand.inspect39, label %brand.done41
+brand.inspect39:
+ %t87 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind
+ %t88 = load i32, ptr %t87
+ %t89 = icmp eq i32 %t88, 12
+ br i1 %t89, label %brand.capsule40, label %brand.done41
+brand.capsule40:
+ %t90 = getelementptr inbounds i8, ptr %t84, i64 40 ; ->v.typed_ref.type_key
+ %t91 = load ptr, ptr %t90
+ %t92 = icmp eq ptr %t91, @sc_cs_4143564844538255
+ store i1 true, ptr %s85
+ br i1 %t92, label %brand.done41, label %brand.compare42
+brand.compare42:
+ %t93 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t84, ptr @sc_lit_4143564844538255)
+ store i1 %t93, ptr %s85
+ br label %brand.done41
+brand.done41:
+ %t94 = load i1, ptr %s85
+ br i1 %t94, label %if.t43, label %if.j44
+if.t43:
+ %t95 = load ptr, ptr %sc_l_this_0
+ %t97 = icmp ne ptr %t95, null
+ br i1 %t97, label %dc.inspect45, label %dc.checked48
+dc.inspect45:
+ %t102 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind
+ %t103 = load i32, ptr %t102
+ %t98 = icmp eq i32 %t103, 12
+ br i1 %t98, label %dc.capsule46, label %dc.checked48
+dc.capsule46:
+ %t99 = getelementptr inbounds i8, ptr %t95, i64 40 ; ->v.typed_ref.type_key
+ %t100 = load ptr, ptr %t99
+ %t101 = icmp eq ptr %t100, @sc_cs_4143564844538255
+ br i1 %t101, label %dc.exact47, label %dc.checked48
+dc.exact47:
+ %t104 = getelementptr inbounds i8, ptr %t95, i64 16 ; ->v.typed_ref.ptr
+ %t105 = load ptr, ptr %t104
+ %t106 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t105)
+ store ptr %t106, ptr %s96
+ br label %dc.done49
+dc.checked48:
+ %t107 = call ptr @sc_dc_109(ptr %t95, ptr null)
+ store ptr %t107, ptr %s96
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u50, label %exc.k51
+exc.u50:
+ ret ptr null
+exc.k51:
+ br label %dc.done49
+dc.done49:
+ %t111 = load ptr, ptr %s96
+ ret ptr %t111
+if.j44:
+ %t112 = load ptr, ptr %sc_l_this_0
+ %t113 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m6_AssetSource(ptr %t112)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_release__x25_m6_AssetSource(ptr %t113)
+ ret ptr null
+exc.k53:
+ ret ptr %t113
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m6_AssetSource(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m6_AssetSource(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m6_AssetSource_get(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m6.AssetSource.get
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m6_AssetSource_get(ptr %t0) ; borrowed result
+ ret ptr %t1
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m6_AssetSource_get(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m6_AssetSource_get(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r11(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_str_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets() #0 { ; %prototype.data.%m9.EmbeddedAssets
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @sc_f__x25_prototype_data__x25_m6_AssetSource()
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k5:
+ %t10 = call ptr @scr_dyn_obj_create(ptr %t6)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k7:
+ %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ call void @sc_rc_release_dyn(ptr %t14)
+ store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ call void @sc_rc_release_dyn(ptr %t6)
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets_ready
+ %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ %t16 = call ptr @sc_rc_retain_dyn(ptr %t15)
+ %t17 = call ptr @sc_td_0(ptr @sc_lit_731773075116702)
+ %t18 = call ptr @scr_dyn_new_obj()
+ %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get)
+ %t20 = call ptr @sc_dfb_40(ptr %t19, ptr null)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret ptr null
+exc.k9:
+ %t24 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k11:
+ %t28 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret ptr null
+exc.k13:
+ %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr null
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t32)
+ %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = call ptr @sc_td_0(ptr @sc_lit_2227497482646049)
+ %t39 = call ptr @scr_dyn_new_obj()
+ %t40 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add)
+ %t41 = call ptr @sc_dfb_41(ptr %t40, ptr null)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3610950885518037, ptr %t41)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret ptr null
+exc.k17:
+ %t45 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_1948131179100861, ptr %t45)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr null
+exc.k19:
+ %t49 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3198935257758645, ptr %t49)
+ %t50 = load i32, ptr %exc.cell
+ %t51 = icmp ne i32 %t50, 0
+ %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false)
+ br i1 %t52, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr null
+exc.k21:
+ %t53 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t37, ptr %t38, ptr %t39)
+ %t54 = load i32, ptr %exc.cell
+ %t55 = icmp ne i32 %t54, 0
+ %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false)
+ br i1 %t56, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_rc_release_dyn(ptr %t53)
+ ret ptr null
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_rc_release_dyn(ptr %t53)
+ %t57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ %t58 = call ptr @sc_rc_retain_dyn(ptr %t57)
+ %t59 = call ptr @sc_td_0(ptr @sc_lit_228045523956680)
+ %t60 = call ptr @scr_dyn_new_obj()
+ %t61 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load)
+ %t62 = call ptr @sc_dfb_42(ptr %t61, ptr null)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3610950885518037, ptr %t62)
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ ret ptr null
+exc.k25:
+ %t66 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_1948131179100861, ptr %t66)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t66)
+ ret ptr null
+exc.k27:
+ %t70 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3198935257758645, ptr %t70)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t70)
+ ret ptr null
+exc.k29:
+ %t74 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t58, ptr %t59, ptr %t60)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t74)
+ ret ptr null
+exc.k31:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t74)
+ br label %if.j3
+if.j3:
+ %t78 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ %t79 = call ptr @sc_rc_retain_dyn(ptr %t78)
+ ret ptr %t79
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m9.EmbeddedAssets
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s57 = alloca i1
+ %s68 = alloca ptr
+ %s85 = alloca i1
+ %s96 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_3314970835853795
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_3314970835853795)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_3314970835853795
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_79(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 37
+ %t37 = icmp ule i64 %t35, 38
+ %t38 = and i1 %t36, %t37 ; instanceof %m9.EmbeddedAssets
+ call void @sc_release__x25_m6_AssetSource(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_this_0
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_3314970835853795
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_79(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j16:
+ br label %if.j7
+if.j7:
+ %t56 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s57
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %brand.inspect24, label %brand.done26
+brand.inspect24:
+ %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t61 = icmp eq i32 %t60, 12
+ br i1 %t61, label %brand.capsule25, label %brand.done26
+brand.capsule25:
+ %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t63 = load ptr, ptr %t62
+ %t64 = icmp eq ptr %t63, @sc_cs_2519527309428716
+ store i1 true, ptr %s57
+ br i1 %t64, label %brand.done26, label %brand.compare27
+brand.compare27:
+ %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2519527309428716)
+ store i1 %t65, ptr %s57
+ br label %brand.done26
+brand.done26:
+ %t66 = load i1, ptr %s57
+ br i1 %t66, label %if.t28, label %if.j29
+if.t28:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t69 = icmp ne ptr %t67, null
+ br i1 %t69, label %dc.inspect30, label %dc.checked33
+dc.inspect30:
+ %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind
+ %t75 = load i32, ptr %t74
+ %t70 = icmp eq i32 %t75, 12
+ br i1 %t70, label %dc.capsule31, label %dc.checked33
+dc.capsule31:
+ %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key
+ %t72 = load ptr, ptr %t71
+ %t73 = icmp eq ptr %t72, @sc_cs_2519527309428716
+ br i1 %t73, label %dc.exact32, label %dc.checked33
+dc.exact32:
+ %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr
+ %t77 = load ptr, ptr %t76
+ %t78 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t77)
+ store ptr %t78, ptr %s68
+ br label %dc.done34
+dc.checked33:
+ %t79 = call ptr @sc_dc_108(ptr %t67, ptr null)
+ store ptr %t79, ptr %s68
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u35, label %exc.k36
+exc.u35:
+ ret ptr null
+exc.k36:
+ br label %dc.done34
+dc.done34:
+ %t83 = load ptr, ptr %s68
+ ret ptr %t83
+if.j29:
+ %t84 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s85
+ %t86 = icmp ne ptr %t84, null
+ br i1 %t86, label %brand.inspect37, label %brand.done39
+brand.inspect37:
+ %t87 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind
+ %t88 = load i32, ptr %t87
+ %t89 = icmp eq i32 %t88, 12
+ br i1 %t89, label %brand.capsule38, label %brand.done39
+brand.capsule38:
+ %t90 = getelementptr inbounds i8, ptr %t84, i64 40 ; ->v.typed_ref.type_key
+ %t91 = load ptr, ptr %t90
+ %t92 = icmp eq ptr %t91, @sc_cs_4143564844538255
+ store i1 true, ptr %s85
+ br i1 %t92, label %brand.done39, label %brand.compare40
+brand.compare40:
+ %t93 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t84, ptr @sc_lit_4143564844538255)
+ store i1 %t93, ptr %s85
+ br label %brand.done39
+brand.done39:
+ %t94 = load i1, ptr %s85
+ br i1 %t94, label %if.t41, label %if.j42
+if.t41:
+ %t95 = load ptr, ptr %sc_l_this_0
+ %t97 = icmp ne ptr %t95, null
+ br i1 %t97, label %dc.inspect43, label %dc.checked46
+dc.inspect43:
+ %t102 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind
+ %t103 = load i32, ptr %t102
+ %t98 = icmp eq i32 %t103, 12
+ br i1 %t98, label %dc.capsule44, label %dc.checked46
+dc.capsule44:
+ %t99 = getelementptr inbounds i8, ptr %t95, i64 40 ; ->v.typed_ref.type_key
+ %t100 = load ptr, ptr %t99
+ %t101 = icmp eq ptr %t100, @sc_cs_4143564844538255
+ br i1 %t101, label %dc.exact45, label %dc.checked46
+dc.exact45:
+ %t104 = getelementptr inbounds i8, ptr %t95, i64 16 ; ->v.typed_ref.ptr
+ %t105 = load ptr, ptr %t104
+ %t106 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t105)
+ store ptr %t106, ptr %s96
+ br label %dc.done47
+dc.checked46:
+ %t107 = call ptr @sc_dc_109(ptr %t95, ptr null)
+ store ptr %t107, ptr %s96
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u48, label %exc.k49
+exc.u48:
+ ret ptr null
+exc.k49:
+ br label %dc.done47
+dc.done47:
+ %t111 = load ptr, ptr %s96
+ ret ptr %t111
+if.j42:
+ %t112 = load ptr, ptr %sc_l_this_0
+ %t113 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m9_EmbeddedAssets(ptr %t112)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t113)
+ ret ptr null
+exc.k51:
+ ret ptr %t113
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m9.EmbeddedAssets.get
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5)
+ call void @sc_rrelease_r11(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m9.EmbeddedAssets.add
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m9_EmbeddedAssets_add(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @sc_rrelease_r11(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m9.EmbeddedAssets.load
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m9_EmbeddedAssets(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m9_EmbeddedAssets_load(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load(ptr %p0)
+ call void @scr_arr_release(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets() #0 { ; %prototype.data.%m14.BakedAssets
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k5:
+ %t10 = call ptr @scr_dyn_obj_create(ptr %t6)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k7:
+ %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets
+ call void @sc_rc_release_dyn(ptr %t14)
+ store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets
+ call void @sc_rc_release_dyn(ptr %t6)
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets_ready
+ br label %if.j3
+if.j3:
+ %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets
+ %t16 = call ptr @sc_rc_retain_dyn(ptr %t15)
+ ret ptr %t16
+}
+
+define internal ptr @sc_bf__x25_fn2(ptr %sc_env, ptr %p_sc_l_c_0, ptr %p_sc_l_next_0) #0 { ; %fn2
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_next_0 = alloca ptr ; next
+ %sc_l_prefix_0 = alloca ptr ; prefix
+ %sc_l_rest_0 = alloca ptr ; rest
+ %sc_l_prefix_1 = alloca ptr ; prefix
+ %sc_l_rest_1 = alloca ptr ; rest
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_prefix_1
+ store ptr null, ptr %sc_l_rest_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_prefix_0 ; captured prefix
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_rest_0 ; captured rest
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ store ptr %p_sc_l_next_0, ptr %sc_l_next_0
+ %t6 = call ptr @llvm.stacksave.p0()
+ %t7 = load ptr, ptr @scr_stack_guard
+ %t8 = icmp ult ptr %t6, %t7
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t10 = load ptr, ptr %sc_l_prefix_0
+ %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5
+ %t12 = load ptr, ptr %t11
+ store ptr %t12, ptr %sc_l_prefix_1
+ %t13 = load ptr, ptr %sc_l_rest_0
+ %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %sc_l_rest_1
+ %t16 = load ptr, ptr %sc_l_c_0
+ %t17 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t16, i64 0, i32 1
+ %t18 = load ptr, ptr %t17, !tbaa !24
+ %t19 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t18, i64 0, i32 7
+ %t20 = load ptr, ptr %t19, !tbaa !96
+ %t21 = load ptr, ptr %sc_l_prefix_1
+ %t22 = call i1 @sc_bf__x25_m5_matchUsePath(ptr %t20, ptr %t21)
+ br i1 %t22, label %if.t2, label %if.j3
+if.t2:
+ %t23 = load ptr, ptr %sc_l_rest_1
+ %t24 = load ptr, ptr %sc_l_c_0
+ %t25 = load ptr, ptr %sc_l_next_0
+ %t26 = call ptr @sc_bf__x25_m5_runPrefixed(ptr %t23, double 0x0000000000000000, ptr %t24, ptr %t25)
+ %t27 = load i32, ptr %exc.cell
+ %t28 = icmp ne i32 %t27, 0
+ %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false)
+ br i1 %t29, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t26)
+ ret ptr null
+exc.k5:
+ ret ptr %t26
+if.j3:
+ %t30 = load ptr, ptr %sc_l_next_0
+ %t31 = getelementptr inbounds %ScrClosure, ptr %t30, i64 0, i32 1
+ %t32 = load ptr, ptr %t31
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t33 = call ptr %t32(ptr %t30)
+ call void @scr_dyn_this_pop()
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t33)
+ ret ptr null
+exc.k7:
+ ret ptr %t33
+}
+define internal ptr @sc_f__x25_fn2(ptr %sc_env, ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn2(ptr %sc_env, ptr %p0, ptr %p1)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ call void @scr_closure_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_union_narrow_0(ptr %p_sc_l_u_0) #0 { ; %union.narrow.0
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1
+ %t2 = load i32, ptr %t3
+ %t1 = icmp eq i32 %t2, 0
+ br i1 %t1, label %if.t0, label %if.j1
+if.t0:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t5 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 5
+ %t6 = load ptr, ptr %t5
+ %t7 = call ptr @scr_closure_retain_v(ptr %t6)
+ ret ptr %t7
+if.j1:
+ %t8 = load ptr, ptr %sc_l_u_0
+ %t11 = getelementptr inbounds %ScrUnion, ptr %t8, i64 0, i32 1
+ %t10 = load i32, ptr %t11
+ %t9 = icmp eq i32 %t10, 1
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t12 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t12, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_0(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_union_narrow_0(ptr %p0)
+ call void @scr_union_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch() #0 { ; %prototype.data.%m0.GenDispatch
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_3862385552412238)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch)
+ %t13 = call ptr @sc_dfb_6(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %if.j3
+if.j3:
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ ret ptr %t30
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m0_GenDispatch(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m0.GenDispatch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s1 = alloca i1
+ %s12 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s1
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %brand.inspect0, label %brand.done2
+brand.inspect0:
+ %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t4 = load i32, ptr %t3
+ %t5 = icmp eq i32 %t4, 12
+ br i1 %t5, label %brand.capsule1, label %brand.done2
+brand.capsule1:
+ %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t7 = load ptr, ptr %t6
+ %t8 = icmp eq ptr %t7, @sc_cs_2165660704272757
+ store i1 true, ptr %s1
+ br i1 %t8, label %brand.done2, label %brand.compare3
+brand.compare3:
+ %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_2165660704272757)
+ store i1 %t9, ptr %s1
+ br label %brand.done2
+brand.done2:
+ %t10 = load i1, ptr %s1
+ br i1 %t10, label %if.t4, label %if.j5
+if.t4:
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t13 = icmp ne ptr %t11, null
+ br i1 %t13, label %dc.inspect6, label %dc.checked9
+dc.inspect6:
+ %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t14 = icmp eq i32 %t19, 12
+ br i1 %t14, label %dc.capsule7, label %dc.checked9
+dc.capsule7:
+ %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key
+ %t16 = load ptr, ptr %t15
+ %t17 = icmp eq ptr %t16, @sc_cs_2165660704272757
+ br i1 %t17, label %dc.exact8, label %dc.checked9
+dc.exact8:
+ %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t21)
+ store ptr %t22, ptr %s12
+ br label %dc.done10
+dc.checked9:
+ %t23 = call ptr @sc_dc_92(ptr %t11, ptr null)
+ store ptr %t23, ptr %s12
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ ret ptr null
+exc.k12:
+ br label %dc.done10
+dc.done10:
+ %t27 = load ptr, ptr %s12
+ ret ptr %t27
+if.j5:
+ %t28 = load ptr, ptr %sc_l_this_0
+ %t29 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenDispatch(ptr %t28)
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_release__x25_m0_GenDispatch(ptr %t29)
+ ret ptr null
+exc.k14:
+ ret ptr %t29
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m0_GenDispatch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m0_GenDispatch(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m0.GenDispatch.dispatch
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = load ptr, ptr %sc_l_p_1
+ %t2 = call i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %t0, ptr %t1)
+ ret i1 %t2
+}
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1)
+ call void @scr_http_req_release(ptr %p0)
+ call void @scr_http_res_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal i1 @sc_bf__x25_fn3(ptr %sc_env, ptr %p_sc_l_rq_0, ptr %p_sc_l_rs_0) #0 { ; %fn3
+entry:
+ %sc_l_rq_0 = alloca ptr ; rq
+ %sc_l_rs_0 = alloca ptr ; rs
+ %sc_l_g_0 = alloca ptr ; g
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_g_1 = alloca ptr ; g
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s20 = alloca ptr
+ %s37 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_g_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_g_0 ; captured g
+ store ptr %p_sc_l_rq_0, ptr %sc_l_rq_0
+ store ptr %p_sc_l_rs_0, ptr %sc_l_rs_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_g_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_g_1
+ %t10 = load ptr, ptr %sc_l_g_1
+ store ptr %t10, ptr %sc_l__x25_callbackReceiver_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenDispatch(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t12)
+ ret i1 false
+exc.k3:
+ store ptr %t12, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t16 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind
+ %t18 = load i32, ptr %t17
+ %t19 = icmp eq i32 %t18, 6
+ br i1 %t19, label %tern.t4, label %tern.f5
+tern.t4:
+ %t22 = call ptr @scr_dyn_undefined()
+ %t21 = call ptr @scr_dyn_retain_v(ptr %t22)
+ store ptr %t21, ptr %s20
+ br label %tern.j6
+tern.f5:
+ %t23 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t25 = call ptr @sc_f__x25_dyn_class_property_54(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t25, ptr %s20
+ br label %tern.j6
+tern.j6:
+ %t29 = load ptr, ptr %s20
+ store ptr %t29, ptr %sc_l__x25_callback_0
+ %t30 = load ptr, ptr %sc_l__x25_callback_0
+ %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ %t33 = load ptr, ptr %sc_l_rq_0
+ %t34 = call ptr @sc_td_10(ptr %t33)
+ %t35 = load ptr, ptr %sc_l_rs_0
+ %t36 = call ptr @sc_td_7(ptr %t35)
+ %t38 = getelementptr inbounds [2 x ptr], ptr %s37, i64 0, i64 0
+ store ptr %t34, ptr %t38
+ %t39 = getelementptr inbounds [2 x ptr], ptr %s37, i64 0, i64 1
+ store ptr %t36, ptr %t39
+ call void @scr_dyn_this_push_dyn(ptr %t32)
+ %t40 = call ptr @scr_dyn_call(ptr %t30, ptr %s37, i64 2, ptr @sc_cs_2374877263538670)
+ call void @scr_dyn_this_pop()
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup12
+exc.k11:
+ %t44 = call zeroext i1 @sc_dc_3(ptr %t40, ptr null)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t48 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ %t49 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret i1 %t44
+exc.cleanup9:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret i1 false
+exc.cleanup12:
+ %t51 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ %t52 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t52)
+ ret i1 false
+}
+define internal i1 @sc_f__x25_fn3(ptr %sc_env, ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_fn3(ptr %sc_env, ptr %p0, ptr %p1)
+ call void @scr_http_req_release(ptr %p0)
+ call void @scr_http_res_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m0_GenFetch() #0 { ; %prototype.data.%m0.GenFetch
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_437194258546139)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch)
+ %t13 = call ptr @sc_dfb_7(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %if.j3
+if.j3:
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ ret ptr %t30
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m0_GenFetch(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m0.GenFetch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s1 = alloca i1
+ %s12 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s1
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %brand.inspect0, label %brand.done2
+brand.inspect0:
+ %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t4 = load i32, ptr %t3
+ %t5 = icmp eq i32 %t4, 12
+ br i1 %t5, label %brand.capsule1, label %brand.done2
+brand.capsule1:
+ %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t7 = load ptr, ptr %t6
+ %t8 = icmp eq ptr %t7, @sc_cs_2798802470260116
+ store i1 true, ptr %s1
+ br i1 %t8, label %brand.done2, label %brand.compare3
+brand.compare3:
+ %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_2798802470260116)
+ store i1 %t9, ptr %s1
+ br label %brand.done2
+brand.done2:
+ %t10 = load i1, ptr %s1
+ br i1 %t10, label %if.t4, label %if.j5
+if.t4:
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t13 = icmp ne ptr %t11, null
+ br i1 %t13, label %dc.inspect6, label %dc.checked9
+dc.inspect6:
+ %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t14 = icmp eq i32 %t19, 12
+ br i1 %t14, label %dc.capsule7, label %dc.checked9
+dc.capsule7:
+ %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key
+ %t16 = load ptr, ptr %t15
+ %t17 = icmp eq ptr %t16, @sc_cs_2798802470260116
+ br i1 %t17, label %dc.exact8, label %dc.checked9
+dc.exact8:
+ %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t21)
+ store ptr %t22, ptr %s12
+ br label %dc.done10
+dc.checked9:
+ %t23 = call ptr @sc_dc_93(ptr %t11, ptr null)
+ store ptr %t23, ptr %s12
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ ret ptr null
+exc.k12:
+ br label %dc.done10
+dc.done10:
+ %t27 = load ptr, ptr %s12
+ ret ptr %t27
+if.j5:
+ %t28 = load ptr, ptr %sc_l_this_0
+ %t29 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenFetch(ptr %t28)
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_release__x25_m0_GenFetch(ptr %t29)
+ ret ptr null
+exc.k14:
+ ret ptr %t29
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m0_GenFetch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m0_GenFetch(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_3, ptr %p_sc_l_p_4, ptr %p_sc_l_p_5, ptr %p_sc_l_p_6) #0 { ; %method.value:%%m0.GenFetch.dispatchFetch
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_3 = alloca ptr ; p3
+ %sc_l_p_4 = alloca ptr ; p4
+ %sc_l_p_5 = alloca ptr ; p5
+ %sc_l_p_6 = alloca ptr ; p6
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_3, ptr %sc_l_p_3
+ store ptr %p_sc_l_p_4, ptr %sc_l_p_4
+ store ptr %p_sc_l_p_5, ptr %sc_l_p_5
+ store ptr %p_sc_l_p_6, ptr %sc_l_p_6
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = load ptr, ptr %sc_l_p_1
+ %t6 = load ptr, ptr %sc_l_p_2
+ %t7 = load ptr, ptr %sc_l_p_3
+ %t8 = load ptr, ptr %sc_l_p_4
+ %t9 = load ptr, ptr %sc_l_p_5
+ %t10 = load ptr, ptr %sc_l_p_6
+ %t11 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %t4, ptr %t5, ptr %t6, ptr %t7, ptr %t8, ptr %t9, ptr %t10)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_promise_release(ptr %t11)
+ ret ptr null
+exc.k3:
+ ret ptr %t11
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_rrelease_r0(ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ call void @scr_union_release(ptr %p5)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p6)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn4(ptr %sc_env, ptr %p_sc_l_m_0, ptr %p_sc_l_u_0, ptr %p_sc_l_h_0, ptr %p_sc_l_w_0, ptr %p_sc_l_b_0, ptr %p_sc_l_b8_0, ptr %p_sc_l_s_0) #0 { ; %fn4
+entry:
+ %sc_l_m_0 = alloca ptr ; m
+ %sc_l_u_0 = alloca ptr ; u
+ %sc_l_h_0 = alloca ptr ; h
+ %sc_l_w_0 = alloca ptr ; w
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_b8_0 = alloca ptr ; b8
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_g_0 = alloca ptr ; g
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_g_1 = alloca ptr ; g
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s20 = alloca ptr
+ %s46 = alloca [7 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_g_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_g_0 ; captured g
+ store ptr %p_sc_l_m_0, ptr %sc_l_m_0
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ store ptr %p_sc_l_h_0, ptr %sc_l_h_0
+ store ptr %p_sc_l_w_0, ptr %sc_l_w_0
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ store ptr %p_sc_l_b8_0, ptr %sc_l_b8_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_g_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_g_1
+ %t10 = load ptr, ptr %sc_l_g_1
+ store ptr %t10, ptr %sc_l__x25_callbackReceiver_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenFetch(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t12)
+ ret ptr null
+exc.k3:
+ store ptr %t12, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t16 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind
+ %t18 = load i32, ptr %t17
+ %t19 = icmp eq i32 %t18, 6
+ br i1 %t19, label %tern.t4, label %tern.f5
+tern.t4:
+ %t22 = call ptr @scr_dyn_undefined()
+ %t21 = call ptr @scr_dyn_retain_v(ptr %t22)
+ store ptr %t21, ptr %s20
+ br label %tern.j6
+tern.f5:
+ %t23 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t25 = call ptr @sc_f__x25_dyn_class_property_55(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t25, ptr %s20
+ br label %tern.j6
+tern.j6:
+ %t29 = load ptr, ptr %s20
+ store ptr %t29, ptr %sc_l__x25_callback_0
+ %t30 = load ptr, ptr %sc_l__x25_callback_0
+ %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ %t33 = load ptr, ptr %sc_l_m_0
+ %t34 = call ptr @sc_td_0(ptr %t33)
+ %t35 = load ptr, ptr %sc_l_u_0
+ %t36 = call ptr @sc_td_0(ptr %t35)
+ %t37 = load ptr, ptr %sc_l_h_0
+ %t38 = call ptr @sc_ldu_10(ptr %t37)
+ %t39 = load ptr, ptr %sc_l_w_0
+ %t40 = load ptr, ptr %sc_l_b_0
+ %t41 = call ptr @sc_td_0(ptr %t40)
+ %t42 = load ptr, ptr %sc_l_b8_0
+ %t43 = call ptr @sc_td_18(ptr %t42)
+ %t44 = load ptr, ptr %sc_l_s_0
+ %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t47 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 0
+ store ptr %t34, ptr %t47
+ %t48 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 1
+ store ptr %t36, ptr %t48
+ %t49 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 2
+ store ptr %t38, ptr %t49
+ %t50 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 3
+ store ptr %t39, ptr %t50
+ %t51 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 4
+ store ptr %t41, ptr %t51
+ %t52 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 5
+ store ptr %t43, ptr %t52
+ %t53 = getelementptr inbounds [7 x ptr], ptr %s46, i64 0, i64 6
+ store ptr %t45, ptr %t53
+ call void @scr_dyn_this_push_dyn(ptr %t32)
+ %t54 = call ptr @scr_dyn_call(ptr %t30, ptr %s46, i64 7, ptr @sc_cs_3205401475211014)
+ call void @scr_dyn_this_pop()
+ %t55 = load i32, ptr %exc.cell
+ %t56 = icmp ne i32 %t55, 0
+ %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false)
+ br i1 %t57, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t54)
+ br label %exc.cleanup12
+exc.k11:
+ %t58 = call ptr @sc_dc_46(ptr %t54, ptr null)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t54)
+ call void @scr_promise_release(ptr %t58)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t54)
+ %t62 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t62)
+ %t63 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t63)
+ ret ptr %t58
+exc.cleanup9:
+ %t64 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t64)
+ ret ptr null
+exc.cleanup12:
+ %t65 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t65)
+ %t66 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t66)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_fn4(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn4(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_rrelease_r0(ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ call void @scr_union_release(ptr %p5)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p6)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch() #0 { ; %prototype.data.%m1.UpgradeDispatch
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_2250671438728133)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade)
+ %t13 = call ptr @sc_dfb_8(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %if.j3
+if.j3:
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ ret ptr %t30
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m1_UpgradeDispatch(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m1.UpgradeDispatch
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s1 = alloca i1
+ %s12 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s1
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %brand.inspect0, label %brand.done2
+brand.inspect0:
+ %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t4 = load i32, ptr %t3
+ %t5 = icmp eq i32 %t4, 12
+ br i1 %t5, label %brand.capsule1, label %brand.done2
+brand.capsule1:
+ %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t7 = load ptr, ptr %t6
+ %t8 = icmp eq ptr %t7, @sc_cs_3870085012327510
+ store i1 true, ptr %s1
+ br i1 %t8, label %brand.done2, label %brand.compare3
+brand.compare3:
+ %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_3870085012327510)
+ store i1 %t9, ptr %s1
+ br label %brand.done2
+brand.done2:
+ %t10 = load i1, ptr %s1
+ br i1 %t10, label %if.t4, label %if.j5
+if.t4:
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t13 = icmp ne ptr %t11, null
+ br i1 %t13, label %dc.inspect6, label %dc.checked9
+dc.inspect6:
+ %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t14 = icmp eq i32 %t19, 12
+ br i1 %t14, label %dc.capsule7, label %dc.checked9
+dc.capsule7:
+ %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key
+ %t16 = load ptr, ptr %t15
+ %t17 = icmp eq ptr %t16, @sc_cs_3870085012327510
+ br i1 %t17, label %dc.exact8, label %dc.checked9
+dc.exact8:
+ %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t21)
+ store ptr %t22, ptr %s12
+ br label %dc.done10
+dc.checked9:
+ %t23 = call ptr @sc_dc_94(ptr %t11, ptr null)
+ store ptr %t23, ptr %s12
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ ret ptr null
+exc.k12:
+ br label %dc.done10
+dc.done10:
+ %t27 = load ptr, ptr %s12
+ ret ptr %t27
+if.j5:
+ %t28 = load ptr, ptr %sc_l_this_0
+ %t29 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m1_UpgradeDispatch(ptr %t28)
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t29)
+ ret ptr null
+exc.k14:
+ ret ptr %t29
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m1_UpgradeDispatch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m1_UpgradeDispatch(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m1.UpgradeDispatch.upgrade
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = load ptr, ptr %sc_l_p_1
+ %t2 = load ptr, ptr %sc_l_p_2
+ %t3 = call i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %t0, ptr %t1, ptr %t2)
+ ret i1 %t3
+}
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_http_req_release(ptr %p0)
+ call void @scr_net_sock_release(ptr %p1)
+ call void @scr_bytes_release(ptr %p2)
+ ret i1 %result
+}
+
+define internal i1 @sc_bf__x25_fn5(ptr %sc_env, ptr %p_sc_l_rq_0, ptr %p_sc_l_sk_0, ptr %p_sc_l_hd_0) #0 { ; %fn5
+entry:
+ %sc_l_rq_0 = alloca ptr ; rq
+ %sc_l_sk_0 = alloca ptr ; sk
+ %sc_l_hd_0 = alloca ptr ; hd
+ %sc_l_g_0 = alloca ptr ; g
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_g_1 = alloca ptr ; g
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s20 = alloca ptr
+ %s39 = alloca [3 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_g_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_g_0 ; captured g
+ store ptr %p_sc_l_rq_0, ptr %sc_l_rq_0
+ store ptr %p_sc_l_sk_0, ptr %sc_l_sk_0
+ store ptr %p_sc_l_hd_0, ptr %sc_l_hd_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_g_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_g_1
+ %t10 = load ptr, ptr %sc_l_g_1
+ store ptr %t10, ptr %sc_l__x25_callbackReceiver_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m1_UpgradeDispatch(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t12)
+ ret i1 false
+exc.k3:
+ store ptr %t12, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t16 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind
+ %t18 = load i32, ptr %t17
+ %t19 = icmp eq i32 %t18, 6
+ br i1 %t19, label %tern.t4, label %tern.f5
+tern.t4:
+ %t22 = call ptr @scr_dyn_undefined()
+ %t21 = call ptr @scr_dyn_retain_v(ptr %t22)
+ store ptr %t21, ptr %s20
+ br label %tern.j6
+tern.f5:
+ %t23 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t25 = call ptr @sc_f__x25_dyn_class_property_56(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t25, ptr %s20
+ br label %tern.j6
+tern.j6:
+ %t29 = load ptr, ptr %s20
+ store ptr %t29, ptr %sc_l__x25_callback_0
+ %t30 = load ptr, ptr %sc_l__x25_callback_0
+ %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ %t33 = load ptr, ptr %sc_l_rq_0
+ %t34 = call ptr @sc_td_10(ptr %t33)
+ %t35 = load ptr, ptr %sc_l_sk_0
+ %t36 = call ptr @sc_td_20(ptr %t35)
+ %t37 = load ptr, ptr %sc_l_hd_0
+ %t38 = call ptr @sc_td_1(ptr %t37)
+ %t40 = getelementptr inbounds [3 x ptr], ptr %s39, i64 0, i64 0
+ store ptr %t34, ptr %t40
+ %t41 = getelementptr inbounds [3 x ptr], ptr %s39, i64 0, i64 1
+ store ptr %t36, ptr %t41
+ %t42 = getelementptr inbounds [3 x ptr], ptr %s39, i64 0, i64 2
+ store ptr %t38, ptr %t42
+ call void @scr_dyn_this_push_dyn(ptr %t32)
+ %t43 = call ptr @scr_dyn_call(ptr %t30, ptr %s39, i64 3, ptr @sc_cs_1137312206133953)
+ call void @scr_dyn_this_pop()
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t43)
+ br label %exc.cleanup12
+exc.k11:
+ %t47 = call zeroext i1 @sc_dc_3(ptr %t43, ptr null)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t43)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t51 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ %t52 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t52)
+ ret i1 %t47
+exc.cleanup9:
+ %t53 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t53)
+ ret i1 false
+exc.cleanup12:
+ %t54 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t54)
+ %t55 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t55)
+ ret i1 false
+}
+define internal i1 @sc_f__x25_fn5(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_fn5(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_http_req_release(ptr %p0)
+ call void @scr_net_sock_release(ptr %p1)
+ call void @scr_bytes_release(ptr %p2)
+ ret i1 %result
+}
+
+define internal void @sc_bf__x25_fn6(ptr %sc_env, ptr %p_sc_l_req_0, ptr %p_sc_l_socket_0, ptr %p_sc_l_head_0) #0 { ; %fn6
+entry:
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_socket_0 = alloca ptr ; socket
+ %sc_l_head_0 = alloca ptr ; head
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l__x25_callReceiver_0 = alloca ptr ; %callReceiver
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l_app_1 = alloca ptr ; app
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l__x25_callReceiver_0
+ store ptr null, ptr %sc_l_e_0
+ store ptr null, ptr %sc_l_app_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_app_0 ; captured app
+ store ptr %p_sc_l_req_0, ptr %sc_l_req_0
+ store ptr %p_sc_l_socket_0, ptr %sc_l_socket_0
+ store ptr %p_sc_l_head_0, ptr %sc_l_head_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_app_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_app_1
+ %t10 = load ptr, ptr %sc_l_app_1
+ store ptr %t10, ptr %sc_l__x25_callReceiver_0
+ %t11 = load ptr, ptr %sc_l__x25_callReceiver_0
+ %t12 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t11, i64 0, i32 17
+ %t13 = load ptr, ptr %t12, !tbaa !186
+ %t14 = call ptr @scr_closure_retain_v(ptr %t13)
+ %t15 = load ptr, ptr %sc_l__x25_callReceiver_0
+ %t16 = call ptr @sc_retain__x25_m5_App(ptr %t15)
+ %t17 = load ptr, ptr %sc_l_req_0
+ %t18 = call ptr @scr_http_req_retain_v(ptr %t17)
+ %t19 = load ptr, ptr %sc_l_socket_0
+ %t20 = call ptr @scr_net_sock_retain_v(ptr %t19)
+ %t21 = load ptr, ptr %sc_l_head_0
+ %t22 = call ptr @scr_bytes_retain_v(ptr %t21)
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t14, i64 0, i32 1
+ %t24 = load ptr, ptr %t23
+ call void @scr_dyn_this_push_typed(ptr %t16, ptr @sc_trr_0)
+ %t25 = call i1 %t24(ptr %t14, ptr %t18, ptr %t20, ptr %t22)
+ call void @scr_dyn_this_pop()
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @scr_closure_release(ptr %t14)
+ call void @sc_release__x25_m5_App(ptr %t16)
+ br label %try.c2
+exc.k6:
+ %t29 = xor i1 %t25, true
+ call void @scr_closure_release(ptr %t14)
+ call void @sc_release__x25_m5_App(ptr %t16)
+ br i1 %t29, label %if.t7, label %if.j8
+if.t7:
+ %t30 = load ptr, ptr %sc_l_socket_0
+ %t31 = call ptr @scr_net_sock_retain_v(ptr %t30)
+ call void @scr_net_sock_destroy(ptr %t31)
+ call void @scr_net_sock_release(ptr %t31)
+ br label %if.j8
+if.j8:
+ br label %try.e4
+try.c2:
+ %t32 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t32, ptr %sc_l_e_0
+ %t33 = load ptr, ptr %sc_l_socket_0
+ %t34 = call ptr @scr_net_sock_retain_v(ptr %t33)
+ call void @scr_net_sock_destroy(ptr %t34)
+ call void @scr_net_sock_release(ptr %t34)
+ %t35 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t35)
+ br label %try.e4
+try.e4:
+ ret void
+}
+define internal void @sc_f__x25_fn6(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25_fn6(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_http_req_release(ptr %p0)
+ call void @scr_net_sock_release(ptr %p1)
+ call void @scr_bytes_release(ptr %p2)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn7(ptr %sc_env, ptr %p_sc_l_req_0, ptr %p_sc_l_res_0) #0 { ; %fn7
+entry:
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_app_1 = alloca ptr ; app
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s20 = alloca ptr
+ %s41 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_app_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_app_0 ; captured app
+ store ptr %p_sc_l_req_0, ptr %sc_l_req_0
+ store ptr %p_sc_l_res_0, ptr %sc_l_res_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_app_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_app_1
+ %t10 = load ptr, ptr %sc_l_app_1
+ store ptr %t10, ptr %sc_l__x25_callbackReceiver_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t12)
+ ret void
+exc.k3:
+ store ptr %t12, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t16 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind
+ %t18 = load i32, ptr %t17
+ %t19 = icmp eq i32 %t18, 6
+ br i1 %t19, label %tern.t4, label %tern.f5
+tern.t4:
+ %t22 = call ptr @scr_dyn_undefined()
+ %t21 = call ptr @scr_dyn_retain_v(ptr %t22)
+ store ptr %t21, ptr %s20
+ br label %tern.j6
+tern.f5:
+ %t23 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t25 = call ptr @sc_f__x25_dyn_class_property_57(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t25, ptr %s20
+ br label %tern.j6
+tern.j6:
+ %t29 = load ptr, ptr %s20
+ store ptr %t29, ptr %sc_l__x25_callback_0
+ %t30 = load ptr, ptr %sc_l__x25_callback_0
+ %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t33 = load ptr, ptr %sc_l_req_0
+ %t34 = call ptr @sc_td_10(ptr %t33)
+ %t35 = call ptr @sc_new__x25_m2_NodeResponseSink()
+ %t36 = load ptr, ptr %sc_l_res_0
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_constructor(ptr %t35, ptr %t36)
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t35)
+ br label %exc.cleanup12
+exc.k11:
+ %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t35, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t42 = getelementptr inbounds [2 x ptr], ptr %s41, i64 0, i64 0
+ store ptr %t34, ptr %t42
+ %t43 = getelementptr inbounds [2 x ptr], ptr %s41, i64 0, i64 1
+ store ptr %t40, ptr %t43
+ call void @scr_dyn_this_push_dyn(ptr %t32)
+ %t44 = call ptr @scr_dyn_call(ptr %t30, ptr %s41, i64 2, ptr @sc_cs_3694455830285465)
+ call void @scr_dyn_this_pop()
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t44)
+ br label %exc.cleanup12
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t44)
+ %t48 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ %t49 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret void
+exc.cleanup9:
+ %t50 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret void
+exc.cleanup12:
+ %t51 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ %t52 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t52)
+ ret void
+}
+define internal void @sc_f__x25_fn7(ptr %sc_env, ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_fn7(ptr %sc_env, ptr %p0, ptr %p1)
+ call void @scr_http_req_release(ptr %p0)
+ call void @scr_http_res_release(ptr %p1)
+ ret void
+}
+
+define internal i1 @sc_bf__x25_obj_hasOwn_0(ptr %p_sc_l_r_0, ptr %p_sc_l_k_0) #0 { ; %obj.hasOwn.0
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_k_0 = alloca ptr ; k
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_r_0
+ %t5 = call ptr @sc_rretain_r0(ptr %t4)
+ %t6 = load ptr, ptr %sc_l_k_0
+ %t7 = call ptr @sc_rc_retain_str(ptr %t6)
+ %t8 = getelementptr inbounds %sc_rs_r0, ptr %t5, i64 0, i32 1
+ %t9 = load ptr, ptr %t8
+ %t10 = call zeroext i1 @scr_map_has_str(ptr %t9, ptr %t7)
+ call void @sc_rrelease_r0(ptr %t5)
+ call void @scr_str_release(ptr %t7)
+ ret i1 %t10
+}
+define internal i1 @sc_f__x25_obj_hasOwn_0(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_obj_hasOwn_0(ptr %p0, ptr %p1)
+ call void @sc_rrelease_r0(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest() #0 { ; %prototype.data.%m3.LiteRequest
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_2677147133778287)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text)
+ %t13 = call ptr @sc_dfb_43(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_1207708014012541)
+ %t32 = call ptr @scr_dyn_new_obj()
+ %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer)
+ %t34 = call ptr @sc_dfb_44(ptr %t33, ptr null)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret ptr null
+exc.k13:
+ %t38 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k15:
+ %t42 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.k17:
+ %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ %t52 = call ptr @sc_td_0(ptr @sc_lit_551454763233869)
+ %t53 = call ptr @scr_dyn_new_obj()
+ %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request)
+ %t55 = call ptr @sc_dfb_2(ptr %t54, ptr null)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ ret ptr null
+exc.k21:
+ %t59 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ ret ptr null
+exc.k23:
+ %t63 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ ret ptr null
+exc.k25:
+ %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ ret ptr null
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %if.j3
+if.j3:
+ %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ ret ptr %t72
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m3.LiteRequest
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_4041255434968695
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_4041255434968695)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_4041255434968695
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_101(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ ret ptr %t31
+if.j7:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteRequest(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_release__x25_m3_LiteRequest(ptr %t33)
+ ret ptr null
+exc.k16:
+ ret ptr %t33
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_text() #0 { ; %method.value:%%m3.LiteRequest.text
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m3_LiteRequest_text(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteRequest(ptr %t5)
+ call void @scr_promise_release(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m3_LiteRequest(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer() #0 { ; %method.value:%%m3.LiteRequest.arrayBuffer
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m3_LiteRequest_arrayBuffer(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteRequest(ptr %t5)
+ call void @scr_promise_release(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m3_LiteRequest(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteRequest_request() #0 { ; %method.value:%%m3.LiteRequest.request
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteRequest(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m3_LiteRequest_request(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteRequest(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m3_LiteRequest(ptr %t5)
+ ret ptr %t9
+}
+
+define internal void @sc_bf__x25_fn11(ptr %sc_env, ptr %p_sc_l_v_0) #0 { ; %fn11
+entry:
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_step_0 = alloca ptr ; step
+ %sc_l_res_1 = alloca ptr ; res
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_res_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_res_0 ; captured res
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_step_0 ; captured step
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t6 = call ptr @llvm.stacksave.p0()
+ %t7 = load ptr, ptr @scr_stack_guard
+ %t8 = icmp ult ptr %t6, %t7
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t10 = load ptr, ptr %sc_l_res_0
+ %t11 = call ptr @scr_box_get_ref(ptr %t10)
+ store ptr %t11, ptr %sc_l_res_1
+ %t12 = load ptr, ptr %sc_l_v_0
+ %t13 = getelementptr inbounds %sc_rs_r23, ptr %t12, i64 0, i32 1
+ %t14 = load i8, ptr %t13
+ %t15 = trunc i8 %t14 to i1
+ %t16 = icmp eq i1 %t15, true
+ br i1 %t16, label %if.t2, label %if.j3
+if.t2:
+ %t17 = load ptr, ptr %sc_l_res_1
+ %t18 = call ptr @scr_http_res_retain_v(ptr %t17)
+ call void @scr_http_res_end(ptr %t18)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_http_res_release(ptr %t18)
+ br label %exc.cleanup6
+exc.k5:
+ call void @scr_http_res_release(ptr %t18)
+ %t22 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t22)
+ ret void
+if.j3:
+ %t23 = load ptr, ptr %sc_l_res_1
+ %t24 = call ptr @scr_http_res_retain_v(ptr %t23)
+ %t25 = load ptr, ptr %sc_l_v_0
+ %t26 = getelementptr inbounds %sc_rs_r23, ptr %t25, i64 0, i32 2
+ %t27 = load ptr, ptr %t26
+ %t28 = getelementptr inbounds %ScrUnion, ptr %t27, i64 0, i32 1
+ %t29 = load i32, ptr %t28
+ %t30 = icmp eq i32 %t29, 1
+ %t31 = getelementptr inbounds %ScrUnion, ptr %t27, i64 0, i32 5
+ %t32 = load i64, ptr %t31
+ %t33 = icmp eq i64 %t32, 1
+ %t34 = and i1 %t30, %t33
+ %t35 = select i1 %t34, ptr @sc_unit_7, ptr %t27
+ %t36 = getelementptr inbounds %ScrUnion, ptr %t35, i64 0, i32 5
+ %t37 = load ptr, ptr %t36
+ %t38 = call ptr @scr_bytes_retain_v(ptr %t37)
+ call void @scr_http_res_write_bytes(ptr %t24, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @scr_http_res_release(ptr %t24)
+ call void @scr_bytes_release(ptr %t38)
+ br label %exc.cleanup6
+exc.k8:
+ call void @scr_http_res_release(ptr %t24)
+ call void @scr_bytes_release(ptr %t38)
+ %t42 = load ptr, ptr %sc_l_step_0
+ %t43 = getelementptr inbounds %ScrBox, ptr %t42, i64 0, i32 5
+ %t44 = load i64, ptr %t43
+ %t45 = icmp eq i64 %t44, 0
+ br i1 %t45, label %tdz.t9, label %tdz.k10
+tdz.t9:
+ call void @scr_throw_error_named(ptr @sc_lit_2408580547322579, ptr @sc_lit_874990306745984)
+ br label %exc.cleanup6
+tdz.k10:
+ %t46 = call ptr @scr_box_get_ref(ptr %t42)
+ %t47 = getelementptr inbounds %ScrClosure, ptr %t46, i64 0, i32 1
+ %t48 = load ptr, ptr %t47
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t48(ptr %t46)
+ call void @scr_dyn_this_pop()
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @scr_closure_release(ptr %t46)
+ br label %exc.cleanup6
+exc.k12:
+ call void @scr_closure_release(ptr %t46)
+ %t52 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t52)
+ ret void
+exc.cleanup6:
+ %t53 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t53)
+ ret void
+}
+define internal void @sc_f__x25_fn11(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn11(ptr %sc_env, ptr %p0)
+ call void @sc_rrelease_r23(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_fn12(ptr %sc_env) #0 { ; %fn12
+entry:
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_res_1 = alloca ptr ; res
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_res_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_res_0 ; captured res
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_res_0
+ %t8 = call ptr @scr_box_get_ref(ptr %t7)
+ store ptr %t8, ptr %sc_l_res_1
+ %t9 = load ptr, ptr %sc_l_res_1
+ %t10 = call ptr @scr_http_res_retain_v(ptr %t9)
+ call void @scr_http_res_end(ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t10)
+ br label %exc.cleanup4
+exc.k3:
+ call void @scr_http_res_release(ptr %t10)
+ %t14 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t14)
+ ret void
+exc.cleanup4:
+ %t15 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t15)
+ ret void
+}
+
+define internal void @sc_f__x25_fn13_then2(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_f_0, ptr %p_sc_l_r_0) #0 { ; %fn13_then2
+entry:
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l_v_0 = alloca ptr ; v
+ %s20 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l_e_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_f_0, ptr %sc_l_f_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @scr_promise_retain_v(ptr %t4)
+ %t6 = call ptr @scr_await_ref(ptr %t5)
+ %t7 = load ptr, ptr @scr_exc_active
+ %t8 = load i32, ptr %t7
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_promise_release(ptr %t5)
+ call void @sc_rrelease_r23(ptr %t6)
+ br label %try.c3
+exc.k7:
+ store ptr %t6, ptr %sc_l_v_0
+ call void @scr_promise_release(ptr %t5)
+ %t11 = load ptr, ptr %sc_l_v_0
+ call void @sc_rrelease_r23(ptr %t11)
+ br label %try.e5
+try.c3:
+ %t12 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t12, ptr %sc_l_e_0
+ %t13 = load ptr, ptr %sc_l_r_0
+ %t14 = load ptr, ptr %sc_l_e_0
+ %t15 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t14)
+ %t16 = load ptr, ptr @scr_exc_active
+ %t17 = load i32, ptr %t16
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t15)
+ br label %exc.cleanup10
+exc.k9:
+ %t21 = getelementptr inbounds [1 x ptr], ptr %s20, i64 0, i64 0
+ store ptr %t15, ptr %t21
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t22 = call ptr @scr_dyn_call(ptr %t13, ptr %s20, i64 1, ptr @sc_cs_1235448592878459)
+ call void @scr_dyn_this_pop()
+ %t23 = load ptr, ptr @scr_exc_active
+ %t24 = load i32, ptr %t23
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup10
+exc.k12:
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t22)
+ %t27 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t27)
+ %t28 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t28)
+ %t29 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t29)
+ %t30 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+try.e5:
+ %t31 = load ptr, ptr %sc_l_f_0
+ %t32 = load ptr, ptr %sc_l_v_0
+ %t33 = getelementptr inbounds %ScrClosure, ptr %t31, i64 0, i32 1
+ %t34 = load ptr, ptr %t33
+ %t35 = getelementptr inbounds %ScrClosure, ptr %t31, i64 0, i32 7
+ %t36 = load ptr, ptr %t35
+ %t37 = icmp ne ptr %t36, null
+ br i1 %t37, label %callback.lend13, label %callback.own14
+callback.lend13:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t36(ptr %t31, ptr %t32)
+ call void @scr_dyn_this_pop()
+ br label %callback.done15
+callback.own14:
+ %t38 = call ptr @sc_rretain_r23(ptr %t32)
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t34(ptr %t31, ptr %t38)
+ call void @scr_dyn_this_pop()
+ br label %callback.done15
+callback.done15:
+ %t39 = load ptr, ptr @scr_exc_active
+ %t40 = load i32, ptr %t39
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u16, label %exc.k17
+exc.u16:
+ br label %exc.cleanup2
+exc.k17:
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t43)
+ %t44 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t44)
+ %t45 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret void
+exc.cleanup2:
+ %t46 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t46)
+ %t47 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t47)
+ %t48 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret void
+exc.cleanup10:
+ %t49 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t49)
+ %t50 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t50)
+ %t51 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t51)
+ %t52 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t52)
+ ret void
+}
+
+define internal void @sc_f__x25_fn10(ptr %sc_env) #0 { ; %fn10
+entry:
+ %sc_l_reader_0 = alloca ptr ; reader
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_step_0 = alloca ptr ; step
+ %sc_l_reader_1 = alloca ptr ; reader
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_reader_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_reader_0 ; captured reader
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_res_0 ; captured res
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_step_0 ; captured step
+ %t9 = call ptr @llvm.stacksave.p0()
+ %t10 = load ptr, ptr @scr_stack_guard
+ %t11 = icmp ult ptr %t9, %t10
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t13 = load ptr, ptr %sc_l_reader_0
+ %t14 = call ptr @scr_box_get_ref(ptr %t13)
+ store ptr %t14, ptr %sc_l_reader_1
+ %t15 = call ptr @scr_closure_new(ptr @sc_as__x25_fn13_then2, i64 0)
+ %t16 = getelementptr inbounds %ScrClosure, ptr %t15, i64 0, i32 4
+ store i32 2, ptr %t16
+ %t17 = load ptr, ptr %sc_l_reader_1
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @scr_fetch_reader_read(ptr %t18)
+ %t20 = call ptr @scr_promise_new()
+ call void @scr_promise_race_add(ptr %t20, ptr %t19, ptr @sc_dpa_1)
+ %t21 = call ptr @scr_closure_new(ptr @sc_f__x25_fn11, i64 2)
+ %t22 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ store i32 4, ptr %t22
+ %t23 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 7
+ store ptr @sc_bf__x25_fn11, ptr %t23
+ %t24 = load ptr, ptr %sc_l_res_0
+ %t25 = call ptr @sc_retain_box(ptr %t24)
+ %t26 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps
+ %t27 = getelementptr inbounds ptr, ptr %t26, i64 0 ; caps[0]
+ store ptr %t25, ptr %t27
+ %t28 = load ptr, ptr %sc_l_step_0
+ %t29 = call ptr @sc_retain_box(ptr %t28)
+ %t30 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps
+ %t31 = getelementptr inbounds ptr, ptr %t30, i64 1 ; caps[1]
+ store ptr %t29, ptr %t31
+ %t32 = call ptr @scr_closure_new(ptr @sc_f__x25_fn12, i64 1)
+ %t33 = getelementptr inbounds %ScrClosure, ptr %t32, i64 0, i32 4
+ store i32 4, ptr %t33
+ %t34 = load ptr, ptr %sc_l_res_0
+ %t35 = call ptr @sc_retain_box(ptr %t34)
+ %t36 = getelementptr inbounds %ScrClosure, ptr %t32, i64 1 ; caps
+ %t37 = getelementptr inbounds ptr, ptr %t36, i64 0 ; caps[0]
+ store ptr %t35, ptr %t37
+ %t38 = call ptr @sc_dfb_1(ptr %t32, ptr null)
+ %t39 = getelementptr inbounds %ScrClosure, ptr %t15, i64 0, i32 1
+ %t40 = load ptr, ptr %t39
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t41 = call ptr %t40(ptr %t15, ptr %t20, ptr %t21, ptr %t38)
+ call void @scr_dyn_this_pop()
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_closure_release(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_promise_release(ptr %t19)
+ call void @scr_closure_release(ptr %t32)
+ call void @scr_promise_release(ptr %t41)
+ br label %exc.cleanup4
+exc.k3:
+ call void @scr_closure_release(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_promise_release(ptr %t19)
+ call void @scr_closure_release(ptr %t32)
+ call void @scr_promise_release(ptr %t41)
+ %t45 = load ptr, ptr %sc_l_reader_1
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret void
+exc.cleanup4:
+ %t46 = load ptr, ptr %sc_l_reader_1
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret void
+}
+
+define internal void @sc_f__x25_fn9(ptr %sc_env) #0 { ; %fn9
+entry:
+ %sc_l_bodyU8_0 = alloca ptr ; bodyU8
+ %sc_l_ct_0 = alloca ptr ; ct
+ %sc_l_hs_0 = alloca ptr ; hs
+ %sc_l__x25_ownReceiver_0 = alloca ptr ; %ownReceiver
+ %sc_l__x25_ownKey_0 = alloca ptr ; %ownKey
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_lite_0 = alloca ptr ; lite
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l__x25_callReceiver_0 = alloca ptr ; %callReceiver
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_handled_0 = alloca i1 ; handled
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_reader_0 = alloca ptr ; reader
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_step_0 = alloca ptr ; step
+ %sc_l_hs_1 = alloca ptr ; hs
+ %sc_l_method_1 = alloca ptr ; method
+ %sc_l_lite_1 = alloca ptr ; lite
+ %sc_l_app_1 = alloca ptr ; app
+ %sc_l_url_1 = alloca ptr ; url
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_res_1 = alloca ptr ; res
+ %s52 = alloca ptr
+ %s62 = alloca i1
+ %s67 = alloca i1
+ %s88 = alloca ptr
+ %s181 = alloca ptr
+ %s209 = alloca [7 x ptr]
+ store ptr null, ptr %sc_l_bodyU8_0
+ store ptr null, ptr %sc_l_ct_0
+ store ptr null, ptr %sc_l__x25_ownReceiver_0
+ store ptr null, ptr %sc_l__x25_ownKey_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l_a_0
+ store ptr null, ptr %sc_l_b_0
+ store ptr null, ptr %sc_l_reader_0
+ store ptr null, ptr %sc_l_step_0
+ store ptr null, ptr %sc_l_hs_1
+ store ptr null, ptr %sc_l_method_1
+ store ptr null, ptr %sc_l_lite_1
+ store ptr null, ptr %sc_l_app_1
+ store ptr null, ptr %sc_l_url_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_res_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_hs_0 ; captured hs
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_method_0 ; captured method
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_lite_0 ; captured lite
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_app_0 ; captured app
+ %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4]
+ %t14 = load ptr, ptr %t13
+ store ptr %t14, ptr %sc_l_url_0 ; captured url
+ %t15 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t16 = getelementptr inbounds ptr, ptr %t15, i64 5 ; caps[5]
+ %t17 = load ptr, ptr %t16
+ store ptr %t17, ptr %sc_l_sink_0 ; captured sink
+ %t18 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t19 = getelementptr inbounds ptr, ptr %t18, i64 6 ; caps[6]
+ %t20 = load ptr, ptr %t19
+ store ptr %t20, ptr %sc_l_res_0 ; captured res
+ %t21 = call ptr @llvm.stacksave.p0()
+ %t22 = load ptr, ptr @scr_stack_guard
+ %t23 = icmp ult ptr %t21, %t22
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t25 = load ptr, ptr %sc_l_hs_0
+ %t26 = call ptr @scr_box_get_ref(ptr %t25)
+ store ptr %t26, ptr %sc_l_hs_1
+ %t27 = load ptr, ptr %sc_l_method_0
+ %t28 = call ptr @scr_box_get_ref(ptr %t27)
+ store ptr %t28, ptr %sc_l_method_1
+ %t29 = load ptr, ptr %sc_l_lite_0
+ %t30 = call ptr @scr_box_get_ref(ptr %t29)
+ store ptr %t30, ptr %sc_l_lite_1
+ %t31 = load ptr, ptr %sc_l_app_0
+ %t32 = call ptr @scr_box_get_ref(ptr %t31)
+ store ptr %t32, ptr %sc_l_app_1
+ %t33 = load ptr, ptr %sc_l_url_0
+ %t34 = call ptr @scr_box_get_ref(ptr %t33)
+ store ptr %t34, ptr %sc_l_url_1
+ %t35 = load ptr, ptr %sc_l_sink_0
+ %t36 = call ptr @scr_box_get_ref(ptr %t35)
+ store ptr %t36, ptr %sc_l_sink_1
+ %t37 = load ptr, ptr %sc_l_res_0
+ %t38 = call ptr @scr_box_get_ref(ptr %t37)
+ store ptr %t38, ptr %sc_l_res_1
+ store ptr @sc_unit_2, ptr %sc_l_bodyU8_0
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_ct_0
+ %t39 = load ptr, ptr %sc_l_hs_1
+ %t40 = call ptr @sc_rretain_r0(ptr %t39)
+ store ptr %t40, ptr %sc_l__x25_ownReceiver_0
+ store ptr @sc_lit_2329537264393449, ptr %sc_l__x25_ownKey_0
+ %t41 = load ptr, ptr %sc_l__x25_ownReceiver_0
+ %t42 = load ptr, ptr %sc_l__x25_ownKey_0
+ %t43 = call i1 @sc_bf__x25_obj_hasOwn_0(ptr %t41, ptr %t42)
+ %t44 = load ptr, ptr @scr_exc_active
+ %t45 = load i32, ptr %t44
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u2, label %exc.k3
+exc.u2:
+ br label %exc.cleanup4
+exc.k3:
+ %t48 = load ptr, ptr %sc_l__x25_ownReceiver_0
+ call void @sc_rrelease_r0(ptr %t48)
+ %t49 = load ptr, ptr %sc_l__x25_ownKey_0
+ call void @scr_str_release(ptr %t49)
+ br i1 %t43, label %if.t5, label %if.j6
+if.t5:
+ %t50 = load ptr, ptr %sc_l_hs_1
+ %t51 = call ptr @sc_rretain_r0(ptr %t50)
+ %t53 = getelementptr inbounds %sc_rs_r0, ptr %t51, i64 0, i32 1
+ %t54 = load ptr, ptr %t53
+ %t55 = call ptr @scr_map_get_str_ref(ptr %t54, ptr @sc_lit_2329537264393449)
+ %t56 = icmp eq ptr %t55, null
+ br i1 %t56, label %rkg.n9, label %rkg.h8
+rkg.h8:
+ store ptr %t55, ptr %s52
+ br label %rkg.j7
+rkg.n9:
+ call void @sc_bad_key()
+ unreachable
+rkg.j7:
+ %t57 = load ptr, ptr %s52
+ %t58 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t58)
+ store ptr %t57, ptr %sc_l_ct_0
+ call void @sc_rrelease_r0(ptr %t51)
+ br label %if.j6
+if.j6:
+ %t59 = load ptr, ptr %sc_l_ct_0
+ %t60 = call zeroext i1 @sc_streq_4005573543169985(ptr %t59)
+ %t61 = xor i1 %t60, true
+ store i1 %t61, ptr %s62
+ br i1 %t61, label %log.r10, label %log.j11
+log.r10:
+ %t63 = load ptr, ptr %sc_l_method_1
+ %t64 = call zeroext i1 @sc_streq_367446482893939(ptr %t63)
+ %t65 = xor i1 %t64, true
+ store i1 %t65, ptr %s62
+ br label %log.j11
+log.j11:
+ %t66 = load i1, ptr %s62
+ store i1 %t66, ptr %s67
+ br i1 %t66, label %log.r12, label %log.j13
+log.r12:
+ %t68 = load ptr, ptr %sc_l_method_1
+ %t69 = call zeroext i1 @sc_streq_3185835515143599(ptr %t68)
+ %t70 = xor i1 %t69, true
+ store i1 %t70, ptr %s67
+ br label %log.j13
+log.j13:
+ %t71 = load i1, ptr %s67
+ br i1 %t71, label %if.t14, label %if.j15
+if.t14:
+ %t72 = load ptr, ptr %sc_l_ct_0
+ %t73 = call ptr @scr_str_to_lower(ptr %t72)
+ %t74 = call double @scr_str_index_of(ptr %t73, ptr @sc_lit_1841737023330611, double 0x0000000000000000)
+ %t75 = fcmp oeq double %t74, 0x0000000000000000
+ call void @scr_str_release(ptr %t73)
+ br i1 %t75, label %if.t16, label %if.j17
+if.t16:
+ %t76 = load ptr, ptr %sc_l_lite_1
+ %t77 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t76)
+ store ptr %t77, ptr %sc_l__x25_callbackReceiver_0
+ %t78 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t79 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteRequest(ptr %t78)
+ %t80 = load ptr, ptr @scr_exc_active
+ %t81 = load i32, ptr %t80
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t79)
+ br label %exc.cleanup20
+exc.k19:
+ store ptr %t79, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t84 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t85 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind
+ %t86 = load i32, ptr %t85
+ %t87 = icmp eq i32 %t86, 6
+ br i1 %t87, label %tern.t21, label %tern.f22
+tern.t21:
+ %t90 = call ptr @scr_dyn_undefined()
+ %t89 = call ptr @scr_dyn_retain_v(ptr %t90)
+ store ptr %t89, ptr %s88
+ br label %tern.j23
+tern.f22:
+ %t91 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t92 = call ptr @sc_rc_retain_dyn(ptr %t91)
+ %t93 = call ptr @sc_f__x25_dyn_class_property_58(ptr %t92)
+ %t94 = load ptr, ptr @scr_exc_active
+ %t95 = load i32, ptr %t94
+ %t96 = icmp ne i32 %t95, 0
+ %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false)
+ br i1 %t97, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t93)
+ br label %exc.cleanup26
+exc.k25:
+ store ptr %t93, ptr %s88
+ br label %tern.j23
+tern.j23:
+ %t98 = load ptr, ptr %s88
+ store ptr %t98, ptr %sc_l__x25_callback_0
+ %t99 = load ptr, ptr %sc_l__x25_callback_0
+ %t100 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t101)
+ %t102 = call ptr @scr_dyn_call(ptr %t99, ptr null, i64 0, ptr @sc_cs_2774677165392416)
+ call void @scr_dyn_this_pop()
+ %t103 = load ptr, ptr @scr_exc_active
+ %t104 = load i32, ptr %t103
+ %t105 = icmp ne i32 %t104, 0
+ %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false)
+ br i1 %t106, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ br label %exc.cleanup29
+exc.k28:
+ %t107 = call ptr @sc_dc_116(ptr %t102, ptr null)
+ %t108 = load ptr, ptr @scr_exc_active
+ %t109 = load i32, ptr %t108
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @scr_promise_release(ptr %t107)
+ br label %exc.cleanup29
+exc.k31:
+ %t112 = call ptr @scr_await_ref(ptr %t107)
+ %t113 = load ptr, ptr @scr_exc_active
+ %t114 = load i32, ptr %t113
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @scr_promise_release(ptr %t107)
+ %t117 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t117)
+ %t118 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t118)
+ %t119 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m3_LiteRequest(ptr %t119)
+ call void @sc_rc_release_dyn(ptr %t112)
+ br label %exc.cleanup34
+exc.k33:
+ %t120 = call ptr @scr_bytes_from_dyn(i32 0, ptr %t112, i1 zeroext false)
+ %t121 = load ptr, ptr @scr_exc_active
+ %t122 = load i32, ptr %t121
+ %t123 = icmp ne i32 %t122, 0
+ %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false)
+ br i1 %t124, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @scr_promise_release(ptr %t107)
+ %t125 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t125)
+ %t126 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t126)
+ %t127 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m3_LiteRequest(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t112)
+ call void @scr_bytes_release(ptr %t120)
+ br label %exc.cleanup34
+exc.k36:
+ %t128 = call ptr @scr_union_new_ref(i32 0, ptr %t120, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null)
+ %t129 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t129)
+ store ptr %t128, ptr %sc_l_bodyU8_0
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @scr_promise_release(ptr %t107)
+ %t130 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ %t131 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m3_LiteRequest(ptr %t132)
+ call void @sc_rc_release_dyn(ptr %t112)
+ br label %if.j17
+if.j17:
+ br label %if.j15
+if.j15:
+ %t133 = load ptr, ptr %sc_l_app_1
+ %t134 = call ptr @sc_retain__x25_m5_App(ptr %t133)
+ store ptr %t134, ptr %sc_l__x25_callReceiver_0
+ %t135 = load ptr, ptr %sc_l__x25_callReceiver_0
+ %t136 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t135, i64 0, i32 16
+ %t137 = load ptr, ptr %t136, !tbaa !184
+ %t138 = call ptr @scr_closure_retain_v(ptr %t137)
+ %t139 = load ptr, ptr %sc_l__x25_callReceiver_0
+ %t140 = call ptr @sc_retain__x25_m5_App(ptr %t139)
+ %t141 = load ptr, ptr %sc_l_method_1
+ %t142 = call ptr @sc_rc_retain_str(ptr %t141)
+ %t143 = load ptr, ptr %sc_l_url_1
+ %t144 = call ptr @sc_rc_retain_str(ptr %t143)
+ %t145 = load ptr, ptr %sc_l_hs_1
+ %t146 = call ptr @sc_rretain_r0(ptr %t145)
+ %t147 = load ptr, ptr %sc_l_lite_1
+ %t148 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t147, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t149 = load ptr, ptr %sc_l_bodyU8_0
+ %t150 = call ptr @scr_union_retain_v(ptr %t149)
+ %t151 = load ptr, ptr %sc_l_sink_1
+ %t152 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t151)
+ %t153 = getelementptr inbounds %ScrClosure, ptr %t138, i64 0, i32 1
+ %t154 = load ptr, ptr %t153
+ call void @scr_dyn_this_push_typed(ptr %t140, ptr @sc_trr_0)
+ %t155 = call ptr %t154(ptr %t138, ptr %t142, ptr %t144, ptr %t146, ptr %t148, ptr @sc_lit_4005573543169985, ptr %t150, ptr %t152)
+ call void @scr_dyn_this_pop()
+ %t156 = load ptr, ptr @scr_exc_active
+ %t157 = load i32, ptr %t156
+ %t158 = icmp ne i32 %t157, 0
+ %t159 = call i1 @llvm.expect.i1(i1 %t158, i1 false)
+ br i1 %t159, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @scr_closure_release(ptr %t138)
+ call void @sc_release__x25_m5_App(ptr %t140)
+ call void @scr_promise_release(ptr %t155)
+ br label %exc.cleanup39
+exc.k38:
+ %t160 = call zeroext i1 @scr_await_bool(ptr %t155)
+ %t161 = load ptr, ptr @scr_exc_active
+ %t162 = load i32, ptr %t161
+ %t163 = icmp ne i32 %t162, 0
+ %t164 = call i1 @llvm.expect.i1(i1 %t163, i1 false)
+ br i1 %t164, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @scr_closure_release(ptr %t138)
+ call void @sc_release__x25_m5_App(ptr %t140)
+ call void @scr_promise_release(ptr %t155)
+ %t165 = load ptr, ptr %sc_l__x25_callReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t165)
+ br label %exc.cleanup34
+exc.k41:
+ store i1 %t160, ptr %sc_l_handled_0
+ call void @scr_closure_release(ptr %t138)
+ call void @sc_release__x25_m5_App(ptr %t140)
+ call void @scr_promise_release(ptr %t155)
+ %t166 = load ptr, ptr %sc_l__x25_callReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t166)
+ %t167 = load i1, ptr %sc_l_handled_0
+ %t168 = icmp eq i1 %t167, false
+ br i1 %t168, label %if.t42, label %if.j43
+if.t42:
+ %t169 = load ptr, ptr %sc_l_app_1
+ %t170 = call ptr @sc_retain__x25_m5_App(ptr %t169)
+ store ptr %t170, ptr %sc_l__x25_callbackReceiver_1
+ %t171 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t172 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t171)
+ %t173 = load ptr, ptr @scr_exc_active
+ %t174 = load i32, ptr %t173
+ %t175 = icmp ne i32 %t174, 0
+ %t176 = call i1 @llvm.expect.i1(i1 %t175, i1 false)
+ br i1 %t176, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t172)
+ br label %exc.cleanup46
+exc.k45:
+ store ptr %t172, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t177 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t178 = getelementptr inbounds i8, ptr %t177, i64 8 ; ->kind
+ %t179 = load i32, ptr %t178
+ %t180 = icmp eq i32 %t179, 6
+ br i1 %t180, label %tern.t47, label %tern.f48
+tern.t47:
+ %t183 = call ptr @scr_dyn_undefined()
+ %t182 = call ptr @scr_dyn_retain_v(ptr %t183)
+ store ptr %t182, ptr %s181
+ br label %tern.j49
+tern.f48:
+ %t184 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t185 = call ptr @sc_rc_retain_dyn(ptr %t184)
+ %t186 = call ptr @sc_f__x25_dyn_class_property_59(ptr %t185)
+ %t187 = load ptr, ptr @scr_exc_active
+ %t188 = load i32, ptr %t187
+ %t189 = icmp ne i32 %t188, 0
+ %t190 = call i1 @llvm.expect.i1(i1 %t189, i1 false)
+ br i1 %t190, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t186)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t186, ptr %s181
+ br label %tern.j49
+tern.j49:
+ %t191 = load ptr, ptr %s181
+ store ptr %t191, ptr %sc_l__x25_callback_1
+ %t192 = load ptr, ptr %sc_l__x25_callback_1
+ %t193 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t195 = load ptr, ptr %sc_l_method_1
+ %t196 = call ptr @sc_td_0(ptr %t195)
+ %t197 = load ptr, ptr %sc_l_url_1
+ %t198 = call ptr @sc_td_0(ptr %t197)
+ %t199 = load ptr, ptr %sc_l_hs_1
+ %t200 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t199, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ %t201 = load ptr, ptr %sc_l_lite_1
+ %t202 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t201, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t203 = call ptr @sc_td_0(ptr @sc_lit_4005573543169985)
+ %t204 = load ptr, ptr %sc_l_bodyU8_0
+ %t205 = call ptr @scr_union_retain_v(ptr %t204)
+ %t206 = call ptr @sc_td_18(ptr %t205)
+ %t207 = load ptr, ptr %sc_l_sink_1
+ %t208 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t207, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t210 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 0
+ store ptr %t196, ptr %t210
+ %t211 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 1
+ store ptr %t198, ptr %t211
+ %t212 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 2
+ store ptr %t200, ptr %t212
+ %t213 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 3
+ store ptr %t202, ptr %t213
+ %t214 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 4
+ store ptr %t203, ptr %t214
+ %t215 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 5
+ store ptr %t206, ptr %t215
+ %t216 = getelementptr inbounds [7 x ptr], ptr %s209, i64 0, i64 6
+ store ptr %t208, ptr %t216
+ call void @scr_dyn_this_push_dyn(ptr %t194)
+ %t217 = call ptr @scr_dyn_call(ptr %t192, ptr %s209, i64 7, ptr @sc_cs_3930082970088621)
+ call void @scr_dyn_this_pop()
+ %t218 = load ptr, ptr @scr_exc_active
+ %t219 = load i32, ptr %t218
+ %t220 = icmp ne i32 %t219, 0
+ %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false)
+ br i1 %t221, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t194)
+ call void @sc_rc_release_dyn(ptr %t196)
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_rc_release_dyn(ptr %t200)
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @sc_rc_release_dyn(ptr %t203)
+ call void @scr_union_release(ptr %t205)
+ call void @sc_rc_release_dyn(ptr %t206)
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t217)
+ br label %exc.cleanup55
+exc.k54:
+ %t222 = call ptr @sc_dc_117(ptr %t217, ptr null)
+ %t223 = load ptr, ptr @scr_exc_active
+ %t224 = load i32, ptr %t223
+ %t225 = icmp ne i32 %t224, 0
+ %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false)
+ br i1 %t226, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t194)
+ call void @sc_rc_release_dyn(ptr %t196)
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_rc_release_dyn(ptr %t200)
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @sc_rc_release_dyn(ptr %t203)
+ call void @scr_union_release(ptr %t205)
+ call void @sc_rc_release_dyn(ptr %t206)
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @scr_promise_release(ptr %t222)
+ br label %exc.cleanup55
+exc.k57:
+ call void @scr_await_void(ptr %t222)
+ %t227 = load ptr, ptr @scr_exc_active
+ %t228 = load i32, ptr %t227
+ %t229 = icmp ne i32 %t228, 0
+ %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false)
+ br i1 %t230, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t194)
+ call void @sc_rc_release_dyn(ptr %t196)
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_rc_release_dyn(ptr %t200)
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @sc_rc_release_dyn(ptr %t203)
+ call void @scr_union_release(ptr %t205)
+ call void @sc_rc_release_dyn(ptr %t206)
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @scr_promise_release(ptr %t222)
+ %t231 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t231)
+ %t232 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t232)
+ %t233 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_App(ptr %t233)
+ br label %exc.cleanup34
+exc.k59:
+ call void @sc_rc_release_dyn(ptr %t194)
+ call void @sc_rc_release_dyn(ptr %t196)
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_rc_release_dyn(ptr %t200)
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @sc_rc_release_dyn(ptr %t203)
+ call void @scr_union_release(ptr %t205)
+ call void @sc_rc_release_dyn(ptr %t206)
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @scr_promise_release(ptr %t222)
+ %t234 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t234)
+ %t235 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t235)
+ %t236 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_App(ptr %t236)
+ br label %if.j43
+if.j43:
+ %t237 = load ptr, ptr %sc_l_sink_1
+ %t238 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t237, i64 0, i32 10
+ %t239 = load ptr, ptr %t238, !tbaa !64
+ %t240 = call ptr @sc_rretain_r1(ptr %t239)
+ store ptr %t240, ptr %sc_l_a_0
+ %t241 = load ptr, ptr %sc_l_a_0
+ %t243 = icmp ne ptr %t241, null
+ br i1 %t243, label %if.t60, label %if.j61
+if.t60:
+ %t244 = load ptr, ptr %sc_l_a_0
+ %t245 = getelementptr inbounds %sc_rs_r1, ptr %t244, i64 0, i32 1
+ %t246 = load ptr, ptr %t245
+ %t247 = call ptr @sc_rc_retain_dyn(ptr %t246)
+ store ptr %t247, ptr %sc_l_b_0
+ %t248 = load ptr, ptr %sc_l_b_0
+ %t249 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t250 = load i32, ptr %t249
+ %t251 = icmp eq i32 %t250, 0
+ %t252 = xor i1 %t251, true
+ br i1 %t252, label %if.t62, label %if.j63
+if.t62:
+ %t253 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v) ; let reader (boxed)
+ store ptr %t253, ptr %sc_l_reader_0
+ %t254 = load ptr, ptr %sc_l_b_0
+ %t255 = call ptr @scr_dyn_prepare_method(ptr %t254, ptr @sc_cs_3875089545086560)
+ %t256 = load ptr, ptr @scr_exc_active
+ %t257 = load i32, ptr %t256
+ %t258 = icmp ne i32 %t257, 0
+ %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false)
+ br i1 %t259, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t255)
+ br label %exc.cleanup66
+exc.k65:
+ %t260 = call ptr @scr_dyn_invoke_prepared(ptr %t254, ptr %t255, ptr @sc_cs_3875089545086560, ptr null, i64 0, ptr @sc_cs_1259827915176370)
+ %t261 = load ptr, ptr @scr_exc_active
+ %t262 = load i32, ptr %t261
+ %t263 = icmp ne i32 %t262, 0
+ %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false)
+ br i1 %t264, label %exc.u67, label %exc.k68
+exc.u67:
+ call void @sc_rc_release_dyn(ptr %t255)
+ call void @sc_rc_release_dyn(ptr %t260)
+ br label %exc.cleanup66
+exc.k68:
+ call void @scr_box_set_ref(ptr %t253, ptr %t260)
+ call void @sc_rc_release_dyn(ptr %t255)
+ %t265 = call ptr @scr_box_new(i32 4) ; let step (boxed)
+ store ptr %t265, ptr %sc_l_step_0
+ %t266 = call ptr @scr_closure_new(ptr @sc_f__x25_fn10, i64 3)
+ %t267 = getelementptr inbounds %ScrClosure, ptr %t266, i64 0, i32 4
+ store i32 4, ptr %t267
+ %t268 = load ptr, ptr %sc_l_reader_0
+ %t269 = call ptr @sc_retain_box(ptr %t268)
+ %t270 = getelementptr inbounds %ScrClosure, ptr %t266, i64 1 ; caps
+ %t271 = getelementptr inbounds ptr, ptr %t270, i64 0 ; caps[0]
+ store ptr %t269, ptr %t271
+ %t272 = load ptr, ptr %sc_l_res_0
+ %t273 = call ptr @sc_retain_box(ptr %t272)
+ %t274 = getelementptr inbounds %ScrClosure, ptr %t266, i64 1 ; caps
+ %t275 = getelementptr inbounds ptr, ptr %t274, i64 1 ; caps[1]
+ store ptr %t273, ptr %t275
+ %t276 = load ptr, ptr %sc_l_step_0
+ %t277 = call ptr @sc_retain_box(ptr %t276)
+ %t278 = getelementptr inbounds %ScrClosure, ptr %t266, i64 1 ; caps
+ %t279 = getelementptr inbounds ptr, ptr %t278, i64 2 ; caps[2]
+ store ptr %t277, ptr %t279
+ %t280 = load ptr, ptr %sc_l_step_0
+ call void @scr_box_set_ref(ptr %t280, ptr %t266)
+ %t281 = load ptr, ptr %sc_l_step_0
+ %t282 = getelementptr inbounds %ScrBox, ptr %t281, i64 0, i32 5
+ %t283 = load i64, ptr %t282
+ %t284 = icmp eq i64 %t283, 0
+ br i1 %t284, label %tdz.t69, label %tdz.k70
+tdz.t69:
+ call void @scr_throw_error_named(ptr @sc_lit_2408580547322579, ptr @sc_lit_874990306745984)
+ br label %exc.cleanup71
+tdz.k70:
+ %t285 = call ptr @scr_box_get_ref(ptr %t281)
+ %t286 = getelementptr inbounds %ScrClosure, ptr %t285, i64 0, i32 1
+ %t287 = load ptr, ptr %t286
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t287(ptr %t285)
+ call void @scr_dyn_this_pop()
+ %t288 = load ptr, ptr @scr_exc_active
+ %t289 = load i32, ptr %t288
+ %t290 = icmp ne i32 %t289, 0
+ %t291 = call i1 @llvm.expect.i1(i1 %t290, i1 false)
+ br i1 %t291, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @scr_closure_release(ptr %t285)
+ br label %exc.cleanup71
+exc.k73:
+ call void @scr_closure_release(ptr %t285)
+ %t292 = load ptr, ptr %sc_l_reader_0
+ call void @scr_box_release(ptr %t292)
+ %t293 = load ptr, ptr %sc_l_step_0
+ call void @scr_box_release(ptr %t293)
+ %t294 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t294)
+ %t295 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t295)
+ %t296 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t296)
+ %t297 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t297)
+ %t298 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t298)
+ %t299 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t299)
+ %t300 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t300)
+ %t301 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t301)
+ %t302 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t302)
+ %t303 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t303)
+ %t304 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t304)
+ ret void
+if.j63:
+ %t305 = load ptr, ptr %sc_l_res_1
+ %t306 = call ptr @scr_http_res_retain_v(ptr %t305)
+ %t307 = call zeroext i1 @scr_http_res_writable_ended(ptr %t306)
+ %t308 = icmp eq i1 %t307, false
+ call void @scr_http_res_release(ptr %t306)
+ br i1 %t308, label %if.t74, label %if.j75
+if.t74:
+ %t309 = load ptr, ptr %sc_l_res_1
+ %t310 = call ptr @scr_http_res_retain_v(ptr %t309)
+ call void @scr_http_res_end(ptr %t310)
+ %t311 = load ptr, ptr @scr_exc_active
+ %t312 = load i32, ptr %t311
+ %t313 = icmp ne i32 %t312, 0
+ %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false)
+ br i1 %t314, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @scr_http_res_release(ptr %t310)
+ br label %exc.cleanup78
+exc.k77:
+ call void @scr_http_res_release(ptr %t310)
+ br label %if.j75
+if.j75:
+ %t315 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t315)
+ br label %if.j61
+if.j61:
+ %t316 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t316)
+ %t317 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t317)
+ %t318 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t318)
+ %t319 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t319)
+ %t320 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t320)
+ %t321 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t321)
+ %t322 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t322)
+ %t323 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t323)
+ %t324 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t324)
+ %t325 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t325)
+ ret void
+exc.cleanup4:
+ %t326 = load ptr, ptr %sc_l__x25_ownReceiver_0
+ call void @sc_rrelease_r0(ptr %t326)
+ %t327 = load ptr, ptr %sc_l__x25_ownKey_0
+ call void @scr_str_release(ptr %t327)
+ %t328 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t328)
+ %t329 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t329)
+ %t330 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t330)
+ %t331 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t331)
+ %t332 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t332)
+ %t333 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t333)
+ %t334 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t334)
+ %t335 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t335)
+ %t336 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t336)
+ ret void
+exc.cleanup20:
+ %t337 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m3_LiteRequest(ptr %t337)
+ %t338 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t338)
+ %t339 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t339)
+ %t340 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t340)
+ %t341 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t341)
+ %t342 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t342)
+ %t343 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t343)
+ %t344 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t344)
+ %t345 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t345)
+ %t346 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t346)
+ ret void
+exc.cleanup26:
+ %t347 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t347)
+ %t348 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m3_LiteRequest(ptr %t348)
+ %t349 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t349)
+ %t350 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t350)
+ %t351 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t351)
+ %t352 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t352)
+ %t353 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t353)
+ %t354 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t354)
+ %t355 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t355)
+ %t356 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t356)
+ %t357 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t357)
+ ret void
+exc.cleanup29:
+ %t358 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ %t359 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t359)
+ %t360 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m3_LiteRequest(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t361)
+ %t362 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t362)
+ %t363 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t363)
+ %t364 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t364)
+ %t365 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t365)
+ %t366 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t366)
+ %t367 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t367)
+ %t368 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t368)
+ %t369 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t369)
+ ret void
+exc.cleanup34:
+ %t370 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t370)
+ %t371 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t371)
+ %t372 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t372)
+ %t373 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t373)
+ %t374 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t374)
+ %t375 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t375)
+ %t376 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t376)
+ %t377 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t377)
+ %t378 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t378)
+ ret void
+exc.cleanup39:
+ %t379 = load ptr, ptr %sc_l__x25_callReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t379)
+ %t380 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t380)
+ %t381 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t381)
+ %t382 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t382)
+ %t383 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t383)
+ %t384 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t384)
+ %t385 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t385)
+ %t386 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t386)
+ %t387 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t387)
+ %t388 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t388)
+ ret void
+exc.cleanup46:
+ %t389 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_App(ptr %t389)
+ %t390 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t390)
+ %t391 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t391)
+ %t392 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t393)
+ %t394 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t394)
+ %t395 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t396)
+ %t397 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t397)
+ %t398 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t398)
+ ret void
+exc.cleanup52:
+ %t399 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t399)
+ %t400 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_App(ptr %t400)
+ %t401 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t401)
+ %t402 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t402)
+ %t403 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t403)
+ %t404 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t404)
+ %t405 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t405)
+ %t406 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t406)
+ %t407 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t407)
+ %t408 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t408)
+ %t409 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t409)
+ ret void
+exc.cleanup55:
+ %t410 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t410)
+ %t411 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t411)
+ %t412 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m5_App(ptr %t412)
+ %t413 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t413)
+ %t414 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t414)
+ %t415 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t415)
+ %t416 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t416)
+ %t417 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t417)
+ %t418 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t418)
+ %t419 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t419)
+ %t420 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t420)
+ %t421 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t421)
+ ret void
+exc.cleanup66:
+ %t422 = load ptr, ptr %sc_l_reader_0
+ call void @scr_box_release(ptr %t422)
+ %t423 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t423)
+ %t424 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t424)
+ %t425 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t425)
+ %t426 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t426)
+ %t427 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t427)
+ %t428 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t428)
+ %t429 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t429)
+ %t430 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t430)
+ %t431 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t431)
+ %t432 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t432)
+ %t433 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t433)
+ ret void
+exc.cleanup71:
+ %t434 = load ptr, ptr %sc_l_reader_0
+ call void @scr_box_release(ptr %t434)
+ %t435 = load ptr, ptr %sc_l_step_0
+ call void @scr_box_release(ptr %t435)
+ %t436 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t436)
+ %t437 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t437)
+ %t438 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t438)
+ %t439 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t439)
+ %t440 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t440)
+ %t441 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t441)
+ %t442 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t442)
+ %t443 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t443)
+ %t444 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t444)
+ %t445 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t445)
+ %t446 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t446)
+ ret void
+exc.cleanup78:
+ %t447 = load ptr, ptr %sc_l_b_0
+ call void @sc_rc_release_dyn(ptr %t447)
+ %t448 = load ptr, ptr %sc_l_hs_1
+ call void @sc_rrelease_r0(ptr %t448)
+ %t449 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t449)
+ %t450 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t450)
+ %t451 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t451)
+ %t452 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t452)
+ %t453 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m3_LiteResponse(ptr %t453)
+ %t454 = load ptr, ptr %sc_l_res_1
+ call void @scr_http_res_release(ptr %t454)
+ %t455 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t455)
+ %t456 = load ptr, ptr %sc_l_ct_0
+ call void @scr_str_release(ptr %t456)
+ %t457 = load ptr, ptr %sc_l_a_0
+ call void @sc_rrelease_r1(ptr %t457)
+ ret void
+}
+
+define internal void @sc_f__x25_fn14(ptr %sc_env) #0 { ; %fn14
+entry:
+ ret void
+}
+
+define internal void @sc_f__x25_fn15(ptr %sc_env) #0 { ; %fn15
+entry:
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_res_1 = alloca ptr ; res
+ store ptr null, ptr %sc_l_res_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_res_0 ; captured res
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_res_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_res_1
+ %t10 = load ptr, ptr %sc_l_res_1
+ %t11 = call ptr @scr_http_res_retain_v(ptr %t10)
+ call void @scr_http_res_destroy(ptr %t11)
+ call void @scr_http_res_release(ptr %t11)
+ ret void
+}
+
+define internal void @sc_f__x25_fn16_then2(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_f_0, ptr %p_sc_l_r_0) #0 { ; %fn16_then2
+entry:
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_e_0 = alloca ptr ; e
+ %s18 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l_e_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_f_0, ptr %sc_l_f_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @scr_promise_retain_v(ptr %t4)
+ call void @scr_await_void(ptr %t5)
+ %t6 = load ptr, ptr @scr_exc_active
+ %t7 = load i32, ptr %t6
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_promise_release(ptr %t5)
+ br label %try.c3
+exc.k7:
+ call void @scr_promise_release(ptr %t5)
+ br label %try.e5
+try.c3:
+ %t10 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t10, ptr %sc_l_e_0
+ %t11 = load ptr, ptr %sc_l_r_0
+ %t12 = load ptr, ptr %sc_l_e_0
+ %t13 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t12)
+ %t14 = load ptr, ptr @scr_exc_active
+ %t15 = load i32, ptr %t14
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t13)
+ br label %exc.cleanup10
+exc.k9:
+ %t19 = getelementptr inbounds [1 x ptr], ptr %s18, i64 0, i64 0
+ store ptr %t13, ptr %t19
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t20 = call ptr @scr_dyn_call(ptr %t11, ptr %s18, i64 1, ptr @sc_cs_1235448592878459)
+ call void @scr_dyn_this_pop()
+ %t21 = load ptr, ptr @scr_exc_active
+ %t22 = load i32, ptr %t21
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup10
+exc.k12:
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t20)
+ %t25 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t25)
+ %t26 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t26)
+ %t27 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t27)
+ %t28 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret void
+try.e5:
+ %t29 = load ptr, ptr %sc_l_f_0
+ %t30 = getelementptr inbounds %ScrClosure, ptr %t29, i64 0, i32 1
+ %t31 = load ptr, ptr %t30
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t31(ptr %t29)
+ call void @scr_dyn_this_pop()
+ %t32 = load ptr, ptr @scr_exc_active
+ %t33 = load i32, ptr %t32
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u13, label %exc.k14
+exc.u13:
+ br label %exc.cleanup2
+exc.k14:
+ %t36 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t36)
+ %t37 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t37)
+ %t38 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret void
+exc.cleanup2:
+ %t39 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t39)
+ %t40 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t40)
+ %t41 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret void
+exc.cleanup10:
+ %t42 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t42)
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t43)
+ %t44 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t44)
+ %t45 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn8(ptr %sc_env, ptr %p_sc_l_req_0, ptr %p_sc_l_res_0) #0 { ; %fn8
+entry:
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_lite_0 = alloca ptr ; lite
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_hs_0 = alloca ptr ; hs
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_lite_1 = alloca ptr ; lite
+ %s3 = alloca ptr ; lazy box res
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s31 = alloca ptr
+ store ptr null, ptr %sc_l_lite_0
+ store ptr null, ptr %sc_l_sink_0
+ store ptr null, ptr %sc_l_method_0
+ store ptr null, ptr %sc_l_url_0
+ store ptr null, ptr %sc_l_hs_0
+ store ptr null, ptr %sc_l_p_0
+ store ptr null, ptr %sc_l_lite_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_app_0 ; captured app
+ store ptr null, ptr %s3
+ store ptr %p_sc_l_req_0, ptr %sc_l_req_0
+ store ptr %p_sc_l_res_0, ptr %sc_l_res_0
+ %t4 = call ptr @llvm.stacksave.p0()
+ %t5 = load ptr, ptr @scr_stack_guard
+ %t6 = icmp ult ptr %t4, %t5
+ %t7 = call i1 @llvm.expect.i1(i1 %t6, i1 false)
+ br i1 %t7, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t8 = call ptr @sc_new__x25_m3_LiteRequest()
+ %t9 = load ptr, ptr %sc_l_req_0
+ call void @sc_bf__x25__x25_m3_LiteRequest_constructor(ptr %t8, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_release__x25_m3_LiteRequest(ptr %t8)
+ br label %exc.cleanup2
+exc.k4:
+ store ptr %t8, ptr %sc_l_lite_1
+ %t13 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_trace__x25_m3_LiteRequest) ; let lite (boxed)
+ store ptr %t13, ptr %sc_l_lite_0
+ %t14 = load ptr, ptr %sc_l_lite_1
+ %t15 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t14)
+ call void @scr_box_set_ref(ptr %t13, ptr %t15)
+ %t16 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_trace__x25_m3_LiteResponse) ; let sink (boxed)
+ store ptr %t16, ptr %sc_l_sink_0
+ %t17 = call ptr @sc_new__x25_m3_LiteResponse()
+ %t18 = load ptr, ptr %sc_l_res_0
+ call void @sc_bf__x25__x25_m3_LiteResponse_constructor(ptr %t17, ptr %t18)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t17)
+ br label %exc.cleanup7
+exc.k6:
+ call void @scr_box_set_ref(ptr %t16, ptr %t17)
+ %t22 = call ptr @scr_box_new(i32 2) ; let method (boxed)
+ store ptr %t22, ptr %sc_l_method_0
+ %t23 = load ptr, ptr %sc_l_lite_1
+ %t24 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t23, i64 0, i32 1
+ %t25 = load ptr, ptr %t24, !tbaa !76
+ %t26 = call ptr @sc_rc_retain_str(ptr %t25)
+ call void @scr_box_set_ref(ptr %t22, ptr %t26)
+ %t27 = call ptr @scr_box_new(i32 2) ; let url (boxed)
+ store ptr %t27, ptr %sc_l_url_0
+ %t28 = load ptr, ptr %sc_l_req_0
+ %t29 = call ptr @scr_http_req_retain_v(ptr %t28)
+ %t30 = call ptr @scr_http_req_url(ptr %t29)
+ store ptr %t30, ptr %s31
+ %t32 = getelementptr inbounds %ScrStr, ptr %t30, i64 0, i32 1
+ %t33 = load i64, ptr %t32
+ %t34 = icmp ne i64 %t33, 0
+ br i1 %t34, label %log.j9, label %log.r8
+log.r8:
+ call void @scr_str_release(ptr %t30)
+ store ptr @sc_lit_2434240011052594, ptr %s31
+ br label %log.j9
+log.j9:
+ %t35 = load ptr, ptr %s31
+ call void @scr_box_set_ref(ptr %t27, ptr %t35)
+ call void @scr_http_req_release(ptr %t29)
+ %t36 = call ptr @scr_box_new_obj(ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr null) ; let hs (boxed)
+ store ptr %t36, ptr %sc_l_hs_0
+ %t37 = load ptr, ptr %sc_l_lite_1
+ %t38 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t37, i64 0, i32 5
+ %t39 = load ptr, ptr %t38, !tbaa !86
+ %t40 = call ptr @sc_rretain_r0(ptr %t39)
+ call void @scr_box_set_ref(ptr %t36, ptr %t40)
+ %t41 = call ptr @scr_closure_new(ptr @sc_as__x25_fn9, i64 7)
+ %t42 = getelementptr inbounds %ScrClosure, ptr %t41, i64 0, i32 4
+ store i32 2, ptr %t42
+ %t43 = load ptr, ptr %sc_l_hs_0
+ %t44 = call ptr @sc_retain_box(ptr %t43)
+ %t45 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps
+ %t46 = getelementptr inbounds ptr, ptr %t45, i64 0 ; caps[0]
+ store ptr %t44, ptr %t46
+ %t47 = load ptr, ptr %sc_l_method_0
+ %t48 = call ptr @sc_retain_box(ptr %t47)
+ %t49 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps
+ %t50 = getelementptr inbounds ptr, ptr %t49, i64 1 ; caps[1]
+ store ptr %t48, ptr %t50
+ %t51 = load ptr, ptr %sc_l_lite_0
+ %t52 = call ptr @sc_retain_box(ptr %t51)
+ %t53 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps
+ %t54 = getelementptr inbounds ptr, ptr %t53, i64 2 ; caps[2]
+ store ptr %t52, ptr %t54
+ %t55 = load ptr, ptr %sc_l_app_0
+ %t56 = call ptr @sc_retain_box(ptr %t55)
+ %t57 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps
+ %t58 = getelementptr inbounds ptr, ptr %t57, i64 3 ; caps[3]
+ store ptr %t56, ptr %t58
+ %t59 = load ptr, ptr %sc_l_url_0
+ %t60 = call ptr @sc_retain_box(ptr %t59)
+ %t61 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps
+ %t62 = getelementptr inbounds ptr, ptr %t61, i64 4 ; caps[4]
+ store ptr %t60, ptr %t62
+ %t63 = load ptr, ptr %sc_l_sink_0
+ %t64 = call ptr @sc_retain_box(ptr %t63)
+ %t65 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps
+ %t66 = getelementptr inbounds ptr, ptr %t65, i64 5 ; caps[5]
+ store ptr %t64, ptr %t66
+ %t67 = load ptr, ptr %s3
+ %t68 = icmp eq ptr %t67, null
+ br i1 %t68, label %lazy.box10, label %lazy.box.j11
+lazy.box10:
+ %t69 = call ptr @scr_box_new_obj(ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null)
+ %t70 = load ptr, ptr %sc_l_res_0
+ %t71 = call ptr @scr_http_res_retain_v(ptr %t70)
+ call void @scr_box_set_ref(ptr %t69, ptr %t71)
+ store ptr %t69, ptr %s3
+ br label %lazy.box.j11
+lazy.box.j11:
+ %t72 = load ptr, ptr %s3
+ %t73 = call ptr @sc_retain_box(ptr %t72)
+ %t74 = getelementptr inbounds %ScrClosure, ptr %t41, i64 1 ; caps
+ %t75 = getelementptr inbounds ptr, ptr %t74, i64 6 ; caps[6]
+ store ptr %t73, ptr %t75
+ %t76 = getelementptr inbounds %ScrClosure, ptr %t41, i64 0, i32 1
+ %t77 = load ptr, ptr %t76
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t78 = call ptr %t77(ptr %t41)
+ call void @scr_dyn_this_pop()
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_closure_release(ptr %t41)
+ call void @scr_promise_release(ptr %t78)
+ br label %exc.cleanup14
+exc.k13:
+ store ptr %t78, ptr %sc_l_p_0
+ call void @scr_closure_release(ptr %t41)
+ %t82 = call ptr @scr_closure_new(ptr @sc_as__x25_fn16_then2, i64 0)
+ %t83 = getelementptr inbounds %ScrClosure, ptr %t82, i64 0, i32 4
+ store i32 2, ptr %t83
+ %t84 = load ptr, ptr %sc_l_p_0
+ %t85 = call ptr @scr_promise_retain_v(ptr %t84)
+ %t86 = call ptr @scr_closure_new(ptr @sc_f__x25_fn14, i64 0)
+ %t87 = getelementptr inbounds %ScrClosure, ptr %t86, i64 0, i32 4
+ store i32 4, ptr %t87
+ %t88 = call ptr @scr_closure_new(ptr @sc_f__x25_fn15, i64 1)
+ %t89 = getelementptr inbounds %ScrClosure, ptr %t88, i64 0, i32 4
+ store i32 4, ptr %t89
+ %t90 = load ptr, ptr %s3
+ %t91 = icmp eq ptr %t90, null
+ br i1 %t91, label %lazy.box15, label %lazy.box.j16
+lazy.box15:
+ %t92 = call ptr @scr_box_new_obj(ptr @scr_http_res_retain_v, ptr @scr_http_res_release_v, ptr null)
+ %t93 = load ptr, ptr %sc_l_res_0
+ %t94 = call ptr @scr_http_res_retain_v(ptr %t93)
+ call void @scr_box_set_ref(ptr %t92, ptr %t94)
+ store ptr %t92, ptr %s3
+ br label %lazy.box.j16
+lazy.box.j16:
+ %t95 = load ptr, ptr %s3
+ %t96 = call ptr @sc_retain_box(ptr %t95)
+ %t97 = getelementptr inbounds %ScrClosure, ptr %t88, i64 1 ; caps
+ %t98 = getelementptr inbounds ptr, ptr %t97, i64 0 ; caps[0]
+ store ptr %t96, ptr %t98
+ %t99 = call ptr @sc_dfb_1(ptr %t88, ptr null)
+ %t100 = getelementptr inbounds %ScrClosure, ptr %t82, i64 0, i32 1
+ %t101 = load ptr, ptr %t100
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t102 = call ptr %t101(ptr %t82, ptr %t85, ptr %t86, ptr %t99)
+ call void @scr_dyn_this_pop()
+ %t103 = load i32, ptr %exc.cell
+ %t104 = icmp ne i32 %t103, 0
+ %t105 = call i1 @llvm.expect.i1(i1 %t104, i1 false)
+ br i1 %t105, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_closure_release(ptr %t88)
+ call void @scr_promise_release(ptr %t102)
+ br label %exc.cleanup19
+exc.k18:
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_closure_release(ptr %t88)
+ call void @scr_promise_release(ptr %t102)
+ %t106 = load ptr, ptr %s3
+ %t107 = icmp ne ptr %t106, null
+ br i1 %t107, label %lazy.release20, label %lazy.release.j21
+lazy.release20:
+ call void @scr_box_release(ptr %t106)
+ br label %lazy.release.j21
+lazy.release.j21:
+ %t108 = load ptr, ptr %sc_l_res_0
+ call void @scr_http_res_release(ptr %t108)
+ %t109 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t109)
+ %t110 = load ptr, ptr %sc_l_lite_0
+ call void @scr_box_release(ptr %t110)
+ %t111 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t111)
+ %t112 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t112)
+ %t113 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t113)
+ %t114 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t114)
+ %t115 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t115)
+ ret void
+exc.cleanup2:
+ %t116 = load ptr, ptr %s3
+ %t117 = icmp ne ptr %t116, null
+ br i1 %t117, label %lazy.release22, label %lazy.release.j23
+lazy.release22:
+ call void @scr_box_release(ptr %t116)
+ br label %lazy.release.j23
+lazy.release.j23:
+ %t118 = load ptr, ptr %sc_l_res_0
+ call void @scr_http_res_release(ptr %t118)
+ ret void
+exc.cleanup7:
+ %t119 = load ptr, ptr %s3
+ %t120 = icmp ne ptr %t119, null
+ br i1 %t120, label %lazy.release24, label %lazy.release.j25
+lazy.release24:
+ call void @scr_box_release(ptr %t119)
+ br label %lazy.release.j25
+lazy.release.j25:
+ %t121 = load ptr, ptr %sc_l_res_0
+ call void @scr_http_res_release(ptr %t121)
+ %t122 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t122)
+ %t123 = load ptr, ptr %sc_l_lite_0
+ call void @scr_box_release(ptr %t123)
+ %t124 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t124)
+ ret void
+exc.cleanup14:
+ %t125 = load ptr, ptr %s3
+ %t126 = icmp ne ptr %t125, null
+ br i1 %t126, label %lazy.release26, label %lazy.release.j27
+lazy.release26:
+ call void @scr_box_release(ptr %t125)
+ br label %lazy.release.j27
+lazy.release.j27:
+ %t127 = load ptr, ptr %sc_l_res_0
+ call void @scr_http_res_release(ptr %t127)
+ %t128 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_lite_0
+ call void @scr_box_release(ptr %t129)
+ %t130 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t130)
+ %t131 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t132)
+ %t133 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t133)
+ ret void
+exc.cleanup19:
+ %t134 = load ptr, ptr %s3
+ %t135 = icmp ne ptr %t134, null
+ br i1 %t135, label %lazy.release28, label %lazy.release.j29
+lazy.release28:
+ call void @scr_box_release(ptr %t134)
+ br label %lazy.release.j29
+lazy.release.j29:
+ %t136 = load ptr, ptr %sc_l_res_0
+ call void @scr_http_res_release(ptr %t136)
+ %t137 = load ptr, ptr %sc_l_lite_1
+ call void @sc_release__x25_m3_LiteRequest(ptr %t137)
+ %t138 = load ptr, ptr %sc_l_lite_0
+ call void @scr_box_release(ptr %t138)
+ %t139 = load ptr, ptr %sc_l_sink_0
+ call void @scr_box_release(ptr %t139)
+ %t140 = load ptr, ptr %sc_l_method_0
+ call void @scr_box_release(ptr %t140)
+ %t141 = load ptr, ptr %sc_l_url_0
+ call void @scr_box_release(ptr %t141)
+ %t142 = load ptr, ptr %sc_l_hs_0
+ call void @scr_box_release(ptr %t142)
+ %t143 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t143)
+ ret void
+}
+define internal void @sc_f__x25_fn8(ptr %sc_env, ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_fn8(ptr %sc_env, ptr %p0, ptr %p1)
+ call void @scr_http_req_release(ptr %p0)
+ ret void
+}
+
+define internal double @sc_bf__x25_union_narrow_1(ptr %p_sc_l_u_0) #0 { ; %union.narrow.1
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1
+ %t2 = load i32, ptr %t3
+ %t1 = icmp eq i32 %t2, 0
+ br i1 %t1, label %if.t0, label %if.j1
+if.t0:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t5 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 5
+ %t6 = load double, ptr %t5
+ ret double %t6
+if.j1:
+ %t7 = load ptr, ptr %sc_l_u_0
+ %t10 = getelementptr inbounds %ScrUnion, ptr %t7, i64 0, i32 1
+ %t9 = load i32, ptr %t10
+ %t8 = icmp eq i32 %t9, 1
+ br i1 %t8, label %if.t2, label %if.j3
+if.t2:
+ %t11 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t11, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret double 0x0000000000000000
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret double 0x0000000000000000
+}
+define internal double @sc_f__x25_union_narrow_1(ptr %p0) #0 {
+entry:
+ %result = call double @sc_bf__x25_union_narrow_1(ptr %p0)
+ call void @scr_union_release(ptr %p0)
+ ret double %result
+}
+
+define internal ptr @sc_bf__x25_union_narrow_2(ptr %p_sc_l_u_0) #0 { ; %union.narrow.2
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_2(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_narrow_2(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m5_MpCfg(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m5_MpCfg(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink() #0 { ; %prototype.data.%m2.ResponseSink
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ call void @scr_dyn_release(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_3752021314181142)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus)
+ %t13 = call ptr @sc_dfb_45(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ call void @scr_dyn_release(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ call void @scr_dyn_release(ptr %t25)
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_2364278031517622)
+ %t32 = call ptr @scr_dyn_new_obj()
+ %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader)
+ %t34 = call ptr @sc_dfb_9(ptr %t33, ptr null)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ ret ptr null
+exc.k13:
+ %t38 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ ret ptr null
+exc.k15:
+ %t42 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ ret ptr null
+exc.k17:
+ %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ call void @scr_dyn_release(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ call void @scr_dyn_release(ptr %t46)
+ %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ %t52 = call ptr @sc_td_0(ptr @sc_lit_470306239805907)
+ %t53 = call ptr @scr_dyn_new_obj()
+ %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader)
+ %t55 = call ptr @sc_dfb_9(ptr %t54, ptr null)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ ret ptr null
+exc.k21:
+ %t59 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ ret ptr null
+exc.k23:
+ %t63 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ ret ptr null
+exc.k25:
+ %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ call void @scr_dyn_release(ptr %t67)
+ ret ptr null
+exc.k27:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ call void @scr_dyn_release(ptr %t67)
+ %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t73 = call ptr @sc_td_0(ptr @sc_lit_4133069531575059)
+ %t74 = call ptr @scr_dyn_new_obj()
+ %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody)
+ %t76 = call ptr @sc_dfb_46(ptr %t75, ptr null)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ ret ptr null
+exc.k29:
+ %t80 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ ret ptr null
+exc.k31:
+ %t84 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ ret ptr null
+exc.k33:
+ %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ call void @scr_dyn_release(ptr %t88)
+ ret ptr null
+exc.k35:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ call void @scr_dyn_release(ptr %t88)
+ %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t93 = call ptr @sc_rc_retain_dyn(ptr %t92)
+ %t94 = call ptr @sc_td_0(ptr @sc_lit_2253648670486996)
+ %t95 = call ptr @scr_dyn_new_obj()
+ %t96 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes)
+ %t97 = call ptr @sc_dfb_47(ptr %t96, ptr null)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3610950885518037, ptr %t97)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ ret ptr null
+exc.k37:
+ %t101 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_1948131179100861, ptr %t101)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ ret ptr null
+exc.k39:
+ %t105 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3198935257758645, ptr %t105)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ ret ptr null
+exc.k41:
+ %t109 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t93, ptr %t94, ptr %t95)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ call void @scr_dyn_release(ptr %t109)
+ ret ptr null
+exc.k43:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ call void @scr_dyn_release(ptr %t109)
+ %t113 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t114 = call ptr @sc_rc_retain_dyn(ptr %t113)
+ %t115 = call ptr @sc_td_0(ptr @sc_lit_161925136240866)
+ %t116 = call ptr @scr_dyn_new_obj()
+ %t117 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect)
+ %t118 = call ptr @sc_dfb_48(ptr %t117, ptr null)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3610950885518037, ptr %t118)
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ ret ptr null
+exc.k45:
+ %t122 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_1948131179100861, ptr %t122)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ ret ptr null
+exc.k47:
+ %t126 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3198935257758645, ptr %t126)
+ %t127 = load i32, ptr %exc.cell
+ %t128 = icmp ne i32 %t127, 0
+ %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false)
+ br i1 %t129, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ ret ptr null
+exc.k49:
+ %t130 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t114, ptr %t115, ptr %t116)
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ call void @scr_dyn_release(ptr %t130)
+ ret ptr null
+exc.k51:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ call void @scr_dyn_release(ptr %t130)
+ %t134 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t135 = call ptr @sc_rc_retain_dyn(ptr %t134)
+ %t136 = call ptr @sc_td_0(ptr @sc_lit_298897322184109)
+ %t137 = call ptr @scr_dyn_new_obj()
+ %t138 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write)
+ %t139 = call ptr @sc_dfb_46(ptr %t138, ptr null)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3610950885518037, ptr %t139)
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ ret ptr null
+exc.k53:
+ %t143 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_1948131179100861, ptr %t143)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ ret ptr null
+exc.k55:
+ %t147 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3198935257758645, ptr %t147)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ ret ptr null
+exc.k57:
+ %t151 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t135, ptr %t136, ptr %t137)
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ call void @scr_dyn_release(ptr %t151)
+ ret ptr null
+exc.k59:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ call void @scr_dyn_release(ptr %t151)
+ %t155 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t156 = call ptr @sc_rc_retain_dyn(ptr %t155)
+ %t157 = call ptr @sc_td_0(ptr @sc_lit_4085448292571548)
+ %t158 = call ptr @scr_dyn_new_obj()
+ %t159 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead)
+ %t160 = call ptr @sc_dfb_49(ptr %t159, ptr null)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3610950885518037, ptr %t160)
+ %t161 = load i32, ptr %exc.cell
+ %t162 = icmp ne i32 %t161, 0
+ %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false)
+ br i1 %t163, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ ret ptr null
+exc.k61:
+ %t164 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_1948131179100861, ptr %t164)
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ ret ptr null
+exc.k63:
+ %t168 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3198935257758645, ptr %t168)
+ %t169 = load i32, ptr %exc.cell
+ %t170 = icmp ne i32 %t169, 0
+ %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false)
+ br i1 %t171, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ ret ptr null
+exc.k65:
+ %t172 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t156, ptr %t157, ptr %t158)
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ call void @scr_dyn_release(ptr %t172)
+ ret ptr null
+exc.k67:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ call void @scr_dyn_release(ptr %t172)
+ %t176 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t177 = call ptr @sc_rc_retain_dyn(ptr %t176)
+ %t178 = call ptr @sc_td_0(ptr @sc_lit_3561861343106386)
+ %t179 = call ptr @scr_dyn_new_obj()
+ %t180 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream)
+ %t181 = call ptr @sc_dfb_1(ptr %t180, ptr null)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3610950885518037, ptr %t181)
+ %t182 = load i32, ptr %exc.cell
+ %t183 = icmp ne i32 %t182, 0
+ %t184 = call i1 @llvm.expect.i1(i1 %t183, i1 false)
+ br i1 %t184, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ ret ptr null
+exc.k69:
+ %t185 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_1948131179100861, ptr %t185)
+ %t186 = load i32, ptr %exc.cell
+ %t187 = icmp ne i32 %t186, 0
+ %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false)
+ br i1 %t188, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ ret ptr null
+exc.k71:
+ %t189 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3198935257758645, ptr %t189)
+ %t190 = load i32, ptr %exc.cell
+ %t191 = icmp ne i32 %t190, 0
+ %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false)
+ br i1 %t192, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ ret ptr null
+exc.k73:
+ %t193 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t177, ptr %t178, ptr %t179)
+ %t194 = load i32, ptr %exc.cell
+ %t195 = icmp ne i32 %t194, 0
+ %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false)
+ br i1 %t196, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ call void @scr_dyn_release(ptr %t193)
+ ret ptr null
+exc.k75:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ call void @scr_dyn_release(ptr %t193)
+ %t197 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t199 = call ptr @sc_td_0(ptr @sc_lit_3108123016971750)
+ %t200 = call ptr @scr_dyn_new_obj()
+ %t201 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt)
+ %t202 = call ptr @sc_dfb_50(ptr %t201, ptr null)
+ call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3610950885518037, ptr %t202)
+ %t203 = load i32, ptr %exc.cell
+ %t204 = icmp ne i32 %t203, 0
+ %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false)
+ br i1 %t205, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ ret ptr null
+exc.k77:
+ %t206 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_1948131179100861, ptr %t206)
+ %t207 = load i32, ptr %exc.cell
+ %t208 = icmp ne i32 %t207, 0
+ %t209 = call i1 @llvm.expect.i1(i1 %t208, i1 false)
+ br i1 %t209, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ ret ptr null
+exc.k79:
+ %t210 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3198935257758645, ptr %t210)
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t210)
+ ret ptr null
+exc.k81:
+ %t214 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t198, ptr %t199, ptr %t200)
+ %t215 = load i32, ptr %exc.cell
+ %t216 = icmp ne i32 %t215, 0
+ %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false)
+ br i1 %t217, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t210)
+ call void @scr_dyn_release(ptr %t214)
+ ret ptr null
+exc.k83:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t210)
+ call void @scr_dyn_release(ptr %t214)
+ %t218 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t219 = call ptr @sc_rc_retain_dyn(ptr %t218)
+ %t220 = call ptr @sc_td_0(ptr @sc_lit_2529432852777196)
+ %t221 = call ptr @scr_dyn_new_obj()
+ %t222 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent)
+ %t223 = call ptr @sc_dfb_51(ptr %t222, ptr null)
+ call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3610950885518037, ptr %t223)
+ %t224 = load i32, ptr %exc.cell
+ %t225 = icmp ne i32 %t224, 0
+ %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false)
+ br i1 %t226, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ ret ptr null
+exc.k85:
+ %t227 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_1948131179100861, ptr %t227)
+ %t228 = load i32, ptr %exc.cell
+ %t229 = icmp ne i32 %t228, 0
+ %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false)
+ br i1 %t230, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ ret ptr null
+exc.k87:
+ %t231 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3198935257758645, ptr %t231)
+ %t232 = load i32, ptr %exc.cell
+ %t233 = icmp ne i32 %t232, 0
+ %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false)
+ br i1 %t234, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t231)
+ ret ptr null
+exc.k89:
+ %t235 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t219, ptr %t220, ptr %t221)
+ %t236 = load i32, ptr %exc.cell
+ %t237 = icmp ne i32 %t236, 0
+ %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false)
+ br i1 %t238, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t231)
+ call void @scr_dyn_release(ptr %t235)
+ ret ptr null
+exc.k91:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t231)
+ call void @scr_dyn_release(ptr %t235)
+ %t239 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t240 = call ptr @sc_rc_retain_dyn(ptr %t239)
+ %t241 = call ptr @sc_td_0(ptr @sc_lit_4297539476301093)
+ %t242 = call ptr @scr_dyn_new_obj()
+ %t243 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent)
+ %t244 = call ptr @sc_dfb_51(ptr %t243, ptr null)
+ call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3610950885518037, ptr %t244)
+ %t245 = load i32, ptr %exc.cell
+ %t246 = icmp ne i32 %t245, 0
+ %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false)
+ br i1 %t247, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ ret ptr null
+exc.k93:
+ %t248 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_1948131179100861, ptr %t248)
+ %t249 = load i32, ptr %exc.cell
+ %t250 = icmp ne i32 %t249, 0
+ %t251 = call i1 @llvm.expect.i1(i1 %t250, i1 false)
+ br i1 %t251, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ ret ptr null
+exc.k95:
+ %t252 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3198935257758645, ptr %t252)
+ %t253 = load i32, ptr %exc.cell
+ %t254 = icmp ne i32 %t253, 0
+ %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false)
+ br i1 %t255, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t252)
+ ret ptr null
+exc.k97:
+ %t256 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t240, ptr %t241, ptr %t242)
+ %t257 = load i32, ptr %exc.cell
+ %t258 = icmp ne i32 %t257, 0
+ %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false)
+ br i1 %t259, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t252)
+ call void @scr_dyn_release(ptr %t256)
+ ret ptr null
+exc.k99:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t252)
+ call void @scr_dyn_release(ptr %t256)
+ %t260 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t261 = call ptr @sc_rc_retain_dyn(ptr %t260)
+ %t262 = call ptr @sc_td_0(ptr @sc_lit_1959461887910059)
+ %t263 = call ptr @scr_dyn_new_obj()
+ %t264 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy)
+ %t265 = call ptr @sc_dfb_1(ptr %t264, ptr null)
+ call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3610950885518037, ptr %t265)
+ %t266 = load i32, ptr %exc.cell
+ %t267 = icmp ne i32 %t266, 0
+ %t268 = call i1 @llvm.expect.i1(i1 %t267, i1 false)
+ br i1 %t268, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ ret ptr null
+exc.k101:
+ %t269 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_1948131179100861, ptr %t269)
+ %t270 = load i32, ptr %exc.cell
+ %t271 = icmp ne i32 %t270, 0
+ %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false)
+ br i1 %t272, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ ret ptr null
+exc.k103:
+ %t273 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3198935257758645, ptr %t273)
+ %t274 = load i32, ptr %exc.cell
+ %t275 = icmp ne i32 %t274, 0
+ %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false)
+ br i1 %t276, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t273)
+ ret ptr null
+exc.k105:
+ %t277 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t261, ptr %t262, ptr %t263)
+ %t278 = load i32, ptr %exc.cell
+ %t279 = icmp ne i32 %t278, 0
+ %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false)
+ br i1 %t280, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t273)
+ call void @scr_dyn_release(ptr %t277)
+ ret ptr null
+exc.k107:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t273)
+ call void @scr_dyn_release(ptr %t277)
+ %t281 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t282 = call ptr @sc_rc_retain_dyn(ptr %t281)
+ %t283 = call ptr @sc_td_0(ptr @sc_lit_181663572509014)
+ %t284 = call ptr @scr_dyn_new_obj()
+ %t285 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf)
+ %t286 = call ptr @sc_dfb_52(ptr %t285, ptr null)
+ call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3610950885518037, ptr %t286)
+ %t287 = load i32, ptr %exc.cell
+ %t288 = icmp ne i32 %t287, 0
+ %t289 = call i1 @llvm.expect.i1(i1 %t288, i1 false)
+ br i1 %t289, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ ret ptr null
+exc.k109:
+ %t290 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_1948131179100861, ptr %t290)
+ %t291 = load i32, ptr %exc.cell
+ %t292 = icmp ne i32 %t291, 0
+ %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false)
+ br i1 %t293, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ ret ptr null
+exc.k111:
+ %t294 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3198935257758645, ptr %t294)
+ %t295 = load i32, ptr %exc.cell
+ %t296 = icmp ne i32 %t295, 0
+ %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false)
+ br i1 %t297, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t294)
+ ret ptr null
+exc.k113:
+ %t298 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t282, ptr %t283, ptr %t284)
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t294)
+ call void @scr_dyn_release(ptr %t298)
+ ret ptr null
+exc.k115:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t294)
+ call void @scr_dyn_release(ptr %t298)
+ %t302 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t303 = call ptr @sc_rc_retain_dyn(ptr %t302)
+ %t304 = call ptr @sc_td_0(ptr @sc_lit_992600386266231)
+ %t305 = call ptr @scr_dyn_new_obj()
+ %t306 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf)
+ %t307 = call ptr @sc_dfb_53(ptr %t306, ptr null)
+ call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3610950885518037, ptr %t307)
+ %t308 = load i32, ptr %exc.cell
+ %t309 = icmp ne i32 %t308, 0
+ %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false)
+ br i1 %t310, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ ret ptr null
+exc.k117:
+ %t311 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_1948131179100861, ptr %t311)
+ %t312 = load i32, ptr %exc.cell
+ %t313 = icmp ne i32 %t312, 0
+ %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false)
+ br i1 %t314, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ ret ptr null
+exc.k119:
+ %t315 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3198935257758645, ptr %t315)
+ %t316 = load i32, ptr %exc.cell
+ %t317 = icmp ne i32 %t316, 0
+ %t318 = call i1 @llvm.expect.i1(i1 %t317, i1 false)
+ br i1 %t318, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t315)
+ ret ptr null
+exc.k121:
+ %t319 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t303, ptr %t304, ptr %t305)
+ %t320 = load i32, ptr %exc.cell
+ %t321 = icmp ne i32 %t320, 0
+ %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false)
+ br i1 %t322, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t315)
+ call void @scr_dyn_release(ptr %t319)
+ ret ptr null
+exc.k123:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t315)
+ call void @scr_dyn_release(ptr %t319)
+ %t323 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t324 = call ptr @sc_rc_retain_dyn(ptr %t323)
+ %t325 = call ptr @sc_td_0(ptr @sc_lit_4198614539576238)
+ %t326 = call ptr @scr_dyn_new_obj()
+ %t327 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap)
+ %t328 = call ptr @sc_dfb_54(ptr %t327, ptr null)
+ call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3610950885518037, ptr %t328)
+ %t329 = load i32, ptr %exc.cell
+ %t330 = icmp ne i32 %t329, 0
+ %t331 = call i1 @llvm.expect.i1(i1 %t330, i1 false)
+ br i1 %t331, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ ret ptr null
+exc.k125:
+ %t332 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_1948131179100861, ptr %t332)
+ %t333 = load i32, ptr %exc.cell
+ %t334 = icmp ne i32 %t333, 0
+ %t335 = call i1 @llvm.expect.i1(i1 %t334, i1 false)
+ br i1 %t335, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ ret ptr null
+exc.k127:
+ %t336 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3198935257758645, ptr %t336)
+ %t337 = load i32, ptr %exc.cell
+ %t338 = icmp ne i32 %t337, 0
+ %t339 = call i1 @llvm.expect.i1(i1 %t338, i1 false)
+ br i1 %t339, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t336)
+ ret ptr null
+exc.k129:
+ %t340 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t324, ptr %t325, ptr %t326)
+ %t341 = load i32, ptr %exc.cell
+ %t342 = icmp ne i32 %t341, 0
+ %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false)
+ br i1 %t343, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t336)
+ call void @scr_dyn_release(ptr %t340)
+ ret ptr null
+exc.k131:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t336)
+ call void @scr_dyn_release(ptr %t340)
+ %t344 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t345 = call ptr @sc_rc_retain_dyn(ptr %t344)
+ %t346 = call ptr @sc_td_0(ptr @sc_lit_3908714124573206)
+ %t347 = call ptr @scr_dyn_new_obj()
+ %t348 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes)
+ %t349 = call ptr @sc_dfb_55(ptr %t348, ptr null)
+ call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3610950885518037, ptr %t349)
+ %t350 = load i32, ptr %exc.cell
+ %t351 = icmp ne i32 %t350, 0
+ %t352 = call i1 @llvm.expect.i1(i1 %t351, i1 false)
+ br i1 %t352, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ ret ptr null
+exc.k133:
+ %t353 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_1948131179100861, ptr %t353)
+ %t354 = load i32, ptr %exc.cell
+ %t355 = icmp ne i32 %t354, 0
+ %t356 = call i1 @llvm.expect.i1(i1 %t355, i1 false)
+ br i1 %t356, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ ret ptr null
+exc.k135:
+ %t357 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3198935257758645, ptr %t357)
+ %t358 = load i32, ptr %exc.cell
+ %t359 = icmp ne i32 %t358, 0
+ %t360 = call i1 @llvm.expect.i1(i1 %t359, i1 false)
+ br i1 %t360, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t357)
+ ret ptr null
+exc.k137:
+ %t361 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t345, ptr %t346, ptr %t347)
+ %t362 = load i32, ptr %exc.cell
+ %t363 = icmp ne i32 %t362, 0
+ %t364 = call i1 @llvm.expect.i1(i1 %t363, i1 false)
+ br i1 %t364, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t357)
+ call void @scr_dyn_release(ptr %t361)
+ ret ptr null
+exc.k139:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t357)
+ call void @scr_dyn_release(ptr %t361)
+ br label %if.j3
+if.j3:
+ %t365 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ %t366 = call ptr @sc_rc_retain_dyn(ptr %t365)
+ ret ptr %t366
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m2_ResponseSink(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m2.ResponseSink
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s1 = alloca i1
+ %s12 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s29 = alloca i1
+ %s40 = alloca ptr
+ %s57 = alloca i1
+ %s68 = alloca ptr
+ %s85 = alloca i1
+ %s96 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s1
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %brand.inspect0, label %brand.done2
+brand.inspect0:
+ %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t4 = load i32, ptr %t3
+ %t5 = icmp eq i32 %t4, 12
+ br i1 %t5, label %brand.capsule1, label %brand.done2
+brand.capsule1:
+ %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t7 = load ptr, ptr %t6
+ %t8 = icmp eq ptr %t7, @sc_cs_629517122853751
+ store i1 true, ptr %s1
+ br i1 %t8, label %brand.done2, label %brand.compare3
+brand.compare3:
+ %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_629517122853751)
+ store i1 %t9, ptr %s1
+ br label %brand.done2
+brand.done2:
+ %t10 = load i1, ptr %s1
+ br i1 %t10, label %if.t4, label %if.j5
+if.t4:
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t13 = icmp ne ptr %t11, null
+ br i1 %t13, label %dc.inspect6, label %dc.checked9
+dc.inspect6:
+ %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t14 = icmp eq i32 %t19, 12
+ br i1 %t14, label %dc.capsule7, label %dc.checked9
+dc.capsule7:
+ %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key
+ %t16 = load ptr, ptr %t15
+ %t17 = icmp eq ptr %t16, @sc_cs_629517122853751
+ br i1 %t17, label %dc.exact8, label %dc.checked9
+dc.exact8:
+ %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t21)
+ store ptr %t22, ptr %s12
+ br label %dc.done10
+dc.checked9:
+ %t23 = call ptr @sc_dc_29(ptr %t11, ptr null)
+ store ptr %t23, ptr %s12
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ ret ptr null
+exc.k12:
+ br label %dc.done10
+dc.done10:
+ %t27 = load ptr, ptr %s12
+ ret ptr %t27
+if.j5:
+ %t28 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s29
+ %t30 = icmp ne ptr %t28, null
+ br i1 %t30, label %brand.inspect13, label %brand.done15
+brand.inspect13:
+ %t31 = getelementptr inbounds i8, ptr %t28, i64 8 ; ->kind
+ %t32 = load i32, ptr %t31
+ %t33 = icmp eq i32 %t32, 12
+ br i1 %t33, label %brand.capsule14, label %brand.done15
+brand.capsule14:
+ %t34 = getelementptr inbounds i8, ptr %t28, i64 40 ; ->v.typed_ref.type_key
+ %t35 = load ptr, ptr %t34
+ %t36 = icmp eq ptr %t35, @sc_cs_3326437563644705
+ store i1 true, ptr %s29
+ br i1 %t36, label %brand.done15, label %brand.compare16
+brand.compare16:
+ %t37 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t28, ptr @sc_lit_3326437563644705)
+ store i1 %t37, ptr %s29
+ br label %brand.done15
+brand.done15:
+ %t38 = load i1, ptr %s29
+ br i1 %t38, label %if.t17, label %if.j18
+if.t17:
+ %t39 = load ptr, ptr %sc_l_this_0
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect19, label %dc.checked22
+dc.inspect19:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule20, label %dc.checked22
+dc.capsule20:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_3326437563644705
+ br i1 %t45, label %dc.exact21, label %dc.checked22
+dc.exact21:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done23
+dc.checked22:
+ %t51 = call ptr @sc_dc_102(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u24, label %exc.k25
+exc.u24:
+ ret ptr null
+exc.k25:
+ br label %dc.done23
+dc.done23:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j18:
+ %t56 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s57
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %brand.inspect26, label %brand.done28
+brand.inspect26:
+ %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t61 = icmp eq i32 %t60, 12
+ br i1 %t61, label %brand.capsule27, label %brand.done28
+brand.capsule27:
+ %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t63 = load ptr, ptr %t62
+ %t64 = icmp eq ptr %t63, @sc_cs_2434838942941195
+ store i1 true, ptr %s57
+ br i1 %t64, label %brand.done28, label %brand.compare29
+brand.compare29:
+ %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2434838942941195)
+ store i1 %t65, ptr %s57
+ br label %brand.done28
+brand.done28:
+ %t66 = load i1, ptr %s57
+ br i1 %t66, label %if.t30, label %if.j31
+if.t30:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t69 = icmp ne ptr %t67, null
+ br i1 %t69, label %dc.inspect32, label %dc.checked35
+dc.inspect32:
+ %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind
+ %t75 = load i32, ptr %t74
+ %t70 = icmp eq i32 %t75, 12
+ br i1 %t70, label %dc.capsule33, label %dc.checked35
+dc.capsule33:
+ %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key
+ %t72 = load ptr, ptr %t71
+ %t73 = icmp eq ptr %t72, @sc_cs_2434838942941195
+ br i1 %t73, label %dc.exact34, label %dc.checked35
+dc.exact34:
+ %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr
+ %t77 = load ptr, ptr %t76
+ %t78 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t77)
+ store ptr %t78, ptr %s68
+ br label %dc.done36
+dc.checked35:
+ %t79 = call ptr @sc_dc_52(ptr %t67, ptr null)
+ store ptr %t79, ptr %s68
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u37, label %exc.k38
+exc.u37:
+ ret ptr null
+exc.k38:
+ br label %dc.done36
+dc.done36:
+ %t83 = load ptr, ptr %s68
+ ret ptr %t83
+if.j31:
+ %t84 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s85
+ %t86 = icmp ne ptr %t84, null
+ br i1 %t86, label %brand.inspect39, label %brand.done41
+brand.inspect39:
+ %t87 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind
+ %t88 = load i32, ptr %t87
+ %t89 = icmp eq i32 %t88, 12
+ br i1 %t89, label %brand.capsule40, label %brand.done41
+brand.capsule40:
+ %t90 = getelementptr inbounds i8, ptr %t84, i64 40 ; ->v.typed_ref.type_key
+ %t91 = load ptr, ptr %t90
+ %t92 = icmp eq ptr %t91, @sc_cs_4074974279575818
+ store i1 true, ptr %s85
+ br i1 %t92, label %brand.done41, label %brand.compare42
+brand.compare42:
+ %t93 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t84, ptr @sc_lit_4074974279575818)
+ store i1 %t93, ptr %s85
+ br label %brand.done41
+brand.done41:
+ %t94 = load i1, ptr %s85
+ br i1 %t94, label %if.t43, label %if.j44
+if.t43:
+ %t95 = load ptr, ptr %sc_l_this_0
+ %t97 = icmp ne ptr %t95, null
+ br i1 %t97, label %dc.inspect45, label %dc.checked48
+dc.inspect45:
+ %t102 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind
+ %t103 = load i32, ptr %t102
+ %t98 = icmp eq i32 %t103, 12
+ br i1 %t98, label %dc.capsule46, label %dc.checked48
+dc.capsule46:
+ %t99 = getelementptr inbounds i8, ptr %t95, i64 40 ; ->v.typed_ref.type_key
+ %t100 = load ptr, ptr %t99
+ %t101 = icmp eq ptr %t100, @sc_cs_4074974279575818
+ br i1 %t101, label %dc.exact47, label %dc.checked48
+dc.exact47:
+ %t104 = getelementptr inbounds i8, ptr %t95, i64 16 ; ->v.typed_ref.ptr
+ %t105 = load ptr, ptr %t104
+ %t106 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t105)
+ store ptr %t106, ptr %s96
+ br label %dc.done49
+dc.checked48:
+ %t107 = call ptr @sc_dc_104(ptr %t95, ptr null)
+ store ptr %t107, ptr %s96
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u50, label %exc.k51
+exc.u50:
+ ret ptr null
+exc.k51:
+ br label %dc.done49
+dc.done49:
+ %t111 = load ptr, ptr %s96
+ ret ptr %t111
+if.j44:
+ %t112 = load ptr, ptr %sc_l_this_0
+ %t113 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_ResponseSink(ptr %t112)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_release__x25_m2_ResponseSink(ptr %t113)
+ ret ptr null
+exc.k53:
+ ret ptr %t113
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m2_ResponseSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_ResponseSink(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus(double %p_sc_l_p_0) #0 { ; %method.value:%%m2.ResponseSink.setStatus
+entry:
+ %sc_l_p_0 = alloca double ; p0
+ store double %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load double, ptr %sc_l_p_0
+ call void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setStatus(double %t0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.ResponseSink.setHeader
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %t0, ptr %t1)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.ResponseSink.appendHeader
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %t0, ptr %t1)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.ResponseSink.writeBody
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %t0)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.ResponseSink.bodyBytes
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %t0, ptr %t1)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1)
+ call void @scr_bytes_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p_sc_l_p_0, double %p_sc_l_p_1) #0 { ; %method.value:%%m2.ResponseSink.redirect
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca double ; p1
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store double %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = load double, ptr %sc_l_p_1
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_redirect(ptr %t0, double %t1)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p0, double %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p0, double %p1)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.ResponseSink.write
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_write(ptr %t0)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_write(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(double %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.ResponseSink.writeHead
+entry:
+ %sc_l_p_0 = alloca double ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ store double %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = load double, ptr %sc_l_p_0
+ %t1 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeHead(double %t0, ptr %t1)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(double %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead(double %p0, ptr %p1)
+ call void @scr_arr_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream() #0 { ; %method.value:%%m2.ResponseSink.endStream
+entry:
+ call void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_endStream()
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.ResponseSink.adopt
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_adopt(ptr %t0)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p0)
+ call void @sc_rrelease_r1(ptr %p0)
+ ret void
+}
+
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent() #0 { ; %method.value:%%m2.ResponseSink.isSent
+entry:
+ %t0 = call i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_isSent()
+ ret i1 %t0
+}
+
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent() #0 { ; %method.value:%%m2.ResponseSink.isHeadersSent
+entry:
+ %t0 = call i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_isHeadersSent()
+ ret i1 %t0
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy() #0 { ; %method.value:%%m2.ResponseSink.destroy
+entry:
+ call void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_destroy()
+ ret void
+}
+
+define internal double @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf() #0 { ; %method.value:%%m2.ResponseSink.statusOf
+entry:
+ %t0 = call i32 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_statusOf.i32()
+ %t1 = sitofp i32 %t0 to double
+ ret double %t1
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.ResponseSink.headerOf
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %t0) ; borrowed result
+ ret ptr %t1
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_nretain_string(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_str_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap() #0 { ; %method.value:%%m2.ResponseSink.headersMap
+entry:
+ %t0 = call ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headersMap()
+ ret ptr %t0
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes() #0 { ; %method.value:%%m2.ResponseSink.nodeRes
+entry:
+ %t0 = call ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_nodeRes()
+ ret ptr %t0
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink() #0 { ; %prototype.data.%m2.FetchResponseSink
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink()
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_dyn_release(ptr %t6)
+ ret ptr null
+exc.k5:
+ %t10 = call ptr @scr_dyn_obj_create(ptr %t6)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_dyn_release(ptr %t6)
+ call void @scr_dyn_release(ptr %t10)
+ ret ptr null
+exc.k7:
+ %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ call void @scr_dyn_release(ptr %t14)
+ store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ call void @scr_dyn_release(ptr %t6)
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink_ready
+ %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t16 = call ptr @sc_rc_retain_dyn(ptr %t15)
+ %t17 = call ptr @sc_td_0(ptr @sc_lit_3752021314181142)
+ %t18 = call ptr @scr_dyn_new_obj()
+ %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus)
+ %t20 = call ptr @sc_dfb_45(ptr %t19, ptr null)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ ret ptr null
+exc.k9:
+ %t24 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ ret ptr null
+exc.k11:
+ %t28 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ call void @scr_dyn_release(ptr %t28)
+ ret ptr null
+exc.k13:
+ %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ call void @scr_dyn_release(ptr %t28)
+ call void @scr_dyn_release(ptr %t32)
+ ret ptr null
+exc.k15:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ call void @scr_dyn_release(ptr %t28)
+ call void @scr_dyn_release(ptr %t32)
+ %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = call ptr @sc_td_0(ptr @sc_lit_2364278031517622)
+ %t39 = call ptr @scr_dyn_new_obj()
+ %t40 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader)
+ %t41 = call ptr @sc_dfb_9(ptr %t40, ptr null)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3610950885518037, ptr %t41)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ ret ptr null
+exc.k17:
+ %t45 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_1948131179100861, ptr %t45)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ ret ptr null
+exc.k19:
+ %t49 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3198935257758645, ptr %t49)
+ %t50 = load i32, ptr %exc.cell
+ %t51 = icmp ne i32 %t50, 0
+ %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false)
+ br i1 %t52, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ call void @scr_dyn_release(ptr %t49)
+ ret ptr null
+exc.k21:
+ %t53 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t37, ptr %t38, ptr %t39)
+ %t54 = load i32, ptr %exc.cell
+ %t55 = icmp ne i32 %t54, 0
+ %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false)
+ br i1 %t56, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ call void @scr_dyn_release(ptr %t49)
+ call void @scr_dyn_release(ptr %t53)
+ ret ptr null
+exc.k23:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ call void @scr_dyn_release(ptr %t49)
+ call void @scr_dyn_release(ptr %t53)
+ %t57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t58 = call ptr @sc_rc_retain_dyn(ptr %t57)
+ %t59 = call ptr @sc_td_0(ptr @sc_lit_470306239805907)
+ %t60 = call ptr @scr_dyn_new_obj()
+ %t61 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader)
+ %t62 = call ptr @sc_dfb_9(ptr %t61, ptr null)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3610950885518037, ptr %t62)
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ ret ptr null
+exc.k25:
+ %t66 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_1948131179100861, ptr %t66)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ ret ptr null
+exc.k27:
+ %t70 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3198935257758645, ptr %t70)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ call void @scr_dyn_release(ptr %t70)
+ ret ptr null
+exc.k29:
+ %t74 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t58, ptr %t59, ptr %t60)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ call void @scr_dyn_release(ptr %t70)
+ call void @scr_dyn_release(ptr %t74)
+ ret ptr null
+exc.k31:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ call void @scr_dyn_release(ptr %t70)
+ call void @scr_dyn_release(ptr %t74)
+ %t78 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t79 = call ptr @sc_rc_retain_dyn(ptr %t78)
+ %t80 = call ptr @sc_td_0(ptr @sc_lit_4133069531575059)
+ %t81 = call ptr @scr_dyn_new_obj()
+ %t82 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody)
+ %t83 = call ptr @sc_dfb_46(ptr %t82, ptr null)
+ call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3610950885518037, ptr %t83)
+ %t84 = load i32, ptr %exc.cell
+ %t85 = icmp ne i32 %t84, 0
+ %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false)
+ br i1 %t86, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ ret ptr null
+exc.k33:
+ %t87 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_1948131179100861, ptr %t87)
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ ret ptr null
+exc.k35:
+ %t91 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3198935257758645, ptr %t91)
+ %t92 = load i32, ptr %exc.cell
+ %t93 = icmp ne i32 %t92, 0
+ %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false)
+ br i1 %t94, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ call void @scr_dyn_release(ptr %t91)
+ ret ptr null
+exc.k37:
+ %t95 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t79, ptr %t80, ptr %t81)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ call void @scr_dyn_release(ptr %t91)
+ call void @scr_dyn_release(ptr %t95)
+ ret ptr null
+exc.k39:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ call void @scr_dyn_release(ptr %t91)
+ call void @scr_dyn_release(ptr %t95)
+ %t99 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t100 = call ptr @sc_rc_retain_dyn(ptr %t99)
+ %t101 = call ptr @sc_td_0(ptr @sc_lit_2253648670486996)
+ %t102 = call ptr @scr_dyn_new_obj()
+ %t103 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes)
+ %t104 = call ptr @sc_dfb_47(ptr %t103, ptr null)
+ call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3610950885518037, ptr %t104)
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ ret ptr null
+exc.k41:
+ %t108 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_1948131179100861, ptr %t108)
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ ret ptr null
+exc.k43:
+ %t112 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3198935257758645, ptr %t112)
+ %t113 = load i32, ptr %exc.cell
+ %t114 = icmp ne i32 %t113, 0
+ %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false)
+ br i1 %t115, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ call void @scr_dyn_release(ptr %t112)
+ ret ptr null
+exc.k45:
+ %t116 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t100, ptr %t101, ptr %t102)
+ %t117 = load i32, ptr %exc.cell
+ %t118 = icmp ne i32 %t117, 0
+ %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false)
+ br i1 %t119, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ call void @scr_dyn_release(ptr %t112)
+ call void @scr_dyn_release(ptr %t116)
+ ret ptr null
+exc.k47:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ call void @scr_dyn_release(ptr %t112)
+ call void @scr_dyn_release(ptr %t116)
+ %t120 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t121 = call ptr @sc_rc_retain_dyn(ptr %t120)
+ %t122 = call ptr @sc_td_0(ptr @sc_lit_161925136240866)
+ %t123 = call ptr @scr_dyn_new_obj()
+ %t124 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect)
+ %t125 = call ptr @sc_dfb_48(ptr %t124, ptr null)
+ call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3610950885518037, ptr %t125)
+ %t126 = load i32, ptr %exc.cell
+ %t127 = icmp ne i32 %t126, 0
+ %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false)
+ br i1 %t128, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ ret ptr null
+exc.k49:
+ %t129 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_1948131179100861, ptr %t129)
+ %t130 = load i32, ptr %exc.cell
+ %t131 = icmp ne i32 %t130, 0
+ %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false)
+ br i1 %t132, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ ret ptr null
+exc.k51:
+ %t133 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3198935257758645, ptr %t133)
+ %t134 = load i32, ptr %exc.cell
+ %t135 = icmp ne i32 %t134, 0
+ %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false)
+ br i1 %t136, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ call void @scr_dyn_release(ptr %t133)
+ ret ptr null
+exc.k53:
+ %t137 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t121, ptr %t122, ptr %t123)
+ %t138 = load i32, ptr %exc.cell
+ %t139 = icmp ne i32 %t138, 0
+ %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false)
+ br i1 %t140, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ call void @scr_dyn_release(ptr %t133)
+ call void @scr_dyn_release(ptr %t137)
+ ret ptr null
+exc.k55:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ call void @scr_dyn_release(ptr %t133)
+ call void @scr_dyn_release(ptr %t137)
+ %t141 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t142 = call ptr @sc_rc_retain_dyn(ptr %t141)
+ %t143 = call ptr @sc_td_0(ptr @sc_lit_298897322184109)
+ %t144 = call ptr @scr_dyn_new_obj()
+ %t145 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write)
+ %t146 = call ptr @sc_dfb_46(ptr %t145, ptr null)
+ call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3610950885518037, ptr %t146)
+ %t147 = load i32, ptr %exc.cell
+ %t148 = icmp ne i32 %t147, 0
+ %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false)
+ br i1 %t149, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ ret ptr null
+exc.k57:
+ %t150 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_1948131179100861, ptr %t150)
+ %t151 = load i32, ptr %exc.cell
+ %t152 = icmp ne i32 %t151, 0
+ %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false)
+ br i1 %t153, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ ret ptr null
+exc.k59:
+ %t154 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3198935257758645, ptr %t154)
+ %t155 = load i32, ptr %exc.cell
+ %t156 = icmp ne i32 %t155, 0
+ %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false)
+ br i1 %t157, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ call void @scr_dyn_release(ptr %t154)
+ ret ptr null
+exc.k61:
+ %t158 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t142, ptr %t143, ptr %t144)
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ call void @scr_dyn_release(ptr %t154)
+ call void @scr_dyn_release(ptr %t158)
+ ret ptr null
+exc.k63:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ call void @scr_dyn_release(ptr %t154)
+ call void @scr_dyn_release(ptr %t158)
+ %t162 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t163 = call ptr @sc_rc_retain_dyn(ptr %t162)
+ %t164 = call ptr @sc_td_0(ptr @sc_lit_4085448292571548)
+ %t165 = call ptr @scr_dyn_new_obj()
+ %t166 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead)
+ %t167 = call ptr @sc_dfb_49(ptr %t166, ptr null)
+ call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3610950885518037, ptr %t167)
+ %t168 = load i32, ptr %exc.cell
+ %t169 = icmp ne i32 %t168, 0
+ %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false)
+ br i1 %t170, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ ret ptr null
+exc.k65:
+ %t171 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_1948131179100861, ptr %t171)
+ %t172 = load i32, ptr %exc.cell
+ %t173 = icmp ne i32 %t172, 0
+ %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false)
+ br i1 %t174, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ ret ptr null
+exc.k67:
+ %t175 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3198935257758645, ptr %t175)
+ %t176 = load i32, ptr %exc.cell
+ %t177 = icmp ne i32 %t176, 0
+ %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false)
+ br i1 %t178, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ call void @scr_dyn_release(ptr %t175)
+ ret ptr null
+exc.k69:
+ %t179 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t163, ptr %t164, ptr %t165)
+ %t180 = load i32, ptr %exc.cell
+ %t181 = icmp ne i32 %t180, 0
+ %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false)
+ br i1 %t182, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ call void @scr_dyn_release(ptr %t175)
+ call void @scr_dyn_release(ptr %t179)
+ ret ptr null
+exc.k71:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ call void @scr_dyn_release(ptr %t175)
+ call void @scr_dyn_release(ptr %t179)
+ %t183 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t184 = call ptr @sc_rc_retain_dyn(ptr %t183)
+ %t185 = call ptr @sc_td_0(ptr @sc_lit_3561861343106386)
+ %t186 = call ptr @scr_dyn_new_obj()
+ %t187 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream)
+ %t188 = call ptr @sc_dfb_1(ptr %t187, ptr null)
+ call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3610950885518037, ptr %t188)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ ret ptr null
+exc.k73:
+ %t192 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_1948131179100861, ptr %t192)
+ %t193 = load i32, ptr %exc.cell
+ %t194 = icmp ne i32 %t193, 0
+ %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false)
+ br i1 %t195, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ ret ptr null
+exc.k75:
+ %t196 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3198935257758645, ptr %t196)
+ %t197 = load i32, ptr %exc.cell
+ %t198 = icmp ne i32 %t197, 0
+ %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false)
+ br i1 %t199, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ call void @scr_dyn_release(ptr %t196)
+ ret ptr null
+exc.k77:
+ %t200 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t184, ptr %t185, ptr %t186)
+ %t201 = load i32, ptr %exc.cell
+ %t202 = icmp ne i32 %t201, 0
+ %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false)
+ br i1 %t203, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ call void @scr_dyn_release(ptr %t196)
+ call void @scr_dyn_release(ptr %t200)
+ ret ptr null
+exc.k79:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ call void @scr_dyn_release(ptr %t196)
+ call void @scr_dyn_release(ptr %t200)
+ %t204 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t205 = call ptr @sc_rc_retain_dyn(ptr %t204)
+ %t206 = call ptr @sc_td_0(ptr @sc_lit_3108123016971750)
+ %t207 = call ptr @scr_dyn_new_obj()
+ %t208 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt)
+ %t209 = call ptr @sc_dfb_50(ptr %t208, ptr null)
+ call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3610950885518037, ptr %t209)
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ ret ptr null
+exc.k81:
+ %t213 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_1948131179100861, ptr %t213)
+ %t214 = load i32, ptr %exc.cell
+ %t215 = icmp ne i32 %t214, 0
+ %t216 = call i1 @llvm.expect.i1(i1 %t215, i1 false)
+ br i1 %t216, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ ret ptr null
+exc.k83:
+ %t217 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3198935257758645, ptr %t217)
+ %t218 = load i32, ptr %exc.cell
+ %t219 = icmp ne i32 %t218, 0
+ %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false)
+ br i1 %t220, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ call void @scr_dyn_release(ptr %t217)
+ ret ptr null
+exc.k85:
+ %t221 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t205, ptr %t206, ptr %t207)
+ %t222 = load i32, ptr %exc.cell
+ %t223 = icmp ne i32 %t222, 0
+ %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false)
+ br i1 %t224, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ call void @scr_dyn_release(ptr %t217)
+ call void @scr_dyn_release(ptr %t221)
+ ret ptr null
+exc.k87:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ call void @scr_dyn_release(ptr %t217)
+ call void @scr_dyn_release(ptr %t221)
+ %t225 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t226 = call ptr @sc_rc_retain_dyn(ptr %t225)
+ %t227 = call ptr @sc_td_0(ptr @sc_lit_2529432852777196)
+ %t228 = call ptr @scr_dyn_new_obj()
+ %t229 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent)
+ %t230 = call ptr @sc_dfb_51(ptr %t229, ptr null)
+ call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3610950885518037, ptr %t230)
+ %t231 = load i32, ptr %exc.cell
+ %t232 = icmp ne i32 %t231, 0
+ %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false)
+ br i1 %t233, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ ret ptr null
+exc.k89:
+ %t234 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_1948131179100861, ptr %t234)
+ %t235 = load i32, ptr %exc.cell
+ %t236 = icmp ne i32 %t235, 0
+ %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false)
+ br i1 %t237, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ ret ptr null
+exc.k91:
+ %t238 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3198935257758645, ptr %t238)
+ %t239 = load i32, ptr %exc.cell
+ %t240 = icmp ne i32 %t239, 0
+ %t241 = call i1 @llvm.expect.i1(i1 %t240, i1 false)
+ br i1 %t241, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ call void @scr_dyn_release(ptr %t238)
+ ret ptr null
+exc.k93:
+ %t242 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t226, ptr %t227, ptr %t228)
+ %t243 = load i32, ptr %exc.cell
+ %t244 = icmp ne i32 %t243, 0
+ %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false)
+ br i1 %t245, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ call void @scr_dyn_release(ptr %t238)
+ call void @scr_dyn_release(ptr %t242)
+ ret ptr null
+exc.k95:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ call void @scr_dyn_release(ptr %t238)
+ call void @scr_dyn_release(ptr %t242)
+ %t246 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t247 = call ptr @sc_rc_retain_dyn(ptr %t246)
+ %t248 = call ptr @sc_td_0(ptr @sc_lit_4297539476301093)
+ %t249 = call ptr @scr_dyn_new_obj()
+ %t250 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent)
+ %t251 = call ptr @sc_dfb_51(ptr %t250, ptr null)
+ call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3610950885518037, ptr %t251)
+ %t252 = load i32, ptr %exc.cell
+ %t253 = icmp ne i32 %t252, 0
+ %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false)
+ br i1 %t254, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ ret ptr null
+exc.k97:
+ %t255 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_1948131179100861, ptr %t255)
+ %t256 = load i32, ptr %exc.cell
+ %t257 = icmp ne i32 %t256, 0
+ %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false)
+ br i1 %t258, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ ret ptr null
+exc.k99:
+ %t259 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3198935257758645, ptr %t259)
+ %t260 = load i32, ptr %exc.cell
+ %t261 = icmp ne i32 %t260, 0
+ %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false)
+ br i1 %t262, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ call void @scr_dyn_release(ptr %t259)
+ ret ptr null
+exc.k101:
+ %t263 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t247, ptr %t248, ptr %t249)
+ %t264 = load i32, ptr %exc.cell
+ %t265 = icmp ne i32 %t264, 0
+ %t266 = call i1 @llvm.expect.i1(i1 %t265, i1 false)
+ br i1 %t266, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ call void @scr_dyn_release(ptr %t259)
+ call void @scr_dyn_release(ptr %t263)
+ ret ptr null
+exc.k103:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ call void @scr_dyn_release(ptr %t259)
+ call void @scr_dyn_release(ptr %t263)
+ %t267 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t268 = call ptr @sc_rc_retain_dyn(ptr %t267)
+ %t269 = call ptr @sc_td_0(ptr @sc_lit_1959461887910059)
+ %t270 = call ptr @scr_dyn_new_obj()
+ %t271 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy)
+ %t272 = call ptr @sc_dfb_1(ptr %t271, ptr null)
+ call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3610950885518037, ptr %t272)
+ %t273 = load i32, ptr %exc.cell
+ %t274 = icmp ne i32 %t273, 0
+ %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false)
+ br i1 %t275, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ ret ptr null
+exc.k105:
+ %t276 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_1948131179100861, ptr %t276)
+ %t277 = load i32, ptr %exc.cell
+ %t278 = icmp ne i32 %t277, 0
+ %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false)
+ br i1 %t279, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ ret ptr null
+exc.k107:
+ %t280 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3198935257758645, ptr %t280)
+ %t281 = load i32, ptr %exc.cell
+ %t282 = icmp ne i32 %t281, 0
+ %t283 = call i1 @llvm.expect.i1(i1 %t282, i1 false)
+ br i1 %t283, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ call void @scr_dyn_release(ptr %t280)
+ ret ptr null
+exc.k109:
+ %t284 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t268, ptr %t269, ptr %t270)
+ %t285 = load i32, ptr %exc.cell
+ %t286 = icmp ne i32 %t285, 0
+ %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false)
+ br i1 %t287, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ call void @scr_dyn_release(ptr %t280)
+ call void @scr_dyn_release(ptr %t284)
+ ret ptr null
+exc.k111:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ call void @scr_dyn_release(ptr %t280)
+ call void @scr_dyn_release(ptr %t284)
+ %t288 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t289 = call ptr @sc_rc_retain_dyn(ptr %t288)
+ %t290 = call ptr @sc_td_0(ptr @sc_lit_181663572509014)
+ %t291 = call ptr @scr_dyn_new_obj()
+ %t292 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf)
+ %t293 = call ptr @sc_dfb_52(ptr %t292, ptr null)
+ call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_3610950885518037, ptr %t293)
+ %t294 = load i32, ptr %exc.cell
+ %t295 = icmp ne i32 %t294, 0
+ %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false)
+ br i1 %t296, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @scr_dyn_release(ptr %t289)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t291)
+ call void @scr_closure_release(ptr %t292)
+ call void @scr_dyn_release(ptr %t293)
+ ret ptr null
+exc.k113:
+ %t297 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_1948131179100861, ptr %t297)
+ %t298 = load i32, ptr %exc.cell
+ %t299 = icmp ne i32 %t298, 0
+ %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false)
+ br i1 %t300, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @scr_dyn_release(ptr %t289)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t291)
+ call void @scr_closure_release(ptr %t292)
+ call void @scr_dyn_release(ptr %t293)
+ call void @scr_dyn_release(ptr %t297)
+ ret ptr null
+exc.k115:
+ %t301 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_3198935257758645, ptr %t301)
+ %t302 = load i32, ptr %exc.cell
+ %t303 = icmp ne i32 %t302, 0
+ %t304 = call i1 @llvm.expect.i1(i1 %t303, i1 false)
+ br i1 %t304, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @scr_dyn_release(ptr %t289)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t291)
+ call void @scr_closure_release(ptr %t292)
+ call void @scr_dyn_release(ptr %t293)
+ call void @scr_dyn_release(ptr %t297)
+ call void @scr_dyn_release(ptr %t301)
+ ret ptr null
+exc.k117:
+ %t305 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t289, ptr %t290, ptr %t291)
+ %t306 = load i32, ptr %exc.cell
+ %t307 = icmp ne i32 %t306, 0
+ %t308 = call i1 @llvm.expect.i1(i1 %t307, i1 false)
+ br i1 %t308, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @scr_dyn_release(ptr %t289)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t291)
+ call void @scr_closure_release(ptr %t292)
+ call void @scr_dyn_release(ptr %t293)
+ call void @scr_dyn_release(ptr %t297)
+ call void @scr_dyn_release(ptr %t301)
+ call void @scr_dyn_release(ptr %t305)
+ ret ptr null
+exc.k119:
+ call void @scr_dyn_release(ptr %t289)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t291)
+ call void @scr_closure_release(ptr %t292)
+ call void @scr_dyn_release(ptr %t293)
+ call void @scr_dyn_release(ptr %t297)
+ call void @scr_dyn_release(ptr %t301)
+ call void @scr_dyn_release(ptr %t305)
+ %t309 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t310 = call ptr @sc_rc_retain_dyn(ptr %t309)
+ %t311 = call ptr @sc_td_0(ptr @sc_lit_992600386266231)
+ %t312 = call ptr @scr_dyn_new_obj()
+ %t313 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf)
+ %t314 = call ptr @sc_dfb_53(ptr %t313, ptr null)
+ call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_3610950885518037, ptr %t314)
+ %t315 = load i32, ptr %exc.cell
+ %t316 = icmp ne i32 %t315, 0
+ %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false)
+ br i1 %t317, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @scr_dyn_release(ptr %t310)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t312)
+ call void @scr_closure_release(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ ret ptr null
+exc.k121:
+ %t318 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_1948131179100861, ptr %t318)
+ %t319 = load i32, ptr %exc.cell
+ %t320 = icmp ne i32 %t319, 0
+ %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false)
+ br i1 %t321, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @scr_dyn_release(ptr %t310)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t312)
+ call void @scr_closure_release(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ call void @scr_dyn_release(ptr %t318)
+ ret ptr null
+exc.k123:
+ %t322 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_3198935257758645, ptr %t322)
+ %t323 = load i32, ptr %exc.cell
+ %t324 = icmp ne i32 %t323, 0
+ %t325 = call i1 @llvm.expect.i1(i1 %t324, i1 false)
+ br i1 %t325, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @scr_dyn_release(ptr %t310)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t312)
+ call void @scr_closure_release(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ call void @scr_dyn_release(ptr %t318)
+ call void @scr_dyn_release(ptr %t322)
+ ret ptr null
+exc.k125:
+ %t326 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t310, ptr %t311, ptr %t312)
+ %t327 = load i32, ptr %exc.cell
+ %t328 = icmp ne i32 %t327, 0
+ %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false)
+ br i1 %t329, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @scr_dyn_release(ptr %t310)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t312)
+ call void @scr_closure_release(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ call void @scr_dyn_release(ptr %t318)
+ call void @scr_dyn_release(ptr %t322)
+ call void @scr_dyn_release(ptr %t326)
+ ret ptr null
+exc.k127:
+ call void @scr_dyn_release(ptr %t310)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t312)
+ call void @scr_closure_release(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ call void @scr_dyn_release(ptr %t318)
+ call void @scr_dyn_release(ptr %t322)
+ call void @scr_dyn_release(ptr %t326)
+ %t330 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t331 = call ptr @sc_rc_retain_dyn(ptr %t330)
+ %t332 = call ptr @sc_td_0(ptr @sc_lit_4198614539576238)
+ %t333 = call ptr @scr_dyn_new_obj()
+ %t334 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap)
+ %t335 = call ptr @sc_dfb_54(ptr %t334, ptr null)
+ call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_3610950885518037, ptr %t335)
+ %t336 = load i32, ptr %exc.cell
+ %t337 = icmp ne i32 %t336, 0
+ %t338 = call i1 @llvm.expect.i1(i1 %t337, i1 false)
+ br i1 %t338, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @scr_dyn_release(ptr %t331)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t333)
+ call void @scr_closure_release(ptr %t334)
+ call void @scr_dyn_release(ptr %t335)
+ ret ptr null
+exc.k129:
+ %t339 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_1948131179100861, ptr %t339)
+ %t340 = load i32, ptr %exc.cell
+ %t341 = icmp ne i32 %t340, 0
+ %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false)
+ br i1 %t342, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @scr_dyn_release(ptr %t331)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t333)
+ call void @scr_closure_release(ptr %t334)
+ call void @scr_dyn_release(ptr %t335)
+ call void @scr_dyn_release(ptr %t339)
+ ret ptr null
+exc.k131:
+ %t343 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_3198935257758645, ptr %t343)
+ %t344 = load i32, ptr %exc.cell
+ %t345 = icmp ne i32 %t344, 0
+ %t346 = call i1 @llvm.expect.i1(i1 %t345, i1 false)
+ br i1 %t346, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @scr_dyn_release(ptr %t331)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t333)
+ call void @scr_closure_release(ptr %t334)
+ call void @scr_dyn_release(ptr %t335)
+ call void @scr_dyn_release(ptr %t339)
+ call void @scr_dyn_release(ptr %t343)
+ ret ptr null
+exc.k133:
+ %t347 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t331, ptr %t332, ptr %t333)
+ %t348 = load i32, ptr %exc.cell
+ %t349 = icmp ne i32 %t348, 0
+ %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false)
+ br i1 %t350, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @scr_dyn_release(ptr %t331)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t333)
+ call void @scr_closure_release(ptr %t334)
+ call void @scr_dyn_release(ptr %t335)
+ call void @scr_dyn_release(ptr %t339)
+ call void @scr_dyn_release(ptr %t343)
+ call void @scr_dyn_release(ptr %t347)
+ ret ptr null
+exc.k135:
+ call void @scr_dyn_release(ptr %t331)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t333)
+ call void @scr_closure_release(ptr %t334)
+ call void @scr_dyn_release(ptr %t335)
+ call void @scr_dyn_release(ptr %t339)
+ call void @scr_dyn_release(ptr %t343)
+ call void @scr_dyn_release(ptr %t347)
+ %t351 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t352 = call ptr @sc_rc_retain_dyn(ptr %t351)
+ %t353 = call ptr @sc_td_0(ptr @sc_lit_4028208071947570)
+ %t354 = call ptr @scr_dyn_new_obj()
+ %t355 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse)
+ %t356 = call ptr @sc_dfb_2(ptr %t355, ptr null)
+ call void @scr_dyn_key_set(ptr %t354, ptr @sc_lit_3610950885518037, ptr %t356)
+ %t357 = load i32, ptr %exc.cell
+ %t358 = icmp ne i32 %t357, 0
+ %t359 = call i1 @llvm.expect.i1(i1 %t358, i1 false)
+ br i1 %t359, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @scr_dyn_release(ptr %t352)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t354)
+ call void @scr_closure_release(ptr %t355)
+ call void @scr_dyn_release(ptr %t356)
+ ret ptr null
+exc.k137:
+ %t360 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t354, ptr @sc_lit_1948131179100861, ptr %t360)
+ %t361 = load i32, ptr %exc.cell
+ %t362 = icmp ne i32 %t361, 0
+ %t363 = call i1 @llvm.expect.i1(i1 %t362, i1 false)
+ br i1 %t363, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @scr_dyn_release(ptr %t352)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t354)
+ call void @scr_closure_release(ptr %t355)
+ call void @scr_dyn_release(ptr %t356)
+ call void @scr_dyn_release(ptr %t360)
+ ret ptr null
+exc.k139:
+ %t364 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t354, ptr @sc_lit_3198935257758645, ptr %t364)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @scr_dyn_release(ptr %t352)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t354)
+ call void @scr_closure_release(ptr %t355)
+ call void @scr_dyn_release(ptr %t356)
+ call void @scr_dyn_release(ptr %t360)
+ call void @scr_dyn_release(ptr %t364)
+ ret ptr null
+exc.k141:
+ %t368 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t352, ptr %t353, ptr %t354)
+ %t369 = load i32, ptr %exc.cell
+ %t370 = icmp ne i32 %t369, 0
+ %t371 = call i1 @llvm.expect.i1(i1 %t370, i1 false)
+ br i1 %t371, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @scr_dyn_release(ptr %t352)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t354)
+ call void @scr_closure_release(ptr %t355)
+ call void @scr_dyn_release(ptr %t356)
+ call void @scr_dyn_release(ptr %t360)
+ call void @scr_dyn_release(ptr %t364)
+ call void @scr_dyn_release(ptr %t368)
+ ret ptr null
+exc.k143:
+ call void @scr_dyn_release(ptr %t352)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t354)
+ call void @scr_closure_release(ptr %t355)
+ call void @scr_dyn_release(ptr %t356)
+ call void @scr_dyn_release(ptr %t360)
+ call void @scr_dyn_release(ptr %t364)
+ call void @scr_dyn_release(ptr %t368)
+ br label %if.j3
+if.j3:
+ %t372 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ %t373 = call ptr @sc_rc_retain_dyn(ptr %t372)
+ ret ptr %t373
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m2.FetchResponseSink
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s57 = alloca i1
+ %s68 = alloca ptr
+ %s85 = alloca i1
+ %s96 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_629517122853751
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_629517122853751)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_629517122853751
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_29(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 17
+ %t37 = icmp ule i64 %t35, 18
+ %t38 = and i1 %t36, %t37 ; instanceof %m2.FetchResponseSink
+ call void @sc_release__x25_m2_ResponseSink(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_this_0
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_629517122853751
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_29(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j16:
+ br label %if.j7
+if.j7:
+ %t56 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s57
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %brand.inspect24, label %brand.done26
+brand.inspect24:
+ %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t61 = icmp eq i32 %t60, 12
+ br i1 %t61, label %brand.capsule25, label %brand.done26
+brand.capsule25:
+ %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t63 = load ptr, ptr %t62
+ %t64 = icmp eq ptr %t63, @sc_cs_2434838942941195
+ store i1 true, ptr %s57
+ br i1 %t64, label %brand.done26, label %brand.compare27
+brand.compare27:
+ %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2434838942941195)
+ store i1 %t65, ptr %s57
+ br label %brand.done26
+brand.done26:
+ %t66 = load i1, ptr %s57
+ br i1 %t66, label %if.t28, label %if.j29
+if.t28:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t69 = icmp ne ptr %t67, null
+ br i1 %t69, label %dc.inspect30, label %dc.checked33
+dc.inspect30:
+ %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind
+ %t75 = load i32, ptr %t74
+ %t70 = icmp eq i32 %t75, 12
+ br i1 %t70, label %dc.capsule31, label %dc.checked33
+dc.capsule31:
+ %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key
+ %t72 = load ptr, ptr %t71
+ %t73 = icmp eq ptr %t72, @sc_cs_2434838942941195
+ br i1 %t73, label %dc.exact32, label %dc.checked33
+dc.exact32:
+ %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr
+ %t77 = load ptr, ptr %t76
+ %t78 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t77)
+ store ptr %t78, ptr %s68
+ br label %dc.done34
+dc.checked33:
+ %t79 = call ptr @sc_dc_52(ptr %t67, ptr null)
+ store ptr %t79, ptr %s68
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u35, label %exc.k36
+exc.u35:
+ ret ptr null
+exc.k36:
+ br label %dc.done34
+dc.done34:
+ %t83 = load ptr, ptr %s68
+ ret ptr %t83
+if.j29:
+ %t84 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s85
+ %t86 = icmp ne ptr %t84, null
+ br i1 %t86, label %brand.inspect37, label %brand.done39
+brand.inspect37:
+ %t87 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind
+ %t88 = load i32, ptr %t87
+ %t89 = icmp eq i32 %t88, 12
+ br i1 %t89, label %brand.capsule38, label %brand.done39
+brand.capsule38:
+ %t90 = getelementptr inbounds i8, ptr %t84, i64 40 ; ->v.typed_ref.type_key
+ %t91 = load ptr, ptr %t90
+ %t92 = icmp eq ptr %t91, @sc_cs_4074974279575818
+ store i1 true, ptr %s85
+ br i1 %t92, label %brand.done39, label %brand.compare40
+brand.compare40:
+ %t93 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t84, ptr @sc_lit_4074974279575818)
+ store i1 %t93, ptr %s85
+ br label %brand.done39
+brand.done39:
+ %t94 = load i1, ptr %s85
+ br i1 %t94, label %if.t41, label %if.j42
+if.t41:
+ %t95 = load ptr, ptr %sc_l_this_0
+ %t97 = icmp ne ptr %t95, null
+ br i1 %t97, label %dc.inspect43, label %dc.checked46
+dc.inspect43:
+ %t102 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind
+ %t103 = load i32, ptr %t102
+ %t98 = icmp eq i32 %t103, 12
+ br i1 %t98, label %dc.capsule44, label %dc.checked46
+dc.capsule44:
+ %t99 = getelementptr inbounds i8, ptr %t95, i64 40 ; ->v.typed_ref.type_key
+ %t100 = load ptr, ptr %t99
+ %t101 = icmp eq ptr %t100, @sc_cs_4074974279575818
+ br i1 %t101, label %dc.exact45, label %dc.checked46
+dc.exact45:
+ %t104 = getelementptr inbounds i8, ptr %t95, i64 16 ; ->v.typed_ref.ptr
+ %t105 = load ptr, ptr %t104
+ %t106 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t105)
+ store ptr %t106, ptr %s96
+ br label %dc.done47
+dc.checked46:
+ %t107 = call ptr @sc_dc_104(ptr %t95, ptr null)
+ store ptr %t107, ptr %s96
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u48, label %exc.k49
+exc.u48:
+ ret ptr null
+exc.k49:
+ br label %dc.done47
+dc.done47:
+ %t111 = load ptr, ptr %s96
+ ret ptr %t111
+if.j42:
+ %t112 = load ptr, ptr %sc_l_this_0
+ %t113 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_FetchResponseSink(ptr %t112)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t113)
+ ret ptr null
+exc.k51:
+ ret ptr %t113
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus(double %p_sc_l_p_0) #0 { ; %method.value:%%m2.FetchResponseSink.setStatus
+entry:
+ %sc_l_p_0 = alloca double ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store double %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load double, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_setStatus(ptr %t5, double %t9)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.FetchResponseSink.setHeader
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_setHeader(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.FetchResponseSink.appendHeader
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_appendHeader(ptr %t5, ptr %t9, ptr %t10)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.FetchResponseSink.writeBody
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_writeBody(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.FetchResponseSink.bodyBytes
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes(ptr %p0, ptr %p1)
+ call void @scr_bytes_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %p_sc_l_p_0, double %p_sc_l_p_1) #0 { ; %method.value:%%m2.FetchResponseSink.redirect
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca double ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store double %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load double, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_redirect(ptr %t5, ptr %t9, double %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %p0, double %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect(ptr %p0, double %p1)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.FetchResponseSink.write
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_write(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(double %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.FetchResponseSink.writeHead
+entry:
+ %sc_l_p_0 = alloca double ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store double %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load double, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_writeHead(ptr %t5, double %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(double %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead(double %p0, ptr %p1)
+ call void @scr_arr_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream() #0 { ; %method.value:%%m2.FetchResponseSink.endStream
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_endStream(ptr %t5)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.FetchResponseSink.adopt
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m2_FetchResponseSink_adopt(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt(ptr %p0)
+ call void @sc_rrelease_r1(ptr %p0)
+ ret void
+}
+
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent() #0 { ; %method.value:%%m2.FetchResponseSink.isSent
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret i1 false
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call i1 @sc_bf__x25__x25_m2_FetchResponseSink_isSent(ptr %t5)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret i1 %t9
+}
+
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent() #0 { ; %method.value:%%m2.FetchResponseSink.isHeadersSent
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret i1 false
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call i1 @sc_bf__x25__x25_m2_FetchResponseSink_isHeadersSent(ptr %t5)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret i1 %t9
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy() #0 { ; %method.value:%%m2.FetchResponseSink.destroy
+entry:
+ call void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_FetchResponseSink_destroy()
+ ret void
+}
+
+define internal double @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf() #0 { ; %method.value:%%m2.FetchResponseSink.statusOf
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret double 0x0000000000000000
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret double 0x0000000000000000
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call double @sc_bf__x25__x25_m2_FetchResponseSink_statusOf(ptr %t5)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret double %t9
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.FetchResponseSink.headerOf
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_headerOf(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap() #0 { ; %method.value:%%m2.FetchResponseSink.headersMap
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_headersMap(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ call void @sc_rrelease_r0(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse() #0 { ; %method.value:%%m2.FetchResponseSink.toResponse
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_FetchResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m2_FetchResponseSink_toResponse(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_f__x25_fn17(ptr %sc_env) #0 { ; %fn17
+entry:
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_ctH_0 = alloca ptr ; ctH
+ %sc_l_isMp_0 = alloca i1 ; isMp
+ %sc_l_body_0 = alloca ptr ; body
+ %sc_l_bodyU8_0 = alloca ptr ; bodyU8
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_hs_0 = alloca ptr ; hs
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l__x25_callReceiver_0 = alloca ptr ; %callReceiver
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_handled_0 = alloca i1 ; handled
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l__x25_dispatch_receiver_20 = alloca ptr ; receiver
+ %sc_l__x25_dispatch_receiver_21 = alloca ptr ; receiver
+ %sc_l_req_1 = alloca ptr ; req
+ %sc_l_method_1 = alloca ptr ; method
+ %sc_l_app_1 = alloca ptr ; app
+ %sc_l_url_1 = alloca ptr ; url
+ %sc_l_sink_1 = alloca ptr ; sink
+ %s61 = alloca i1
+ %s68 = alloca i1
+ %s73 = alloca i1
+ %s165 = alloca ptr
+ %s194 = alloca [7 x ptr]
+ %s235 = alloca ptr
+ store ptr null, ptr %sc_l_ctH_0
+ store ptr null, ptr %sc_l_body_0
+ store ptr null, ptr %sc_l_bodyU8_0
+ store ptr null, ptr %sc_l_hs_0
+ store ptr null, ptr %sc_l__x25_callReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l__x25_dispatch_receiver_20
+ store ptr null, ptr %sc_l__x25_dispatch_receiver_21
+ store ptr null, ptr %sc_l_req_1
+ store ptr null, ptr %sc_l_method_1
+ store ptr null, ptr %sc_l_app_1
+ store ptr null, ptr %sc_l_url_1
+ store ptr null, ptr %sc_l_sink_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_req_0 ; captured req
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_method_0 ; captured method
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_app_0 ; captured app
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_url_0 ; captured url
+ %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4]
+ %t14 = load ptr, ptr %t13
+ store ptr %t14, ptr %sc_l_sink_0 ; captured sink
+ %t15 = call ptr @llvm.stacksave.p0()
+ %t16 = load ptr, ptr @scr_stack_guard
+ %t17 = icmp ult ptr %t15, %t16
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t19 = load ptr, ptr %sc_l_req_0
+ %t20 = call ptr @scr_box_get_ref(ptr %t19)
+ store ptr %t20, ptr %sc_l_req_1
+ %t21 = load ptr, ptr %sc_l_method_0
+ %t22 = call ptr @scr_box_get_ref(ptr %t21)
+ store ptr %t22, ptr %sc_l_method_1
+ %t23 = load ptr, ptr %sc_l_app_0
+ %t24 = call ptr @scr_box_get_ref(ptr %t23)
+ store ptr %t24, ptr %sc_l_app_1
+ %t25 = load ptr, ptr %sc_l_url_0
+ %t26 = call ptr @scr_box_get_ref(ptr %t25)
+ store ptr %t26, ptr %sc_l_url_1
+ %t27 = load ptr, ptr %sc_l_sink_0
+ %t28 = call ptr @scr_box_get_ref(ptr %t27)
+ store ptr %t28, ptr %sc_l_sink_1
+ %t29 = load ptr, ptr %sc_l_req_1
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_f__x25_dyn_class_property_50(ptr %t30)
+ %t32 = load ptr, ptr @scr_exc_active
+ %t33 = load i32, ptr %t32
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t31)
+ br label %exc.cleanup4
+exc.k3:
+ store ptr %t31, ptr %sc_l__x25_dispatch_receiver_20
+ %t36 = load ptr, ptr %sc_l__x25_dispatch_receiver_20
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = load ptr, ptr %sc_l__x25_dispatch_receiver_20
+ %t39 = call ptr @sc_rc_retain_dyn(ptr %t38)
+ %t40 = call ptr @sc_f__x25_dyn_class_callback_1(ptr %t39)
+ %t41 = load ptr, ptr @scr_exc_active
+ %t42 = load i32, ptr %t41
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup7
+exc.k6:
+ %t45 = call ptr @sc_td_0(ptr @sc_lit_2329537264393449)
+ %t46 = call ptr @sc_bf__x25_dyn_class_call_1(ptr %t37, ptr %t40, ptr %t45, ptr @sc_lit_2856513345585464)
+ %t47 = load ptr, ptr @scr_exc_active
+ %t48 = load i32, ptr %t47
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t46)
+ br label %exc.cleanup7
+exc.k9:
+ call void @sc_rc_release_dyn(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t45)
+ %t51 = call ptr @sc_dc_22(ptr %t46, ptr null)
+ %t52 = load ptr, ptr @scr_exc_active
+ %t53 = load i32, ptr %t52
+ %t54 = icmp ne i32 %t53, 0
+ %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false)
+ br i1 %t55, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t56 = load ptr, ptr %sc_l__x25_dispatch_receiver_20
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @scr_str_release(ptr %t51)
+ br label %exc.cleanup4
+exc.k11:
+ store ptr %t51, ptr %sc_l_ctH_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t57 = load ptr, ptr %sc_l__x25_dispatch_receiver_20
+ call void @sc_rc_release_dyn(ptr %t57)
+ %t58 = load ptr, ptr %sc_l_ctH_0
+ %t60 = icmp ne ptr %t58, null
+ store i1 %t60, ptr %s61
+ br i1 %t60, label %log.r12, label %log.j13
+log.r12:
+ %t62 = load ptr, ptr %sc_l_ctH_0
+ %t63 = call ptr @scr_str_to_lower(ptr %t62)
+ %t64 = call double @scr_str_index_of(ptr %t63, ptr @sc_lit_1841737023330611, double 0x0000000000000000)
+ %t65 = fcmp oeq double %t64, 0x0000000000000000
+ store i1 %t65, ptr %s61
+ call void @scr_str_release(ptr %t63)
+ br label %log.j13
+log.j13:
+ %t66 = load i1, ptr %s61
+ store i1 %t66, ptr %sc_l_isMp_0
+ store ptr @sc_lit_4005573543169985, ptr %sc_l_body_0
+ store ptr @sc_unit_2, ptr %sc_l_bodyU8_0
+ %t67 = load i1, ptr %sc_l_isMp_0
+ store i1 %t67, ptr %s68
+ br i1 %t67, label %log.r14, label %log.j15
+log.r14:
+ %t69 = load ptr, ptr %sc_l_method_1
+ %t70 = call zeroext i1 @sc_streq_367446482893939(ptr %t69)
+ %t71 = xor i1 %t70, true
+ store i1 %t71, ptr %s68
+ br label %log.j15
+log.j15:
+ %t72 = load i1, ptr %s68
+ store i1 %t72, ptr %s73
+ br i1 %t72, label %log.r16, label %log.j17
+log.r16:
+ %t74 = load ptr, ptr %sc_l_method_1
+ %t75 = call zeroext i1 @sc_streq_3185835515143599(ptr %t74)
+ %t76 = xor i1 %t75, true
+ store i1 %t76, ptr %s73
+ br label %log.j17
+log.j17:
+ %t77 = load i1, ptr %s73
+ br i1 %t77, label %if.t18, label %if.j19
+if.t18:
+ %t78 = load ptr, ptr %sc_l_req_1
+ %t79 = call ptr @sc_rc_retain_dyn(ptr %t78)
+ store ptr %t79, ptr %sc_l__x25_dispatch_receiver_21
+ %t80 = load ptr, ptr %sc_l__x25_dispatch_receiver_21
+ %t81 = call ptr @sc_rc_retain_dyn(ptr %t80)
+ %t82 = load ptr, ptr %sc_l__x25_dispatch_receiver_21
+ %t83 = call ptr @sc_rc_retain_dyn(ptr %t82)
+ %t84 = call ptr @sc_f__x25_dyn_class_callback_2(ptr %t83)
+ %t85 = load ptr, ptr @scr_exc_active
+ %t86 = load i32, ptr %t85
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t81)
+ call void @sc_rc_release_dyn(ptr %t84)
+ br label %exc.cleanup22
+exc.k21:
+ %t89 = call ptr @sc_bf__x25_dyn_class_call_2(ptr %t81, ptr %t84, ptr @sc_lit_3359878076732110)
+ %t90 = load ptr, ptr @scr_exc_active
+ %t91 = load i32, ptr %t90
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u23, label %exc.k24
+exc.u23:
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t89)
+ br label %exc.cleanup22
+exc.k24:
+ call void @sc_rc_release_dyn(ptr %t84)
+ %t94 = call ptr @scr_await_dyn_value(ptr %t89)
+ %t95 = load ptr, ptr @scr_exc_active
+ %t96 = load i32, ptr %t95
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u25, label %exc.k26
+exc.u25:
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t99 = load ptr, ptr %sc_l__x25_dispatch_receiver_21
+ call void @sc_rc_release_dyn(ptr %t99)
+ call void @sc_rc_release_dyn(ptr %t94)
+ br label %exc.cleanup27
+exc.k26:
+ %t100 = call ptr @scr_bytes_from_dyn(i32 0, ptr %t94, i1 zeroext false)
+ %t101 = load ptr, ptr @scr_exc_active
+ %t102 = load i32, ptr %t101
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t105 = load ptr, ptr %sc_l__x25_dispatch_receiver_21
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @scr_bytes_release(ptr %t100)
+ br label %exc.cleanup27
+exc.k29:
+ %t106 = call ptr @scr_union_new_ref(i32 0, ptr %t100, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null)
+ %t107 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t107)
+ store ptr %t106, ptr %sc_l_bodyU8_0
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t108 = load ptr, ptr %sc_l__x25_dispatch_receiver_21
+ call void @sc_rc_release_dyn(ptr %t108)
+ call void @sc_rc_release_dyn(ptr %t94)
+ br label %if.j19
+if.j19:
+ %t109 = load ptr, ptr %sc_l_req_1
+ %t110 = call ptr @sc_bf__x25_m5_headersFromRaw(ptr %t109)
+ %t111 = load ptr, ptr @scr_exc_active
+ %t112 = load i32, ptr %t111
+ %t113 = icmp ne i32 %t112, 0
+ %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false)
+ br i1 %t114, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rrelease_r0(ptr %t110)
+ br label %exc.cleanup27
+exc.k31:
+ store ptr %t110, ptr %sc_l_hs_0
+ %t115 = load ptr, ptr %sc_l_app_1
+ %t116 = call ptr @sc_retain__x25_m5_App(ptr %t115)
+ store ptr %t116, ptr %sc_l__x25_callReceiver_0
+ %t117 = load ptr, ptr %sc_l__x25_callReceiver_0
+ %t118 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t117, i64 0, i32 16
+ %t119 = load ptr, ptr %t118, !tbaa !184
+ %t120 = call ptr @scr_closure_retain_v(ptr %t119)
+ %t121 = load ptr, ptr %sc_l__x25_callReceiver_0
+ %t122 = call ptr @sc_retain__x25_m5_App(ptr %t121)
+ %t123 = load ptr, ptr %sc_l_method_1
+ %t124 = call ptr @sc_rc_retain_str(ptr %t123)
+ %t125 = load ptr, ptr %sc_l_url_1
+ %t126 = call ptr @sc_rc_retain_str(ptr %t125)
+ %t127 = load ptr, ptr %sc_l_hs_0
+ %t128 = call ptr @sc_rretain_r0(ptr %t127)
+ %t129 = load ptr, ptr %sc_l_req_1
+ %t130 = call ptr @sc_rc_retain_dyn(ptr %t129)
+ %t131 = load ptr, ptr %sc_l_body_0
+ %t132 = call ptr @sc_rc_retain_str(ptr %t131)
+ %t133 = load ptr, ptr %sc_l_bodyU8_0
+ %t134 = call ptr @scr_union_retain_v(ptr %t133)
+ %t135 = load ptr, ptr %sc_l_sink_1
+ %t136 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t135)
+ %t137 = getelementptr inbounds %ScrClosure, ptr %t120, i64 0, i32 1
+ %t138 = load ptr, ptr %t137
+ call void @scr_dyn_this_push_typed(ptr %t122, ptr @sc_trr_0)
+ %t139 = call ptr %t138(ptr %t120, ptr %t124, ptr %t126, ptr %t128, ptr %t130, ptr %t132, ptr %t134, ptr %t136)
+ call void @scr_dyn_this_pop()
+ %t140 = load ptr, ptr @scr_exc_active
+ %t141 = load i32, ptr %t140
+ %t142 = icmp ne i32 %t141, 0
+ %t143 = call i1 @llvm.expect.i1(i1 %t142, i1 false)
+ br i1 %t143, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @scr_closure_release(ptr %t120)
+ call void @sc_release__x25_m5_App(ptr %t122)
+ call void @scr_promise_release(ptr %t139)
+ br label %exc.cleanup34
+exc.k33:
+ %t144 = call zeroext i1 @scr_await_bool(ptr %t139)
+ %t145 = load ptr, ptr @scr_exc_active
+ %t146 = load i32, ptr %t145
+ %t147 = icmp ne i32 %t146, 0
+ %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false)
+ br i1 %t148, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @scr_closure_release(ptr %t120)
+ call void @sc_release__x25_m5_App(ptr %t122)
+ call void @scr_promise_release(ptr %t139)
+ %t149 = load ptr, ptr %sc_l__x25_callReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t149)
+ br label %exc.cleanup37
+exc.k36:
+ store i1 %t144, ptr %sc_l_handled_0
+ call void @scr_closure_release(ptr %t120)
+ call void @sc_release__x25_m5_App(ptr %t122)
+ call void @scr_promise_release(ptr %t139)
+ %t150 = load ptr, ptr %sc_l__x25_callReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t150)
+ %t151 = load i1, ptr %sc_l_handled_0
+ %t152 = icmp eq i1 %t151, false
+ br i1 %t152, label %if.t38, label %if.j39
+if.t38:
+ %t153 = load ptr, ptr %sc_l_app_1
+ %t154 = call ptr @sc_retain__x25_m5_App(ptr %t153)
+ store ptr %t154, ptr %sc_l__x25_callbackReceiver_0
+ %t155 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t156 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t155)
+ %t157 = load ptr, ptr @scr_exc_active
+ %t158 = load i32, ptr %t157
+ %t159 = icmp ne i32 %t158, 0
+ %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false)
+ br i1 %t160, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t156)
+ br label %exc.cleanup42
+exc.k41:
+ store ptr %t156, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t161 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t162 = getelementptr inbounds i8, ptr %t161, i64 8 ; ->kind
+ %t163 = load i32, ptr %t162
+ %t164 = icmp eq i32 %t163, 6
+ br i1 %t164, label %tern.t43, label %tern.f44
+tern.t43:
+ %t167 = call ptr @scr_dyn_undefined()
+ %t166 = call ptr @scr_dyn_retain_v(ptr %t167)
+ store ptr %t166, ptr %s165
+ br label %tern.j45
+tern.f44:
+ %t168 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t169 = call ptr @sc_rc_retain_dyn(ptr %t168)
+ %t170 = call ptr @sc_f__x25_dyn_class_property_59(ptr %t169)
+ %t171 = load ptr, ptr @scr_exc_active
+ %t172 = load i32, ptr %t171
+ %t173 = icmp ne i32 %t172, 0
+ %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false)
+ br i1 %t174, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t170)
+ br label %exc.cleanup48
+exc.k47:
+ store ptr %t170, ptr %s165
+ br label %tern.j45
+tern.j45:
+ %t175 = load ptr, ptr %s165
+ store ptr %t175, ptr %sc_l__x25_callback_0
+ %t176 = load ptr, ptr %sc_l__x25_callback_0
+ %t177 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t178 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t177, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t179 = load ptr, ptr %sc_l_method_1
+ %t180 = call ptr @sc_td_0(ptr %t179)
+ %t181 = load ptr, ptr %sc_l_url_1
+ %t182 = call ptr @sc_td_0(ptr %t181)
+ %t183 = load ptr, ptr %sc_l_hs_0
+ %t184 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t183, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ %t185 = load ptr, ptr %sc_l_req_1
+ %t186 = load ptr, ptr %sc_l_body_0
+ %t187 = call ptr @sc_rc_retain_str(ptr %t186)
+ %t188 = call ptr @sc_td_0(ptr %t187)
+ %t189 = load ptr, ptr %sc_l_bodyU8_0
+ %t190 = call ptr @scr_union_retain_v(ptr %t189)
+ %t191 = call ptr @sc_td_18(ptr %t190)
+ %t192 = load ptr, ptr %sc_l_sink_1
+ %t193 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t192, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t195 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 0
+ store ptr %t180, ptr %t195
+ %t196 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 1
+ store ptr %t182, ptr %t196
+ %t197 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 2
+ store ptr %t184, ptr %t197
+ %t198 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 3
+ store ptr %t185, ptr %t198
+ %t199 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 4
+ store ptr %t188, ptr %t199
+ %t200 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 5
+ store ptr %t191, ptr %t200
+ %t201 = getelementptr inbounds [7 x ptr], ptr %s194, i64 0, i64 6
+ store ptr %t193, ptr %t201
+ call void @scr_dyn_this_push_dyn(ptr %t178)
+ %t202 = call ptr @scr_dyn_call(ptr %t176, ptr %s194, i64 7, ptr @sc_cs_3930082970088621)
+ call void @scr_dyn_this_pop()
+ %t203 = load ptr, ptr @scr_exc_active
+ %t204 = load i32, ptr %t203
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u49, label %exc.k50
+exc.u49:
+ call void @sc_rc_release_dyn(ptr %t178)
+ call void @sc_rc_release_dyn(ptr %t180)
+ call void @sc_rc_release_dyn(ptr %t182)
+ call void @sc_rc_release_dyn(ptr %t184)
+ call void @scr_str_release(ptr %t187)
+ call void @sc_rc_release_dyn(ptr %t188)
+ call void @scr_union_release(ptr %t190)
+ call void @sc_rc_release_dyn(ptr %t191)
+ call void @sc_rc_release_dyn(ptr %t193)
+ call void @sc_rc_release_dyn(ptr %t202)
+ br label %exc.cleanup51
+exc.k50:
+ %t207 = call ptr @sc_dc_117(ptr %t202, ptr null)
+ %t208 = load ptr, ptr @scr_exc_active
+ %t209 = load i32, ptr %t208
+ %t210 = icmp ne i32 %t209, 0
+ %t211 = call i1 @llvm.expect.i1(i1 %t210, i1 false)
+ br i1 %t211, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t178)
+ call void @sc_rc_release_dyn(ptr %t180)
+ call void @sc_rc_release_dyn(ptr %t182)
+ call void @sc_rc_release_dyn(ptr %t184)
+ call void @scr_str_release(ptr %t187)
+ call void @sc_rc_release_dyn(ptr %t188)
+ call void @scr_union_release(ptr %t190)
+ call void @sc_rc_release_dyn(ptr %t191)
+ call void @sc_rc_release_dyn(ptr %t193)
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @scr_promise_release(ptr %t207)
+ br label %exc.cleanup51
+exc.k53:
+ call void @scr_await_void(ptr %t207)
+ %t212 = load ptr, ptr @scr_exc_active
+ %t213 = load i32, ptr %t212
+ %t214 = icmp ne i32 %t213, 0
+ %t215 = call i1 @llvm.expect.i1(i1 %t214, i1 false)
+ br i1 %t215, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t178)
+ call void @sc_rc_release_dyn(ptr %t180)
+ call void @sc_rc_release_dyn(ptr %t182)
+ call void @sc_rc_release_dyn(ptr %t184)
+ call void @scr_str_release(ptr %t187)
+ call void @sc_rc_release_dyn(ptr %t188)
+ call void @scr_union_release(ptr %t190)
+ call void @sc_rc_release_dyn(ptr %t191)
+ call void @sc_rc_release_dyn(ptr %t193)
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @scr_promise_release(ptr %t207)
+ %t216 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t216)
+ %t217 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t217)
+ %t218 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t218)
+ br label %exc.cleanup37
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t178)
+ call void @sc_rc_release_dyn(ptr %t180)
+ call void @sc_rc_release_dyn(ptr %t182)
+ call void @sc_rc_release_dyn(ptr %t184)
+ call void @scr_str_release(ptr %t187)
+ call void @sc_rc_release_dyn(ptr %t188)
+ call void @scr_union_release(ptr %t190)
+ call void @sc_rc_release_dyn(ptr %t191)
+ call void @sc_rc_release_dyn(ptr %t193)
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @scr_promise_release(ptr %t207)
+ %t219 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t219)
+ %t220 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t220)
+ %t221 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t221)
+ br label %if.j39
+if.j39:
+ %t222 = load ptr, ptr %sc_l_sink_1
+ %t223 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t222)
+ store ptr %t223, ptr %sc_l__x25_callbackReceiver_1
+ %t224 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t225 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t224, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t226 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t225)
+ %t227 = load ptr, ptr @scr_exc_active
+ %t228 = load i32, ptr %t227
+ %t229 = icmp ne i32 %t228, 0
+ %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false)
+ br i1 %t230, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t226)
+ br label %exc.cleanup58
+exc.k57:
+ store ptr %t226, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t231 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t232 = getelementptr inbounds i8, ptr %t231, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t234 = icmp eq i32 %t233, 6
+ br i1 %t234, label %tern.t59, label %tern.f60
+tern.t59:
+ %t237 = call ptr @scr_dyn_undefined()
+ %t236 = call ptr @scr_dyn_retain_v(ptr %t237)
+ store ptr %t236, ptr %s235
+ br label %tern.j61
+tern.f60:
+ %t238 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t239 = call ptr @sc_rc_retain_dyn(ptr %t238)
+ %t240 = call ptr @sc_f__x25_dyn_class_property_60(ptr %t239)
+ %t241 = load ptr, ptr @scr_exc_active
+ %t242 = load i32, ptr %t241
+ %t243 = icmp ne i32 %t242, 0
+ %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false)
+ br i1 %t244, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t240)
+ br label %exc.cleanup64
+exc.k63:
+ store ptr %t240, ptr %s235
+ br label %tern.j61
+tern.j61:
+ %t245 = load ptr, ptr %s235
+ store ptr %t245, ptr %sc_l__x25_callback_1
+ %t246 = load ptr, ptr %sc_l__x25_callback_1
+ %t247 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t248 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t247, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t248)
+ %t249 = call ptr @scr_dyn_call(ptr %t246, ptr null, i64 0, ptr @sc_cs_3393462821733945)
+ call void @scr_dyn_this_pop()
+ %t250 = load ptr, ptr @scr_exc_active
+ %t251 = load i32, ptr %t250
+ %t252 = icmp ne i32 %t251, 0
+ %t253 = call i1 @llvm.expect.i1(i1 %t252, i1 false)
+ br i1 %t253, label %exc.u65, label %exc.k66
+exc.u65:
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_rc_release_dyn(ptr %t249)
+ br label %exc.cleanup67
+exc.k66:
+ call void @sc_rc_release_dyn(ptr %t248)
+ %t254 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t254)
+ %t255 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t255)
+ %t256 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t256)
+ %t257 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t257)
+ %t258 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t258)
+ %t259 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t259)
+ %t260 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t260)
+ %t261 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t261)
+ %t262 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t262)
+ %t263 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t263)
+ %t264 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t264)
+ %t265 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rrelease_r0(ptr %t265)
+ ret ptr %t249
+exc.cleanup4:
+ %t266 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t266)
+ %t267 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t267)
+ %t268 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t268)
+ %t269 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t269)
+ %t270 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t270)
+ ret ptr null
+exc.cleanup7:
+ %t271 = load ptr, ptr %sc_l__x25_dispatch_receiver_20
+ call void @sc_rc_release_dyn(ptr %t271)
+ %t272 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t273)
+ %t274 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t274)
+ %t275 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t275)
+ %t276 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t276)
+ ret ptr null
+exc.cleanup22:
+ %t277 = load ptr, ptr %sc_l__x25_dispatch_receiver_21
+ call void @sc_rc_release_dyn(ptr %t277)
+ %t278 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t278)
+ %t279 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t279)
+ %t280 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t280)
+ %t281 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t281)
+ %t282 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t282)
+ %t283 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t283)
+ %t284 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t284)
+ %t285 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t285)
+ ret ptr null
+exc.cleanup27:
+ %t286 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t286)
+ %t287 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t287)
+ %t288 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t288)
+ %t289 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t289)
+ %t290 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t290)
+ %t291 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t291)
+ %t292 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t292)
+ %t293 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t293)
+ ret ptr null
+exc.cleanup34:
+ %t294 = load ptr, ptr %sc_l__x25_callReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t294)
+ %t295 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t295)
+ %t296 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t296)
+ %t297 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t297)
+ %t298 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t298)
+ %t299 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t299)
+ %t300 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t300)
+ %t301 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t301)
+ %t302 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t302)
+ %t303 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rrelease_r0(ptr %t303)
+ ret ptr null
+exc.cleanup37:
+ %t304 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t304)
+ %t305 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t305)
+ %t306 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t306)
+ %t307 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t307)
+ %t308 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t308)
+ %t309 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t309)
+ %t310 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t310)
+ %t311 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t311)
+ %t312 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rrelease_r0(ptr %t312)
+ ret ptr null
+exc.cleanup42:
+ %t313 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t313)
+ %t314 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t314)
+ %t315 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t315)
+ %t316 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t316)
+ %t317 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t317)
+ %t318 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t318)
+ %t319 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t319)
+ %t320 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t320)
+ %t321 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t321)
+ %t322 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rrelease_r0(ptr %t322)
+ ret ptr null
+exc.cleanup48:
+ %t323 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t323)
+ %t324 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t324)
+ %t325 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t325)
+ %t326 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t326)
+ %t327 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t327)
+ %t328 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t328)
+ %t329 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t329)
+ %t330 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t330)
+ %t331 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t331)
+ %t332 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t332)
+ %t333 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rrelease_r0(ptr %t333)
+ ret ptr null
+exc.cleanup51:
+ %t334 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t334)
+ %t335 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t335)
+ %t336 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m5_App(ptr %t336)
+ %t337 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t337)
+ %t338 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t338)
+ %t339 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t339)
+ %t340 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t340)
+ %t341 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t341)
+ %t342 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t342)
+ %t343 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t343)
+ %t344 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t344)
+ %t345 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rrelease_r0(ptr %t345)
+ ret ptr null
+exc.cleanup58:
+ %t346 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t346)
+ %t347 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t347)
+ %t348 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t348)
+ %t349 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t349)
+ %t350 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t350)
+ %t351 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t351)
+ %t352 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t352)
+ %t353 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t353)
+ %t354 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t354)
+ %t355 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rrelease_r0(ptr %t355)
+ ret ptr null
+exc.cleanup64:
+ %t356 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t356)
+ %t357 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t357)
+ %t358 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t358)
+ %t359 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t359)
+ %t360 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t361)
+ %t362 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t362)
+ %t363 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t363)
+ %t364 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t364)
+ %t365 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t365)
+ %t366 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rrelease_r0(ptr %t366)
+ ret ptr null
+exc.cleanup67:
+ %t367 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t367)
+ %t368 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t368)
+ %t369 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t369)
+ %t370 = load ptr, ptr %sc_l_req_1
+ call void @sc_rc_release_dyn(ptr %t370)
+ %t371 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t371)
+ %t372 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t372)
+ %t373 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t373)
+ %t374 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t374)
+ %t375 = load ptr, ptr %sc_l_ctH_0
+ call void @scr_str_release(ptr %t375)
+ %t376 = load ptr, ptr %sc_l_body_0
+ call void @scr_str_release(ptr %t376)
+ %t377 = load ptr, ptr %sc_l_bodyU8_0
+ call void @scr_union_release(ptr %t377)
+ %t378 = load ptr, ptr %sc_l_hs_0
+ call void @sc_rrelease_r0(ptr %t378)
+ ret ptr null
+}
+
+define internal void @sc_f__x25_fn19(ptr %sc_env) #0 { ; %fn19
+entry:
+ %sc_l_respond_0 = alloca ptr ; respond
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_respond_1 = alloca ptr ; respond
+ %sc_l_sink_1 = alloca ptr ; sink
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_respond_1
+ store ptr null, ptr %sc_l_sink_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_respond_0 ; captured respond
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_sink_0 ; captured sink
+ %t6 = call ptr @llvm.stacksave.p0()
+ %t7 = load ptr, ptr @scr_stack_guard
+ %t8 = icmp ult ptr %t6, %t7
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t10 = load ptr, ptr %sc_l_respond_0
+ %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5
+ %t12 = load ptr, ptr %t11
+ store ptr %t12, ptr %sc_l_respond_1
+ %t13 = load ptr, ptr %sc_l_sink_0
+ %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %sc_l_sink_1
+ %t16 = load ptr, ptr %sc_l_respond_1
+ %t17 = load ptr, ptr %sc_l_sink_1
+ %t18 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t17, i64 0, i32 3
+ %t19 = load double, ptr %t18, !tbaa !52
+ %t20 = load ptr, ptr %sc_l_sink_1
+ %t21 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t20, i64 0, i32 6
+ %t22 = load ptr, ptr %t21, !tbaa !58
+ %t23 = call ptr @scr_arr_retain_v(ptr %t22)
+ %t24 = load ptr, ptr %sc_l_sink_1
+ %t25 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t24, i64 0, i32 7
+ %t26 = load ptr, ptr %t25, !tbaa !60
+ %t27 = call ptr @scr_arr_retain_v(ptr %t26)
+ %t28 = call ptr @scr_arr_join(ptr %t27, ptr @sc_lit_4005573543169985)
+ %t29 = getelementptr inbounds %ScrClosure, ptr %t16, i64 0, i32 1
+ %t30 = load ptr, ptr %t29
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t30(ptr %t16, double %t19, ptr %t23, ptr %t28)
+ call void @scr_dyn_this_pop()
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_arr_release(ptr %t27)
+ ret void
+exc.k3:
+ call void @scr_arr_release(ptr %t27)
+ ret void
+}
+
+define internal void @sc_f__x25_fn20_then(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_cb_0) #0 { ; %fn20_then
+entry:
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_cb_0 = alloca ptr ; cb
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_cb_0, ptr %sc_l_cb_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @scr_promise_retain_v(ptr %t4)
+ call void @scr_await_void(ptr %t5)
+ %t6 = load ptr, ptr @scr_exc_active
+ %t7 = load i32, ptr %t6
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @scr_promise_release(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ call void @scr_promise_release(ptr %t5)
+ %t10 = load ptr, ptr %sc_l_cb_0
+ %t11 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1
+ %t12 = load ptr, ptr %t11
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t12(ptr %t10)
+ call void @scr_dyn_this_pop()
+ %t13 = load ptr, ptr @scr_exc_active
+ %t14 = load i32, ptr %t13
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u5, label %exc.k6
+exc.u5:
+ br label %exc.cleanup2
+exc.k6:
+ %t17 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t17)
+ %t18 = load ptr, ptr %sc_l_cb_0
+ call void @scr_closure_release(ptr %t18)
+ ret void
+exc.cleanup2:
+ %t19 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t19)
+ %t20 = load ptr, ptr %sc_l_cb_0
+ call void @scr_closure_release(ptr %t20)
+ ret void
+}
+
+define internal void @sc_f__x25_fn18(ptr %sc_env, i1 %p_sc_l_handled_0) #0 { ; %fn18
+entry:
+ %sc_l_handled_0 = alloca i1 ; handled
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_headers_0 = alloca ptr ; headers
+ %sc_l_seeded_0 = alloca ptr ; seeded
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_p2_0 = alloca ptr ; p2
+ %sc_l_respond_0 = alloca ptr ; respond
+ %sc_l_app_1 = alloca ptr ; app
+ %sc_l_method_1 = alloca ptr ; method
+ %sc_l_url_1 = alloca ptr ; url
+ %sc_l_headers_1 = alloca ptr ; headers
+ %sc_l_seeded_1 = alloca ptr ; seeded
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_respond_1 = alloca ptr ; respond
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s58 = alloca ptr
+ %s83 = alloca [7 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_p2_0
+ store ptr null, ptr %sc_l_app_1
+ store ptr null, ptr %sc_l_method_1
+ store ptr null, ptr %sc_l_url_1
+ store ptr null, ptr %sc_l_headers_1
+ store ptr null, ptr %sc_l_seeded_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_respond_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_app_0 ; captured app
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_method_0 ; captured method
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_url_0 ; captured url
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_headers_0 ; captured headers
+ %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4]
+ %t14 = load ptr, ptr %t13
+ store ptr %t14, ptr %sc_l_seeded_0 ; captured seeded
+ %t15 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t16 = getelementptr inbounds ptr, ptr %t15, i64 5 ; caps[5]
+ %t17 = load ptr, ptr %t16
+ store ptr %t17, ptr %sc_l_sink_0 ; captured sink
+ %t18 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t19 = getelementptr inbounds ptr, ptr %t18, i64 6 ; caps[6]
+ %t20 = load ptr, ptr %t19
+ store ptr %t20, ptr %sc_l_respond_0 ; captured respond
+ store i1 %p_sc_l_handled_0, ptr %sc_l_handled_0
+ %t21 = call ptr @llvm.stacksave.p0()
+ %t22 = load ptr, ptr @scr_stack_guard
+ %t23 = icmp ult ptr %t21, %t22
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t25 = load ptr, ptr %sc_l_app_0
+ %t26 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %sc_l_app_1
+ %t28 = load ptr, ptr %sc_l_method_0
+ %t29 = getelementptr inbounds %ScrBox, ptr %t28, i32 0, i32 5
+ %t30 = load ptr, ptr %t29
+ store ptr %t30, ptr %sc_l_method_1
+ %t31 = load ptr, ptr %sc_l_url_0
+ %t32 = getelementptr inbounds %ScrBox, ptr %t31, i32 0, i32 5
+ %t33 = load ptr, ptr %t32
+ store ptr %t33, ptr %sc_l_url_1
+ %t34 = load ptr, ptr %sc_l_headers_0
+ %t35 = getelementptr inbounds %ScrBox, ptr %t34, i32 0, i32 5
+ %t36 = load ptr, ptr %t35
+ store ptr %t36, ptr %sc_l_headers_1
+ %t37 = load ptr, ptr %sc_l_seeded_0
+ %t38 = getelementptr inbounds %ScrBox, ptr %t37, i32 0, i32 5
+ %t39 = load ptr, ptr %t38
+ store ptr %t39, ptr %sc_l_seeded_1
+ %t40 = load ptr, ptr %sc_l_sink_0
+ %t41 = getelementptr inbounds %ScrBox, ptr %t40, i32 0, i32 5
+ %t42 = load ptr, ptr %t41
+ store ptr %t42, ptr %sc_l_sink_1
+ %t43 = load ptr, ptr %sc_l_respond_0
+ %t44 = getelementptr inbounds %ScrBox, ptr %t43, i32 0, i32 5
+ %t45 = load ptr, ptr %t44
+ store ptr %t45, ptr %sc_l_respond_1
+ %t46 = load i1, ptr %sc_l_handled_0
+ %t47 = icmp eq i1 %t46, false
+ br i1 %t47, label %if.t2, label %if.j3
+if.t2:
+ %t48 = load ptr, ptr %sc_l_app_1
+ store ptr %t48, ptr %sc_l__x25_callbackReceiver_0
+ %t49 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t50 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %t49)
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret void
+exc.k5:
+ store ptr %t50, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t54 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t55 = getelementptr inbounds i8, ptr %t54, i64 8 ; ->kind
+ %t56 = load i32, ptr %t55
+ %t57 = icmp eq i32 %t56, 6
+ br i1 %t57, label %tern.t6, label %tern.f7
+tern.t6:
+ %t60 = call ptr @scr_dyn_undefined()
+ %t59 = call ptr @scr_dyn_retain_v(ptr %t60)
+ store ptr %t59, ptr %s58
+ br label %tern.j8
+tern.f7:
+ %t61 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t62 = call ptr @sc_rc_retain_dyn(ptr %t61)
+ %t63 = call ptr @sc_f__x25_dyn_class_property_59(ptr %t62)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t63)
+ br label %exc.cleanup11
+exc.k10:
+ store ptr %t63, ptr %s58
+ br label %tern.j8
+tern.j8:
+ %t67 = load ptr, ptr %s58
+ store ptr %t67, ptr %sc_l__x25_callback_0
+ %t68 = load ptr, ptr %sc_l__x25_callback_0
+ %t69 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t70 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t69, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t71 = load ptr, ptr %sc_l_method_1
+ %t72 = call ptr @sc_td_0(ptr %t71)
+ %t73 = load ptr, ptr %sc_l_url_1
+ %t74 = call ptr @sc_td_0(ptr %t73)
+ %t75 = load ptr, ptr %sc_l_headers_1
+ %t76 = call ptr @sc_ldu_10(ptr %t75)
+ %t77 = call ptr @scr_dyn_new_null()
+ %t78 = load ptr, ptr %sc_l_seeded_1
+ %t79 = call ptr @sc_td_0(ptr %t78)
+ %t80 = call ptr @scr_dyn_new_null()
+ %t81 = load ptr, ptr %sc_l_sink_1
+ %t82 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t81, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t84 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 0
+ store ptr %t72, ptr %t84
+ %t85 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 1
+ store ptr %t74, ptr %t85
+ %t86 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 2
+ store ptr %t76, ptr %t86
+ %t87 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 3
+ store ptr %t77, ptr %t87
+ %t88 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 4
+ store ptr %t79, ptr %t88
+ %t89 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 5
+ store ptr %t80, ptr %t89
+ %t90 = getelementptr inbounds [7 x ptr], ptr %s83, i64 0, i64 6
+ store ptr %t82, ptr %t90
+ call void @scr_dyn_this_push_dyn(ptr %t70)
+ %t91 = call ptr @scr_dyn_call(ptr %t68, ptr %s83, i64 7, ptr @sc_cs_3930082970088621)
+ call void @scr_dyn_this_pop()
+ %t92 = load i32, ptr %exc.cell
+ %t93 = icmp ne i32 %t92, 0
+ %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false)
+ br i1 %t94, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t77)
+ call void @sc_rc_release_dyn(ptr %t79)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t91)
+ br label %exc.cleanup14
+exc.k13:
+ %t95 = call ptr @sc_dc_117(ptr %t91, ptr null)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t77)
+ call void @sc_rc_release_dyn(ptr %t79)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t91)
+ call void @scr_promise_release(ptr %t95)
+ br label %exc.cleanup14
+exc.k16:
+ store ptr %t95, ptr %sc_l_p2_0
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t77)
+ call void @sc_rc_release_dyn(ptr %t79)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t91)
+ %t99 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t99)
+ %t100 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t100)
+ %t101 = call ptr @scr_closure_new(ptr @sc_as__x25_fn20_then, i64 0)
+ %t102 = getelementptr inbounds %ScrClosure, ptr %t101, i64 0, i32 4
+ store i32 2, ptr %t102
+ %t103 = load ptr, ptr %sc_l_p2_0
+ %t104 = call ptr @scr_promise_retain_v(ptr %t103)
+ %t105 = call ptr @scr_closure_new(ptr @sc_f__x25_fn19, i64 2)
+ %t106 = getelementptr inbounds %ScrClosure, ptr %t105, i64 0, i32 4
+ store i32 4, ptr %t106
+ %t107 = load ptr, ptr %sc_l_respond_0
+ %t108 = call ptr @sc_retain_box(ptr %t107)
+ %t109 = getelementptr inbounds %ScrClosure, ptr %t105, i64 1 ; caps
+ %t110 = getelementptr inbounds ptr, ptr %t109, i64 0 ; caps[0]
+ store ptr %t108, ptr %t110
+ %t111 = load ptr, ptr %sc_l_sink_0
+ %t112 = call ptr @sc_retain_box(ptr %t111)
+ %t113 = getelementptr inbounds %ScrClosure, ptr %t105, i64 1 ; caps
+ %t114 = getelementptr inbounds ptr, ptr %t113, i64 1 ; caps[1]
+ store ptr %t112, ptr %t114
+ %t115 = getelementptr inbounds %ScrClosure, ptr %t101, i64 0, i32 1
+ %t116 = load ptr, ptr %t115
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t117 = call ptr %t116(ptr %t101, ptr %t104, ptr %t105)
+ call void @scr_dyn_this_pop()
+ %t118 = load i32, ptr %exc.cell
+ %t119 = icmp ne i32 %t118, 0
+ %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false)
+ br i1 %t120, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @scr_closure_release(ptr %t101)
+ call void @scr_promise_release(ptr %t117)
+ br label %exc.cleanup19
+exc.k18:
+ call void @scr_closure_release(ptr %t101)
+ call void @scr_promise_release(ptr %t117)
+ %t121 = load ptr, ptr %sc_l_p2_0
+ call void @scr_promise_release(ptr %t121)
+ ret void
+if.j3:
+ %t122 = load ptr, ptr %sc_l_respond_1
+ %t123 = load ptr, ptr %sc_l_sink_1
+ %t124 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t123, i64 0, i32 3
+ %t125 = load double, ptr %t124, !tbaa !52
+ %t126 = load ptr, ptr %sc_l_sink_1
+ %t127 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t126, i64 0, i32 6
+ %t128 = load ptr, ptr %t127, !tbaa !58
+ %t129 = call ptr @scr_arr_retain_v(ptr %t128)
+ %t130 = load ptr, ptr %sc_l_sink_1
+ %t131 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t130, i64 0, i32 7
+ %t132 = load ptr, ptr %t131, !tbaa !60
+ %t133 = call ptr @scr_arr_retain_v(ptr %t132)
+ %t134 = call ptr @scr_arr_join(ptr %t133, ptr @sc_lit_4005573543169985)
+ %t135 = getelementptr inbounds %ScrClosure, ptr %t122, i64 0, i32 1
+ %t136 = load ptr, ptr %t135
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t136(ptr %t122, double %t125, ptr %t129, ptr %t134)
+ call void @scr_dyn_this_pop()
+ %t137 = load i32, ptr %exc.cell
+ %t138 = icmp ne i32 %t137, 0
+ %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false)
+ br i1 %t139, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_arr_release(ptr %t133)
+ ret void
+exc.k21:
+ call void @scr_arr_release(ptr %t133)
+ ret void
+exc.cleanup11:
+ %t140 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t140)
+ ret void
+exc.cleanup14:
+ %t141 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t141)
+ %t142 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t142)
+ ret void
+exc.cleanup19:
+ %t143 = load ptr, ptr %sc_l_p2_0
+ call void @scr_promise_release(ptr %t143)
+ ret void
+}
+
+define internal void @sc_f__x25_fn21_then(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_cb_0) #0 { ; %fn21_then
+entry:
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_cb_0 = alloca ptr ; cb
+ %sc_l_v_0 = alloca i1 ; v
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_cb_0, ptr %sc_l_cb_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @scr_promise_retain_v(ptr %t4)
+ %t6 = call zeroext i1 @scr_await_bool(ptr %t5)
+ %t7 = load ptr, ptr @scr_exc_active
+ %t8 = load i32, ptr %t7
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @scr_promise_release(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ store i1 %t6, ptr %sc_l_v_0
+ call void @scr_promise_release(ptr %t5)
+ %t11 = load ptr, ptr %sc_l_cb_0
+ %t12 = load i1, ptr %sc_l_v_0
+ %t13 = getelementptr inbounds %ScrClosure, ptr %t11, i64 0, i32 1
+ %t14 = load ptr, ptr %t13
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t14(ptr %t11, i1 %t12)
+ call void @scr_dyn_this_pop()
+ %t15 = load ptr, ptr @scr_exc_active
+ %t16 = load i32, ptr %t15
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u5, label %exc.k6
+exc.u5:
+ br label %exc.cleanup2
+exc.k6:
+ %t19 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t19)
+ %t20 = load ptr, ptr %sc_l_cb_0
+ call void @scr_closure_release(ptr %t20)
+ ret void
+exc.cleanup2:
+ %t21 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t21)
+ %t22 = load ptr, ptr %sc_l_cb_0
+ call void @scr_closure_release(ptr %t22)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_union_retag_1(ptr %p_sc_l_u_0) #0 { ; %union.retag.1
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp eq ptr %t0, @sc_nullable_null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3133033490855518)
+ call void @scr_throw_obj(ptr %t3, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp ne ptr %t4, null
+ %t7 = icmp ne ptr %t4, @sc_nullable_null
+ %t8 = and i1 %t6, %t7
+ br i1 %t8, label %if.t2, label %if.j3
+if.t2:
+ %t9 = load ptr, ptr %sc_l_u_0
+ ret ptr %t9
+if.j3:
+ %t10 = load ptr, ptr %sc_l_u_0
+ %t12 = icmp eq ptr %t10, null
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ ret ptr null
+if.j5:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_retag_1(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_retag_1(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r5(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_rrelease_r5(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_union_narrow_3(ptr %p_sc_l_u_0) #0 { ; %union.narrow.3
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp eq ptr %t0, @sc_nullable_null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3133033490855518)
+ call void @scr_throw_obj(ptr %t3, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp ne ptr %t4, null
+ %t7 = icmp ne ptr %t4, @sc_nullable_null
+ %t8 = and i1 %t6, %t7
+ br i1 %t8, label %if.t2, label %if.j3
+if.t2:
+ %t9 = load ptr, ptr %sc_l_u_0
+ ret ptr %t9
+if.j3:
+ %t10 = load ptr, ptr %sc_l_u_0
+ %t12 = icmp eq ptr %t10, null
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t13, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j5:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_3(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_narrow_3(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r5(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_rrelease_r5(ptr %p0)
+ ret ptr %t3
+}
+
+define internal { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.1
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s0 = alloca ptr
+ %s3 = alloca %ScrUnion
+ %s4 = getelementptr inbounds %ScrUnion, ptr %s3, i32 0, i32 5
+ %s5 = getelementptr inbounds %ScrUnion, ptr %s3, i32 0, i32 1
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t1 = load ptr, ptr %sc_l_a_0
+ %t2 = load double, ptr %sc_l_i_0
+ %t6 = getelementptr inbounds %ScrArr, ptr %t1, i32 0, i32 2
+ %t7 = load i64, ptr %t6, !tbaa !2
+ %t8 = fptosi double %t2 to i64
+ %t9 = freeze i64 %t8
+ %t10 = sitofp i64 %t9 to double
+ %t11 = fcmp oeq double %t10, %t2
+ %t12 = icmp ult i64 %t9, %t7
+ %t13 = and i1 %t11, %t12
+ br i1 %t13, label %local.array.range3, label %local.array.slow0
+local.array.range3:
+ br label %local.array.dense4
+local.array.dense4:
+ %t14 = getelementptr inbounds %ScrArr, ptr %t1, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t17 = zext i32 %t15 to i64
+ %t16 = icmp ult i64 %t9, %t17
+ br i1 %t16, label %local.array.value6, label %local.array.len5
+local.array.len5:
+ %t18 = getelementptr inbounds %ScrArr, ptr %t1, i32 0, i32 1
+ %t19 = load i64, ptr %t18, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t20 = icmp ult i64 %t9, %t19
+ br i1 %t20, label %local.array.state7, label %local.array.missing1
+local.array.state7:
+ %t21 = getelementptr inbounds %ScrArr, ptr %t1, i32 0, i32 9
+ %t22 = load ptr, ptr %t21, !tbaa !2
+ %t23 = getelementptr inbounds i8, ptr %t22, i64 %t9
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = icmp eq i8 %t24, 1
+ br i1 %t25, label %local.array.value6, label %local.array.missing1
+local.array.value6:
+ %t26 = getelementptr inbounds %ScrArr, ptr %t1, i32 0, i32 8
+ %t27 = load ptr, ptr %t26, !tbaa !2
+ %t28 = getelementptr inbounds i64, ptr %t27, i64 %t9
+ %t29 = load i64, ptr %t28, !tbaa !6
+ store i64 %t29, ptr %s4
+ store i32 0, ptr %s5
+ br label %local.array.join2
+local.array.slow0:
+ %t30 = call double @scr_arr_state(ptr %t1, double %t2) cold memory(read, inaccessiblemem: readwrite)
+ %t31 = fcmp oeq double %t30, 1.0
+ br i1 %t31, label %local.array.slow.value8, label %local.array.missing1
+local.array.slow.value8:
+ %t32 = call double @scr_arr_get_f64(ptr %t1, double %t2) cold memory(read, inaccessiblemem: readwrite)
+ %t33 = bitcast double %t32 to i64
+ store i64 %t33, ptr %s4
+ store i32 0, ptr %s5
+ br label %local.array.join2
+local.array.missing1:
+ store i64 0, ptr %s4
+ store i32 1, ptr %s5
+ br label %local.array.join2
+local.array.join2:
+ store ptr %s3, ptr %s0
+ %t34 = load ptr, ptr %s0
+ %t36 = getelementptr inbounds %ScrUnion, ptr %t34, i64 0, i32 1
+ %t35 = load i32, ptr %t36
+ %t37 = getelementptr inbounds %ScrUnion, ptr %t34, i32 0, i32 5
+ %t38 = load i64, ptr %t37
+ %t39 = insertvalue { i32, i64 } poison, i32 %t35, 0
+ %t40 = insertvalue { i32, i64 } %t39, i64 %t38, 1
+ ret { i32, i64 } %t40
+}
+define internal ptr @sc_bf__x25_arr_idxOr_1(ptr %p0, double %p1) #0 {
+entry:
+ %t0 = call { i32, i64 } @sc_bf__x25_arr_idxOr_1.i32(ptr %p0, double %p1)
+ %t1 = extractvalue { i32, i64 } %t0, 0
+ %t2 = extractvalue { i32, i64 } %t0, 1
+ switch i32 %t1, label %union.box.none1 [ i32 0, label %union.box.arm2 i32 1, label %union.box.arm3 ]
+union.box.arm2:
+ %t3 = bitcast i64 %t2 to double
+ %t4 = call ptr @scr_union_new_f64(i32 0, double %t3)
+ br label %union.box.join0
+union.box.arm3:
+ br label %union.box.join0
+union.box.none1:
+ br label %union.box.join0
+union.box.join0:
+ %t5 = phi ptr [ %t4, %union.box.arm2 ], [ @sc_unit_3, %union.box.arm3 ], [ null, %union.box.none1 ]
+ ret ptr %t5
+}
+define internal ptr @sc_f__x25_arr_idxOr_1(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_1(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_2(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.2
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @scr_closure_retain_v(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ %t62 = call ptr @scr_union_new_ref(i32 0, ptr %t61, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ store ptr %t62, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr @sc_unit_6, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t63 = load ptr, ptr %s29
+ ret ptr %t63
+}
+define internal ptr @sc_f__x25_arr_idxOr_2(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_2(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_fn22(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn22
+entry:
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_node_0 = alloca ptr ; node
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_url_0 = alloca ptr ; url
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_node_1 = alloca ptr ; node
+ %sc_l_method_1 = alloca ptr ; method
+ %sc_l_url_1 = alloca ptr ; url
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_oef_1 = alloca ptr ; oef
+ %s27 = alloca %ScrUnion
+ %s28 = getelementptr inbounds %ScrUnion, ptr %s27, i32 0, i32 1
+ %s29 = getelementptr inbounds %ScrUnion, ptr %s27, i32 0, i32 5
+ %s30 = alloca ptr
+ %s37 = alloca ptr
+ %s52 = alloca ptr
+ %s57 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_node_1
+ store ptr null, ptr %sc_l_method_1
+ store ptr null, ptr %sc_l_url_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_oef_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_node_0 ; captured node
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_method_0 ; captured method
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_url_0 ; captured url
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_sink_0 ; captured sink
+ %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4]
+ %t14 = load ptr, ptr %t13
+ store ptr %t14, ptr %sc_l_oef_0 ; captured oef
+ store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0
+ %t15 = call ptr @llvm.stacksave.p0()
+ %t16 = load ptr, ptr @scr_stack_guard
+ %t17 = icmp ult ptr %t15, %t16
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t19 = load ptr, ptr %sc_l_node_0
+ %t20 = call ptr @scr_box_get_ref(ptr %t19)
+ store ptr %t20, ptr %sc_l_node_1
+ %t21 = load ptr, ptr %sc_l_method_0
+ %t22 = call ptr @scr_box_get_ref(ptr %t21)
+ store ptr %t22, ptr %sc_l_method_1
+ %t23 = load ptr, ptr %sc_l_url_0
+ %t24 = call ptr @scr_box_get_ref(ptr %t23)
+ store ptr %t24, ptr %sc_l_url_1
+ %t25 = load ptr, ptr %sc_l_sink_0
+ %t26 = call ptr @scr_box_get_ref(ptr %t25)
+ store ptr %t26, ptr %sc_l_sink_1
+ store ptr null, ptr %s30
+ %t31 = load ptr, ptr %sc_l_oef_0
+ %t32 = getelementptr inbounds %ScrBox, ptr %t31, i32 0, i32 5
+ %t33 = load ptr, ptr %t32
+ %t35 = getelementptr inbounds %ScrUnion, ptr %t33, i64 0, i32 1
+ %t34 = load i32, ptr %t35
+ store ptr null, ptr %s37
+ %t36 = icmp eq i32 %t34, 0
+ br i1 %t36, label %union.copy.ref2, label %union.copy.join3
+union.copy.ref2:
+ %t38 = getelementptr inbounds %ScrUnion, ptr %t33, i64 0, i32 5
+ %t39 = load ptr, ptr %t38
+ %t40 = call ptr @scr_closure_retain_v(ptr %t39)
+ store ptr %t40, ptr %s37
+ br label %union.copy.join3
+union.copy.join3:
+ %t41 = load ptr, ptr %s37
+ %t43 = getelementptr inbounds %ScrUnion, ptr %t33, i64 0, i32 1
+ %t42 = load i32, ptr %t43
+ %t44 = getelementptr inbounds %ScrUnion, ptr %t33, i32 0, i32 5
+ %t45 = load i64, ptr %t44
+ store i32 %t42, ptr %s28
+ store i64 %t45, ptr %s29
+ %t46 = load ptr, ptr %s30
+ store ptr %t41, ptr %s30
+ call void @scr_closure_release(ptr %t46)
+ store ptr %s27, ptr %sc_l_oef_1
+ %t47 = load ptr, ptr %sc_l_node_1
+ %t49 = icmp ne ptr %t47, null
+ %t50 = icmp ne ptr %t47, @sc_nullable_null
+ %t51 = and i1 %t49, %t50
+ br i1 %t51, label %read.then4, label %read.else5
+read.then4:
+ %t53 = load ptr, ptr %sc_l_node_1
+ store ptr %t53, ptr %s52
+ br label %read.join6
+read.else5:
+ %t54 = load ptr, ptr %sc_l_node_1
+ %t56 = icmp eq ptr %t54, @sc_nullable_null
+ br i1 %t56, label %read.then7, label %read.else8
+read.then7:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3133033490855518)
+ br label %exc.cleanup10
+exc.dead11:
+ store ptr null, ptr %s57
+ br label %read.join9
+read.else8:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup10
+exc.dead12:
+ store ptr null, ptr %s57
+ br label %read.join9
+read.join9:
+ %t58 = load ptr, ptr %s57
+ store ptr %t58, ptr %s52
+ br label %read.join6
+read.join6:
+ %t59 = load ptr, ptr %s52
+ %t60 = load ptr, ptr %sc_l_method_1
+ %t61 = load ptr, ptr %sc_l_url_1
+ %t62 = load ptr, ptr %sc_l_sink_1
+ %t63 = load ptr, ptr %sc_l_oef_1
+ %t64 = load ptr, ptr %sc_l_resolve_0
+ call void @sc_bf__x25_m5_allow405Promise(ptr %t59, ptr %t60, ptr %t61, ptr %t62, ptr %t63, ptr %t64)
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u13, label %exc.k14
+exc.u13:
+ br label %exc.cleanup10
+exc.k14:
+ %t68 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t68)
+ %t69 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t69)
+ %t70 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t70)
+ %t71 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t71)
+ %t72 = load ptr, ptr %s30
+ call void @scr_closure_release(ptr %t72)
+ ret void
+exc.cleanup10:
+ %t73 = load ptr, ptr %sc_l_node_1
+ call void @sc_rrelease_r5(ptr %t73)
+ %t74 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t74)
+ %t75 = load ptr, ptr %sc_l_url_1
+ call void @scr_str_release(ptr %t75)
+ %t76 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t76)
+ %t77 = load ptr, ptr %s30
+ call void @scr_closure_release(ptr %t77)
+ ret void
+}
+define internal void @sc_f__x25_fn22(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn22(ptr %sc_env, ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_union_retag_2(ptr %p_sc_l_u_0) #0 { ; %union.retag.2
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp eq ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3133033490855518)
+ call void @scr_throw_obj(ptr %t3, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ %t7 = load ptr, ptr %sc_l_u_0
+ ret ptr %t7
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_retag_2(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_retag_2(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r0(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_rrelease_r0(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_3(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.3
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @scr_arr_retain_v(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_3(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_3(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_union_narrow_4(ptr %p_sc_l_u_0) #0 { ; %union.narrow.4
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_4(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_narrow_4(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @scr_arr_retain_v(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_4(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.4
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @scr_arr_retain_v(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_4(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_4(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_union_narrow_5(ptr %p_sc_l_u_0) #0 { ; %union.narrow.5
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_5(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_narrow_5(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @scr_arr_retain_v(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore() #0 { ; %prototype.data.%m5.ReqViewCore
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ call void @scr_dyn_release(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_616655122974952)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body)
+ %t13 = call ptr @sc_dfb_56(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ call void @scr_dyn_release(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @scr_dyn_release(ptr %t9)
+ call void @scr_dyn_release(ptr %t10)
+ call void @scr_dyn_release(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @scr_dyn_release(ptr %t13)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t21)
+ call void @scr_dyn_release(ptr %t25)
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_1048673592241930)
+ %t32 = call ptr @scr_dyn_new_obj()
+ %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file)
+ %t34 = call ptr @sc_dfb_57(ptr %t33, ptr null)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ ret ptr null
+exc.k13:
+ %t38 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ ret ptr null
+exc.k15:
+ %t42 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ ret ptr null
+exc.k17:
+ %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ call void @scr_dyn_release(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @scr_dyn_release(ptr %t30)
+ call void @scr_dyn_release(ptr %t31)
+ call void @scr_dyn_release(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @scr_dyn_release(ptr %t34)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t42)
+ call void @scr_dyn_release(ptr %t46)
+ %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ %t52 = call ptr @sc_td_0(ptr @sc_lit_308138762104264)
+ %t53 = call ptr @scr_dyn_new_obj()
+ %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq)
+ %t55 = call ptr @sc_dfb_2(ptr %t54, ptr null)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ ret ptr null
+exc.k21:
+ %t59 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ ret ptr null
+exc.k23:
+ %t63 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ ret ptr null
+exc.k25:
+ %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ call void @scr_dyn_release(ptr %t67)
+ ret ptr null
+exc.k27:
+ call void @scr_dyn_release(ptr %t51)
+ call void @scr_dyn_release(ptr %t52)
+ call void @scr_dyn_release(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @scr_dyn_release(ptr %t55)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t63)
+ call void @scr_dyn_release(ptr %t67)
+ %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t73 = call ptr @sc_td_0(ptr @sc_lit_2356143898347316)
+ %t74 = call ptr @scr_dyn_new_obj()
+ %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb)
+ %t76 = call ptr @sc_dfb_12(ptr %t75, ptr null)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ ret ptr null
+exc.k29:
+ %t80 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ ret ptr null
+exc.k31:
+ %t84 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ ret ptr null
+exc.k33:
+ %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ call void @scr_dyn_release(ptr %t88)
+ ret ptr null
+exc.k35:
+ call void @scr_dyn_release(ptr %t72)
+ call void @scr_dyn_release(ptr %t73)
+ call void @scr_dyn_release(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @scr_dyn_release(ptr %t76)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t84)
+ call void @scr_dyn_release(ptr %t88)
+ %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t93 = call ptr @sc_rc_retain_dyn(ptr %t92)
+ %t94 = call ptr @sc_td_0(ptr @sc_lit_3600534565598564)
+ %t95 = call ptr @scr_dyn_new_obj()
+ %t96 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param)
+ %t97 = call ptr @sc_dfb_58(ptr %t96, ptr null)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3610950885518037, ptr %t97)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ ret ptr null
+exc.k37:
+ %t101 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_1948131179100861, ptr %t101)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ ret ptr null
+exc.k39:
+ %t105 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3198935257758645, ptr %t105)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ ret ptr null
+exc.k41:
+ %t109 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t93, ptr %t94, ptr %t95)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ call void @scr_dyn_release(ptr %t109)
+ ret ptr null
+exc.k43:
+ call void @scr_dyn_release(ptr %t93)
+ call void @scr_dyn_release(ptr %t94)
+ call void @scr_dyn_release(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @scr_dyn_release(ptr %t97)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t105)
+ call void @scr_dyn_release(ptr %t109)
+ %t113 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t114 = call ptr @sc_rc_retain_dyn(ptr %t113)
+ %t115 = call ptr @sc_td_0(ptr @sc_lit_1621825757343351)
+ %t116 = call ptr @scr_dyn_new_obj()
+ %t117 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm)
+ %t118 = call ptr @sc_dfb_59(ptr %t117, ptr null)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3610950885518037, ptr %t118)
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ ret ptr null
+exc.k45:
+ %t122 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_1948131179100861, ptr %t122)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ ret ptr null
+exc.k47:
+ %t126 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3198935257758645, ptr %t126)
+ %t127 = load i32, ptr %exc.cell
+ %t128 = icmp ne i32 %t127, 0
+ %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false)
+ br i1 %t129, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ ret ptr null
+exc.k49:
+ %t130 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t114, ptr %t115, ptr %t116)
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ call void @scr_dyn_release(ptr %t130)
+ ret ptr null
+exc.k51:
+ call void @scr_dyn_release(ptr %t114)
+ call void @scr_dyn_release(ptr %t115)
+ call void @scr_dyn_release(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @scr_dyn_release(ptr %t118)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t126)
+ call void @scr_dyn_release(ptr %t130)
+ %t134 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t135 = call ptr @sc_rc_retain_dyn(ptr %t134)
+ %t136 = call ptr @sc_td_0(ptr @sc_lit_2827456990858395)
+ %t137 = call ptr @scr_dyn_new_obj()
+ %t138 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow)
+ %t139 = call ptr @sc_dfb_60(ptr %t138, ptr null)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3610950885518037, ptr %t139)
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ ret ptr null
+exc.k53:
+ %t143 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_1948131179100861, ptr %t143)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ ret ptr null
+exc.k55:
+ %t147 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3198935257758645, ptr %t147)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ ret ptr null
+exc.k57:
+ %t151 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t135, ptr %t136, ptr %t137)
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ call void @scr_dyn_release(ptr %t151)
+ ret ptr null
+exc.k59:
+ call void @scr_dyn_release(ptr %t135)
+ call void @scr_dyn_release(ptr %t136)
+ call void @scr_dyn_release(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @scr_dyn_release(ptr %t139)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t147)
+ call void @scr_dyn_release(ptr %t151)
+ %t155 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t156 = call ptr @sc_rc_retain_dyn(ptr %t155)
+ %t157 = call ptr @sc_td_0(ptr @sc_lit_2968093406050353)
+ %t158 = call ptr @scr_dyn_new_obj()
+ %t159 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query)
+ %t160 = call ptr @sc_dfb_58(ptr %t159, ptr null)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3610950885518037, ptr %t160)
+ %t161 = load i32, ptr %exc.cell
+ %t162 = icmp ne i32 %t161, 0
+ %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false)
+ br i1 %t163, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ ret ptr null
+exc.k61:
+ %t164 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_1948131179100861, ptr %t164)
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ ret ptr null
+exc.k63:
+ %t168 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3198935257758645, ptr %t168)
+ %t169 = load i32, ptr %exc.cell
+ %t170 = icmp ne i32 %t169, 0
+ %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false)
+ br i1 %t171, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ ret ptr null
+exc.k65:
+ %t172 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t156, ptr %t157, ptr %t158)
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ call void @scr_dyn_release(ptr %t172)
+ ret ptr null
+exc.k67:
+ call void @scr_dyn_release(ptr %t156)
+ call void @scr_dyn_release(ptr %t157)
+ call void @scr_dyn_release(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @scr_dyn_release(ptr %t160)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t168)
+ call void @scr_dyn_release(ptr %t172)
+ %t176 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t177 = call ptr @sc_rc_retain_dyn(ptr %t176)
+ %t178 = call ptr @sc_td_0(ptr @sc_lit_3529749794644284)
+ %t179 = call ptr @scr_dyn_new_obj()
+ %t180 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll)
+ %t181 = call ptr @sc_dfb_54(ptr %t180, ptr null)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3610950885518037, ptr %t181)
+ %t182 = load i32, ptr %exc.cell
+ %t183 = icmp ne i32 %t182, 0
+ %t184 = call i1 @llvm.expect.i1(i1 %t183, i1 false)
+ br i1 %t184, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ ret ptr null
+exc.k69:
+ %t185 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_1948131179100861, ptr %t185)
+ %t186 = load i32, ptr %exc.cell
+ %t187 = icmp ne i32 %t186, 0
+ %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false)
+ br i1 %t188, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ ret ptr null
+exc.k71:
+ %t189 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t179, ptr @sc_lit_3198935257758645, ptr %t189)
+ %t190 = load i32, ptr %exc.cell
+ %t191 = icmp ne i32 %t190, 0
+ %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false)
+ br i1 %t192, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ ret ptr null
+exc.k73:
+ %t193 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t177, ptr %t178, ptr %t179)
+ %t194 = load i32, ptr %exc.cell
+ %t195 = icmp ne i32 %t194, 0
+ %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false)
+ br i1 %t196, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ call void @scr_dyn_release(ptr %t193)
+ ret ptr null
+exc.k75:
+ call void @scr_dyn_release(ptr %t177)
+ call void @scr_dyn_release(ptr %t178)
+ call void @scr_dyn_release(ptr %t179)
+ call void @scr_closure_release(ptr %t180)
+ call void @scr_dyn_release(ptr %t181)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t189)
+ call void @scr_dyn_release(ptr %t193)
+ %t197 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t199 = call ptr @sc_td_0(ptr @sc_lit_124879919648070)
+ %t200 = call ptr @scr_dyn_new_obj()
+ %t201 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries)
+ %t202 = call ptr @sc_dfb_61(ptr %t201, ptr null)
+ call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3610950885518037, ptr %t202)
+ %t203 = load i32, ptr %exc.cell
+ %t204 = icmp ne i32 %t203, 0
+ %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false)
+ br i1 %t205, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ ret ptr null
+exc.k77:
+ %t206 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_1948131179100861, ptr %t206)
+ %t207 = load i32, ptr %exc.cell
+ %t208 = icmp ne i32 %t207, 0
+ %t209 = call i1 @llvm.expect.i1(i1 %t208, i1 false)
+ br i1 %t209, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ ret ptr null
+exc.k79:
+ %t210 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t200, ptr @sc_lit_3198935257758645, ptr %t210)
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t210)
+ ret ptr null
+exc.k81:
+ %t214 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t198, ptr %t199, ptr %t200)
+ %t215 = load i32, ptr %exc.cell
+ %t216 = icmp ne i32 %t215, 0
+ %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false)
+ br i1 %t217, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t210)
+ call void @scr_dyn_release(ptr %t214)
+ ret ptr null
+exc.k83:
+ call void @scr_dyn_release(ptr %t198)
+ call void @scr_dyn_release(ptr %t199)
+ call void @scr_dyn_release(ptr %t200)
+ call void @scr_closure_release(ptr %t201)
+ call void @scr_dyn_release(ptr %t202)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t210)
+ call void @scr_dyn_release(ptr %t214)
+ %t218 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t219 = call ptr @sc_rc_retain_dyn(ptr %t218)
+ %t220 = call ptr @sc_td_0(ptr @sc_lit_528144782449140)
+ %t221 = call ptr @scr_dyn_new_obj()
+ %t222 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header)
+ %t223 = call ptr @sc_dfb_58(ptr %t222, ptr null)
+ call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3610950885518037, ptr %t223)
+ %t224 = load i32, ptr %exc.cell
+ %t225 = icmp ne i32 %t224, 0
+ %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false)
+ br i1 %t226, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ ret ptr null
+exc.k85:
+ %t227 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_1948131179100861, ptr %t227)
+ %t228 = load i32, ptr %exc.cell
+ %t229 = icmp ne i32 %t228, 0
+ %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false)
+ br i1 %t230, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ ret ptr null
+exc.k87:
+ %t231 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t221, ptr @sc_lit_3198935257758645, ptr %t231)
+ %t232 = load i32, ptr %exc.cell
+ %t233 = icmp ne i32 %t232, 0
+ %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false)
+ br i1 %t234, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t231)
+ ret ptr null
+exc.k89:
+ %t235 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t219, ptr %t220, ptr %t221)
+ %t236 = load i32, ptr %exc.cell
+ %t237 = icmp ne i32 %t236, 0
+ %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false)
+ br i1 %t238, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t231)
+ call void @scr_dyn_release(ptr %t235)
+ ret ptr null
+exc.k91:
+ call void @scr_dyn_release(ptr %t219)
+ call void @scr_dyn_release(ptr %t220)
+ call void @scr_dyn_release(ptr %t221)
+ call void @scr_closure_release(ptr %t222)
+ call void @scr_dyn_release(ptr %t223)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t231)
+ call void @scr_dyn_release(ptr %t235)
+ %t239 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t240 = call ptr @sc_rc_retain_dyn(ptr %t239)
+ %t241 = call ptr @sc_td_0(ptr @sc_lit_40786511283622)
+ %t242 = call ptr @scr_dyn_new_obj()
+ %t243 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody)
+ %t244 = call ptr @sc_dfb_46(ptr %t243, ptr null)
+ call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3610950885518037, ptr %t244)
+ %t245 = load i32, ptr %exc.cell
+ %t246 = icmp ne i32 %t245, 0
+ %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false)
+ br i1 %t247, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ ret ptr null
+exc.k93:
+ %t248 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_1948131179100861, ptr %t248)
+ %t249 = load i32, ptr %exc.cell
+ %t250 = icmp ne i32 %t249, 0
+ %t251 = call i1 @llvm.expect.i1(i1 %t250, i1 false)
+ br i1 %t251, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ ret ptr null
+exc.k95:
+ %t252 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t242, ptr @sc_lit_3198935257758645, ptr %t252)
+ %t253 = load i32, ptr %exc.cell
+ %t254 = icmp ne i32 %t253, 0
+ %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false)
+ br i1 %t255, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t252)
+ ret ptr null
+exc.k97:
+ %t256 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t240, ptr %t241, ptr %t242)
+ %t257 = load i32, ptr %exc.cell
+ %t258 = icmp ne i32 %t257, 0
+ %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false)
+ br i1 %t259, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t252)
+ call void @scr_dyn_release(ptr %t256)
+ ret ptr null
+exc.k99:
+ call void @scr_dyn_release(ptr %t240)
+ call void @scr_dyn_release(ptr %t241)
+ call void @scr_dyn_release(ptr %t242)
+ call void @scr_closure_release(ptr %t243)
+ call void @scr_dyn_release(ptr %t244)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t252)
+ call void @scr_dyn_release(ptr %t256)
+ %t260 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t261 = call ptr @sc_rc_retain_dyn(ptr %t260)
+ %t262 = call ptr @sc_td_0(ptr @sc_lit_1081761464356753)
+ %t263 = call ptr @scr_dyn_new_obj()
+ %t264 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files)
+ %t265 = call ptr @sc_dfb_62(ptr %t264, ptr null)
+ call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3610950885518037, ptr %t265)
+ %t266 = load i32, ptr %exc.cell
+ %t267 = icmp ne i32 %t266, 0
+ %t268 = call i1 @llvm.expect.i1(i1 %t267, i1 false)
+ br i1 %t268, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ ret ptr null
+exc.k101:
+ %t269 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_1948131179100861, ptr %t269)
+ %t270 = load i32, ptr %exc.cell
+ %t271 = icmp ne i32 %t270, 0
+ %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false)
+ br i1 %t272, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ ret ptr null
+exc.k103:
+ %t273 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t263, ptr @sc_lit_3198935257758645, ptr %t273)
+ %t274 = load i32, ptr %exc.cell
+ %t275 = icmp ne i32 %t274, 0
+ %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false)
+ br i1 %t276, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t273)
+ ret ptr null
+exc.k105:
+ %t277 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t261, ptr %t262, ptr %t263)
+ %t278 = load i32, ptr %exc.cell
+ %t279 = icmp ne i32 %t278, 0
+ %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false)
+ br i1 %t280, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t273)
+ call void @scr_dyn_release(ptr %t277)
+ ret ptr null
+exc.k107:
+ call void @scr_dyn_release(ptr %t261)
+ call void @scr_dyn_release(ptr %t262)
+ call void @scr_dyn_release(ptr %t263)
+ call void @scr_closure_release(ptr %t264)
+ call void @scr_dyn_release(ptr %t265)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t273)
+ call void @scr_dyn_release(ptr %t277)
+ %t281 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t282 = call ptr @sc_rc_retain_dyn(ptr %t281)
+ %t283 = call ptr @sc_td_0(ptr @sc_lit_3392166625234189)
+ %t284 = call ptr @scr_dyn_new_obj()
+ %t285 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field)
+ %t286 = call ptr @sc_dfb_58(ptr %t285, ptr null)
+ call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3610950885518037, ptr %t286)
+ %t287 = load i32, ptr %exc.cell
+ %t288 = icmp ne i32 %t287, 0
+ %t289 = call i1 @llvm.expect.i1(i1 %t288, i1 false)
+ br i1 %t289, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ ret ptr null
+exc.k109:
+ %t290 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_1948131179100861, ptr %t290)
+ %t291 = load i32, ptr %exc.cell
+ %t292 = icmp ne i32 %t291, 0
+ %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false)
+ br i1 %t293, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ ret ptr null
+exc.k111:
+ %t294 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t284, ptr @sc_lit_3198935257758645, ptr %t294)
+ %t295 = load i32, ptr %exc.cell
+ %t296 = icmp ne i32 %t295, 0
+ %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false)
+ br i1 %t297, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t294)
+ ret ptr null
+exc.k113:
+ %t298 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t282, ptr %t283, ptr %t284)
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t294)
+ call void @scr_dyn_release(ptr %t298)
+ ret ptr null
+exc.k115:
+ call void @scr_dyn_release(ptr %t282)
+ call void @scr_dyn_release(ptr %t283)
+ call void @scr_dyn_release(ptr %t284)
+ call void @scr_closure_release(ptr %t285)
+ call void @scr_dyn_release(ptr %t286)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t294)
+ call void @scr_dyn_release(ptr %t298)
+ %t302 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t303 = call ptr @sc_rc_retain_dyn(ptr %t302)
+ %t304 = call ptr @sc_td_0(ptr @sc_lit_3375901898269401)
+ %t305 = call ptr @scr_dyn_new_obj()
+ %t306 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields)
+ %t307 = call ptr @sc_dfb_61(ptr %t306, ptr null)
+ call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3610950885518037, ptr %t307)
+ %t308 = load i32, ptr %exc.cell
+ %t309 = icmp ne i32 %t308, 0
+ %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false)
+ br i1 %t310, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ ret ptr null
+exc.k117:
+ %t311 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_1948131179100861, ptr %t311)
+ %t312 = load i32, ptr %exc.cell
+ %t313 = icmp ne i32 %t312, 0
+ %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false)
+ br i1 %t314, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ ret ptr null
+exc.k119:
+ %t315 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t305, ptr @sc_lit_3198935257758645, ptr %t315)
+ %t316 = load i32, ptr %exc.cell
+ %t317 = icmp ne i32 %t316, 0
+ %t318 = call i1 @llvm.expect.i1(i1 %t317, i1 false)
+ br i1 %t318, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t315)
+ ret ptr null
+exc.k121:
+ %t319 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t303, ptr %t304, ptr %t305)
+ %t320 = load i32, ptr %exc.cell
+ %t321 = icmp ne i32 %t320, 0
+ %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false)
+ br i1 %t322, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t315)
+ call void @scr_dyn_release(ptr %t319)
+ ret ptr null
+exc.k123:
+ call void @scr_dyn_release(ptr %t303)
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t305)
+ call void @scr_closure_release(ptr %t306)
+ call void @scr_dyn_release(ptr %t307)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t315)
+ call void @scr_dyn_release(ptr %t319)
+ %t323 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t324 = call ptr @sc_rc_retain_dyn(ptr %t323)
+ %t325 = call ptr @sc_td_0(ptr @sc_lit_3532714511332900)
+ %t326 = call ptr @scr_dyn_new_obj()
+ %t327 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart)
+ %t328 = call ptr @sc_dfb_63(ptr %t327, ptr null)
+ call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3610950885518037, ptr %t328)
+ %t329 = load i32, ptr %exc.cell
+ %t330 = icmp ne i32 %t329, 0
+ %t331 = call i1 @llvm.expect.i1(i1 %t330, i1 false)
+ br i1 %t331, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ ret ptr null
+exc.k125:
+ %t332 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_1948131179100861, ptr %t332)
+ %t333 = load i32, ptr %exc.cell
+ %t334 = icmp ne i32 %t333, 0
+ %t335 = call i1 @llvm.expect.i1(i1 %t334, i1 false)
+ br i1 %t335, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ ret ptr null
+exc.k127:
+ %t336 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t326, ptr @sc_lit_3198935257758645, ptr %t336)
+ %t337 = load i32, ptr %exc.cell
+ %t338 = icmp ne i32 %t337, 0
+ %t339 = call i1 @llvm.expect.i1(i1 %t338, i1 false)
+ br i1 %t339, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t336)
+ ret ptr null
+exc.k129:
+ %t340 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t324, ptr %t325, ptr %t326)
+ %t341 = load i32, ptr %exc.cell
+ %t342 = icmp ne i32 %t341, 0
+ %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false)
+ br i1 %t343, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t336)
+ call void @scr_dyn_release(ptr %t340)
+ ret ptr null
+exc.k131:
+ call void @scr_dyn_release(ptr %t324)
+ call void @scr_dyn_release(ptr %t325)
+ call void @scr_dyn_release(ptr %t326)
+ call void @scr_closure_release(ptr %t327)
+ call void @scr_dyn_release(ptr %t328)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t336)
+ call void @scr_dyn_release(ptr %t340)
+ %t344 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t345 = call ptr @sc_rc_retain_dyn(ptr %t344)
+ %t346 = call ptr @sc_td_0(ptr @sc_lit_3624217920823549)
+ %t347 = call ptr @scr_dyn_new_obj()
+ %t348 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed)
+ %t349 = call ptr @sc_dfb_60(ptr %t348, ptr null)
+ call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3610950885518037, ptr %t349)
+ %t350 = load i32, ptr %exc.cell
+ %t351 = icmp ne i32 %t350, 0
+ %t352 = call i1 @llvm.expect.i1(i1 %t351, i1 false)
+ br i1 %t352, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ ret ptr null
+exc.k133:
+ %t353 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_1948131179100861, ptr %t353)
+ %t354 = load i32, ptr %exc.cell
+ %t355 = icmp ne i32 %t354, 0
+ %t356 = call i1 @llvm.expect.i1(i1 %t355, i1 false)
+ br i1 %t356, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ ret ptr null
+exc.k135:
+ %t357 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t347, ptr @sc_lit_3198935257758645, ptr %t357)
+ %t358 = load i32, ptr %exc.cell
+ %t359 = icmp ne i32 %t358, 0
+ %t360 = call i1 @llvm.expect.i1(i1 %t359, i1 false)
+ br i1 %t360, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t357)
+ ret ptr null
+exc.k137:
+ %t361 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t345, ptr %t346, ptr %t347)
+ %t362 = load i32, ptr %exc.cell
+ %t363 = icmp ne i32 %t362, 0
+ %t364 = call i1 @llvm.expect.i1(i1 %t363, i1 false)
+ br i1 %t364, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t357)
+ call void @scr_dyn_release(ptr %t361)
+ ret ptr null
+exc.k139:
+ call void @scr_dyn_release(ptr %t345)
+ call void @scr_dyn_release(ptr %t346)
+ call void @scr_dyn_release(ptr %t347)
+ call void @scr_closure_release(ptr %t348)
+ call void @scr_dyn_release(ptr %t349)
+ call void @scr_dyn_release(ptr %t353)
+ call void @scr_dyn_release(ptr %t357)
+ call void @scr_dyn_release(ptr %t361)
+ br label %if.j3
+if.j3:
+ %t365 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ %t366 = call ptr @sc_rc_retain_dyn(ptr %t365)
+ ret ptr %t366
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m5.ReqViewCore
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_660811353369478
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_660811353369478)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_660811353369478
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_28(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ ret ptr %t31
+if.j7:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_ReqViewCore(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t33)
+ ret ptr null
+exc.k16:
+ ret ptr %t33
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body() #0 { ; %method.value:%%m5.ReqViewCore.body
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_body(ptr %t5)
+ %t10 = call ptr @sc_rc_retain_str(ptr %t9)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t10
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.file
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_file(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq() #0 { ; %method.value:%%m5.ReqViewCore.rawReq
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_rawReq(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t9
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore._setWeb
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m5_ReqViewCore__setWeb(ptr %t5, ptr %t9)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.param
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_param(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore._seedPm
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m5_ReqViewCore__seedPm(ptr %t5, ptr %t9)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm(ptr %p0)
+ call void @scr_arr_release(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow() #0 { ; %method.value:%%m5.ReqViewCore._pmNow
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m5_ReqViewCore__pmNow(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @scr_arr_release(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.query
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_query(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll() #0 { ; %method.value:%%m5.ReqViewCore.queryAll
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_queryAll(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @sc_rrelease_r0(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.queries
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_queries(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @scr_arr_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.header
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_header(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore._setBody
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m5_ReqViewCore__setBody(ptr %t5, ptr %t9)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.files
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_files(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @scr_arr_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.field
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_field(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.ReqViewCore.fields
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_fields(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @scr_arr_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m5.ReqViewCore._setMultipart
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m5_ReqViewCore__setMultipart(ptr %t5, ptr %t9, ptr %t10)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart(ptr %p0, ptr %p1)
+ call void @scr_arr_release(ptr %p0)
+ call void @scr_arr_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed() #0 { ; %method.value:%%m5.ReqViewCore._parsed
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_ReqViewCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m5_ReqViewCore__parsed(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ call void @scr_arr_release(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_f__x25_dyn_class_protocol_0(ptr %p_sc_l_p_0) inlinehint #0 { ; %dyn.class.protocol.0
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s28 = alloca i1
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695
+ store i1 %t18, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t19 = load i1, ptr %s11
+ br i1 %t19, label %if.t8, label %if.j9
+if.t8:
+ %t20 = load ptr, ptr %sc_l_p_0
+ %t21 = getelementptr inbounds i8, ptr %t20, i64 16 ; ->v.typed_ref.ptr
+ %t22 = load ptr, ptr %t21
+ %t23 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t22, i64 0, i32 2
+ %t24 = load ptr, ptr %t23, !tbaa !78
+ %t25 = call ptr @sc_rc_retain_str(ptr %t24)
+ %t26 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t26)
+ ret ptr %t25
+if.j9:
+ %t27 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s28
+ %t29 = icmp ne ptr %t27, null
+ br i1 %t29, label %brand.inspect10, label %brand.done12
+brand.inspect10:
+ %t30 = getelementptr inbounds i8, ptr %t27, i64 8 ; ->kind
+ %t31 = load i32, ptr %t30
+ %t32 = icmp eq i32 %t31, 12
+ br i1 %t32, label %brand.capsule11, label %brand.done12
+brand.capsule11:
+ %t33 = getelementptr inbounds i8, ptr %t27, i64 40 ; ->v.typed_ref.type_key
+ %t34 = load ptr, ptr %t33
+ %t35 = icmp eq ptr %t34, @sc_cs_660811353369478
+ store i1 %t35, ptr %s28
+ br label %brand.done12
+brand.done12:
+ %t36 = load i1, ptr %s28
+ br i1 %t36, label %if.t13, label %if.j14
+if.t13:
+ %t37 = load ptr, ptr %sc_l_p_0
+ %t38 = getelementptr inbounds i8, ptr %t37, i64 16 ; ->v.typed_ref.ptr
+ %t39 = load ptr, ptr %t38
+ %t40 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t39, i64 0, i32 6
+ %t41 = load ptr, ptr %t40, !tbaa !78
+ %t42 = call ptr @sc_rc_retain_str(ptr %t41)
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr %t42
+if.j14:
+ %t44 = load ptr, ptr %sc_l_p_0
+ %t45 = call ptr @sc_rc_retain_dyn(ptr %t44)
+ %t46 = call ptr @sc_f__x25_dyn_class_protocol_fallback_0(ptr %t45)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @scr_str_release(ptr %t46)
+ br label %exc.cleanup2
+exc.k16:
+ %t50 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret ptr %t46
+exc.cleanup2:
+ %t51 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_protocol_fallback_0(ptr %p_sc_l_p_0) noinline #0 { ; %dyn.class.protocol.fallback.0
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_rc_retain_dyn(ptr %t4)
+ %t6 = call ptr @sc_f__x25_dyn_class_property_6(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t6)
+ br label %exc.cleanup2
+exc.k4:
+ %t10 = call ptr @sc_dc_0(ptr %t6, ptr null)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @scr_str_release(ptr %t10)
+ br label %exc.cleanup2
+exc.k6:
+ call void @sc_rc_release_dyn(ptr %t6)
+ %t14 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr %t10
+exc.cleanup2:
+ %t15 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_1(ptr %p_sc_l_p_0, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.1
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = load ptr, ptr %sc_l_p_calleeName
+ %t13 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_1(ptr %t11, ptr %t12)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @scr_promise_release(ptr %t13)
+ br label %exc.cleanup2
+exc.k6:
+ %t17 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr %t13
+exc.cleanup2:
+ %t18 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_1(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_1(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_1(ptr %p_sc_l_p_0, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.1
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_rc_retain_dyn(ptr %t4)
+ %t6 = call ptr @sc_f__x25_dyn_class_property_33(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t6)
+ br label %exc.cleanup2
+exc.k4:
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t12 = load ptr, ptr %sc_l_p_calleeName
+ %t13 = getelementptr inbounds %ScrStr, ptr %t12, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t10)
+ %t11 = call ptr @scr_dyn_call(ptr %t6, ptr null, i64 0, ptr %t13)
+ call void @scr_dyn_this_pop()
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t11)
+ br label %exc.cleanup2
+exc.k6:
+ %t17 = call ptr @sc_dc_118(ptr %t11, ptr null)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_promise_release(ptr %t17)
+ br label %exc.cleanup2
+exc.k8:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t11)
+ %t21 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr %t17
+exc.cleanup2:
+ %t22 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t22)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_fallback_1(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_1(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_5(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.5
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_5(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_5(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_fn23(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn23
+entry:
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_idx_0 = alloca ptr ; idx
+ %sc_l_method_0 = alloca ptr ; method
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_app_0 = alloca ptr ; app
+ %sc_l_mp_0 = alloca ptr ; mp
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_chainBody_0 = alloca ptr ; chainBody
+ %sc_l_bodyU8_0 = alloca ptr ; bodyU8
+ %sc_l_rc_0 = alloca i32 ; rc
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_chain_0 = alloca ptr ; chain
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_method_1 = alloca ptr ; method
+ %sc_l_app_1 = alloca ptr ; app
+ %sc_l_c_1 = alloca ptr ; c
+ %sc_l_bodyU8_1 = alloca ptr ; bodyU8
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_oef_1 = alloca ptr ; oef
+ %s40 = alloca %ScrUnion
+ %s41 = getelementptr inbounds %ScrUnion, ptr %s40, i32 0, i32 1
+ %s42 = getelementptr inbounds %ScrUnion, ptr %s40, i32 0, i32 5
+ %s43 = alloca ptr
+ %s50 = alloca ptr
+ %s70 = alloca double
+ %s71 = alloca i32
+ %s79 = alloca i1
+ %s92 = alloca double
+ %s93 = alloca i32
+ %s131 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_mp_0
+ store ptr null, ptr %sc_l_method_1
+ store ptr null, ptr %sc_l_app_1
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %sc_l_bodyU8_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_oef_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_idx_0 ; captured idx
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_method_0 ; captured method
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_this_0 ; captured this
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_app_0 ; captured app
+ %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4]
+ %t14 = load ptr, ptr %t13
+ store ptr %t14, ptr %sc_l_c_0 ; captured c
+ %t15 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t16 = getelementptr inbounds ptr, ptr %t15, i64 5 ; caps[5]
+ %t17 = load ptr, ptr %t16
+ store ptr %t17, ptr %sc_l_chainBody_0 ; captured chainBody
+ %t18 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t19 = getelementptr inbounds ptr, ptr %t18, i64 6 ; caps[6]
+ %t20 = load ptr, ptr %t19
+ store ptr %t20, ptr %sc_l_bodyU8_0 ; captured bodyU8
+ %t21 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t22 = getelementptr inbounds ptr, ptr %t21, i64 7 ; caps[7]
+ %t23 = load ptr, ptr %t22
+ store ptr %t23, ptr %sc_l_sink_0 ; captured sink
+ %t24 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t25 = getelementptr inbounds ptr, ptr %t24, i64 8 ; caps[8]
+ %t26 = load ptr, ptr %t25
+ store ptr %t26, ptr %sc_l_chain_0 ; captured chain
+ %t27 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t28 = getelementptr inbounds ptr, ptr %t27, i64 9 ; caps[9]
+ %t29 = load ptr, ptr %t28
+ store ptr %t29, ptr %sc_l_oef_0 ; captured oef
+ store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0
+ %t30 = call ptr @llvm.stacksave.p0()
+ %t31 = load ptr, ptr @scr_stack_guard
+ %t32 = icmp ult ptr %t30, %t31
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t34 = load ptr, ptr %sc_l_method_0
+ %t35 = call ptr @scr_box_get_ref(ptr %t34)
+ store ptr %t35, ptr %sc_l_method_1
+ %t36 = load ptr, ptr %sc_l_app_0
+ %t37 = call ptr @scr_box_get_ref(ptr %t36)
+ store ptr %t37, ptr %sc_l_app_1
+ %t38 = load ptr, ptr %sc_l_c_0
+ %t39 = call ptr @scr_box_get_ref(ptr %t38)
+ store ptr %t39, ptr %sc_l_c_1
+ store ptr null, ptr %s43
+ %t44 = load ptr, ptr %sc_l_bodyU8_0
+ %t45 = getelementptr inbounds %ScrBox, ptr %t44, i32 0, i32 5
+ %t46 = load ptr, ptr %t45
+ %t48 = getelementptr inbounds %ScrUnion, ptr %t46, i64 0, i32 1
+ %t47 = load i32, ptr %t48
+ store ptr null, ptr %s50
+ %t49 = icmp eq i32 %t47, 0
+ br i1 %t49, label %union.copy.ref2, label %union.copy.join3
+union.copy.ref2:
+ %t51 = getelementptr inbounds %ScrUnion, ptr %t46, i64 0, i32 5
+ %t52 = load ptr, ptr %t51
+ %t53 = call ptr @scr_bytes_retain_v(ptr %t52)
+ store ptr %t53, ptr %s50
+ br label %union.copy.join3
+union.copy.join3:
+ %t54 = load ptr, ptr %s50
+ %t56 = getelementptr inbounds %ScrUnion, ptr %t46, i64 0, i32 1
+ %t55 = load i32, ptr %t56
+ %t57 = getelementptr inbounds %ScrUnion, ptr %t46, i32 0, i32 5
+ %t58 = load i64, ptr %t57
+ store i32 %t55, ptr %s41
+ store i64 %t58, ptr %s42
+ %t59 = load ptr, ptr %s43
+ store ptr %t54, ptr %s43
+ call void @scr_bytes_release(ptr %t59)
+ store ptr %s40, ptr %sc_l_bodyU8_1
+ %t60 = load ptr, ptr %sc_l_sink_0
+ %t61 = call ptr @scr_box_get_ref(ptr %t60)
+ store ptr %t61, ptr %sc_l_sink_1
+ %t62 = load ptr, ptr %sc_l_oef_0
+ %t63 = call ptr @scr_box_get_ref(ptr %t62)
+ store ptr %t63, ptr %sc_l_oef_1
+ %t64 = load ptr, ptr %sc_l_idx_0
+ %t65 = getelementptr inbounds %ScrBox, ptr %t64, i32 0, i32 5
+ %t66 = load ptr, ptr %t65
+ %t69 = getelementptr inbounds %ScrUnion, ptr %t66, i64 0, i32 1
+ %t68 = load i32, ptr %t69
+ %t67 = icmp eq i32 %t68, 1
+ br i1 %t67, label %tern.t4, label %tern.f5
+tern.t4:
+ store double 0x7FF8000000000000, ptr %s70
+ br label %tern.j6
+tern.f5:
+ %t72 = load ptr, ptr %sc_l_idx_0
+ %t73 = getelementptr inbounds %ScrBox, ptr %t72, i32 0, i32 5
+ %t74 = load ptr, ptr %t73
+ %t75 = getelementptr inbounds %ScrUnion, ptr %t74, i64 0, i32 5
+ %t76 = load double, ptr %t75
+ store double %t76, ptr %s70
+ br label %tern.j6
+tern.j6:
+ %t77 = load double, ptr %s70
+ %t78 = fcmp oge double %t77, 0x0000000000000000
+ store i1 %t78, ptr %s79
+ br i1 %t78, label %log.r7, label %log.j8
+log.r7:
+ %t80 = load ptr, ptr %sc_l_method_1
+ %t81 = call i1 @sc_bf__x25_m5_bodyMethod(ptr %t80)
+ store i1 %t81, ptr %s79
+ br label %log.j8
+log.j8:
+ %t82 = load i1, ptr %s79
+ br i1 %t82, label %if.t9, label %if.j10
+if.t9:
+ %t83 = load ptr, ptr %sc_l_app_1
+ %t84 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t83, i64 0, i32 14
+ %t85 = load ptr, ptr %t84, !tbaa !40
+ %t86 = load ptr, ptr %sc_l_idx_0
+ %t87 = getelementptr inbounds %ScrBox, ptr %t86, i32 0, i32 5
+ %t88 = load ptr, ptr %t87
+ %t91 = getelementptr inbounds %ScrUnion, ptr %t88, i64 0, i32 1
+ %t90 = load i32, ptr %t91
+ %t89 = icmp eq i32 %t90, 1
+ br i1 %t89, label %tern.t11, label %tern.f12
+tern.t11:
+ store double 0x7FF8000000000000, ptr %s92
+ br label %tern.j13
+tern.f12:
+ %t94 = load ptr, ptr %sc_l_idx_0
+ %t95 = getelementptr inbounds %ScrBox, ptr %t94, i32 0, i32 5
+ %t96 = load ptr, ptr %t95
+ %t97 = getelementptr inbounds %ScrUnion, ptr %t96, i64 0, i32 5
+ %t98 = load double, ptr %t97
+ store double %t98, ptr %s92
+ br label %tern.j13
+tern.j13:
+ %t99 = load double, ptr %s92
+ %t100 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 2
+ %t101 = load i64, ptr %t100, !tbaa !2
+ %t102 = fptosi double %t99 to i64
+ %t103 = freeze i64 %t102
+ %t104 = sitofp i64 %t103 to double
+ %t105 = fcmp oeq double %t104, %t99
+ %t106 = icmp ult i64 %t103, %t101
+ %t107 = and i1 %t105, %t106
+ br i1 %t107, label %local.array.range17, label %local.array.slow14
+local.array.range17:
+ br label %local.array.dense18
+local.array.dense18:
+ %t108 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 6
+ %t109 = load i32, ptr %t108, !tbaa !2
+ %t111 = zext i32 %t109 to i64
+ %t110 = icmp ult i64 %t103, %t111
+ br i1 %t110, label %local.array.value20, label %local.array.len19
+local.array.len19:
+ %t112 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 1
+ %t113 = load i64, ptr %t112, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t114 = icmp ult i64 %t103, %t113
+ br i1 %t114, label %local.array.state21, label %local.array.missing15
+local.array.state21:
+ %t115 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 9
+ %t116 = load ptr, ptr %t115, !tbaa !2
+ %t117 = getelementptr inbounds i8, ptr %t116, i64 %t103
+ %t118 = load i8, ptr %t117, !tbaa !4
+ %t119 = icmp eq i8 %t118, 1
+ br i1 %t119, label %local.array.value20, label %local.array.missing15
+local.array.value20:
+ %t120 = getelementptr inbounds %ScrArr, ptr %t85, i32 0, i32 8
+ %t121 = load ptr, ptr %t120, !tbaa !2
+ %t122 = getelementptr inbounds i64, ptr %t121, i64 %t103
+ %t123 = load ptr, ptr %t122, !tbaa !6
+ %t124 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t123)
+ store ptr %t124, ptr %sc_l_mp_0
+ br label %local.array.join16
+local.array.slow14:
+ %t125 = call ptr @scr_arr_peek_ref(ptr %t85, double %t99)
+ %t126 = icmp ne ptr %t125, null
+ br i1 %t126, label %local.array.slow.value22, label %local.array.missing15
+local.array.slow.value22:
+ %t127 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t125)
+ store ptr %t127, ptr %sc_l_mp_0
+ br label %local.array.join16
+local.array.missing15:
+ store ptr null, ptr %sc_l_mp_0
+ br label %local.array.join16
+local.array.join16:
+ %t128 = load ptr, ptr %sc_l_mp_0
+ %t130 = icmp eq ptr %t128, null
+ br i1 %t130, label %read.then23, label %read.else24
+read.then23:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2357048268411583)
+ br label %exc.cleanup26
+exc.dead27:
+ store ptr null, ptr %s131
+ br label %read.join25
+read.else24:
+ %t132 = load ptr, ptr %sc_l_mp_0
+ store ptr %t132, ptr %s131
+ br label %read.join25
+read.join25:
+ %t133 = load ptr, ptr %s131
+ %t134 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t133, i64 0, i32 1
+ %t135 = load double, ptr %t134, !tbaa !14
+ %t136 = fcmp oeq double %t135, 0x3FF0000000000000
+ br i1 %t136, label %if.t28, label %if.j29
+if.t28:
+ %t137 = load ptr, ptr %sc_l_c_1
+ %t138 = load ptr, ptr %sc_l_mp_0
+ %t139 = load ptr, ptr %sc_l_chainBody_0
+ %t140 = call ptr @scr_box_get_ref(ptr %t139)
+ %t141 = load ptr, ptr %sc_l_bodyU8_1
+ %t142 = call i32 @sc_bf__x25_m5_runMultipartPrim.i32(ptr %t137, ptr %t138, ptr %t140, ptr %t141)
+ %t143 = sitofp i32 %t142 to double
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @scr_str_release(ptr %t140)
+ br label %exc.cleanup26
+exc.k31:
+ call void @scr_str_release(ptr %t140)
+ store i32 %t142, ptr %sc_l_rc_0
+ %t147 = load i32, ptr %sc_l_rc_0
+ %t148 = sitofp i32 %t147 to double
+ %t150 = sext i32 %t147 to i64
+ %t149 = icmp eq i64 %t150, 413
+ br i1 %t149, label %if.t32, label %if.j33
+if.t32:
+ %t151 = load ptr, ptr %sc_l_sink_1
+ call void @sc_bf__x25_m5_replyPlain.i32(ptr %t151, i32 413, ptr @sc_lit_1580796233797134)
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u34, label %exc.k35
+exc.u34:
+ br label %exc.cleanup26
+exc.k35:
+ %t155 = load ptr, ptr %sc_l_resolve_0
+ %t156 = getelementptr inbounds %ScrClosure, ptr %t155, i64 0, i32 1
+ %t157 = load ptr, ptr %t156
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t157(ptr %t155)
+ call void @scr_dyn_this_pop()
+ %t158 = load i32, ptr %exc.cell
+ %t159 = icmp ne i32 %t158, 0
+ %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false)
+ br i1 %t160, label %exc.u36, label %exc.k37
+exc.u36:
+ br label %exc.cleanup26
+exc.k37:
+ %t161 = load ptr, ptr %sc_l_mp_0
+ call void @sc_release__x25_m5_MpCfg(ptr %t161)
+ %t162 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t162)
+ %t163 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t163)
+ %t164 = load ptr, ptr %sc_l_c_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t164)
+ %t165 = load ptr, ptr %s43
+ call void @scr_bytes_release(ptr %t165)
+ %t166 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t166)
+ %t167 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t167)
+ ret void
+if.j33:
+ %t168 = load i32, ptr %sc_l_rc_0
+ %t169 = sitofp i32 %t168 to double
+ %t171 = sext i32 %t168 to i64
+ %t170 = icmp ne i64 %t171, 0
+ br i1 %t170, label %if.t38, label %if.j39
+if.t38:
+ %t172 = load ptr, ptr %sc_l_sink_1
+ call void @sc_bf__x25_m5_replyPlain.i32(ptr %t172, i32 400, ptr @sc_lit_960209946846820)
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u40, label %exc.k41
+exc.u40:
+ br label %exc.cleanup26
+exc.k41:
+ %t176 = load ptr, ptr %sc_l_resolve_0
+ %t177 = getelementptr inbounds %ScrClosure, ptr %t176, i64 0, i32 1
+ %t178 = load ptr, ptr %t177
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t178(ptr %t176)
+ call void @scr_dyn_this_pop()
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u42, label %exc.k43
+exc.u42:
+ br label %exc.cleanup26
+exc.k43:
+ %t182 = load ptr, ptr %sc_l_mp_0
+ call void @sc_release__x25_m5_MpCfg(ptr %t182)
+ %t183 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t183)
+ %t184 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_c_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t185)
+ %t186 = load ptr, ptr %s43
+ call void @scr_bytes_release(ptr %t186)
+ %t187 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t187)
+ %t188 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t188)
+ ret void
+if.j39:
+ br label %if.j29
+if.j29:
+ %t189 = load ptr, ptr %sc_l_mp_0
+ call void @sc_release__x25_m5_MpCfg(ptr %t189)
+ br label %if.j10
+if.j10:
+ %t190 = load ptr, ptr %sc_l_chain_0
+ %t191 = call ptr @scr_box_get_ref(ptr %t190)
+ %t192 = load ptr, ptr %sc_l_c_1
+ %t193 = load ptr, ptr %sc_l_sink_1
+ %t194 = load ptr, ptr %sc_l_oef_1
+ %t195 = load ptr, ptr %sc_l_resolve_0
+ call void @sc_bf__x25_m5_runChainPromise(ptr %t191, ptr %t192, ptr %t193, ptr %t194, ptr %t195)
+ %t196 = load i32, ptr %exc.cell
+ %t197 = icmp ne i32 %t196, 0
+ %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false)
+ br i1 %t198, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @scr_union_release(ptr %t191)
+ br label %exc.cleanup46
+exc.k45:
+ call void @scr_union_release(ptr %t191)
+ %t199 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t199)
+ %t200 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t200)
+ %t201 = load ptr, ptr %sc_l_c_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t201)
+ %t202 = load ptr, ptr %s43
+ call void @scr_bytes_release(ptr %t202)
+ %t203 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t203)
+ %t204 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t204)
+ ret void
+exc.cleanup26:
+ %t205 = load ptr, ptr %sc_l_mp_0
+ call void @sc_release__x25_m5_MpCfg(ptr %t205)
+ %t206 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t206)
+ %t207 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t207)
+ %t208 = load ptr, ptr %sc_l_c_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t208)
+ %t209 = load ptr, ptr %s43
+ call void @scr_bytes_release(ptr %t209)
+ %t210 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t210)
+ %t211 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t211)
+ ret void
+exc.cleanup46:
+ %t212 = load ptr, ptr %sc_l_method_1
+ call void @scr_str_release(ptr %t212)
+ %t213 = load ptr, ptr %sc_l_app_1
+ call void @sc_release__x25_m5_App(ptr %t213)
+ %t214 = load ptr, ptr %sc_l_c_1
+ call void @sc_release__x25_m5_CtxCore(ptr %t214)
+ %t215 = load ptr, ptr %s43
+ call void @scr_bytes_release(ptr %t215)
+ %t216 = load ptr, ptr %sc_l_sink_1
+ call void @sc_release__x25_m2_ResponseSink(ptr %t216)
+ %t217 = load ptr, ptr %sc_l_oef_1
+ call void @scr_union_release(ptr %t217)
+ ret void
+}
+define internal void @sc_f__x25_fn23(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn23(ptr %sc_env, ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn24(ptr %sc_env, ptr %p_sc_l_chunk_0) #0 { ; %fn24
+entry:
+ %sc_l_chunk_0 = alloca ptr ; chunk
+ %sc_l_buf_0 = alloca ptr ; buf
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_buf_0 ; captured buf
+ store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_buf_0
+ %t8 = call ptr @scr_box_get_ref(ptr %t7)
+ %t9 = load ptr, ptr %sc_l_chunk_0
+ %t10 = call ptr @scr_bytes_to_str(ptr %t9, ptr @sc_lit_2605532998565466)
+ %t11 = load ptr, ptr %sc_l_buf_0
+ call void @scr_box_set_ref(ptr %t11, ptr null)
+ %t12 = call ptr @scr_str_concat(ptr %t8, ptr %t10)
+ %t13 = load ptr, ptr %sc_l_buf_0
+ call void @scr_box_set_ref(ptr %t13, ptr %t12)
+ call void @scr_str_release(ptr %t8)
+ call void @scr_str_release(ptr %t10)
+ ret void
+}
+define internal void @sc_f__x25_fn24(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn24(ptr %sc_env, ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_fn25(ptr %sc_env) #0 { ; %fn25
+entry:
+ %sc_l_rv_0 = alloca ptr ; rv
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l_buf_0 = alloca ptr ; buf
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_chain_0 = alloca ptr ; chain
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_rv_1 = alloca ptr ; rv
+ %sc_l_c_1 = alloca ptr ; c
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_oef_1 = alloca ptr ; oef
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s44 = alloca ptr
+ %s60 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_rv_1
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_oef_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_rv_0 ; captured rv
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_buf_0 ; captured buf
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_chain_0 ; captured chain
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_c_0 ; captured c
+ %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4]
+ %t14 = load ptr, ptr %t13
+ store ptr %t14, ptr %sc_l_sink_0 ; captured sink
+ %t15 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t16 = getelementptr inbounds ptr, ptr %t15, i64 5 ; caps[5]
+ %t17 = load ptr, ptr %t16
+ store ptr %t17, ptr %sc_l_oef_0 ; captured oef
+ %t18 = call ptr @llvm.stacksave.p0()
+ %t19 = load ptr, ptr @scr_stack_guard
+ %t20 = icmp ult ptr %t18, %t19
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t22 = load ptr, ptr %sc_l_rv_0
+ %t23 = getelementptr inbounds %ScrBox, ptr %t22, i32 0, i32 5
+ %t24 = load ptr, ptr %t23
+ store ptr %t24, ptr %sc_l_rv_1
+ %t25 = load ptr, ptr %sc_l_c_0
+ %t26 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %sc_l_c_1
+ %t28 = load ptr, ptr %sc_l_sink_0
+ %t29 = getelementptr inbounds %ScrBox, ptr %t28, i32 0, i32 5
+ %t30 = load ptr, ptr %t29
+ store ptr %t30, ptr %sc_l_sink_1
+ %t31 = load ptr, ptr %sc_l_oef_0
+ %t32 = getelementptr inbounds %ScrBox, ptr %t31, i32 0, i32 5
+ %t33 = load ptr, ptr %t32
+ store ptr %t33, ptr %sc_l_oef_1
+ %t34 = load ptr, ptr %sc_l_rv_1
+ store ptr %t34, ptr %sc_l__x25_callbackReceiver_0
+ %t35 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t36 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t35)
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t36)
+ ret void
+exc.k3:
+ store ptr %t36, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t40 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t41 = getelementptr inbounds i8, ptr %t40, i64 8 ; ->kind
+ %t42 = load i32, ptr %t41
+ %t43 = icmp eq i32 %t42, 6
+ br i1 %t43, label %tern.t4, label %tern.f5
+tern.t4:
+ %t46 = call ptr @scr_dyn_undefined()
+ %t45 = call ptr @scr_dyn_retain_v(ptr %t46)
+ store ptr %t45, ptr %s44
+ br label %tern.j6
+tern.f5:
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t48 = call ptr @sc_rc_retain_dyn(ptr %t47)
+ %t49 = call ptr @sc_f__x25_dyn_class_property_9(ptr %t48)
+ %t50 = load i32, ptr %exc.cell
+ %t51 = icmp ne i32 %t50, 0
+ %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false)
+ br i1 %t52, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t49, ptr %s44
+ br label %tern.j6
+tern.j6:
+ %t53 = load ptr, ptr %s44
+ store ptr %t53, ptr %sc_l__x25_callback_0
+ %t54 = load ptr, ptr %sc_l__x25_callback_0
+ %t55 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t56 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t55, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t57 = load ptr, ptr %sc_l_buf_0
+ %t58 = call ptr @scr_box_get_ref(ptr %t57)
+ %t59 = call ptr @sc_td_0(ptr %t58)
+ %t61 = getelementptr inbounds [1 x ptr], ptr %s60, i64 0, i64 0
+ store ptr %t59, ptr %t61
+ call void @scr_dyn_this_push_dyn(ptr %t56)
+ %t62 = call ptr @scr_dyn_call(ptr %t54, ptr %s60, i64 1, ptr @sc_cs_3779354462845077)
+ call void @scr_dyn_this_pop()
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @scr_str_release(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t62)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @scr_str_release(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t62)
+ %t66 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t66)
+ %t67 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t68 = load ptr, ptr %sc_l_chain_0
+ %t69 = call ptr @scr_box_get_ref(ptr %t68)
+ %t70 = load ptr, ptr %sc_l_c_1
+ %t71 = load ptr, ptr %sc_l_sink_1
+ %t72 = load ptr, ptr %sc_l_oef_1
+ call void @sc_bf__x25_m5_runChain(ptr %t69, ptr %t70, ptr %t71, ptr %t72)
+ %t73 = load i32, ptr %exc.cell
+ %t74 = icmp ne i32 %t73, 0
+ %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false)
+ br i1 %t75, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @scr_union_release(ptr %t69)
+ ret void
+exc.k14:
+ call void @scr_union_release(ptr %t69)
+ ret void
+exc.cleanup9:
+ %t76 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret void
+exc.cleanup12:
+ %t77 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t77)
+ %t78 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t78)
+ ret void
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m11_StaticServer() #0 { ; %prototype.data.%m11.StaticServer
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_2232031524457002)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi)
+ %t13 = call ptr @sc_dfb_64(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_3423954012803281)
+ %t32 = call ptr @scr_dyn_new_obj()
+ %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle)
+ %t34 = call ptr @sc_dfb_10(ptr %t33, ptr null)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret ptr null
+exc.k13:
+ %t38 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k15:
+ %t42 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.k17:
+ %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ %t52 = call ptr @sc_td_0(ptr @sc_lit_700259281879664)
+ %t53 = call ptr @scr_dyn_new_obj()
+ %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send)
+ %t55 = call ptr @sc_dfb_65(ptr %t54, ptr null)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ ret ptr null
+exc.k21:
+ %t59 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ ret ptr null
+exc.k23:
+ %t63 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ ret ptr null
+exc.k25:
+ %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ ret ptr null
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t73 = call ptr @sc_td_0(ptr @sc_lit_2478521587363481)
+ %t74 = call ptr @scr_dyn_new_obj()
+ %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick)
+ %t76 = call ptr @sc_dfb_66(ptr %t75, ptr null)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret ptr null
+exc.k29:
+ %t80 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ ret ptr null
+exc.k31:
+ %t84 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k33:
+ %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t88)
+ ret ptr null
+exc.k35:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t88)
+ br label %if.j3
+if.j3:
+ %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ %t93 = call ptr @sc_rc_retain_dyn(ptr %t92)
+ ret ptr %t93
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m11.StaticServer
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_864190948149583
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_864190948149583)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_864190948149583
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_103(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ ret ptr %t31
+if.j7:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m11_StaticServer(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_release__x25_m11_StaticServer(ptr %t33)
+ ret ptr null
+exc.k16:
+ ret ptr %t33
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m11.StaticServer.isApi
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m11_StaticServer(ptr %t5)
+ ret i1 false
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call i1 @sc_bf__x25__x25_m11_StaticServer_isApi(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m11_StaticServer(ptr %t5)
+ ret i1 %t10
+exc.k5:
+ call void @sc_release__x25_m11_StaticServer(ptr %t5)
+ ret i1 %t10
+}
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret i1 %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m11.StaticServer.handle
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m11_StaticServer(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m11_StaticServer_handle(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m11_StaticServer(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m11_StaticServer(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_handle(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m11.StaticServer.send
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m11_StaticServer(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m11_StaticServer(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = call ptr @sc_bf__x25__x25_m11_StaticServer_send(ptr %t5, ptr %t9, ptr %t10)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m11_StaticServer(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t11)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m11_StaticServer(ptr %t5)
+ ret ptr %t11
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_send(ptr %p0, ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rrelease_r11(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m11.StaticServer.pick
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = load ptr, ptr %sc_l_p_1
+ %t2 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m11_StaticServer_pick(ptr %t0, ptr %t1)
+ %t3 = load i32, ptr %exc.cell
+ %t4 = icmp ne i32 %t3, 0
+ %t5 = call i1 @llvm.expect.i1(i1 %t4, i1 false)
+ br i1 %t5, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rrelease_r10(ptr %t2)
+ ret ptr null
+exc.k1:
+ ret ptr %t2
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1)
+ call void @sc_rrelease_r11(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn26(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn26
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_srv_0 = alloca ptr ; srv
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s28 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_srv_0 ; captured srv
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t3 = load ptr, ptr %sc_l_srv_0
+ %t4 = call ptr @scr_box_get_ref(ptr %t3)
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t6)
+ br label %exc.cleanup2
+exc.k1:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t3, label %tern.f4
+tern.t3:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j5
+tern.f4:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_61(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup8
+exc.k7:
+ store ptr %t19, ptr %s14
+ br label %tern.j5
+tern.j5:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t27 = load ptr, ptr %sc_l_c_0
+ %t29 = getelementptr inbounds [1 x ptr], ptr %s28, i64 0, i64 0
+ store ptr %t27, ptr %t29
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t30 = call ptr @scr_dyn_call(ptr %t24, ptr %s28, i64 1, ptr @sc_cs_3064312976381386)
+ call void @scr_dyn_this_pop()
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t30)
+ br label %exc.cleanup11
+exc.k10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ %t34 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t34)
+ %t35 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t35)
+ %t36 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m11_StaticServer(ptr %t36)
+ ret ptr %t30
+exc.cleanup2:
+ %t37 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m11_StaticServer(ptr %t37)
+ ret ptr null
+exc.cleanup8:
+ %t38 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m11_StaticServer(ptr %t39)
+ ret ptr null
+exc.cleanup11:
+ %t40 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m11_StaticServer(ptr %t42)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_fn26(ptr %sc_env, ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn26(ptr %sc_env, ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn_adapt_3_impl(ptr %sc_env, ptr %p_sc_l_a_0) #0 { ; %fn.adapt.3.impl
+entry:
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l_a_0 = alloca ptr ; a0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_f_0 ; captured f
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_f_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ %t10 = call ptr @scr_dyn_this_get()
+ %t11 = load ptr, ptr %sc_l_a_0
+ %t12 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t11, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t13 = getelementptr inbounds %ScrClosure, ptr %t9, i64 0, i32 1
+ %t14 = load ptr, ptr %t13
+ call void @scr_dyn_this_push_dyn(ptr %t10)
+ %t15 = call ptr %t14(ptr %t9, ptr %t12)
+ call void @scr_dyn_this_pop()
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t15
+}
+define internal ptr @sc_f__x25_fn_adapt_3_impl(ptr %sc_env, ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn_adapt_3_impl(ptr %sc_env, ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn_adapt_3(ptr %p_sc_l_f_0) #0 { ; %fn.adapt.3
+entry:
+ %sc_l_f_0 = alloca ptr ; f
+ %s0 = alloca ptr ; lazy box f
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_f_0, ptr %sc_l_f_0
+ %t1 = call ptr @scr_closure_new(ptr @sc_f__x25_fn_adapt_3_impl, i64 1)
+ %t2 = getelementptr inbounds %ScrClosure, ptr %t1, i64 0, i32 7
+ store ptr @sc_bf__x25_fn_adapt_3_impl, ptr %t2
+ %t3 = load ptr, ptr %s0
+ %t4 = icmp eq ptr %t3, null
+ br i1 %t4, label %lazy.box0, label %lazy.box.j1
+lazy.box0:
+ %t5 = call ptr @scr_box_new(i32 4)
+ %t6 = load ptr, ptr %sc_l_f_0
+ %t7 = call ptr @scr_closure_retain_v(ptr %t6)
+ call void @scr_box_set_ref(ptr %t5, ptr %t7)
+ store ptr %t5, ptr %s0
+ br label %lazy.box.j1
+lazy.box.j1:
+ %t8 = load ptr, ptr %s0
+ %t9 = call ptr @sc_retain_box(ptr %t8)
+ %t10 = getelementptr inbounds %ScrClosure, ptr %t1, i64 1 ; caps
+ %t11 = getelementptr inbounds ptr, ptr %t10, i64 0 ; caps[0]
+ store ptr %t9, ptr %t11
+ %t12 = getelementptr inbounds %ScrBox, ptr %t8, i64 0, i32 5
+ %t13 = load ptr, ptr %t12
+ call void @scr_closure_adopt_identity(ptr %t1, ptr %t13, i32 1)
+ %t14 = load ptr, ptr %s0
+ %t15 = icmp ne ptr %t14, null
+ br i1 %t15, label %lazy.release2, label %lazy.release.j3
+lazy.release2:
+ call void @scr_box_release(ptr %t14)
+ br label %lazy.release.j3
+lazy.release.j3:
+ ret ptr %t1
+}
+define internal ptr @sc_f__x25_fn_adapt_3(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn_adapt_3(ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn27(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn27
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_srv_0 = alloca ptr ; srv
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_srv_1 = alloca ptr ; srv
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s20 = alloca ptr
+ %s34 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_srv_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_srv_0 ; captured srv
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_srv_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_srv_1
+ %t10 = load ptr, ptr %sc_l_srv_1
+ store ptr %t10, ptr %sc_l__x25_callbackReceiver_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t12)
+ ret ptr null
+exc.k3:
+ store ptr %t12, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t16 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind
+ %t18 = load i32, ptr %t17
+ %t19 = icmp eq i32 %t18, 6
+ br i1 %t19, label %tern.t4, label %tern.f5
+tern.t4:
+ %t22 = call ptr @scr_dyn_undefined()
+ %t21 = call ptr @scr_dyn_retain_v(ptr %t22)
+ store ptr %t21, ptr %s20
+ br label %tern.j6
+tern.f5:
+ %t23 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t25 = call ptr @sc_f__x25_dyn_class_property_61(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t25, ptr %s20
+ br label %tern.j6
+tern.j6:
+ %t29 = load ptr, ptr %s20
+ store ptr %t29, ptr %sc_l__x25_callback_0
+ %t30 = load ptr, ptr %sc_l__x25_callback_0
+ %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t33 = load ptr, ptr %sc_l_c_0
+ %t35 = getelementptr inbounds [1 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t33, ptr %t35
+ call void @scr_dyn_this_push_dyn(ptr %t32)
+ %t36 = call ptr @scr_dyn_call(ptr %t30, ptr %s34, i64 1, ptr @sc_cs_3064312976381386)
+ call void @scr_dyn_this_pop()
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t36)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t32)
+ %t40 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret ptr %t36
+exc.cleanup9:
+ %t42 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.cleanup12:
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_fn27(ptr %sc_env, ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn27(ptr %sc_env, ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn28(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn28
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_srv_0 = alloca ptr ; srv
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s14 = alloca ptr
+ %s28 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_srv_0 ; captured srv
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t3 = load ptr, ptr %sc_l_srv_0
+ %t4 = call ptr @scr_box_get_ref(ptr %t3)
+ store ptr %t4, ptr %sc_l__x25_callbackReceiver_0
+ %t5 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t6 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t6)
+ br label %exc.cleanup2
+exc.k1:
+ store ptr %t6, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t10 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 6
+ br i1 %t13, label %tern.t3, label %tern.f4
+tern.t3:
+ %t16 = call ptr @scr_dyn_undefined()
+ %t15 = call ptr @scr_dyn_retain_v(ptr %t16)
+ store ptr %t15, ptr %s14
+ br label %tern.j5
+tern.f4:
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = call ptr @sc_f__x25_dyn_class_property_61(ptr %t18)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t19)
+ br label %exc.cleanup8
+exc.k7:
+ store ptr %t19, ptr %s14
+ br label %tern.j5
+tern.j5:
+ %t23 = load ptr, ptr %s14
+ store ptr %t23, ptr %sc_l__x25_callback_0
+ %t24 = load ptr, ptr %sc_l__x25_callback_0
+ %t25 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t26 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t25, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t27 = load ptr, ptr %sc_l_c_0
+ %t29 = getelementptr inbounds [1 x ptr], ptr %s28, i64 0, i64 0
+ store ptr %t27, ptr %t29
+ call void @scr_dyn_this_push_dyn(ptr %t26)
+ %t30 = call ptr @scr_dyn_call(ptr %t24, ptr %s28, i64 1, ptr @sc_cs_3064312976381386)
+ call void @scr_dyn_this_pop()
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t30)
+ br label %exc.cleanup11
+exc.k10:
+ call void @sc_rc_release_dyn(ptr %t26)
+ %t34 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t34)
+ %t35 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t35)
+ %t36 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m11_StaticServer(ptr %t36)
+ ret ptr %t30
+exc.cleanup2:
+ %t37 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m11_StaticServer(ptr %t37)
+ ret ptr null
+exc.cleanup8:
+ %t38 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t38)
+ %t39 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m11_StaticServer(ptr %t39)
+ ret ptr null
+exc.cleanup11:
+ %t40 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t42 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ call void @sc_release__x25_m11_StaticServer(ptr %t42)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_fn28(ptr %sc_env, ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn28(ptr %sc_env, ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn29(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn29
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_srv_0 = alloca ptr ; srv
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_srv_1 = alloca ptr ; srv
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s20 = alloca ptr
+ %s34 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_srv_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_srv_0 ; captured srv
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_srv_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_srv_1
+ %t10 = load ptr, ptr %sc_l_srv_1
+ store ptr %t10, ptr %sc_l__x25_callbackReceiver_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t12 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t12)
+ ret ptr null
+exc.k3:
+ store ptr %t12, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t16 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t17 = getelementptr inbounds i8, ptr %t16, i64 8 ; ->kind
+ %t18 = load i32, ptr %t17
+ %t19 = icmp eq i32 %t18, 6
+ br i1 %t19, label %tern.t4, label %tern.f5
+tern.t4:
+ %t22 = call ptr @scr_dyn_undefined()
+ %t21 = call ptr @scr_dyn_retain_v(ptr %t22)
+ store ptr %t21, ptr %s20
+ br label %tern.j6
+tern.f5:
+ %t23 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t25 = call ptr @sc_f__x25_dyn_class_property_61(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t25, ptr %s20
+ br label %tern.j6
+tern.j6:
+ %t29 = load ptr, ptr %s20
+ store ptr %t29, ptr %sc_l__x25_callback_0
+ %t30 = load ptr, ptr %sc_l__x25_callback_0
+ %t31 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t33 = load ptr, ptr %sc_l_c_0
+ %t35 = getelementptr inbounds [1 x ptr], ptr %s34, i64 0, i64 0
+ store ptr %t33, ptr %t35
+ call void @scr_dyn_this_push_dyn(ptr %t32)
+ %t36 = call ptr @scr_dyn_call(ptr %t30, ptr %s34, i64 1, ptr @sc_cs_3064312976381386)
+ call void @scr_dyn_this_pop()
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t36)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t32)
+ %t40 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret ptr %t36
+exc.cleanup9:
+ %t42 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.cleanup12:
+ %t43 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_fn29(ptr %sc_env, ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn29(ptr %sc_env, ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_6(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.6
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @sc_rretain_r14(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_6(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_6(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_7(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.7
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @sc_rretain_r13(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_7(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_7(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_rec_haskey_0(ptr %p_sc_l_k_0, ptr %p_sc_l_r_0) #0 { ; %rec.haskey.0
+entry:
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_r_0 = alloca ptr ; r
+ %s11 = alloca i1
+ %s14 = alloca i1
+ %s18 = alloca i1
+ %s22 = alloca i1
+ %s26 = alloca i1
+ %s30 = alloca i1
+ %s34 = alloca i1
+ %s38 = alloca i1
+ %s42 = alloca i1
+ %s46 = alloca i1
+ %s50 = alloca i1
+ %s54 = alloca i1
+ %s58 = alloca i1
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_r_0
+ %t5 = call ptr @sc_rretain_r12(ptr %t4)
+ %t6 = load ptr, ptr %sc_l_k_0
+ %t7 = call ptr @sc_rc_retain_str(ptr %t6)
+ %t8 = getelementptr inbounds %sc_rs_r12, ptr %t5, i64 0, i32 1
+ %t9 = load ptr, ptr %t8
+ %t10 = call zeroext i1 @scr_map_has_str(ptr %t9, ptr %t7)
+ store i1 %t10, ptr %s11
+ br i1 %t10, label %log.j3, label %log.r2
+log.r2:
+ %t12 = load ptr, ptr %sc_l_k_0
+ %t13 = call zeroext i1 @sc_streq_4006719217465510(ptr %t12)
+ store i1 %t13, ptr %s14
+ br i1 %t13, label %log.j5, label %log.r4
+log.r4:
+ %t15 = load ptr, ptr %sc_l_k_0
+ %t16 = call zeroext i1 @sc_streq_442512110453159(ptr %t15)
+ store i1 %t16, ptr %s14
+ br label %log.j5
+log.j5:
+ %t17 = load i1, ptr %s14
+ store i1 %t17, ptr %s18
+ br i1 %t17, label %log.j7, label %log.r6
+log.r6:
+ %t19 = load ptr, ptr %sc_l_k_0
+ %t20 = call zeroext i1 @sc_streq_3044709983387393(ptr %t19)
+ store i1 %t20, ptr %s18
+ br label %log.j7
+log.j7:
+ %t21 = load i1, ptr %s18
+ store i1 %t21, ptr %s22
+ br i1 %t21, label %log.j9, label %log.r8
+log.r8:
+ %t23 = load ptr, ptr %sc_l_k_0
+ %t24 = call zeroext i1 @sc_streq_4327941486179142(ptr %t23)
+ store i1 %t24, ptr %s22
+ br label %log.j9
+log.j9:
+ %t25 = load i1, ptr %s22
+ store i1 %t25, ptr %s26
+ br i1 %t25, label %log.j11, label %log.r10
+log.r10:
+ %t27 = load ptr, ptr %sc_l_k_0
+ %t28 = call zeroext i1 @sc_streq_900273229759677(ptr %t27)
+ store i1 %t28, ptr %s26
+ br label %log.j11
+log.j11:
+ %t29 = load i1, ptr %s26
+ store i1 %t29, ptr %s30
+ br i1 %t29, label %log.j13, label %log.r12
+log.r12:
+ %t31 = load ptr, ptr %sc_l_k_0
+ %t32 = call zeroext i1 @sc_streq_2545601642886305(ptr %t31)
+ store i1 %t32, ptr %s30
+ br label %log.j13
+log.j13:
+ %t33 = load i1, ptr %s30
+ store i1 %t33, ptr %s34
+ br i1 %t33, label %log.j15, label %log.r14
+log.r14:
+ %t35 = load ptr, ptr %sc_l_k_0
+ %t36 = call zeroext i1 @sc_streq_3038471479600896(ptr %t35)
+ store i1 %t36, ptr %s34
+ br label %log.j15
+log.j15:
+ %t37 = load i1, ptr %s34
+ store i1 %t37, ptr %s38
+ br i1 %t37, label %log.j17, label %log.r16
+log.r16:
+ %t39 = load ptr, ptr %sc_l_k_0
+ %t40 = call zeroext i1 @sc_streq_327813112294278(ptr %t39)
+ store i1 %t40, ptr %s38
+ br label %log.j17
+log.j17:
+ %t41 = load i1, ptr %s38
+ store i1 %t41, ptr %s42
+ br i1 %t41, label %log.j19, label %log.r18
+log.r18:
+ %t43 = load ptr, ptr %sc_l_k_0
+ %t44 = call zeroext i1 @sc_streq_3302186402337583(ptr %t43)
+ store i1 %t44, ptr %s42
+ br label %log.j19
+log.j19:
+ %t45 = load i1, ptr %s42
+ store i1 %t45, ptr %s46
+ br i1 %t45, label %log.j21, label %log.r20
+log.r20:
+ %t47 = load ptr, ptr %sc_l_k_0
+ %t48 = call zeroext i1 @sc_streq_2653701574536716(ptr %t47)
+ store i1 %t48, ptr %s46
+ br label %log.j21
+log.j21:
+ %t49 = load i1, ptr %s46
+ store i1 %t49, ptr %s50
+ br i1 %t49, label %log.j23, label %log.r22
+log.r22:
+ %t51 = load ptr, ptr %sc_l_k_0
+ %t52 = call zeroext i1 @sc_streq_860002567067755(ptr %t51)
+ store i1 %t52, ptr %s50
+ br label %log.j23
+log.j23:
+ %t53 = load i1, ptr %s50
+ store i1 %t53, ptr %s54
+ br i1 %t53, label %log.j25, label %log.r24
+log.r24:
+ %t55 = load ptr, ptr %sc_l_k_0
+ %t56 = call zeroext i1 @sc_streq_619980451361384(ptr %t55)
+ store i1 %t56, ptr %s54
+ br label %log.j25
+log.j25:
+ %t57 = load i1, ptr %s54
+ store i1 %t57, ptr %s58
+ br i1 %t57, label %log.r26, label %log.j27
+log.r26:
+ %t59 = load ptr, ptr %sc_l_r_0
+ %t60 = call ptr @sc_rretain_r12(ptr %t59)
+ %t63 = getelementptr inbounds %sc_rs_r12, ptr %t60, i64 0, i32 1
+ %t64 = load ptr, ptr %t63
+ %t65 = getelementptr inbounds i8, ptr %t64, i64 11
+ %t61 = load i8, ptr %t65
+ %t62 = icmp ne i8 %t61, 0
+ %t66 = xor i1 %t62, true
+ store i1 %t66, ptr %s58
+ call void @sc_rrelease_r12(ptr %t60)
+ br label %log.j27
+log.j27:
+ %t67 = load i1, ptr %s58
+ store i1 %t67, ptr %s11
+ br label %log.j3
+log.j3:
+ %t68 = load i1, ptr %s11
+ call void @sc_rrelease_r12(ptr %t5)
+ call void @scr_str_release(ptr %t7)
+ ret i1 %t68
+}
+define internal i1 @sc_f__x25_rec_haskey_0(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_rec_haskey_0(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @sc_rrelease_r12(ptr %p1)
+ ret i1 %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_8(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.8
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @sc_rretain_r11(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_8(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_8(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_union_retag_4(ptr %p_sc_l_u_0) #0 { ; %union.retag.4
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_retag_4(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_retag_4(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r11(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_rrelease_r11(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_9(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.9
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @scr_closure_retain_v(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ %t62 = call ptr @scr_union_new_ref(i32 0, ptr %t61, ptr @scr_closure_retain_v, ptr @scr_closure_release_v, ptr @scr_closure_trace_v)
+ store ptr %t62, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr @sc_unit_8, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t63 = load ptr, ptr %s29
+ ret ptr %t63
+}
+define internal ptr @sc_f__x25_arr_idxOr_9(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_9(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_fn30(ptr %sc_env) #0 { ; %fn30
+entry:
+ %sc_l_mws_0 = alloca ptr ; mws
+ %sc_l_i_0 = alloca ptr ; i
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_outerNext_0 = alloca ptr ; outerNext
+ %sc_l_mws_1 = alloca ptr ; mws
+ %sc_l_i_1 = alloca double ; i
+ %sc_l_c_1 = alloca ptr ; c
+ %sc_l_outerNext_1 = alloca ptr ; outerNext
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_mws_1
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %sc_l_outerNext_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_mws_0 ; captured mws
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_i_0 ; captured i
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_c_0 ; captured c
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_outerNext_0 ; captured outerNext
+ %t12 = call ptr @llvm.stacksave.p0()
+ %t13 = load ptr, ptr @scr_stack_guard
+ %t14 = icmp ult ptr %t12, %t13
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t16 = load ptr, ptr %sc_l_mws_0
+ %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5
+ %t18 = load ptr, ptr %t17
+ store ptr %t18, ptr %sc_l_mws_1
+ %t19 = load ptr, ptr %sc_l_i_0
+ %t21 = getelementptr inbounds %ScrBox, ptr %t19, i32 0, i32 5
+ %t20 = load double, ptr %t21
+ store double %t20, ptr %sc_l_i_1
+ %t22 = load ptr, ptr %sc_l_c_0
+ %t23 = getelementptr inbounds %ScrBox, ptr %t22, i32 0, i32 5
+ %t24 = load ptr, ptr %t23
+ store ptr %t24, ptr %sc_l_c_1
+ %t25 = load ptr, ptr %sc_l_outerNext_0
+ %t26 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %sc_l_outerNext_1
+ %t28 = load ptr, ptr %sc_l_mws_1
+ %t29 = load double, ptr %sc_l_i_1
+ %t30 = fadd double %t29, 0x3FF0000000000000
+ %t31 = load ptr, ptr %sc_l_c_1
+ %t32 = load ptr, ptr %sc_l_outerNext_1
+ %t33 = call ptr @sc_bf__x25_m5_runPrefixed(ptr %t28, double %t30, ptr %t31, ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t33)
+ ret ptr null
+exc.k3:
+ ret ptr %t33
+}
+
+define internal ptr @sc_f__x25_fn32(ptr %sc_env) #0 { ; %fn32
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_inner_0 = alloca ptr ; inner
+ %sc_l_c_1 = alloca ptr ; c
+ %sc_l_inner_1 = alloca ptr ; inner
+ %s13 = alloca %ScrUnion
+ %s14 = getelementptr inbounds %ScrUnion, ptr %s13, i32 0, i32 1
+ %s15 = getelementptr inbounds %ScrUnion, ptr %s13, i32 0, i32 5
+ %s16 = alloca ptr
+ %s23 = alloca ptr
+ %s37 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %sc_l_inner_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_c_0 ; captured c
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_inner_0 ; captured inner
+ %t6 = call ptr @llvm.stacksave.p0()
+ %t7 = load ptr, ptr @scr_stack_guard
+ %t8 = icmp ult ptr %t6, %t7
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t10 = load ptr, ptr %sc_l_c_0
+ %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5
+ %t12 = load ptr, ptr %t11
+ store ptr %t12, ptr %sc_l_c_1
+ store ptr null, ptr %s16
+ %t17 = load ptr, ptr %sc_l_inner_0
+ %t18 = getelementptr inbounds %ScrBox, ptr %t17, i32 0, i32 5
+ %t19 = load ptr, ptr %t18
+ %t21 = getelementptr inbounds %ScrUnion, ptr %t19, i64 0, i32 1
+ %t20 = load i32, ptr %t21
+ store ptr null, ptr %s23
+ %t22 = icmp eq i32 %t20, 0
+ br i1 %t22, label %union.copy.ref2, label %union.copy.join3
+union.copy.ref2:
+ %t24 = getelementptr inbounds %ScrUnion, ptr %t19, i64 0, i32 5
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @scr_closure_retain_v(ptr %t25)
+ store ptr %t26, ptr %s23
+ br label %union.copy.join3
+union.copy.join3:
+ %t27 = load ptr, ptr %s23
+ %t29 = getelementptr inbounds %ScrUnion, ptr %t19, i64 0, i32 1
+ %t28 = load i32, ptr %t29
+ %t30 = getelementptr inbounds %ScrUnion, ptr %t19, i32 0, i32 5
+ %t31 = load i64, ptr %t30
+ store i32 %t28, ptr %s14
+ store i64 %t31, ptr %s15
+ %t32 = load ptr, ptr %s16
+ store ptr %t27, ptr %s16
+ call void @scr_closure_release(ptr %t32)
+ store ptr %s13, ptr %sc_l_inner_1
+ %t33 = load ptr, ptr %sc_l_inner_1
+ %t36 = getelementptr inbounds %ScrUnion, ptr %t33, i64 0, i32 1
+ %t35 = load i32, ptr %t36
+ %t34 = icmp eq i32 %t35, 1
+ br i1 %t34, label %read.then4, label %read.else5
+read.then4:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_3089543219260295)
+ br label %exc.cleanup7
+exc.dead8:
+ store ptr null, ptr %s37
+ br label %read.join6
+read.else5:
+ %t38 = load ptr, ptr %sc_l_inner_1
+ %t39 = getelementptr inbounds %ScrUnion, ptr %t38, i64 0, i32 5
+ %t40 = load ptr, ptr %t39
+ store ptr %t40, ptr %s37
+ br label %read.join6
+read.join6:
+ %t41 = load ptr, ptr %s37
+ %t42 = load ptr, ptr %sc_l_c_1
+ %t43 = getelementptr inbounds %ScrClosure, ptr %t41, i64 0, i32 1
+ %t44 = load ptr, ptr %t43
+ %t45 = getelementptr inbounds %ScrClosure, ptr %t41, i64 0, i32 7
+ %t46 = load ptr, ptr %t45
+ %t47 = icmp ne ptr %t46, null
+ br i1 %t47, label %callback.lend9, label %callback.own10
+callback.lend9:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t48 = call ptr %t46(ptr %t41, ptr %t42)
+ call void @scr_dyn_this_pop()
+ br label %callback.done11
+callback.own10:
+ %t49 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t42)
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t50 = call ptr %t44(ptr %t41, ptr %t49)
+ call void @scr_dyn_this_pop()
+ br label %callback.done11
+callback.done11:
+ %t51 = phi ptr [ %t48, %callback.lend9 ], [ %t50, %callback.own10 ]
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t51)
+ br label %exc.cleanup7
+exc.k13:
+ %t55 = load ptr, ptr %s16
+ call void @scr_closure_release(ptr %t55)
+ ret ptr %t51
+exc.cleanup7:
+ %t56 = load ptr, ptr %s16
+ call void @scr_closure_release(ptr %t56)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_fn31(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn31
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_fn_0 = alloca ptr ; fn
+ %sc_l_inner_0 = alloca ptr ; inner
+ %sc_l_fn_1 = alloca ptr ; fn
+ %s6 = alloca ptr ; lazy box c
+ %s11 = alloca %ScrUnion
+ %s12 = getelementptr inbounds %ScrUnion, ptr %s11, i32 0, i32 1
+ %s13 = getelementptr inbounds %ScrUnion, ptr %s11, i32 0, i32 5
+ %s14 = alloca ptr
+ %s21 = alloca ptr
+ %s35 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_fn_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_fn_0 ; captured fn
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_inner_0 ; captured inner
+ store ptr null, ptr %s6
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t7 = call ptr @llvm.stacksave.p0()
+ %t8 = load ptr, ptr @scr_stack_guard
+ %t9 = icmp ult ptr %t7, %t8
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ store ptr null, ptr %s14
+ %t15 = load ptr, ptr %sc_l_fn_0
+ %t16 = getelementptr inbounds %ScrBox, ptr %t15, i32 0, i32 5
+ %t17 = load ptr, ptr %t16
+ %t19 = getelementptr inbounds %ScrUnion, ptr %t17, i64 0, i32 1
+ %t18 = load i32, ptr %t19
+ store ptr null, ptr %s21
+ %t20 = icmp eq i32 %t18, 0
+ br i1 %t20, label %union.copy.ref3, label %union.copy.join4
+union.copy.ref3:
+ %t22 = getelementptr inbounds %ScrUnion, ptr %t17, i64 0, i32 5
+ %t23 = load ptr, ptr %t22
+ %t24 = call ptr @scr_closure_retain_v(ptr %t23)
+ store ptr %t24, ptr %s21
+ br label %union.copy.join4
+union.copy.join4:
+ %t25 = load ptr, ptr %s21
+ %t27 = getelementptr inbounds %ScrUnion, ptr %t17, i64 0, i32 1
+ %t26 = load i32, ptr %t27
+ %t28 = getelementptr inbounds %ScrUnion, ptr %t17, i32 0, i32 5
+ %t29 = load i64, ptr %t28
+ store i32 %t26, ptr %s12
+ store i64 %t29, ptr %s13
+ %t30 = load ptr, ptr %s14
+ store ptr %t25, ptr %s14
+ call void @scr_closure_release(ptr %t30)
+ store ptr %s11, ptr %sc_l_fn_1
+ %t31 = load ptr, ptr %sc_l_fn_1
+ %t34 = getelementptr inbounds %ScrUnion, ptr %t31, i64 0, i32 1
+ %t33 = load i32, ptr %t34
+ %t32 = icmp eq i32 %t33, 1
+ br i1 %t32, label %read.then5, label %read.else6
+read.then5:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_1111686955211598)
+ br label %exc.cleanup8
+exc.dead9:
+ store ptr null, ptr %s35
+ br label %read.join7
+read.else6:
+ %t36 = load ptr, ptr %sc_l_fn_1
+ %t37 = getelementptr inbounds %ScrUnion, ptr %t36, i64 0, i32 5
+ %t38 = load ptr, ptr %t37
+ store ptr %t38, ptr %s35
+ br label %read.join7
+read.join7:
+ %t39 = load ptr, ptr %s35
+ %t40 = load ptr, ptr %sc_l_c_0
+ %t41 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t40)
+ %t42 = call ptr @scr_closure_new(ptr @sc_f__x25_fn32, i64 2)
+ %t43 = getelementptr inbounds %ScrClosure, ptr %t42, i64 0, i32 4
+ store i32 4, ptr %t43
+ %t44 = load ptr, ptr %s6
+ %t45 = icmp eq ptr %t44, null
+ br i1 %t45, label %lazy.box10, label %lazy.box.j11
+lazy.box10:
+ %t46 = call ptr @scr_box_new_obj(ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_trace__x25_m5_CtxCore)
+ %t47 = load ptr, ptr %sc_l_c_0
+ %t48 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t47)
+ call void @scr_box_set_ref(ptr %t46, ptr %t48)
+ store ptr %t46, ptr %s6
+ br label %lazy.box.j11
+lazy.box.j11:
+ %t49 = load ptr, ptr %s6
+ %t50 = call ptr @sc_retain_box(ptr %t49)
+ %t51 = getelementptr inbounds %ScrClosure, ptr %t42, i64 1 ; caps
+ %t52 = getelementptr inbounds ptr, ptr %t51, i64 0 ; caps[0]
+ store ptr %t50, ptr %t52
+ %t53 = load ptr, ptr %sc_l_inner_0
+ %t54 = call ptr @sc_retain_box(ptr %t53)
+ %t55 = getelementptr inbounds %ScrClosure, ptr %t42, i64 1 ; caps
+ %t56 = getelementptr inbounds ptr, ptr %t55, i64 1 ; caps[1]
+ store ptr %t54, ptr %t56
+ %t57 = getelementptr inbounds %ScrClosure, ptr %t39, i64 0, i32 1
+ %t58 = load ptr, ptr %t57
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t59 = call ptr %t58(ptr %t39, ptr %t41, ptr %t42)
+ call void @scr_dyn_this_pop()
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t59)
+ br label %exc.cleanup8
+exc.k13:
+ %t63 = load ptr, ptr %s6
+ %t64 = icmp ne ptr %t63, null
+ br i1 %t64, label %lazy.release14, label %lazy.release.j15
+lazy.release14:
+ call void @scr_box_release(ptr %t63)
+ br label %lazy.release.j15
+lazy.release.j15:
+ %t65 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t65)
+ %t66 = load ptr, ptr %s14
+ call void @scr_closure_release(ptr %t66)
+ ret ptr %t59
+exc.cleanup2:
+ %t67 = load ptr, ptr %s6
+ %t68 = icmp ne ptr %t67, null
+ br i1 %t68, label %lazy.release16, label %lazy.release.j17
+lazy.release16:
+ call void @scr_box_release(ptr %t67)
+ br label %lazy.release.j17
+lazy.release.j17:
+ %t69 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t69)
+ ret ptr null
+exc.cleanup8:
+ %t70 = load ptr, ptr %s6
+ %t71 = icmp ne ptr %t70, null
+ br i1 %t71, label %lazy.release18, label %lazy.release.j19
+lazy.release18:
+ call void @scr_box_release(ptr %t70)
+ br label %lazy.release.j19
+lazy.release.j19:
+ %t72 = load ptr, ptr %sc_l_c_0
+ call void @sc_release__x25_m5_CtxCore(ptr %t72)
+ %t73 = load ptr, ptr %s14
+ call void @scr_closure_release(ptr %t73)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_union_narrow_6(ptr %p_sc_l_u_0) #0 { ; %union.narrow.6
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1
+ %t2 = load i32, ptr %t3
+ %t1 = icmp eq i32 %t2, 0
+ br i1 %t1, label %if.t0, label %if.j1
+if.t0:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t5 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 5
+ %t6 = load ptr, ptr %t5
+ %t7 = call ptr @scr_closure_retain_v(ptr %t6)
+ ret ptr %t7
+if.j1:
+ %t8 = load ptr, ptr %sc_l_u_0
+ %t11 = getelementptr inbounds %ScrUnion, ptr %t8, i64 0, i32 1
+ %t10 = load i32, ptr %t11
+ %t9 = icmp eq i32 %t10, 1
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t12 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t12, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_6(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_union_narrow_6(ptr %p0)
+ call void @scr_union_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_10(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.10
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @sc_rretain_r17(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_10(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_10(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_11(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.11
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @sc_rretain_r5(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_11(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_11(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_12(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.12
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @scr_arr_retain_v(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_12(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_12(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_13(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.13
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @sc_rc_retain_str(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_13(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_13(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal double @sc_f__x25_unit_strand_5() #0 { ; %unit.strand.5
+entry:
+ %t0 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2215425661348163)
+ call void @scr_throw_obj(ptr %t0, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret double 0x0000000000000000
+}
+
+define internal ptr @sc_bf__x25_rec_width_1(ptr %p_sc_l_r_0) #0 { ; %rec.width.1
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %s14 = alloca %ScrUnion
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = call ptr @sc_rnew_r17()
+ %t1 = load ptr, ptr %sc_l_r_0
+ %t2 = getelementptr inbounds %sc_rs_r25, ptr %t1, i64 0, i32 1
+ %t3 = load ptr, ptr %t2
+ %t4 = call ptr @sc_rc_retain_str(ptr %t3)
+ %t5 = getelementptr inbounds %sc_rs_r17, ptr %t0, i64 0, i32 1
+ store ptr %t4, ptr %t5
+ %t6 = load ptr, ptr %sc_l_r_0
+ %t7 = getelementptr inbounds %sc_rs_r25, ptr %t6, i64 0, i32 2
+ %t8 = getelementptr inbounds { i32, i64 }, ptr %t7, i32 0, i32 0
+ %t10 = load i32, ptr %t8
+ %t9 = getelementptr inbounds { i32, i64 }, ptr %t7, i32 0, i32 1
+ %t11 = load i64, ptr %t9
+ %t12 = icmp eq i32 %t10, 1
+ %t13 = select i1 %t12, i64 0, i64 %t11
+ store i64 -1, ptr %s14
+ %t15 = getelementptr inbounds %ScrUnion, ptr %s14, i64 0, i32 1
+ store i32 %t10, ptr %t15
+ %t16 = getelementptr inbounds %ScrUnion, ptr %s14, i64 0, i32 5
+ store i64 %t13, ptr %t16
+ %t17 = call double @sc_bf__x25_union_narrow_1(ptr %s14)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rrelease_r17(ptr %t0)
+ ret ptr null
+exc.k1:
+ %t21 = getelementptr inbounds %sc_rs_r17, ptr %t0, i64 0, i32 2
+ store double %t17, ptr %t21
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_rec_width_1(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_rec_width_1(ptr %p0)
+ call void @sc_rrelease_r25(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_fn33(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn33
+entry:
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_resolve_0
+ %t5 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t6(ptr %t4, i1 false)
+ call void @scr_dyn_this_pop()
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ ret void
+exc.k3:
+ ret void
+}
+define internal void @sc_f__x25_fn33(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn33(ptr %sc_env, ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_headers_snapshot_2(ptr %p_sc_l_r_0) #0 { ; %headers.snapshot.2
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_ps_0 = alloca ptr ; ps
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca double ; i
+ store ptr null, ptr %sc_l_ps_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_r_0
+ %t5 = call ptr @scr_http_req_retain_v(ptr %t4)
+ %t6 = call ptr @scr_http_req_header_pairs(ptr %t5)
+ store ptr %t6, ptr %sc_l_ps_0
+ call void @scr_http_req_release(ptr %t5)
+ %t7 = call ptr @sc_rnew_r26()
+ store ptr %t7, ptr %sc_l_out_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t8 = load double, ptr %sc_l_i_0
+ %t9 = load ptr, ptr %sc_l_ps_0
+ %t10 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1
+ %t11 = load i64, ptr %t10, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t12 = sitofp i64 %t11 to double
+ %t14 = fptosi double %t12 to i64
+ %t13 = fcmp olt double %t8, %t12
+ br i1 %t13, label %loop.b4, label %loop.e2
+loop.b4:
+ %t15 = load ptr, ptr %sc_l_out_0
+ %t16 = call ptr @sc_rretain_r26(ptr %t15)
+ %t17 = load ptr, ptr %sc_l_ps_0
+ %t18 = load double, ptr %sc_l_i_0
+ %t19 = fptosi double %t18 to i64
+ %t21 = freeze i64 %t19
+ %t20 = sitofp i64 %t21 to double
+ %t22 = fcmp oeq double %t20, %t18
+ %t27 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8
+ %t28 = load ptr, ptr %t27, !tbaa !2
+ %t23 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1
+ %t24 = load i64, ptr %t23, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t25 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2
+ %t26 = load i64, ptr %t25, !tbaa !2
+ %t29 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9
+ %t30 = load ptr, ptr %t29, !tbaa !2
+ %t31 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6
+ %t32 = load i32, ptr %t31, !tbaa !2
+ %t33 = zext i32 %t32 to i64
+ %t34 = icmp ult i64 %t21, %t33
+ %t35 = and i1 %t22, %t34
+ br i1 %t35, label %arr.get.value8, label %arr.check9
+arr.check9:
+ %t36 = icmp ult i64 %t21, %t26
+ %t37 = icmp ult i64 %t21, %t24
+ %t38 = and i1 %t22, %t36
+ %t39 = and i1 %t38, %t37
+ br i1 %t39, label %arr.dense10, label %arr.get.slow6
+arr.dense10:
+ %t40 = getelementptr inbounds i8, ptr %t30, i64 %t21
+ %t41 = load i8, ptr %t40, !tbaa !4
+ %t42 = icmp eq i8 %t41, 1
+ br i1 %t42, label %arr.get.value8, label %arr.get.slow6
+arr.get.value8:
+ %t43 = getelementptr inbounds i64, ptr %t28, i64 %t21
+ %t44 = load ptr, ptr %t43, !tbaa !6
+ %t45 = icmp ne ptr %t44, null
+ br i1 %t45, label %arr.get.ref11, label %arr.get.slow6
+arr.get.ref11:
+ %t46 = call ptr @sc_rc_retain_str(ptr %t44)
+ br label %arr.get.join7
+arr.get.slow6:
+ %t47 = call ptr @scr_arr_get_ref(ptr %t17, double %t18) cold
+ br label %arr.get.join7
+arr.get.join7:
+ %t48 = phi ptr [ %t46, %arr.get.ref11 ], [ %t47, %arr.get.slow6 ]
+ %t49 = load ptr, ptr %sc_l_ps_0
+ %t50 = load double, ptr %sc_l_i_0
+ %t51 = fadd double %t50, 0x3FF0000000000000
+ %t52 = fptosi double %t51 to i64
+ %t54 = freeze i64 %t52
+ %t53 = sitofp i64 %t54 to double
+ %t55 = fcmp oeq double %t53, %t51
+ %t60 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 8
+ %t61 = load ptr, ptr %t60, !tbaa !2
+ %t56 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 1
+ %t57 = load i64, ptr %t56, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t58 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 2
+ %t59 = load i64, ptr %t58, !tbaa !2
+ %t62 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 9
+ %t63 = load ptr, ptr %t62, !tbaa !2
+ %t64 = getelementptr inbounds %ScrArr, ptr %t49, i32 0, i32 6
+ %t65 = load i32, ptr %t64, !tbaa !2
+ %t66 = zext i32 %t65 to i64
+ %t67 = icmp ult i64 %t54, %t66
+ %t68 = and i1 %t55, %t67
+ br i1 %t68, label %arr.get.value14, label %arr.check15
+arr.check15:
+ %t69 = icmp ult i64 %t54, %t59
+ %t70 = icmp ult i64 %t54, %t57
+ %t71 = and i1 %t55, %t69
+ %t72 = and i1 %t71, %t70
+ br i1 %t72, label %arr.dense16, label %arr.get.slow12
+arr.dense16:
+ %t73 = getelementptr inbounds i8, ptr %t63, i64 %t54
+ %t74 = load i8, ptr %t73, !tbaa !4
+ %t75 = icmp eq i8 %t74, 1
+ br i1 %t75, label %arr.get.value14, label %arr.get.slow12
+arr.get.value14:
+ %t76 = getelementptr inbounds i64, ptr %t61, i64 %t54
+ %t77 = load ptr, ptr %t76, !tbaa !6
+ %t78 = icmp ne ptr %t77, null
+ br i1 %t78, label %arr.get.ref17, label %arr.get.slow12
+arr.get.ref17:
+ %t79 = call ptr @sc_rc_retain_str(ptr %t77)
+ br label %arr.get.join13
+arr.get.slow12:
+ %t80 = call ptr @scr_arr_get_ref(ptr %t49, double %t51) cold
+ br label %arr.get.join13
+arr.get.join13:
+ %t81 = phi ptr [ %t79, %arr.get.ref17 ], [ %t80, %arr.get.slow12 ]
+ %t82 = getelementptr inbounds %sc_rs_r26, ptr %t16, i64 0, i32 1
+ %t83 = load ptr, ptr %t82
+ call void @scr_map_set_str_ref(ptr %t83, ptr %t48, ptr %t81)
+ br label %rks.j18
+rks.j18:
+ call void @sc_rrelease_r26(ptr %t16)
+ call void @scr_str_release(ptr %t48)
+ br label %loop.u5
+loop.u5:
+ %t84 = load double, ptr %sc_l_i_0
+ %t85 = fadd double %t84, 0x4000000000000000
+ store double %t85, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ %t86 = load ptr, ptr %sc_l_out_0
+ %t87 = load ptr, ptr %sc_l_ps_0
+ call void @scr_arr_release(ptr %t87)
+ ret ptr %t86
+}
+define internal ptr @sc_f__x25_headers_snapshot_2(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_headers_snapshot_2(ptr %p0)
+ call void @scr_http_req_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_fn34(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn34
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_chunks_0 = alloca ptr ; chunks
+ %sc_l_chunks_1 = alloca ptr ; chunks
+ store ptr null, ptr %sc_l_chunks_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_chunks_0 ; captured chunks
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t3 = load ptr, ptr %sc_l_chunks_0
+ %t4 = getelementptr inbounds %ScrBox, ptr %t3, i32 0, i32 5
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_chunks_1
+ %t6 = load ptr, ptr %sc_l_chunks_1
+ %t7 = load ptr, ptr %sc_l_c_0
+ %t8 = call ptr @scr_bytes_retain_v(ptr %t7)
+ %t9 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 1
+ %t10 = load i64, ptr %t9, !tbaa !2
+ %t13 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 2
+ %t11 = load i64, ptr %t13, !tbaa !2
+ %t12 = icmp ult i64 %t10, %t11
+ br i1 %t12, label %arr.push.dense0, label %arr.push.slow1
+arr.push.dense0:
+ %t14 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 8
+ %t16 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 9
+ %t15 = load ptr, ptr %t14, !tbaa !2
+ %t17 = load ptr, ptr %t16, !tbaa !2
+ %t18 = getelementptr inbounds i8, ptr %t17, i64 %t10
+ %t19 = getelementptr inbounds i64, ptr %t15, i64 %t10
+ store ptr %t8, ptr %t19, !tbaa !6
+ store i8 1, ptr %t18, !tbaa !4
+ %t20 = add nuw i64 %t10, 1
+ store i64 %t20, ptr %t9, !tbaa !2
+ %t22 = getelementptr inbounds %ScrArr, ptr %t6, i32 0, i32 6
+ %t23 = load i32, ptr %t22, !tbaa !2
+ %t27 = zext i32 %t23 to i64
+ %t24 = icmp eq i64 %t27, %t10
+ %t25 = add i32 %t23, 1
+ %t26 = select i1 %t24, i32 %t25, i32 %t23
+ store i32 %t26, ptr %t22, !tbaa !2
+ %t21 = sitofp i64 %t20 to double
+ br label %arr.push.join2
+arr.push.slow1:
+ %t28 = call double @scr_arr_push_ref(ptr %t6, ptr %t8) cold
+ br label %arr.push.join2
+arr.push.join2:
+ %t29 = phi double [ %t21, %arr.push.dense0 ], [ %t28, %arr.push.slow1 ]
+ ret void
+}
+define internal void @sc_f__x25_fn34(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn34(ptr %sc_env, ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_fn35(ptr %sc_env) #0 { ; %fn35
+entry:
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_self_1 = alloca ptr ; self
+ store ptr null, ptr %sc_l_self_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_self_0 ; captured self
+ %t3 = load ptr, ptr %sc_l_self_0
+ %t4 = getelementptr inbounds %ScrBox, ptr %t3, i32 0, i32 5
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_self_1
+ %t6 = load ptr, ptr %sc_l_self_1
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 8
+ store double 0x3FF0000000000000, ptr %t7, !tbaa !84
+ ret void
+}
+
+define internal void @sc_f__x25_fn36(ptr %sc_env) #0 { ; %fn36
+entry:
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_self_1 = alloca ptr ; self
+ store ptr null, ptr %sc_l_self_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_self_0 ; captured self
+ %t3 = load ptr, ptr %sc_l_self_0
+ %t4 = getelementptr inbounds %ScrBox, ptr %t3, i32 0, i32 5
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_self_1
+ %t6 = load ptr, ptr %sc_l_self_1
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 8
+ store double 0x3FF0000000000000, ptr %t7, !tbaa !84
+ ret void
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_14(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.14
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @scr_bytes_retain_v(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ %t62 = call ptr @scr_union_new_ref(i32 0, ptr %t61, ptr @scr_bytes_retain_v, ptr @scr_bytes_release_v, ptr null)
+ store ptr %t62, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr @sc_unit_7, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t63 = load ptr, ptr %s29
+ ret ptr %t63
+}
+define internal ptr @sc_f__x25_arr_idxOr_14(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_14(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_f__x25_fn38(ptr %sc_env) #0 { ; %fn38
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_chunks_0 = alloca ptr ; chunks
+ %sc_l_total_0 = alloca double ; total
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv
+ %sc_l_u8_0 = alloca ptr ; u8
+ %sc_l_off_0 = alloca double ; off
+ %sc_l_i_1 = alloca i32 ; i
+ %sc_l__x25_propertyRecv_1 = alloca ptr ; %propertyRecv
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_self_1 = alloca ptr ; self
+ %sc_l_resolve_1 = alloca ptr ; resolve
+ %s23 = alloca i64 ; integer induction i
+ %s36 = alloca %ScrUnion
+ %s37 = getelementptr inbounds %ScrUnion, ptr %s36, i32 0, i32 5
+ %s38 = getelementptr inbounds %ScrUnion, ptr %s36, i32 0, i32 1
+ %s64 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s82 = alloca i64 ; integer induction i
+ %s106 = alloca %ScrUnion
+ %s107 = getelementptr inbounds %ScrUnion, ptr %s106, i32 0, i32 5
+ %s108 = getelementptr inbounds %ScrUnion, ptr %s106, i32 0, i32 1
+ %s134 = alloca ptr
+ store ptr null, ptr %sc_l_chunks_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_0
+ store ptr null, ptr %sc_l_u8_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_1
+ store ptr null, ptr %sc_l_self_1
+ store ptr null, ptr %sc_l_resolve_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_this_0 ; captured this
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_self_0 ; captured self
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_resolve_0 ; captured resolve
+ %t9 = call ptr @llvm.stacksave.p0()
+ %t10 = load ptr, ptr @scr_stack_guard
+ %t11 = icmp ult ptr %t9, %t10
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t13 = load ptr, ptr %sc_l_self_0
+ %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %sc_l_self_1
+ %t16 = load ptr, ptr %sc_l_resolve_0
+ %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5
+ %t18 = load ptr, ptr %t17
+ store ptr %t18, ptr %sc_l_resolve_1
+ %t19 = load ptr, ptr %sc_l_self_1
+ %t20 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t19, i64 0, i32 7
+ %t21 = load ptr, ptr %t20, !tbaa !82
+ %t22 = call ptr @scr_arr_retain_v(ptr %t21)
+ store ptr %t22, ptr %sc_l_chunks_0
+ store double 0x0000000000000000, ptr %sc_l_total_0
+ %t24 = fptosi double 0x0000000000000000 to i64
+ store i64 %t24, ptr %s23
+ br label %loop.c3
+loop.c3:
+ %t25 = load ptr, ptr %sc_l_chunks_0
+ %t26 = getelementptr inbounds %ScrArr, ptr %t25, i64 0, i32 1
+ %t27 = load i64, ptr %t26, !tbaa !2
+ %t28 = load i64, ptr %s23
+ %t29 = icmp ult i64 %t28, %t27
+ br i1 %t29, label %loop.b4, label %loop.e2
+loop.b4:
+ %t30 = load double, ptr %sc_l_total_0
+ %t31 = load ptr, ptr %sc_l_chunks_0
+ %t32 = load i64, ptr %s23
+ %t33 = load i64, ptr %s23
+ %t34 = sitofp i64 %t33 to double
+ %t35 = trunc i64 %t33 to i32
+ %t39 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 2
+ %t40 = load i64, ptr %t39, !tbaa !2
+ %t41 = icmp ult i64 %t32, %t40
+ br i1 %t41, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t42 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 6
+ %t43 = load i32, ptr %t42, !tbaa !2
+ %t45 = zext i32 %t43 to i64
+ %t44 = icmp ult i64 %t32, %t45
+ br i1 %t44, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t46 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 1
+ %t47 = load i64, ptr %t46, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t48 = icmp ult i64 %t32, %t47
+ br i1 %t48, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t49 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 9
+ %t50 = load ptr, ptr %t49, !tbaa !2
+ %t51 = getelementptr inbounds i8, ptr %t50, i64 %t32
+ %t52 = load i8, ptr %t51, !tbaa !4
+ %t53 = icmp eq i8 %t52, 1
+ br i1 %t53, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t54 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 8
+ %t55 = load ptr, ptr %t54, !tbaa !2
+ %t56 = getelementptr inbounds i64, ptr %t55, i64 %t32
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ store ptr %t57, ptr %s37
+ store i32 0, ptr %s38
+ br label %local.array.join8
+local.array.slow6:
+ %t58 = call ptr @scr_arr_peek_ref(ptr %t31, double %t34)
+ %t59 = icmp ne ptr %t58, null
+ br i1 %t59, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ store ptr %t58, ptr %s37
+ store i32 0, ptr %s38
+ br label %local.array.join8
+local.array.missing7:
+ store i64 0, ptr %s37
+ store i32 1, ptr %s38
+ br label %local.array.join8
+local.array.join8:
+ store ptr %s36, ptr %sc_l__x25_propertyRecv_0
+ %t60 = load ptr, ptr %sc_l__x25_propertyRecv_0
+ %t63 = getelementptr inbounds %ScrUnion, ptr %t60, i64 0, i32 1
+ %t62 = load i32, ptr %t63
+ %t61 = icmp eq i32 %t62, 1
+ br i1 %t61, label %tern.t15, label %tern.f16
+tern.t15:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032)
+ br label %exc.cleanup18
+exc.dead19:
+ store ptr null, ptr %s64
+ br label %tern.j17
+tern.f16:
+ %t65 = load ptr, ptr %sc_l__x25_propertyRecv_0
+ %t66 = getelementptr inbounds %ScrUnion, ptr %t65, i64 0, i32 5
+ %t67 = load ptr, ptr %t66
+ %t68 = call ptr @scr_bytes_retain_v(ptr %t67)
+ store ptr %t68, ptr %s64
+ br label %tern.j17
+tern.j17:
+ %t69 = load ptr, ptr %s64
+ %t70 = getelementptr inbounds %ScrBytes, ptr %t69, i64 0, i32 1
+ %t71 = load i64, ptr %t70
+ %t72 = sitofp i64 %t71 to double
+ %t74 = fptosi double %t72 to i64
+ %t73 = fadd double %t30, %t72
+ store double %t73, ptr %sc_l_total_0
+ call void @scr_bytes_release(ptr %t69)
+ br label %loop.u5
+loop.u5:
+ %t75 = load i64, ptr %s23
+ %t76 = add nuw i64 %t75, 1
+ store i64 %t76, ptr %s23
+ br label %loop.c3
+loop.e2:
+ %t77 = load double, ptr %sc_l_total_0
+ %t78 = call ptr @scr_bytes_new(i32 0, double %t77)
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_bytes_release(ptr %t78)
+ br label %exc.cleanup18
+exc.k21:
+ store ptr %t78, ptr %sc_l_u8_0
+ store double 0x0000000000000000, ptr %sc_l_off_0
+ %t83 = fptosi double 0x0000000000000000 to i64
+ store i64 %t83, ptr %s82
+ br label %loop.c23
+loop.c23:
+ %t84 = load ptr, ptr %sc_l_chunks_0
+ %t85 = getelementptr inbounds %ScrArr, ptr %t84, i64 0, i32 1
+ %t86 = load i64, ptr %t85, !tbaa !2
+ %t87 = load i64, ptr %s82
+ %t88 = icmp ult i64 %t87, %t86
+ br i1 %t88, label %loop.b24, label %loop.e22
+loop.b24:
+ %t89 = load ptr, ptr %sc_l_u8_0
+ %t90 = load ptr, ptr %sc_l_chunks_0
+ %t91 = load i64, ptr %s82
+ %t92 = sitofp i64 %t91 to double
+ %t93 = trunc i64 %t91 to i32
+ %t94 = call ptr @sc_bf__x25_arr_idxOr_14(ptr %t90, double %t92)
+ %t95 = call ptr @sc_td_50(ptr %t94)
+ %t96 = load double, ptr %sc_l_off_0
+ call void @scr_bytes_set_from_dyn(ptr %t89, ptr %t95, double %t96)
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_union_release(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ br label %exc.cleanup28
+exc.k27:
+ call void @scr_union_release(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ %t100 = load double, ptr %sc_l_off_0
+ %t101 = load ptr, ptr %sc_l_chunks_0
+ %t102 = load i64, ptr %s82
+ %t103 = load i64, ptr %s82
+ %t104 = sitofp i64 %t103 to double
+ %t105 = trunc i64 %t103 to i32
+ %t109 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 2
+ %t110 = load i64, ptr %t109, !tbaa !2
+ %t111 = icmp ult i64 %t102, %t110
+ br i1 %t111, label %local.array.range32, label %local.array.slow29
+local.array.range32:
+ br label %local.array.dense33
+local.array.dense33:
+ %t112 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 6
+ %t113 = load i32, ptr %t112, !tbaa !2
+ %t115 = zext i32 %t113 to i64
+ %t114 = icmp ult i64 %t102, %t115
+ br i1 %t114, label %local.array.value35, label %local.array.len34
+local.array.len34:
+ %t116 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 1
+ %t117 = load i64, ptr %t116, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t118 = icmp ult i64 %t102, %t117
+ br i1 %t118, label %local.array.state36, label %local.array.missing30
+local.array.state36:
+ %t119 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 9
+ %t120 = load ptr, ptr %t119, !tbaa !2
+ %t121 = getelementptr inbounds i8, ptr %t120, i64 %t102
+ %t122 = load i8, ptr %t121, !tbaa !4
+ %t123 = icmp eq i8 %t122, 1
+ br i1 %t123, label %local.array.value35, label %local.array.missing30
+local.array.value35:
+ %t124 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 8
+ %t125 = load ptr, ptr %t124, !tbaa !2
+ %t126 = getelementptr inbounds i64, ptr %t125, i64 %t102
+ %t127 = load ptr, ptr %t126, !tbaa !6
+ store ptr %t127, ptr %s107
+ store i32 0, ptr %s108
+ br label %local.array.join31
+local.array.slow29:
+ %t128 = call ptr @scr_arr_peek_ref(ptr %t101, double %t104)
+ %t129 = icmp ne ptr %t128, null
+ br i1 %t129, label %local.array.slow.value37, label %local.array.missing30
+local.array.slow.value37:
+ store ptr %t128, ptr %s107
+ store i32 0, ptr %s108
+ br label %local.array.join31
+local.array.missing30:
+ store i64 0, ptr %s107
+ store i32 1, ptr %s108
+ br label %local.array.join31
+local.array.join31:
+ store ptr %s106, ptr %sc_l__x25_propertyRecv_1
+ %t130 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ %t133 = getelementptr inbounds %ScrUnion, ptr %t130, i64 0, i32 1
+ %t132 = load i32, ptr %t133
+ %t131 = icmp eq i32 %t132, 1
+ br i1 %t131, label %tern.t38, label %tern.f39
+tern.t38:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032)
+ br label %exc.cleanup28
+exc.dead41:
+ store ptr null, ptr %s134
+ br label %tern.j40
+tern.f39:
+ %t135 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ %t136 = getelementptr inbounds %ScrUnion, ptr %t135, i64 0, i32 5
+ %t137 = load ptr, ptr %t136
+ %t138 = call ptr @scr_bytes_retain_v(ptr %t137)
+ store ptr %t138, ptr %s134
+ br label %tern.j40
+tern.j40:
+ %t139 = load ptr, ptr %s134
+ %t140 = getelementptr inbounds %ScrBytes, ptr %t139, i64 0, i32 1
+ %t141 = load i64, ptr %t140
+ %t142 = sitofp i64 %t141 to double
+ %t144 = fptosi double %t142 to i64
+ %t143 = fadd double %t100, %t142
+ store double %t143, ptr %sc_l_off_0
+ call void @scr_bytes_release(ptr %t139)
+ br label %loop.u25
+loop.u25:
+ %t145 = load i64, ptr %s82
+ %t146 = add nuw i64 %t145, 1
+ store i64 %t146, ptr %s82
+ br label %loop.c23
+loop.e22:
+ %t147 = load ptr, ptr %sc_l_resolve_1
+ %t148 = load ptr, ptr %sc_l_u8_0
+ %t149 = call ptr @scr_array_buffer_from_bytes(ptr %t148)
+ %t150 = getelementptr inbounds %ScrClosure, ptr %t147, i64 0, i32 1
+ %t151 = load ptr, ptr %t150
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t151(ptr %t147, ptr %t149)
+ call void @scr_dyn_this_pop()
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u42, label %exc.k43
+exc.u42:
+ br label %exc.cleanup28
+exc.k43:
+ %t155 = load ptr, ptr %sc_l_chunks_0
+ call void @scr_arr_release(ptr %t155)
+ %t156 = load ptr, ptr %sc_l_u8_0
+ call void @scr_bytes_release(ptr %t156)
+ ret void
+exc.cleanup18:
+ %t157 = load ptr, ptr %sc_l_chunks_0
+ call void @scr_arr_release(ptr %t157)
+ ret void
+exc.cleanup28:
+ %t158 = load ptr, ptr %sc_l_chunks_0
+ call void @scr_arr_release(ptr %t158)
+ %t159 = load ptr, ptr %sc_l_u8_0
+ call void @scr_bytes_release(ptr %t159)
+ ret void
+}
+
+define internal void @sc_f__x25_fn39(ptr %sc_env) #0 { ; %fn39
+entry:
+ %sc_l_finish_0 = alloca ptr ; finish
+ %sc_l_finish_1 = alloca ptr ; finish
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_finish_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_finish_0 ; captured finish
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_finish_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_finish_1
+ %t10 = load ptr, ptr %sc_l_finish_1
+ %t11 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1
+ %t12 = load ptr, ptr %t11
+ %t13 = icmp eq ptr %t12, @sc_f__x25_fn38
+ br i1 %t13, label %callback.direct2, label %callback.indirect3
+callback.direct2:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void @sc_f__x25_fn38(ptr %t10)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.indirect3:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t12(ptr %t10)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.done4:
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u5, label %exc.k6
+exc.u5:
+ ret void
+exc.k6:
+ ret void
+}
+
+define internal void @sc_bf__x25_fn40(ptr %sc_env, ptr %p_sc_l_e_0) #0 { ; %fn40
+entry:
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l_reject_0 = alloca ptr ; reject
+ %sc_l_reject_1 = alloca ptr ; reject
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_reject_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_reject_0 ; captured reject
+ store ptr %p_sc_l_e_0, ptr %sc_l_e_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_reject_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_reject_1
+ %t10 = load ptr, ptr %sc_l_reject_1
+ %t11 = load ptr, ptr %sc_l_e_0
+ %t12 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 7
+ %t15 = load ptr, ptr %t14
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %callback.lend2, label %callback.own3
+callback.lend2:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t15(ptr %t10, ptr %t11)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.own3:
+ %t17 = call ptr @scr_error_retain_v(ptr %t11)
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t13(ptr %t10, ptr %t17)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.done4:
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u5, label %exc.k6
+exc.u5:
+ ret void
+exc.k6:
+ ret void
+}
+define internal void @sc_f__x25_fn40(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn40(ptr %sc_env, ptr %p0)
+ call void @scr_error_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_fn37(ptr %sc_env, ptr %p_sc_l_resolve_0, ptr %p_sc_l_reject_0) #0 { ; %fn37
+entry:
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_reject_0 = alloca ptr ; reject
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_finish_0 = alloca ptr ; finish
+ %sc_l_im_0 = alloca ptr ; im
+ %sc_l_self_1 = alloca ptr ; self
+ %sc_l_finish_1 = alloca ptr ; finish
+ %sc_l_im_1 = alloca ptr ; im
+ %s9 = alloca ptr ; lazy box resolve
+ %s10 = alloca ptr ; lazy box reject
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_finish_0
+ store ptr null, ptr %sc_l_self_1
+ store ptr null, ptr %sc_l_finish_1
+ store ptr null, ptr %sc_l_im_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_this_0 ; captured this
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_self_0 ; captured self
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_im_0 ; captured im
+ store ptr null, ptr %s9
+ store ptr null, ptr %s10
+ store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0
+ store ptr %p_sc_l_reject_0, ptr %sc_l_reject_0
+ %t11 = call ptr @llvm.stacksave.p0()
+ %t12 = load ptr, ptr @scr_stack_guard
+ %t13 = icmp ult ptr %t11, %t12
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t15 = load ptr, ptr %sc_l_self_0
+ %t16 = getelementptr inbounds %ScrBox, ptr %t15, i32 0, i32 5
+ %t17 = load ptr, ptr %t16
+ store ptr %t17, ptr %sc_l_self_1
+ %t18 = load ptr, ptr %sc_l_im_0
+ %t19 = getelementptr inbounds %ScrBox, ptr %t18, i32 0, i32 5
+ %t20 = load ptr, ptr %t19
+ store ptr %t20, ptr %sc_l_im_1
+ %t21 = call ptr @scr_closure_new(ptr @sc_f__x25_fn38, i64 3)
+ %t22 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ store i32 4, ptr %t22
+ %t23 = load ptr, ptr %sc_l_this_0
+ %t24 = call ptr @sc_retain_box(ptr %t23)
+ %t25 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps
+ %t26 = getelementptr inbounds ptr, ptr %t25, i64 0 ; caps[0]
+ store ptr %t24, ptr %t26
+ %t27 = load ptr, ptr %sc_l_self_0
+ %t28 = call ptr @sc_retain_box(ptr %t27)
+ %t29 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps
+ %t30 = getelementptr inbounds ptr, ptr %t29, i64 1 ; caps[1]
+ store ptr %t28, ptr %t30
+ %t31 = load ptr, ptr %s9
+ %t32 = icmp eq ptr %t31, null
+ br i1 %t32, label %lazy.box3, label %lazy.box.j4
+lazy.box3:
+ %t33 = call ptr @scr_box_new(i32 4)
+ %t34 = load ptr, ptr %sc_l_resolve_0
+ %t35 = call ptr @scr_closure_retain_v(ptr %t34)
+ call void @scr_box_set_ref(ptr %t33, ptr %t35)
+ store ptr %t33, ptr %s9
+ br label %lazy.box.j4
+lazy.box.j4:
+ %t36 = load ptr, ptr %s9
+ %t37 = call ptr @sc_retain_box(ptr %t36)
+ %t38 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps
+ %t39 = getelementptr inbounds ptr, ptr %t38, i64 2 ; caps[2]
+ store ptr %t37, ptr %t39
+ store ptr %t21, ptr %sc_l_finish_1
+ %t40 = call ptr @scr_box_new(i32 4) ; let finish (boxed)
+ store ptr %t40, ptr %sc_l_finish_0
+ %t41 = load ptr, ptr %sc_l_finish_1
+ %t42 = call ptr @scr_closure_retain_v(ptr %t41)
+ call void @scr_box_set_ref(ptr %t40, ptr %t42)
+ %t43 = load ptr, ptr %sc_l_self_1
+ %t44 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t43, i64 0, i32 8
+ %t45 = load double, ptr %t44, !tbaa !84
+ %t46 = fcmp oeq double %t45, 0x3FF0000000000000
+ br i1 %t46, label %if.t5, label %if.j6
+if.t5:
+ %t47 = load ptr, ptr %sc_l_finish_1
+ %t48 = getelementptr inbounds %ScrClosure, ptr %t47, i64 0, i32 1
+ %t49 = load ptr, ptr %t48
+ %t50 = icmp eq ptr %t49, @sc_f__x25_fn38
+ br i1 %t50, label %callback.direct7, label %callback.indirect8
+callback.direct7:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void @sc_f__x25_fn38(ptr %t47)
+ call void @scr_dyn_this_pop()
+ br label %callback.done9
+callback.indirect8:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t49(ptr %t47)
+ call void @scr_dyn_this_pop()
+ br label %callback.done9
+callback.done9:
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u10, label %exc.k11
+exc.u10:
+ br label %exc.cleanup12
+exc.k11:
+ %t54 = load ptr, ptr %s9
+ %t55 = icmp ne ptr %t54, null
+ br i1 %t55, label %lazy.release13, label %lazy.release.j14
+lazy.release13:
+ call void @scr_box_release(ptr %t54)
+ br label %lazy.release.j14
+lazy.release.j14:
+ %t56 = load ptr, ptr %s10
+ %t57 = icmp ne ptr %t56, null
+ br i1 %t57, label %lazy.release15, label %lazy.release.j16
+lazy.release15:
+ call void @scr_box_release(ptr %t56)
+ br label %lazy.release.j16
+lazy.release.j16:
+ %t58 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t58)
+ %t59 = load ptr, ptr %sc_l_reject_0
+ call void @scr_closure_release(ptr %t59)
+ %t60 = load ptr, ptr %sc_l_finish_1
+ call void @scr_closure_release(ptr %t60)
+ %t61 = load ptr, ptr %sc_l_finish_0
+ call void @scr_box_release(ptr %t61)
+ ret void
+if.j6:
+ %t62 = load ptr, ptr %sc_l_im_1
+ %t63 = call ptr @scr_http_req_retain_v(ptr %t62)
+ %t64 = call ptr @scr_closure_new(ptr @sc_f__x25_fn39, i64 1)
+ %t65 = getelementptr inbounds %ScrClosure, ptr %t64, i64 0, i32 4
+ store i32 4, ptr %t65
+ %t66 = load ptr, ptr %sc_l_finish_0
+ %t67 = call ptr @sc_retain_box(ptr %t66)
+ %t68 = getelementptr inbounds %ScrClosure, ptr %t64, i64 1 ; caps
+ %t69 = getelementptr inbounds ptr, ptr %t68, i64 0 ; caps[0]
+ store ptr %t67, ptr %t69
+ call void @scr_http_req_on_end(ptr %t63, ptr %t64, i1 false)
+ call void @scr_http_req_release(ptr %t63)
+ %t70 = load ptr, ptr %sc_l_im_1
+ %t71 = call ptr @scr_http_req_retain_v(ptr %t70)
+ %t72 = call ptr @scr_closure_new(ptr @sc_f__x25_fn40, i64 1)
+ %t73 = getelementptr inbounds %ScrClosure, ptr %t72, i64 0, i32 4
+ store i32 4, ptr %t73
+ %t74 = getelementptr inbounds %ScrClosure, ptr %t72, i64 0, i32 7
+ store ptr @sc_bf__x25_fn40, ptr %t74
+ %t75 = load ptr, ptr %s10
+ %t76 = icmp eq ptr %t75, null
+ br i1 %t76, label %lazy.box17, label %lazy.box.j18
+lazy.box17:
+ %t77 = call ptr @scr_box_new(i32 4)
+ %t78 = load ptr, ptr %sc_l_reject_0
+ %t79 = call ptr @scr_closure_retain_v(ptr %t78)
+ call void @scr_box_set_ref(ptr %t77, ptr %t79)
+ store ptr %t77, ptr %s10
+ br label %lazy.box.j18
+lazy.box.j18:
+ %t80 = load ptr, ptr %s10
+ %t81 = call ptr @sc_retain_box(ptr %t80)
+ %t82 = getelementptr inbounds %ScrClosure, ptr %t72, i64 1 ; caps
+ %t83 = getelementptr inbounds ptr, ptr %t82, i64 0 ; caps[0]
+ store ptr %t81, ptr %t83
+ call void @scr_http_req_on_error(ptr %t71, ptr %t72, ptr @scr_child_err_thunk_error, i1 false)
+ call void @scr_http_req_release(ptr %t71)
+ %t84 = load ptr, ptr %s9
+ %t85 = icmp ne ptr %t84, null
+ br i1 %t85, label %lazy.release19, label %lazy.release.j20
+lazy.release19:
+ call void @scr_box_release(ptr %t84)
+ br label %lazy.release.j20
+lazy.release.j20:
+ %t86 = load ptr, ptr %s10
+ %t87 = icmp ne ptr %t86, null
+ br i1 %t87, label %lazy.release21, label %lazy.release.j22
+lazy.release21:
+ call void @scr_box_release(ptr %t86)
+ br label %lazy.release.j22
+lazy.release.j22:
+ %t88 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t88)
+ %t89 = load ptr, ptr %sc_l_reject_0
+ call void @scr_closure_release(ptr %t89)
+ %t90 = load ptr, ptr %sc_l_finish_1
+ call void @scr_closure_release(ptr %t90)
+ %t91 = load ptr, ptr %sc_l_finish_0
+ call void @scr_box_release(ptr %t91)
+ ret void
+exc.cleanup2:
+ %t92 = load ptr, ptr %s9
+ %t93 = icmp ne ptr %t92, null
+ br i1 %t93, label %lazy.release23, label %lazy.release.j24
+lazy.release23:
+ call void @scr_box_release(ptr %t92)
+ br label %lazy.release.j24
+lazy.release.j24:
+ %t94 = load ptr, ptr %s10
+ %t95 = icmp ne ptr %t94, null
+ br i1 %t95, label %lazy.release25, label %lazy.release.j26
+lazy.release25:
+ call void @scr_box_release(ptr %t94)
+ br label %lazy.release.j26
+lazy.release.j26:
+ %t96 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_reject_0
+ call void @scr_closure_release(ptr %t97)
+ ret void
+exc.cleanup12:
+ %t98 = load ptr, ptr %s9
+ %t99 = icmp ne ptr %t98, null
+ br i1 %t99, label %lazy.release27, label %lazy.release.j28
+lazy.release27:
+ call void @scr_box_release(ptr %t98)
+ br label %lazy.release.j28
+lazy.release.j28:
+ %t100 = load ptr, ptr %s10
+ %t101 = icmp ne ptr %t100, null
+ br i1 %t101, label %lazy.release29, label %lazy.release.j30
+lazy.release29:
+ call void @scr_box_release(ptr %t100)
+ br label %lazy.release.j30
+lazy.release.j30:
+ %t102 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t102)
+ %t103 = load ptr, ptr %sc_l_reject_0
+ call void @scr_closure_release(ptr %t103)
+ %t104 = load ptr, ptr %sc_l_finish_1
+ call void @scr_closure_release(ptr %t104)
+ %t105 = load ptr, ptr %sc_l_finish_0
+ call void @scr_box_release(ptr %t105)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn41(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn41
+entry:
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_done_0 = alloca ptr ; done
+ %sc_l_done_1 = alloca ptr ; done
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_done_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_done_0 ; captured done
+ store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_done_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_done_1
+ %t10 = load ptr, ptr %sc_l_resolve_0
+ %t11 = load ptr, ptr %sc_l_done_1
+ %t12 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 7
+ %t15 = load ptr, ptr %t14
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %callback.lend2, label %callback.own3
+callback.lend2:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t15(ptr %t10, ptr %t11)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.own3:
+ %t17 = call ptr @sc_rc_retain_str(ptr %t11)
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t13(ptr %t10, ptr %t17)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.done4:
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u5, label %exc.k6
+exc.u5:
+ ret void
+exc.k6:
+ ret void
+}
+define internal void @sc_f__x25_fn41(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn41(ptr %sc_env, ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_fn43(ptr %sc_env) #0 { ; %fn43
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_chunks_0 = alloca ptr ; chunks
+ %sc_l_total_0 = alloca double ; total
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_propertyRecv_0 = alloca ptr ; %propertyRecv
+ %sc_l_joined_0 = alloca ptr ; joined
+ %sc_l_off_0 = alloca double ; off
+ %sc_l_i_1 = alloca i32 ; i
+ %sc_l__x25_propertyRecv_1 = alloca ptr ; %propertyRecv
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_self_1 = alloca ptr ; self
+ %sc_l_resolve_1 = alloca ptr ; resolve
+ %s23 = alloca i64 ; integer induction i
+ %s36 = alloca %ScrUnion
+ %s37 = getelementptr inbounds %ScrUnion, ptr %s36, i32 0, i32 5
+ %s38 = getelementptr inbounds %ScrUnion, ptr %s36, i32 0, i32 1
+ %s64 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s82 = alloca i64 ; integer induction i
+ %s106 = alloca %ScrUnion
+ %s107 = getelementptr inbounds %ScrUnion, ptr %s106, i32 0, i32 5
+ %s108 = getelementptr inbounds %ScrUnion, ptr %s106, i32 0, i32 1
+ %s134 = alloca ptr
+ store ptr null, ptr %sc_l_chunks_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_0
+ store ptr null, ptr %sc_l_joined_0
+ store ptr null, ptr %sc_l__x25_propertyRecv_1
+ store ptr null, ptr %sc_l_s_0
+ store ptr null, ptr %sc_l_self_1
+ store ptr null, ptr %sc_l_resolve_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_this_0 ; captured this
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_self_0 ; captured self
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_resolve_0 ; captured resolve
+ %t9 = call ptr @llvm.stacksave.p0()
+ %t10 = load ptr, ptr @scr_stack_guard
+ %t11 = icmp ult ptr %t9, %t10
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t13 = load ptr, ptr %sc_l_self_0
+ %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %sc_l_self_1
+ %t16 = load ptr, ptr %sc_l_resolve_0
+ %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5
+ %t18 = load ptr, ptr %t17
+ store ptr %t18, ptr %sc_l_resolve_1
+ %t19 = load ptr, ptr %sc_l_self_1
+ %t20 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t19, i64 0, i32 7
+ %t21 = load ptr, ptr %t20, !tbaa !82
+ %t22 = call ptr @scr_arr_retain_v(ptr %t21)
+ store ptr %t22, ptr %sc_l_chunks_0
+ store double 0x0000000000000000, ptr %sc_l_total_0
+ %t24 = fptosi double 0x0000000000000000 to i64
+ store i64 %t24, ptr %s23
+ br label %loop.c3
+loop.c3:
+ %t25 = load ptr, ptr %sc_l_chunks_0
+ %t26 = getelementptr inbounds %ScrArr, ptr %t25, i64 0, i32 1
+ %t27 = load i64, ptr %t26, !tbaa !2
+ %t28 = load i64, ptr %s23
+ %t29 = icmp ult i64 %t28, %t27
+ br i1 %t29, label %loop.b4, label %loop.e2
+loop.b4:
+ %t30 = load double, ptr %sc_l_total_0
+ %t31 = load ptr, ptr %sc_l_chunks_0
+ %t32 = load i64, ptr %s23
+ %t33 = load i64, ptr %s23
+ %t34 = sitofp i64 %t33 to double
+ %t35 = trunc i64 %t33 to i32
+ %t39 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 2
+ %t40 = load i64, ptr %t39, !tbaa !2
+ %t41 = icmp ult i64 %t32, %t40
+ br i1 %t41, label %local.array.range9, label %local.array.slow6
+local.array.range9:
+ br label %local.array.dense10
+local.array.dense10:
+ %t42 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 6
+ %t43 = load i32, ptr %t42, !tbaa !2
+ %t45 = zext i32 %t43 to i64
+ %t44 = icmp ult i64 %t32, %t45
+ br i1 %t44, label %local.array.value12, label %local.array.len11
+local.array.len11:
+ %t46 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 1
+ %t47 = load i64, ptr %t46, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t48 = icmp ult i64 %t32, %t47
+ br i1 %t48, label %local.array.state13, label %local.array.missing7
+local.array.state13:
+ %t49 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 9
+ %t50 = load ptr, ptr %t49, !tbaa !2
+ %t51 = getelementptr inbounds i8, ptr %t50, i64 %t32
+ %t52 = load i8, ptr %t51, !tbaa !4
+ %t53 = icmp eq i8 %t52, 1
+ br i1 %t53, label %local.array.value12, label %local.array.missing7
+local.array.value12:
+ %t54 = getelementptr inbounds %ScrArr, ptr %t31, i32 0, i32 8
+ %t55 = load ptr, ptr %t54, !tbaa !2
+ %t56 = getelementptr inbounds i64, ptr %t55, i64 %t32
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ store ptr %t57, ptr %s37
+ store i32 0, ptr %s38
+ br label %local.array.join8
+local.array.slow6:
+ %t58 = call ptr @scr_arr_peek_ref(ptr %t31, double %t34)
+ %t59 = icmp ne ptr %t58, null
+ br i1 %t59, label %local.array.slow.value14, label %local.array.missing7
+local.array.slow.value14:
+ store ptr %t58, ptr %s37
+ store i32 0, ptr %s38
+ br label %local.array.join8
+local.array.missing7:
+ store i64 0, ptr %s37
+ store i32 1, ptr %s38
+ br label %local.array.join8
+local.array.join8:
+ store ptr %s36, ptr %sc_l__x25_propertyRecv_0
+ %t60 = load ptr, ptr %sc_l__x25_propertyRecv_0
+ %t63 = getelementptr inbounds %ScrUnion, ptr %t60, i64 0, i32 1
+ %t62 = load i32, ptr %t63
+ %t61 = icmp eq i32 %t62, 1
+ br i1 %t61, label %tern.t15, label %tern.f16
+tern.t15:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032)
+ br label %exc.cleanup18
+exc.dead19:
+ store ptr null, ptr %s64
+ br label %tern.j17
+tern.f16:
+ %t65 = load ptr, ptr %sc_l__x25_propertyRecv_0
+ %t66 = getelementptr inbounds %ScrUnion, ptr %t65, i64 0, i32 5
+ %t67 = load ptr, ptr %t66
+ %t68 = call ptr @scr_bytes_retain_v(ptr %t67)
+ store ptr %t68, ptr %s64
+ br label %tern.j17
+tern.j17:
+ %t69 = load ptr, ptr %s64
+ %t70 = getelementptr inbounds %ScrBytes, ptr %t69, i64 0, i32 1
+ %t71 = load i64, ptr %t70
+ %t72 = sitofp i64 %t71 to double
+ %t74 = fptosi double %t72 to i64
+ %t73 = fadd double %t30, %t72
+ store double %t73, ptr %sc_l_total_0
+ call void @scr_bytes_release(ptr %t69)
+ br label %loop.u5
+loop.u5:
+ %t75 = load i64, ptr %s23
+ %t76 = add nuw i64 %t75, 1
+ store i64 %t76, ptr %s23
+ br label %loop.c3
+loop.e2:
+ %t77 = load double, ptr %sc_l_total_0
+ %t78 = call ptr @scr_bytes_new(i32 0, double %t77)
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_bytes_release(ptr %t78)
+ br label %exc.cleanup18
+exc.k21:
+ store ptr %t78, ptr %sc_l_joined_0
+ store double 0x0000000000000000, ptr %sc_l_off_0
+ %t83 = fptosi double 0x0000000000000000 to i64
+ store i64 %t83, ptr %s82
+ br label %loop.c23
+loop.c23:
+ %t84 = load ptr, ptr %sc_l_chunks_0
+ %t85 = getelementptr inbounds %ScrArr, ptr %t84, i64 0, i32 1
+ %t86 = load i64, ptr %t85, !tbaa !2
+ %t87 = load i64, ptr %s82
+ %t88 = icmp ult i64 %t87, %t86
+ br i1 %t88, label %loop.b24, label %loop.e22
+loop.b24:
+ %t89 = load ptr, ptr %sc_l_joined_0
+ %t90 = load ptr, ptr %sc_l_chunks_0
+ %t91 = load i64, ptr %s82
+ %t92 = sitofp i64 %t91 to double
+ %t93 = trunc i64 %t91 to i32
+ %t94 = call ptr @sc_bf__x25_arr_idxOr_14(ptr %t90, double %t92)
+ %t95 = call ptr @sc_td_50(ptr %t94)
+ %t96 = load double, ptr %sc_l_off_0
+ call void @scr_bytes_set_from_dyn(ptr %t89, ptr %t95, double %t96)
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_union_release(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ br label %exc.cleanup28
+exc.k27:
+ call void @scr_union_release(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ %t100 = load double, ptr %sc_l_off_0
+ %t101 = load ptr, ptr %sc_l_chunks_0
+ %t102 = load i64, ptr %s82
+ %t103 = load i64, ptr %s82
+ %t104 = sitofp i64 %t103 to double
+ %t105 = trunc i64 %t103 to i32
+ %t109 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 2
+ %t110 = load i64, ptr %t109, !tbaa !2
+ %t111 = icmp ult i64 %t102, %t110
+ br i1 %t111, label %local.array.range32, label %local.array.slow29
+local.array.range32:
+ br label %local.array.dense33
+local.array.dense33:
+ %t112 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 6
+ %t113 = load i32, ptr %t112, !tbaa !2
+ %t115 = zext i32 %t113 to i64
+ %t114 = icmp ult i64 %t102, %t115
+ br i1 %t114, label %local.array.value35, label %local.array.len34
+local.array.len34:
+ %t116 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 1
+ %t117 = load i64, ptr %t116, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t118 = icmp ult i64 %t102, %t117
+ br i1 %t118, label %local.array.state36, label %local.array.missing30
+local.array.state36:
+ %t119 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 9
+ %t120 = load ptr, ptr %t119, !tbaa !2
+ %t121 = getelementptr inbounds i8, ptr %t120, i64 %t102
+ %t122 = load i8, ptr %t121, !tbaa !4
+ %t123 = icmp eq i8 %t122, 1
+ br i1 %t123, label %local.array.value35, label %local.array.missing30
+local.array.value35:
+ %t124 = getelementptr inbounds %ScrArr, ptr %t101, i32 0, i32 8
+ %t125 = load ptr, ptr %t124, !tbaa !2
+ %t126 = getelementptr inbounds i64, ptr %t125, i64 %t102
+ %t127 = load ptr, ptr %t126, !tbaa !6
+ store ptr %t127, ptr %s107
+ store i32 0, ptr %s108
+ br label %local.array.join31
+local.array.slow29:
+ %t128 = call ptr @scr_arr_peek_ref(ptr %t101, double %t104)
+ %t129 = icmp ne ptr %t128, null
+ br i1 %t129, label %local.array.slow.value37, label %local.array.missing30
+local.array.slow.value37:
+ store ptr %t128, ptr %s107
+ store i32 0, ptr %s108
+ br label %local.array.join31
+local.array.missing30:
+ store i64 0, ptr %s107
+ store i32 1, ptr %s108
+ br label %local.array.join31
+local.array.join31:
+ store ptr %s106, ptr %sc_l__x25_propertyRecv_1
+ %t130 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ %t133 = getelementptr inbounds %ScrUnion, ptr %t130, i64 0, i32 1
+ %t132 = load i32, ptr %t133
+ %t131 = icmp eq i32 %t132, 1
+ br i1 %t131, label %tern.t38, label %tern.f39
+tern.t38:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_4107821909168032)
+ br label %exc.cleanup28
+exc.dead41:
+ store ptr null, ptr %s134
+ br label %tern.j40
+tern.f39:
+ %t135 = load ptr, ptr %sc_l__x25_propertyRecv_1
+ %t136 = getelementptr inbounds %ScrUnion, ptr %t135, i64 0, i32 5
+ %t137 = load ptr, ptr %t136
+ %t138 = call ptr @scr_bytes_retain_v(ptr %t137)
+ store ptr %t138, ptr %s134
+ br label %tern.j40
+tern.j40:
+ %t139 = load ptr, ptr %s134
+ %t140 = getelementptr inbounds %ScrBytes, ptr %t139, i64 0, i32 1
+ %t141 = load i64, ptr %t140
+ %t142 = sitofp i64 %t141 to double
+ %t144 = fptosi double %t142 to i64
+ %t143 = fadd double %t100, %t142
+ store double %t143, ptr %sc_l_off_0
+ call void @scr_bytes_release(ptr %t139)
+ br label %loop.u25
+loop.u25:
+ %t145 = load i64, ptr %s82
+ %t146 = add nuw i64 %t145, 1
+ store i64 %t146, ptr %s82
+ br label %loop.c23
+loop.e22:
+ %t147 = load ptr, ptr %sc_l_joined_0
+ %t148 = call ptr @scr_bytes_retain_v(ptr %t147)
+ %t149 = call ptr @scr_buffer_from_bytes(ptr %t148)
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_bytes_release(ptr %t148)
+ call void @scr_bytes_release(ptr %t149)
+ br label %exc.cleanup28
+exc.k43:
+ %t153 = call ptr @scr_bytes_as_buffer(ptr %t149)
+ %t154 = call ptr @scr_bytes_to_str(ptr %t153, ptr @sc_lit_2605532998565466)
+ store ptr %t154, ptr %sc_l_s_0
+ call void @scr_bytes_release(ptr %t148)
+ call void @scr_bytes_release(ptr %t149)
+ call void @scr_bytes_release(ptr %t153)
+ %t155 = load ptr, ptr %sc_l_self_1
+ %t156 = load ptr, ptr %sc_l_s_0
+ %t157 = call ptr @sc_rc_retain_str(ptr %t156)
+ %t158 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t155, i64 0, i32 6
+ %t159 = load ptr, ptr %t158
+ store ptr %t157, ptr %t158, !tbaa !80
+ call void @scr_str_release(ptr %t159)
+ %t160 = load ptr, ptr %sc_l_resolve_1
+ %t161 = load ptr, ptr %sc_l_s_0
+ %t162 = getelementptr inbounds %ScrClosure, ptr %t160, i64 0, i32 1
+ %t163 = load ptr, ptr %t162
+ %t164 = getelementptr inbounds %ScrClosure, ptr %t160, i64 0, i32 7
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp ne ptr %t165, null
+ br i1 %t166, label %callback.lend44, label %callback.own45
+callback.lend44:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t165(ptr %t160, ptr %t161)
+ call void @scr_dyn_this_pop()
+ br label %callback.done46
+callback.own45:
+ %t167 = call ptr @sc_rc_retain_str(ptr %t161)
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t163(ptr %t160, ptr %t167)
+ call void @scr_dyn_this_pop()
+ br label %callback.done46
+callback.done46:
+ %t168 = load i32, ptr %exc.cell
+ %t169 = icmp ne i32 %t168, 0
+ %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false)
+ br i1 %t170, label %exc.u47, label %exc.k48
+exc.u47:
+ br label %exc.cleanup49
+exc.k48:
+ %t171 = load ptr, ptr %sc_l_chunks_0
+ call void @scr_arr_release(ptr %t171)
+ %t172 = load ptr, ptr %sc_l_joined_0
+ call void @scr_bytes_release(ptr %t172)
+ %t173 = load ptr, ptr %sc_l_s_0
+ call void @scr_str_release(ptr %t173)
+ ret void
+exc.cleanup18:
+ %t174 = load ptr, ptr %sc_l_chunks_0
+ call void @scr_arr_release(ptr %t174)
+ ret void
+exc.cleanup28:
+ %t175 = load ptr, ptr %sc_l_chunks_0
+ call void @scr_arr_release(ptr %t175)
+ %t176 = load ptr, ptr %sc_l_joined_0
+ call void @scr_bytes_release(ptr %t176)
+ ret void
+exc.cleanup49:
+ %t177 = load ptr, ptr %sc_l_chunks_0
+ call void @scr_arr_release(ptr %t177)
+ %t178 = load ptr, ptr %sc_l_joined_0
+ call void @scr_bytes_release(ptr %t178)
+ %t179 = load ptr, ptr %sc_l_s_0
+ call void @scr_str_release(ptr %t179)
+ ret void
+}
+
+define internal void @sc_f__x25_fn44(ptr %sc_env) #0 { ; %fn44
+entry:
+ %sc_l_finish_0 = alloca ptr ; finish
+ %sc_l_finish_1 = alloca ptr ; finish
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_finish_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_finish_0 ; captured finish
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_finish_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_finish_1
+ %t10 = load ptr, ptr %sc_l_finish_1
+ %t11 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1
+ %t12 = load ptr, ptr %t11
+ %t13 = icmp eq ptr %t12, @sc_f__x25_fn43
+ br i1 %t13, label %callback.direct2, label %callback.indirect3
+callback.direct2:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void @sc_f__x25_fn43(ptr %t10)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.indirect3:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t12(ptr %t10)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.done4:
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u5, label %exc.k6
+exc.u5:
+ ret void
+exc.k6:
+ ret void
+}
+
+define internal void @sc_bf__x25_fn45(ptr %sc_env, ptr %p_sc_l_e_0) #0 { ; %fn45
+entry:
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l_reject_0 = alloca ptr ; reject
+ %sc_l_reject_1 = alloca ptr ; reject
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_reject_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_reject_0 ; captured reject
+ store ptr %p_sc_l_e_0, ptr %sc_l_e_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_reject_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_reject_1
+ %t10 = load ptr, ptr %sc_l_reject_1
+ %t11 = load ptr, ptr %sc_l_e_0
+ %t12 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ %t14 = getelementptr inbounds %ScrClosure, ptr %t10, i64 0, i32 7
+ %t15 = load ptr, ptr %t14
+ %t16 = icmp ne ptr %t15, null
+ br i1 %t16, label %callback.lend2, label %callback.own3
+callback.lend2:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t15(ptr %t10, ptr %t11)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.own3:
+ %t17 = call ptr @scr_error_retain_v(ptr %t11)
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t13(ptr %t10, ptr %t17)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.done4:
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u5, label %exc.k6
+exc.u5:
+ ret void
+exc.k6:
+ ret void
+}
+define internal void @sc_f__x25_fn45(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn45(ptr %sc_env, ptr %p0)
+ call void @scr_error_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_fn42(ptr %sc_env, ptr %p_sc_l_resolve_0, ptr %p_sc_l_reject_0) #0 { ; %fn42
+entry:
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_reject_0 = alloca ptr ; reject
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_finish_0 = alloca ptr ; finish
+ %sc_l_im_0 = alloca ptr ; im
+ %sc_l_self_1 = alloca ptr ; self
+ %sc_l_finish_1 = alloca ptr ; finish
+ %sc_l_im_1 = alloca ptr ; im
+ %s9 = alloca ptr ; lazy box resolve
+ %s10 = alloca ptr ; lazy box reject
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_finish_0
+ store ptr null, ptr %sc_l_self_1
+ store ptr null, ptr %sc_l_finish_1
+ store ptr null, ptr %sc_l_im_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_this_0 ; captured this
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_self_0 ; captured self
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_im_0 ; captured im
+ store ptr null, ptr %s9
+ store ptr null, ptr %s10
+ store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0
+ store ptr %p_sc_l_reject_0, ptr %sc_l_reject_0
+ %t11 = call ptr @llvm.stacksave.p0()
+ %t12 = load ptr, ptr @scr_stack_guard
+ %t13 = icmp ult ptr %t11, %t12
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t15 = load ptr, ptr %sc_l_self_0
+ %t16 = getelementptr inbounds %ScrBox, ptr %t15, i32 0, i32 5
+ %t17 = load ptr, ptr %t16
+ store ptr %t17, ptr %sc_l_self_1
+ %t18 = load ptr, ptr %sc_l_im_0
+ %t19 = getelementptr inbounds %ScrBox, ptr %t18, i32 0, i32 5
+ %t20 = load ptr, ptr %t19
+ store ptr %t20, ptr %sc_l_im_1
+ %t21 = call ptr @scr_closure_new(ptr @sc_f__x25_fn43, i64 3)
+ %t22 = getelementptr inbounds %ScrClosure, ptr %t21, i64 0, i32 4
+ store i32 4, ptr %t22
+ %t23 = load ptr, ptr %sc_l_this_0
+ %t24 = call ptr @sc_retain_box(ptr %t23)
+ %t25 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps
+ %t26 = getelementptr inbounds ptr, ptr %t25, i64 0 ; caps[0]
+ store ptr %t24, ptr %t26
+ %t27 = load ptr, ptr %sc_l_self_0
+ %t28 = call ptr @sc_retain_box(ptr %t27)
+ %t29 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps
+ %t30 = getelementptr inbounds ptr, ptr %t29, i64 1 ; caps[1]
+ store ptr %t28, ptr %t30
+ %t31 = load ptr, ptr %s9
+ %t32 = icmp eq ptr %t31, null
+ br i1 %t32, label %lazy.box3, label %lazy.box.j4
+lazy.box3:
+ %t33 = call ptr @scr_box_new(i32 4)
+ %t34 = load ptr, ptr %sc_l_resolve_0
+ %t35 = call ptr @scr_closure_retain_v(ptr %t34)
+ call void @scr_box_set_ref(ptr %t33, ptr %t35)
+ store ptr %t33, ptr %s9
+ br label %lazy.box.j4
+lazy.box.j4:
+ %t36 = load ptr, ptr %s9
+ %t37 = call ptr @sc_retain_box(ptr %t36)
+ %t38 = getelementptr inbounds %ScrClosure, ptr %t21, i64 1 ; caps
+ %t39 = getelementptr inbounds ptr, ptr %t38, i64 2 ; caps[2]
+ store ptr %t37, ptr %t39
+ store ptr %t21, ptr %sc_l_finish_1
+ %t40 = call ptr @scr_box_new(i32 4) ; let finish (boxed)
+ store ptr %t40, ptr %sc_l_finish_0
+ %t41 = load ptr, ptr %sc_l_finish_1
+ %t42 = call ptr @scr_closure_retain_v(ptr %t41)
+ call void @scr_box_set_ref(ptr %t40, ptr %t42)
+ %t43 = load ptr, ptr %sc_l_self_1
+ %t44 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t43, i64 0, i32 8
+ %t45 = load double, ptr %t44, !tbaa !84
+ %t46 = fcmp oeq double %t45, 0x3FF0000000000000
+ br i1 %t46, label %if.t5, label %if.j6
+if.t5:
+ %t47 = load ptr, ptr %sc_l_finish_1
+ %t48 = getelementptr inbounds %ScrClosure, ptr %t47, i64 0, i32 1
+ %t49 = load ptr, ptr %t48
+ %t50 = icmp eq ptr %t49, @sc_f__x25_fn43
+ br i1 %t50, label %callback.direct7, label %callback.indirect8
+callback.direct7:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void @sc_f__x25_fn43(ptr %t47)
+ call void @scr_dyn_this_pop()
+ br label %callback.done9
+callback.indirect8:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t49(ptr %t47)
+ call void @scr_dyn_this_pop()
+ br label %callback.done9
+callback.done9:
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u10, label %exc.k11
+exc.u10:
+ br label %exc.cleanup12
+exc.k11:
+ %t54 = load ptr, ptr %s9
+ %t55 = icmp ne ptr %t54, null
+ br i1 %t55, label %lazy.release13, label %lazy.release.j14
+lazy.release13:
+ call void @scr_box_release(ptr %t54)
+ br label %lazy.release.j14
+lazy.release.j14:
+ %t56 = load ptr, ptr %s10
+ %t57 = icmp ne ptr %t56, null
+ br i1 %t57, label %lazy.release15, label %lazy.release.j16
+lazy.release15:
+ call void @scr_box_release(ptr %t56)
+ br label %lazy.release.j16
+lazy.release.j16:
+ %t58 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t58)
+ %t59 = load ptr, ptr %sc_l_reject_0
+ call void @scr_closure_release(ptr %t59)
+ %t60 = load ptr, ptr %sc_l_finish_1
+ call void @scr_closure_release(ptr %t60)
+ %t61 = load ptr, ptr %sc_l_finish_0
+ call void @scr_box_release(ptr %t61)
+ ret void
+if.j6:
+ %t62 = load ptr, ptr %sc_l_im_1
+ %t63 = call ptr @scr_http_req_retain_v(ptr %t62)
+ %t64 = call ptr @scr_closure_new(ptr @sc_f__x25_fn44, i64 1)
+ %t65 = getelementptr inbounds %ScrClosure, ptr %t64, i64 0, i32 4
+ store i32 4, ptr %t65
+ %t66 = load ptr, ptr %sc_l_finish_0
+ %t67 = call ptr @sc_retain_box(ptr %t66)
+ %t68 = getelementptr inbounds %ScrClosure, ptr %t64, i64 1 ; caps
+ %t69 = getelementptr inbounds ptr, ptr %t68, i64 0 ; caps[0]
+ store ptr %t67, ptr %t69
+ call void @scr_http_req_on_end(ptr %t63, ptr %t64, i1 false)
+ call void @scr_http_req_release(ptr %t63)
+ %t70 = load ptr, ptr %sc_l_im_1
+ %t71 = call ptr @scr_http_req_retain_v(ptr %t70)
+ %t72 = call ptr @scr_closure_new(ptr @sc_f__x25_fn45, i64 1)
+ %t73 = getelementptr inbounds %ScrClosure, ptr %t72, i64 0, i32 4
+ store i32 4, ptr %t73
+ %t74 = getelementptr inbounds %ScrClosure, ptr %t72, i64 0, i32 7
+ store ptr @sc_bf__x25_fn45, ptr %t74
+ %t75 = load ptr, ptr %s10
+ %t76 = icmp eq ptr %t75, null
+ br i1 %t76, label %lazy.box17, label %lazy.box.j18
+lazy.box17:
+ %t77 = call ptr @scr_box_new(i32 4)
+ %t78 = load ptr, ptr %sc_l_reject_0
+ %t79 = call ptr @scr_closure_retain_v(ptr %t78)
+ call void @scr_box_set_ref(ptr %t77, ptr %t79)
+ store ptr %t77, ptr %s10
+ br label %lazy.box.j18
+lazy.box.j18:
+ %t80 = load ptr, ptr %s10
+ %t81 = call ptr @sc_retain_box(ptr %t80)
+ %t82 = getelementptr inbounds %ScrClosure, ptr %t72, i64 1 ; caps
+ %t83 = getelementptr inbounds ptr, ptr %t82, i64 0 ; caps[0]
+ store ptr %t81, ptr %t83
+ call void @scr_http_req_on_error(ptr %t71, ptr %t72, ptr @scr_child_err_thunk_error, i1 false)
+ call void @scr_http_req_release(ptr %t71)
+ %t84 = load ptr, ptr %s9
+ %t85 = icmp ne ptr %t84, null
+ br i1 %t85, label %lazy.release19, label %lazy.release.j20
+lazy.release19:
+ call void @scr_box_release(ptr %t84)
+ br label %lazy.release.j20
+lazy.release.j20:
+ %t86 = load ptr, ptr %s10
+ %t87 = icmp ne ptr %t86, null
+ br i1 %t87, label %lazy.release21, label %lazy.release.j22
+lazy.release21:
+ call void @scr_box_release(ptr %t86)
+ br label %lazy.release.j22
+lazy.release.j22:
+ %t88 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t88)
+ %t89 = load ptr, ptr %sc_l_reject_0
+ call void @scr_closure_release(ptr %t89)
+ %t90 = load ptr, ptr %sc_l_finish_1
+ call void @scr_closure_release(ptr %t90)
+ %t91 = load ptr, ptr %sc_l_finish_0
+ call void @scr_box_release(ptr %t91)
+ ret void
+exc.cleanup2:
+ %t92 = load ptr, ptr %s9
+ %t93 = icmp ne ptr %t92, null
+ br i1 %t93, label %lazy.release23, label %lazy.release.j24
+lazy.release23:
+ call void @scr_box_release(ptr %t92)
+ br label %lazy.release.j24
+lazy.release.j24:
+ %t94 = load ptr, ptr %s10
+ %t95 = icmp ne ptr %t94, null
+ br i1 %t95, label %lazy.release25, label %lazy.release.j26
+lazy.release25:
+ call void @scr_box_release(ptr %t94)
+ br label %lazy.release.j26
+lazy.release.j26:
+ %t96 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_reject_0
+ call void @scr_closure_release(ptr %t97)
+ ret void
+exc.cleanup12:
+ %t98 = load ptr, ptr %s9
+ %t99 = icmp ne ptr %t98, null
+ br i1 %t99, label %lazy.release27, label %lazy.release.j28
+lazy.release27:
+ call void @scr_box_release(ptr %t98)
+ br label %lazy.release.j28
+lazy.release.j28:
+ %t100 = load ptr, ptr %s10
+ %t101 = icmp ne ptr %t100, null
+ br i1 %t101, label %lazy.release29, label %lazy.release.j30
+lazy.release29:
+ call void @scr_box_release(ptr %t100)
+ br label %lazy.release.j30
+lazy.release.j30:
+ %t102 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t102)
+ %t103 = load ptr, ptr %sc_l_reject_0
+ call void @scr_closure_release(ptr %t103)
+ %t104 = load ptr, ptr %sc_l_finish_1
+ call void @scr_closure_release(ptr %t104)
+ %t105 = load ptr, ptr %sc_l_finish_0
+ call void @scr_box_release(ptr %t105)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn46(ptr %sc_env, ptr %p_sc_l_v_0, ptr %p_sc_l_k_0) #0 { ; %fn46
+entry:
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_hs_0 = alloca ptr ; hs
+ %sc_l_hs_1 = alloca ptr ; hs
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s19 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l_hs_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_hs_0 ; captured hs
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_hs_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_hs_1
+ %t10 = load ptr, ptr %sc_l_hs_1
+ %t11 = call ptr @scr_dyn_prepare_method(ptr %t10, ptr @sc_cs_3066695590452058)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t11)
+ ret void
+exc.k3:
+ %t15 = load ptr, ptr %sc_l_k_0
+ %t16 = call ptr @sc_td_0(ptr %t15)
+ %t17 = load ptr, ptr %sc_l_v_0
+ %t18 = call ptr @sc_td_0(ptr %t17)
+ %t20 = getelementptr inbounds [2 x ptr], ptr %s19, i64 0, i64 0
+ store ptr %t16, ptr %t20
+ %t21 = getelementptr inbounds [2 x ptr], ptr %s19, i64 0, i64 1
+ store ptr %t18, ptr %t21
+ %t22 = call ptr @scr_dyn_invoke_prepared(ptr %t10, ptr %t11, ptr @sc_cs_3066695590452058, ptr %s19, i64 2, ptr @sc_cs_1324295358917995)
+ %t23 = load i32, ptr %exc.cell
+ %t24 = icmp ne i32 %t23, 0
+ %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false)
+ br i1 %t25, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t22)
+ ret void
+exc.k5:
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t22)
+ ret void
+}
+define internal void @sc_f__x25_fn46(ptr %sc_env, ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_fn46(ptr %sc_env, ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_2(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.2
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_callee = alloca ptr ; callee
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = load ptr, ptr %sc_l_p_callee
+ %t13 = load ptr, ptr %sc_l_p_1
+ %t14 = load ptr, ptr %sc_l_p_calleeName
+ %t15 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_2(ptr %t11, ptr %t12, ptr %t13, ptr %t14)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t15)
+ br label %exc.cleanup2
+exc.k6:
+ %t19 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t19)
+ ret ptr %t15
+exc.cleanup2:
+ %t20 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_2(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_2(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_2(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.2
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_callee = alloca ptr ; callee
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %s8 = alloca [1 x ptr]
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_callee
+ %t5 = load ptr, ptr %sc_l_p_0
+ %t6 = load ptr, ptr %sc_l_p_1
+ %t7 = call ptr @sc_dfb_9(ptr %t6, ptr null)
+ %t9 = getelementptr inbounds [1 x ptr], ptr %s8, i64 0, i64 0
+ store ptr %t7, ptr %t9
+ %t11 = load ptr, ptr %sc_l_p_calleeName
+ %t12 = getelementptr inbounds %ScrStr, ptr %t11, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t5)
+ %t10 = call ptr @scr_dyn_call(ptr %t4, ptr %s8, i64 1, ptr %t12)
+ call void @scr_dyn_this_pop()
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t7)
+ call void @sc_rc_release_dyn(ptr %t10)
+ br label %exc.cleanup2
+exc.k4:
+ call void @sc_rc_release_dyn(ptr %t7)
+ %t16 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t16)
+ ret ptr %t10
+exc.cleanup2:
+ %t17 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_fallback_2(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_2(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @scr_closure_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_protocol_callee_2(ptr %p_sc_l_p_0) inlinehint #0 { ; %dyn.class.protocol.callee.2
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = call ptr @sc_f__x25_dyn_class_property_62(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t12)
+ br label %exc.cleanup2
+exc.k6:
+ %t16 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t16)
+ ret ptr %t12
+exc.cleanup2:
+ %t17 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_union_narrow_7(ptr %p_sc_l_u_0) #0 { ; %union.narrow.7
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_7(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_narrow_7(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r5(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_rrelease_r5(ptr %p0)
+ ret ptr %t3
+}
+
+define internal void @sc_bf__x25_fn47(ptr %sc_env, ptr %p_sc_l_v_0, ptr %p_sc_l_k_0) #0 { ; %fn47
+entry:
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_out_1 = alloca ptr ; out
+ store ptr null, ptr %sc_l_out_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_out_0 ; captured out
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_out_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_out_1
+ %t10 = load ptr, ptr %sc_l_out_1
+ %t11 = call ptr @sc_rretain_r0(ptr %t10)
+ %t12 = load ptr, ptr %sc_l_k_0
+ %t13 = call ptr @scr_str_to_lower(ptr %t12)
+ %t14 = load ptr, ptr %sc_l_v_0
+ %t15 = call ptr @sc_rc_retain_str(ptr %t14)
+ %t16 = getelementptr inbounds %sc_rs_r0, ptr %t11, i64 0, i32 1
+ %t17 = load ptr, ptr %t16
+ call void @scr_map_set_str_ref(ptr %t17, ptr %t13, ptr %t15)
+ br label %rks.j2
+rks.j2:
+ call void @sc_rrelease_r0(ptr %t11)
+ call void @scr_str_release(ptr %t13)
+ ret void
+}
+define internal void @sc_f__x25_fn47(ptr %sc_env, ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_fn47(ptr %sc_env, ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_union_narrow_8(ptr %p_sc_l_u_0) #0 { ; %union.narrow.8
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_8(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_narrow_8(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rc_retain_str(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_str_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal void @sc_bf__x25_fn48(ptr %sc_env, ptr %p_sc_l_ctl_0) #0 { ; %fn48
+entry:
+ %sc_l_ctl_0 = alloca ptr ; ctl
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_pending_0 = alloca ptr ; pending
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_self_1 = alloca ptr ; self
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s25 = alloca i64 ; integer induction i
+ %s37 = alloca ptr
+ %s72 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l_pending_0
+ store ptr null, ptr %sc_l_self_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_self_0 ; captured self
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_this_0 ; captured this
+ store ptr %p_sc_l_ctl_0, ptr %sc_l_ctl_0
+ %t6 = call ptr @llvm.stacksave.p0()
+ %t7 = load ptr, ptr @scr_stack_guard
+ %t8 = icmp ult ptr %t6, %t7
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t10 = load ptr, ptr %sc_l_self_0
+ %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5
+ %t12 = load ptr, ptr %t11
+ store ptr %t12, ptr %sc_l_self_1
+ %t13 = load ptr, ptr %sc_l_self_1
+ %t14 = load ptr, ptr %sc_l_ctl_0
+ %t15 = call ptr @sc_dc_7(ptr %t14, ptr null)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rrelease_r2(ptr %t15)
+ ret void
+exc.k3:
+ %t19 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t13, i64 0, i32 12
+ %t20 = load ptr, ptr %t19
+ store ptr %t15, ptr %t19, !tbaa !68
+ call void @sc_rrelease_r2(ptr %t20)
+ %t21 = load ptr, ptr %sc_l_self_1
+ %t22 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t21, i64 0, i32 7
+ %t23 = load ptr, ptr %t22, !tbaa !60
+ %t24 = call ptr @scr_arr_retain_v(ptr %t23)
+ store ptr %t24, ptr %sc_l_pending_0
+ %t26 = fptosi double 0x0000000000000000 to i64
+ store i64 %t26, ptr %s25
+ br label %loop.c5
+loop.c5:
+ %t27 = load ptr, ptr %sc_l_pending_0
+ %t28 = getelementptr inbounds %ScrArr, ptr %t27, i64 0, i32 1
+ %t29 = load i64, ptr %t28, !tbaa !2
+ %t30 = load i64, ptr %s25
+ %t31 = icmp ult i64 %t30, %t29
+ br i1 %t31, label %loop.b6, label %loop.e4
+loop.b6:
+ %t32 = load ptr, ptr %sc_l_ctl_0
+ %t33 = call ptr @scr_dyn_prepare_method(ptr %t32, ptr @sc_cs_3739322700708094)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t33)
+ br label %exc.cleanup10
+exc.k9:
+ %t38 = load ptr, ptr %sc_l_pending_0
+ %t39 = load i64, ptr %s25
+ %t40 = load i64, ptr %s25
+ %t41 = sitofp i64 %t40 to double
+ %t42 = trunc i64 %t40 to i32
+ %t43 = getelementptr inbounds %ScrArr, ptr %t38, i32 0, i32 2
+ %t44 = load i64, ptr %t43, !tbaa !2
+ %t45 = icmp ult i64 %t39, %t44
+ br i1 %t45, label %local.array.range14, label %local.array.slow11
+local.array.range14:
+ br label %local.array.dense15
+local.array.dense15:
+ %t46 = getelementptr inbounds %ScrArr, ptr %t38, i32 0, i32 6
+ %t47 = load i32, ptr %t46, !tbaa !2
+ %t49 = zext i32 %t47 to i64
+ %t48 = icmp ult i64 %t39, %t49
+ br i1 %t48, label %local.array.value17, label %local.array.len16
+local.array.len16:
+ %t50 = getelementptr inbounds %ScrArr, ptr %t38, i32 0, i32 1
+ %t51 = load i64, ptr %t50, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t52 = icmp ult i64 %t39, %t51
+ br i1 %t52, label %local.array.state18, label %local.array.missing12
+local.array.state18:
+ %t53 = getelementptr inbounds %ScrArr, ptr %t38, i32 0, i32 9
+ %t54 = load ptr, ptr %t53, !tbaa !2
+ %t55 = getelementptr inbounds i8, ptr %t54, i64 %t39
+ %t56 = load i8, ptr %t55, !tbaa !4
+ %t57 = icmp eq i8 %t56, 1
+ br i1 %t57, label %local.array.value17, label %local.array.missing12
+local.array.value17:
+ %t58 = getelementptr inbounds %ScrArr, ptr %t38, i32 0, i32 8
+ %t59 = load ptr, ptr %t58, !tbaa !2
+ %t60 = getelementptr inbounds i64, ptr %t59, i64 %t39
+ %t61 = load ptr, ptr %t60, !tbaa !6
+ store ptr %t61, ptr %s37
+ br label %local.array.join13
+local.array.slow11:
+ %t62 = call ptr @scr_arr_peek_ref(ptr %t38, double %t41)
+ %t63 = icmp ne ptr %t62, null
+ br i1 %t63, label %local.array.slow.value19, label %local.array.missing12
+local.array.slow.value19:
+ store ptr %t62, ptr %s37
+ br label %local.array.join13
+local.array.missing12:
+ store ptr null, ptr %s37
+ br label %local.array.join13
+local.array.join13:
+ %t64 = load ptr, ptr %s37
+ %t65 = call ptr @sc_bf__x25_union_narrow_8(ptr %t64)
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t33)
+ br label %exc.cleanup10
+exc.k21:
+ %t69 = call ptr @sc_rc_retain_str(ptr %t65)
+ %t70 = call ptr @scr_bytes_from_str(ptr %t69, ptr @sc_lit_2605532998565466)
+ %t71 = call ptr @sc_td_1(ptr %t70)
+ %t73 = getelementptr inbounds [1 x ptr], ptr %s72, i64 0, i64 0
+ store ptr %t71, ptr %t73
+ %t74 = call ptr @scr_dyn_invoke_prepared(ptr %t32, ptr %t33, ptr @sc_cs_3739322700708094, ptr %s72, i64 1, ptr @sc_cs_4217381500900616)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @scr_str_release(ptr %t69)
+ call void @scr_bytes_release(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t71)
+ call void @sc_rc_release_dyn(ptr %t74)
+ br label %exc.cleanup10
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @scr_str_release(ptr %t69)
+ call void @scr_bytes_release(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t71)
+ call void @sc_rc_release_dyn(ptr %t74)
+ br label %loop.u7
+loop.u7:
+ %t78 = load i64, ptr %s25
+ %t79 = add nuw i64 %t78, 1
+ store i64 %t79, ptr %s25
+ br label %loop.c5
+loop.e4:
+ %t80 = load ptr, ptr %sc_l_pending_0
+ %t81 = getelementptr inbounds %ScrArr, ptr %t80, i32 0, i32 1
+ %t82 = load i64, ptr %t81, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t83 = sitofp i64 %t82 to double
+ %t84 = fcmp oeq double 0x0000000000000000, %t83
+ br i1 %t84, label %arr.len.done25, label %arr.len.set24
+arr.len.set24:
+ call void @scr_arr_set_len(ptr %t80, double 0x0000000000000000)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u26, label %exc.k27
+exc.u26:
+ br label %exc.cleanup10
+exc.k27:
+ br label %arr.len.done25
+arr.len.done25:
+ %t88 = load ptr, ptr %sc_l_self_1
+ %t89 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t88, i64 0, i32 13
+ %t90 = load i8, ptr %t89, !tbaa !70
+ %t91 = trunc i8 %t90 to i1
+ br i1 %t91, label %if.t28, label %if.j29
+if.t28:
+ %t92 = load ptr, ptr %sc_l_ctl_0
+ %t93 = call ptr @scr_dyn_prepare_method(ptr %t92, ptr @sc_cs_863112869792180)
+ %t94 = load i32, ptr %exc.cell
+ %t95 = icmp ne i32 %t94, 0
+ %t96 = call i1 @llvm.expect.i1(i1 %t95, i1 false)
+ br i1 %t96, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t93)
+ br label %exc.cleanup10
+exc.k31:
+ %t97 = call ptr @scr_dyn_invoke_prepared(ptr %t92, ptr %t93, ptr @sc_cs_863112869792180, ptr null, i64 0, ptr @sc_cs_897001462723037)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t93)
+ call void @sc_rc_release_dyn(ptr %t97)
+ br label %exc.cleanup10
+exc.k33:
+ call void @sc_rc_release_dyn(ptr %t93)
+ call void @sc_rc_release_dyn(ptr %t97)
+ br label %if.j29
+if.j29:
+ %t101 = load ptr, ptr %sc_l_pending_0
+ call void @scr_arr_release(ptr %t101)
+ ret void
+exc.cleanup10:
+ %t102 = load ptr, ptr %sc_l_pending_0
+ call void @scr_arr_release(ptr %t102)
+ ret void
+}
+define internal void @sc_f__x25_fn48(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn48(ptr %sc_env, ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn49(ptr %sc_env, ptr %p_sc_l_v_0, ptr %p_sc_l_k_0) #0 { ; %fn49
+entry:
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_self_1 = alloca ptr ; self
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s21 = alloca ptr
+ %s38 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_self_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_self_0 ; captured self
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_self_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_self_1
+ %t10 = load ptr, ptr %sc_l_self_1
+ store ptr %t10, ptr %sc_l__x25_callbackReceiver_0
+ %t11 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t12 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t11, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t13 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t12)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret void
+exc.k3:
+ store ptr %t13, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t17 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t18 = getelementptr inbounds i8, ptr %t17, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t20 = icmp eq i32 %t19, 6
+ br i1 %t20, label %tern.t4, label %tern.f5
+tern.t4:
+ %t23 = call ptr @scr_dyn_undefined()
+ %t22 = call ptr @scr_dyn_retain_v(ptr %t23)
+ store ptr %t22, ptr %s21
+ br label %tern.j6
+tern.f5:
+ %t24 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t25 = call ptr @sc_rc_retain_dyn(ptr %t24)
+ %t26 = call ptr @sc_f__x25_dyn_class_property_13(ptr %t25)
+ %t27 = load i32, ptr %exc.cell
+ %t28 = icmp ne i32 %t27, 0
+ %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false)
+ br i1 %t29, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t26)
+ br label %exc.cleanup9
+exc.k8:
+ store ptr %t26, ptr %s21
+ br label %tern.j6
+tern.j6:
+ %t30 = load ptr, ptr %s21
+ store ptr %t30, ptr %sc_l__x25_callback_0
+ %t31 = load ptr, ptr %sc_l__x25_callback_0
+ %t32 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t34 = load ptr, ptr %sc_l_k_0
+ %t35 = call ptr @sc_td_0(ptr %t34)
+ %t36 = load ptr, ptr %sc_l_v_0
+ %t37 = call ptr @sc_td_0(ptr %t36)
+ %t39 = getelementptr inbounds [2 x ptr], ptr %s38, i64 0, i64 0
+ store ptr %t35, ptr %t39
+ %t40 = getelementptr inbounds [2 x ptr], ptr %s38, i64 0, i64 1
+ store ptr %t37, ptr %t40
+ call void @scr_dyn_this_push_dyn(ptr %t33)
+ %t41 = call ptr @scr_dyn_call(ptr %t31, ptr %s38, i64 2, ptr @sc_cs_517403358760410)
+ call void @scr_dyn_this_pop()
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t41)
+ br label %exc.cleanup12
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t45 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ %t46 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret void
+exc.cleanup9:
+ %t47 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ ret void
+exc.cleanup12:
+ %t48 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ %t49 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret void
+}
+define internal void @sc_f__x25_fn49(ptr %sc_env, ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_fn49(ptr %sc_env, ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_union_retag_6(ptr %p_sc_l_u_0) #0 { ; %union.retag.6
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_retag_6(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_retag_6(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_nretain_string(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_str_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_union_retag_7(ptr %p_sc_l_u_0) #0 { ; %union.retag.7
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_retag_7(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_retag_7(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r5(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_rrelease_r5(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_f__x25_unit_strand_8() #0 { ; %unit.strand.8
+entry:
+ %t0 = call ptr @scr_error_new(i32 1, ptr @sc_lit_1195707203851697)
+ call void @scr_throw_obj(ptr %t0, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_rec_width_3(ptr %p_sc_l_r_0) #0 { ; %rec.width.3
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = call ptr @sc_rnew_r16()
+ %t1 = load ptr, ptr %sc_l_r_0
+ %t2 = getelementptr inbounds %sc_rs_r31, ptr %t1, i64 0, i32 1
+ %t3 = load ptr, ptr %t2
+ %t4 = icmp eq ptr %t3, @sc_nullable_absent
+ %t5 = select i1 %t4, ptr null, ptr %t3
+ %t6 = call ptr @sc_bf__x25_union_narrow_7(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rrelease_r16(ptr %t0)
+ ret ptr null
+exc.k1:
+ %t10 = call ptr @sc_rretain_r5(ptr %t6)
+ %t11 = getelementptr inbounds %sc_rs_r16, ptr %t0, i64 0, i32 1
+ store ptr %t10, ptr %t11
+ %t12 = load ptr, ptr %sc_l_r_0
+ %t13 = getelementptr inbounds %sc_rs_r31, ptr %t12, i64 0, i32 2
+ %t14 = load double, ptr %t13
+ %t15 = getelementptr inbounds %sc_rs_r16, ptr %t0, i64 0, i32 2
+ store double %t14, ptr %t15
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_rec_width_3(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_rec_width_3(ptr %p0)
+ call void @sc_rrelease_r31(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_15(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.15
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @sc_rretain_r16(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_15(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_15(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_headersDistinct_snapshot_4(ptr %p_sc_l_r_0) #0 { ; %headersDistinct.snapshot.4
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_ps_0 = alloca ptr ; ps
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_i_0 = alloca double ; i
+ store ptr null, ptr %sc_l_ps_0
+ store ptr null, ptr %sc_l_out_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_r_0
+ %t5 = call ptr @scr_http_req_retain_v(ptr %t4)
+ %t6 = call ptr @scr_http_req_header_pairs(ptr %t5)
+ store ptr %t6, ptr %sc_l_ps_0
+ call void @scr_http_req_release(ptr %t5)
+ %t7 = call ptr @sc_rnew_r32()
+ store ptr %t7, ptr %sc_l_out_0
+ store double 0x0000000000000000, ptr %sc_l_i_0
+ br label %loop.c3
+loop.c3:
+ %t8 = load double, ptr %sc_l_i_0
+ %t9 = load ptr, ptr %sc_l_ps_0
+ %t10 = getelementptr inbounds %ScrArr, ptr %t9, i32 0, i32 1
+ %t11 = load i64, ptr %t10, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t12 = sitofp i64 %t11 to double
+ %t14 = fptosi double %t12 to i64
+ %t13 = fcmp olt double %t8, %t12
+ br i1 %t13, label %loop.b4, label %loop.e2
+loop.b4:
+ %t15 = load ptr, ptr %sc_l_out_0
+ %t16 = call ptr @sc_rretain_r32(ptr %t15)
+ %t17 = load ptr, ptr %sc_l_ps_0
+ %t18 = load double, ptr %sc_l_i_0
+ %t19 = fptosi double %t18 to i64
+ %t21 = freeze i64 %t19
+ %t20 = sitofp i64 %t21 to double
+ %t22 = fcmp oeq double %t20, %t18
+ %t27 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 8
+ %t28 = load ptr, ptr %t27, !tbaa !2
+ %t23 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 1
+ %t24 = load i64, ptr %t23, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t25 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 2
+ %t26 = load i64, ptr %t25, !tbaa !2
+ %t29 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 9
+ %t30 = load ptr, ptr %t29, !tbaa !2
+ %t31 = getelementptr inbounds %ScrArr, ptr %t17, i32 0, i32 6
+ %t32 = load i32, ptr %t31, !tbaa !2
+ %t33 = zext i32 %t32 to i64
+ %t34 = icmp ult i64 %t21, %t33
+ %t35 = and i1 %t22, %t34
+ br i1 %t35, label %arr.get.value8, label %arr.check9
+arr.check9:
+ %t36 = icmp ult i64 %t21, %t26
+ %t37 = icmp ult i64 %t21, %t24
+ %t38 = and i1 %t22, %t36
+ %t39 = and i1 %t38, %t37
+ br i1 %t39, label %arr.dense10, label %arr.get.slow6
+arr.dense10:
+ %t40 = getelementptr inbounds i8, ptr %t30, i64 %t21
+ %t41 = load i8, ptr %t40, !tbaa !4
+ %t42 = icmp eq i8 %t41, 1
+ br i1 %t42, label %arr.get.value8, label %arr.get.slow6
+arr.get.value8:
+ %t43 = getelementptr inbounds i64, ptr %t28, i64 %t21
+ %t44 = load ptr, ptr %t43, !tbaa !6
+ %t45 = icmp ne ptr %t44, null
+ br i1 %t45, label %arr.get.ref11, label %arr.get.slow6
+arr.get.ref11:
+ %t46 = call ptr @sc_rc_retain_str(ptr %t44)
+ br label %arr.get.join7
+arr.get.slow6:
+ %t47 = call ptr @scr_arr_get_ref(ptr %t17, double %t18) cold
+ br label %arr.get.join7
+arr.get.join7:
+ %t48 = phi ptr [ %t46, %arr.get.ref11 ], [ %t47, %arr.get.slow6 ]
+ %t49 = load ptr, ptr %sc_l_r_0
+ %t50 = call ptr @scr_http_req_retain_v(ptr %t49)
+ %t51 = load ptr, ptr %sc_l_ps_0
+ %t52 = load double, ptr %sc_l_i_0
+ %t53 = fptosi double %t52 to i64
+ %t55 = freeze i64 %t53
+ %t54 = sitofp i64 %t55 to double
+ %t56 = fcmp oeq double %t54, %t52
+ %t61 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 8
+ %t62 = load ptr, ptr %t61, !tbaa !2
+ %t57 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 1
+ %t58 = load i64, ptr %t57, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t59 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 2
+ %t60 = load i64, ptr %t59, !tbaa !2
+ %t63 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 9
+ %t64 = load ptr, ptr %t63, !tbaa !2
+ %t65 = getelementptr inbounds %ScrArr, ptr %t51, i32 0, i32 6
+ %t66 = load i32, ptr %t65, !tbaa !2
+ %t67 = zext i32 %t66 to i64
+ %t68 = icmp ult i64 %t55, %t67
+ %t69 = and i1 %t56, %t68
+ br i1 %t69, label %arr.get.value14, label %arr.check15
+arr.check15:
+ %t70 = icmp ult i64 %t55, %t60
+ %t71 = icmp ult i64 %t55, %t58
+ %t72 = and i1 %t56, %t70
+ %t73 = and i1 %t72, %t71
+ br i1 %t73, label %arr.dense16, label %arr.get.slow12
+arr.dense16:
+ %t74 = getelementptr inbounds i8, ptr %t64, i64 %t55
+ %t75 = load i8, ptr %t74, !tbaa !4
+ %t76 = icmp eq i8 %t75, 1
+ br i1 %t76, label %arr.get.value14, label %arr.get.slow12
+arr.get.value14:
+ %t77 = getelementptr inbounds i64, ptr %t62, i64 %t55
+ %t78 = load ptr, ptr %t77, !tbaa !6
+ %t79 = icmp ne ptr %t78, null
+ br i1 %t79, label %arr.get.ref17, label %arr.get.slow12
+arr.get.ref17:
+ %t80 = call ptr @sc_rc_retain_str(ptr %t78)
+ br label %arr.get.join13
+arr.get.slow12:
+ %t81 = call ptr @scr_arr_get_ref(ptr %t51, double %t52) cold
+ br label %arr.get.join13
+arr.get.join13:
+ %t82 = phi ptr [ %t80, %arr.get.ref17 ], [ %t81, %arr.get.slow12 ]
+ %t83 = call ptr @scr_http_req_header_values(ptr %t50, ptr %t82) ; +1 or NULL
+ %t84 = getelementptr inbounds %sc_rs_r32, ptr %t16, i64 0, i32 1
+ %t85 = load ptr, ptr %t84
+ call void @scr_map_set_str_ref(ptr %t85, ptr %t48, ptr %t83)
+ br label %rks.j18
+rks.j18:
+ call void @sc_rrelease_r32(ptr %t16)
+ call void @scr_str_release(ptr %t48)
+ call void @scr_http_req_release(ptr %t50)
+ call void @scr_str_release(ptr %t82)
+ br label %loop.u5
+loop.u5:
+ %t86 = load double, ptr %sc_l_i_0
+ %t87 = fadd double %t86, 0x4000000000000000
+ store double %t87, ptr %sc_l_i_0
+ br label %loop.c3
+loop.e2:
+ %t88 = load ptr, ptr %sc_l_out_0
+ %t89 = load ptr, ptr %sc_l_ps_0
+ call void @scr_arr_release(ptr %t89)
+ ret ptr %t88
+}
+define internal ptr @sc_f__x25_headersDistinct_snapshot_4(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_headersDistinct_snapshot_4(ptr %p0)
+ call void @scr_http_req_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_16(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.16
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_16(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_16(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_union_retag_9(ptr %p_sc_l_u_0) #0 { ; %union.retag.9
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_retag_9(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_retag_9(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m4_UploadedFile(ptr %p0)
+ ret ptr %t3
+}
+
+define internal i1 @sc_bf__x25_obj_hasOwn_17(ptr %p_sc_l_r_0, ptr %p_sc_l_k_0) #0 { ; %obj.hasOwn.17
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_k_0 = alloca ptr ; k
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_r_0
+ %t5 = call ptr @sc_rretain_r3(ptr %t4)
+ %t6 = load ptr, ptr %sc_l_k_0
+ %t7 = call ptr @sc_rc_retain_str(ptr %t6)
+ %t8 = getelementptr inbounds %sc_rs_r3, ptr %t5, i64 0, i32 1
+ %t9 = load ptr, ptr %t8
+ %t10 = call zeroext i1 @scr_map_has_str(ptr %t9, ptr %t7)
+ call void @sc_rrelease_r3(ptr %t5)
+ call void @scr_str_release(ptr %t7)
+ ret i1 %t10
+}
+define internal i1 @sc_f__x25_obj_hasOwn_17(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_obj_hasOwn_17(ptr %p0, ptr %p1)
+ call void @sc_rrelease_r3(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal ptr @sc_bf__x25_union_narrow_9(ptr %p_sc_l_u_0) #0 { ; %union.narrow.9
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_9(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_narrow_9(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_release__x25_m4_UploadedFile(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_f__x25_unit_strand_10() #0 { ; %unit.strand.10
+entry:
+ %t0 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3628675094055315)
+ call void @scr_throw_obj(ptr %t0, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser() #0 { ; %prototype.data.%m4.MultipartParser
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_3531366543973767)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed)
+ %t13 = call ptr @sc_dfb_0(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_1173128410961643)
+ %t32 = call ptr @scr_dyn_new_obj()
+ %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish)
+ %t34 = call ptr @sc_dfb_1(ptr %t33, ptr null)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret ptr null
+exc.k13:
+ %t38 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k15:
+ %t42 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.k17:
+ %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ %t52 = call ptr @sc_td_0(ptr @sc_lit_1900193337948069)
+ %t53 = call ptr @scr_dyn_new_obj()
+ %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed)
+ %t55 = call ptr @sc_dfb_1(ptr %t54, ptr null)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ ret ptr null
+exc.k21:
+ %t59 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ ret ptr null
+exc.k23:
+ %t63 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ ret ptr null
+exc.k25:
+ %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ ret ptr null
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t73 = call ptr @sc_td_0(ptr @sc_lit_3922224781708262)
+ %t74 = call ptr @scr_dyn_new_obj()
+ %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit)
+ %t76 = call ptr @sc_dfb_1(ptr %t75, ptr null)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret ptr null
+exc.k29:
+ %t80 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ ret ptr null
+exc.k31:
+ %t84 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k33:
+ %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t88)
+ ret ptr null
+exc.k35:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t88)
+ %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ %t93 = call ptr @sc_rc_retain_dyn(ptr %t92)
+ %t94 = call ptr @sc_td_0(ptr @sc_lit_1360183775732063)
+ %t95 = call ptr @scr_dyn_new_obj()
+ %t96 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart)
+ %t97 = call ptr @sc_dfb_1(ptr %t96, ptr null)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3610950885518037, ptr %t97)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t93)
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr null
+exc.k37:
+ %t101 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_1948131179100861, ptr %t101)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t93)
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t97)
+ call void @sc_rc_release_dyn(ptr %t101)
+ ret ptr null
+exc.k39:
+ %t105 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t95, ptr @sc_lit_3198935257758645, ptr %t105)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t93)
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t97)
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t105)
+ ret ptr null
+exc.k41:
+ %t109 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t93, ptr %t94, ptr %t95)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t93)
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t97)
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t109)
+ ret ptr null
+exc.k43:
+ call void @sc_rc_release_dyn(ptr %t93)
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t95)
+ call void @scr_closure_release(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t97)
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t109)
+ %t113 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ %t114 = call ptr @sc_rc_retain_dyn(ptr %t113)
+ %t115 = call ptr @sc_td_0(ptr @sc_lit_142546227685363)
+ %t116 = call ptr @scr_dyn_new_obj()
+ %t117 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart)
+ %t118 = call ptr @sc_dfb_0(ptr %t117, ptr null)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3610950885518037, ptr %t118)
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t114)
+ call void @sc_rc_release_dyn(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ ret ptr null
+exc.k45:
+ %t122 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_1948131179100861, ptr %t122)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t114)
+ call void @sc_rc_release_dyn(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t122)
+ ret ptr null
+exc.k47:
+ %t126 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t116, ptr @sc_lit_3198935257758645, ptr %t126)
+ %t127 = load i32, ptr %exc.cell
+ %t128 = icmp ne i32 %t127, 0
+ %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false)
+ br i1 %t129, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t114)
+ call void @sc_rc_release_dyn(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t126)
+ ret ptr null
+exc.k49:
+ %t130 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t114, ptr %t115, ptr %t116)
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t114)
+ call void @sc_rc_release_dyn(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.k51:
+ call void @sc_rc_release_dyn(ptr %t114)
+ call void @sc_rc_release_dyn(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @scr_closure_release(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t130)
+ %t134 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ %t135 = call ptr @sc_rc_retain_dyn(ptr %t134)
+ %t136 = call ptr @sc_td_0(ptr @sc_lit_2281930073577937)
+ %t137 = call ptr @scr_dyn_new_obj()
+ %t138 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit)
+ %t139 = call ptr @sc_dfb_0(ptr %t138, ptr null)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3610950885518037, ptr %t139)
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t135)
+ call void @sc_rc_release_dyn(ptr %t136)
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @sc_rc_release_dyn(ptr %t139)
+ ret ptr null
+exc.k53:
+ %t143 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_1948131179100861, ptr %t143)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t135)
+ call void @sc_rc_release_dyn(ptr %t136)
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @sc_rc_release_dyn(ptr %t139)
+ call void @sc_rc_release_dyn(ptr %t143)
+ ret ptr null
+exc.k55:
+ %t147 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t137, ptr @sc_lit_3198935257758645, ptr %t147)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t135)
+ call void @sc_rc_release_dyn(ptr %t136)
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @sc_rc_release_dyn(ptr %t139)
+ call void @sc_rc_release_dyn(ptr %t143)
+ call void @sc_rc_release_dyn(ptr %t147)
+ ret ptr null
+exc.k57:
+ %t151 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t135, ptr %t136, ptr %t137)
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t135)
+ call void @sc_rc_release_dyn(ptr %t136)
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @sc_rc_release_dyn(ptr %t139)
+ call void @sc_rc_release_dyn(ptr %t143)
+ call void @sc_rc_release_dyn(ptr %t147)
+ call void @sc_rc_release_dyn(ptr %t151)
+ ret ptr null
+exc.k59:
+ call void @sc_rc_release_dyn(ptr %t135)
+ call void @sc_rc_release_dyn(ptr %t136)
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @scr_closure_release(ptr %t138)
+ call void @sc_rc_release_dyn(ptr %t139)
+ call void @sc_rc_release_dyn(ptr %t143)
+ call void @sc_rc_release_dyn(ptr %t147)
+ call void @sc_rc_release_dyn(ptr %t151)
+ %t155 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ %t156 = call ptr @sc_rc_retain_dyn(ptr %t155)
+ %t157 = call ptr @sc_td_0(ptr @sc_lit_1113582459875923)
+ %t158 = call ptr @scr_dyn_new_obj()
+ %t159 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart)
+ %t160 = call ptr @sc_dfb_1(ptr %t159, ptr null)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3610950885518037, ptr %t160)
+ %t161 = load i32, ptr %exc.cell
+ %t162 = icmp ne i32 %t161, 0
+ %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false)
+ br i1 %t163, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @sc_rc_release_dyn(ptr %t160)
+ ret ptr null
+exc.k61:
+ %t164 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_1948131179100861, ptr %t164)
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_rc_release_dyn(ptr %t164)
+ ret ptr null
+exc.k63:
+ %t168 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t158, ptr @sc_lit_3198935257758645, ptr %t168)
+ %t169 = load i32, ptr %exc.cell
+ %t170 = icmp ne i32 %t169, 0
+ %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false)
+ br i1 %t171, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_rc_release_dyn(ptr %t164)
+ call void @sc_rc_release_dyn(ptr %t168)
+ ret ptr null
+exc.k65:
+ %t172 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t156, ptr %t157, ptr %t158)
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_rc_release_dyn(ptr %t164)
+ call void @sc_rc_release_dyn(ptr %t168)
+ call void @sc_rc_release_dyn(ptr %t172)
+ ret ptr null
+exc.k67:
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t158)
+ call void @scr_closure_release(ptr %t159)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_rc_release_dyn(ptr %t164)
+ call void @sc_rc_release_dyn(ptr %t168)
+ call void @sc_rc_release_dyn(ptr %t172)
+ br label %if.j3
+if.j3:
+ %t176 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ %t177 = call ptr @sc_rc_retain_dyn(ptr %t176)
+ ret ptr %t177
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m4.MultipartParser
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_3163508115280491
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_3163508115280491)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_3163508115280491
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_105(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ ret ptr %t31
+if.j7:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartParser(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t33)
+ ret ptr null
+exc.k16:
+ ret ptr %t33
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m4.MultipartParser.feed
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m4_MultipartParser_feed(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed(ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish() #0 { ; %method.value:%%m4.MultipartParser.finish
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_bf__x25__x25_m4_MultipartParser_finish(ptr %t5)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed() #0 { ; %method.value:%%m4.MultipartParser._malformed
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_bf__x25__x25_m4_MultipartParser__malformed(ptr %t5)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit() #0 { ; %method.value:%%m4.MultipartParser._limit
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_bf__x25__x25_m4_MultipartParser__limit(ptr %t5)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart() #0 { ; %method.value:%%m4.MultipartParser._abortPart
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_bf__x25__x25_m4_MultipartParser__abortPart(ptr %t5)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m4.MultipartParser._startPart
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m4_MultipartParser__startPart(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart(ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m4.MultipartParser._emit
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m4_MultipartParser__emit(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit(ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart() #0 { ; %method.value:%%m4.MultipartParser._endPart
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartParser(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_bf__x25__x25_m4_MultipartParser__endPart(ptr %t5)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m4_MultipartParser(ptr %t5)
+ ret void
+}
+
+define internal void @sc_f__x25_fn50_then2(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_f_0, ptr %p_sc_l_r_0) #0 { ; %fn50_then2
+entry:
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_e_0 = alloca ptr ; e
+ %s18 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l_e_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_f_0, ptr %sc_l_f_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @scr_promise_retain_v(ptr %t4)
+ call void @scr_await_void(ptr %t5)
+ %t6 = load ptr, ptr @scr_exc_active
+ %t7 = load i32, ptr %t6
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_promise_release(ptr %t5)
+ br label %try.c3
+exc.k7:
+ call void @scr_promise_release(ptr %t5)
+ br label %try.e5
+try.c3:
+ %t10 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t10, ptr %sc_l_e_0
+ %t11 = load ptr, ptr %sc_l_r_0
+ %t12 = load ptr, ptr %sc_l_e_0
+ %t13 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t12)
+ %t14 = load ptr, ptr @scr_exc_active
+ %t15 = load i32, ptr %t14
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t13)
+ br label %exc.cleanup10
+exc.k9:
+ %t19 = getelementptr inbounds [1 x ptr], ptr %s18, i64 0, i64 0
+ store ptr %t13, ptr %t19
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t20 = call ptr @scr_dyn_call(ptr %t11, ptr %s18, i64 1, ptr @sc_cs_4467357854213836)
+ call void @scr_dyn_this_pop()
+ %t21 = load ptr, ptr @scr_exc_active
+ %t22 = load i32, ptr %t21
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t20)
+ br label %exc.cleanup10
+exc.k12:
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t20)
+ %t25 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t25)
+ %t26 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t26)
+ %t27 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t27)
+ %t28 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret void
+try.e5:
+ %t29 = load ptr, ptr %sc_l_f_0
+ %t30 = getelementptr inbounds %ScrClosure, ptr %t29, i64 0, i32 1
+ %t31 = load ptr, ptr %t30
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t31(ptr %t29)
+ call void @scr_dyn_this_pop()
+ %t32 = load ptr, ptr @scr_exc_active
+ %t33 = load i32, ptr %t32
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u13, label %exc.k14
+exc.u13:
+ br label %exc.cleanup2
+exc.k14:
+ %t36 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t36)
+ %t37 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t37)
+ %t38 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret void
+exc.cleanup2:
+ %t39 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t39)
+ %t40 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t40)
+ %t41 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret void
+exc.cleanup10:
+ %t42 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t42)
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t43)
+ %t44 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t44)
+ %t45 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn51(ptr %sc_env, ptr %p_sc_l_chunk_0) #0 { ; %fn51
+entry:
+ %sc_l_chunk_0 = alloca ptr ; chunk
+ %sc_l_answered_0 = alloca ptr ; answered
+ %sc_l_parser_0 = alloca ptr ; parser
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_parser_1 = alloca ptr ; parser
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_req_1 = alloca ptr ; req
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s39 = alloca ptr
+ %s54 = alloca [1 x ptr]
+ %s75 = alloca double
+ %s76 = alloca i32
+ %s83 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_parser_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_req_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_answered_0 ; captured answered
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_parser_0 ; captured parser
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_sink_0 ; captured sink
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_req_0 ; captured req
+ store ptr %p_sc_l_chunk_0, ptr %sc_l_chunk_0
+ %t12 = call ptr @llvm.stacksave.p0()
+ %t13 = load ptr, ptr @scr_stack_guard
+ %t14 = icmp ult ptr %t12, %t13
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t16 = load ptr, ptr %sc_l_parser_0
+ %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5
+ %t18 = load ptr, ptr %t17
+ store ptr %t18, ptr %sc_l_parser_1
+ %t19 = load ptr, ptr %sc_l_sink_0
+ %t20 = getelementptr inbounds %ScrBox, ptr %t19, i32 0, i32 5
+ %t21 = load ptr, ptr %t20
+ store ptr %t21, ptr %sc_l_sink_1
+ %t22 = load ptr, ptr %sc_l_req_0
+ %t23 = getelementptr inbounds %ScrBox, ptr %t22, i32 0, i32 5
+ %t24 = load ptr, ptr %t23
+ store ptr %t24, ptr %sc_l_req_1
+ %t25 = load ptr, ptr %sc_l_answered_0
+ %t28 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5
+ %t27 = load i64, ptr %t28
+ %t26 = icmp ne i64 %t27, 0
+ br i1 %t26, label %if.t2, label %if.j3
+if.t2:
+ ret void
+if.j3:
+ %t29 = load ptr, ptr %sc_l_parser_1
+ store ptr %t29, ptr %sc_l__x25_callbackReceiver_0
+ %t30 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t31 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t30)
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t31)
+ ret void
+exc.k5:
+ store ptr %t31, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t35 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t36 = getelementptr inbounds i8, ptr %t35, i64 8 ; ->kind
+ %t37 = load i32, ptr %t36
+ %t38 = icmp eq i32 %t37, 6
+ br i1 %t38, label %tern.t6, label %tern.f7
+tern.t6:
+ %t41 = call ptr @scr_dyn_undefined()
+ %t40 = call ptr @scr_dyn_retain_v(ptr %t41)
+ store ptr %t40, ptr %s39
+ br label %tern.j8
+tern.f7:
+ %t42 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t43 = call ptr @sc_rc_retain_dyn(ptr %t42)
+ %t44 = call ptr @sc_f__x25_dyn_class_property_25(ptr %t43)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t44)
+ br label %exc.cleanup11
+exc.k10:
+ store ptr %t44, ptr %s39
+ br label %tern.j8
+tern.j8:
+ %t48 = load ptr, ptr %s39
+ store ptr %t48, ptr %sc_l__x25_callback_0
+ %t49 = load ptr, ptr %sc_l__x25_callback_0
+ %t50 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t51 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t50, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t52 = load ptr, ptr %sc_l_chunk_0
+ %t53 = call ptr @sc_td_1(ptr %t52)
+ %t55 = getelementptr inbounds [1 x ptr], ptr %s54, i64 0, i64 0
+ store ptr %t53, ptr %t55
+ call void @scr_dyn_this_push_dyn(ptr %t51)
+ %t56 = call ptr @scr_dyn_call(ptr %t49, ptr %s54, i64 1, ptr @sc_cs_3152039762744504)
+ call void @scr_dyn_this_pop()
+ %t57 = load i32, ptr %exc.cell
+ %t58 = icmp ne i32 %t57, 0
+ %t59 = call i1 @llvm.expect.i1(i1 %t58, i1 false)
+ br i1 %t59, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @sc_rc_release_dyn(ptr %t56)
+ br label %exc.cleanup14
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @sc_rc_release_dyn(ptr %t56)
+ %t60 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t60)
+ %t61 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t61)
+ %t62 = load ptr, ptr %sc_l_parser_1
+ %t63 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t62, i64 0, i32 18
+ %t64 = load double, ptr %t63, !tbaa !26
+ %t65 = fcmp une double %t64, 0x0000000000000000
+ br i1 %t65, label %if.t15, label %if.j16
+if.t15:
+ %t66 = load ptr, ptr %sc_l_answered_0
+ %t67 = zext i1 true to i64
+ %t68 = getelementptr inbounds %ScrBox, ptr %t66, i32 0, i32 5
+ store i64 %t67, ptr %t68
+ %t69 = load ptr, ptr %sc_l_sink_1
+ %t70 = load ptr, ptr %sc_l_req_1
+ %t71 = load ptr, ptr %sc_l_parser_1
+ %t72 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t71, i64 0, i32 18
+ %t73 = load double, ptr %t72, !tbaa !26
+ %t74 = fcmp oeq double %t73, 0x4000000000000000
+ br i1 %t74, label %tern.t17, label %tern.f18
+tern.t17:
+ store double 0x4079D00000000000, ptr %s75
+ store i32 413, ptr %s76
+ br label %tern.j19
+tern.f18:
+ store double 0x4079000000000000, ptr %s75
+ store i32 400, ptr %s76
+ br label %tern.j19
+tern.j19:
+ %t77 = load double, ptr %s75
+ %t78 = load i32, ptr %s76
+ %t79 = load ptr, ptr %sc_l_parser_1
+ %t80 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t79, i64 0, i32 18
+ %t81 = load double, ptr %t80, !tbaa !26
+ %t82 = fcmp oeq double %t81, 0x4000000000000000
+ br i1 %t82, label %tern.t20, label %tern.f21
+tern.t20:
+ store ptr @sc_lit_1580796233797134, ptr %s83
+ br label %tern.j22
+tern.f21:
+ store ptr @sc_lit_960209946846820, ptr %s83
+ br label %tern.j22
+tern.j22:
+ %t84 = load ptr, ptr %s83
+ call void @sc_bf__x25_m5_abortMultipart.i32(ptr %t69, ptr %t70, i32 %t78, ptr %t84)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u23, label %exc.k24
+exc.u23:
+ ret void
+exc.k24:
+ br label %if.j16
+if.j16:
+ ret void
+exc.cleanup11:
+ %t88 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t88)
+ ret void
+exc.cleanup14:
+ %t89 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t90 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t90)
+ ret void
+}
+define internal void @sc_f__x25_fn51(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn51(ptr %sc_env, ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_fn52(ptr %sc_env) #0 { ; %fn52
+entry:
+ %sc_l_answered_0 = alloca ptr ; answered
+ %sc_l_parser_0 = alloca ptr ; parser
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_rv_0 = alloca ptr ; rv
+ %sc_l__x25_callbackReceiver_1 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_1 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_1 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_1 = alloca ptr ; %callback
+ %sc_l_chain_0 = alloca ptr ; chain
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_parser_1 = alloca ptr ; parser
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_req_1 = alloca ptr ; req
+ %sc_l_c_1 = alloca ptr ; c
+ %sc_l_chain_1 = alloca ptr ; chain
+ %sc_l_oef_1 = alloca ptr ; oef
+ %s37 = alloca %ScrUnion
+ %s38 = getelementptr inbounds %ScrUnion, ptr %s37, i32 0, i32 1
+ %s39 = getelementptr inbounds %ScrUnion, ptr %s37, i32 0, i32 5
+ %s40 = alloca ptr
+ %s47 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s75 = alloca ptr
+ %s104 = alloca double
+ %s105 = alloca i32
+ %s112 = alloca ptr
+ %s132 = alloca ptr
+ %s155 = alloca [2 x ptr]
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_rv_0
+ store ptr null, ptr %sc_l__x25_callbackReceiver_1
+ store ptr null, ptr %sc_l__x25_callbackBag_1
+ store ptr null, ptr %sc_l__x25_callback_1
+ store ptr null, ptr %sc_l_parser_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_req_1
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %sc_l_chain_1
+ store ptr null, ptr %sc_l_oef_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_answered_0 ; captured answered
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_parser_0 ; captured parser
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_sink_0 ; captured sink
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_req_0 ; captured req
+ %t12 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t13 = getelementptr inbounds ptr, ptr %t12, i64 4 ; caps[4]
+ %t14 = load ptr, ptr %t13
+ store ptr %t14, ptr %sc_l_c_0 ; captured c
+ %t15 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t16 = getelementptr inbounds ptr, ptr %t15, i64 5 ; caps[5]
+ %t17 = load ptr, ptr %t16
+ store ptr %t17, ptr %sc_l_chain_0 ; captured chain
+ %t18 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t19 = getelementptr inbounds ptr, ptr %t18, i64 6 ; caps[6]
+ %t20 = load ptr, ptr %t19
+ store ptr %t20, ptr %sc_l_oef_0 ; captured oef
+ %t21 = call ptr @llvm.stacksave.p0()
+ %t22 = load ptr, ptr @scr_stack_guard
+ %t23 = icmp ult ptr %t21, %t22
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t25 = load ptr, ptr %sc_l_parser_0
+ %t26 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5
+ %t27 = load ptr, ptr %t26
+ store ptr %t27, ptr %sc_l_parser_1
+ %t28 = load ptr, ptr %sc_l_sink_0
+ %t29 = getelementptr inbounds %ScrBox, ptr %t28, i32 0, i32 5
+ %t30 = load ptr, ptr %t29
+ store ptr %t30, ptr %sc_l_sink_1
+ %t31 = load ptr, ptr %sc_l_req_0
+ %t32 = getelementptr inbounds %ScrBox, ptr %t31, i32 0, i32 5
+ %t33 = load ptr, ptr %t32
+ store ptr %t33, ptr %sc_l_req_1
+ %t34 = load ptr, ptr %sc_l_c_0
+ %t35 = getelementptr inbounds %ScrBox, ptr %t34, i32 0, i32 5
+ %t36 = load ptr, ptr %t35
+ store ptr %t36, ptr %sc_l_c_1
+ store ptr null, ptr %s40
+ %t41 = load ptr, ptr %sc_l_chain_0
+ %t42 = getelementptr inbounds %ScrBox, ptr %t41, i32 0, i32 5
+ %t43 = load ptr, ptr %t42
+ %t45 = getelementptr inbounds %ScrUnion, ptr %t43, i64 0, i32 1
+ %t44 = load i32, ptr %t45
+ store ptr null, ptr %s47
+ %t46 = icmp eq i32 %t44, 0
+ br i1 %t46, label %union.copy.ref2, label %union.copy.join3
+union.copy.ref2:
+ %t48 = getelementptr inbounds %ScrUnion, ptr %t43, i64 0, i32 5
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @scr_closure_retain_v(ptr %t49)
+ store ptr %t50, ptr %s47
+ br label %union.copy.join3
+union.copy.join3:
+ %t51 = load ptr, ptr %s47
+ %t53 = getelementptr inbounds %ScrUnion, ptr %t43, i64 0, i32 1
+ %t52 = load i32, ptr %t53
+ %t54 = getelementptr inbounds %ScrUnion, ptr %t43, i32 0, i32 5
+ %t55 = load i64, ptr %t54
+ store i32 %t52, ptr %s38
+ store i64 %t55, ptr %s39
+ %t56 = load ptr, ptr %s40
+ store ptr %t51, ptr %s40
+ call void @scr_closure_release(ptr %t56)
+ store ptr %s37, ptr %sc_l_chain_1
+ %t57 = load ptr, ptr %sc_l_oef_0
+ %t58 = getelementptr inbounds %ScrBox, ptr %t57, i32 0, i32 5
+ %t59 = load ptr, ptr %t58
+ store ptr %t59, ptr %sc_l_oef_1
+ %t60 = load ptr, ptr %sc_l_answered_0
+ %t63 = getelementptr inbounds %ScrBox, ptr %t60, i32 0, i32 5
+ %t62 = load i64, ptr %t63
+ %t61 = icmp ne i64 %t62, 0
+ br i1 %t61, label %if.t4, label %if.j5
+if.t4:
+ %t64 = load ptr, ptr %s40
+ call void @scr_closure_release(ptr %t64)
+ ret void
+if.j5:
+ %t65 = load ptr, ptr %sc_l_parser_1
+ store ptr %t65, ptr %sc_l__x25_callbackReceiver_0
+ %t66 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t67 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup8
+exc.k7:
+ store ptr %t67, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t71 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t72 = getelementptr inbounds i8, ptr %t71, i64 8 ; ->kind
+ %t73 = load i32, ptr %t72
+ %t74 = icmp eq i32 %t73, 6
+ br i1 %t74, label %tern.t9, label %tern.f10
+tern.t9:
+ %t77 = call ptr @scr_dyn_undefined()
+ %t76 = call ptr @scr_dyn_retain_v(ptr %t77)
+ store ptr %t76, ptr %s75
+ br label %tern.j11
+tern.f10:
+ %t78 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t79 = call ptr @sc_rc_retain_dyn(ptr %t78)
+ %t80 = call ptr @sc_f__x25_dyn_class_property_26(ptr %t79)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t80)
+ br label %exc.cleanup14
+exc.k13:
+ store ptr %t80, ptr %s75
+ br label %tern.j11
+tern.j11:
+ %t84 = load ptr, ptr %s75
+ store ptr %t84, ptr %sc_l__x25_callback_0
+ %t85 = load ptr, ptr %sc_l__x25_callback_0
+ %t86 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t87 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t86, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t87)
+ %t88 = call ptr @scr_dyn_call(ptr %t85, ptr null, i64 0, ptr @sc_cs_3007189739552489)
+ call void @scr_dyn_this_pop()
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_rc_release_dyn(ptr %t87)
+ call void @sc_rc_release_dyn(ptr %t88)
+ br label %exc.cleanup17
+exc.k16:
+ call void @sc_rc_release_dyn(ptr %t87)
+ call void @sc_rc_release_dyn(ptr %t88)
+ %t92 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t92)
+ %t93 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t93)
+ %t94 = load ptr, ptr %sc_l_parser_1
+ %t95 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t94, i64 0, i32 18
+ %t96 = load double, ptr %t95, !tbaa !26
+ %t97 = fcmp une double %t96, 0x0000000000000000
+ br i1 %t97, label %if.t18, label %if.j19
+if.t18:
+ %t98 = load ptr, ptr %sc_l_sink_1
+ %t99 = load ptr, ptr %sc_l_req_1
+ %t100 = load ptr, ptr %sc_l_parser_1
+ %t101 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t100, i64 0, i32 18
+ %t102 = load double, ptr %t101, !tbaa !26
+ %t103 = fcmp oeq double %t102, 0x4000000000000000
+ br i1 %t103, label %tern.t20, label %tern.f21
+tern.t20:
+ store double 0x4079D00000000000, ptr %s104
+ store i32 413, ptr %s105
+ br label %tern.j22
+tern.f21:
+ store double 0x4079000000000000, ptr %s104
+ store i32 400, ptr %s105
+ br label %tern.j22
+tern.j22:
+ %t106 = load double, ptr %s104
+ %t107 = load i32, ptr %s105
+ %t108 = load ptr, ptr %sc_l_parser_1
+ %t109 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t108, i64 0, i32 18
+ %t110 = load double, ptr %t109, !tbaa !26
+ %t111 = fcmp oeq double %t110, 0x4000000000000000
+ br i1 %t111, label %tern.t23, label %tern.f24
+tern.t23:
+ store ptr @sc_lit_1580796233797134, ptr %s112
+ br label %tern.j25
+tern.f24:
+ store ptr @sc_lit_960209946846820, ptr %s112
+ br label %tern.j25
+tern.j25:
+ %t113 = load ptr, ptr %s112
+ call void @sc_bf__x25_m5_abortMultipart.i32(ptr %t98, ptr %t99, i32 %t107, ptr %t113)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u26, label %exc.k27
+exc.u26:
+ br label %exc.cleanup8
+exc.k27:
+ %t117 = load ptr, ptr %s40
+ call void @scr_closure_release(ptr %t117)
+ ret void
+if.j19:
+ %t118 = load ptr, ptr %sc_l_c_1
+ %t119 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t118, i64 0, i32 1
+ %t120 = load ptr, ptr %t119, !tbaa !24
+ %t121 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t120)
+ store ptr %t121, ptr %sc_l_rv_0
+ %t122 = load ptr, ptr %sc_l_rv_0
+ store ptr %t122, ptr %sc_l__x25_callbackReceiver_1
+ %t123 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t124 = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %t123)
+ %t125 = load i32, ptr %exc.cell
+ %t126 = icmp ne i32 %t125, 0
+ %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false)
+ br i1 %t127, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t124)
+ br label %exc.cleanup30
+exc.k29:
+ store ptr %t124, ptr %sc_l__x25_callbackBag_1
+ store i1 true, ptr %sc_l__x25_callbackPresent_1
+ %t128 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t129 = getelementptr inbounds i8, ptr %t128, i64 8 ; ->kind
+ %t130 = load i32, ptr %t129
+ %t131 = icmp eq i32 %t130, 6
+ br i1 %t131, label %tern.t31, label %tern.f32
+tern.t31:
+ %t134 = call ptr @scr_dyn_undefined()
+ %t133 = call ptr @scr_dyn_retain_v(ptr %t134)
+ store ptr %t133, ptr %s132
+ br label %tern.j33
+tern.f32:
+ %t135 = load ptr, ptr %sc_l__x25_callbackBag_1
+ %t136 = call ptr @sc_rc_retain_dyn(ptr %t135)
+ %t137 = call ptr @sc_f__x25_dyn_class_property_27(ptr %t136)
+ %t138 = load i32, ptr %exc.cell
+ %t139 = icmp ne i32 %t138, 0
+ %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false)
+ br i1 %t140, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup36
+exc.k35:
+ store ptr %t137, ptr %s132
+ br label %tern.j33
+tern.j33:
+ %t141 = load ptr, ptr %s132
+ store ptr %t141, ptr %sc_l__x25_callback_1
+ %t142 = load ptr, ptr %sc_l__x25_callback_1
+ %t143 = load ptr, ptr %sc_l__x25_callbackReceiver_1
+ %t144 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t143, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t145 = load ptr, ptr %sc_l_parser_1
+ %t146 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t145, i64 0, i32 19
+ %t147 = load ptr, ptr %t146, !tbaa !28
+ %t148 = call ptr @scr_arr_retain_v(ptr %t147)
+ %t149 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t148, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t149, ptr @sc_ldr_11_materialize_ops)
+ %t150 = load ptr, ptr %sc_l_parser_1
+ %t151 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t150, i64 0, i32 20
+ %t152 = load ptr, ptr %t151, !tbaa !30
+ %t153 = call ptr @scr_arr_retain_v(ptr %t152)
+ %t154 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t153, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t154, ptr @sc_ldr_2_materialize_ops)
+ %t156 = getelementptr inbounds [2 x ptr], ptr %s155, i64 0, i64 0
+ store ptr %t149, ptr %t156
+ %t157 = getelementptr inbounds [2 x ptr], ptr %s155, i64 0, i64 1
+ store ptr %t154, ptr %t157
+ call void @scr_dyn_this_push_dyn(ptr %t144)
+ %t158 = call ptr @scr_dyn_call(ptr %t142, ptr %s155, i64 2, ptr @sc_cs_1513435222814291)
+ call void @scr_dyn_this_pop()
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_rc_release_dyn(ptr %t144)
+ call void @scr_arr_release(ptr %t148)
+ call void @sc_rc_release_dyn(ptr %t149)
+ call void @scr_arr_release(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t154)
+ call void @sc_rc_release_dyn(ptr %t158)
+ br label %exc.cleanup39
+exc.k38:
+ call void @sc_rc_release_dyn(ptr %t144)
+ call void @scr_arr_release(ptr %t148)
+ call void @sc_rc_release_dyn(ptr %t149)
+ call void @scr_arr_release(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t154)
+ call void @sc_rc_release_dyn(ptr %t158)
+ %t162 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t162)
+ %t163 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t163)
+ %t164 = load ptr, ptr %sc_l_chain_1
+ %t165 = load ptr, ptr %sc_l_c_1
+ %t166 = load ptr, ptr %sc_l_sink_1
+ %t167 = load ptr, ptr %sc_l_oef_1
+ call void @sc_bf__x25_m5_runChain(ptr %t164, ptr %t165, ptr %t166, ptr %t167)
+ %t168 = load i32, ptr %exc.cell
+ %t169 = icmp ne i32 %t168, 0
+ %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false)
+ br i1 %t170, label %exc.u40, label %exc.k41
+exc.u40:
+ br label %exc.cleanup30
+exc.k41:
+ %t171 = load ptr, ptr %s40
+ call void @scr_closure_release(ptr %t171)
+ %t172 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t172)
+ ret void
+exc.cleanup8:
+ %t173 = load ptr, ptr %s40
+ call void @scr_closure_release(ptr %t173)
+ ret void
+exc.cleanup14:
+ %t174 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t174)
+ %t175 = load ptr, ptr %s40
+ call void @scr_closure_release(ptr %t175)
+ ret void
+exc.cleanup17:
+ %t176 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t176)
+ %t177 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t178 = load ptr, ptr %s40
+ call void @scr_closure_release(ptr %t178)
+ ret void
+exc.cleanup30:
+ %t179 = load ptr, ptr %s40
+ call void @scr_closure_release(ptr %t179)
+ %t180 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t180)
+ ret void
+exc.cleanup36:
+ %t181 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t181)
+ %t182 = load ptr, ptr %s40
+ call void @scr_closure_release(ptr %t182)
+ %t183 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t183)
+ ret void
+exc.cleanup39:
+ %t184 = load ptr, ptr %sc_l__x25_callbackBag_1
+ call void @sc_rc_release_dyn(ptr %t184)
+ %t185 = load ptr, ptr %sc_l__x25_callback_1
+ call void @sc_rc_release_dyn(ptr %t185)
+ %t186 = load ptr, ptr %s40
+ call void @scr_closure_release(ptr %t186)
+ %t187 = load ptr, ptr %sc_l_rv_0
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t187)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_fn_adapt_11_impl(ptr %sc_env, ptr %p_sc_l_a_0) #0 { ; %fn.adapt.11.impl
+entry:
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l_a_0 = alloca ptr ; a0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_f_0 ; captured f
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_f_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ %t10 = call ptr @scr_dyn_this_get()
+ %t11 = load ptr, ptr %sc_l_a_0
+ %t12 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t11)
+ %t13 = getelementptr inbounds %ScrClosure, ptr %t9, i64 0, i32 1
+ %t14 = load ptr, ptr %t13
+ call void @scr_dyn_this_push_dyn(ptr %t10)
+ call void %t14(ptr %t9, ptr %t12)
+ call void @scr_dyn_this_pop()
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t10)
+ %t19 = call ptr @scr_dyn_undefined()
+ %t18 = call ptr @scr_dyn_retain_v(ptr %t19)
+ ret ptr %t18
+}
+define internal ptr @sc_f__x25_fn_adapt_11_impl(ptr %sc_env, ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn_adapt_11_impl(ptr %sc_env, ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_fn_adapt_11(ptr %p_sc_l_f_0) #0 { ; %fn.adapt.11
+entry:
+ %sc_l_f_0 = alloca ptr ; f
+ %s0 = alloca ptr ; lazy box f
+ store ptr null, ptr %s0
+ store ptr %p_sc_l_f_0, ptr %sc_l_f_0
+ %t1 = call ptr @scr_closure_new(ptr @sc_f__x25_fn_adapt_11_impl, i64 1)
+ %t2 = getelementptr inbounds %ScrClosure, ptr %t1, i64 0, i32 7
+ store ptr @sc_bf__x25_fn_adapt_11_impl, ptr %t2
+ %t3 = load ptr, ptr %s0
+ %t4 = icmp eq ptr %t3, null
+ br i1 %t4, label %lazy.box0, label %lazy.box.j1
+lazy.box0:
+ %t5 = call ptr @scr_box_new(i32 4)
+ %t6 = load ptr, ptr %sc_l_f_0
+ %t7 = call ptr @scr_closure_retain_v(ptr %t6)
+ call void @scr_box_set_ref(ptr %t5, ptr %t7)
+ store ptr %t5, ptr %s0
+ br label %lazy.box.j1
+lazy.box.j1:
+ %t8 = load ptr, ptr %s0
+ %t9 = call ptr @sc_retain_box(ptr %t8)
+ %t10 = getelementptr inbounds %ScrClosure, ptr %t1, i64 1 ; caps
+ %t11 = getelementptr inbounds ptr, ptr %t10, i64 0 ; caps[0]
+ store ptr %t9, ptr %t11
+ %t12 = getelementptr inbounds %ScrBox, ptr %t8, i64 0, i32 5
+ %t13 = load ptr, ptr %t12
+ call void @scr_closure_adopt_identity(ptr %t1, ptr %t13, i32 1)
+ %t14 = load ptr, ptr %s0
+ %t15 = icmp ne ptr %t14, null
+ br i1 %t15, label %lazy.release2, label %lazy.release.j3
+lazy.release2:
+ call void @scr_box_release(ptr %t14)
+ br label %lazy.release.j3
+lazy.release.j3:
+ ret ptr %t1
+}
+define internal ptr @sc_f__x25_fn_adapt_11(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn_adapt_11(ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_fn53(ptr %sc_env, ptr %p_sc_l__r_0, ptr %p_sc_l__s_0) #0 { ; %fn53
+entry:
+ %sc_l__r_0 = alloca ptr ; _r
+ %sc_l__s_0 = alloca ptr ; _s
+ store ptr %p_sc_l__r_0, ptr %sc_l__r_0
+ store ptr %p_sc_l__s_0, ptr %sc_l__s_0
+ ret i1 false
+}
+define internal i1 @sc_f__x25_fn53(ptr %sc_env, ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_fn53(ptr %sc_env, ptr %p0, ptr %p1)
+ call void @scr_http_req_release(ptr %p0)
+ call void @scr_http_res_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal void @sc_bf__x25_fn55(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn55
+entry:
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_resolve_0
+ %t5 = getelementptr inbounds %ScrClosure, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t6(ptr %t4, i1 false)
+ call void @scr_dyn_this_pop()
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ ret void
+exc.k3:
+ ret void
+}
+define internal void @sc_f__x25_fn55(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn55(ptr %sc_env, ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_fn54(ptr %sc_env, ptr %p_sc_l__m_0, ptr %p_sc_l__u_0, ptr %p_sc_l__h_0, ptr %p_sc_l__w_0, ptr %p_sc_l__b_0, ptr %p_sc_l__b8_0, ptr %p_sc_l__s_0) #0 { ; %fn54
+entry:
+ %sc_l__m_0 = alloca ptr ; _m
+ %sc_l__u_0 = alloca ptr ; _u
+ %sc_l__h_0 = alloca ptr ; _h
+ %sc_l__w_0 = alloca ptr ; _w
+ %sc_l__b_0 = alloca ptr ; _b
+ %sc_l__b8_0 = alloca ptr ; _b8
+ %sc_l__s_0 = alloca ptr ; _s
+ store ptr %p_sc_l__m_0, ptr %sc_l__m_0
+ store ptr %p_sc_l__u_0, ptr %sc_l__u_0
+ store ptr %p_sc_l__h_0, ptr %sc_l__h_0
+ store ptr %p_sc_l__w_0, ptr %sc_l__w_0
+ store ptr %p_sc_l__b_0, ptr %sc_l__b_0
+ store ptr %p_sc_l__b8_0, ptr %sc_l__b8_0
+ store ptr %p_sc_l__s_0, ptr %sc_l__s_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_promise_new()
+ %t5 = call ptr @scr_make_resolve(ptr %t4, i32 1)
+ %t6 = call ptr @scr_closure_new(ptr @sc_f__x25_fn55, i64 0)
+ %t7 = getelementptr inbounds %ScrClosure, ptr %t6, i64 0, i32 4
+ store i32 4, ptr %t7
+ %t8 = getelementptr inbounds %ScrClosure, ptr %t6, i64 0, i32 7
+ store ptr @sc_bf__x25_fn55, ptr %t8
+ call void @scr_promise_run_executor(ptr %t4, ptr %t6, ptr %t5)
+ call void @scr_closure_release(ptr %t6)
+ ret ptr %t4
+}
+define internal ptr @sc_f__x25_fn54(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_fn54(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_rrelease_r0(ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ call void @scr_union_release(ptr %p5)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p6)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_fn56(ptr %sc_env, ptr %p_sc_l__r_0, ptr %p_sc_l__s_0, ptr %p_sc_l__h_0) #0 { ; %fn56
+entry:
+ %sc_l__r_0 = alloca ptr ; _r
+ %sc_l__s_0 = alloca ptr ; _s
+ %sc_l__h_0 = alloca ptr ; _h
+ store ptr %p_sc_l__r_0, ptr %sc_l__r_0
+ store ptr %p_sc_l__s_0, ptr %sc_l__s_0
+ store ptr %p_sc_l__h_0, ptr %sc_l__h_0
+ ret i1 false
+}
+define internal i1 @sc_f__x25_fn56(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_fn56(ptr %sc_env, ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_http_req_release(ptr %p0)
+ call void @scr_net_sock_release(ptr %p1)
+ call void @scr_bytes_release(ptr %p2)
+ ret i1 %result
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse() #0 { ; %prototype.data.%m3.LiteResponse
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_dyn_release(ptr %t6)
+ ret ptr null
+exc.k5:
+ %t10 = call ptr @scr_dyn_obj_create(ptr %t6)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_dyn_release(ptr %t6)
+ call void @scr_dyn_release(ptr %t10)
+ ret ptr null
+exc.k7:
+ %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ call void @scr_dyn_release(ptr %t14)
+ store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ call void @scr_dyn_release(ptr %t6)
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse_ready
+ %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t16 = call ptr @sc_rc_retain_dyn(ptr %t15)
+ %t17 = call ptr @sc_td_0(ptr @sc_lit_3752021314181142)
+ %t18 = call ptr @scr_dyn_new_obj()
+ %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus)
+ %t20 = call ptr @sc_dfb_45(ptr %t19, ptr null)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ ret ptr null
+exc.k9:
+ %t24 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ ret ptr null
+exc.k11:
+ %t28 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ call void @scr_dyn_release(ptr %t28)
+ ret ptr null
+exc.k13:
+ %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ call void @scr_dyn_release(ptr %t28)
+ call void @scr_dyn_release(ptr %t32)
+ ret ptr null
+exc.k15:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ call void @scr_dyn_release(ptr %t28)
+ call void @scr_dyn_release(ptr %t32)
+ %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = call ptr @sc_td_0(ptr @sc_lit_2364278031517622)
+ %t39 = call ptr @scr_dyn_new_obj()
+ %t40 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader)
+ %t41 = call ptr @sc_dfb_9(ptr %t40, ptr null)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3610950885518037, ptr %t41)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ ret ptr null
+exc.k17:
+ %t45 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_1948131179100861, ptr %t45)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ ret ptr null
+exc.k19:
+ %t49 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3198935257758645, ptr %t49)
+ %t50 = load i32, ptr %exc.cell
+ %t51 = icmp ne i32 %t50, 0
+ %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false)
+ br i1 %t52, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ call void @scr_dyn_release(ptr %t49)
+ ret ptr null
+exc.k21:
+ %t53 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t37, ptr %t38, ptr %t39)
+ %t54 = load i32, ptr %exc.cell
+ %t55 = icmp ne i32 %t54, 0
+ %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false)
+ br i1 %t56, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ call void @scr_dyn_release(ptr %t49)
+ call void @scr_dyn_release(ptr %t53)
+ ret ptr null
+exc.k23:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ call void @scr_dyn_release(ptr %t49)
+ call void @scr_dyn_release(ptr %t53)
+ %t57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t58 = call ptr @sc_rc_retain_dyn(ptr %t57)
+ %t59 = call ptr @sc_td_0(ptr @sc_lit_470306239805907)
+ %t60 = call ptr @scr_dyn_new_obj()
+ %t61 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader)
+ %t62 = call ptr @sc_dfb_9(ptr %t61, ptr null)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3610950885518037, ptr %t62)
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ ret ptr null
+exc.k25:
+ %t66 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_1948131179100861, ptr %t66)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ ret ptr null
+exc.k27:
+ %t70 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3198935257758645, ptr %t70)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ call void @scr_dyn_release(ptr %t70)
+ ret ptr null
+exc.k29:
+ %t74 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t58, ptr %t59, ptr %t60)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ call void @scr_dyn_release(ptr %t70)
+ call void @scr_dyn_release(ptr %t74)
+ ret ptr null
+exc.k31:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ call void @scr_dyn_release(ptr %t70)
+ call void @scr_dyn_release(ptr %t74)
+ %t78 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t79 = call ptr @sc_rc_retain_dyn(ptr %t78)
+ %t80 = call ptr @sc_td_0(ptr @sc_lit_4133069531575059)
+ %t81 = call ptr @scr_dyn_new_obj()
+ %t82 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody)
+ %t83 = call ptr @sc_dfb_46(ptr %t82, ptr null)
+ call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3610950885518037, ptr %t83)
+ %t84 = load i32, ptr %exc.cell
+ %t85 = icmp ne i32 %t84, 0
+ %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false)
+ br i1 %t86, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ ret ptr null
+exc.k33:
+ %t87 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_1948131179100861, ptr %t87)
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ ret ptr null
+exc.k35:
+ %t91 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3198935257758645, ptr %t91)
+ %t92 = load i32, ptr %exc.cell
+ %t93 = icmp ne i32 %t92, 0
+ %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false)
+ br i1 %t94, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ call void @scr_dyn_release(ptr %t91)
+ ret ptr null
+exc.k37:
+ %t95 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t79, ptr %t80, ptr %t81)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ call void @scr_dyn_release(ptr %t91)
+ call void @scr_dyn_release(ptr %t95)
+ ret ptr null
+exc.k39:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ call void @scr_dyn_release(ptr %t91)
+ call void @scr_dyn_release(ptr %t95)
+ %t99 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t100 = call ptr @sc_rc_retain_dyn(ptr %t99)
+ %t101 = call ptr @sc_td_0(ptr @sc_lit_2253648670486996)
+ %t102 = call ptr @scr_dyn_new_obj()
+ %t103 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes)
+ %t104 = call ptr @sc_dfb_47(ptr %t103, ptr null)
+ call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3610950885518037, ptr %t104)
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ ret ptr null
+exc.k41:
+ %t108 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_1948131179100861, ptr %t108)
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ ret ptr null
+exc.k43:
+ %t112 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3198935257758645, ptr %t112)
+ %t113 = load i32, ptr %exc.cell
+ %t114 = icmp ne i32 %t113, 0
+ %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false)
+ br i1 %t115, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ call void @scr_dyn_release(ptr %t112)
+ ret ptr null
+exc.k45:
+ %t116 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t100, ptr %t101, ptr %t102)
+ %t117 = load i32, ptr %exc.cell
+ %t118 = icmp ne i32 %t117, 0
+ %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false)
+ br i1 %t119, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ call void @scr_dyn_release(ptr %t112)
+ call void @scr_dyn_release(ptr %t116)
+ ret ptr null
+exc.k47:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ call void @scr_dyn_release(ptr %t112)
+ call void @scr_dyn_release(ptr %t116)
+ %t120 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t121 = call ptr @sc_rc_retain_dyn(ptr %t120)
+ %t122 = call ptr @sc_td_0(ptr @sc_lit_161925136240866)
+ %t123 = call ptr @scr_dyn_new_obj()
+ %t124 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect)
+ %t125 = call ptr @sc_dfb_48(ptr %t124, ptr null)
+ call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3610950885518037, ptr %t125)
+ %t126 = load i32, ptr %exc.cell
+ %t127 = icmp ne i32 %t126, 0
+ %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false)
+ br i1 %t128, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ ret ptr null
+exc.k49:
+ %t129 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_1948131179100861, ptr %t129)
+ %t130 = load i32, ptr %exc.cell
+ %t131 = icmp ne i32 %t130, 0
+ %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false)
+ br i1 %t132, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ ret ptr null
+exc.k51:
+ %t133 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3198935257758645, ptr %t133)
+ %t134 = load i32, ptr %exc.cell
+ %t135 = icmp ne i32 %t134, 0
+ %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false)
+ br i1 %t136, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ call void @scr_dyn_release(ptr %t133)
+ ret ptr null
+exc.k53:
+ %t137 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t121, ptr %t122, ptr %t123)
+ %t138 = load i32, ptr %exc.cell
+ %t139 = icmp ne i32 %t138, 0
+ %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false)
+ br i1 %t140, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ call void @scr_dyn_release(ptr %t133)
+ call void @scr_dyn_release(ptr %t137)
+ ret ptr null
+exc.k55:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ call void @scr_dyn_release(ptr %t133)
+ call void @scr_dyn_release(ptr %t137)
+ %t141 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t142 = call ptr @sc_rc_retain_dyn(ptr %t141)
+ %t143 = call ptr @sc_td_0(ptr @sc_lit_298897322184109)
+ %t144 = call ptr @scr_dyn_new_obj()
+ %t145 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write)
+ %t146 = call ptr @sc_dfb_46(ptr %t145, ptr null)
+ call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3610950885518037, ptr %t146)
+ %t147 = load i32, ptr %exc.cell
+ %t148 = icmp ne i32 %t147, 0
+ %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false)
+ br i1 %t149, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ ret ptr null
+exc.k57:
+ %t150 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_1948131179100861, ptr %t150)
+ %t151 = load i32, ptr %exc.cell
+ %t152 = icmp ne i32 %t151, 0
+ %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false)
+ br i1 %t153, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ ret ptr null
+exc.k59:
+ %t154 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3198935257758645, ptr %t154)
+ %t155 = load i32, ptr %exc.cell
+ %t156 = icmp ne i32 %t155, 0
+ %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false)
+ br i1 %t157, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ call void @scr_dyn_release(ptr %t154)
+ ret ptr null
+exc.k61:
+ %t158 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t142, ptr %t143, ptr %t144)
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ call void @scr_dyn_release(ptr %t154)
+ call void @scr_dyn_release(ptr %t158)
+ ret ptr null
+exc.k63:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ call void @scr_dyn_release(ptr %t154)
+ call void @scr_dyn_release(ptr %t158)
+ %t162 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t163 = call ptr @sc_rc_retain_dyn(ptr %t162)
+ %t164 = call ptr @sc_td_0(ptr @sc_lit_4085448292571548)
+ %t165 = call ptr @scr_dyn_new_obj()
+ %t166 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead)
+ %t167 = call ptr @sc_dfb_49(ptr %t166, ptr null)
+ call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3610950885518037, ptr %t167)
+ %t168 = load i32, ptr %exc.cell
+ %t169 = icmp ne i32 %t168, 0
+ %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false)
+ br i1 %t170, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ ret ptr null
+exc.k65:
+ %t171 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_1948131179100861, ptr %t171)
+ %t172 = load i32, ptr %exc.cell
+ %t173 = icmp ne i32 %t172, 0
+ %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false)
+ br i1 %t174, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ ret ptr null
+exc.k67:
+ %t175 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3198935257758645, ptr %t175)
+ %t176 = load i32, ptr %exc.cell
+ %t177 = icmp ne i32 %t176, 0
+ %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false)
+ br i1 %t178, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ call void @scr_dyn_release(ptr %t175)
+ ret ptr null
+exc.k69:
+ %t179 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t163, ptr %t164, ptr %t165)
+ %t180 = load i32, ptr %exc.cell
+ %t181 = icmp ne i32 %t180, 0
+ %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false)
+ br i1 %t182, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ call void @scr_dyn_release(ptr %t175)
+ call void @scr_dyn_release(ptr %t179)
+ ret ptr null
+exc.k71:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ call void @scr_dyn_release(ptr %t175)
+ call void @scr_dyn_release(ptr %t179)
+ %t183 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t184 = call ptr @sc_rc_retain_dyn(ptr %t183)
+ %t185 = call ptr @sc_td_0(ptr @sc_lit_3561861343106386)
+ %t186 = call ptr @scr_dyn_new_obj()
+ %t187 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream)
+ %t188 = call ptr @sc_dfb_1(ptr %t187, ptr null)
+ call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3610950885518037, ptr %t188)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ ret ptr null
+exc.k73:
+ %t192 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_1948131179100861, ptr %t192)
+ %t193 = load i32, ptr %exc.cell
+ %t194 = icmp ne i32 %t193, 0
+ %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false)
+ br i1 %t195, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ ret ptr null
+exc.k75:
+ %t196 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3198935257758645, ptr %t196)
+ %t197 = load i32, ptr %exc.cell
+ %t198 = icmp ne i32 %t197, 0
+ %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false)
+ br i1 %t199, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ call void @scr_dyn_release(ptr %t196)
+ ret ptr null
+exc.k77:
+ %t200 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t184, ptr %t185, ptr %t186)
+ %t201 = load i32, ptr %exc.cell
+ %t202 = icmp ne i32 %t201, 0
+ %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false)
+ br i1 %t203, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ call void @scr_dyn_release(ptr %t196)
+ call void @scr_dyn_release(ptr %t200)
+ ret ptr null
+exc.k79:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ call void @scr_dyn_release(ptr %t196)
+ call void @scr_dyn_release(ptr %t200)
+ %t204 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t205 = call ptr @sc_rc_retain_dyn(ptr %t204)
+ %t206 = call ptr @sc_td_0(ptr @sc_lit_3108123016971750)
+ %t207 = call ptr @scr_dyn_new_obj()
+ %t208 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt)
+ %t209 = call ptr @sc_dfb_50(ptr %t208, ptr null)
+ call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3610950885518037, ptr %t209)
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ ret ptr null
+exc.k81:
+ %t213 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_1948131179100861, ptr %t213)
+ %t214 = load i32, ptr %exc.cell
+ %t215 = icmp ne i32 %t214, 0
+ %t216 = call i1 @llvm.expect.i1(i1 %t215, i1 false)
+ br i1 %t216, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ ret ptr null
+exc.k83:
+ %t217 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3198935257758645, ptr %t217)
+ %t218 = load i32, ptr %exc.cell
+ %t219 = icmp ne i32 %t218, 0
+ %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false)
+ br i1 %t220, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ call void @scr_dyn_release(ptr %t217)
+ ret ptr null
+exc.k85:
+ %t221 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t205, ptr %t206, ptr %t207)
+ %t222 = load i32, ptr %exc.cell
+ %t223 = icmp ne i32 %t222, 0
+ %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false)
+ br i1 %t224, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ call void @scr_dyn_release(ptr %t217)
+ call void @scr_dyn_release(ptr %t221)
+ ret ptr null
+exc.k87:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ call void @scr_dyn_release(ptr %t217)
+ call void @scr_dyn_release(ptr %t221)
+ %t225 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t226 = call ptr @sc_rc_retain_dyn(ptr %t225)
+ %t227 = call ptr @sc_td_0(ptr @sc_lit_2529432852777196)
+ %t228 = call ptr @scr_dyn_new_obj()
+ %t229 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent)
+ %t230 = call ptr @sc_dfb_51(ptr %t229, ptr null)
+ call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3610950885518037, ptr %t230)
+ %t231 = load i32, ptr %exc.cell
+ %t232 = icmp ne i32 %t231, 0
+ %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false)
+ br i1 %t233, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ ret ptr null
+exc.k89:
+ %t234 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_1948131179100861, ptr %t234)
+ %t235 = load i32, ptr %exc.cell
+ %t236 = icmp ne i32 %t235, 0
+ %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false)
+ br i1 %t237, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ ret ptr null
+exc.k91:
+ %t238 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3198935257758645, ptr %t238)
+ %t239 = load i32, ptr %exc.cell
+ %t240 = icmp ne i32 %t239, 0
+ %t241 = call i1 @llvm.expect.i1(i1 %t240, i1 false)
+ br i1 %t241, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ call void @scr_dyn_release(ptr %t238)
+ ret ptr null
+exc.k93:
+ %t242 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t226, ptr %t227, ptr %t228)
+ %t243 = load i32, ptr %exc.cell
+ %t244 = icmp ne i32 %t243, 0
+ %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false)
+ br i1 %t245, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ call void @scr_dyn_release(ptr %t238)
+ call void @scr_dyn_release(ptr %t242)
+ ret ptr null
+exc.k95:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ call void @scr_dyn_release(ptr %t238)
+ call void @scr_dyn_release(ptr %t242)
+ %t246 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t247 = call ptr @sc_rc_retain_dyn(ptr %t246)
+ %t248 = call ptr @sc_td_0(ptr @sc_lit_4297539476301093)
+ %t249 = call ptr @scr_dyn_new_obj()
+ %t250 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent)
+ %t251 = call ptr @sc_dfb_51(ptr %t250, ptr null)
+ call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3610950885518037, ptr %t251)
+ %t252 = load i32, ptr %exc.cell
+ %t253 = icmp ne i32 %t252, 0
+ %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false)
+ br i1 %t254, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ ret ptr null
+exc.k97:
+ %t255 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_1948131179100861, ptr %t255)
+ %t256 = load i32, ptr %exc.cell
+ %t257 = icmp ne i32 %t256, 0
+ %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false)
+ br i1 %t258, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ ret ptr null
+exc.k99:
+ %t259 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3198935257758645, ptr %t259)
+ %t260 = load i32, ptr %exc.cell
+ %t261 = icmp ne i32 %t260, 0
+ %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false)
+ br i1 %t262, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ call void @scr_dyn_release(ptr %t259)
+ ret ptr null
+exc.k101:
+ %t263 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t247, ptr %t248, ptr %t249)
+ %t264 = load i32, ptr %exc.cell
+ %t265 = icmp ne i32 %t264, 0
+ %t266 = call i1 @llvm.expect.i1(i1 %t265, i1 false)
+ br i1 %t266, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ call void @scr_dyn_release(ptr %t259)
+ call void @scr_dyn_release(ptr %t263)
+ ret ptr null
+exc.k103:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ call void @scr_dyn_release(ptr %t259)
+ call void @scr_dyn_release(ptr %t263)
+ %t267 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t268 = call ptr @sc_rc_retain_dyn(ptr %t267)
+ %t269 = call ptr @sc_td_0(ptr @sc_lit_1959461887910059)
+ %t270 = call ptr @scr_dyn_new_obj()
+ %t271 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy)
+ %t272 = call ptr @sc_dfb_1(ptr %t271, ptr null)
+ call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3610950885518037, ptr %t272)
+ %t273 = load i32, ptr %exc.cell
+ %t274 = icmp ne i32 %t273, 0
+ %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false)
+ br i1 %t275, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ ret ptr null
+exc.k105:
+ %t276 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_1948131179100861, ptr %t276)
+ %t277 = load i32, ptr %exc.cell
+ %t278 = icmp ne i32 %t277, 0
+ %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false)
+ br i1 %t279, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ ret ptr null
+exc.k107:
+ %t280 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3198935257758645, ptr %t280)
+ %t281 = load i32, ptr %exc.cell
+ %t282 = icmp ne i32 %t281, 0
+ %t283 = call i1 @llvm.expect.i1(i1 %t282, i1 false)
+ br i1 %t283, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ call void @scr_dyn_release(ptr %t280)
+ ret ptr null
+exc.k109:
+ %t284 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t268, ptr %t269, ptr %t270)
+ %t285 = load i32, ptr %exc.cell
+ %t286 = icmp ne i32 %t285, 0
+ %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false)
+ br i1 %t287, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ call void @scr_dyn_release(ptr %t280)
+ call void @scr_dyn_release(ptr %t284)
+ ret ptr null
+exc.k111:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ call void @scr_dyn_release(ptr %t280)
+ call void @scr_dyn_release(ptr %t284)
+ br label %if.j3
+if.j3:
+ %t288 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ %t289 = call ptr @sc_rc_retain_dyn(ptr %t288)
+ ret ptr %t289
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m3.LiteResponse
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s57 = alloca i1
+ %s68 = alloca ptr
+ %s92 = alloca ptr
+ %s109 = alloca i1
+ %s120 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_629517122853751
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_629517122853751)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_629517122853751
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_29(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 18
+ %t37 = icmp ule i64 %t35, 18
+ %t38 = and i1 %t36, %t37 ; instanceof %m3.LiteResponse
+ call void @sc_release__x25_m2_ResponseSink(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_this_0
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_629517122853751
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_29(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j16:
+ br label %if.j7
+if.j7:
+ %t56 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s57
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %brand.inspect24, label %brand.done26
+brand.inspect24:
+ %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t61 = icmp eq i32 %t60, 12
+ br i1 %t61, label %brand.capsule25, label %brand.done26
+brand.capsule25:
+ %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t63 = load ptr, ptr %t62
+ %t64 = icmp eq ptr %t63, @sc_cs_2434838942941195
+ store i1 true, ptr %s57
+ br i1 %t64, label %brand.done26, label %brand.compare27
+brand.compare27:
+ %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2434838942941195)
+ store i1 %t65, ptr %s57
+ br label %brand.done26
+brand.done26:
+ %t66 = load i1, ptr %s57
+ br i1 %t66, label %if.t28, label %if.j29
+if.t28:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t69 = icmp ne ptr %t67, null
+ br i1 %t69, label %dc.inspect30, label %dc.checked33
+dc.inspect30:
+ %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind
+ %t75 = load i32, ptr %t74
+ %t70 = icmp eq i32 %t75, 12
+ br i1 %t70, label %dc.capsule31, label %dc.checked33
+dc.capsule31:
+ %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key
+ %t72 = load ptr, ptr %t71
+ %t73 = icmp eq ptr %t72, @sc_cs_2434838942941195
+ br i1 %t73, label %dc.exact32, label %dc.checked33
+dc.exact32:
+ %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr
+ %t77 = load ptr, ptr %t76
+ %t78 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t77)
+ store ptr %t78, ptr %s68
+ br label %dc.done34
+dc.checked33:
+ %t79 = call ptr @sc_dc_52(ptr %t67, ptr null)
+ store ptr %t79, ptr %s68
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u35, label %exc.k36
+exc.u35:
+ ret ptr null
+exc.k36:
+ br label %dc.done34
+dc.done34:
+ %t83 = load ptr, ptr %s68
+ %t84 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t83, i64 0, i32 1
+ %t85 = load ptr, ptr %t84
+ %t86 = getelementptr inbounds %ScrVt, ptr %t85, i64 0, i32 0
+ %t87 = load i64, ptr %t86
+ %t88 = icmp uge i64 %t87, 18
+ %t89 = icmp ule i64 %t87, 18
+ %t90 = and i1 %t88, %t89 ; instanceof %m3.LiteResponse
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t83)
+ br i1 %t90, label %if.t37, label %if.j38
+if.t37:
+ %t91 = load ptr, ptr %sc_l_this_0
+ %t93 = icmp ne ptr %t91, null
+ br i1 %t93, label %dc.inspect39, label %dc.checked42
+dc.inspect39:
+ %t98 = getelementptr inbounds i8, ptr %t91, i64 8 ; ->kind
+ %t99 = load i32, ptr %t98
+ %t94 = icmp eq i32 %t99, 12
+ br i1 %t94, label %dc.capsule40, label %dc.checked42
+dc.capsule40:
+ %t95 = getelementptr inbounds i8, ptr %t91, i64 40 ; ->v.typed_ref.type_key
+ %t96 = load ptr, ptr %t95
+ %t97 = icmp eq ptr %t96, @sc_cs_2434838942941195
+ br i1 %t97, label %dc.exact41, label %dc.checked42
+dc.exact41:
+ %t100 = getelementptr inbounds i8, ptr %t91, i64 16 ; ->v.typed_ref.ptr
+ %t101 = load ptr, ptr %t100
+ %t102 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t101)
+ store ptr %t102, ptr %s92
+ br label %dc.done43
+dc.checked42:
+ %t103 = call ptr @sc_dc_52(ptr %t91, ptr null)
+ store ptr %t103, ptr %s92
+ %t104 = load i32, ptr %exc.cell
+ %t105 = icmp ne i32 %t104, 0
+ %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false)
+ br i1 %t106, label %exc.u44, label %exc.k45
+exc.u44:
+ ret ptr null
+exc.k45:
+ br label %dc.done43
+dc.done43:
+ %t107 = load ptr, ptr %s92
+ ret ptr %t107
+if.j38:
+ br label %if.j29
+if.j29:
+ %t108 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s109
+ %t110 = icmp ne ptr %t108, null
+ br i1 %t110, label %brand.inspect46, label %brand.done48
+brand.inspect46:
+ %t111 = getelementptr inbounds i8, ptr %t108, i64 8 ; ->kind
+ %t112 = load i32, ptr %t111
+ %t113 = icmp eq i32 %t112, 12
+ br i1 %t113, label %brand.capsule47, label %brand.done48
+brand.capsule47:
+ %t114 = getelementptr inbounds i8, ptr %t108, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_4074974279575818
+ store i1 true, ptr %s109
+ br i1 %t116, label %brand.done48, label %brand.compare49
+brand.compare49:
+ %t117 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t108, ptr @sc_lit_4074974279575818)
+ store i1 %t117, ptr %s109
+ br label %brand.done48
+brand.done48:
+ %t118 = load i1, ptr %s109
+ br i1 %t118, label %if.t50, label %if.j51
+if.t50:
+ %t119 = load ptr, ptr %sc_l_this_0
+ %t121 = icmp ne ptr %t119, null
+ br i1 %t121, label %dc.inspect52, label %dc.checked55
+dc.inspect52:
+ %t126 = getelementptr inbounds i8, ptr %t119, i64 8 ; ->kind
+ %t127 = load i32, ptr %t126
+ %t122 = icmp eq i32 %t127, 12
+ br i1 %t122, label %dc.capsule53, label %dc.checked55
+dc.capsule53:
+ %t123 = getelementptr inbounds i8, ptr %t119, i64 40 ; ->v.typed_ref.type_key
+ %t124 = load ptr, ptr %t123
+ %t125 = icmp eq ptr %t124, @sc_cs_4074974279575818
+ br i1 %t125, label %dc.exact54, label %dc.checked55
+dc.exact54:
+ %t128 = getelementptr inbounds i8, ptr %t119, i64 16 ; ->v.typed_ref.ptr
+ %t129 = load ptr, ptr %t128
+ %t130 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t129)
+ store ptr %t130, ptr %s120
+ br label %dc.done56
+dc.checked55:
+ %t131 = call ptr @sc_dc_104(ptr %t119, ptr null)
+ store ptr %t131, ptr %s120
+ %t132 = load i32, ptr %exc.cell
+ %t133 = icmp ne i32 %t132, 0
+ %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false)
+ br i1 %t134, label %exc.u57, label %exc.k58
+exc.u57:
+ ret ptr null
+exc.k58:
+ br label %dc.done56
+dc.done56:
+ %t135 = load ptr, ptr %s120
+ ret ptr %t135
+if.j51:
+ %t136 = load ptr, ptr %sc_l_this_0
+ %t137 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteResponse(ptr %t136)
+ %t138 = load i32, ptr %exc.cell
+ %t139 = icmp ne i32 %t138, 0
+ %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false)
+ br i1 %t140, label %exc.u59, label %exc.k60
+exc.u59:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t137)
+ ret ptr null
+exc.k60:
+ ret ptr %t137
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus(double %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteResponse.setStatus
+entry:
+ %sc_l_p_0 = alloca double ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store double %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load double, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m3_LiteResponse_setStatus(ptr %t5, double %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m3.LiteResponse.setHeader
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m3_LiteResponse_setHeader(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m3.LiteResponse.appendHeader
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m3_LiteResponse_appendHeader(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteResponse.writeBody
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m3_LiteResponse_writeBody(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m3.LiteResponse.bodyBytes
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m3_LiteResponse_bodyBytes(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes(ptr %p0, ptr %p1)
+ call void @scr_bytes_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %p_sc_l_p_0, double %p_sc_l_p_1) #0 { ; %method.value:%%m3.LiteResponse.redirect
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca double ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store double %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load double, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m3_LiteResponse_redirect(ptr %t5, ptr %t9, double %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %p0, double %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect(ptr %p0, double %p1)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteResponse.write
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m3_LiteResponse_write(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_write(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(double %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m3.LiteResponse.writeHead
+entry:
+ %sc_l_p_0 = alloca double ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store double %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load double, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m3_LiteResponse_writeHead(ptr %t5, double %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(double %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead(double %p0, ptr %p1)
+ call void @scr_arr_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream() #0 { ; %method.value:%%m3.LiteResponse.endStream
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_bf__x25__x25_m3_LiteResponse_endStream(ptr %t5)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteResponse.adopt
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m3_LiteResponse_adopt(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt(ptr %p0)
+ call void @sc_rrelease_r1(ptr %p0)
+ ret void
+}
+
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent() #0 { ; %method.value:%%m3.LiteResponse.isSent
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret i1 false
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call i1 @sc_bf__x25__x25_m3_LiteResponse_isSent(ptr %t5)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret i1 %t9
+}
+
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent() #0 { ; %method.value:%%m3.LiteResponse.isHeadersSent
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret i1 false
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call i1 @sc_bf__x25__x25_m3_LiteResponse_isHeadersSent(ptr %t5)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret i1 %t9
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy() #0 { ; %method.value:%%m3.LiteResponse.destroy
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteResponse(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_bf__x25__x25_m3_LiteResponse_destroy(ptr %t5)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteResponse(ptr %t5)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %p_sc_l_p_0, i32 %p_sc_l_p_1.i32, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.3
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_1 = alloca i32 ; p1
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %p_sc_l_p_1 = sitofp i32 %p_sc_l_p_1.i32 to double
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store i32 %p_sc_l_p_1.i32, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = load i32, ptr %sc_l_p_1
+ %t13 = load ptr, ptr %sc_l_p_calleeName
+ %t14 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_3.i32(ptr %t11, i32 %t12, ptr %t13)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_release__x25_m5_CtxCore(ptr %t14)
+ br label %exc.cleanup2
+exc.k6:
+ %t18 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret ptr %t14
+exc.cleanup2:
+ %t19 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t19)
+ ret ptr null
+}
+define internal ptr @sc_bf__x25_dyn_class_protocol_3(ptr %p0, double %p1, ptr %p2) #0 {
+entry:
+ %a1 = fptosi double %p1 to i32
+ %r = call ptr @sc_bf__x25_dyn_class_protocol_3.i32(ptr %p0, i32 %a1, ptr %p2)
+ ret ptr %r
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_3(ptr %p0, double %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_3(ptr %p0, double %p1, ptr %p2)
+ call void @scr_str_release(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_3.i32(ptr %p_sc_l_p_0, i32 %p_sc_l_p_1.i32, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.3
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_1 = alloca i32 ; p1
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s13 = alloca [1 x ptr]
+ %p_sc_l_p_1 = sitofp i32 %p_sc_l_p_1.i32 to double
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store i32 %p_sc_l_p_1.i32, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_rc_retain_dyn(ptr %t4)
+ %t6 = call ptr @sc_f__x25_dyn_class_property_12(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t6)
+ br label %exc.cleanup2
+exc.k4:
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = load i32, ptr %sc_l_p_1
+ %t12 = call ptr @sc_td_2(double %p_sc_l_p_1)
+ %t14 = getelementptr inbounds [1 x ptr], ptr %s13, i64 0, i64 0
+ store ptr %t12, ptr %t14
+ %t16 = load ptr, ptr %sc_l_p_calleeName
+ %t17 = getelementptr inbounds %ScrStr, ptr %t16, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t10)
+ %t15 = call ptr @scr_dyn_call(ptr %t6, ptr %s13, i64 1, ptr %t17)
+ call void @scr_dyn_this_pop()
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t15)
+ br label %exc.cleanup2
+exc.k6:
+ %t21 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t15)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_release__x25_m5_CtxCore(ptr %t21)
+ br label %exc.cleanup2
+exc.k8:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t15)
+ %t25 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr %t21
+exc.cleanup2:
+ %t26 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t26)
+ ret ptr null
+}
+define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_3(ptr %p0, double %p1, ptr %p2) #0 {
+entry:
+ %a1 = fptosi double %p1 to i32
+ %r = call ptr @sc_bf__x25_dyn_class_protocol_fallback_3.i32(ptr %p0, i32 %a1, ptr %p2)
+ ret ptr %r
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_fallback_3(ptr %p0, double %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_3(ptr %p0, double %p1, ptr %p2)
+ call void @scr_str_release(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_union_retag_12(ptr %p_sc_l_u_0) #0 { ; %union.retag.12
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp eq ptr %t0, @sc_nullable_null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3133033490855518)
+ call void @scr_throw_obj(ptr %t3, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp ne ptr %t4, null
+ %t7 = icmp ne ptr %t4, @sc_nullable_null
+ %t8 = and i1 %t6, %t7
+ br i1 %t8, label %if.t2, label %if.j3
+if.t2:
+ %t9 = load ptr, ptr %sc_l_u_0
+ ret ptr %t9
+if.j3:
+ %t10 = load ptr, ptr %sc_l_u_0
+ %t12 = icmp eq ptr %t10, null
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ ret ptr null
+if.j5:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_retag_12(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_retag_12(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r11(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_rrelease_r11(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_4(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.4
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = load ptr, ptr %sc_l_p_1
+ %t13 = load ptr, ptr %sc_l_p_2
+ %t14 = load ptr, ptr %sc_l_p_calleeName
+ %t15 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_4(ptr %t11, ptr %t12, ptr %t13, ptr %t14)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_release__x25_m5_CtxCore(ptr %t15)
+ br label %exc.cleanup2
+exc.k6:
+ %t19 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t19)
+ ret ptr %t15
+exc.cleanup2:
+ %t20 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_4(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_4(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_4(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.4
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s15 = alloca [2 x ptr]
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_rc_retain_dyn(ptr %t4)
+ %t6 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t6)
+ br label %exc.cleanup2
+exc.k4:
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = load ptr, ptr %sc_l_p_1
+ %t12 = call ptr @sc_td_0(ptr %t11)
+ %t13 = load ptr, ptr %sc_l_p_2
+ %t14 = call ptr @sc_td_0(ptr %t13)
+ %t16 = getelementptr inbounds [2 x ptr], ptr %s15, i64 0, i64 0
+ store ptr %t12, ptr %t16
+ %t17 = getelementptr inbounds [2 x ptr], ptr %s15, i64 0, i64 1
+ store ptr %t14, ptr %t17
+ %t19 = load ptr, ptr %sc_l_p_calleeName
+ %t20 = getelementptr inbounds %ScrStr, ptr %t19, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t10)
+ %t18 = call ptr @scr_dyn_call(ptr %t6, ptr %s15, i64 2, ptr %t20)
+ call void @scr_dyn_this_pop()
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t14)
+ call void @sc_rc_release_dyn(ptr %t18)
+ br label %exc.cleanup2
+exc.k6:
+ %t24 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t18)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t14)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_release__x25_m5_CtxCore(ptr %t24)
+ br label %exc.cleanup2
+exc.k8:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t14)
+ call void @sc_rc_release_dyn(ptr %t18)
+ %t28 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret ptr %t24
+exc.cleanup2:
+ %t29 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t29)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_fallback_4(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_4(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_union_narrow_10(ptr %p_sc_l_u_0) #0 { ; %union.narrow.10
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp eq ptr %t0, @sc_nullable_null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3133033490855518)
+ call void @scr_throw_obj(ptr %t3, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp ne ptr %t4, null
+ %t7 = icmp ne ptr %t4, @sc_nullable_null
+ %t8 = and i1 %t6, %t7
+ br i1 %t8, label %if.t2, label %if.j3
+if.t2:
+ %t9 = load ptr, ptr %sc_l_u_0
+ ret ptr %t9
+if.j3:
+ %t10 = load ptr, ptr %sc_l_u_0
+ %t12 = icmp eq ptr %t10, null
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t13, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j5:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_10(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_narrow_10(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r10(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_rrelease_r10(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_5(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.5
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_callee = alloca ptr ; callee
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = load ptr, ptr %sc_l_p_callee
+ %t13 = load ptr, ptr %sc_l_p_1
+ %t14 = load ptr, ptr %sc_l_p_2
+ %t15 = load ptr, ptr %sc_l_p_calleeName
+ %t16 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_5(ptr %t11, ptr %t12, ptr %t13, ptr %t14, ptr %t15)
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_release__x25_m5_CtxCore(ptr %t16)
+ br label %exc.cleanup2
+exc.k6:
+ %t20 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret ptr %t16
+exc.cleanup2:
+ %t21 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_5(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_5(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_5(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.5
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_callee = alloca ptr ; callee
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %s10 = alloca [2 x ptr]
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_callee
+ %t5 = load ptr, ptr %sc_l_p_0
+ %t6 = load ptr, ptr %sc_l_p_1
+ %t7 = call ptr @sc_td_0(ptr %t6)
+ %t8 = load ptr, ptr %sc_l_p_2
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ %t11 = getelementptr inbounds [2 x ptr], ptr %s10, i64 0, i64 0
+ store ptr %t7, ptr %t11
+ %t12 = getelementptr inbounds [2 x ptr], ptr %s10, i64 0, i64 1
+ store ptr %t9, ptr %t12
+ %t14 = load ptr, ptr %sc_l_p_calleeName
+ %t15 = getelementptr inbounds %ScrStr, ptr %t14, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t5)
+ %t13 = call ptr @scr_dyn_call(ptr %t4, ptr %s10, i64 2, ptr %t15)
+ call void @scr_dyn_this_pop()
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t7)
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t13)
+ br label %exc.cleanup2
+exc.k4:
+ %t19 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t13)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t7)
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_release__x25_m5_CtxCore(ptr %t19)
+ br label %exc.cleanup2
+exc.k6:
+ call void @sc_rc_release_dyn(ptr %t7)
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t13)
+ %t23 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t23)
+ ret ptr %t19
+exc.cleanup2:
+ %t24 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_fallback_5(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_5(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_protocol_callee_5(ptr %p_sc_l_p_0) inlinehint #0 { ; %dyn.class.protocol.callee.5
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = call ptr @sc_f__x25_dyn_class_property_24(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t12)
+ br label %exc.cleanup2
+exc.k6:
+ %t16 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t16)
+ ret ptr %t12
+exc.cleanup2:
+ %t17 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_6(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) inlinehint #0 { ; %dyn.class.protocol.6
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_callee = alloca ptr ; callee
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = load ptr, ptr %sc_l_p_callee
+ %t13 = load ptr, ptr %sc_l_p_1
+ %t14 = load ptr, ptr %sc_l_p_2
+ %t15 = load ptr, ptr %sc_l_p_calleeName
+ %t16 = call ptr @sc_bf__x25_dyn_class_protocol_fallback_6(ptr %t11, ptr %t12, ptr %t13, ptr %t14, ptr %t15)
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_release__x25_m5_CtxCore(ptr %t16)
+ br label %exc.cleanup2
+exc.k6:
+ %t20 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret ptr %t16
+exc.cleanup2:
+ %t21 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_6(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_6(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @scr_bytes_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_protocol_fallback_6(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callee, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2, ptr %p_sc_l_p_calleeName) noinline #0 { ; %dyn.class.protocol.fallback.6
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %sc_l_p_callee = alloca ptr ; callee
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %s10 = alloca [2 x ptr]
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_callee, ptr %sc_l_p_callee
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_callee
+ %t5 = load ptr, ptr %sc_l_p_0
+ %t6 = load ptr, ptr %sc_l_p_1
+ %t7 = call ptr @sc_td_1(ptr %t6)
+ %t8 = load ptr, ptr %sc_l_p_2
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ %t11 = getelementptr inbounds [2 x ptr], ptr %s10, i64 0, i64 0
+ store ptr %t7, ptr %t11
+ %t12 = getelementptr inbounds [2 x ptr], ptr %s10, i64 0, i64 1
+ store ptr %t9, ptr %t12
+ %t14 = load ptr, ptr %sc_l_p_calleeName
+ %t15 = getelementptr inbounds %ScrStr, ptr %t14, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t5)
+ %t13 = call ptr @scr_dyn_call(ptr %t4, ptr %s10, i64 2, ptr %t15)
+ call void @scr_dyn_this_pop()
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t7)
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t13)
+ br label %exc.cleanup2
+exc.k4:
+ %t19 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %t13)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t7)
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_release__x25_m5_CtxCore(ptr %t19)
+ br label %exc.cleanup2
+exc.k6:
+ call void @sc_rc_release_dyn(ptr %t7)
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t13)
+ %t23 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t23)
+ ret ptr %t19
+exc.cleanup2:
+ %t24 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_protocol_fallback_6(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_protocol_fallback_6(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @scr_bytes_release(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_protocol_callee_6(ptr %p_sc_l_p_0) inlinehint #0 { ; %dyn.class.protocol.callee.6
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = call ptr @sc_f__x25_dyn_class_property_63(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t12)
+ br label %exc.cleanup2
+exc.k6:
+ %t16 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t16)
+ ret ptr %t12
+exc.cleanup2:
+ %t17 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_arr_idxOr_18(ptr %p_sc_l_a_0, double %p_sc_l_i_0) inlinehint #0 { ; %arr.idxOr.18
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_i_0 = alloca double ; i
+ %s29 = alloca ptr
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store double %p_sc_l_i_0, ptr %sc_l_i_0
+ %t0 = load ptr, ptr %sc_l_a_0
+ %t1 = load double, ptr %sc_l_i_0
+ %t2 = fptosi double %t1 to i64
+ %t4 = freeze i64 %t2
+ %t3 = sitofp i64 %t4 to double
+ %t5 = fcmp oeq double %t3, %t1
+ %t10 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 8
+ %t11 = load ptr, ptr %t10, !tbaa !2
+ %t6 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 1
+ %t7 = load i64, ptr %t6, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t8 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 2
+ %t9 = load i64, ptr %t8, !tbaa !2
+ %t12 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 9
+ %t13 = load ptr, ptr %t12, !tbaa !2
+ %t14 = getelementptr inbounds %ScrArr, ptr %t0, i32 0, i32 6
+ %t15 = load i32, ptr %t14, !tbaa !2
+ %t16 = zext i32 %t15 to i64
+ %t17 = icmp ult i64 %t4, %t16
+ %t18 = and i1 %t5, %t17
+ br i1 %t18, label %arr.state.filled2, label %arr.check3
+arr.check3:
+ %t19 = icmp ult i64 %t4, %t9
+ %t20 = icmp ult i64 %t4, %t7
+ %t21 = and i1 %t5, %t19
+ %t22 = and i1 %t21, %t20
+ br i1 %t22, label %arr.dense4, label %arr.state.slow0
+arr.dense4:
+ %t23 = getelementptr inbounds i8, ptr %t13, i64 %t4
+ %t24 = load i8, ptr %t23, !tbaa !4
+ %t25 = uitofp i8 %t24 to double
+ br label %arr.state.fast5
+arr.state.fast5:
+ br label %arr.state.join1
+arr.state.filled2:
+ br label %arr.state.join1
+arr.state.slow0:
+ %t26 = call double @scr_arr_state(ptr %t0, double %t1) cold memory(read, inaccessiblemem: readwrite)
+ br label %arr.state.join1
+arr.state.join1:
+ %t27 = phi double [ %t25, %arr.state.fast5 ], [ 0x3FF0000000000000, %arr.state.filled2 ], [ %t26, %arr.state.slow0 ]
+ %t28 = fcmp oeq double %t27, 0x3FF0000000000000
+ br i1 %t28, label %tern.t6, label %tern.f7
+tern.t6:
+ %t30 = load ptr, ptr %sc_l_a_0
+ %t31 = load double, ptr %sc_l_i_0
+ %t32 = fptosi double %t31 to i64
+ %t34 = freeze i64 %t32
+ %t33 = sitofp i64 %t34 to double
+ %t35 = fcmp oeq double %t33, %t31
+ %t40 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 8
+ %t41 = load ptr, ptr %t40, !tbaa !2
+ %t36 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 1
+ %t37 = load i64, ptr %t36, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t38 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 2
+ %t39 = load i64, ptr %t38, !tbaa !2
+ %t42 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 9
+ %t43 = load ptr, ptr %t42, !tbaa !2
+ %t44 = getelementptr inbounds %ScrArr, ptr %t30, i32 0, i32 6
+ %t45 = load i32, ptr %t44, !tbaa !2
+ %t46 = zext i32 %t45 to i64
+ %t47 = icmp ult i64 %t34, %t46
+ %t48 = and i1 %t35, %t47
+ br i1 %t48, label %arr.get.value11, label %arr.check12
+arr.check12:
+ %t49 = icmp ult i64 %t34, %t39
+ %t50 = icmp ult i64 %t34, %t37
+ %t51 = and i1 %t35, %t49
+ %t52 = and i1 %t51, %t50
+ br i1 %t52, label %arr.dense13, label %arr.get.slow9
+arr.dense13:
+ %t53 = getelementptr inbounds i8, ptr %t43, i64 %t34
+ %t54 = load i8, ptr %t53, !tbaa !4
+ %t55 = icmp eq i8 %t54, 1
+ br i1 %t55, label %arr.get.value11, label %arr.get.slow9
+arr.get.value11:
+ %t56 = getelementptr inbounds i64, ptr %t41, i64 %t34
+ %t57 = load ptr, ptr %t56, !tbaa !6
+ %t58 = icmp ne ptr %t57, null
+ br i1 %t58, label %arr.get.ref14, label %arr.get.slow9
+arr.get.ref14:
+ %t59 = call ptr @sc_rretain_r10(ptr %t57)
+ br label %arr.get.join10
+arr.get.slow9:
+ %t60 = call ptr @scr_arr_get_ref(ptr %t30, double %t31) cold
+ br label %arr.get.join10
+arr.get.join10:
+ %t61 = phi ptr [ %t59, %arr.get.ref14 ], [ %t60, %arr.get.slow9 ]
+ store ptr %t61, ptr %s29
+ br label %tern.j8
+tern.f7:
+ store ptr null, ptr %s29
+ br label %tern.j8
+tern.j8:
+ %t62 = load ptr, ptr %s29
+ ret ptr %t62
+}
+define internal ptr @sc_f__x25_arr_idxOr_18(ptr %p0, double %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_arr_idxOr_18(ptr %p0, double %p1)
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_union_narrow_11(ptr %p_sc_l_u_0) #0 { ; %union.narrow.11
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_11(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_narrow_11(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r10(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_rrelease_r10(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_union_retag_13(ptr %p_sc_l_u_0) #0 { ; %union.retag.13
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_retag_13(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_retag_13(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r10(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @sc_rrelease_r10(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_union_narrow_12(ptr %p_sc_l_u_0) #0 { ; %union.narrow.12
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %if.t0, label %if.j1
+if.t0:
+ %t3 = load ptr, ptr %sc_l_u_0
+ ret ptr %t3
+if.j1:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t6 = icmp eq ptr %t4, null
+ br i1 %t6, label %if.t2, label %if.j3
+if.t2:
+ %t7 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t7, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_12(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_union_narrow_12(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @scr_arr_retain_v(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_arr_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal void @sc_f__x25_fn58(ptr %sc_env) #0 { ; %fn58
+entry:
+ %sc_l_i_0 = alloca ptr ; i
+ %sc_l_drained_0 = alloca ptr ; drained
+ %sc_l_ctl_0 = alloca ptr ; ctl
+ %sc_l_drained_1 = alloca ptr ; drained
+ %sc_l_ctl_1 = alloca ptr ; ctl
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s39 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l_drained_1
+ store ptr null, ptr %sc_l_ctl_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_i_0 ; captured i
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_drained_0 ; captured drained
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_ctl_0 ; captured ctl
+ %t9 = call ptr @llvm.stacksave.p0()
+ %t10 = load ptr, ptr @scr_stack_guard
+ %t11 = icmp ult ptr %t9, %t10
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t13 = load ptr, ptr %sc_l_drained_0
+ %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %sc_l_drained_1
+ %t16 = load ptr, ptr %sc_l_ctl_0
+ %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5
+ %t18 = load ptr, ptr %t17
+ store ptr %t18, ptr %sc_l_ctl_1
+ br label %loop.c3
+loop.c3:
+ %t19 = load ptr, ptr %sc_l_i_0
+ %t21 = getelementptr inbounds %ScrBox, ptr %t19, i32 0, i32 5
+ %t20 = load double, ptr %t21
+ %t22 = load ptr, ptr %sc_l_drained_1
+ %t23 = getelementptr inbounds %ScrArr, ptr %t22, i32 0, i32 1
+ %t24 = load i64, ptr %t23, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t25 = sitofp i64 %t24 to double
+ %t27 = fptosi double %t25 to i64
+ %t26 = fcmp olt double %t20, %t25
+ br i1 %t26, label %loop.b4, label %loop.e2
+loop.b4:
+ %t28 = load ptr, ptr %sc_l_ctl_1
+ %t29 = call ptr @scr_dyn_prepare_method(ptr %t28, ptr @sc_cs_3739322700708094)
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t29)
+ ret void
+exc.k6:
+ %t33 = load ptr, ptr %sc_l_drained_1
+ %t34 = load ptr, ptr %sc_l_i_0
+ %t36 = getelementptr inbounds %ScrBox, ptr %t34, i32 0, i32 5
+ %t35 = load double, ptr %t36
+ %t37 = call ptr @sc_bf__x25_arr_idxOr_14(ptr %t33, double %t35)
+ %t38 = call ptr @sc_ldu_11(ptr %t37)
+ %t40 = getelementptr inbounds [1 x ptr], ptr %s39, i64 0, i64 0
+ store ptr %t38, ptr %t40
+ %t41 = call ptr @scr_dyn_invoke_prepared(ptr %t28, ptr %t29, ptr @sc_cs_3739322700708094, ptr %s39, i64 1, ptr @sc_cs_4217381500900616)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @scr_union_release(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret void
+exc.k8:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @scr_union_release(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t41)
+ %t45 = load ptr, ptr %sc_l_i_0
+ %t47 = getelementptr inbounds %ScrBox, ptr %t45, i32 0, i32 5
+ %t46 = load double, ptr %t47
+ %t48 = fadd double %t46, 0x3FF0000000000000
+ %t49 = load ptr, ptr %sc_l_i_0
+ %t50 = getelementptr inbounds %ScrBox, ptr %t49, i32 0, i32 5
+ store double %t48, ptr %t50
+ br label %loop.c3
+loop.e2:
+ ret void
+}
+
+define internal void @sc_bf__x25_fn59(ptr %sc_env, ptr %p_sc_l_c_0) #0 { ; %fn59
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_ctl_0 = alloca ptr ; ctl
+ %sc_l_i_0 = alloca ptr ; i
+ %sc_l_drained_0 = alloca ptr ; drained
+ %sc_l_ctl_1 = alloca ptr ; ctl
+ %sc_l_drained_1 = alloca ptr ; drained
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s26 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l_ctl_1
+ store ptr null, ptr %sc_l_drained_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_ctl_0 ; captured ctl
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_i_0 ; captured i
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_drained_0 ; captured drained
+ store ptr %p_sc_l_c_0, ptr %sc_l_c_0
+ %t9 = call ptr @llvm.stacksave.p0()
+ %t10 = load ptr, ptr @scr_stack_guard
+ %t11 = icmp ult ptr %t9, %t10
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t13 = load ptr, ptr %sc_l_ctl_0
+ %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %sc_l_ctl_1
+ %t16 = load ptr, ptr %sc_l_drained_0
+ %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5
+ %t18 = load ptr, ptr %t17
+ store ptr %t18, ptr %sc_l_drained_1
+ %t19 = load ptr, ptr %sc_l_ctl_1
+ %t20 = call ptr @scr_dyn_prepare_method(ptr %t19, ptr @sc_cs_3739322700708094)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret void
+exc.k3:
+ %t24 = load ptr, ptr %sc_l_c_0
+ %t25 = call ptr @sc_td_1(ptr %t24)
+ %t27 = getelementptr inbounds [1 x ptr], ptr %s26, i64 0, i64 0
+ store ptr %t25, ptr %t27
+ %t28 = call ptr @scr_dyn_invoke_prepared(ptr %t19, ptr %t20, ptr @sc_cs_3739322700708094, ptr %s26, i64 1, ptr @sc_cs_4217381500900616)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret void
+exc.k5:
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t28)
+ %t32 = load ptr, ptr %sc_l_drained_1
+ %t33 = getelementptr inbounds %ScrArr, ptr %t32, i32 0, i32 1
+ %t34 = load i64, ptr %t33, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t35 = sitofp i64 %t34 to double
+ %t36 = load ptr, ptr %sc_l_i_0
+ %t37 = getelementptr inbounds %ScrBox, ptr %t36, i32 0, i32 5
+ store double %t35, ptr %t37
+ ret void
+}
+define internal void @sc_f__x25_fn59(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn59(ptr %sc_env, ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_fn60(ptr %sc_env) #0 { ; %fn60
+entry:
+ %sc_l_pump_0 = alloca ptr ; pump
+ %sc_l_ctl_0 = alloca ptr ; ctl
+ %sc_l_pump_1 = alloca ptr ; pump
+ %sc_l_ctl_1 = alloca ptr ; ctl
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_pump_1
+ store ptr null, ptr %sc_l_ctl_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_pump_0 ; captured pump
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_ctl_0 ; captured ctl
+ %t6 = call ptr @llvm.stacksave.p0()
+ %t7 = load ptr, ptr @scr_stack_guard
+ %t8 = icmp ult ptr %t6, %t7
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t10 = load ptr, ptr %sc_l_pump_0
+ %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5
+ %t12 = load ptr, ptr %t11
+ store ptr %t12, ptr %sc_l_pump_1
+ %t13 = load ptr, ptr %sc_l_ctl_0
+ %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %sc_l_ctl_1
+ %t16 = load ptr, ptr %sc_l_pump_1
+ %t17 = getelementptr inbounds %ScrClosure, ptr %t16, i64 0, i32 1
+ %t18 = load ptr, ptr %t17
+ %t19 = icmp eq ptr %t18, @sc_f__x25_fn58
+ br i1 %t19, label %callback.direct2, label %callback.indirect3
+callback.direct2:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void @sc_f__x25_fn58(ptr %t16)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.indirect3:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t18(ptr %t16)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.done4:
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u5, label %exc.k6
+exc.u5:
+ ret void
+exc.k6:
+ %t23 = load ptr, ptr %sc_l_ctl_1
+ %t24 = call ptr @scr_dyn_prepare_method(ptr %t23, ptr @sc_cs_863112869792180)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret void
+exc.k8:
+ %t28 = call ptr @scr_dyn_invoke_prepared(ptr %t23, ptr %t24, ptr @sc_cs_863112869792180, ptr null, i64 0, ptr @sc_cs_897001462723037)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret void
+exc.k10:
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret void
+}
+
+define internal void @sc_f__x25_fn61(ptr %sc_env) #0 { ; %fn61
+entry:
+ %sc_l_pump_0 = alloca ptr ; pump
+ %sc_l_ctl_0 = alloca ptr ; ctl
+ %sc_l_pump_1 = alloca ptr ; pump
+ %sc_l_ctl_1 = alloca ptr ; ctl
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_pump_1
+ store ptr null, ptr %sc_l_ctl_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_pump_0 ; captured pump
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_ctl_0 ; captured ctl
+ %t6 = call ptr @llvm.stacksave.p0()
+ %t7 = load ptr, ptr @scr_stack_guard
+ %t8 = icmp ult ptr %t6, %t7
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t10 = load ptr, ptr %sc_l_pump_0
+ %t11 = getelementptr inbounds %ScrBox, ptr %t10, i32 0, i32 5
+ %t12 = load ptr, ptr %t11
+ store ptr %t12, ptr %sc_l_pump_1
+ %t13 = load ptr, ptr %sc_l_ctl_0
+ %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %sc_l_ctl_1
+ %t16 = load ptr, ptr %sc_l_pump_1
+ %t17 = getelementptr inbounds %ScrClosure, ptr %t16, i64 0, i32 1
+ %t18 = load ptr, ptr %t17
+ %t19 = icmp eq ptr %t18, @sc_f__x25_fn58
+ br i1 %t19, label %callback.direct2, label %callback.indirect3
+callback.direct2:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void @sc_f__x25_fn58(ptr %t16)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.indirect3:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t18(ptr %t16)
+ call void @scr_dyn_this_pop()
+ br label %callback.done4
+callback.done4:
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u5, label %exc.k6
+exc.u5:
+ ret void
+exc.k6:
+ %t23 = load ptr, ptr %sc_l_ctl_1
+ %t24 = call ptr @scr_dyn_prepare_method(ptr %t23, ptr @sc_cs_863112869792180)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret void
+exc.k8:
+ %t28 = call ptr @scr_dyn_invoke_prepared(ptr %t23, ptr %t24, ptr @sc_cs_863112869792180, ptr null, i64 0, ptr @sc_cs_897001462723037)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret void
+exc.k10:
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret void
+}
+
+define internal void @sc_f__x25_fn57(ptr %sc_env, ptr %p_sc_l_ctl_0) #0 { ; %fn57
+entry:
+ %sc_l_ctl_0 = alloca ptr ; ctl
+ %sc_l_this_0 = alloca ptr ; this
+ %sc_l_self_0 = alloca ptr ; self
+ %sc_l_drained_0 = alloca ptr ; drained
+ %sc_l_i_0 = alloca ptr ; i
+ %sc_l_pump_0 = alloca ptr ; pump
+ %sc_l_im_0 = alloca ptr ; im
+ %sc_l_self_1 = alloca ptr ; self
+ %sc_l_pump_1 = alloca ptr ; pump
+ %sc_l_im_1 = alloca ptr ; im
+ %s9 = alloca ptr ; lazy box ctl
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_drained_0
+ store ptr null, ptr %sc_l_i_0
+ store ptr null, ptr %sc_l_pump_0
+ store ptr null, ptr %sc_l_self_1
+ store ptr null, ptr %sc_l_pump_1
+ store ptr null, ptr %sc_l_im_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_this_0 ; captured this
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_self_0 ; captured self
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_im_0 ; captured im
+ store ptr null, ptr %s9
+ store ptr %p_sc_l_ctl_0, ptr %sc_l_ctl_0
+ %t10 = call ptr @llvm.stacksave.p0()
+ %t11 = load ptr, ptr @scr_stack_guard
+ %t12 = icmp ult ptr %t10, %t11
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t14 = load ptr, ptr %sc_l_self_0
+ %t15 = getelementptr inbounds %ScrBox, ptr %t14, i32 0, i32 5
+ %t16 = load ptr, ptr %t15
+ store ptr %t16, ptr %sc_l_self_1
+ %t17 = load ptr, ptr %sc_l_im_0
+ %t18 = getelementptr inbounds %ScrBox, ptr %t17, i32 0, i32 5
+ %t19 = load ptr, ptr %t18
+ store ptr %t19, ptr %sc_l_im_1
+ %t20 = call ptr @scr_box_new(i32 3) ; let drained (boxed)
+ store ptr %t20, ptr %sc_l_drained_0
+ %t21 = load ptr, ptr %sc_l_self_1
+ %t22 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t21, i64 0, i32 7
+ %t23 = load ptr, ptr %t22, !tbaa !82
+ %t24 = call ptr @scr_arr_retain_v(ptr %t23)
+ call void @scr_box_set_ref(ptr %t20, ptr %t24)
+ %t25 = call ptr @scr_box_new(i32 0) ; let i (boxed)
+ store ptr %t25, ptr %sc_l_i_0
+ %t26 = getelementptr inbounds %ScrBox, ptr %t25, i32 0, i32 5
+ store double 0x0000000000000000, ptr %t26
+ %t27 = call ptr @scr_closure_new(ptr @sc_f__x25_fn58, i64 3)
+ %t28 = getelementptr inbounds %ScrClosure, ptr %t27, i64 0, i32 4
+ store i32 4, ptr %t28
+ %t29 = load ptr, ptr %sc_l_i_0
+ %t30 = call ptr @sc_retain_box(ptr %t29)
+ %t31 = getelementptr inbounds %ScrClosure, ptr %t27, i64 1 ; caps
+ %t32 = getelementptr inbounds ptr, ptr %t31, i64 0 ; caps[0]
+ store ptr %t30, ptr %t32
+ %t33 = load ptr, ptr %sc_l_drained_0
+ %t34 = call ptr @sc_retain_box(ptr %t33)
+ %t35 = getelementptr inbounds %ScrClosure, ptr %t27, i64 1 ; caps
+ %t36 = getelementptr inbounds ptr, ptr %t35, i64 1 ; caps[1]
+ store ptr %t34, ptr %t36
+ %t37 = load ptr, ptr %s9
+ %t38 = icmp eq ptr %t37, null
+ br i1 %t38, label %lazy.box3, label %lazy.box.j4
+lazy.box3:
+ %t39 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t40 = load ptr, ptr %sc_l_ctl_0
+ %t41 = call ptr @sc_rc_retain_dyn(ptr %t40)
+ call void @scr_box_set_ref(ptr %t39, ptr %t41)
+ store ptr %t39, ptr %s9
+ br label %lazy.box.j4
+lazy.box.j4:
+ %t42 = load ptr, ptr %s9
+ %t43 = call ptr @sc_retain_box(ptr %t42)
+ %t44 = getelementptr inbounds %ScrClosure, ptr %t27, i64 1 ; caps
+ %t45 = getelementptr inbounds ptr, ptr %t44, i64 2 ; caps[2]
+ store ptr %t43, ptr %t45
+ store ptr %t27, ptr %sc_l_pump_1
+ %t46 = call ptr @scr_box_new(i32 4) ; let pump (boxed)
+ store ptr %t46, ptr %sc_l_pump_0
+ %t47 = load ptr, ptr %sc_l_pump_1
+ %t48 = call ptr @scr_closure_retain_v(ptr %t47)
+ call void @scr_box_set_ref(ptr %t46, ptr %t48)
+ %t49 = load ptr, ptr %sc_l_pump_1
+ %t50 = getelementptr inbounds %ScrClosure, ptr %t49, i64 0, i32 1
+ %t51 = load ptr, ptr %t50
+ %t52 = icmp eq ptr %t51, @sc_f__x25_fn58
+ br i1 %t52, label %callback.direct5, label %callback.indirect6
+callback.direct5:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void @sc_f__x25_fn58(ptr %t49)
+ call void @scr_dyn_this_pop()
+ br label %callback.done7
+callback.indirect6:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t51(ptr %t49)
+ call void @scr_dyn_this_pop()
+ br label %callback.done7
+callback.done7:
+ %t53 = load i32, ptr %exc.cell
+ %t54 = icmp ne i32 %t53, 0
+ %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false)
+ br i1 %t55, label %exc.u8, label %exc.k9
+exc.u8:
+ br label %exc.cleanup10
+exc.k9:
+ %t56 = load ptr, ptr %sc_l_im_1
+ %t57 = call ptr @scr_http_req_retain_v(ptr %t56)
+ %t58 = call ptr @scr_closure_new(ptr @sc_f__x25_fn59, i64 3)
+ %t59 = getelementptr inbounds %ScrClosure, ptr %t58, i64 0, i32 4
+ store i32 4, ptr %t59
+ %t60 = getelementptr inbounds %ScrClosure, ptr %t58, i64 0, i32 7
+ store ptr @sc_bf__x25_fn59, ptr %t60
+ %t61 = load ptr, ptr %s9
+ %t62 = icmp eq ptr %t61, null
+ br i1 %t62, label %lazy.box11, label %lazy.box.j12
+lazy.box11:
+ %t63 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t64 = load ptr, ptr %sc_l_ctl_0
+ %t65 = call ptr @sc_rc_retain_dyn(ptr %t64)
+ call void @scr_box_set_ref(ptr %t63, ptr %t65)
+ store ptr %t63, ptr %s9
+ br label %lazy.box.j12
+lazy.box.j12:
+ %t66 = load ptr, ptr %s9
+ %t67 = call ptr @sc_retain_box(ptr %t66)
+ %t68 = getelementptr inbounds %ScrClosure, ptr %t58, i64 1 ; caps
+ %t69 = getelementptr inbounds ptr, ptr %t68, i64 0 ; caps[0]
+ store ptr %t67, ptr %t69
+ %t70 = load ptr, ptr %sc_l_i_0
+ %t71 = call ptr @sc_retain_box(ptr %t70)
+ %t72 = getelementptr inbounds %ScrClosure, ptr %t58, i64 1 ; caps
+ %t73 = getelementptr inbounds ptr, ptr %t72, i64 1 ; caps[1]
+ store ptr %t71, ptr %t73
+ %t74 = load ptr, ptr %sc_l_drained_0
+ %t75 = call ptr @sc_retain_box(ptr %t74)
+ %t76 = getelementptr inbounds %ScrClosure, ptr %t58, i64 1 ; caps
+ %t77 = getelementptr inbounds ptr, ptr %t76, i64 2 ; caps[2]
+ store ptr %t75, ptr %t77
+ call void @scr_http_req_on_data(ptr %t57, ptr %t58, ptr @scr_net_data_thunk_bytes, i1 false)
+ call void @scr_http_req_release(ptr %t57)
+ %t78 = load ptr, ptr %sc_l_im_1
+ %t79 = call ptr @scr_http_req_retain_v(ptr %t78)
+ %t80 = call ptr @scr_closure_new(ptr @sc_f__x25_fn60, i64 2)
+ %t81 = getelementptr inbounds %ScrClosure, ptr %t80, i64 0, i32 4
+ store i32 4, ptr %t81
+ %t82 = load ptr, ptr %sc_l_pump_0
+ %t83 = call ptr @sc_retain_box(ptr %t82)
+ %t84 = getelementptr inbounds %ScrClosure, ptr %t80, i64 1 ; caps
+ %t85 = getelementptr inbounds ptr, ptr %t84, i64 0 ; caps[0]
+ store ptr %t83, ptr %t85
+ %t86 = load ptr, ptr %s9
+ %t87 = icmp eq ptr %t86, null
+ br i1 %t87, label %lazy.box13, label %lazy.box.j14
+lazy.box13:
+ %t88 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t89 = load ptr, ptr %sc_l_ctl_0
+ %t90 = call ptr @sc_rc_retain_dyn(ptr %t89)
+ call void @scr_box_set_ref(ptr %t88, ptr %t90)
+ store ptr %t88, ptr %s9
+ br label %lazy.box.j14
+lazy.box.j14:
+ %t91 = load ptr, ptr %s9
+ %t92 = call ptr @sc_retain_box(ptr %t91)
+ %t93 = getelementptr inbounds %ScrClosure, ptr %t80, i64 1 ; caps
+ %t94 = getelementptr inbounds ptr, ptr %t93, i64 1 ; caps[1]
+ store ptr %t92, ptr %t94
+ call void @scr_http_req_on_end(ptr %t79, ptr %t80, i1 false)
+ call void @scr_http_req_release(ptr %t79)
+ %t95 = load ptr, ptr %sc_l_im_1
+ %t96 = call ptr @scr_http_req_retain_v(ptr %t95)
+ %t97 = call ptr @scr_closure_new(ptr @sc_f__x25_fn61, i64 2)
+ %t98 = getelementptr inbounds %ScrClosure, ptr %t97, i64 0, i32 4
+ store i32 4, ptr %t98
+ %t99 = load ptr, ptr %sc_l_pump_0
+ %t100 = call ptr @sc_retain_box(ptr %t99)
+ %t101 = getelementptr inbounds %ScrClosure, ptr %t97, i64 1 ; caps
+ %t102 = getelementptr inbounds ptr, ptr %t101, i64 0 ; caps[0]
+ store ptr %t100, ptr %t102
+ %t103 = load ptr, ptr %s9
+ %t104 = icmp eq ptr %t103, null
+ br i1 %t104, label %lazy.box15, label %lazy.box.j16
+lazy.box15:
+ %t105 = call ptr @scr_box_new_obj(ptr @scr_dyn_retain_v, ptr @scr_dyn_release_v, ptr @scr_dyn_trace_v)
+ %t106 = load ptr, ptr %sc_l_ctl_0
+ %t107 = call ptr @sc_rc_retain_dyn(ptr %t106)
+ call void @scr_box_set_ref(ptr %t105, ptr %t107)
+ store ptr %t105, ptr %s9
+ br label %lazy.box.j16
+lazy.box.j16:
+ %t108 = load ptr, ptr %s9
+ %t109 = call ptr @sc_retain_box(ptr %t108)
+ %t110 = getelementptr inbounds %ScrClosure, ptr %t97, i64 1 ; caps
+ %t111 = getelementptr inbounds ptr, ptr %t110, i64 1 ; caps[1]
+ store ptr %t109, ptr %t111
+ call void @scr_http_req_on_error(ptr %t96, ptr %t97, ptr @scr_child_err_thunk0, i1 false)
+ call void @scr_http_req_release(ptr %t96)
+ %t112 = load ptr, ptr %s9
+ %t113 = icmp ne ptr %t112, null
+ br i1 %t113, label %lazy.release17, label %lazy.release.j18
+lazy.release17:
+ call void @scr_box_release(ptr %t112)
+ br label %lazy.release.j18
+lazy.release.j18:
+ %t114 = load ptr, ptr %sc_l_ctl_0
+ call void @sc_rc_release_dyn(ptr %t114)
+ %t115 = load ptr, ptr %sc_l_drained_0
+ call void @scr_box_release(ptr %t115)
+ %t116 = load ptr, ptr %sc_l_i_0
+ call void @scr_box_release(ptr %t116)
+ %t117 = load ptr, ptr %sc_l_pump_1
+ call void @scr_closure_release(ptr %t117)
+ %t118 = load ptr, ptr %sc_l_pump_0
+ call void @scr_box_release(ptr %t118)
+ ret void
+exc.cleanup2:
+ %t119 = load ptr, ptr %s9
+ %t120 = icmp ne ptr %t119, null
+ br i1 %t120, label %lazy.release19, label %lazy.release.j20
+lazy.release19:
+ call void @scr_box_release(ptr %t119)
+ br label %lazy.release.j20
+lazy.release.j20:
+ %t121 = load ptr, ptr %sc_l_ctl_0
+ call void @sc_rc_release_dyn(ptr %t121)
+ ret void
+exc.cleanup10:
+ %t122 = load ptr, ptr %s9
+ %t123 = icmp ne ptr %t122, null
+ br i1 %t123, label %lazy.release21, label %lazy.release.j22
+lazy.release21:
+ call void @scr_box_release(ptr %t122)
+ br label %lazy.release.j22
+lazy.release.j22:
+ %t124 = load ptr, ptr %sc_l_ctl_0
+ call void @sc_rc_release_dyn(ptr %t124)
+ %t125 = load ptr, ptr %sc_l_drained_0
+ call void @scr_box_release(ptr %t125)
+ %t126 = load ptr, ptr %sc_l_i_0
+ call void @scr_box_release(ptr %t126)
+ %t127 = load ptr, ptr %sc_l_pump_1
+ call void @scr_closure_release(ptr %t127)
+ %t128 = load ptr, ptr %sc_l_pump_0
+ call void @scr_box_release(ptr %t128)
+ ret void
+}
+
+define internal void @sc_bf__x25_error_name_write(ptr %p_sc_l_error_0, ptr %p_sc_l_value) #0 { ; %error.name.write
+entry:
+ %sc_l_error_0 = alloca ptr ; error
+ %sc_l_value = alloca ptr ; value
+ store ptr %p_sc_l_error_0, ptr %sc_l_error_0
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = load ptr, ptr %sc_l_error_0
+ %t1 = getelementptr inbounds %ScrError, ptr %t0, i64 0, i32 9
+ %t2 = load i8, ptr %t1, !tbaa !206
+ %t3 = trunc i8 %t2 to i1
+ br i1 %t3, label %if.t0, label %if.j1
+if.t0:
+ %t4 = load ptr, ptr %sc_l_error_0
+ %t5 = getelementptr inbounds %ScrError, ptr %t4, i64 0, i32 9
+ %t6 = load i8, ptr %t5, !tbaa !206
+ %t7 = trunc i8 %t6 to i1
+ %t8 = xor i1 %t7, true
+ br i1 %t8, label %if.t2, label %if.j3
+if.t2:
+ %t9 = load ptr, ptr %sc_l_error_0
+ %t10 = getelementptr inbounds %ScrError, ptr %t9, i64 0, i32 10
+ %t11 = zext i1 true to i8
+ store i8 %t11, ptr %t10, !tbaa !208
+ br label %if.j3
+if.j3:
+ %t12 = load ptr, ptr %sc_l_error_0
+ %t13 = load ptr, ptr %sc_l_value
+ %t14 = call ptr @sc_rc_retain_str(ptr %t13)
+ %t15 = getelementptr inbounds %ScrError, ptr %t12, i64 0, i32 2
+ %t16 = load ptr, ptr %t15
+ store ptr %t14, ptr %t15, !tbaa !10
+ call void @scr_str_release(ptr %t16)
+ %t17 = getelementptr inbounds %ScrError, ptr %t12, i64 0, i32 9
+ %t18 = getelementptr inbounds %ScrError, ptr %t12, i64 0, i32 10
+ %t19 = load i8, ptr %t17
+ %t20 = load i8, ptr %t18
+ %t21 = icmp ne i8 %t19, 0
+ %t22 = select i1 %t21, i8 %t20, i8 1
+ store i8 1, ptr %t17
+ store i8 %t22, ptr %t18
+ %t23 = load ptr, ptr %sc_l_error_0
+ %t24 = getelementptr inbounds %ScrError, ptr %t23, i64 0, i32 9
+ %t25 = zext i1 true to i8
+ store i8 %t25, ptr %t24, !tbaa !206
+ ret void
+if.j1:
+ %t26 = load ptr, ptr %sc_l_error_0
+ %t27 = getelementptr inbounds %ScrError, ptr %t26, i64 0, i32 9
+ %t28 = load i8, ptr %t27, !tbaa !206
+ %t29 = trunc i8 %t28 to i1
+ %t30 = xor i1 %t29, true
+ br i1 %t30, label %if.t4, label %if.j5
+if.t4:
+ %t31 = load ptr, ptr %sc_l_error_0
+ %t32 = getelementptr inbounds %ScrError, ptr %t31, i64 0, i32 10
+ %t33 = zext i1 true to i8
+ store i8 %t33, ptr %t32, !tbaa !208
+ br label %if.j5
+if.j5:
+ %t34 = load ptr, ptr %sc_l_error_0
+ %t35 = load ptr, ptr %sc_l_value
+ %t36 = call ptr @sc_rc_retain_str(ptr %t35)
+ %t37 = getelementptr inbounds %ScrError, ptr %t34, i64 0, i32 2
+ %t38 = load ptr, ptr %t37
+ store ptr %t36, ptr %t37, !tbaa !10
+ call void @scr_str_release(ptr %t38)
+ %t39 = getelementptr inbounds %ScrError, ptr %t34, i64 0, i32 9
+ %t40 = getelementptr inbounds %ScrError, ptr %t34, i64 0, i32 10
+ %t41 = load i8, ptr %t39
+ %t42 = load i8, ptr %t40
+ %t43 = icmp ne i8 %t41, 0
+ %t44 = select i1 %t43, i8 %t42, i8 1
+ store i8 1, ptr %t39
+ store i8 %t44, ptr %t40
+ %t45 = load ptr, ptr %sc_l_error_0
+ %t46 = getelementptr inbounds %ScrError, ptr %t45, i64 0, i32 9
+ %t47 = zext i1 true to i8
+ store i8 %t47, ptr %t46, !tbaa !206
+ ret void
+}
+define internal void @sc_f__x25_error_name_write(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_error_name_write(ptr %p0, ptr %p1)
+ call void @scr_error_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal i1 @sc_bf__x25_dyn_class_forInBagHas(ptr %p_sc_l_bag, ptr %p_sc_l_key) #0 { ; %dyn.class.forInBagHas
+entry:
+ %sc_l_bag = alloca ptr ; bag
+ %sc_l_key = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_bag, ptr %sc_l_bag
+ store ptr %p_sc_l_key, ptr %sc_l_key
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_bag
+ %t5 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 6
+ br i1 %t7, label %if.t2, label %if.j3
+if.t2:
+ ret i1 false
+if.j3:
+ %t8 = load ptr, ptr %sc_l_bag
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = load ptr, ptr %sc_l_key
+ %t11 = call ptr @sc_rc_retain_str(ptr %t10)
+ %t12 = call zeroext i1 @scr_dyn_has_key(ptr %t9, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @scr_str_release(ptr %t11)
+ ret i1 false
+exc.k5:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @scr_str_release(ptr %t11)
+ ret i1 %t12
+}
+define internal i1 @sc_f__x25_dyn_class_forInBagHas(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_dyn_class_forInBagHas(ptr %p0, ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal i1 @sc_bf__x25_dyn_class_forInHasKey(ptr %p_sc_l_value, ptr %p_sc_l_key) #0 { ; %dyn.class.forInHasKey
+entry:
+ %sc_l_value = alloca ptr ; value
+ %sc_l_key = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s15 = alloca i1
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ store ptr %p_sc_l_key, ptr %sc_l_key
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ %t5 = call ptr @sc_rc_retain_dyn(ptr %t4)
+ %t6 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret i1 false
+exc.k3:
+ %t10 = load ptr, ptr %sc_l_key
+ %t11 = call i1 @sc_bf__x25_dyn_class_forInBagHas(ptr %t6, ptr %t10)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret i1 %t11
+exc.k5:
+ call void @sc_rc_release_dyn(ptr %t6)
+ store i1 %t11, ptr %s15
+ br i1 %t11, label %log.j7, label %log.r6
+log.r6:
+ %t16 = load ptr, ptr %sc_l_value
+ %t17 = call ptr @sc_rc_retain_dyn(ptr %t16)
+ %t18 = load ptr, ptr %sc_l_key
+ %t19 = call ptr @sc_rc_retain_str(ptr %t18)
+ %t20 = call zeroext i1 @scr_dyn_has_key(ptr %t17, ptr %t19)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @scr_str_release(ptr %t19)
+ ret i1 false
+exc.k9:
+ store i1 %t20, ptr %s15
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @scr_str_release(ptr %t19)
+ br label %log.j7
+log.j7:
+ %t24 = load i1, ptr %s15
+ ret i1 %t24
+}
+define internal i1 @sc_f__x25_dyn_class_forInHasKey(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_dyn_class_forInHasKey(ptr %p0, ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink() #0 { ; %prototype.data.%m4.MultipartFileSink
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_298897322184109)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write)
+ %t13 = call ptr @sc_dfb_0(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_952059176356082)
+ %t32 = call ptr @scr_dyn_new_obj()
+ %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end)
+ %t34 = call ptr @sc_dfb_1(ptr %t33, ptr null)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret ptr null
+exc.k13:
+ %t38 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k15:
+ %t42 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.k17:
+ %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ %t52 = call ptr @sc_td_0(ptr @sc_lit_1026109439396001)
+ %t53 = call ptr @scr_dyn_new_obj()
+ %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort)
+ %t55 = call ptr @sc_dfb_1(ptr %t54, ptr null)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ ret ptr null
+exc.k21:
+ %t59 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ ret ptr null
+exc.k23:
+ %t63 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ ret ptr null
+exc.k25:
+ %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ ret ptr null
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t73 = call ptr @sc_td_0(ptr @sc_lit_1048673592241930)
+ %t74 = call ptr @scr_dyn_new_obj()
+ %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file)
+ %t76 = call ptr @sc_dfb_67(ptr %t75, ptr null)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret ptr null
+exc.k29:
+ %t80 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ ret ptr null
+exc.k31:
+ %t84 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k33:
+ %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t88)
+ ret ptr null
+exc.k35:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t88)
+ br label %if.j3
+if.j3:
+ %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ %t93 = call ptr @sc_rc_retain_dyn(ptr %t92)
+ ret ptr %t93
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartFileSink(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m4.MultipartFileSink
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s1 = alloca i1
+ %s12 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s29 = alloca i1
+ %s40 = alloca ptr
+ %s57 = alloca i1
+ %s68 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s1
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %brand.inspect0, label %brand.done2
+brand.inspect0:
+ %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t4 = load i32, ptr %t3
+ %t5 = icmp eq i32 %t4, 12
+ br i1 %t5, label %brand.capsule1, label %brand.done2
+brand.capsule1:
+ %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t7 = load ptr, ptr %t6
+ %t8 = icmp eq ptr %t7, @sc_cs_2072202777142634
+ store i1 true, ptr %s1
+ br i1 %t8, label %brand.done2, label %brand.compare3
+brand.compare3:
+ %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_2072202777142634)
+ store i1 %t9, ptr %s1
+ br label %brand.done2
+brand.done2:
+ %t10 = load i1, ptr %s1
+ br i1 %t10, label %if.t4, label %if.j5
+if.t4:
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t13 = icmp ne ptr %t11, null
+ br i1 %t13, label %dc.inspect6, label %dc.checked9
+dc.inspect6:
+ %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t14 = icmp eq i32 %t19, 12
+ br i1 %t14, label %dc.capsule7, label %dc.checked9
+dc.capsule7:
+ %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key
+ %t16 = load ptr, ptr %t15
+ %t17 = icmp eq ptr %t16, @sc_cs_2072202777142634
+ br i1 %t17, label %dc.exact8, label %dc.checked9
+dc.exact8:
+ %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t21)
+ store ptr %t22, ptr %s12
+ br label %dc.done10
+dc.checked9:
+ %t23 = call ptr @sc_dc_26(ptr %t11, ptr null)
+ store ptr %t23, ptr %s12
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ ret ptr null
+exc.k12:
+ br label %dc.done10
+dc.done10:
+ %t27 = load ptr, ptr %s12
+ ret ptr %t27
+if.j5:
+ %t28 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s29
+ %t30 = icmp ne ptr %t28, null
+ br i1 %t30, label %brand.inspect13, label %brand.done15
+brand.inspect13:
+ %t31 = getelementptr inbounds i8, ptr %t28, i64 8 ; ->kind
+ %t32 = load i32, ptr %t31
+ %t33 = icmp eq i32 %t32, 12
+ br i1 %t33, label %brand.capsule14, label %brand.done15
+brand.capsule14:
+ %t34 = getelementptr inbounds i8, ptr %t28, i64 40 ; ->v.typed_ref.type_key
+ %t35 = load ptr, ptr %t34
+ %t36 = icmp eq ptr %t35, @sc_cs_3728566007289652
+ store i1 true, ptr %s29
+ br i1 %t36, label %brand.done15, label %brand.compare16
+brand.compare16:
+ %t37 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t28, ptr @sc_lit_3728566007289652)
+ store i1 %t37, ptr %s29
+ br label %brand.done15
+brand.done15:
+ %t38 = load i1, ptr %s29
+ br i1 %t38, label %if.t17, label %if.j18
+if.t17:
+ %t39 = load ptr, ptr %sc_l_this_0
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect19, label %dc.checked22
+dc.inspect19:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule20, label %dc.checked22
+dc.capsule20:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_3728566007289652
+ br i1 %t45, label %dc.exact21, label %dc.checked22
+dc.exact21:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done23
+dc.checked22:
+ %t51 = call ptr @sc_dc_100(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u24, label %exc.k25
+exc.u24:
+ ret ptr null
+exc.k25:
+ br label %dc.done23
+dc.done23:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j18:
+ %t56 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s57
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %brand.inspect26, label %brand.done28
+brand.inspect26:
+ %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t61 = icmp eq i32 %t60, 12
+ br i1 %t61, label %brand.capsule27, label %brand.done28
+brand.capsule27:
+ %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t63 = load ptr, ptr %t62
+ %t64 = icmp eq ptr %t63, @sc_cs_3573893819363590
+ store i1 true, ptr %s57
+ br i1 %t64, label %brand.done28, label %brand.compare29
+brand.compare29:
+ %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_3573893819363590)
+ store i1 %t65, ptr %s57
+ br label %brand.done28
+brand.done28:
+ %t66 = load i1, ptr %s57
+ br i1 %t66, label %if.t30, label %if.j31
+if.t30:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t69 = icmp ne ptr %t67, null
+ br i1 %t69, label %dc.inspect32, label %dc.checked35
+dc.inspect32:
+ %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind
+ %t75 = load i32, ptr %t74
+ %t70 = icmp eq i32 %t75, 12
+ br i1 %t70, label %dc.capsule33, label %dc.checked35
+dc.capsule33:
+ %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key
+ %t72 = load ptr, ptr %t71
+ %t73 = icmp eq ptr %t72, @sc_cs_3573893819363590
+ br i1 %t73, label %dc.exact34, label %dc.checked35
+dc.exact34:
+ %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr
+ %t77 = load ptr, ptr %t76
+ %t78 = call ptr @sc_retain__x25_m4_DiskFileSink(ptr %t77)
+ store ptr %t78, ptr %s68
+ br label %dc.done36
+dc.checked35:
+ %t79 = call ptr @sc_dc_120(ptr %t67, ptr null)
+ store ptr %t79, ptr %s68
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u37, label %exc.k38
+exc.u37:
+ ret ptr null
+exc.k38:
+ br label %dc.done36
+dc.done36:
+ %t83 = load ptr, ptr %s68
+ ret ptr %t83
+if.j31:
+ %t84 = load ptr, ptr %sc_l_this_0
+ %t85 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartFileSink(ptr %t84)
+ %t86 = load i32, ptr %exc.cell
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t85)
+ ret ptr null
+exc.k40:
+ ret ptr %t85
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m4_MultipartFileSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartFileSink(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m4.MultipartFileSink.write
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_write(ptr %t0)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end() #0 { ; %method.value:%%m4.MultipartFileSink.end
+entry:
+ call void @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_end()
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort() #0 { ; %method.value:%%m4.MultipartFileSink.abort
+entry:
+ call void @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_abort()
+ ret void
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file() #0 { ; %method.value:%%m4.MultipartFileSink.file
+entry:
+ %t0 = call ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_file()
+ ret ptr %t0
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage() #0 { ; %prototype.data.%m4.MultipartStorage
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_4062729090063393)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin)
+ %t13 = call ptr @sc_dfb_68(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %if.j3
+if.j3:
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ ret ptr %t30
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartStorage(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m4.MultipartStorage
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s1 = alloca i1
+ %s12 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s29 = alloca i1
+ %s40 = alloca ptr
+ %s57 = alloca i1
+ %s68 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s1
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %brand.inspect0, label %brand.done2
+brand.inspect0:
+ %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t4 = load i32, ptr %t3
+ %t5 = icmp eq i32 %t4, 12
+ br i1 %t5, label %brand.capsule1, label %brand.done2
+brand.capsule1:
+ %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t7 = load ptr, ptr %t6
+ %t8 = icmp eq ptr %t7, @sc_cs_3635319175845957
+ store i1 true, ptr %s1
+ br i1 %t8, label %brand.done2, label %brand.compare3
+brand.compare3:
+ %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_3635319175845957)
+ store i1 %t9, ptr %s1
+ br label %brand.done2
+brand.done2:
+ %t10 = load i1, ptr %s1
+ br i1 %t10, label %if.t4, label %if.j5
+if.t4:
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t13 = icmp ne ptr %t11, null
+ br i1 %t13, label %dc.inspect6, label %dc.checked9
+dc.inspect6:
+ %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t14 = icmp eq i32 %t19, 12
+ br i1 %t14, label %dc.capsule7, label %dc.checked9
+dc.capsule7:
+ %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key
+ %t16 = load ptr, ptr %t15
+ %t17 = icmp eq ptr %t16, @sc_cs_3635319175845957
+ br i1 %t17, label %dc.exact8, label %dc.checked9
+dc.exact8:
+ %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t21)
+ store ptr %t22, ptr %s12
+ br label %dc.done10
+dc.checked9:
+ %t23 = call ptr @sc_dc_24(ptr %t11, ptr null)
+ store ptr %t23, ptr %s12
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ ret ptr null
+exc.k12:
+ br label %dc.done10
+dc.done10:
+ %t27 = load ptr, ptr %s12
+ ret ptr %t27
+if.j5:
+ %t28 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s29
+ %t30 = icmp ne ptr %t28, null
+ br i1 %t30, label %brand.inspect13, label %brand.done15
+brand.inspect13:
+ %t31 = getelementptr inbounds i8, ptr %t28, i64 8 ; ->kind
+ %t32 = load i32, ptr %t31
+ %t33 = icmp eq i32 %t32, 12
+ br i1 %t33, label %brand.capsule14, label %brand.done15
+brand.capsule14:
+ %t34 = getelementptr inbounds i8, ptr %t28, i64 40 ; ->v.typed_ref.type_key
+ %t35 = load ptr, ptr %t34
+ %t36 = icmp eq ptr %t35, @sc_cs_3456310594719780
+ store i1 true, ptr %s29
+ br i1 %t36, label %brand.done15, label %brand.compare16
+brand.compare16:
+ %t37 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t28, ptr @sc_lit_3456310594719780)
+ store i1 %t37, ptr %s29
+ br label %brand.done15
+brand.done15:
+ %t38 = load i1, ptr %s29
+ br i1 %t38, label %if.t17, label %if.j18
+if.t17:
+ %t39 = load ptr, ptr %sc_l_this_0
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect19, label %dc.checked22
+dc.inspect19:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule20, label %dc.checked22
+dc.capsule20:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_3456310594719780
+ br i1 %t45, label %dc.exact21, label %dc.checked22
+dc.exact21:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done23
+dc.checked22:
+ %t51 = call ptr @sc_dc_99(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u24, label %exc.k25
+exc.u24:
+ ret ptr null
+exc.k25:
+ br label %dc.done23
+dc.done23:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j18:
+ %t56 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s57
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %brand.inspect26, label %brand.done28
+brand.inspect26:
+ %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t61 = icmp eq i32 %t60, 12
+ br i1 %t61, label %brand.capsule27, label %brand.done28
+brand.capsule27:
+ %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t63 = load ptr, ptr %t62
+ %t64 = icmp eq ptr %t63, @sc_cs_2020403498516894
+ store i1 true, ptr %s57
+ br i1 %t64, label %brand.done28, label %brand.compare29
+brand.compare29:
+ %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_2020403498516894)
+ store i1 %t65, ptr %s57
+ br label %brand.done28
+brand.done28:
+ %t66 = load i1, ptr %s57
+ br i1 %t66, label %if.t30, label %if.j31
+if.t30:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t69 = icmp ne ptr %t67, null
+ br i1 %t69, label %dc.inspect32, label %dc.checked35
+dc.inspect32:
+ %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind
+ %t75 = load i32, ptr %t74
+ %t70 = icmp eq i32 %t75, 12
+ br i1 %t70, label %dc.capsule33, label %dc.checked35
+dc.capsule33:
+ %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key
+ %t72 = load ptr, ptr %t71
+ %t73 = icmp eq ptr %t72, @sc_cs_2020403498516894
+ br i1 %t73, label %dc.exact34, label %dc.checked35
+dc.exact34:
+ %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr
+ %t77 = load ptr, ptr %t76
+ %t78 = call ptr @sc_retain__x25_m4_DiskStorage(ptr %t77)
+ store ptr %t78, ptr %s68
+ br label %dc.done36
+dc.checked35:
+ %t79 = call ptr @sc_dc_121(ptr %t67, ptr null)
+ store ptr %t79, ptr %s68
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u37, label %exc.k38
+exc.u37:
+ ret ptr null
+exc.k38:
+ br label %dc.done36
+dc.done36:
+ %t83 = load ptr, ptr %s68
+ ret ptr %t83
+if.j31:
+ %t84 = load ptr, ptr %sc_l_this_0
+ %t85 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartStorage(ptr %t84)
+ %t86 = load i32, ptr %exc.cell
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t85)
+ ret ptr null
+exc.k40:
+ ret ptr %t85
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m4_MultipartStorage(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MultipartStorage(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m4.MultipartStorage.begin
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = load ptr, ptr %sc_l_p_1
+ %t2 = load ptr, ptr %sc_l_p_2
+ %t3 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartStorage_begin(ptr %t0, ptr %t1, ptr %t2)
+ ret ptr %t3
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret ptr %result
+}
+
+define internal void @sc_f__x25_fn63_done(ptr %sc_env) #0 { ; %fn63_done
+entry:
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l__x25_callbackReceiver_0 = alloca ptr ; %callbackReceiver
+ %sc_l__x25_callbackBag_0 = alloca ptr ; %callbackBag
+ %sc_l__x25_callbackPresent_0 = alloca i1 ; %callbackPresent
+ %sc_l__x25_callback_0 = alloca ptr ; %callback
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_c_1 = alloca ptr ; c
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_resolve_1 = alloca ptr ; resolve
+ %s30 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s42 = alloca ptr
+ store ptr null, ptr %sc_l__x25_callbackReceiver_0
+ store ptr null, ptr %sc_l__x25_callbackBag_0
+ store ptr null, ptr %sc_l__x25_callback_0
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_resolve_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_c_0 ; captured c
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_sink_0 ; captured sink
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_r_0 ; captured r
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_resolve_0 ; captured resolve
+ %t12 = call ptr @llvm.stacksave.p0()
+ %t13 = load ptr, ptr @scr_stack_guard
+ %t14 = icmp ult ptr %t12, %t13
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t16 = load ptr, ptr %sc_l_c_0
+ %t17 = getelementptr inbounds %ScrBox, ptr %t16, i32 0, i32 5
+ %t18 = load ptr, ptr %t17
+ store ptr %t18, ptr %sc_l_c_1
+ %t19 = load ptr, ptr %sc_l_sink_0
+ %t20 = getelementptr inbounds %ScrBox, ptr %t19, i32 0, i32 5
+ %t21 = load ptr, ptr %t20
+ store ptr %t21, ptr %sc_l_sink_1
+ %t22 = load ptr, ptr %sc_l_resolve_0
+ %t23 = getelementptr inbounds %ScrBox, ptr %t22, i32 0, i32 5
+ %t24 = load ptr, ptr %t23
+ store ptr %t24, ptr %sc_l_resolve_1
+ %t25 = load ptr, ptr %sc_l_c_1
+ %t26 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t25, i64 0, i32 5
+ %t27 = load i8, ptr %t26, !tbaa !42
+ %t28 = trunc i8 %t27 to i1
+ %t29 = icmp eq i1 %t28, false
+ store i1 %t29, ptr %s30
+ br i1 %t29, label %log.r2, label %log.j3
+log.r2:
+ %t31 = load ptr, ptr %sc_l_sink_1
+ store ptr %t31, ptr %sc_l__x25_callbackReceiver_0
+ %t32 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t34 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t33)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret void
+exc.k5:
+ store ptr %t34, ptr %sc_l__x25_callbackBag_0
+ store i1 true, ptr %sc_l__x25_callbackPresent_0
+ %t38 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t39 = getelementptr inbounds i8, ptr %t38, i64 8 ; ->kind
+ %t40 = load i32, ptr %t39
+ %t41 = icmp eq i32 %t40, 6
+ br i1 %t41, label %tern.t6, label %tern.f7
+tern.t6:
+ %t44 = call ptr @scr_dyn_undefined()
+ %t43 = call ptr @scr_dyn_retain_v(ptr %t44)
+ store ptr %t43, ptr %s42
+ br label %tern.j8
+tern.f7:
+ %t45 = load ptr, ptr %sc_l__x25_callbackBag_0
+ %t46 = call ptr @sc_rc_retain_dyn(ptr %t45)
+ %t47 = call ptr @sc_f__x25_dyn_class_property_20(ptr %t46)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t47)
+ br label %exc.cleanup11
+exc.k10:
+ store ptr %t47, ptr %s42
+ br label %tern.j8
+tern.j8:
+ %t51 = load ptr, ptr %s42
+ store ptr %t51, ptr %sc_l__x25_callback_0
+ %t52 = load ptr, ptr %sc_l__x25_callback_0
+ %t53 = load ptr, ptr %sc_l__x25_callbackReceiver_0
+ %t54 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t53, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_this_push_dyn(ptr %t54)
+ %t55 = call ptr @scr_dyn_call(ptr %t52, ptr null, i64 0, ptr @sc_cs_3079164241922068)
+ call void @scr_dyn_this_pop()
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ br label %exc.cleanup14
+exc.k13:
+ %t59 = call zeroext i1 @sc_dc_3(ptr %t55, ptr null)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_rc_release_dyn(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ br label %exc.cleanup14
+exc.k16:
+ %t63 = icmp eq i1 %t59, false
+ store i1 %t63, ptr %s30
+ call void @sc_rc_release_dyn(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ %t64 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t64)
+ %t65 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t65)
+ br label %log.j3
+log.j3:
+ %t66 = load i1, ptr %s30
+ br i1 %t66, label %if.t17, label %if.j18
+if.t17:
+ %t67 = load ptr, ptr %sc_l_r_0
+ %t68 = call ptr @scr_box_get_ref(ptr %t67)
+ %t69 = load ptr, ptr %sc_l_c_1
+ %t70 = call i1 @sc_bf__x25_m5_adoptResponse(ptr %t68, ptr %t69)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @sc_rc_release_dyn(ptr %t68)
+ ret void
+exc.k20:
+ call void @sc_rc_release_dyn(ptr %t68)
+ %t74 = icmp eq i1 %t70, false
+ br i1 %t74, label %if.t21, label %if.j22
+if.t21:
+ %t75 = load ptr, ptr %sc_l_sink_1
+ call void @sc_bf__x25_m5_send500(ptr %t75)
+ %t76 = load i32, ptr %exc.cell
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false)
+ br i1 %t78, label %exc.u23, label %exc.k24
+exc.u23:
+ ret void
+exc.k24:
+ br label %if.j22
+if.j22:
+ br label %if.j18
+if.j18:
+ %t79 = load ptr, ptr %sc_l_resolve_1
+ %t80 = getelementptr inbounds %ScrClosure, ptr %t79, i64 0, i32 1
+ %t81 = load ptr, ptr %t80
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t81(ptr %t79)
+ call void @scr_dyn_this_pop()
+ %t82 = load i32, ptr %exc.cell
+ %t83 = icmp ne i32 %t82, 0
+ %t84 = call i1 @llvm.expect.i1(i1 %t83, i1 false)
+ br i1 %t84, label %exc.u25, label %exc.k26
+exc.u25:
+ ret void
+exc.k26:
+ ret void
+exc.cleanup11:
+ %t85 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t85)
+ ret void
+exc.cleanup14:
+ %t86 = load ptr, ptr %sc_l__x25_callbackBag_0
+ call void @sc_rc_release_dyn(ptr %t86)
+ %t87 = load ptr, ptr %sc_l__x25_callback_0
+ call void @sc_rc_release_dyn(ptr %t87)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn64(ptr %sc_env, ptr %p_sc_l_v_0) #0 { ; %fn64
+entry:
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_done_0 = alloca ptr ; done
+ %sc_l_c_1 = alloca ptr ; c
+ %sc_l_done_1 = alloca ptr ; done
+ %s23 = alloca i1
+ %s30 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %sc_l_done_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_c_0 ; captured c
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_r_0 ; captured r
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_done_0 ; captured done
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ %t9 = call ptr @llvm.stacksave.p0()
+ %t10 = load ptr, ptr @scr_stack_guard
+ %t11 = icmp ult ptr %t9, %t10
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t13 = load ptr, ptr %sc_l_c_0
+ %t14 = getelementptr inbounds %ScrBox, ptr %t13, i32 0, i32 5
+ %t15 = load ptr, ptr %t14
+ store ptr %t15, ptr %sc_l_c_1
+ %t16 = load ptr, ptr %sc_l_done_0
+ %t17 = call ptr @scr_box_get_ref(ptr %t16)
+ store ptr %t17, ptr %sc_l_done_1
+ %t18 = load ptr, ptr %sc_l_v_0
+ %t19 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind
+ %t20 = load i32, ptr %t19
+ %t21 = icmp eq i32 %t20, 0
+ %t22 = xor i1 %t21, true
+ store i1 %t22, ptr %s23
+ br i1 %t22, label %log.r2, label %log.j3
+log.r2:
+ %t24 = load ptr, ptr %sc_l_v_0
+ %t25 = getelementptr inbounds i8, ptr %t24, i64 8 ; ->kind
+ %t26 = load i32, ptr %t25
+ %t27 = icmp eq i32 %t26, 6
+ %t28 = xor i1 %t27, true
+ store i1 %t28, ptr %s23
+ br label %log.j3
+log.j3:
+ %t29 = load i1, ptr %s23
+ store i1 %t29, ptr %s30
+ br i1 %t29, label %log.r4, label %log.j5
+log.r4:
+ %t31 = load ptr, ptr %sc_l_v_0
+ %t32 = load ptr, ptr %sc_l_c_1
+ %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t34 = call zeroext i1 @scr_dyn_strict_eq(ptr %t31, ptr %t33)
+ %t35 = xor i1 %t34, true
+ store i1 %t35, ptr %s30
+ call void @sc_rc_release_dyn(ptr %t33)
+ br label %log.j5
+log.j5:
+ %t36 = load i1, ptr %s30
+ br i1 %t36, label %if.t6, label %if.j7
+if.t6:
+ %t37 = load ptr, ptr %sc_l_v_0
+ %t38 = call ptr @sc_rc_retain_dyn(ptr %t37)
+ %t39 = load ptr, ptr %sc_l_r_0
+ call void @scr_box_set_ref(ptr %t39, ptr %t38)
+ br label %if.j7
+if.j7:
+ %t40 = load ptr, ptr %sc_l_done_1
+ %t41 = getelementptr inbounds %ScrClosure, ptr %t40, i64 0, i32 1
+ %t42 = load ptr, ptr %t41
+ %t43 = icmp eq ptr %t42, @sc_f__x25_fn63_done
+ br i1 %t43, label %callback.direct8, label %callback.indirect9
+callback.direct8:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void @sc_f__x25_fn63_done(ptr %t40)
+ call void @scr_dyn_this_pop()
+ br label %callback.done10
+callback.indirect9:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t42(ptr %t40)
+ call void @scr_dyn_this_pop()
+ br label %callback.done10
+callback.done10:
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u11, label %exc.k12
+exc.u11:
+ br label %exc.cleanup13
+exc.k12:
+ %t47 = load ptr, ptr %sc_l_done_1
+ call void @scr_closure_release(ptr %t47)
+ ret void
+exc.cleanup13:
+ %t48 = load ptr, ptr %sc_l_done_1
+ call void @scr_closure_release(ptr %t48)
+ ret void
+}
+define internal void @sc_f__x25_fn64(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn64(ptr %sc_env, ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn65(ptr %sc_env, ptr %p_sc_l_e_0) #0 { ; %fn65
+entry:
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_oef_1 = alloca ptr ; oef
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_c_1 = alloca ptr ; c
+ %sc_l_resolve_1 = alloca ptr ; resolve
+ %s16 = alloca %ScrUnion
+ %s17 = getelementptr inbounds %ScrUnion, ptr %s16, i32 0, i32 1
+ %s18 = getelementptr inbounds %ScrUnion, ptr %s16, i32 0, i32 5
+ %s19 = alloca ptr
+ %s26 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_oef_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %sc_l_resolve_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_oef_0 ; captured oef
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_sink_0 ; captured sink
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_c_0 ; captured c
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_resolve_0 ; captured resolve
+ store ptr %p_sc_l_e_0, ptr %sc_l_e_0
+ %t12 = call ptr @llvm.stacksave.p0()
+ %t13 = load ptr, ptr @scr_stack_guard
+ %t14 = icmp ult ptr %t12, %t13
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ store ptr null, ptr %s19
+ %t20 = load ptr, ptr %sc_l_oef_0
+ %t21 = getelementptr inbounds %ScrBox, ptr %t20, i32 0, i32 5
+ %t22 = load ptr, ptr %t21
+ %t24 = getelementptr inbounds %ScrUnion, ptr %t22, i64 0, i32 1
+ %t23 = load i32, ptr %t24
+ store ptr null, ptr %s26
+ %t25 = icmp eq i32 %t23, 0
+ br i1 %t25, label %union.copy.ref2, label %union.copy.join3
+union.copy.ref2:
+ %t27 = getelementptr inbounds %ScrUnion, ptr %t22, i64 0, i32 5
+ %t28 = load ptr, ptr %t27
+ %t29 = call ptr @scr_closure_retain_v(ptr %t28)
+ store ptr %t29, ptr %s26
+ br label %union.copy.join3
+union.copy.join3:
+ %t30 = load ptr, ptr %s26
+ %t32 = getelementptr inbounds %ScrUnion, ptr %t22, i64 0, i32 1
+ %t31 = load i32, ptr %t32
+ %t33 = getelementptr inbounds %ScrUnion, ptr %t22, i32 0, i32 5
+ %t34 = load i64, ptr %t33
+ store i32 %t31, ptr %s17
+ store i64 %t34, ptr %s18
+ %t35 = load ptr, ptr %s19
+ store ptr %t30, ptr %s19
+ call void @scr_closure_release(ptr %t35)
+ store ptr %s16, ptr %sc_l_oef_1
+ %t36 = load ptr, ptr %sc_l_sink_0
+ %t37 = getelementptr inbounds %ScrBox, ptr %t36, i32 0, i32 5
+ %t38 = load ptr, ptr %t37
+ store ptr %t38, ptr %sc_l_sink_1
+ %t39 = load ptr, ptr %sc_l_c_0
+ %t40 = getelementptr inbounds %ScrBox, ptr %t39, i32 0, i32 5
+ %t41 = load ptr, ptr %t40
+ store ptr %t41, ptr %sc_l_c_1
+ %t42 = load ptr, ptr %sc_l_resolve_0
+ %t43 = getelementptr inbounds %ScrBox, ptr %t42, i32 0, i32 5
+ %t44 = load ptr, ptr %t43
+ store ptr %t44, ptr %sc_l_resolve_1
+ %t45 = load ptr, ptr %sc_l_oef_1
+ %t48 = getelementptr inbounds %ScrUnion, ptr %t45, i64 0, i32 1
+ %t47 = load i32, ptr %t48
+ %t46 = icmp ne i32 %t47, 1
+ br i1 %t46, label %if.t4, label %if.f6
+if.t4:
+ %t49 = load ptr, ptr %sc_l_oef_1
+ %t50 = getelementptr inbounds %ScrUnion, ptr %t49, i64 0, i32 5
+ %t51 = load ptr, ptr %t50
+ %t52 = load ptr, ptr %sc_l_e_0
+ %t53 = load ptr, ptr %sc_l_sink_1
+ %t54 = load ptr, ptr %sc_l_c_1
+ call void @sc_bf__x25_m5_runOnError(ptr %t51, ptr %t52, ptr %t53, ptr %t54)
+ %t55 = load i32, ptr %exc.cell
+ %t56 = icmp ne i32 %t55, 0
+ %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false)
+ br i1 %t57, label %exc.u7, label %exc.k8
+exc.u7:
+ br label %exc.cleanup9
+exc.k8:
+ br label %if.j5
+if.f6:
+ %t58 = load ptr, ptr %sc_l_sink_1
+ call void @sc_bf__x25_m5_send500(ptr %t58)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u10, label %exc.k11
+exc.u10:
+ br label %exc.cleanup9
+exc.k11:
+ br label %if.j5
+if.j5:
+ %t62 = load ptr, ptr %sc_l_resolve_1
+ %t63 = getelementptr inbounds %ScrClosure, ptr %t62, i64 0, i32 1
+ %t64 = load ptr, ptr %t63
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t64(ptr %t62)
+ call void @scr_dyn_this_pop()
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u12, label %exc.k13
+exc.u12:
+ br label %exc.cleanup9
+exc.k13:
+ %t68 = load ptr, ptr %s19
+ call void @scr_closure_release(ptr %t68)
+ ret void
+exc.cleanup9:
+ %t69 = load ptr, ptr %s19
+ call void @scr_closure_release(ptr %t69)
+ ret void
+}
+define internal void @sc_f__x25_fn65(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn65(ptr %sc_env, ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_fn66_then2(ptr %sc_env, ptr %p_sc_l_p_0, ptr %p_sc_l_f_0, ptr %p_sc_l_r_0) #0 { ; %fn66_then2
+entry:
+ %sc_l_p_0 = alloca ptr ; p
+ %sc_l_f_0 = alloca ptr ; f
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l_v_0 = alloca ptr ; v
+ %s20 = alloca [1 x ptr]
+ store ptr null, ptr %sc_l_e_0
+ store ptr null, ptr %sc_l_v_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_f_0, ptr %sc_l_f_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @scr_promise_retain_v(ptr %t4)
+ %t6 = call ptr @scr_await_ref(ptr %t5)
+ %t7 = load ptr, ptr @scr_exc_active
+ %t8 = load i32, ptr %t7
+ %t9 = icmp ne i32 %t8, 0
+ %t10 = call i1 @llvm.expect.i1(i1 %t9, i1 false)
+ br i1 %t10, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_promise_release(ptr %t5)
+ call void @sc_rc_release_dyn(ptr %t6)
+ br label %try.c3
+exc.k7:
+ store ptr %t6, ptr %sc_l_v_0
+ call void @scr_promise_release(ptr %t5)
+ %t11 = load ptr, ptr %sc_l_v_0
+ call void @sc_rc_release_dyn(ptr %t11)
+ br label %try.e5
+try.c3:
+ %t12 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t12, ptr %sc_l_e_0
+ %t13 = load ptr, ptr %sc_l_r_0
+ %t14 = load ptr, ptr %sc_l_e_0
+ %t15 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t14)
+ %t16 = load ptr, ptr @scr_exc_active
+ %t17 = load i32, ptr %t16
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t15)
+ br label %exc.cleanup10
+exc.k9:
+ %t21 = getelementptr inbounds [1 x ptr], ptr %s20, i64 0, i64 0
+ store ptr %t15, ptr %t21
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t22 = call ptr @scr_dyn_call(ptr %t13, ptr %s20, i64 1, ptr @sc_cs_1235448592878459)
+ call void @scr_dyn_this_pop()
+ %t23 = load ptr, ptr @scr_exc_active
+ %t24 = load i32, ptr %t23
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup10
+exc.k12:
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t22)
+ %t27 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t27)
+ %t28 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t28)
+ %t29 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t29)
+ %t30 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+try.e5:
+ %t31 = load ptr, ptr %sc_l_f_0
+ %t32 = load ptr, ptr %sc_l_v_0
+ %t33 = getelementptr inbounds %ScrClosure, ptr %t31, i64 0, i32 1
+ %t34 = load ptr, ptr %t33
+ %t35 = getelementptr inbounds %ScrClosure, ptr %t31, i64 0, i32 7
+ %t36 = load ptr, ptr %t35
+ %t37 = icmp ne ptr %t36, null
+ br i1 %t37, label %callback.lend13, label %callback.own14
+callback.lend13:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t36(ptr %t31, ptr %t32)
+ call void @scr_dyn_this_pop()
+ br label %callback.done15
+callback.own14:
+ %t38 = call ptr @sc_rc_retain_dyn(ptr %t32)
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t34(ptr %t31, ptr %t38)
+ call void @scr_dyn_this_pop()
+ br label %callback.done15
+callback.done15:
+ %t39 = load ptr, ptr @scr_exc_active
+ %t40 = load i32, ptr %t39
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u16, label %exc.k17
+exc.u16:
+ br label %exc.cleanup2
+exc.k17:
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t43)
+ %t44 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t44)
+ %t45 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret void
+exc.cleanup2:
+ %t46 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t46)
+ %t47 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t47)
+ %t48 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret void
+exc.cleanup10:
+ %t49 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t49)
+ %t50 = load ptr, ptr %sc_l_p_0
+ call void @scr_promise_release(ptr %t50)
+ %t51 = load ptr, ptr %sc_l_f_0
+ call void @scr_closure_release(ptr %t51)
+ %t52 = load ptr, ptr %sc_l_r_0
+ call void @sc_rc_release_dyn(ptr %t52)
+ ret void
+}
+
+define internal void @sc_f__x25_fn62(ptr %sc_env, ptr %p_sc_l_resolve_0) #0 { ; %fn62
+entry:
+ %sc_l_resolve_0 = alloca ptr ; resolve
+ %sc_l_done_0 = alloca ptr ; done
+ %sc_l_c_0 = alloca ptr ; c
+ %sc_l_sink_0 = alloca ptr ; sink
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_oef_0 = alloca ptr ; oef
+ %sc_l_e_0 = alloca ptr ; e
+ %sc_l_done_1 = alloca ptr ; done
+ %sc_l_c_1 = alloca ptr ; c
+ %sc_l_sink_1 = alloca ptr ; sink
+ %sc_l_oef_1 = alloca ptr ; oef
+ %s12 = alloca ptr ; lazy box resolve
+ %s23 = alloca %ScrUnion
+ %s24 = getelementptr inbounds %ScrUnion, ptr %s23, i32 0, i32 1
+ %s25 = getelementptr inbounds %ScrUnion, ptr %s23, i32 0, i32 5
+ %s26 = alloca ptr
+ %s33 = alloca ptr
+ %s77 = alloca i1
+ %s86 = alloca i1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_done_0
+ store ptr null, ptr %sc_l_e_0
+ store ptr null, ptr %sc_l_done_1
+ store ptr null, ptr %sc_l_c_1
+ store ptr null, ptr %sc_l_sink_1
+ store ptr null, ptr %sc_l_oef_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_c_0 ; captured c
+ %t3 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t4 = getelementptr inbounds ptr, ptr %t3, i64 1 ; caps[1]
+ %t5 = load ptr, ptr %t4
+ store ptr %t5, ptr %sc_l_sink_0 ; captured sink
+ %t6 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t7 = getelementptr inbounds ptr, ptr %t6, i64 2 ; caps[2]
+ %t8 = load ptr, ptr %t7
+ store ptr %t8, ptr %sc_l_r_0 ; captured r
+ %t9 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t10 = getelementptr inbounds ptr, ptr %t9, i64 3 ; caps[3]
+ %t11 = load ptr, ptr %t10
+ store ptr %t11, ptr %sc_l_oef_0 ; captured oef
+ store ptr null, ptr %s12
+ store ptr %p_sc_l_resolve_0, ptr %sc_l_resolve_0
+ %t13 = call ptr @llvm.stacksave.p0()
+ %t14 = load ptr, ptr @scr_stack_guard
+ %t15 = icmp ult ptr %t13, %t14
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t17 = load ptr, ptr %sc_l_c_0
+ %t18 = getelementptr inbounds %ScrBox, ptr %t17, i32 0, i32 5
+ %t19 = load ptr, ptr %t18
+ store ptr %t19, ptr %sc_l_c_1
+ %t20 = load ptr, ptr %sc_l_sink_0
+ %t21 = getelementptr inbounds %ScrBox, ptr %t20, i32 0, i32 5
+ %t22 = load ptr, ptr %t21
+ store ptr %t22, ptr %sc_l_sink_1
+ store ptr null, ptr %s26
+ %t27 = load ptr, ptr %sc_l_oef_0
+ %t28 = getelementptr inbounds %ScrBox, ptr %t27, i32 0, i32 5
+ %t29 = load ptr, ptr %t28
+ %t31 = getelementptr inbounds %ScrUnion, ptr %t29, i64 0, i32 1
+ %t30 = load i32, ptr %t31
+ store ptr null, ptr %s33
+ %t32 = icmp eq i32 %t30, 0
+ br i1 %t32, label %union.copy.ref3, label %union.copy.join4
+union.copy.ref3:
+ %t34 = getelementptr inbounds %ScrUnion, ptr %t29, i64 0, i32 5
+ %t35 = load ptr, ptr %t34
+ %t36 = call ptr @scr_closure_retain_v(ptr %t35)
+ store ptr %t36, ptr %s33
+ br label %union.copy.join4
+union.copy.join4:
+ %t37 = load ptr, ptr %s33
+ %t39 = getelementptr inbounds %ScrUnion, ptr %t29, i64 0, i32 1
+ %t38 = load i32, ptr %t39
+ %t40 = getelementptr inbounds %ScrUnion, ptr %t29, i32 0, i32 5
+ %t41 = load i64, ptr %t40
+ store i32 %t38, ptr %s24
+ store i64 %t41, ptr %s25
+ %t42 = load ptr, ptr %s26
+ store ptr %t37, ptr %s26
+ call void @scr_closure_release(ptr %t42)
+ store ptr %s23, ptr %sc_l_oef_1
+ %t43 = call ptr @scr_box_new(i32 4) ; let done (boxed)
+ store ptr %t43, ptr %sc_l_done_0
+ %t44 = call ptr @scr_closure_new(ptr @sc_f__x25_fn63_done, i64 4)
+ %t45 = getelementptr inbounds %ScrClosure, ptr %t44, i64 0, i32 4
+ store i32 4, ptr %t45
+ %t46 = load ptr, ptr %sc_l_c_0
+ %t47 = call ptr @sc_retain_box(ptr %t46)
+ %t48 = getelementptr inbounds %ScrClosure, ptr %t44, i64 1 ; caps
+ %t49 = getelementptr inbounds ptr, ptr %t48, i64 0 ; caps[0]
+ store ptr %t47, ptr %t49
+ %t50 = load ptr, ptr %sc_l_sink_0
+ %t51 = call ptr @sc_retain_box(ptr %t50)
+ %t52 = getelementptr inbounds %ScrClosure, ptr %t44, i64 1 ; caps
+ %t53 = getelementptr inbounds ptr, ptr %t52, i64 1 ; caps[1]
+ store ptr %t51, ptr %t53
+ %t54 = load ptr, ptr %sc_l_r_0
+ %t55 = call ptr @sc_retain_box(ptr %t54)
+ %t56 = getelementptr inbounds %ScrClosure, ptr %t44, i64 1 ; caps
+ %t57 = getelementptr inbounds ptr, ptr %t56, i64 2 ; caps[2]
+ store ptr %t55, ptr %t57
+ %t58 = load ptr, ptr %s12
+ %t59 = icmp eq ptr %t58, null
+ br i1 %t59, label %lazy.box5, label %lazy.box.j6
+lazy.box5:
+ %t60 = call ptr @scr_box_new(i32 4)
+ %t61 = load ptr, ptr %sc_l_resolve_0
+ %t62 = call ptr @scr_closure_retain_v(ptr %t61)
+ call void @scr_box_set_ref(ptr %t60, ptr %t62)
+ store ptr %t60, ptr %s12
+ br label %lazy.box.j6
+lazy.box.j6:
+ %t63 = load ptr, ptr %s12
+ %t64 = call ptr @sc_retain_box(ptr %t63)
+ %t65 = getelementptr inbounds %ScrClosure, ptr %t44, i64 1 ; caps
+ %t66 = getelementptr inbounds ptr, ptr %t65, i64 3 ; caps[3]
+ store ptr %t64, ptr %t66
+ store ptr %t44, ptr %sc_l_done_1
+ %t67 = load ptr, ptr %sc_l_done_1
+ %t68 = call ptr @scr_closure_retain_v(ptr %t67)
+ %t69 = load ptr, ptr %sc_l_done_0
+ call void @scr_box_set_ref(ptr %t69, ptr %t68)
+ %t70 = load ptr, ptr %sc_l_r_0
+ %t71 = getelementptr inbounds %ScrBox, ptr %t70, i32 0, i32 5
+ %t72 = load ptr, ptr %t71
+ %t73 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t74 = load i32, ptr %t73
+ %t75 = icmp eq i32 %t74, 0
+ %t76 = xor i1 %t75, true
+ store i1 %t76, ptr %s77
+ br i1 %t76, label %log.r7, label %log.j8
+log.r7:
+ %t78 = load ptr, ptr %sc_l_r_0
+ %t79 = getelementptr inbounds %ScrBox, ptr %t78, i32 0, i32 5
+ %t80 = load ptr, ptr %t79
+ %t81 = getelementptr inbounds i8, ptr %t80, i64 8 ; ->kind
+ %t82 = load i32, ptr %t81
+ %t83 = icmp eq i32 %t82, 6
+ %t84 = xor i1 %t83, true
+ store i1 %t84, ptr %s77
+ br label %log.j8
+log.j8:
+ %t85 = load i1, ptr %s77
+ store i1 %t85, ptr %s86
+ br i1 %t85, label %log.r9, label %log.j10
+log.r9:
+ %t87 = load ptr, ptr %sc_l_r_0
+ %t88 = call ptr @scr_box_get_ref(ptr %t87)
+ %t89 = call ptr @sc_f__x25_dyn_class_property_64(ptr %t88)
+ %t90 = load i32, ptr %exc.cell
+ %t91 = icmp ne i32 %t90, 0
+ %t92 = call i1 @llvm.expect.i1(i1 %t91, i1 false)
+ br i1 %t92, label %exc.u11, label %exc.k12
+exc.u11:
+ call void @sc_rc_release_dyn(ptr %t89)
+ br label %exc.cleanup13
+exc.k12:
+ %t93 = getelementptr inbounds i8, ptr %t89, i64 8 ; ->kind
+ %t94 = load i32, ptr %t93
+ %t95 = call zeroext i1 @scr_dyn_is_callable(ptr %t89)
+ store i1 %t95, ptr %s86
+ call void @sc_rc_release_dyn(ptr %t89)
+ br label %log.j10
+log.j10:
+ %t96 = load i1, ptr %s86
+ br i1 %t96, label %if.t14, label %if.j15
+if.t14:
+ %t97 = call ptr @scr_closure_new(ptr @sc_as__x25_fn66_then2, i64 0)
+ %t98 = getelementptr inbounds %ScrClosure, ptr %t97, i64 0, i32 4
+ store i32 2, ptr %t98
+ %t99 = load ptr, ptr %sc_l_r_0
+ %t100 = call ptr @scr_box_get_ref(ptr %t99)
+ %t101 = call ptr @sc_dc_116(ptr %t100, ptr null)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @scr_closure_release(ptr %t97)
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @scr_promise_release(ptr %t101)
+ br label %try.c16
+exc.k20:
+ %t105 = call ptr @scr_closure_new(ptr @sc_f__x25_fn64, i64 3)
+ %t106 = getelementptr inbounds %ScrClosure, ptr %t105, i64 0, i32 4
+ store i32 4, ptr %t106
+ %t107 = getelementptr inbounds %ScrClosure, ptr %t105, i64 0, i32 7
+ store ptr @sc_bf__x25_fn64, ptr %t107
+ %t108 = load ptr, ptr %sc_l_c_0
+ %t109 = call ptr @sc_retain_box(ptr %t108)
+ %t110 = getelementptr inbounds %ScrClosure, ptr %t105, i64 1 ; caps
+ %t111 = getelementptr inbounds ptr, ptr %t110, i64 0 ; caps[0]
+ store ptr %t109, ptr %t111
+ %t112 = load ptr, ptr %sc_l_r_0
+ %t113 = call ptr @sc_retain_box(ptr %t112)
+ %t114 = getelementptr inbounds %ScrClosure, ptr %t105, i64 1 ; caps
+ %t115 = getelementptr inbounds ptr, ptr %t114, i64 1 ; caps[1]
+ store ptr %t113, ptr %t115
+ %t116 = load ptr, ptr %sc_l_done_0
+ %t117 = call ptr @sc_retain_box(ptr %t116)
+ %t118 = getelementptr inbounds %ScrClosure, ptr %t105, i64 1 ; caps
+ %t119 = getelementptr inbounds ptr, ptr %t118, i64 2 ; caps[2]
+ store ptr %t117, ptr %t119
+ %t120 = call ptr @scr_closure_new(ptr @sc_f__x25_fn65, i64 4)
+ %t121 = getelementptr inbounds %ScrClosure, ptr %t120, i64 0, i32 4
+ store i32 4, ptr %t121
+ %t122 = getelementptr inbounds %ScrClosure, ptr %t120, i64 0, i32 7
+ store ptr @sc_bf__x25_fn65, ptr %t122
+ %t123 = load ptr, ptr %sc_l_oef_0
+ %t124 = call ptr @sc_retain_box(ptr %t123)
+ %t125 = getelementptr inbounds %ScrClosure, ptr %t120, i64 1 ; caps
+ %t126 = getelementptr inbounds ptr, ptr %t125, i64 0 ; caps[0]
+ store ptr %t124, ptr %t126
+ %t127 = load ptr, ptr %sc_l_sink_0
+ %t128 = call ptr @sc_retain_box(ptr %t127)
+ %t129 = getelementptr inbounds %ScrClosure, ptr %t120, i64 1 ; caps
+ %t130 = getelementptr inbounds ptr, ptr %t129, i64 1 ; caps[1]
+ store ptr %t128, ptr %t130
+ %t131 = load ptr, ptr %sc_l_c_0
+ %t132 = call ptr @sc_retain_box(ptr %t131)
+ %t133 = getelementptr inbounds %ScrClosure, ptr %t120, i64 1 ; caps
+ %t134 = getelementptr inbounds ptr, ptr %t133, i64 2 ; caps[2]
+ store ptr %t132, ptr %t134
+ %t135 = load ptr, ptr %s12
+ %t136 = icmp eq ptr %t135, null
+ br i1 %t136, label %lazy.box21, label %lazy.box.j22
+lazy.box21:
+ %t137 = call ptr @scr_box_new(i32 4)
+ %t138 = load ptr, ptr %sc_l_resolve_0
+ %t139 = call ptr @scr_closure_retain_v(ptr %t138)
+ call void @scr_box_set_ref(ptr %t137, ptr %t139)
+ store ptr %t137, ptr %s12
+ br label %lazy.box.j22
+lazy.box.j22:
+ %t140 = load ptr, ptr %s12
+ %t141 = call ptr @sc_retain_box(ptr %t140)
+ %t142 = getelementptr inbounds %ScrClosure, ptr %t120, i64 1 ; caps
+ %t143 = getelementptr inbounds ptr, ptr %t142, i64 3 ; caps[3]
+ store ptr %t141, ptr %t143
+ %t144 = call ptr @sc_dfb_12(ptr %t120, ptr null)
+ %t145 = getelementptr inbounds %ScrClosure, ptr %t97, i64 0, i32 1
+ %t146 = load ptr, ptr %t145
+ call void @scr_dyn_this_push_dyn(ptr null)
+ %t147 = call ptr %t146(ptr %t97, ptr %t101, ptr %t105, ptr %t144)
+ call void @scr_dyn_this_pop()
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u23, label %exc.k24
+exc.u23:
+ call void @scr_closure_release(ptr %t97)
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @scr_closure_release(ptr %t120)
+ call void @scr_promise_release(ptr %t147)
+ br label %try.c16
+exc.k24:
+ call void @scr_closure_release(ptr %t97)
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @scr_closure_release(ptr %t120)
+ call void @scr_promise_release(ptr %t147)
+ br label %try.e18
+try.c16:
+ %t151 = call ptr @scr_exc_take() ; catch binding
+ store ptr %t151, ptr %sc_l_e_0
+ %t152 = load ptr, ptr %sc_l_oef_1
+ %t155 = getelementptr inbounds %ScrUnion, ptr %t152, i64 0, i32 1
+ %t154 = load i32, ptr %t155
+ %t153 = icmp ne i32 %t154, 1
+ br i1 %t153, label %if.t25, label %if.f27
+if.t25:
+ %t156 = load ptr, ptr %sc_l_oef_1
+ %t157 = getelementptr inbounds %ScrUnion, ptr %t156, i64 0, i32 5
+ %t158 = load ptr, ptr %t157
+ %t159 = load ptr, ptr %sc_l_e_0
+ %t160 = call ptr @sc_bf__x25_caught_dynamicValue(ptr %t159)
+ %t161 = load i32, ptr %exc.cell
+ %t162 = icmp ne i32 %t161, 0
+ %t163 = call i1 @llvm.expect.i1(i1 %t162, i1 false)
+ br i1 %t163, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup30
+exc.k29:
+ %t164 = load ptr, ptr %sc_l_sink_1
+ %t165 = load ptr, ptr %sc_l_c_1
+ call void @sc_bf__x25_m5_runOnError(ptr %t158, ptr %t160, ptr %t164, ptr %t165)
+ %t166 = load i32, ptr %exc.cell
+ %t167 = icmp ne i32 %t166, 0
+ %t168 = call i1 @llvm.expect.i1(i1 %t167, i1 false)
+ br i1 %t168, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup30
+exc.k32:
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %if.j26
+if.f27:
+ %t169 = load ptr, ptr %sc_l_sink_1
+ call void @sc_bf__x25_m5_send500(ptr %t169)
+ %t170 = load i32, ptr %exc.cell
+ %t171 = icmp ne i32 %t170, 0
+ %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false)
+ br i1 %t172, label %exc.u33, label %exc.k34
+exc.u33:
+ br label %exc.cleanup30
+exc.k34:
+ br label %if.j26
+if.j26:
+ %t173 = load ptr, ptr %sc_l_resolve_0
+ %t174 = call ptr @scr_closure_retain_v(ptr %t173)
+ %t175 = getelementptr inbounds %ScrClosure, ptr %t174, i64 0, i32 1
+ %t176 = load ptr, ptr %t175
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t176(ptr %t174)
+ call void @scr_dyn_this_pop()
+ %t177 = load i32, ptr %exc.cell
+ %t178 = icmp ne i32 %t177, 0
+ %t179 = call i1 @llvm.expect.i1(i1 %t178, i1 false)
+ br i1 %t179, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @scr_closure_release(ptr %t174)
+ br label %exc.cleanup30
+exc.k36:
+ call void @scr_closure_release(ptr %t174)
+ %t180 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t180)
+ br label %try.e18
+try.e18:
+ %t181 = load ptr, ptr %s12
+ %t182 = icmp ne ptr %t181, null
+ br i1 %t182, label %lazy.release37, label %lazy.release.j38
+lazy.release37:
+ call void @scr_box_release(ptr %t181)
+ br label %lazy.release.j38
+lazy.release.j38:
+ %t183 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t183)
+ %t184 = load ptr, ptr %s26
+ call void @scr_closure_release(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_done_0
+ call void @scr_box_release(ptr %t185)
+ %t186 = load ptr, ptr %sc_l_done_1
+ call void @scr_closure_release(ptr %t186)
+ ret void
+if.j15:
+ %t187 = load ptr, ptr %sc_l_done_1
+ %t188 = getelementptr inbounds %ScrClosure, ptr %t187, i64 0, i32 1
+ %t189 = load ptr, ptr %t188
+ %t190 = icmp eq ptr %t189, @sc_f__x25_fn63_done
+ br i1 %t190, label %callback.direct39, label %callback.indirect40
+callback.direct39:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void @sc_f__x25_fn63_done(ptr %t187)
+ call void @scr_dyn_this_pop()
+ br label %callback.done41
+callback.indirect40:
+ call void @scr_dyn_this_push_dyn(ptr null)
+ call void %t189(ptr %t187)
+ call void @scr_dyn_this_pop()
+ br label %callback.done41
+callback.done41:
+ %t191 = load i32, ptr %exc.cell
+ %t192 = icmp ne i32 %t191, 0
+ %t193 = call i1 @llvm.expect.i1(i1 %t192, i1 false)
+ br i1 %t193, label %exc.u42, label %exc.k43
+exc.u42:
+ br label %exc.cleanup13
+exc.k43:
+ %t194 = load ptr, ptr %s12
+ %t195 = icmp ne ptr %t194, null
+ br i1 %t195, label %lazy.release44, label %lazy.release.j45
+lazy.release44:
+ call void @scr_box_release(ptr %t194)
+ br label %lazy.release.j45
+lazy.release.j45:
+ %t196 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t196)
+ %t197 = load ptr, ptr %s26
+ call void @scr_closure_release(ptr %t197)
+ %t198 = load ptr, ptr %sc_l_done_0
+ call void @scr_box_release(ptr %t198)
+ %t199 = load ptr, ptr %sc_l_done_1
+ call void @scr_closure_release(ptr %t199)
+ ret void
+exc.cleanup2:
+ %t200 = load ptr, ptr %s12
+ %t201 = icmp ne ptr %t200, null
+ br i1 %t201, label %lazy.release46, label %lazy.release.j47
+lazy.release46:
+ call void @scr_box_release(ptr %t200)
+ br label %lazy.release.j47
+lazy.release.j47:
+ %t202 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t202)
+ ret void
+exc.cleanup13:
+ %t203 = load ptr, ptr %s12
+ %t204 = icmp ne ptr %t203, null
+ br i1 %t204, label %lazy.release48, label %lazy.release.j49
+lazy.release48:
+ call void @scr_box_release(ptr %t203)
+ br label %lazy.release.j49
+lazy.release.j49:
+ %t205 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t205)
+ %t206 = load ptr, ptr %s26
+ call void @scr_closure_release(ptr %t206)
+ %t207 = load ptr, ptr %sc_l_done_0
+ call void @scr_box_release(ptr %t207)
+ %t208 = load ptr, ptr %sc_l_done_1
+ call void @scr_closure_release(ptr %t208)
+ ret void
+exc.cleanup30:
+ %t209 = load ptr, ptr %sc_l_e_0
+ call void @scr_caught_release(ptr %t209)
+ %t210 = load ptr, ptr %s12
+ %t211 = icmp ne ptr %t210, null
+ br i1 %t211, label %lazy.release50, label %lazy.release.j51
+lazy.release50:
+ call void @scr_box_release(ptr %t210)
+ br label %lazy.release.j51
+lazy.release.j51:
+ %t212 = load ptr, ptr %sc_l_resolve_0
+ call void @scr_closure_release(ptr %t212)
+ %t213 = load ptr, ptr %s26
+ call void @scr_closure_release(ptr %t213)
+ %t214 = load ptr, ptr %sc_l_done_0
+ call void @scr_box_release(ptr %t214)
+ %t215 = load ptr, ptr %sc_l_done_1
+ call void @scr_closure_release(ptr %t215)
+ ret void
+}
+
+define internal void @sc_f__x25_fn67(ptr %sc_env) #0 { ; %fn67
+entry:
+ %sc_l_req_0 = alloca ptr ; req
+ %sc_l_req_1 = alloca ptr ; req
+ store ptr null, ptr %sc_l_req_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_req_0 ; captured req
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_req_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_req_1
+ %t10 = load ptr, ptr %sc_l_req_1
+ %t11 = call ptr @scr_http_req_retain_v(ptr %t10)
+ call void @scr_http_req_destroy(ptr %t11)
+ call void @scr_http_req_release(ptr %t11)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn68(ptr %sc_env, ptr %p_sc_l_b_0) #0 { ; %fn68
+entry:
+ %sc_l_b_0 = alloca ptr ; b
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_res_1 = alloca ptr ; res
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_res_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_res_0 ; captured res
+ store ptr %p_sc_l_b_0, ptr %sc_l_b_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_res_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_res_1
+ %t10 = load ptr, ptr %sc_l_res_1
+ %t11 = call ptr @scr_http_res_retain_v(ptr %t10)
+ %t12 = load ptr, ptr %sc_l_b_0
+ %t13 = call ptr @scr_bytes_retain_v(ptr %t12)
+ call void @scr_http_res_write_bytes(ptr %t11, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t11)
+ call void @scr_bytes_release(ptr %t13)
+ ret void
+exc.k3:
+ call void @scr_http_res_release(ptr %t11)
+ call void @scr_bytes_release(ptr %t13)
+ ret void
+}
+define internal void @sc_f__x25_fn68(ptr %sc_env, ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_fn68(ptr %sc_env, ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_fn69(ptr %sc_env) #0 { ; %fn69
+entry:
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_res_1 = alloca ptr ; res
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr null, ptr %sc_l_res_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_res_0 ; captured res
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_res_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_res_1
+ %t10 = load ptr, ptr %sc_l_res_1
+ %t11 = call ptr @scr_http_res_retain_v(ptr %t10)
+ call void @scr_http_res_end(ptr %t11)
+ %t12 = load i32, ptr %exc.cell
+ %t13 = icmp ne i32 %t12, 0
+ %t14 = call i1 @llvm.expect.i1(i1 %t13, i1 false)
+ br i1 %t14, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @scr_http_res_release(ptr %t11)
+ ret void
+exc.k3:
+ call void @scr_http_res_release(ptr %t11)
+ ret void
+}
+
+define internal void @sc_bf__x25_fn70(ptr %sc_env, ptr %p_sc_l_v_0, ptr %p_sc_l_k_0) #0 { ; %fn70
+entry:
+ %sc_l_v_0 = alloca ptr ; v
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_res_0 = alloca ptr ; res
+ %sc_l_res_1 = alloca ptr ; res
+ store ptr null, ptr %sc_l_res_1
+ %t0 = getelementptr inbounds %ScrClosure, ptr %sc_env, i64 1 ; caps
+ %t1 = getelementptr inbounds ptr, ptr %t0, i64 0 ; caps[0]
+ %t2 = load ptr, ptr %t1
+ store ptr %t2, ptr %sc_l_res_0 ; captured res
+ store ptr %p_sc_l_v_0, ptr %sc_l_v_0
+ store ptr %p_sc_l_k_0, ptr %sc_l_k_0
+ %t3 = call ptr @llvm.stacksave.p0()
+ %t4 = load ptr, ptr @scr_stack_guard
+ %t5 = icmp ult ptr %t3, %t4
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t7 = load ptr, ptr %sc_l_res_0
+ %t8 = getelementptr inbounds %ScrBox, ptr %t7, i32 0, i32 5
+ %t9 = load ptr, ptr %t8
+ store ptr %t9, ptr %sc_l_res_1
+ %t10 = load ptr, ptr %sc_l_res_1
+ %t11 = call ptr @scr_http_res_retain_v(ptr %t10)
+ %t12 = load ptr, ptr %sc_l_k_0
+ %t13 = call ptr @sc_rc_retain_str(ptr %t12)
+ %t14 = load ptr, ptr %sc_l_v_0
+ %t15 = call ptr @sc_rc_retain_str(ptr %t14)
+ call void @scr_http_res_set_header(ptr %t11, ptr %t13, ptr %t15)
+ call void @scr_http_res_release(ptr %t11)
+ call void @scr_str_release(ptr %t13)
+ call void @scr_str_release(ptr %t15)
+ ret void
+}
+define internal void @sc_f__x25_fn70(ptr %sc_env, ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_fn70(ptr %sc_env, ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_union_narrow_13(ptr %p_sc_l_u_0) #0 { ; %union.narrow.13
+entry:
+ %sc_l_u_0 = alloca ptr ; u
+ store ptr %p_sc_l_u_0, ptr %sc_l_u_0
+ %t0 = load ptr, ptr %sc_l_u_0
+ %t3 = getelementptr inbounds %ScrUnion, ptr %t0, i64 0, i32 1
+ %t2 = load i32, ptr %t3
+ %t1 = icmp eq i32 %t2, 0
+ br i1 %t1, label %if.t0, label %if.j1
+if.t0:
+ %t4 = load ptr, ptr %sc_l_u_0
+ %t5 = getelementptr inbounds %ScrUnion, ptr %t4, i64 0, i32 5
+ %t6 = load ptr, ptr %t5
+ %t7 = call ptr @scr_bytes_retain_v(ptr %t6)
+ ret ptr %t7
+if.j1:
+ %t8 = load ptr, ptr %sc_l_u_0
+ %t11 = getelementptr inbounds %ScrUnion, ptr %t8, i64 0, i32 1
+ %t10 = load i32, ptr %t11
+ %t9 = icmp eq i32 %t10, 1
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t12 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2020303780781407)
+ call void @scr_throw_obj(ptr %t12, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret ptr null
+if.j3:
+ call void @scr_throw_str(ptr @sc_lit_464947614242071)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_union_narrow_13(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_union_narrow_13(ptr %p0)
+ call void @scr_union_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_caught_dynamicValue(ptr %p_sc_l_caught) #0 { ; %caught.dynamicValue
+entry:
+ %sc_l_caught = alloca ptr ; caught
+ store ptr %p_sc_l_caught, ptr %sc_l_caught
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_caught
+ %t5 = call zeroext i1 @scr_caught_instanceof(ptr %t4, i64 1, i64 1)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_caught
+ %t7 = getelementptr inbounds %ScrCaught, ptr %t6, i64 0, i32 4
+ %t8 = load ptr, ptr %t7
+ %t9 = getelementptr inbounds %ScrCaught, ptr %t6, i64 0, i32 5
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr %t10(ptr %t8)
+ %t12 = call ptr @sc_td_53(ptr %t11)
+ call void @scr_error_release(ptr %t11)
+ ret ptr %t12
+if.j3:
+ %t13 = load ptr, ptr %sc_l_caught
+ %t14 = call zeroext i1 @scr_caught_instanceof(ptr %t13, i64 0, i64 11)
+ br i1 %t14, label %if.t4, label %if.j5
+if.t4:
+ %t15 = load ptr, ptr %sc_l_caught
+ %t16 = getelementptr inbounds %ScrCaught, ptr %t15, i64 0, i32 4
+ %t17 = load ptr, ptr %t16
+ %t18 = getelementptr inbounds %ScrCaught, ptr %t15, i64 0, i32 5
+ %t19 = load ptr, ptr %t18
+ %t20 = call ptr %t19(ptr %t17)
+ %t21 = call ptr @sc_td_54(ptr %t20)
+ call void @scr_error_release(ptr %t20)
+ ret ptr %t21
+if.j5:
+ %t22 = load ptr, ptr %sc_l_caught
+ %t23 = call ptr @sc_cd(ptr %t22)
+ ret ptr %t23
+}
+define internal ptr @sc_f__x25_caught_dynamicValue(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_caught_dynamicValue(ptr %p0)
+ call void @scr_caught_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_App(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m5.App
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m5_App()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_App(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_App(ptr %p0)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_CtxCore(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m5.CtxCore
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxCore()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_CtxCore(ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m14_BakedAssets(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m14.BakedAssets
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m14_BakedAssets(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m14_BakedAssets(ptr %p0)
+ call void @sc_release__x25_m14_BakedAssets(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartStorage(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m4.MultipartStorage
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = load ptr, ptr %sc_l_this
+ %t1 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t0, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0
+ %t4 = load i64, ptr %t3
+ %t5 = icmp uge i64 %t4, 26
+ %t6 = icmp ule i64 %t4, 26
+ %t7 = and i1 %t5, %t6 ; instanceof %m4.MemoryStorage
+ br i1 %t7, label %if.t0, label %if.j1
+if.t0:
+ %t8 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k3:
+ ret ptr %t8
+if.j1:
+ %t12 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage()
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t12)
+ ret ptr null
+exc.k5:
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartStorage(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartStorage(ptr %p0)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage() #0 { ; %prototype.data.%m4.MemoryStorage
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage()
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k5:
+ %t10 = call ptr @scr_dyn_obj_create(ptr %t6)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k7:
+ %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage
+ call void @sc_rc_release_dyn(ptr %t14)
+ store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage
+ call void @sc_rc_release_dyn(ptr %t6)
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage_ready
+ %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage
+ %t16 = call ptr @sc_rc_retain_dyn(ptr %t15)
+ %t17 = call ptr @sc_td_0(ptr @sc_lit_4062729090063393)
+ %t18 = call ptr @scr_dyn_new_obj()
+ %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin)
+ %t20 = call ptr @sc_dfb_68(ptr %t19, ptr null)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret ptr null
+exc.k9:
+ %t24 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k11:
+ %t28 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret ptr null
+exc.k13:
+ %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr null
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t32)
+ br label %if.j3
+if.j3:
+ %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ ret ptr %t37
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryStorage(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m4.MemoryStorage
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s1 = alloca i1
+ %s12 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s36 = alloca ptr
+ %s53 = alloca i1
+ %s64 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s1
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %brand.inspect0, label %brand.done2
+brand.inspect0:
+ %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t4 = load i32, ptr %t3
+ %t5 = icmp eq i32 %t4, 12
+ br i1 %t5, label %brand.capsule1, label %brand.done2
+brand.capsule1:
+ %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t7 = load ptr, ptr %t6
+ %t8 = icmp eq ptr %t7, @sc_cs_3635319175845957
+ store i1 true, ptr %s1
+ br i1 %t8, label %brand.done2, label %brand.compare3
+brand.compare3:
+ %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_3635319175845957)
+ store i1 %t9, ptr %s1
+ br label %brand.done2
+brand.done2:
+ %t10 = load i1, ptr %s1
+ br i1 %t10, label %if.t4, label %if.j5
+if.t4:
+ %t11 = load ptr, ptr %sc_l_this_0
+ %t13 = icmp ne ptr %t11, null
+ br i1 %t13, label %dc.inspect6, label %dc.checked9
+dc.inspect6:
+ %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t14 = icmp eq i32 %t19, 12
+ br i1 %t14, label %dc.capsule7, label %dc.checked9
+dc.capsule7:
+ %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key
+ %t16 = load ptr, ptr %t15
+ %t17 = icmp eq ptr %t16, @sc_cs_3635319175845957
+ br i1 %t17, label %dc.exact8, label %dc.checked9
+dc.exact8:
+ %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t21)
+ store ptr %t22, ptr %s12
+ br label %dc.done10
+dc.checked9:
+ %t23 = call ptr @sc_dc_24(ptr %t11, ptr null)
+ store ptr %t23, ptr %s12
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ ret ptr null
+exc.k12:
+ br label %dc.done10
+dc.done10:
+ %t27 = load ptr, ptr %s12
+ %t28 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t27, i64 0, i32 1
+ %t29 = load ptr, ptr %t28
+ %t30 = getelementptr inbounds %ScrVt, ptr %t29, i64 0, i32 0
+ %t31 = load i64, ptr %t30
+ %t32 = icmp uge i64 %t31, 26
+ %t33 = icmp ule i64 %t31, 26
+ %t34 = and i1 %t32, %t33 ; instanceof %m4.MemoryStorage
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t27)
+ br i1 %t34, label %if.t13, label %if.j14
+if.t13:
+ %t35 = load ptr, ptr %sc_l_this_0
+ %t37 = icmp ne ptr %t35, null
+ br i1 %t37, label %dc.inspect15, label %dc.checked18
+dc.inspect15:
+ %t42 = getelementptr inbounds i8, ptr %t35, i64 8 ; ->kind
+ %t43 = load i32, ptr %t42
+ %t38 = icmp eq i32 %t43, 12
+ br i1 %t38, label %dc.capsule16, label %dc.checked18
+dc.capsule16:
+ %t39 = getelementptr inbounds i8, ptr %t35, i64 40 ; ->v.typed_ref.type_key
+ %t40 = load ptr, ptr %t39
+ %t41 = icmp eq ptr %t40, @sc_cs_3635319175845957
+ br i1 %t41, label %dc.exact17, label %dc.checked18
+dc.exact17:
+ %t44 = getelementptr inbounds i8, ptr %t35, i64 16 ; ->v.typed_ref.ptr
+ %t45 = load ptr, ptr %t44
+ %t46 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t45)
+ store ptr %t46, ptr %s36
+ br label %dc.done19
+dc.checked18:
+ %t47 = call ptr @sc_dc_24(ptr %t35, ptr null)
+ store ptr %t47, ptr %s36
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u20, label %exc.k21
+exc.u20:
+ ret ptr null
+exc.k21:
+ br label %dc.done19
+dc.done19:
+ %t51 = load ptr, ptr %s36
+ ret ptr %t51
+if.j14:
+ br label %if.j5
+if.j5:
+ %t52 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s53
+ %t54 = icmp ne ptr %t52, null
+ br i1 %t54, label %brand.inspect22, label %brand.done24
+brand.inspect22:
+ %t55 = getelementptr inbounds i8, ptr %t52, i64 8 ; ->kind
+ %t56 = load i32, ptr %t55
+ %t57 = icmp eq i32 %t56, 12
+ br i1 %t57, label %brand.capsule23, label %brand.done24
+brand.capsule23:
+ %t58 = getelementptr inbounds i8, ptr %t52, i64 40 ; ->v.typed_ref.type_key
+ %t59 = load ptr, ptr %t58
+ %t60 = icmp eq ptr %t59, @sc_cs_3456310594719780
+ store i1 true, ptr %s53
+ br i1 %t60, label %brand.done24, label %brand.compare25
+brand.compare25:
+ %t61 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t52, ptr @sc_lit_3456310594719780)
+ store i1 %t61, ptr %s53
+ br label %brand.done24
+brand.done24:
+ %t62 = load i1, ptr %s53
+ br i1 %t62, label %if.t26, label %if.j27
+if.t26:
+ %t63 = load ptr, ptr %sc_l_this_0
+ %t65 = icmp ne ptr %t63, null
+ br i1 %t65, label %dc.inspect28, label %dc.checked31
+dc.inspect28:
+ %t70 = getelementptr inbounds i8, ptr %t63, i64 8 ; ->kind
+ %t71 = load i32, ptr %t70
+ %t66 = icmp eq i32 %t71, 12
+ br i1 %t66, label %dc.capsule29, label %dc.checked31
+dc.capsule29:
+ %t67 = getelementptr inbounds i8, ptr %t63, i64 40 ; ->v.typed_ref.type_key
+ %t68 = load ptr, ptr %t67
+ %t69 = icmp eq ptr %t68, @sc_cs_3456310594719780
+ br i1 %t69, label %dc.exact30, label %dc.checked31
+dc.exact30:
+ %t72 = getelementptr inbounds i8, ptr %t63, i64 16 ; ->v.typed_ref.ptr
+ %t73 = load ptr, ptr %t72
+ %t74 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t73)
+ store ptr %t74, ptr %s64
+ br label %dc.done32
+dc.checked31:
+ %t75 = call ptr @sc_dc_99(ptr %t63, ptr null)
+ store ptr %t75, ptr %s64
+ %t76 = load i32, ptr %exc.cell
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false)
+ br i1 %t78, label %exc.u33, label %exc.k34
+exc.u33:
+ ret ptr null
+exc.k34:
+ br label %dc.done32
+dc.done32:
+ %t79 = load ptr, ptr %s64
+ ret ptr %t79
+if.j27:
+ %t80 = load ptr, ptr %sc_l_this_0
+ %t81 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryStorage(ptr %t80)
+ %t82 = load i32, ptr %exc.cell
+ %t83 = icmp ne i32 %t82, 0
+ %t84 = call i1 @llvm.expect.i1(i1 %t83, i1 false)
+ br i1 %t84, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t81)
+ ret ptr null
+exc.k36:
+ ret ptr %t81
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m4_MemoryStorage(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryStorage(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1, ptr %p_sc_l_p_2) #0 { ; %method.value:%%m4.MemoryStorage.begin
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_2 = alloca ptr ; p2
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_2, ptr %sc_l_p_2
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = load ptr, ptr %sc_l_p_1
+ %t2 = load ptr, ptr %sc_l_p_2
+ %t3 = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MemoryStorage_begin(ptr %t0, ptr %t1, ptr %t2)
+ %t4 = load i32, ptr %exc.cell
+ %t5 = icmp ne i32 %t4, 0
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t3)
+ ret ptr null
+exc.k1:
+ ret ptr %t3
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_ReqViewCore(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m5.ReqViewCore
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_ReqViewCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_ReqViewCore(ptr %p0)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_ResponseSink(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m2.ResponseSink
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = load ptr, ptr %sc_l_this
+ %t1 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t0, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0
+ %t4 = load i64, ptr %t3
+ %t5 = icmp uge i64 %t4, 18
+ %t6 = icmp ule i64 %t4, 18
+ %t7 = and i1 %t5, %t6 ; instanceof %m3.LiteResponse
+ br i1 %t7, label %if.t0, label %if.j1
+if.t0:
+ %t8 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k3:
+ ret ptr %t8
+if.j1:
+ %t12 = load ptr, ptr %sc_l_this
+ %t13 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t12, i64 0, i32 1
+ %t14 = load ptr, ptr %t13
+ %t15 = getelementptr inbounds %ScrVt, ptr %t14, i64 0, i32 0
+ %t16 = load i64, ptr %t15
+ %t17 = icmp uge i64 %t16, 17
+ %t18 = icmp ule i64 %t16, 18
+ %t19 = and i1 %t17, %t18 ; instanceof %m2.FetchResponseSink
+ br i1 %t19, label %if.t4, label %if.j5
+if.t4:
+ %t20 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret ptr null
+exc.k7:
+ ret ptr %t20
+if.j5:
+ %t24 = load ptr, ptr %sc_l_this
+ %t25 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t24, i64 0, i32 1
+ %t26 = load ptr, ptr %t25
+ %t27 = getelementptr inbounds %ScrVt, ptr %t26, i64 0, i32 0
+ %t28 = load i64, ptr %t27
+ %t29 = icmp uge i64 %t28, 16
+ %t30 = icmp ule i64 %t28, 16
+ %t31 = and i1 %t29, %t30 ; instanceof %m2.NodeResponseSink
+ br i1 %t31, label %if.t8, label %if.j9
+if.t8:
+ %t32 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr null
+exc.k11:
+ ret ptr %t32
+if.j9:
+ %t36 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink()
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t36)
+ ret ptr null
+exc.k13:
+ ret ptr %t36
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_ResponseSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_ResponseSink(ptr %p0)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink() #0 { ; %prototype.data.%m2.NodeResponseSink
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink()
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_dyn_release(ptr %t6)
+ ret ptr null
+exc.k5:
+ %t10 = call ptr @scr_dyn_obj_create(ptr %t6)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @scr_dyn_release(ptr %t6)
+ call void @scr_dyn_release(ptr %t10)
+ ret ptr null
+exc.k7:
+ %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ call void @scr_dyn_release(ptr %t14)
+ store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ call void @scr_dyn_release(ptr %t6)
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink_ready
+ %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t16 = call ptr @sc_rc_retain_dyn(ptr %t15)
+ %t17 = call ptr @sc_td_0(ptr @sc_lit_3752021314181142)
+ %t18 = call ptr @scr_dyn_new_obj()
+ %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus)
+ %t20 = call ptr @sc_dfb_45(ptr %t19, ptr null)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ ret ptr null
+exc.k9:
+ %t24 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ ret ptr null
+exc.k11:
+ %t28 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ call void @scr_dyn_release(ptr %t28)
+ ret ptr null
+exc.k13:
+ %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ call void @scr_dyn_release(ptr %t28)
+ call void @scr_dyn_release(ptr %t32)
+ ret ptr null
+exc.k15:
+ call void @scr_dyn_release(ptr %t16)
+ call void @scr_dyn_release(ptr %t17)
+ call void @scr_dyn_release(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @scr_dyn_release(ptr %t20)
+ call void @scr_dyn_release(ptr %t24)
+ call void @scr_dyn_release(ptr %t28)
+ call void @scr_dyn_release(ptr %t32)
+ %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = call ptr @sc_td_0(ptr @sc_lit_2364278031517622)
+ %t39 = call ptr @scr_dyn_new_obj()
+ %t40 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader)
+ %t41 = call ptr @sc_dfb_9(ptr %t40, ptr null)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3610950885518037, ptr %t41)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ ret ptr null
+exc.k17:
+ %t45 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_1948131179100861, ptr %t45)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ ret ptr null
+exc.k19:
+ %t49 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3198935257758645, ptr %t49)
+ %t50 = load i32, ptr %exc.cell
+ %t51 = icmp ne i32 %t50, 0
+ %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false)
+ br i1 %t52, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ call void @scr_dyn_release(ptr %t49)
+ ret ptr null
+exc.k21:
+ %t53 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t37, ptr %t38, ptr %t39)
+ %t54 = load i32, ptr %exc.cell
+ %t55 = icmp ne i32 %t54, 0
+ %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false)
+ br i1 %t56, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ call void @scr_dyn_release(ptr %t49)
+ call void @scr_dyn_release(ptr %t53)
+ ret ptr null
+exc.k23:
+ call void @scr_dyn_release(ptr %t37)
+ call void @scr_dyn_release(ptr %t38)
+ call void @scr_dyn_release(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @scr_dyn_release(ptr %t41)
+ call void @scr_dyn_release(ptr %t45)
+ call void @scr_dyn_release(ptr %t49)
+ call void @scr_dyn_release(ptr %t53)
+ %t57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t58 = call ptr @sc_rc_retain_dyn(ptr %t57)
+ %t59 = call ptr @sc_td_0(ptr @sc_lit_470306239805907)
+ %t60 = call ptr @scr_dyn_new_obj()
+ %t61 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader)
+ %t62 = call ptr @sc_dfb_9(ptr %t61, ptr null)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3610950885518037, ptr %t62)
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ ret ptr null
+exc.k25:
+ %t66 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_1948131179100861, ptr %t66)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ ret ptr null
+exc.k27:
+ %t70 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t60, ptr @sc_lit_3198935257758645, ptr %t70)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ call void @scr_dyn_release(ptr %t70)
+ ret ptr null
+exc.k29:
+ %t74 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t58, ptr %t59, ptr %t60)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ call void @scr_dyn_release(ptr %t70)
+ call void @scr_dyn_release(ptr %t74)
+ ret ptr null
+exc.k31:
+ call void @scr_dyn_release(ptr %t58)
+ call void @scr_dyn_release(ptr %t59)
+ call void @scr_dyn_release(ptr %t60)
+ call void @scr_closure_release(ptr %t61)
+ call void @scr_dyn_release(ptr %t62)
+ call void @scr_dyn_release(ptr %t66)
+ call void @scr_dyn_release(ptr %t70)
+ call void @scr_dyn_release(ptr %t74)
+ %t78 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t79 = call ptr @sc_rc_retain_dyn(ptr %t78)
+ %t80 = call ptr @sc_td_0(ptr @sc_lit_4133069531575059)
+ %t81 = call ptr @scr_dyn_new_obj()
+ %t82 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody)
+ %t83 = call ptr @sc_dfb_46(ptr %t82, ptr null)
+ call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3610950885518037, ptr %t83)
+ %t84 = load i32, ptr %exc.cell
+ %t85 = icmp ne i32 %t84, 0
+ %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false)
+ br i1 %t86, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ ret ptr null
+exc.k33:
+ %t87 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_1948131179100861, ptr %t87)
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ ret ptr null
+exc.k35:
+ %t91 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t81, ptr @sc_lit_3198935257758645, ptr %t91)
+ %t92 = load i32, ptr %exc.cell
+ %t93 = icmp ne i32 %t92, 0
+ %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false)
+ br i1 %t94, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ call void @scr_dyn_release(ptr %t91)
+ ret ptr null
+exc.k37:
+ %t95 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t79, ptr %t80, ptr %t81)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ call void @scr_dyn_release(ptr %t91)
+ call void @scr_dyn_release(ptr %t95)
+ ret ptr null
+exc.k39:
+ call void @scr_dyn_release(ptr %t79)
+ call void @scr_dyn_release(ptr %t80)
+ call void @scr_dyn_release(ptr %t81)
+ call void @scr_closure_release(ptr %t82)
+ call void @scr_dyn_release(ptr %t83)
+ call void @scr_dyn_release(ptr %t87)
+ call void @scr_dyn_release(ptr %t91)
+ call void @scr_dyn_release(ptr %t95)
+ %t99 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t100 = call ptr @sc_rc_retain_dyn(ptr %t99)
+ %t101 = call ptr @sc_td_0(ptr @sc_lit_2253648670486996)
+ %t102 = call ptr @scr_dyn_new_obj()
+ %t103 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes)
+ %t104 = call ptr @sc_dfb_47(ptr %t103, ptr null)
+ call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3610950885518037, ptr %t104)
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ ret ptr null
+exc.k41:
+ %t108 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_1948131179100861, ptr %t108)
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ ret ptr null
+exc.k43:
+ %t112 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t102, ptr @sc_lit_3198935257758645, ptr %t112)
+ %t113 = load i32, ptr %exc.cell
+ %t114 = icmp ne i32 %t113, 0
+ %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false)
+ br i1 %t115, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ call void @scr_dyn_release(ptr %t112)
+ ret ptr null
+exc.k45:
+ %t116 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t100, ptr %t101, ptr %t102)
+ %t117 = load i32, ptr %exc.cell
+ %t118 = icmp ne i32 %t117, 0
+ %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false)
+ br i1 %t119, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ call void @scr_dyn_release(ptr %t112)
+ call void @scr_dyn_release(ptr %t116)
+ ret ptr null
+exc.k47:
+ call void @scr_dyn_release(ptr %t100)
+ call void @scr_dyn_release(ptr %t101)
+ call void @scr_dyn_release(ptr %t102)
+ call void @scr_closure_release(ptr %t103)
+ call void @scr_dyn_release(ptr %t104)
+ call void @scr_dyn_release(ptr %t108)
+ call void @scr_dyn_release(ptr %t112)
+ call void @scr_dyn_release(ptr %t116)
+ %t120 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t121 = call ptr @sc_rc_retain_dyn(ptr %t120)
+ %t122 = call ptr @sc_td_0(ptr @sc_lit_161925136240866)
+ %t123 = call ptr @scr_dyn_new_obj()
+ %t124 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect)
+ %t125 = call ptr @sc_dfb_48(ptr %t124, ptr null)
+ call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3610950885518037, ptr %t125)
+ %t126 = load i32, ptr %exc.cell
+ %t127 = icmp ne i32 %t126, 0
+ %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false)
+ br i1 %t128, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ ret ptr null
+exc.k49:
+ %t129 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_1948131179100861, ptr %t129)
+ %t130 = load i32, ptr %exc.cell
+ %t131 = icmp ne i32 %t130, 0
+ %t132 = call i1 @llvm.expect.i1(i1 %t131, i1 false)
+ br i1 %t132, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ ret ptr null
+exc.k51:
+ %t133 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_3198935257758645, ptr %t133)
+ %t134 = load i32, ptr %exc.cell
+ %t135 = icmp ne i32 %t134, 0
+ %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false)
+ br i1 %t136, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ call void @scr_dyn_release(ptr %t133)
+ ret ptr null
+exc.k53:
+ %t137 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t121, ptr %t122, ptr %t123)
+ %t138 = load i32, ptr %exc.cell
+ %t139 = icmp ne i32 %t138, 0
+ %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false)
+ br i1 %t140, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ call void @scr_dyn_release(ptr %t133)
+ call void @scr_dyn_release(ptr %t137)
+ ret ptr null
+exc.k55:
+ call void @scr_dyn_release(ptr %t121)
+ call void @scr_dyn_release(ptr %t122)
+ call void @scr_dyn_release(ptr %t123)
+ call void @scr_closure_release(ptr %t124)
+ call void @scr_dyn_release(ptr %t125)
+ call void @scr_dyn_release(ptr %t129)
+ call void @scr_dyn_release(ptr %t133)
+ call void @scr_dyn_release(ptr %t137)
+ %t141 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t142 = call ptr @sc_rc_retain_dyn(ptr %t141)
+ %t143 = call ptr @sc_td_0(ptr @sc_lit_298897322184109)
+ %t144 = call ptr @scr_dyn_new_obj()
+ %t145 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write)
+ %t146 = call ptr @sc_dfb_46(ptr %t145, ptr null)
+ call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3610950885518037, ptr %t146)
+ %t147 = load i32, ptr %exc.cell
+ %t148 = icmp ne i32 %t147, 0
+ %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false)
+ br i1 %t149, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ ret ptr null
+exc.k57:
+ %t150 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_1948131179100861, ptr %t150)
+ %t151 = load i32, ptr %exc.cell
+ %t152 = icmp ne i32 %t151, 0
+ %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false)
+ br i1 %t153, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ ret ptr null
+exc.k59:
+ %t154 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t144, ptr @sc_lit_3198935257758645, ptr %t154)
+ %t155 = load i32, ptr %exc.cell
+ %t156 = icmp ne i32 %t155, 0
+ %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false)
+ br i1 %t157, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ call void @scr_dyn_release(ptr %t154)
+ ret ptr null
+exc.k61:
+ %t158 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t142, ptr %t143, ptr %t144)
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ call void @scr_dyn_release(ptr %t154)
+ call void @scr_dyn_release(ptr %t158)
+ ret ptr null
+exc.k63:
+ call void @scr_dyn_release(ptr %t142)
+ call void @scr_dyn_release(ptr %t143)
+ call void @scr_dyn_release(ptr %t144)
+ call void @scr_closure_release(ptr %t145)
+ call void @scr_dyn_release(ptr %t146)
+ call void @scr_dyn_release(ptr %t150)
+ call void @scr_dyn_release(ptr %t154)
+ call void @scr_dyn_release(ptr %t158)
+ %t162 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t163 = call ptr @sc_rc_retain_dyn(ptr %t162)
+ %t164 = call ptr @sc_td_0(ptr @sc_lit_4085448292571548)
+ %t165 = call ptr @scr_dyn_new_obj()
+ %t166 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead)
+ %t167 = call ptr @sc_dfb_49(ptr %t166, ptr null)
+ call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3610950885518037, ptr %t167)
+ %t168 = load i32, ptr %exc.cell
+ %t169 = icmp ne i32 %t168, 0
+ %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false)
+ br i1 %t170, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ ret ptr null
+exc.k65:
+ %t171 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_1948131179100861, ptr %t171)
+ %t172 = load i32, ptr %exc.cell
+ %t173 = icmp ne i32 %t172, 0
+ %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false)
+ br i1 %t174, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ ret ptr null
+exc.k67:
+ %t175 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t165, ptr @sc_lit_3198935257758645, ptr %t175)
+ %t176 = load i32, ptr %exc.cell
+ %t177 = icmp ne i32 %t176, 0
+ %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false)
+ br i1 %t178, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ call void @scr_dyn_release(ptr %t175)
+ ret ptr null
+exc.k69:
+ %t179 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t163, ptr %t164, ptr %t165)
+ %t180 = load i32, ptr %exc.cell
+ %t181 = icmp ne i32 %t180, 0
+ %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false)
+ br i1 %t182, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ call void @scr_dyn_release(ptr %t175)
+ call void @scr_dyn_release(ptr %t179)
+ ret ptr null
+exc.k71:
+ call void @scr_dyn_release(ptr %t163)
+ call void @scr_dyn_release(ptr %t164)
+ call void @scr_dyn_release(ptr %t165)
+ call void @scr_closure_release(ptr %t166)
+ call void @scr_dyn_release(ptr %t167)
+ call void @scr_dyn_release(ptr %t171)
+ call void @scr_dyn_release(ptr %t175)
+ call void @scr_dyn_release(ptr %t179)
+ %t183 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t184 = call ptr @sc_rc_retain_dyn(ptr %t183)
+ %t185 = call ptr @sc_td_0(ptr @sc_lit_3561861343106386)
+ %t186 = call ptr @scr_dyn_new_obj()
+ %t187 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream)
+ %t188 = call ptr @sc_dfb_1(ptr %t187, ptr null)
+ call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3610950885518037, ptr %t188)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ ret ptr null
+exc.k73:
+ %t192 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_1948131179100861, ptr %t192)
+ %t193 = load i32, ptr %exc.cell
+ %t194 = icmp ne i32 %t193, 0
+ %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false)
+ br i1 %t195, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ ret ptr null
+exc.k75:
+ %t196 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t186, ptr @sc_lit_3198935257758645, ptr %t196)
+ %t197 = load i32, ptr %exc.cell
+ %t198 = icmp ne i32 %t197, 0
+ %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false)
+ br i1 %t199, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ call void @scr_dyn_release(ptr %t196)
+ ret ptr null
+exc.k77:
+ %t200 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t184, ptr %t185, ptr %t186)
+ %t201 = load i32, ptr %exc.cell
+ %t202 = icmp ne i32 %t201, 0
+ %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false)
+ br i1 %t203, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ call void @scr_dyn_release(ptr %t196)
+ call void @scr_dyn_release(ptr %t200)
+ ret ptr null
+exc.k79:
+ call void @scr_dyn_release(ptr %t184)
+ call void @scr_dyn_release(ptr %t185)
+ call void @scr_dyn_release(ptr %t186)
+ call void @scr_closure_release(ptr %t187)
+ call void @scr_dyn_release(ptr %t188)
+ call void @scr_dyn_release(ptr %t192)
+ call void @scr_dyn_release(ptr %t196)
+ call void @scr_dyn_release(ptr %t200)
+ %t204 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t205 = call ptr @sc_rc_retain_dyn(ptr %t204)
+ %t206 = call ptr @sc_td_0(ptr @sc_lit_2529432852777196)
+ %t207 = call ptr @scr_dyn_new_obj()
+ %t208 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent)
+ %t209 = call ptr @sc_dfb_51(ptr %t208, ptr null)
+ call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3610950885518037, ptr %t209)
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ ret ptr null
+exc.k81:
+ %t213 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_1948131179100861, ptr %t213)
+ %t214 = load i32, ptr %exc.cell
+ %t215 = icmp ne i32 %t214, 0
+ %t216 = call i1 @llvm.expect.i1(i1 %t215, i1 false)
+ br i1 %t216, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ ret ptr null
+exc.k83:
+ %t217 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t207, ptr @sc_lit_3198935257758645, ptr %t217)
+ %t218 = load i32, ptr %exc.cell
+ %t219 = icmp ne i32 %t218, 0
+ %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false)
+ br i1 %t220, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ call void @scr_dyn_release(ptr %t217)
+ ret ptr null
+exc.k85:
+ %t221 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t205, ptr %t206, ptr %t207)
+ %t222 = load i32, ptr %exc.cell
+ %t223 = icmp ne i32 %t222, 0
+ %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false)
+ br i1 %t224, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ call void @scr_dyn_release(ptr %t217)
+ call void @scr_dyn_release(ptr %t221)
+ ret ptr null
+exc.k87:
+ call void @scr_dyn_release(ptr %t205)
+ call void @scr_dyn_release(ptr %t206)
+ call void @scr_dyn_release(ptr %t207)
+ call void @scr_closure_release(ptr %t208)
+ call void @scr_dyn_release(ptr %t209)
+ call void @scr_dyn_release(ptr %t213)
+ call void @scr_dyn_release(ptr %t217)
+ call void @scr_dyn_release(ptr %t221)
+ %t225 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t226 = call ptr @sc_rc_retain_dyn(ptr %t225)
+ %t227 = call ptr @sc_td_0(ptr @sc_lit_4297539476301093)
+ %t228 = call ptr @scr_dyn_new_obj()
+ %t229 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent)
+ %t230 = call ptr @sc_dfb_51(ptr %t229, ptr null)
+ call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3610950885518037, ptr %t230)
+ %t231 = load i32, ptr %exc.cell
+ %t232 = icmp ne i32 %t231, 0
+ %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false)
+ br i1 %t233, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ ret ptr null
+exc.k89:
+ %t234 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_1948131179100861, ptr %t234)
+ %t235 = load i32, ptr %exc.cell
+ %t236 = icmp ne i32 %t235, 0
+ %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false)
+ br i1 %t237, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ ret ptr null
+exc.k91:
+ %t238 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t228, ptr @sc_lit_3198935257758645, ptr %t238)
+ %t239 = load i32, ptr %exc.cell
+ %t240 = icmp ne i32 %t239, 0
+ %t241 = call i1 @llvm.expect.i1(i1 %t240, i1 false)
+ br i1 %t241, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ call void @scr_dyn_release(ptr %t238)
+ ret ptr null
+exc.k93:
+ %t242 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t226, ptr %t227, ptr %t228)
+ %t243 = load i32, ptr %exc.cell
+ %t244 = icmp ne i32 %t243, 0
+ %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false)
+ br i1 %t245, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ call void @scr_dyn_release(ptr %t238)
+ call void @scr_dyn_release(ptr %t242)
+ ret ptr null
+exc.k95:
+ call void @scr_dyn_release(ptr %t226)
+ call void @scr_dyn_release(ptr %t227)
+ call void @scr_dyn_release(ptr %t228)
+ call void @scr_closure_release(ptr %t229)
+ call void @scr_dyn_release(ptr %t230)
+ call void @scr_dyn_release(ptr %t234)
+ call void @scr_dyn_release(ptr %t238)
+ call void @scr_dyn_release(ptr %t242)
+ %t246 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t247 = call ptr @sc_rc_retain_dyn(ptr %t246)
+ %t248 = call ptr @sc_td_0(ptr @sc_lit_1959461887910059)
+ %t249 = call ptr @scr_dyn_new_obj()
+ %t250 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy)
+ %t251 = call ptr @sc_dfb_1(ptr %t250, ptr null)
+ call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3610950885518037, ptr %t251)
+ %t252 = load i32, ptr %exc.cell
+ %t253 = icmp ne i32 %t252, 0
+ %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false)
+ br i1 %t254, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ ret ptr null
+exc.k97:
+ %t255 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_1948131179100861, ptr %t255)
+ %t256 = load i32, ptr %exc.cell
+ %t257 = icmp ne i32 %t256, 0
+ %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false)
+ br i1 %t258, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ ret ptr null
+exc.k99:
+ %t259 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t249, ptr @sc_lit_3198935257758645, ptr %t259)
+ %t260 = load i32, ptr %exc.cell
+ %t261 = icmp ne i32 %t260, 0
+ %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false)
+ br i1 %t262, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ call void @scr_dyn_release(ptr %t259)
+ ret ptr null
+exc.k101:
+ %t263 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t247, ptr %t248, ptr %t249)
+ %t264 = load i32, ptr %exc.cell
+ %t265 = icmp ne i32 %t264, 0
+ %t266 = call i1 @llvm.expect.i1(i1 %t265, i1 false)
+ br i1 %t266, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ call void @scr_dyn_release(ptr %t259)
+ call void @scr_dyn_release(ptr %t263)
+ ret ptr null
+exc.k103:
+ call void @scr_dyn_release(ptr %t247)
+ call void @scr_dyn_release(ptr %t248)
+ call void @scr_dyn_release(ptr %t249)
+ call void @scr_closure_release(ptr %t250)
+ call void @scr_dyn_release(ptr %t251)
+ call void @scr_dyn_release(ptr %t255)
+ call void @scr_dyn_release(ptr %t259)
+ call void @scr_dyn_release(ptr %t263)
+ %t267 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t268 = call ptr @sc_rc_retain_dyn(ptr %t267)
+ %t269 = call ptr @sc_td_0(ptr @sc_lit_181663572509014)
+ %t270 = call ptr @scr_dyn_new_obj()
+ %t271 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf)
+ %t272 = call ptr @sc_dfb_52(ptr %t271, ptr null)
+ call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3610950885518037, ptr %t272)
+ %t273 = load i32, ptr %exc.cell
+ %t274 = icmp ne i32 %t273, 0
+ %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false)
+ br i1 %t275, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ ret ptr null
+exc.k105:
+ %t276 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_1948131179100861, ptr %t276)
+ %t277 = load i32, ptr %exc.cell
+ %t278 = icmp ne i32 %t277, 0
+ %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false)
+ br i1 %t279, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ ret ptr null
+exc.k107:
+ %t280 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t270, ptr @sc_lit_3198935257758645, ptr %t280)
+ %t281 = load i32, ptr %exc.cell
+ %t282 = icmp ne i32 %t281, 0
+ %t283 = call i1 @llvm.expect.i1(i1 %t282, i1 false)
+ br i1 %t283, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ call void @scr_dyn_release(ptr %t280)
+ ret ptr null
+exc.k109:
+ %t284 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t268, ptr %t269, ptr %t270)
+ %t285 = load i32, ptr %exc.cell
+ %t286 = icmp ne i32 %t285, 0
+ %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false)
+ br i1 %t287, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ call void @scr_dyn_release(ptr %t280)
+ call void @scr_dyn_release(ptr %t284)
+ ret ptr null
+exc.k111:
+ call void @scr_dyn_release(ptr %t268)
+ call void @scr_dyn_release(ptr %t269)
+ call void @scr_dyn_release(ptr %t270)
+ call void @scr_closure_release(ptr %t271)
+ call void @scr_dyn_release(ptr %t272)
+ call void @scr_dyn_release(ptr %t276)
+ call void @scr_dyn_release(ptr %t280)
+ call void @scr_dyn_release(ptr %t284)
+ %t288 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t289 = call ptr @sc_rc_retain_dyn(ptr %t288)
+ %t290 = call ptr @sc_td_0(ptr @sc_lit_992600386266231)
+ %t291 = call ptr @scr_dyn_new_obj()
+ %t292 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf)
+ %t293 = call ptr @sc_dfb_53(ptr %t292, ptr null)
+ call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_3610950885518037, ptr %t293)
+ %t294 = load i32, ptr %exc.cell
+ %t295 = icmp ne i32 %t294, 0
+ %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false)
+ br i1 %t296, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @scr_dyn_release(ptr %t289)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t291)
+ call void @scr_closure_release(ptr %t292)
+ call void @scr_dyn_release(ptr %t293)
+ ret ptr null
+exc.k113:
+ %t297 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_1948131179100861, ptr %t297)
+ %t298 = load i32, ptr %exc.cell
+ %t299 = icmp ne i32 %t298, 0
+ %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false)
+ br i1 %t300, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @scr_dyn_release(ptr %t289)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t291)
+ call void @scr_closure_release(ptr %t292)
+ call void @scr_dyn_release(ptr %t293)
+ call void @scr_dyn_release(ptr %t297)
+ ret ptr null
+exc.k115:
+ %t301 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t291, ptr @sc_lit_3198935257758645, ptr %t301)
+ %t302 = load i32, ptr %exc.cell
+ %t303 = icmp ne i32 %t302, 0
+ %t304 = call i1 @llvm.expect.i1(i1 %t303, i1 false)
+ br i1 %t304, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @scr_dyn_release(ptr %t289)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t291)
+ call void @scr_closure_release(ptr %t292)
+ call void @scr_dyn_release(ptr %t293)
+ call void @scr_dyn_release(ptr %t297)
+ call void @scr_dyn_release(ptr %t301)
+ ret ptr null
+exc.k117:
+ %t305 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t289, ptr %t290, ptr %t291)
+ %t306 = load i32, ptr %exc.cell
+ %t307 = icmp ne i32 %t306, 0
+ %t308 = call i1 @llvm.expect.i1(i1 %t307, i1 false)
+ br i1 %t308, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @scr_dyn_release(ptr %t289)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t291)
+ call void @scr_closure_release(ptr %t292)
+ call void @scr_dyn_release(ptr %t293)
+ call void @scr_dyn_release(ptr %t297)
+ call void @scr_dyn_release(ptr %t301)
+ call void @scr_dyn_release(ptr %t305)
+ ret ptr null
+exc.k119:
+ call void @scr_dyn_release(ptr %t289)
+ call void @scr_dyn_release(ptr %t290)
+ call void @scr_dyn_release(ptr %t291)
+ call void @scr_closure_release(ptr %t292)
+ call void @scr_dyn_release(ptr %t293)
+ call void @scr_dyn_release(ptr %t297)
+ call void @scr_dyn_release(ptr %t301)
+ call void @scr_dyn_release(ptr %t305)
+ %t309 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t310 = call ptr @sc_rc_retain_dyn(ptr %t309)
+ %t311 = call ptr @sc_td_0(ptr @sc_lit_4198614539576238)
+ %t312 = call ptr @scr_dyn_new_obj()
+ %t313 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap)
+ %t314 = call ptr @sc_dfb_54(ptr %t313, ptr null)
+ call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_3610950885518037, ptr %t314)
+ %t315 = load i32, ptr %exc.cell
+ %t316 = icmp ne i32 %t315, 0
+ %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false)
+ br i1 %t317, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @scr_dyn_release(ptr %t310)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t312)
+ call void @scr_closure_release(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ ret ptr null
+exc.k121:
+ %t318 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_1948131179100861, ptr %t318)
+ %t319 = load i32, ptr %exc.cell
+ %t320 = icmp ne i32 %t319, 0
+ %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false)
+ br i1 %t321, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @scr_dyn_release(ptr %t310)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t312)
+ call void @scr_closure_release(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ call void @scr_dyn_release(ptr %t318)
+ ret ptr null
+exc.k123:
+ %t322 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t312, ptr @sc_lit_3198935257758645, ptr %t322)
+ %t323 = load i32, ptr %exc.cell
+ %t324 = icmp ne i32 %t323, 0
+ %t325 = call i1 @llvm.expect.i1(i1 %t324, i1 false)
+ br i1 %t325, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @scr_dyn_release(ptr %t310)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t312)
+ call void @scr_closure_release(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ call void @scr_dyn_release(ptr %t318)
+ call void @scr_dyn_release(ptr %t322)
+ ret ptr null
+exc.k125:
+ %t326 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t310, ptr %t311, ptr %t312)
+ %t327 = load i32, ptr %exc.cell
+ %t328 = icmp ne i32 %t327, 0
+ %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false)
+ br i1 %t329, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @scr_dyn_release(ptr %t310)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t312)
+ call void @scr_closure_release(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ call void @scr_dyn_release(ptr %t318)
+ call void @scr_dyn_release(ptr %t322)
+ call void @scr_dyn_release(ptr %t326)
+ ret ptr null
+exc.k127:
+ call void @scr_dyn_release(ptr %t310)
+ call void @scr_dyn_release(ptr %t311)
+ call void @scr_dyn_release(ptr %t312)
+ call void @scr_closure_release(ptr %t313)
+ call void @scr_dyn_release(ptr %t314)
+ call void @scr_dyn_release(ptr %t318)
+ call void @scr_dyn_release(ptr %t322)
+ call void @scr_dyn_release(ptr %t326)
+ %t330 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t331 = call ptr @sc_rc_retain_dyn(ptr %t330)
+ %t332 = call ptr @sc_td_0(ptr @sc_lit_3908714124573206)
+ %t333 = call ptr @scr_dyn_new_obj()
+ %t334 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes)
+ %t335 = call ptr @sc_dfb_55(ptr %t334, ptr null)
+ call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_3610950885518037, ptr %t335)
+ %t336 = load i32, ptr %exc.cell
+ %t337 = icmp ne i32 %t336, 0
+ %t338 = call i1 @llvm.expect.i1(i1 %t337, i1 false)
+ br i1 %t338, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @scr_dyn_release(ptr %t331)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t333)
+ call void @scr_closure_release(ptr %t334)
+ call void @scr_dyn_release(ptr %t335)
+ ret ptr null
+exc.k129:
+ %t339 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_1948131179100861, ptr %t339)
+ %t340 = load i32, ptr %exc.cell
+ %t341 = icmp ne i32 %t340, 0
+ %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false)
+ br i1 %t342, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @scr_dyn_release(ptr %t331)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t333)
+ call void @scr_closure_release(ptr %t334)
+ call void @scr_dyn_release(ptr %t335)
+ call void @scr_dyn_release(ptr %t339)
+ ret ptr null
+exc.k131:
+ %t343 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t333, ptr @sc_lit_3198935257758645, ptr %t343)
+ %t344 = load i32, ptr %exc.cell
+ %t345 = icmp ne i32 %t344, 0
+ %t346 = call i1 @llvm.expect.i1(i1 %t345, i1 false)
+ br i1 %t346, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @scr_dyn_release(ptr %t331)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t333)
+ call void @scr_closure_release(ptr %t334)
+ call void @scr_dyn_release(ptr %t335)
+ call void @scr_dyn_release(ptr %t339)
+ call void @scr_dyn_release(ptr %t343)
+ ret ptr null
+exc.k133:
+ %t347 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t331, ptr %t332, ptr %t333)
+ %t348 = load i32, ptr %exc.cell
+ %t349 = icmp ne i32 %t348, 0
+ %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false)
+ br i1 %t350, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @scr_dyn_release(ptr %t331)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t333)
+ call void @scr_closure_release(ptr %t334)
+ call void @scr_dyn_release(ptr %t335)
+ call void @scr_dyn_release(ptr %t339)
+ call void @scr_dyn_release(ptr %t343)
+ call void @scr_dyn_release(ptr %t347)
+ ret ptr null
+exc.k135:
+ call void @scr_dyn_release(ptr %t331)
+ call void @scr_dyn_release(ptr %t332)
+ call void @scr_dyn_release(ptr %t333)
+ call void @scr_closure_release(ptr %t334)
+ call void @scr_dyn_release(ptr %t335)
+ call void @scr_dyn_release(ptr %t339)
+ call void @scr_dyn_release(ptr %t343)
+ call void @scr_dyn_release(ptr %t347)
+ br label %if.j3
+if.j3:
+ %t351 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ %t352 = call ptr @sc_rc_retain_dyn(ptr %t351)
+ ret ptr %t352
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m2.NodeResponseSink
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s57 = alloca i1
+ %s68 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_629517122853751
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_629517122853751)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_629517122853751
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_29(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 16
+ %t37 = icmp ule i64 %t35, 16
+ %t38 = and i1 %t36, %t37 ; instanceof %m2.NodeResponseSink
+ call void @sc_release__x25_m2_ResponseSink(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_this_0
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_629517122853751
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_29(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j16:
+ br label %if.j7
+if.j7:
+ %t56 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s57
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %brand.inspect24, label %brand.done26
+brand.inspect24:
+ %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t61 = icmp eq i32 %t60, 12
+ br i1 %t61, label %brand.capsule25, label %brand.done26
+brand.capsule25:
+ %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t63 = load ptr, ptr %t62
+ %t64 = icmp eq ptr %t63, @sc_cs_3326437563644705
+ store i1 true, ptr %s57
+ br i1 %t64, label %brand.done26, label %brand.compare27
+brand.compare27:
+ %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_3326437563644705)
+ store i1 %t65, ptr %s57
+ br label %brand.done26
+brand.done26:
+ %t66 = load i1, ptr %s57
+ br i1 %t66, label %if.t28, label %if.j29
+if.t28:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t69 = icmp ne ptr %t67, null
+ br i1 %t69, label %dc.inspect30, label %dc.checked33
+dc.inspect30:
+ %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind
+ %t75 = load i32, ptr %t74
+ %t70 = icmp eq i32 %t75, 12
+ br i1 %t70, label %dc.capsule31, label %dc.checked33
+dc.capsule31:
+ %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key
+ %t72 = load ptr, ptr %t71
+ %t73 = icmp eq ptr %t72, @sc_cs_3326437563644705
+ br i1 %t73, label %dc.exact32, label %dc.checked33
+dc.exact32:
+ %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr
+ %t77 = load ptr, ptr %t76
+ %t78 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t77)
+ store ptr %t78, ptr %s68
+ br label %dc.done34
+dc.checked33:
+ %t79 = call ptr @sc_dc_102(ptr %t67, ptr null)
+ store ptr %t79, ptr %s68
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u35, label %exc.k36
+exc.u35:
+ ret ptr null
+exc.k36:
+ br label %dc.done34
+dc.done34:
+ %t83 = load ptr, ptr %s68
+ ret ptr %t83
+if.j29:
+ %t84 = load ptr, ptr %sc_l_this_0
+ %t85 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_NodeResponseSink(ptr %t84)
+ %t86 = load i32, ptr %exc.cell
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t85)
+ ret ptr null
+exc.k38:
+ ret ptr %t85
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus(double %p_sc_l_p_0) #0 { ; %method.value:%%m2.NodeResponseSink.setStatus
+entry:
+ %sc_l_p_0 = alloca double ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store double %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load double, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_setStatus(ptr %t5, double %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.NodeResponseSink.setHeader
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_setHeader(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.NodeResponseSink.appendHeader
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_appendHeader(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.NodeResponseSink.writeBody
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_writeBody(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.NodeResponseSink.bodyBytes
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %t5, ptr %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes(ptr %p0, ptr %p1)
+ call void @scr_bytes_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %p_sc_l_p_0, double %p_sc_l_p_1) #0 { ; %method.value:%%m2.NodeResponseSink.redirect
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca double ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store double %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = load double, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_redirect(ptr %t5, ptr %t9, double %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %p0, double %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect(ptr %p0, double %p1)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.NodeResponseSink.write
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_write(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(double %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %method.value:%%m2.NodeResponseSink.writeHead
+entry:
+ %sc_l_p_0 = alloca double ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store double %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load double, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_1
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_writeHead(ptr %t5, double %t9, ptr %t10)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(double %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead(double %p0, ptr %p1)
+ call void @scr_arr_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream() #0 { ; %method.value:%%m2.NodeResponseSink.endStream
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_endStream(ptr %t5)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+}
+
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent() #0 { ; %method.value:%%m2.NodeResponseSink.isSent
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret i1 false
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call i1 @sc_bf__x25__x25_m2_NodeResponseSink_isSent(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret i1 %t9
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret i1 %t9
+}
+
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent() #0 { ; %method.value:%%m2.NodeResponseSink.isHeadersSent
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret i1 false
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call i1 @sc_bf__x25__x25_m2_NodeResponseSink_isHeadersSent(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret i1 %t9
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret i1 %t9
+}
+
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy() #0 { ; %method.value:%%m2.NodeResponseSink.destroy
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_bf__x25__x25_m2_NodeResponseSink_destroy(ptr %t5)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret void
+}
+
+define internal double @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf() #0 { ; %method.value:%%m2.NodeResponseSink.statusOf
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret double 0x0000000000000000
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret double 0x0000000000000000
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call double @sc_bf__x25__x25_m2_NodeResponseSink_statusOf(ptr %t5)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret double %t9
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m2.NodeResponseSink.headerOf
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_headerOf(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap() #0 { ; %method.value:%%m2.NodeResponseSink.headersMap
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_headersMap(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ call void @sc_rrelease_r0(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes() #0 { ; %method.value:%%m2.NodeResponseSink.nodeRes
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m2_NodeResponseSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m2_NodeResponseSink_nodeRes(ptr %t5)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m9_EmbeddedAssets(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m9.EmbeddedAssets
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = load ptr, ptr %sc_l_this
+ %t1 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t0, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0
+ %t4 = load i64, ptr %t3
+ %t5 = icmp uge i64 %t4, 38
+ %t6 = icmp ule i64 %t4, 38
+ %t7 = and i1 %t5, %t6 ; instanceof %m14.BakedAssets
+ br i1 %t7, label %if.t0, label %if.j1
+if.t0:
+ %t8 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k3:
+ ret ptr %t8
+if.j1:
+ %t12 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t12)
+ ret ptr null
+exc.k5:
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m9_EmbeddedAssets(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m9_EmbeddedAssets(ptr %p0)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_FetchResponseSink(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m2.FetchResponseSink
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = load ptr, ptr %sc_l_this
+ %t1 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t0, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0
+ %t4 = load i64, ptr %t3
+ %t5 = icmp uge i64 %t4, 18
+ %t6 = icmp ule i64 %t4, 18
+ %t7 = and i1 %t5, %t6 ; instanceof %m3.LiteResponse
+ br i1 %t7, label %if.t0, label %if.j1
+if.t0:
+ %t8 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k3:
+ ret ptr %t8
+if.j1:
+ %t12 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t12)
+ ret ptr null
+exc.k5:
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_FetchResponseSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_FetchResponseSink(ptr %p0)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartParser(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m4.MultipartParser
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartParser(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartParser(ptr %p0)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteResponse(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m3.LiteResponse
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteResponse(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteResponse(ptr %p0)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m11_StaticServer(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m11.StaticServer
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m11_StaticServer()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m11_StaticServer(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m11_StaticServer(ptr %p0)
+ call void @sc_release__x25_m11_StaticServer(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m6_AssetSource(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m6.AssetSource
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = load ptr, ptr %sc_l_this
+ %t1 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t0, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0
+ %t4 = load i64, ptr %t3
+ %t5 = icmp uge i64 %t4, 38
+ %t6 = icmp ule i64 %t4, 38
+ %t7 = and i1 %t5, %t6 ; instanceof %m14.BakedAssets
+ br i1 %t7, label %if.t0, label %if.j1
+if.t0:
+ %t8 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k3:
+ ret ptr %t8
+if.j1:
+ %t12 = load ptr, ptr %sc_l_this
+ %t13 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t12, i64 0, i32 1
+ %t14 = load ptr, ptr %t13
+ %t15 = getelementptr inbounds %ScrVt, ptr %t14, i64 0, i32 0
+ %t16 = load i64, ptr %t15
+ %t17 = icmp uge i64 %t16, 37
+ %t18 = icmp ule i64 %t16, 38
+ %t19 = and i1 %t17, %t18 ; instanceof %m9.EmbeddedAssets
+ br i1 %t19, label %if.t4, label %if.j5
+if.t4:
+ %t20 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret ptr null
+exc.k7:
+ ret ptr %t20
+if.j5:
+ %t24 = call ptr @sc_f__x25_prototype_data__x25_m6_AssetSource()
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k9:
+ ret ptr %t24
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m6_AssetSource(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m6_AssetSource(ptr %p0)
+ call void @sc_release__x25_m6_AssetSource(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartFileSink(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m4.MultipartFileSink
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = load ptr, ptr %sc_l_this
+ %t1 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t0, i64 0, i32 1
+ %t2 = load ptr, ptr %t1
+ %t3 = getelementptr inbounds %ScrVt, ptr %t2, i64 0, i32 0
+ %t4 = load i64, ptr %t3
+ %t5 = icmp uge i64 %t4, 23
+ %t6 = icmp ule i64 %t4, 23
+ %t7 = and i1 %t5, %t6 ; instanceof %m4.MemoryFileSink
+ br i1 %t7, label %if.t0, label %if.j1
+if.t0:
+ %t8 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k3:
+ ret ptr %t8
+if.j1:
+ %t12 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink()
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t12)
+ ret ptr null
+exc.k5:
+ ret ptr %t12
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MultipartFileSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MultipartFileSink(ptr %p0)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink() #0 { ; %prototype.data.%m4.MemoryFileSink
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink()
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k5:
+ %t10 = call ptr @scr_dyn_obj_create(ptr %t6)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k7:
+ %t14 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink
+ call void @sc_rc_release_dyn(ptr %t14)
+ store ptr %t10, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink
+ call void @sc_rc_release_dyn(ptr %t6)
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink_ready
+ %t15 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink
+ %t16 = call ptr @sc_rc_retain_dyn(ptr %t15)
+ %t17 = call ptr @sc_td_0(ptr @sc_lit_298897322184109)
+ %t18 = call ptr @scr_dyn_new_obj()
+ %t19 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write)
+ %t20 = call ptr @sc_dfb_0(ptr %t19, ptr null)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3610950885518037, ptr %t20)
+ %t21 = load i32, ptr %exc.cell
+ %t22 = icmp ne i32 %t21, 0
+ %t23 = call i1 @llvm.expect.i1(i1 %t22, i1 false)
+ br i1 %t23, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret ptr null
+exc.k9:
+ %t24 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_1948131179100861, ptr %t24)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k11:
+ %t28 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t18, ptr @sc_lit_3198935257758645, ptr %t28)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret ptr null
+exc.k13:
+ %t32 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t16, ptr %t17, ptr %t18)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr null
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @scr_closure_release(ptr %t19)
+ call void @sc_rc_release_dyn(ptr %t20)
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t32)
+ %t36 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = call ptr @sc_td_0(ptr @sc_lit_1048673592241930)
+ %t39 = call ptr @scr_dyn_new_obj()
+ %t40 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file)
+ %t41 = call ptr @sc_dfb_67(ptr %t40, ptr null)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3610950885518037, ptr %t41)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret ptr null
+exc.k17:
+ %t45 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_1948131179100861, ptr %t45)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr null
+exc.k19:
+ %t49 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t39, ptr @sc_lit_3198935257758645, ptr %t49)
+ %t50 = load i32, ptr %exc.cell
+ %t51 = icmp ne i32 %t50, 0
+ %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false)
+ br i1 %t52, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr null
+exc.k21:
+ %t53 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t37, ptr %t38, ptr %t39)
+ %t54 = load i32, ptr %exc.cell
+ %t55 = icmp ne i32 %t54, 0
+ %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false)
+ br i1 %t56, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_rc_release_dyn(ptr %t53)
+ ret ptr null
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @scr_closure_release(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_rc_release_dyn(ptr %t53)
+ br label %if.j3
+if.j3:
+ %t57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink
+ %t58 = call ptr @sc_rc_retain_dyn(ptr %t57)
+ ret ptr %t58
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryFileSink(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m4.MemoryFileSink
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s57 = alloca i1
+ %s68 = alloca ptr
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_2072202777142634
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_2072202777142634)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_2072202777142634
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_26(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 23
+ %t37 = icmp ule i64 %t35, 23
+ %t38 = and i1 %t36, %t37 ; instanceof %m4.MemoryFileSink
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_this_0
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_2072202777142634
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_26(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j16:
+ br label %if.j7
+if.j7:
+ %t56 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s57
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %brand.inspect24, label %brand.done26
+brand.inspect24:
+ %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t61 = icmp eq i32 %t60, 12
+ br i1 %t61, label %brand.capsule25, label %brand.done26
+brand.capsule25:
+ %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t63 = load ptr, ptr %t62
+ %t64 = icmp eq ptr %t63, @sc_cs_3728566007289652
+ store i1 true, ptr %s57
+ br i1 %t64, label %brand.done26, label %brand.compare27
+brand.compare27:
+ %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_3728566007289652)
+ store i1 %t65, ptr %s57
+ br label %brand.done26
+brand.done26:
+ %t66 = load i1, ptr %s57
+ br i1 %t66, label %if.t28, label %if.j29
+if.t28:
+ %t67 = load ptr, ptr %sc_l_this_0
+ %t69 = icmp ne ptr %t67, null
+ br i1 %t69, label %dc.inspect30, label %dc.checked33
+dc.inspect30:
+ %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind
+ %t75 = load i32, ptr %t74
+ %t70 = icmp eq i32 %t75, 12
+ br i1 %t70, label %dc.capsule31, label %dc.checked33
+dc.capsule31:
+ %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key
+ %t72 = load ptr, ptr %t71
+ %t73 = icmp eq ptr %t72, @sc_cs_3728566007289652
+ br i1 %t73, label %dc.exact32, label %dc.checked33
+dc.exact32:
+ %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr
+ %t77 = load ptr, ptr %t76
+ %t78 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t77)
+ store ptr %t78, ptr %s68
+ br label %dc.done34
+dc.checked33:
+ %t79 = call ptr @sc_dc_100(ptr %t67, ptr null)
+ store ptr %t79, ptr %s68
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u35, label %exc.k36
+exc.u35:
+ ret ptr null
+exc.k36:
+ br label %dc.done34
+dc.done34:
+ %t83 = load ptr, ptr %s68
+ ret ptr %t83
+if.j29:
+ %t84 = load ptr, ptr %sc_l_this_0
+ %t85 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryFileSink(ptr %t84)
+ %t86 = load i32, ptr %exc.cell
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t85)
+ ret ptr null
+exc.k38:
+ ret ptr %t85
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m4_MemoryFileSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryFileSink(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m4.MemoryFileSink.write
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryFileSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m4_MemoryFileSink_write(ptr %t5, ptr %t9)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write(ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file() #0 { ; %method.value:%%m4.MemoryFileSink.file
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m4_MemoryFileSink(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m4_MemoryFileSink_file(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t5)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m0_GenDispatch(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m0.GenDispatch
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenDispatch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m0_GenDispatch(ptr %p0)
+ call void @sc_release__x25_m0_GenDispatch(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m0_GenFetch(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m0.GenFetch
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m0_GenFetch()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m0_GenFetch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m0_GenFetch(ptr %p0)
+ call void @sc_release__x25_m0_GenFetch(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m1_UpgradeDispatch(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m1.UpgradeDispatch
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m1_UpgradeDispatch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m1_UpgradeDispatch(ptr %p0)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_NodeResponseSink(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m2.NodeResponseSink
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m2_NodeResponseSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m2_NodeResponseSink(ptr %p0)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteRequest(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m3.LiteRequest
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteRequest(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteRequest(ptr %p0)
+ call void @sc_release__x25_m3_LiteRequest(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m5.App
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t4, i64 0, i32 18
+ %t6 = load ptr, ptr %t5, !tbaa !204
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = call ptr @sc_f__x25_prototype_data__x25_m5_App()
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @scr_dyn_obj_create(ptr %t10)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t14
+if.j3:
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t18, i64 0, i32 18
+ %t20 = load ptr, ptr %t19, !tbaa !204
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ ret ptr %t21
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m5_App(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_App(ptr %p0)
+ call void @sc_release__x25_m5_App(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %p_sc_l_p_0) #0 { ; %dyn.class.readPropertiesOrEmpty
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s55 = alloca ptr
+ %s76 = alloca i1
+ %s88 = alloca ptr
+ %s120 = alloca ptr
+ %s141 = alloca i1
+ %s153 = alloca ptr
+ %s185 = alloca ptr
+ %s206 = alloca i1
+ %s218 = alloca ptr
+ %s250 = alloca ptr
+ %s271 = alloca i1
+ %s283 = alloca ptr
+ %s315 = alloca ptr
+ %s336 = alloca i1
+ %s348 = alloca ptr
+ %s380 = alloca ptr
+ %s401 = alloca i1
+ %s413 = alloca ptr
+ %s445 = alloca ptr
+ %s466 = alloca i1
+ %s478 = alloca ptr
+ %s510 = alloca ptr
+ %s531 = alloca i1
+ %s541 = alloca i1
+ %s544 = alloca ptr
+ %s570 = alloca ptr
+ %s602 = alloca ptr
+ %s623 = alloca i1
+ %s635 = alloca ptr
+ %s658 = alloca ptr
+ %s681 = alloca ptr
+ %s698 = alloca ptr
+ %s719 = alloca i1
+ %s729 = alloca i1
+ %s732 = alloca ptr
+ %s758 = alloca ptr
+ %s790 = alloca ptr
+ %s811 = alloca i1
+ %s821 = alloca i1
+ %s824 = alloca ptr
+ %s850 = alloca ptr
+ %s873 = alloca ptr
+ %s896 = alloca ptr
+ %s913 = alloca ptr
+ %s934 = alloca i1
+ %s946 = alloca ptr
+ %s969 = alloca ptr
+ %s992 = alloca ptr
+ %s995 = alloca ptr
+ %s1018 = alloca ptr
+ %s1040 = alloca ptr
+ %s1061 = alloca i1
+ %s1073 = alloca ptr
+ %s1105 = alloca ptr
+ %s1126 = alloca i1
+ %s1138 = alloca ptr
+ %s1170 = alloca ptr
+ %s1191 = alloca i1
+ %s1203 = alloca ptr
+ %s1228 = alloca ptr
+ %s1249 = alloca i1
+ %s1261 = alloca ptr
+ %s1293 = alloca ptr
+ %s1314 = alloca i1
+ %s1326 = alloca ptr
+ %s1351 = alloca ptr
+ %s1372 = alloca i1
+ %s1382 = alloca i1
+ %s1385 = alloca ptr
+ %s1411 = alloca ptr
+ %s1443 = alloca ptr
+ %s1464 = alloca i1
+ %s1476 = alloca ptr
+ %s1499 = alloca ptr
+ %s1522 = alloca ptr
+ %s1539 = alloca ptr
+ %s1560 = alloca i1
+ %s1572 = alloca ptr
+ %s1604 = alloca ptr
+ %s1625 = alloca i1
+ %s1635 = alloca i1
+ %s1638 = alloca ptr
+ %s1664 = alloca ptr
+ %s1696 = alloca ptr
+ %s1717 = alloca i1
+ %s1729 = alloca ptr
+ %s1752 = alloca ptr
+ %s1775 = alloca ptr
+ %s1792 = alloca ptr
+ %s1813 = alloca i1
+ %s1823 = alloca i1
+ %s1826 = alloca ptr
+ %s1852 = alloca ptr
+ %s1884 = alloca ptr
+ %s1905 = alloca i1
+ %s1915 = alloca i1
+ %s1918 = alloca ptr
+ %s1944 = alloca ptr
+ %s1967 = alloca ptr
+ %s1990 = alloca ptr
+ %s2007 = alloca ptr
+ %s2028 = alloca i1
+ %s2038 = alloca i1
+ %s2041 = alloca ptr
+ %s2067 = alloca ptr
+ %s2099 = alloca ptr
+ %s2120 = alloca i1
+ %s2132 = alloca ptr
+ %s2155 = alloca ptr
+ %s2178 = alloca ptr
+ %s2181 = alloca ptr
+ %s2204 = alloca ptr
+ %s2216 = alloca ptr
+ %s2239 = alloca ptr
+ %s2257 = alloca ptr
+ %s2278 = alloca i1
+ %s2290 = alloca ptr
+ %s2322 = alloca ptr
+ %s2343 = alloca i1
+ %s2355 = alloca ptr
+ %s2380 = alloca ptr
+ %s2401 = alloca i1
+ %s2411 = alloca i1
+ %s2414 = alloca ptr
+ %s2440 = alloca ptr
+ %s2472 = alloca ptr
+ %s2493 = alloca i1
+ %s2505 = alloca ptr
+ %s2528 = alloca ptr
+ %s2551 = alloca ptr
+ %s2568 = alloca ptr
+ %s2589 = alloca i1
+ %s2601 = alloca ptr
+ %s2633 = alloca ptr
+ %s2654 = alloca i1
+ %s2666 = alloca ptr
+ %s2698 = alloca ptr
+ %s2719 = alloca i1
+ %s2731 = alloca ptr
+ %s2763 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @scr_dyn_release(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_30(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_dyn_release(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t38, i64 0, i32 2
+ %t40 = load ptr, ptr %t39, !tbaa !204
+ %t41 = getelementptr inbounds i8, ptr %t40, i64 8 ; ->kind
+ %t42 = load i32, ptr %t41
+ %t43 = icmp eq i32 %t42, 6
+ call void @scr_dyn_release(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ br i1 %t43, label %if.t18, label %if.j19
+if.t18:
+ %t44 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxResCore()
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_dyn_release(ptr %t44)
+ br label %exc.cleanup2
+exc.k21:
+ %t48 = call ptr @scr_dyn_obj_create(ptr %t44)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_dyn_release(ptr %t44)
+ call void @scr_dyn_release(ptr %t48)
+ br label %exc.cleanup2
+exc.k23:
+ call void @scr_dyn_release(ptr %t44)
+ %t52 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t52)
+ ret ptr %t48
+if.j19:
+ %t53 = load ptr, ptr %sc_l_p_0
+ %t54 = call ptr @sc_rc_retain_dyn(ptr %t53)
+ %t56 = icmp ne ptr %t54, null
+ br i1 %t56, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t61 = getelementptr inbounds i8, ptr %t54, i64 8 ; ->kind
+ %t62 = load i32, ptr %t61
+ %t57 = icmp eq i32 %t62, 12
+ br i1 %t57, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t58 = getelementptr inbounds i8, ptr %t54, i64 40 ; ->v.typed_ref.type_key
+ %t59 = load ptr, ptr %t58
+ %t60 = icmp eq ptr %t59, @sc_cs_1746033898805369
+ br i1 %t60, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t63 = getelementptr inbounds i8, ptr %t54, i64 16 ; ->v.typed_ref.ptr
+ %t64 = load ptr, ptr %t63
+ %t65 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t64)
+ store ptr %t65, ptr %s55
+ br label %dc.done28
+dc.checked27:
+ %t66 = call ptr @sc_dc_30(ptr %t54, ptr null)
+ store ptr %t66, ptr %s55
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @scr_dyn_release(ptr %t54)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t70 = load ptr, ptr %s55
+ %t71 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t70, i64 0, i32 2
+ %t72 = load ptr, ptr %t71, !tbaa !204
+ %t73 = call ptr @sc_rc_retain_dyn(ptr %t72)
+ call void @scr_dyn_release(ptr %t54)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t70)
+ %t74 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t74)
+ ret ptr %t73
+if.j10:
+ %t75 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s76
+ %t77 = icmp ne ptr %t75, null
+ br i1 %t77, label %brand.inspect31, label %brand.done33
+brand.inspect31:
+ %t78 = getelementptr inbounds i8, ptr %t75, i64 8 ; ->kind
+ %t79 = load i32, ptr %t78
+ %t80 = icmp eq i32 %t79, 12
+ br i1 %t80, label %brand.capsule32, label %brand.done33
+brand.capsule32:
+ %t81 = getelementptr inbounds i8, ptr %t75, i64 40 ; ->v.typed_ref.type_key
+ %t82 = load ptr, ptr %t81
+ %t83 = icmp eq ptr %t82, @sc_cs_3456310594719780
+ store i1 true, ptr %s76
+ br i1 %t83, label %brand.done33, label %brand.compare34
+brand.compare34:
+ %t84 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t75, ptr @sc_lit_3456310594719780)
+ store i1 %t84, ptr %s76
+ br label %brand.done33
+brand.done33:
+ %t85 = load i1, ptr %s76
+ br i1 %t85, label %if.t35, label %if.j36
+if.t35:
+ %t86 = load ptr, ptr %sc_l_p_0
+ %t87 = call ptr @sc_rc_retain_dyn(ptr %t86)
+ %t89 = icmp ne ptr %t87, null
+ br i1 %t89, label %dc.inspect37, label %dc.checked40
+dc.inspect37:
+ %t94 = getelementptr inbounds i8, ptr %t87, i64 8 ; ->kind
+ %t95 = load i32, ptr %t94
+ %t90 = icmp eq i32 %t95, 12
+ br i1 %t90, label %dc.capsule38, label %dc.checked40
+dc.capsule38:
+ %t91 = getelementptr inbounds i8, ptr %t87, i64 40 ; ->v.typed_ref.type_key
+ %t92 = load ptr, ptr %t91
+ %t93 = icmp eq ptr %t92, @sc_cs_3456310594719780
+ br i1 %t93, label %dc.exact39, label %dc.checked40
+dc.exact39:
+ %t96 = getelementptr inbounds i8, ptr %t87, i64 16 ; ->v.typed_ref.ptr
+ %t97 = load ptr, ptr %t96
+ %t98 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t97)
+ store ptr %t98, ptr %s88
+ br label %dc.done41
+dc.checked40:
+ %t99 = call ptr @sc_dc_99(ptr %t87, ptr null)
+ store ptr %t99, ptr %s88
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_dyn_release(ptr %t87)
+ br label %exc.cleanup2
+exc.k43:
+ br label %dc.done41
+dc.done41:
+ %t103 = load ptr, ptr %s88
+ %t104 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t103, i64 0, i32 2
+ %t105 = load ptr, ptr %t104, !tbaa !204
+ %t106 = getelementptr inbounds i8, ptr %t105, i64 8 ; ->kind
+ %t107 = load i32, ptr %t106
+ %t108 = icmp eq i32 %t107, 6
+ call void @scr_dyn_release(ptr %t87)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t103)
+ br i1 %t108, label %if.t44, label %if.j45
+if.t44:
+ %t109 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @scr_dyn_release(ptr %t109)
+ br label %exc.cleanup2
+exc.k47:
+ %t113 = call ptr @scr_dyn_obj_create(ptr %t109)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_dyn_release(ptr %t109)
+ call void @scr_dyn_release(ptr %t113)
+ br label %exc.cleanup2
+exc.k49:
+ call void @scr_dyn_release(ptr %t109)
+ %t117 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t117)
+ ret ptr %t113
+if.j45:
+ %t118 = load ptr, ptr %sc_l_p_0
+ %t119 = call ptr @sc_rc_retain_dyn(ptr %t118)
+ %t121 = icmp ne ptr %t119, null
+ br i1 %t121, label %dc.inspect50, label %dc.checked53
+dc.inspect50:
+ %t126 = getelementptr inbounds i8, ptr %t119, i64 8 ; ->kind
+ %t127 = load i32, ptr %t126
+ %t122 = icmp eq i32 %t127, 12
+ br i1 %t122, label %dc.capsule51, label %dc.checked53
+dc.capsule51:
+ %t123 = getelementptr inbounds i8, ptr %t119, i64 40 ; ->v.typed_ref.type_key
+ %t124 = load ptr, ptr %t123
+ %t125 = icmp eq ptr %t124, @sc_cs_3456310594719780
+ br i1 %t125, label %dc.exact52, label %dc.checked53
+dc.exact52:
+ %t128 = getelementptr inbounds i8, ptr %t119, i64 16 ; ->v.typed_ref.ptr
+ %t129 = load ptr, ptr %t128
+ %t130 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t129)
+ store ptr %t130, ptr %s120
+ br label %dc.done54
+dc.checked53:
+ %t131 = call ptr @sc_dc_99(ptr %t119, ptr null)
+ store ptr %t131, ptr %s120
+ %t132 = load i32, ptr %exc.cell
+ %t133 = icmp ne i32 %t132, 0
+ %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false)
+ br i1 %t134, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @scr_dyn_release(ptr %t119)
+ br label %exc.cleanup2
+exc.k56:
+ br label %dc.done54
+dc.done54:
+ %t135 = load ptr, ptr %s120
+ %t136 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t135, i64 0, i32 2
+ %t137 = load ptr, ptr %t136, !tbaa !204
+ %t138 = call ptr @sc_rc_retain_dyn(ptr %t137)
+ call void @scr_dyn_release(ptr %t119)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t135)
+ %t139 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t139)
+ ret ptr %t138
+if.j36:
+ %t140 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s141
+ %t142 = icmp ne ptr %t140, null
+ br i1 %t142, label %brand.inspect57, label %brand.done59
+brand.inspect57:
+ %t143 = getelementptr inbounds i8, ptr %t140, i64 8 ; ->kind
+ %t144 = load i32, ptr %t143
+ %t145 = icmp eq i32 %t144, 12
+ br i1 %t145, label %brand.capsule58, label %brand.done59
+brand.capsule58:
+ %t146 = getelementptr inbounds i8, ptr %t140, i64 40 ; ->v.typed_ref.type_key
+ %t147 = load ptr, ptr %t146
+ %t148 = icmp eq ptr %t147, @sc_cs_3728566007289652
+ store i1 true, ptr %s141
+ br i1 %t148, label %brand.done59, label %brand.compare60
+brand.compare60:
+ %t149 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t140, ptr @sc_lit_3728566007289652)
+ store i1 %t149, ptr %s141
+ br label %brand.done59
+brand.done59:
+ %t150 = load i1, ptr %s141
+ br i1 %t150, label %if.t61, label %if.j62
+if.t61:
+ %t151 = load ptr, ptr %sc_l_p_0
+ %t152 = call ptr @sc_rc_retain_dyn(ptr %t151)
+ %t154 = icmp ne ptr %t152, null
+ br i1 %t154, label %dc.inspect63, label %dc.checked66
+dc.inspect63:
+ %t159 = getelementptr inbounds i8, ptr %t152, i64 8 ; ->kind
+ %t160 = load i32, ptr %t159
+ %t155 = icmp eq i32 %t160, 12
+ br i1 %t155, label %dc.capsule64, label %dc.checked66
+dc.capsule64:
+ %t156 = getelementptr inbounds i8, ptr %t152, i64 40 ; ->v.typed_ref.type_key
+ %t157 = load ptr, ptr %t156
+ %t158 = icmp eq ptr %t157, @sc_cs_3728566007289652
+ br i1 %t158, label %dc.exact65, label %dc.checked66
+dc.exact65:
+ %t161 = getelementptr inbounds i8, ptr %t152, i64 16 ; ->v.typed_ref.ptr
+ %t162 = load ptr, ptr %t161
+ %t163 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t162)
+ store ptr %t163, ptr %s153
+ br label %dc.done67
+dc.checked66:
+ %t164 = call ptr @sc_dc_100(ptr %t152, ptr null)
+ store ptr %t164, ptr %s153
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @scr_dyn_release(ptr %t152)
+ br label %exc.cleanup2
+exc.k69:
+ br label %dc.done67
+dc.done67:
+ %t168 = load ptr, ptr %s153
+ %t169 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t168, i64 0, i32 2
+ %t170 = load ptr, ptr %t169, !tbaa !204
+ %t171 = getelementptr inbounds i8, ptr %t170, i64 8 ; ->kind
+ %t172 = load i32, ptr %t171
+ %t173 = icmp eq i32 %t172, 6
+ call void @scr_dyn_release(ptr %t152)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t168)
+ br i1 %t173, label %if.t70, label %if.j71
+if.t70:
+ %t174 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t175 = load i32, ptr %exc.cell
+ %t176 = icmp ne i32 %t175, 0
+ %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false)
+ br i1 %t177, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @scr_dyn_release(ptr %t174)
+ br label %exc.cleanup2
+exc.k73:
+ %t178 = call ptr @scr_dyn_obj_create(ptr %t174)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @scr_dyn_release(ptr %t174)
+ call void @scr_dyn_release(ptr %t178)
+ br label %exc.cleanup2
+exc.k75:
+ call void @scr_dyn_release(ptr %t174)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t182)
+ ret ptr %t178
+if.j71:
+ %t183 = load ptr, ptr %sc_l_p_0
+ %t184 = call ptr @sc_rc_retain_dyn(ptr %t183)
+ %t186 = icmp ne ptr %t184, null
+ br i1 %t186, label %dc.inspect76, label %dc.checked79
+dc.inspect76:
+ %t191 = getelementptr inbounds i8, ptr %t184, i64 8 ; ->kind
+ %t192 = load i32, ptr %t191
+ %t187 = icmp eq i32 %t192, 12
+ br i1 %t187, label %dc.capsule77, label %dc.checked79
+dc.capsule77:
+ %t188 = getelementptr inbounds i8, ptr %t184, i64 40 ; ->v.typed_ref.type_key
+ %t189 = load ptr, ptr %t188
+ %t190 = icmp eq ptr %t189, @sc_cs_3728566007289652
+ br i1 %t190, label %dc.exact78, label %dc.checked79
+dc.exact78:
+ %t193 = getelementptr inbounds i8, ptr %t184, i64 16 ; ->v.typed_ref.ptr
+ %t194 = load ptr, ptr %t193
+ %t195 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t194)
+ store ptr %t195, ptr %s185
+ br label %dc.done80
+dc.checked79:
+ %t196 = call ptr @sc_dc_100(ptr %t184, ptr null)
+ store ptr %t196, ptr %s185
+ %t197 = load i32, ptr %exc.cell
+ %t198 = icmp ne i32 %t197, 0
+ %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false)
+ br i1 %t199, label %exc.u81, label %exc.k82
+exc.u81:
+ call void @scr_dyn_release(ptr %t184)
+ br label %exc.cleanup2
+exc.k82:
+ br label %dc.done80
+dc.done80:
+ %t200 = load ptr, ptr %s185
+ %t201 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t200, i64 0, i32 2
+ %t202 = load ptr, ptr %t201, !tbaa !204
+ %t203 = call ptr @sc_rc_retain_dyn(ptr %t202)
+ call void @scr_dyn_release(ptr %t184)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t200)
+ %t204 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t204)
+ ret ptr %t203
+if.j62:
+ %t205 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s206
+ %t207 = icmp ne ptr %t205, null
+ br i1 %t207, label %brand.inspect83, label %brand.done85
+brand.inspect83:
+ %t208 = getelementptr inbounds i8, ptr %t205, i64 8 ; ->kind
+ %t209 = load i32, ptr %t208
+ %t210 = icmp eq i32 %t209, 12
+ br i1 %t210, label %brand.capsule84, label %brand.done85
+brand.capsule84:
+ %t211 = getelementptr inbounds i8, ptr %t205, i64 40 ; ->v.typed_ref.type_key
+ %t212 = load ptr, ptr %t211
+ %t213 = icmp eq ptr %t212, @sc_cs_4041255434968695
+ store i1 true, ptr %s206
+ br i1 %t213, label %brand.done85, label %brand.compare86
+brand.compare86:
+ %t214 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t205, ptr @sc_lit_4041255434968695)
+ store i1 %t214, ptr %s206
+ br label %brand.done85
+brand.done85:
+ %t215 = load i1, ptr %s206
+ br i1 %t215, label %if.t87, label %if.j88
+if.t87:
+ %t216 = load ptr, ptr %sc_l_p_0
+ %t217 = call ptr @sc_rc_retain_dyn(ptr %t216)
+ %t219 = icmp ne ptr %t217, null
+ br i1 %t219, label %dc.inspect89, label %dc.checked92
+dc.inspect89:
+ %t224 = getelementptr inbounds i8, ptr %t217, i64 8 ; ->kind
+ %t225 = load i32, ptr %t224
+ %t220 = icmp eq i32 %t225, 12
+ br i1 %t220, label %dc.capsule90, label %dc.checked92
+dc.capsule90:
+ %t221 = getelementptr inbounds i8, ptr %t217, i64 40 ; ->v.typed_ref.type_key
+ %t222 = load ptr, ptr %t221
+ %t223 = icmp eq ptr %t222, @sc_cs_4041255434968695
+ br i1 %t223, label %dc.exact91, label %dc.checked92
+dc.exact91:
+ %t226 = getelementptr inbounds i8, ptr %t217, i64 16 ; ->v.typed_ref.ptr
+ %t227 = load ptr, ptr %t226
+ %t228 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t227)
+ store ptr %t228, ptr %s218
+ br label %dc.done93
+dc.checked92:
+ %t229 = call ptr @sc_dc_101(ptr %t217, ptr null)
+ store ptr %t229, ptr %s218
+ %t230 = load i32, ptr %exc.cell
+ %t231 = icmp ne i32 %t230, 0
+ %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false)
+ br i1 %t232, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @scr_dyn_release(ptr %t217)
+ br label %exc.cleanup2
+exc.k95:
+ br label %dc.done93
+dc.done93:
+ %t233 = load ptr, ptr %s218
+ %t234 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t233, i64 0, i32 9
+ %t235 = load ptr, ptr %t234, !tbaa !204
+ %t236 = getelementptr inbounds i8, ptr %t235, i64 8 ; ->kind
+ %t237 = load i32, ptr %t236
+ %t238 = icmp eq i32 %t237, 6
+ call void @scr_dyn_release(ptr %t217)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t233)
+ br i1 %t238, label %if.t96, label %if.j97
+if.t96:
+ %t239 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest()
+ %t240 = load i32, ptr %exc.cell
+ %t241 = icmp ne i32 %t240, 0
+ %t242 = call i1 @llvm.expect.i1(i1 %t241, i1 false)
+ br i1 %t242, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @scr_dyn_release(ptr %t239)
+ br label %exc.cleanup2
+exc.k99:
+ %t243 = call ptr @scr_dyn_obj_create(ptr %t239)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @scr_dyn_release(ptr %t239)
+ call void @scr_dyn_release(ptr %t243)
+ br label %exc.cleanup2
+exc.k101:
+ call void @scr_dyn_release(ptr %t239)
+ %t247 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t247)
+ ret ptr %t243
+if.j97:
+ %t248 = load ptr, ptr %sc_l_p_0
+ %t249 = call ptr @sc_rc_retain_dyn(ptr %t248)
+ %t251 = icmp ne ptr %t249, null
+ br i1 %t251, label %dc.inspect102, label %dc.checked105
+dc.inspect102:
+ %t256 = getelementptr inbounds i8, ptr %t249, i64 8 ; ->kind
+ %t257 = load i32, ptr %t256
+ %t252 = icmp eq i32 %t257, 12
+ br i1 %t252, label %dc.capsule103, label %dc.checked105
+dc.capsule103:
+ %t253 = getelementptr inbounds i8, ptr %t249, i64 40 ; ->v.typed_ref.type_key
+ %t254 = load ptr, ptr %t253
+ %t255 = icmp eq ptr %t254, @sc_cs_4041255434968695
+ br i1 %t255, label %dc.exact104, label %dc.checked105
+dc.exact104:
+ %t258 = getelementptr inbounds i8, ptr %t249, i64 16 ; ->v.typed_ref.ptr
+ %t259 = load ptr, ptr %t258
+ %t260 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t259)
+ store ptr %t260, ptr %s250
+ br label %dc.done106
+dc.checked105:
+ %t261 = call ptr @sc_dc_101(ptr %t249, ptr null)
+ store ptr %t261, ptr %s250
+ %t262 = load i32, ptr %exc.cell
+ %t263 = icmp ne i32 %t262, 0
+ %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false)
+ br i1 %t264, label %exc.u107, label %exc.k108
+exc.u107:
+ call void @scr_dyn_release(ptr %t249)
+ br label %exc.cleanup2
+exc.k108:
+ br label %dc.done106
+dc.done106:
+ %t265 = load ptr, ptr %s250
+ %t266 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t265, i64 0, i32 9
+ %t267 = load ptr, ptr %t266, !tbaa !204
+ %t268 = call ptr @sc_rc_retain_dyn(ptr %t267)
+ call void @scr_dyn_release(ptr %t249)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t265)
+ %t269 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t269)
+ ret ptr %t268
+if.j88:
+ %t270 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s271
+ %t272 = icmp ne ptr %t270, null
+ br i1 %t272, label %brand.inspect109, label %brand.done111
+brand.inspect109:
+ %t273 = getelementptr inbounds i8, ptr %t270, i64 8 ; ->kind
+ %t274 = load i32, ptr %t273
+ %t275 = icmp eq i32 %t274, 12
+ br i1 %t275, label %brand.capsule110, label %brand.done111
+brand.capsule110:
+ %t276 = getelementptr inbounds i8, ptr %t270, i64 40 ; ->v.typed_ref.type_key
+ %t277 = load ptr, ptr %t276
+ %t278 = icmp eq ptr %t277, @sc_cs_3326437563644705
+ store i1 true, ptr %s271
+ br i1 %t278, label %brand.done111, label %brand.compare112
+brand.compare112:
+ %t279 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t270, ptr @sc_lit_3326437563644705)
+ store i1 %t279, ptr %s271
+ br label %brand.done111
+brand.done111:
+ %t280 = load i1, ptr %s271
+ br i1 %t280, label %if.t113, label %if.j114
+if.t113:
+ %t281 = load ptr, ptr %sc_l_p_0
+ %t282 = call ptr @sc_rc_retain_dyn(ptr %t281)
+ %t284 = icmp ne ptr %t282, null
+ br i1 %t284, label %dc.inspect115, label %dc.checked118
+dc.inspect115:
+ %t289 = getelementptr inbounds i8, ptr %t282, i64 8 ; ->kind
+ %t290 = load i32, ptr %t289
+ %t285 = icmp eq i32 %t290, 12
+ br i1 %t285, label %dc.capsule116, label %dc.checked118
+dc.capsule116:
+ %t286 = getelementptr inbounds i8, ptr %t282, i64 40 ; ->v.typed_ref.type_key
+ %t287 = load ptr, ptr %t286
+ %t288 = icmp eq ptr %t287, @sc_cs_3326437563644705
+ br i1 %t288, label %dc.exact117, label %dc.checked118
+dc.exact117:
+ %t291 = getelementptr inbounds i8, ptr %t282, i64 16 ; ->v.typed_ref.ptr
+ %t292 = load ptr, ptr %t291
+ %t293 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t292)
+ store ptr %t293, ptr %s283
+ br label %dc.done119
+dc.checked118:
+ %t294 = call ptr @sc_dc_102(ptr %t282, ptr null)
+ store ptr %t294, ptr %s283
+ %t295 = load i32, ptr %exc.cell
+ %t296 = icmp ne i32 %t295, 0
+ %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false)
+ br i1 %t297, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @scr_dyn_release(ptr %t282)
+ br label %exc.cleanup2
+exc.k121:
+ br label %dc.done119
+dc.done119:
+ %t298 = load ptr, ptr %s283
+ %t299 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t298, i64 0, i32 2
+ %t300 = load ptr, ptr %t299, !tbaa !204
+ %t301 = getelementptr inbounds i8, ptr %t300, i64 8 ; ->kind
+ %t302 = load i32, ptr %t301
+ %t303 = icmp eq i32 %t302, 6
+ call void @scr_dyn_release(ptr %t282)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t298)
+ br i1 %t303, label %if.t122, label %if.j123
+if.t122:
+ %t304 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @scr_dyn_release(ptr %t304)
+ br label %exc.cleanup2
+exc.k125:
+ %t308 = call ptr @scr_dyn_obj_create(ptr %t304)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @scr_dyn_release(ptr %t304)
+ call void @scr_dyn_release(ptr %t308)
+ br label %exc.cleanup2
+exc.k127:
+ call void @scr_dyn_release(ptr %t304)
+ %t312 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t312)
+ ret ptr %t308
+if.j123:
+ %t313 = load ptr, ptr %sc_l_p_0
+ %t314 = call ptr @sc_rc_retain_dyn(ptr %t313)
+ %t316 = icmp ne ptr %t314, null
+ br i1 %t316, label %dc.inspect128, label %dc.checked131
+dc.inspect128:
+ %t321 = getelementptr inbounds i8, ptr %t314, i64 8 ; ->kind
+ %t322 = load i32, ptr %t321
+ %t317 = icmp eq i32 %t322, 12
+ br i1 %t317, label %dc.capsule129, label %dc.checked131
+dc.capsule129:
+ %t318 = getelementptr inbounds i8, ptr %t314, i64 40 ; ->v.typed_ref.type_key
+ %t319 = load ptr, ptr %t318
+ %t320 = icmp eq ptr %t319, @sc_cs_3326437563644705
+ br i1 %t320, label %dc.exact130, label %dc.checked131
+dc.exact130:
+ %t323 = getelementptr inbounds i8, ptr %t314, i64 16 ; ->v.typed_ref.ptr
+ %t324 = load ptr, ptr %t323
+ %t325 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t324)
+ store ptr %t325, ptr %s315
+ br label %dc.done132
+dc.checked131:
+ %t326 = call ptr @sc_dc_102(ptr %t314, ptr null)
+ store ptr %t326, ptr %s315
+ %t327 = load i32, ptr %exc.cell
+ %t328 = icmp ne i32 %t327, 0
+ %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false)
+ br i1 %t329, label %exc.u133, label %exc.k134
+exc.u133:
+ call void @scr_dyn_release(ptr %t314)
+ br label %exc.cleanup2
+exc.k134:
+ br label %dc.done132
+dc.done132:
+ %t330 = load ptr, ptr %s315
+ %t331 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t330, i64 0, i32 2
+ %t332 = load ptr, ptr %t331, !tbaa !204
+ %t333 = call ptr @sc_rc_retain_dyn(ptr %t332)
+ call void @scr_dyn_release(ptr %t314)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t330)
+ %t334 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t334)
+ ret ptr %t333
+if.j114:
+ %t335 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s336
+ %t337 = icmp ne ptr %t335, null
+ br i1 %t337, label %brand.inspect135, label %brand.done137
+brand.inspect135:
+ %t338 = getelementptr inbounds i8, ptr %t335, i64 8 ; ->kind
+ %t339 = load i32, ptr %t338
+ %t340 = icmp eq i32 %t339, 12
+ br i1 %t340, label %brand.capsule136, label %brand.done137
+brand.capsule136:
+ %t341 = getelementptr inbounds i8, ptr %t335, i64 40 ; ->v.typed_ref.type_key
+ %t342 = load ptr, ptr %t341
+ %t343 = icmp eq ptr %t342, @sc_cs_3870085012327510
+ store i1 true, ptr %s336
+ br i1 %t343, label %brand.done137, label %brand.compare138
+brand.compare138:
+ %t344 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t335, ptr @sc_lit_3870085012327510)
+ store i1 %t344, ptr %s336
+ br label %brand.done137
+brand.done137:
+ %t345 = load i1, ptr %s336
+ br i1 %t345, label %if.t139, label %if.j140
+if.t139:
+ %t346 = load ptr, ptr %sc_l_p_0
+ %t347 = call ptr @sc_rc_retain_dyn(ptr %t346)
+ %t349 = icmp ne ptr %t347, null
+ br i1 %t349, label %dc.inspect141, label %dc.checked144
+dc.inspect141:
+ %t354 = getelementptr inbounds i8, ptr %t347, i64 8 ; ->kind
+ %t355 = load i32, ptr %t354
+ %t350 = icmp eq i32 %t355, 12
+ br i1 %t350, label %dc.capsule142, label %dc.checked144
+dc.capsule142:
+ %t351 = getelementptr inbounds i8, ptr %t347, i64 40 ; ->v.typed_ref.type_key
+ %t352 = load ptr, ptr %t351
+ %t353 = icmp eq ptr %t352, @sc_cs_3870085012327510
+ br i1 %t353, label %dc.exact143, label %dc.checked144
+dc.exact143:
+ %t356 = getelementptr inbounds i8, ptr %t347, i64 16 ; ->v.typed_ref.ptr
+ %t357 = load ptr, ptr %t356
+ %t358 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t357)
+ store ptr %t358, ptr %s348
+ br label %dc.done145
+dc.checked144:
+ %t359 = call ptr @sc_dc_94(ptr %t347, ptr null)
+ store ptr %t359, ptr %s348
+ %t360 = load i32, ptr %exc.cell
+ %t361 = icmp ne i32 %t360, 0
+ %t362 = call i1 @llvm.expect.i1(i1 %t361, i1 false)
+ br i1 %t362, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @scr_dyn_release(ptr %t347)
+ br label %exc.cleanup2
+exc.k147:
+ br label %dc.done145
+dc.done145:
+ %t363 = load ptr, ptr %s348
+ %t364 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t363, i64 0, i32 1
+ %t365 = load ptr, ptr %t364, !tbaa !204
+ %t366 = getelementptr inbounds i8, ptr %t365, i64 8 ; ->kind
+ %t367 = load i32, ptr %t366
+ %t368 = icmp eq i32 %t367, 6
+ call void @scr_dyn_release(ptr %t347)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t363)
+ br i1 %t368, label %if.t148, label %if.j149
+if.t148:
+ %t369 = call ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch()
+ %t370 = load i32, ptr %exc.cell
+ %t371 = icmp ne i32 %t370, 0
+ %t372 = call i1 @llvm.expect.i1(i1 %t371, i1 false)
+ br i1 %t372, label %exc.u150, label %exc.k151
+exc.u150:
+ call void @scr_dyn_release(ptr %t369)
+ br label %exc.cleanup2
+exc.k151:
+ %t373 = call ptr @scr_dyn_obj_create(ptr %t369)
+ %t374 = load i32, ptr %exc.cell
+ %t375 = icmp ne i32 %t374, 0
+ %t376 = call i1 @llvm.expect.i1(i1 %t375, i1 false)
+ br i1 %t376, label %exc.u152, label %exc.k153
+exc.u152:
+ call void @scr_dyn_release(ptr %t369)
+ call void @scr_dyn_release(ptr %t373)
+ br label %exc.cleanup2
+exc.k153:
+ call void @scr_dyn_release(ptr %t369)
+ %t377 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t377)
+ ret ptr %t373
+if.j149:
+ %t378 = load ptr, ptr %sc_l_p_0
+ %t379 = call ptr @sc_rc_retain_dyn(ptr %t378)
+ %t381 = icmp ne ptr %t379, null
+ br i1 %t381, label %dc.inspect154, label %dc.checked157
+dc.inspect154:
+ %t386 = getelementptr inbounds i8, ptr %t379, i64 8 ; ->kind
+ %t387 = load i32, ptr %t386
+ %t382 = icmp eq i32 %t387, 12
+ br i1 %t382, label %dc.capsule155, label %dc.checked157
+dc.capsule155:
+ %t383 = getelementptr inbounds i8, ptr %t379, i64 40 ; ->v.typed_ref.type_key
+ %t384 = load ptr, ptr %t383
+ %t385 = icmp eq ptr %t384, @sc_cs_3870085012327510
+ br i1 %t385, label %dc.exact156, label %dc.checked157
+dc.exact156:
+ %t388 = getelementptr inbounds i8, ptr %t379, i64 16 ; ->v.typed_ref.ptr
+ %t389 = load ptr, ptr %t388
+ %t390 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t389)
+ store ptr %t390, ptr %s380
+ br label %dc.done158
+dc.checked157:
+ %t391 = call ptr @sc_dc_94(ptr %t379, ptr null)
+ store ptr %t391, ptr %s380
+ %t392 = load i32, ptr %exc.cell
+ %t393 = icmp ne i32 %t392, 0
+ %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false)
+ br i1 %t394, label %exc.u159, label %exc.k160
+exc.u159:
+ call void @scr_dyn_release(ptr %t379)
+ br label %exc.cleanup2
+exc.k160:
+ br label %dc.done158
+dc.done158:
+ %t395 = load ptr, ptr %s380
+ %t396 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t395, i64 0, i32 1
+ %t397 = load ptr, ptr %t396, !tbaa !204
+ %t398 = call ptr @sc_rc_retain_dyn(ptr %t397)
+ call void @scr_dyn_release(ptr %t379)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t395)
+ %t399 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t399)
+ ret ptr %t398
+if.j140:
+ %t400 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s401
+ %t402 = icmp ne ptr %t400, null
+ br i1 %t402, label %brand.inspect161, label %brand.done163
+brand.inspect161:
+ %t403 = getelementptr inbounds i8, ptr %t400, i64 8 ; ->kind
+ %t404 = load i32, ptr %t403
+ %t405 = icmp eq i32 %t404, 12
+ br i1 %t405, label %brand.capsule162, label %brand.done163
+brand.capsule162:
+ %t406 = getelementptr inbounds i8, ptr %t400, i64 40 ; ->v.typed_ref.type_key
+ %t407 = load ptr, ptr %t406
+ %t408 = icmp eq ptr %t407, @sc_cs_2798802470260116
+ store i1 true, ptr %s401
+ br i1 %t408, label %brand.done163, label %brand.compare164
+brand.compare164:
+ %t409 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t400, ptr @sc_lit_2798802470260116)
+ store i1 %t409, ptr %s401
+ br label %brand.done163
+brand.done163:
+ %t410 = load i1, ptr %s401
+ br i1 %t410, label %if.t165, label %if.j166
+if.t165:
+ %t411 = load ptr, ptr %sc_l_p_0
+ %t412 = call ptr @sc_rc_retain_dyn(ptr %t411)
+ %t414 = icmp ne ptr %t412, null
+ br i1 %t414, label %dc.inspect167, label %dc.checked170
+dc.inspect167:
+ %t419 = getelementptr inbounds i8, ptr %t412, i64 8 ; ->kind
+ %t420 = load i32, ptr %t419
+ %t415 = icmp eq i32 %t420, 12
+ br i1 %t415, label %dc.capsule168, label %dc.checked170
+dc.capsule168:
+ %t416 = getelementptr inbounds i8, ptr %t412, i64 40 ; ->v.typed_ref.type_key
+ %t417 = load ptr, ptr %t416
+ %t418 = icmp eq ptr %t417, @sc_cs_2798802470260116
+ br i1 %t418, label %dc.exact169, label %dc.checked170
+dc.exact169:
+ %t421 = getelementptr inbounds i8, ptr %t412, i64 16 ; ->v.typed_ref.ptr
+ %t422 = load ptr, ptr %t421
+ %t423 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t422)
+ store ptr %t423, ptr %s413
+ br label %dc.done171
+dc.checked170:
+ %t424 = call ptr @sc_dc_93(ptr %t412, ptr null)
+ store ptr %t424, ptr %s413
+ %t425 = load i32, ptr %exc.cell
+ %t426 = icmp ne i32 %t425, 0
+ %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false)
+ br i1 %t427, label %exc.u172, label %exc.k173
+exc.u172:
+ call void @scr_dyn_release(ptr %t412)
+ br label %exc.cleanup2
+exc.k173:
+ br label %dc.done171
+dc.done171:
+ %t428 = load ptr, ptr %s413
+ %t429 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t428, i64 0, i32 2
+ %t430 = load ptr, ptr %t429, !tbaa !204
+ %t431 = getelementptr inbounds i8, ptr %t430, i64 8 ; ->kind
+ %t432 = load i32, ptr %t431
+ %t433 = icmp eq i32 %t432, 6
+ call void @scr_dyn_release(ptr %t412)
+ call void @sc_release__x25_m0_GenFetch(ptr %t428)
+ br i1 %t433, label %if.t174, label %if.j175
+if.t174:
+ %t434 = call ptr @sc_f__x25_prototype_data__x25_m0_GenFetch()
+ %t435 = load i32, ptr %exc.cell
+ %t436 = icmp ne i32 %t435, 0
+ %t437 = call i1 @llvm.expect.i1(i1 %t436, i1 false)
+ br i1 %t437, label %exc.u176, label %exc.k177
+exc.u176:
+ call void @scr_dyn_release(ptr %t434)
+ br label %exc.cleanup2
+exc.k177:
+ %t438 = call ptr @scr_dyn_obj_create(ptr %t434)
+ %t439 = load i32, ptr %exc.cell
+ %t440 = icmp ne i32 %t439, 0
+ %t441 = call i1 @llvm.expect.i1(i1 %t440, i1 false)
+ br i1 %t441, label %exc.u178, label %exc.k179
+exc.u178:
+ call void @scr_dyn_release(ptr %t434)
+ call void @scr_dyn_release(ptr %t438)
+ br label %exc.cleanup2
+exc.k179:
+ call void @scr_dyn_release(ptr %t434)
+ %t442 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t442)
+ ret ptr %t438
+if.j175:
+ %t443 = load ptr, ptr %sc_l_p_0
+ %t444 = call ptr @sc_rc_retain_dyn(ptr %t443)
+ %t446 = icmp ne ptr %t444, null
+ br i1 %t446, label %dc.inspect180, label %dc.checked183
+dc.inspect180:
+ %t451 = getelementptr inbounds i8, ptr %t444, i64 8 ; ->kind
+ %t452 = load i32, ptr %t451
+ %t447 = icmp eq i32 %t452, 12
+ br i1 %t447, label %dc.capsule181, label %dc.checked183
+dc.capsule181:
+ %t448 = getelementptr inbounds i8, ptr %t444, i64 40 ; ->v.typed_ref.type_key
+ %t449 = load ptr, ptr %t448
+ %t450 = icmp eq ptr %t449, @sc_cs_2798802470260116
+ br i1 %t450, label %dc.exact182, label %dc.checked183
+dc.exact182:
+ %t453 = getelementptr inbounds i8, ptr %t444, i64 16 ; ->v.typed_ref.ptr
+ %t454 = load ptr, ptr %t453
+ %t455 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t454)
+ store ptr %t455, ptr %s445
+ br label %dc.done184
+dc.checked183:
+ %t456 = call ptr @sc_dc_93(ptr %t444, ptr null)
+ store ptr %t456, ptr %s445
+ %t457 = load i32, ptr %exc.cell
+ %t458 = icmp ne i32 %t457, 0
+ %t459 = call i1 @llvm.expect.i1(i1 %t458, i1 false)
+ br i1 %t459, label %exc.u185, label %exc.k186
+exc.u185:
+ call void @scr_dyn_release(ptr %t444)
+ br label %exc.cleanup2
+exc.k186:
+ br label %dc.done184
+dc.done184:
+ %t460 = load ptr, ptr %s445
+ %t461 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t460, i64 0, i32 2
+ %t462 = load ptr, ptr %t461, !tbaa !204
+ %t463 = call ptr @sc_rc_retain_dyn(ptr %t462)
+ call void @scr_dyn_release(ptr %t444)
+ call void @sc_release__x25_m0_GenFetch(ptr %t460)
+ %t464 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t464)
+ ret ptr %t463
+if.j166:
+ %t465 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s466
+ %t467 = icmp ne ptr %t465, null
+ br i1 %t467, label %brand.inspect187, label %brand.done189
+brand.inspect187:
+ %t468 = getelementptr inbounds i8, ptr %t465, i64 8 ; ->kind
+ %t469 = load i32, ptr %t468
+ %t470 = icmp eq i32 %t469, 12
+ br i1 %t470, label %brand.capsule188, label %brand.done189
+brand.capsule188:
+ %t471 = getelementptr inbounds i8, ptr %t465, i64 40 ; ->v.typed_ref.type_key
+ %t472 = load ptr, ptr %t471
+ %t473 = icmp eq ptr %t472, @sc_cs_2165660704272757
+ store i1 true, ptr %s466
+ br i1 %t473, label %brand.done189, label %brand.compare190
+brand.compare190:
+ %t474 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t465, ptr @sc_lit_2165660704272757)
+ store i1 %t474, ptr %s466
+ br label %brand.done189
+brand.done189:
+ %t475 = load i1, ptr %s466
+ br i1 %t475, label %if.t191, label %if.j192
+if.t191:
+ %t476 = load ptr, ptr %sc_l_p_0
+ %t477 = call ptr @sc_rc_retain_dyn(ptr %t476)
+ %t479 = icmp ne ptr %t477, null
+ br i1 %t479, label %dc.inspect193, label %dc.checked196
+dc.inspect193:
+ %t484 = getelementptr inbounds i8, ptr %t477, i64 8 ; ->kind
+ %t485 = load i32, ptr %t484
+ %t480 = icmp eq i32 %t485, 12
+ br i1 %t480, label %dc.capsule194, label %dc.checked196
+dc.capsule194:
+ %t481 = getelementptr inbounds i8, ptr %t477, i64 40 ; ->v.typed_ref.type_key
+ %t482 = load ptr, ptr %t481
+ %t483 = icmp eq ptr %t482, @sc_cs_2165660704272757
+ br i1 %t483, label %dc.exact195, label %dc.checked196
+dc.exact195:
+ %t486 = getelementptr inbounds i8, ptr %t477, i64 16 ; ->v.typed_ref.ptr
+ %t487 = load ptr, ptr %t486
+ %t488 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t487)
+ store ptr %t488, ptr %s478
+ br label %dc.done197
+dc.checked196:
+ %t489 = call ptr @sc_dc_92(ptr %t477, ptr null)
+ store ptr %t489, ptr %s478
+ %t490 = load i32, ptr %exc.cell
+ %t491 = icmp ne i32 %t490, 0
+ %t492 = call i1 @llvm.expect.i1(i1 %t491, i1 false)
+ br i1 %t492, label %exc.u198, label %exc.k199
+exc.u198:
+ call void @scr_dyn_release(ptr %t477)
+ br label %exc.cleanup2
+exc.k199:
+ br label %dc.done197
+dc.done197:
+ %t493 = load ptr, ptr %s478
+ %t494 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t493, i64 0, i32 2
+ %t495 = load ptr, ptr %t494, !tbaa !204
+ %t496 = getelementptr inbounds i8, ptr %t495, i64 8 ; ->kind
+ %t497 = load i32, ptr %t496
+ %t498 = icmp eq i32 %t497, 6
+ call void @scr_dyn_release(ptr %t477)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t493)
+ br i1 %t498, label %if.t200, label %if.j201
+if.t200:
+ %t499 = call ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch()
+ %t500 = load i32, ptr %exc.cell
+ %t501 = icmp ne i32 %t500, 0
+ %t502 = call i1 @llvm.expect.i1(i1 %t501, i1 false)
+ br i1 %t502, label %exc.u202, label %exc.k203
+exc.u202:
+ call void @scr_dyn_release(ptr %t499)
+ br label %exc.cleanup2
+exc.k203:
+ %t503 = call ptr @scr_dyn_obj_create(ptr %t499)
+ %t504 = load i32, ptr %exc.cell
+ %t505 = icmp ne i32 %t504, 0
+ %t506 = call i1 @llvm.expect.i1(i1 %t505, i1 false)
+ br i1 %t506, label %exc.u204, label %exc.k205
+exc.u204:
+ call void @scr_dyn_release(ptr %t499)
+ call void @scr_dyn_release(ptr %t503)
+ br label %exc.cleanup2
+exc.k205:
+ call void @scr_dyn_release(ptr %t499)
+ %t507 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t507)
+ ret ptr %t503
+if.j201:
+ %t508 = load ptr, ptr %sc_l_p_0
+ %t509 = call ptr @sc_rc_retain_dyn(ptr %t508)
+ %t511 = icmp ne ptr %t509, null
+ br i1 %t511, label %dc.inspect206, label %dc.checked209
+dc.inspect206:
+ %t516 = getelementptr inbounds i8, ptr %t509, i64 8 ; ->kind
+ %t517 = load i32, ptr %t516
+ %t512 = icmp eq i32 %t517, 12
+ br i1 %t512, label %dc.capsule207, label %dc.checked209
+dc.capsule207:
+ %t513 = getelementptr inbounds i8, ptr %t509, i64 40 ; ->v.typed_ref.type_key
+ %t514 = load ptr, ptr %t513
+ %t515 = icmp eq ptr %t514, @sc_cs_2165660704272757
+ br i1 %t515, label %dc.exact208, label %dc.checked209
+dc.exact208:
+ %t518 = getelementptr inbounds i8, ptr %t509, i64 16 ; ->v.typed_ref.ptr
+ %t519 = load ptr, ptr %t518
+ %t520 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t519)
+ store ptr %t520, ptr %s510
+ br label %dc.done210
+dc.checked209:
+ %t521 = call ptr @sc_dc_92(ptr %t509, ptr null)
+ store ptr %t521, ptr %s510
+ %t522 = load i32, ptr %exc.cell
+ %t523 = icmp ne i32 %t522, 0
+ %t524 = call i1 @llvm.expect.i1(i1 %t523, i1 false)
+ br i1 %t524, label %exc.u211, label %exc.k212
+exc.u211:
+ call void @scr_dyn_release(ptr %t509)
+ br label %exc.cleanup2
+exc.k212:
+ br label %dc.done210
+dc.done210:
+ %t525 = load ptr, ptr %s510
+ %t526 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t525, i64 0, i32 2
+ %t527 = load ptr, ptr %t526, !tbaa !204
+ %t528 = call ptr @sc_rc_retain_dyn(ptr %t527)
+ call void @scr_dyn_release(ptr %t509)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t525)
+ %t529 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t529)
+ ret ptr %t528
+if.j192:
+ %t530 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s531
+ %t532 = icmp ne ptr %t530, null
+ br i1 %t532, label %brand.inspect213, label %brand.done215
+brand.inspect213:
+ %t533 = getelementptr inbounds i8, ptr %t530, i64 8 ; ->kind
+ %t534 = load i32, ptr %t533
+ %t535 = icmp eq i32 %t534, 12
+ br i1 %t535, label %brand.capsule214, label %brand.done215
+brand.capsule214:
+ %t536 = getelementptr inbounds i8, ptr %t530, i64 40 ; ->v.typed_ref.type_key
+ %t537 = load ptr, ptr %t536
+ %t538 = icmp eq ptr %t537, @sc_cs_2072202777142634
+ store i1 true, ptr %s531
+ br i1 %t538, label %brand.done215, label %brand.compare216
+brand.compare216:
+ %t539 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t530, ptr @sc_lit_2072202777142634)
+ store i1 %t539, ptr %s531
+ br label %brand.done215
+brand.done215:
+ %t540 = load i1, ptr %s531
+ br i1 %t540, label %tern.t217, label %tern.f218
+tern.t217:
+ %t542 = load ptr, ptr %sc_l_p_0
+ %t543 = call ptr @sc_rc_retain_dyn(ptr %t542)
+ %t545 = icmp ne ptr %t543, null
+ br i1 %t545, label %dc.inspect220, label %dc.checked223
+dc.inspect220:
+ %t550 = getelementptr inbounds i8, ptr %t543, i64 8 ; ->kind
+ %t551 = load i32, ptr %t550
+ %t546 = icmp eq i32 %t551, 12
+ br i1 %t546, label %dc.capsule221, label %dc.checked223
+dc.capsule221:
+ %t547 = getelementptr inbounds i8, ptr %t543, i64 40 ; ->v.typed_ref.type_key
+ %t548 = load ptr, ptr %t547
+ %t549 = icmp eq ptr %t548, @sc_cs_2072202777142634
+ br i1 %t549, label %dc.exact222, label %dc.checked223
+dc.exact222:
+ %t552 = getelementptr inbounds i8, ptr %t543, i64 16 ; ->v.typed_ref.ptr
+ %t553 = load ptr, ptr %t552
+ %t554 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t553)
+ store ptr %t554, ptr %s544
+ br label %dc.done224
+dc.checked223:
+ %t555 = call ptr @sc_dc_26(ptr %t543, ptr null)
+ store ptr %t555, ptr %s544
+ %t556 = load i32, ptr %exc.cell
+ %t557 = icmp ne i32 %t556, 0
+ %t558 = call i1 @llvm.expect.i1(i1 %t557, i1 false)
+ br i1 %t558, label %exc.u225, label %exc.k226
+exc.u225:
+ call void @scr_dyn_release(ptr %t543)
+ br label %exc.cleanup2
+exc.k226:
+ br label %dc.done224
+dc.done224:
+ %t559 = load ptr, ptr %s544
+ %t560 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t559, i64 0, i32 1
+ %t561 = load ptr, ptr %t560
+ %t562 = getelementptr inbounds %ScrVt, ptr %t561, i64 0, i32 0
+ %t563 = load i64, ptr %t562
+ %t564 = icmp uge i64 %t563, 23
+ %t565 = icmp ule i64 %t563, 23
+ %t566 = and i1 %t564, %t565 ; instanceof %m4.MemoryFileSink
+ store i1 %t566, ptr %s541
+ call void @scr_dyn_release(ptr %t543)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t559)
+ br label %tern.j219
+tern.f218:
+ store i1 false, ptr %s541
+ br label %tern.j219
+tern.j219:
+ %t567 = load i1, ptr %s541
+ br i1 %t567, label %if.t227, label %if.j228
+if.t227:
+ %t568 = load ptr, ptr %sc_l_p_0
+ %t569 = call ptr @sc_rc_retain_dyn(ptr %t568)
+ %t571 = icmp ne ptr %t569, null
+ br i1 %t571, label %dc.inspect229, label %dc.checked232
+dc.inspect229:
+ %t576 = getelementptr inbounds i8, ptr %t569, i64 8 ; ->kind
+ %t577 = load i32, ptr %t576
+ %t572 = icmp eq i32 %t577, 12
+ br i1 %t572, label %dc.capsule230, label %dc.checked232
+dc.capsule230:
+ %t573 = getelementptr inbounds i8, ptr %t569, i64 40 ; ->v.typed_ref.type_key
+ %t574 = load ptr, ptr %t573
+ %t575 = icmp eq ptr %t574, @sc_cs_2072202777142634
+ br i1 %t575, label %dc.exact231, label %dc.checked232
+dc.exact231:
+ %t578 = getelementptr inbounds i8, ptr %t569, i64 16 ; ->v.typed_ref.ptr
+ %t579 = load ptr, ptr %t578
+ %t580 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t579)
+ store ptr %t580, ptr %s570
+ br label %dc.done233
+dc.checked232:
+ %t581 = call ptr @sc_dc_26(ptr %t569, ptr null)
+ store ptr %t581, ptr %s570
+ %t582 = load i32, ptr %exc.cell
+ %t583 = icmp ne i32 %t582, 0
+ %t584 = call i1 @llvm.expect.i1(i1 %t583, i1 false)
+ br i1 %t584, label %exc.u234, label %exc.k235
+exc.u234:
+ call void @scr_dyn_release(ptr %t569)
+ br label %exc.cleanup2
+exc.k235:
+ br label %dc.done233
+dc.done233:
+ %t585 = load ptr, ptr %s570
+ %t586 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t585, i64 0, i32 2
+ %t587 = load ptr, ptr %t586, !tbaa !204
+ %t588 = getelementptr inbounds i8, ptr %t587, i64 8 ; ->kind
+ %t589 = load i32, ptr %t588
+ %t590 = icmp eq i32 %t589, 6
+ call void @scr_dyn_release(ptr %t569)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t585)
+ br i1 %t590, label %if.t236, label %if.j237
+if.t236:
+ %t591 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t592 = load i32, ptr %exc.cell
+ %t593 = icmp ne i32 %t592, 0
+ %t594 = call i1 @llvm.expect.i1(i1 %t593, i1 false)
+ br i1 %t594, label %exc.u238, label %exc.k239
+exc.u238:
+ call void @scr_dyn_release(ptr %t591)
+ br label %exc.cleanup2
+exc.k239:
+ %t595 = call ptr @scr_dyn_obj_create(ptr %t591)
+ %t596 = load i32, ptr %exc.cell
+ %t597 = icmp ne i32 %t596, 0
+ %t598 = call i1 @llvm.expect.i1(i1 %t597, i1 false)
+ br i1 %t598, label %exc.u240, label %exc.k241
+exc.u240:
+ call void @scr_dyn_release(ptr %t591)
+ call void @scr_dyn_release(ptr %t595)
+ br label %exc.cleanup2
+exc.k241:
+ call void @scr_dyn_release(ptr %t591)
+ %t599 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t599)
+ ret ptr %t595
+if.j237:
+ %t600 = load ptr, ptr %sc_l_p_0
+ %t601 = call ptr @sc_rc_retain_dyn(ptr %t600)
+ %t603 = icmp ne ptr %t601, null
+ br i1 %t603, label %dc.inspect242, label %dc.checked245
+dc.inspect242:
+ %t608 = getelementptr inbounds i8, ptr %t601, i64 8 ; ->kind
+ %t609 = load i32, ptr %t608
+ %t604 = icmp eq i32 %t609, 12
+ br i1 %t604, label %dc.capsule243, label %dc.checked245
+dc.capsule243:
+ %t605 = getelementptr inbounds i8, ptr %t601, i64 40 ; ->v.typed_ref.type_key
+ %t606 = load ptr, ptr %t605
+ %t607 = icmp eq ptr %t606, @sc_cs_2072202777142634
+ br i1 %t607, label %dc.exact244, label %dc.checked245
+dc.exact244:
+ %t610 = getelementptr inbounds i8, ptr %t601, i64 16 ; ->v.typed_ref.ptr
+ %t611 = load ptr, ptr %t610
+ %t612 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t611)
+ store ptr %t612, ptr %s602
+ br label %dc.done246
+dc.checked245:
+ %t613 = call ptr @sc_dc_26(ptr %t601, ptr null)
+ store ptr %t613, ptr %s602
+ %t614 = load i32, ptr %exc.cell
+ %t615 = icmp ne i32 %t614, 0
+ %t616 = call i1 @llvm.expect.i1(i1 %t615, i1 false)
+ br i1 %t616, label %exc.u247, label %exc.k248
+exc.u247:
+ call void @scr_dyn_release(ptr %t601)
+ br label %exc.cleanup2
+exc.k248:
+ br label %dc.done246
+dc.done246:
+ %t617 = load ptr, ptr %s602
+ %t618 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t617, i64 0, i32 2
+ %t619 = load ptr, ptr %t618, !tbaa !204
+ %t620 = call ptr @sc_rc_retain_dyn(ptr %t619)
+ call void @scr_dyn_release(ptr %t601)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t617)
+ %t621 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t621)
+ ret ptr %t620
+if.j228:
+ %t622 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s623
+ %t624 = icmp ne ptr %t622, null
+ br i1 %t624, label %brand.inspect249, label %brand.done251
+brand.inspect249:
+ %t625 = getelementptr inbounds i8, ptr %t622, i64 8 ; ->kind
+ %t626 = load i32, ptr %t625
+ %t627 = icmp eq i32 %t626, 12
+ br i1 %t627, label %brand.capsule250, label %brand.done251
+brand.capsule250:
+ %t628 = getelementptr inbounds i8, ptr %t622, i64 40 ; ->v.typed_ref.type_key
+ %t629 = load ptr, ptr %t628
+ %t630 = icmp eq ptr %t629, @sc_cs_2072202777142634
+ store i1 true, ptr %s623
+ br i1 %t630, label %brand.done251, label %brand.compare252
+brand.compare252:
+ %t631 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t622, ptr @sc_lit_2072202777142634)
+ store i1 %t631, ptr %s623
+ br label %brand.done251
+brand.done251:
+ %t632 = load i1, ptr %s623
+ br i1 %t632, label %if.t253, label %if.j254
+if.t253:
+ %t633 = load ptr, ptr %sc_l_p_0
+ %t634 = call ptr @sc_rc_retain_dyn(ptr %t633)
+ %t636 = icmp ne ptr %t634, null
+ br i1 %t636, label %dc.inspect255, label %dc.checked258
+dc.inspect255:
+ %t641 = getelementptr inbounds i8, ptr %t634, i64 8 ; ->kind
+ %t642 = load i32, ptr %t641
+ %t637 = icmp eq i32 %t642, 12
+ br i1 %t637, label %dc.capsule256, label %dc.checked258
+dc.capsule256:
+ %t638 = getelementptr inbounds i8, ptr %t634, i64 40 ; ->v.typed_ref.type_key
+ %t639 = load ptr, ptr %t638
+ %t640 = icmp eq ptr %t639, @sc_cs_2072202777142634
+ br i1 %t640, label %dc.exact257, label %dc.checked258
+dc.exact257:
+ %t643 = getelementptr inbounds i8, ptr %t634, i64 16 ; ->v.typed_ref.ptr
+ %t644 = load ptr, ptr %t643
+ %t645 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t644)
+ store ptr %t645, ptr %s635
+ br label %dc.done259
+dc.checked258:
+ %t646 = call ptr @sc_dc_26(ptr %t634, ptr null)
+ store ptr %t646, ptr %s635
+ %t647 = load i32, ptr %exc.cell
+ %t648 = icmp ne i32 %t647, 0
+ %t649 = call i1 @llvm.expect.i1(i1 %t648, i1 false)
+ br i1 %t649, label %exc.u260, label %exc.k261
+exc.u260:
+ call void @scr_dyn_release(ptr %t634)
+ br label %exc.cleanup2
+exc.k261:
+ br label %dc.done259
+dc.done259:
+ %t650 = load ptr, ptr %s635
+ %t651 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t650, i64 0, i32 2
+ %t652 = load ptr, ptr %t651, !tbaa !204
+ %t653 = getelementptr inbounds i8, ptr %t652, i64 8 ; ->kind
+ %t654 = load i32, ptr %t653
+ %t655 = icmp eq i32 %t654, 6
+ call void @scr_dyn_release(ptr %t634)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t650)
+ br i1 %t655, label %if.t262, label %if.j263
+if.t262:
+ %t656 = load ptr, ptr %sc_l_p_0
+ %t657 = call ptr @sc_rc_retain_dyn(ptr %t656)
+ %t659 = icmp ne ptr %t657, null
+ br i1 %t659, label %dc.inspect264, label %dc.checked267
+dc.inspect264:
+ %t664 = getelementptr inbounds i8, ptr %t657, i64 8 ; ->kind
+ %t665 = load i32, ptr %t664
+ %t660 = icmp eq i32 %t665, 12
+ br i1 %t660, label %dc.capsule265, label %dc.checked267
+dc.capsule265:
+ %t661 = getelementptr inbounds i8, ptr %t657, i64 40 ; ->v.typed_ref.type_key
+ %t662 = load ptr, ptr %t661
+ %t663 = icmp eq ptr %t662, @sc_cs_2072202777142634
+ br i1 %t663, label %dc.exact266, label %dc.checked267
+dc.exact266:
+ %t666 = getelementptr inbounds i8, ptr %t657, i64 16 ; ->v.typed_ref.ptr
+ %t667 = load ptr, ptr %t666
+ %t668 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t667)
+ store ptr %t668, ptr %s658
+ br label %dc.done268
+dc.checked267:
+ %t669 = call ptr @sc_dc_26(ptr %t657, ptr null)
+ store ptr %t669, ptr %s658
+ %t670 = load i32, ptr %exc.cell
+ %t671 = icmp ne i32 %t670, 0
+ %t672 = call i1 @llvm.expect.i1(i1 %t671, i1 false)
+ br i1 %t672, label %exc.u269, label %exc.k270
+exc.u269:
+ call void @scr_dyn_release(ptr %t657)
+ br label %exc.cleanup2
+exc.k270:
+ br label %dc.done268
+dc.done268:
+ %t673 = load ptr, ptr %s658
+ %t674 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t673, i64 0, i32 1
+ %t675 = load ptr, ptr %t674
+ %t676 = getelementptr inbounds %ScrVt, ptr %t675, i64 0, i32 0
+ %t677 = load i64, ptr %t676
+ %t678 = icmp uge i64 %t677, 23
+ %t679 = icmp ule i64 %t677, 23
+ %t680 = and i1 %t678, %t679 ; instanceof %m4.MemoryFileSink
+ br i1 %t680, label %tern.t271, label %tern.f272
+tern.t271:
+ %t682 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t683 = load i32, ptr %exc.cell
+ %t684 = icmp ne i32 %t683, 0
+ %t685 = call i1 @llvm.expect.i1(i1 %t684, i1 false)
+ br i1 %t685, label %exc.u274, label %exc.k275
+exc.u274:
+ call void @scr_dyn_release(ptr %t682)
+ call void @scr_dyn_release(ptr %t657)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t673)
+ br label %exc.cleanup2
+exc.k275:
+ store ptr %t682, ptr %s681
+ br label %tern.j273
+tern.f272:
+ %t686 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartFileSink()
+ %t687 = load i32, ptr %exc.cell
+ %t688 = icmp ne i32 %t687, 0
+ %t689 = call i1 @llvm.expect.i1(i1 %t688, i1 false)
+ br i1 %t689, label %exc.u276, label %exc.k277
+exc.u276:
+ call void @scr_dyn_release(ptr %t686)
+ call void @scr_dyn_release(ptr %t657)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t673)
+ br label %exc.cleanup2
+exc.k277:
+ store ptr %t686, ptr %s681
+ br label %tern.j273
+tern.j273:
+ %t690 = load ptr, ptr %s681
+ %t691 = call ptr @scr_dyn_obj_create(ptr %t690)
+ %t692 = load i32, ptr %exc.cell
+ %t693 = icmp ne i32 %t692, 0
+ %t694 = call i1 @llvm.expect.i1(i1 %t693, i1 false)
+ br i1 %t694, label %exc.u278, label %exc.k279
+exc.u278:
+ call void @scr_dyn_release(ptr %t657)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t673)
+ call void @scr_dyn_release(ptr %t690)
+ call void @scr_dyn_release(ptr %t691)
+ br label %exc.cleanup2
+exc.k279:
+ call void @scr_dyn_release(ptr %t657)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t673)
+ call void @scr_dyn_release(ptr %t690)
+ %t695 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t695)
+ ret ptr %t691
+if.j263:
+ %t696 = load ptr, ptr %sc_l_p_0
+ %t697 = call ptr @sc_rc_retain_dyn(ptr %t696)
+ %t699 = icmp ne ptr %t697, null
+ br i1 %t699, label %dc.inspect280, label %dc.checked283
+dc.inspect280:
+ %t704 = getelementptr inbounds i8, ptr %t697, i64 8 ; ->kind
+ %t705 = load i32, ptr %t704
+ %t700 = icmp eq i32 %t705, 12
+ br i1 %t700, label %dc.capsule281, label %dc.checked283
+dc.capsule281:
+ %t701 = getelementptr inbounds i8, ptr %t697, i64 40 ; ->v.typed_ref.type_key
+ %t702 = load ptr, ptr %t701
+ %t703 = icmp eq ptr %t702, @sc_cs_2072202777142634
+ br i1 %t703, label %dc.exact282, label %dc.checked283
+dc.exact282:
+ %t706 = getelementptr inbounds i8, ptr %t697, i64 16 ; ->v.typed_ref.ptr
+ %t707 = load ptr, ptr %t706
+ %t708 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t707)
+ store ptr %t708, ptr %s698
+ br label %dc.done284
+dc.checked283:
+ %t709 = call ptr @sc_dc_26(ptr %t697, ptr null)
+ store ptr %t709, ptr %s698
+ %t710 = load i32, ptr %exc.cell
+ %t711 = icmp ne i32 %t710, 0
+ %t712 = call i1 @llvm.expect.i1(i1 %t711, i1 false)
+ br i1 %t712, label %exc.u285, label %exc.k286
+exc.u285:
+ call void @scr_dyn_release(ptr %t697)
+ br label %exc.cleanup2
+exc.k286:
+ br label %dc.done284
+dc.done284:
+ %t713 = load ptr, ptr %s698
+ %t714 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t713, i64 0, i32 2
+ %t715 = load ptr, ptr %t714, !tbaa !204
+ %t716 = call ptr @sc_rc_retain_dyn(ptr %t715)
+ call void @scr_dyn_release(ptr %t697)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t713)
+ %t717 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t717)
+ ret ptr %t716
+if.j254:
+ %t718 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s719
+ %t720 = icmp ne ptr %t718, null
+ br i1 %t720, label %brand.inspect287, label %brand.done289
+brand.inspect287:
+ %t721 = getelementptr inbounds i8, ptr %t718, i64 8 ; ->kind
+ %t722 = load i32, ptr %t721
+ %t723 = icmp eq i32 %t722, 12
+ br i1 %t723, label %brand.capsule288, label %brand.done289
+brand.capsule288:
+ %t724 = getelementptr inbounds i8, ptr %t718, i64 40 ; ->v.typed_ref.type_key
+ %t725 = load ptr, ptr %t724
+ %t726 = icmp eq ptr %t725, @sc_cs_3314970835853795
+ store i1 true, ptr %s719
+ br i1 %t726, label %brand.done289, label %brand.compare290
+brand.compare290:
+ %t727 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t718, ptr @sc_lit_3314970835853795)
+ store i1 %t727, ptr %s719
+ br label %brand.done289
+brand.done289:
+ %t728 = load i1, ptr %s719
+ br i1 %t728, label %tern.t291, label %tern.f292
+tern.t291:
+ %t730 = load ptr, ptr %sc_l_p_0
+ %t731 = call ptr @sc_rc_retain_dyn(ptr %t730)
+ %t733 = icmp ne ptr %t731, null
+ br i1 %t733, label %dc.inspect294, label %dc.checked297
+dc.inspect294:
+ %t738 = getelementptr inbounds i8, ptr %t731, i64 8 ; ->kind
+ %t739 = load i32, ptr %t738
+ %t734 = icmp eq i32 %t739, 12
+ br i1 %t734, label %dc.capsule295, label %dc.checked297
+dc.capsule295:
+ %t735 = getelementptr inbounds i8, ptr %t731, i64 40 ; ->v.typed_ref.type_key
+ %t736 = load ptr, ptr %t735
+ %t737 = icmp eq ptr %t736, @sc_cs_3314970835853795
+ br i1 %t737, label %dc.exact296, label %dc.checked297
+dc.exact296:
+ %t740 = getelementptr inbounds i8, ptr %t731, i64 16 ; ->v.typed_ref.ptr
+ %t741 = load ptr, ptr %t740
+ %t742 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t741)
+ store ptr %t742, ptr %s732
+ br label %dc.done298
+dc.checked297:
+ %t743 = call ptr @sc_dc_79(ptr %t731, ptr null)
+ store ptr %t743, ptr %s732
+ %t744 = load i32, ptr %exc.cell
+ %t745 = icmp ne i32 %t744, 0
+ %t746 = call i1 @llvm.expect.i1(i1 %t745, i1 false)
+ br i1 %t746, label %exc.u299, label %exc.k300
+exc.u299:
+ call void @scr_dyn_release(ptr %t731)
+ br label %exc.cleanup2
+exc.k300:
+ br label %dc.done298
+dc.done298:
+ %t747 = load ptr, ptr %s732
+ %t748 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t747, i64 0, i32 1
+ %t749 = load ptr, ptr %t748
+ %t750 = getelementptr inbounds %ScrVt, ptr %t749, i64 0, i32 0
+ %t751 = load i64, ptr %t750
+ %t752 = icmp uge i64 %t751, 38
+ %t753 = icmp ule i64 %t751, 38
+ %t754 = and i1 %t752, %t753 ; instanceof %m14.BakedAssets
+ store i1 %t754, ptr %s729
+ call void @scr_dyn_release(ptr %t731)
+ call void @sc_release__x25_m6_AssetSource(ptr %t747)
+ br label %tern.j293
+tern.f292:
+ store i1 false, ptr %s729
+ br label %tern.j293
+tern.j293:
+ %t755 = load i1, ptr %s729
+ br i1 %t755, label %if.t301, label %if.j302
+if.t301:
+ %t756 = load ptr, ptr %sc_l_p_0
+ %t757 = call ptr @sc_rc_retain_dyn(ptr %t756)
+ %t759 = icmp ne ptr %t757, null
+ br i1 %t759, label %dc.inspect303, label %dc.checked306
+dc.inspect303:
+ %t764 = getelementptr inbounds i8, ptr %t757, i64 8 ; ->kind
+ %t765 = load i32, ptr %t764
+ %t760 = icmp eq i32 %t765, 12
+ br i1 %t760, label %dc.capsule304, label %dc.checked306
+dc.capsule304:
+ %t761 = getelementptr inbounds i8, ptr %t757, i64 40 ; ->v.typed_ref.type_key
+ %t762 = load ptr, ptr %t761
+ %t763 = icmp eq ptr %t762, @sc_cs_3314970835853795
+ br i1 %t763, label %dc.exact305, label %dc.checked306
+dc.exact305:
+ %t766 = getelementptr inbounds i8, ptr %t757, i64 16 ; ->v.typed_ref.ptr
+ %t767 = load ptr, ptr %t766
+ %t768 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t767)
+ store ptr %t768, ptr %s758
+ br label %dc.done307
+dc.checked306:
+ %t769 = call ptr @sc_dc_79(ptr %t757, ptr null)
+ store ptr %t769, ptr %s758
+ %t770 = load i32, ptr %exc.cell
+ %t771 = icmp ne i32 %t770, 0
+ %t772 = call i1 @llvm.expect.i1(i1 %t771, i1 false)
+ br i1 %t772, label %exc.u308, label %exc.k309
+exc.u308:
+ call void @scr_dyn_release(ptr %t757)
+ br label %exc.cleanup2
+exc.k309:
+ br label %dc.done307
+dc.done307:
+ %t773 = load ptr, ptr %s758
+ %t774 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t773, i64 0, i32 2
+ %t775 = load ptr, ptr %t774, !tbaa !204
+ %t776 = getelementptr inbounds i8, ptr %t775, i64 8 ; ->kind
+ %t777 = load i32, ptr %t776
+ %t778 = icmp eq i32 %t777, 6
+ call void @scr_dyn_release(ptr %t757)
+ call void @sc_release__x25_m6_AssetSource(ptr %t773)
+ br i1 %t778, label %if.t310, label %if.j311
+if.t310:
+ %t779 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t780 = load i32, ptr %exc.cell
+ %t781 = icmp ne i32 %t780, 0
+ %t782 = call i1 @llvm.expect.i1(i1 %t781, i1 false)
+ br i1 %t782, label %exc.u312, label %exc.k313
+exc.u312:
+ call void @scr_dyn_release(ptr %t779)
+ br label %exc.cleanup2
+exc.k313:
+ %t783 = call ptr @scr_dyn_obj_create(ptr %t779)
+ %t784 = load i32, ptr %exc.cell
+ %t785 = icmp ne i32 %t784, 0
+ %t786 = call i1 @llvm.expect.i1(i1 %t785, i1 false)
+ br i1 %t786, label %exc.u314, label %exc.k315
+exc.u314:
+ call void @scr_dyn_release(ptr %t779)
+ call void @scr_dyn_release(ptr %t783)
+ br label %exc.cleanup2
+exc.k315:
+ call void @scr_dyn_release(ptr %t779)
+ %t787 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t787)
+ ret ptr %t783
+if.j311:
+ %t788 = load ptr, ptr %sc_l_p_0
+ %t789 = call ptr @sc_rc_retain_dyn(ptr %t788)
+ %t791 = icmp ne ptr %t789, null
+ br i1 %t791, label %dc.inspect316, label %dc.checked319
+dc.inspect316:
+ %t796 = getelementptr inbounds i8, ptr %t789, i64 8 ; ->kind
+ %t797 = load i32, ptr %t796
+ %t792 = icmp eq i32 %t797, 12
+ br i1 %t792, label %dc.capsule317, label %dc.checked319
+dc.capsule317:
+ %t793 = getelementptr inbounds i8, ptr %t789, i64 40 ; ->v.typed_ref.type_key
+ %t794 = load ptr, ptr %t793
+ %t795 = icmp eq ptr %t794, @sc_cs_3314970835853795
+ br i1 %t795, label %dc.exact318, label %dc.checked319
+dc.exact318:
+ %t798 = getelementptr inbounds i8, ptr %t789, i64 16 ; ->v.typed_ref.ptr
+ %t799 = load ptr, ptr %t798
+ %t800 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t799)
+ store ptr %t800, ptr %s790
+ br label %dc.done320
+dc.checked319:
+ %t801 = call ptr @sc_dc_79(ptr %t789, ptr null)
+ store ptr %t801, ptr %s790
+ %t802 = load i32, ptr %exc.cell
+ %t803 = icmp ne i32 %t802, 0
+ %t804 = call i1 @llvm.expect.i1(i1 %t803, i1 false)
+ br i1 %t804, label %exc.u321, label %exc.k322
+exc.u321:
+ call void @scr_dyn_release(ptr %t789)
+ br label %exc.cleanup2
+exc.k322:
+ br label %dc.done320
+dc.done320:
+ %t805 = load ptr, ptr %s790
+ %t806 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t805, i64 0, i32 2
+ %t807 = load ptr, ptr %t806, !tbaa !204
+ %t808 = call ptr @sc_rc_retain_dyn(ptr %t807)
+ call void @scr_dyn_release(ptr %t789)
+ call void @sc_release__x25_m6_AssetSource(ptr %t805)
+ %t809 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t809)
+ ret ptr %t808
+if.j302:
+ %t810 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s811
+ %t812 = icmp ne ptr %t810, null
+ br i1 %t812, label %brand.inspect323, label %brand.done325
+brand.inspect323:
+ %t813 = getelementptr inbounds i8, ptr %t810, i64 8 ; ->kind
+ %t814 = load i32, ptr %t813
+ %t815 = icmp eq i32 %t814, 12
+ br i1 %t815, label %brand.capsule324, label %brand.done325
+brand.capsule324:
+ %t816 = getelementptr inbounds i8, ptr %t810, i64 40 ; ->v.typed_ref.type_key
+ %t817 = load ptr, ptr %t816
+ %t818 = icmp eq ptr %t817, @sc_cs_3314970835853795
+ store i1 true, ptr %s811
+ br i1 %t818, label %brand.done325, label %brand.compare326
+brand.compare326:
+ %t819 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t810, ptr @sc_lit_3314970835853795)
+ store i1 %t819, ptr %s811
+ br label %brand.done325
+brand.done325:
+ %t820 = load i1, ptr %s811
+ br i1 %t820, label %tern.t327, label %tern.f328
+tern.t327:
+ %t822 = load ptr, ptr %sc_l_p_0
+ %t823 = call ptr @sc_rc_retain_dyn(ptr %t822)
+ %t825 = icmp ne ptr %t823, null
+ br i1 %t825, label %dc.inspect330, label %dc.checked333
+dc.inspect330:
+ %t830 = getelementptr inbounds i8, ptr %t823, i64 8 ; ->kind
+ %t831 = load i32, ptr %t830
+ %t826 = icmp eq i32 %t831, 12
+ br i1 %t826, label %dc.capsule331, label %dc.checked333
+dc.capsule331:
+ %t827 = getelementptr inbounds i8, ptr %t823, i64 40 ; ->v.typed_ref.type_key
+ %t828 = load ptr, ptr %t827
+ %t829 = icmp eq ptr %t828, @sc_cs_3314970835853795
+ br i1 %t829, label %dc.exact332, label %dc.checked333
+dc.exact332:
+ %t832 = getelementptr inbounds i8, ptr %t823, i64 16 ; ->v.typed_ref.ptr
+ %t833 = load ptr, ptr %t832
+ %t834 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t833)
+ store ptr %t834, ptr %s824
+ br label %dc.done334
+dc.checked333:
+ %t835 = call ptr @sc_dc_79(ptr %t823, ptr null)
+ store ptr %t835, ptr %s824
+ %t836 = load i32, ptr %exc.cell
+ %t837 = icmp ne i32 %t836, 0
+ %t838 = call i1 @llvm.expect.i1(i1 %t837, i1 false)
+ br i1 %t838, label %exc.u335, label %exc.k336
+exc.u335:
+ call void @scr_dyn_release(ptr %t823)
+ br label %exc.cleanup2
+exc.k336:
+ br label %dc.done334
+dc.done334:
+ %t839 = load ptr, ptr %s824
+ %t840 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t839, i64 0, i32 1
+ %t841 = load ptr, ptr %t840
+ %t842 = getelementptr inbounds %ScrVt, ptr %t841, i64 0, i32 0
+ %t843 = load i64, ptr %t842
+ %t844 = icmp uge i64 %t843, 37
+ %t845 = icmp ule i64 %t843, 38
+ %t846 = and i1 %t844, %t845 ; instanceof %m9.EmbeddedAssets
+ store i1 %t846, ptr %s821
+ call void @scr_dyn_release(ptr %t823)
+ call void @sc_release__x25_m6_AssetSource(ptr %t839)
+ br label %tern.j329
+tern.f328:
+ store i1 false, ptr %s821
+ br label %tern.j329
+tern.j329:
+ %t847 = load i1, ptr %s821
+ br i1 %t847, label %if.t337, label %if.j338
+if.t337:
+ %t848 = load ptr, ptr %sc_l_p_0
+ %t849 = call ptr @sc_rc_retain_dyn(ptr %t848)
+ %t851 = icmp ne ptr %t849, null
+ br i1 %t851, label %dc.inspect339, label %dc.checked342
+dc.inspect339:
+ %t856 = getelementptr inbounds i8, ptr %t849, i64 8 ; ->kind
+ %t857 = load i32, ptr %t856
+ %t852 = icmp eq i32 %t857, 12
+ br i1 %t852, label %dc.capsule340, label %dc.checked342
+dc.capsule340:
+ %t853 = getelementptr inbounds i8, ptr %t849, i64 40 ; ->v.typed_ref.type_key
+ %t854 = load ptr, ptr %t853
+ %t855 = icmp eq ptr %t854, @sc_cs_3314970835853795
+ br i1 %t855, label %dc.exact341, label %dc.checked342
+dc.exact341:
+ %t858 = getelementptr inbounds i8, ptr %t849, i64 16 ; ->v.typed_ref.ptr
+ %t859 = load ptr, ptr %t858
+ %t860 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t859)
+ store ptr %t860, ptr %s850
+ br label %dc.done343
+dc.checked342:
+ %t861 = call ptr @sc_dc_79(ptr %t849, ptr null)
+ store ptr %t861, ptr %s850
+ %t862 = load i32, ptr %exc.cell
+ %t863 = icmp ne i32 %t862, 0
+ %t864 = call i1 @llvm.expect.i1(i1 %t863, i1 false)
+ br i1 %t864, label %exc.u344, label %exc.k345
+exc.u344:
+ call void @scr_dyn_release(ptr %t849)
+ br label %exc.cleanup2
+exc.k345:
+ br label %dc.done343
+dc.done343:
+ %t865 = load ptr, ptr %s850
+ %t866 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t865, i64 0, i32 2
+ %t867 = load ptr, ptr %t866, !tbaa !204
+ %t868 = getelementptr inbounds i8, ptr %t867, i64 8 ; ->kind
+ %t869 = load i32, ptr %t868
+ %t870 = icmp eq i32 %t869, 6
+ call void @scr_dyn_release(ptr %t849)
+ call void @sc_release__x25_m6_AssetSource(ptr %t865)
+ br i1 %t870, label %if.t346, label %if.j347
+if.t346:
+ %t871 = load ptr, ptr %sc_l_p_0
+ %t872 = call ptr @sc_rc_retain_dyn(ptr %t871)
+ %t874 = icmp ne ptr %t872, null
+ br i1 %t874, label %dc.inspect348, label %dc.checked351
+dc.inspect348:
+ %t879 = getelementptr inbounds i8, ptr %t872, i64 8 ; ->kind
+ %t880 = load i32, ptr %t879
+ %t875 = icmp eq i32 %t880, 12
+ br i1 %t875, label %dc.capsule349, label %dc.checked351
+dc.capsule349:
+ %t876 = getelementptr inbounds i8, ptr %t872, i64 40 ; ->v.typed_ref.type_key
+ %t877 = load ptr, ptr %t876
+ %t878 = icmp eq ptr %t877, @sc_cs_3314970835853795
+ br i1 %t878, label %dc.exact350, label %dc.checked351
+dc.exact350:
+ %t881 = getelementptr inbounds i8, ptr %t872, i64 16 ; ->v.typed_ref.ptr
+ %t882 = load ptr, ptr %t881
+ %t883 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t882)
+ store ptr %t883, ptr %s873
+ br label %dc.done352
+dc.checked351:
+ %t884 = call ptr @sc_dc_79(ptr %t872, ptr null)
+ store ptr %t884, ptr %s873
+ %t885 = load i32, ptr %exc.cell
+ %t886 = icmp ne i32 %t885, 0
+ %t887 = call i1 @llvm.expect.i1(i1 %t886, i1 false)
+ br i1 %t887, label %exc.u353, label %exc.k354
+exc.u353:
+ call void @scr_dyn_release(ptr %t872)
+ br label %exc.cleanup2
+exc.k354:
+ br label %dc.done352
+dc.done352:
+ %t888 = load ptr, ptr %s873
+ %t889 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t888, i64 0, i32 1
+ %t890 = load ptr, ptr %t889
+ %t891 = getelementptr inbounds %ScrVt, ptr %t890, i64 0, i32 0
+ %t892 = load i64, ptr %t891
+ %t893 = icmp uge i64 %t892, 38
+ %t894 = icmp ule i64 %t892, 38
+ %t895 = and i1 %t893, %t894 ; instanceof %m14.BakedAssets
+ br i1 %t895, label %tern.t355, label %tern.f356
+tern.t355:
+ %t897 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t898 = load i32, ptr %exc.cell
+ %t899 = icmp ne i32 %t898, 0
+ %t900 = call i1 @llvm.expect.i1(i1 %t899, i1 false)
+ br i1 %t900, label %exc.u358, label %exc.k359
+exc.u358:
+ call void @scr_dyn_release(ptr %t897)
+ call void @scr_dyn_release(ptr %t872)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888)
+ br label %exc.cleanup2
+exc.k359:
+ store ptr %t897, ptr %s896
+ br label %tern.j357
+tern.f356:
+ %t901 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t902 = load i32, ptr %exc.cell
+ %t903 = icmp ne i32 %t902, 0
+ %t904 = call i1 @llvm.expect.i1(i1 %t903, i1 false)
+ br i1 %t904, label %exc.u360, label %exc.k361
+exc.u360:
+ call void @scr_dyn_release(ptr %t901)
+ call void @scr_dyn_release(ptr %t872)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888)
+ br label %exc.cleanup2
+exc.k361:
+ store ptr %t901, ptr %s896
+ br label %tern.j357
+tern.j357:
+ %t905 = load ptr, ptr %s896
+ %t906 = call ptr @scr_dyn_obj_create(ptr %t905)
+ %t907 = load i32, ptr %exc.cell
+ %t908 = icmp ne i32 %t907, 0
+ %t909 = call i1 @llvm.expect.i1(i1 %t908, i1 false)
+ br i1 %t909, label %exc.u362, label %exc.k363
+exc.u362:
+ call void @scr_dyn_release(ptr %t872)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888)
+ call void @scr_dyn_release(ptr %t905)
+ call void @scr_dyn_release(ptr %t906)
+ br label %exc.cleanup2
+exc.k363:
+ call void @scr_dyn_release(ptr %t872)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t888)
+ call void @scr_dyn_release(ptr %t905)
+ %t910 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t910)
+ ret ptr %t906
+if.j347:
+ %t911 = load ptr, ptr %sc_l_p_0
+ %t912 = call ptr @sc_rc_retain_dyn(ptr %t911)
+ %t914 = icmp ne ptr %t912, null
+ br i1 %t914, label %dc.inspect364, label %dc.checked367
+dc.inspect364:
+ %t919 = getelementptr inbounds i8, ptr %t912, i64 8 ; ->kind
+ %t920 = load i32, ptr %t919
+ %t915 = icmp eq i32 %t920, 12
+ br i1 %t915, label %dc.capsule365, label %dc.checked367
+dc.capsule365:
+ %t916 = getelementptr inbounds i8, ptr %t912, i64 40 ; ->v.typed_ref.type_key
+ %t917 = load ptr, ptr %t916
+ %t918 = icmp eq ptr %t917, @sc_cs_3314970835853795
+ br i1 %t918, label %dc.exact366, label %dc.checked367
+dc.exact366:
+ %t921 = getelementptr inbounds i8, ptr %t912, i64 16 ; ->v.typed_ref.ptr
+ %t922 = load ptr, ptr %t921
+ %t923 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t922)
+ store ptr %t923, ptr %s913
+ br label %dc.done368
+dc.checked367:
+ %t924 = call ptr @sc_dc_79(ptr %t912, ptr null)
+ store ptr %t924, ptr %s913
+ %t925 = load i32, ptr %exc.cell
+ %t926 = icmp ne i32 %t925, 0
+ %t927 = call i1 @llvm.expect.i1(i1 %t926, i1 false)
+ br i1 %t927, label %exc.u369, label %exc.k370
+exc.u369:
+ call void @scr_dyn_release(ptr %t912)
+ br label %exc.cleanup2
+exc.k370:
+ br label %dc.done368
+dc.done368:
+ %t928 = load ptr, ptr %s913
+ %t929 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t928, i64 0, i32 2
+ %t930 = load ptr, ptr %t929, !tbaa !204
+ %t931 = call ptr @sc_rc_retain_dyn(ptr %t930)
+ call void @scr_dyn_release(ptr %t912)
+ call void @sc_release__x25_m6_AssetSource(ptr %t928)
+ %t932 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t932)
+ ret ptr %t931
+if.j338:
+ %t933 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s934
+ %t935 = icmp ne ptr %t933, null
+ br i1 %t935, label %brand.inspect371, label %brand.done373
+brand.inspect371:
+ %t936 = getelementptr inbounds i8, ptr %t933, i64 8 ; ->kind
+ %t937 = load i32, ptr %t936
+ %t938 = icmp eq i32 %t937, 12
+ br i1 %t938, label %brand.capsule372, label %brand.done373
+brand.capsule372:
+ %t939 = getelementptr inbounds i8, ptr %t933, i64 40 ; ->v.typed_ref.type_key
+ %t940 = load ptr, ptr %t939
+ %t941 = icmp eq ptr %t940, @sc_cs_3314970835853795
+ store i1 true, ptr %s934
+ br i1 %t941, label %brand.done373, label %brand.compare374
+brand.compare374:
+ %t942 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t933, ptr @sc_lit_3314970835853795)
+ store i1 %t942, ptr %s934
+ br label %brand.done373
+brand.done373:
+ %t943 = load i1, ptr %s934
+ br i1 %t943, label %if.t375, label %if.j376
+if.t375:
+ %t944 = load ptr, ptr %sc_l_p_0
+ %t945 = call ptr @sc_rc_retain_dyn(ptr %t944)
+ %t947 = icmp ne ptr %t945, null
+ br i1 %t947, label %dc.inspect377, label %dc.checked380
+dc.inspect377:
+ %t952 = getelementptr inbounds i8, ptr %t945, i64 8 ; ->kind
+ %t953 = load i32, ptr %t952
+ %t948 = icmp eq i32 %t953, 12
+ br i1 %t948, label %dc.capsule378, label %dc.checked380
+dc.capsule378:
+ %t949 = getelementptr inbounds i8, ptr %t945, i64 40 ; ->v.typed_ref.type_key
+ %t950 = load ptr, ptr %t949
+ %t951 = icmp eq ptr %t950, @sc_cs_3314970835853795
+ br i1 %t951, label %dc.exact379, label %dc.checked380
+dc.exact379:
+ %t954 = getelementptr inbounds i8, ptr %t945, i64 16 ; ->v.typed_ref.ptr
+ %t955 = load ptr, ptr %t954
+ %t956 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t955)
+ store ptr %t956, ptr %s946
+ br label %dc.done381
+dc.checked380:
+ %t957 = call ptr @sc_dc_79(ptr %t945, ptr null)
+ store ptr %t957, ptr %s946
+ %t958 = load i32, ptr %exc.cell
+ %t959 = icmp ne i32 %t958, 0
+ %t960 = call i1 @llvm.expect.i1(i1 %t959, i1 false)
+ br i1 %t960, label %exc.u382, label %exc.k383
+exc.u382:
+ call void @scr_dyn_release(ptr %t945)
+ br label %exc.cleanup2
+exc.k383:
+ br label %dc.done381
+dc.done381:
+ %t961 = load ptr, ptr %s946
+ %t962 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t961, i64 0, i32 2
+ %t963 = load ptr, ptr %t962, !tbaa !204
+ %t964 = getelementptr inbounds i8, ptr %t963, i64 8 ; ->kind
+ %t965 = load i32, ptr %t964
+ %t966 = icmp eq i32 %t965, 6
+ call void @scr_dyn_release(ptr %t945)
+ call void @sc_release__x25_m6_AssetSource(ptr %t961)
+ br i1 %t966, label %if.t384, label %if.j385
+if.t384:
+ %t967 = load ptr, ptr %sc_l_p_0
+ %t968 = call ptr @sc_rc_retain_dyn(ptr %t967)
+ %t970 = icmp ne ptr %t968, null
+ br i1 %t970, label %dc.inspect386, label %dc.checked389
+dc.inspect386:
+ %t975 = getelementptr inbounds i8, ptr %t968, i64 8 ; ->kind
+ %t976 = load i32, ptr %t975
+ %t971 = icmp eq i32 %t976, 12
+ br i1 %t971, label %dc.capsule387, label %dc.checked389
+dc.capsule387:
+ %t972 = getelementptr inbounds i8, ptr %t968, i64 40 ; ->v.typed_ref.type_key
+ %t973 = load ptr, ptr %t972
+ %t974 = icmp eq ptr %t973, @sc_cs_3314970835853795
+ br i1 %t974, label %dc.exact388, label %dc.checked389
+dc.exact388:
+ %t977 = getelementptr inbounds i8, ptr %t968, i64 16 ; ->v.typed_ref.ptr
+ %t978 = load ptr, ptr %t977
+ %t979 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t978)
+ store ptr %t979, ptr %s969
+ br label %dc.done390
+dc.checked389:
+ %t980 = call ptr @sc_dc_79(ptr %t968, ptr null)
+ store ptr %t980, ptr %s969
+ %t981 = load i32, ptr %exc.cell
+ %t982 = icmp ne i32 %t981, 0
+ %t983 = call i1 @llvm.expect.i1(i1 %t982, i1 false)
+ br i1 %t983, label %exc.u391, label %exc.k392
+exc.u391:
+ call void @scr_dyn_release(ptr %t968)
+ br label %exc.cleanup2
+exc.k392:
+ br label %dc.done390
+dc.done390:
+ %t984 = load ptr, ptr %s969
+ %t985 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t984, i64 0, i32 1
+ %t986 = load ptr, ptr %t985
+ %t987 = getelementptr inbounds %ScrVt, ptr %t986, i64 0, i32 0
+ %t988 = load i64, ptr %t987
+ %t989 = icmp uge i64 %t988, 37
+ %t990 = icmp ule i64 %t988, 38
+ %t991 = and i1 %t989, %t990 ; instanceof %m9.EmbeddedAssets
+ br i1 %t991, label %tern.t393, label %tern.f394
+tern.t393:
+ %t993 = load ptr, ptr %sc_l_p_0
+ %t994 = call ptr @sc_rc_retain_dyn(ptr %t993)
+ %t996 = icmp ne ptr %t994, null
+ br i1 %t996, label %dc.inspect396, label %dc.checked399
+dc.inspect396:
+ %t1001 = getelementptr inbounds i8, ptr %t994, i64 8 ; ->kind
+ %t1002 = load i32, ptr %t1001
+ %t997 = icmp eq i32 %t1002, 12
+ br i1 %t997, label %dc.capsule397, label %dc.checked399
+dc.capsule397:
+ %t998 = getelementptr inbounds i8, ptr %t994, i64 40 ; ->v.typed_ref.type_key
+ %t999 = load ptr, ptr %t998
+ %t1000 = icmp eq ptr %t999, @sc_cs_3314970835853795
+ br i1 %t1000, label %dc.exact398, label %dc.checked399
+dc.exact398:
+ %t1003 = getelementptr inbounds i8, ptr %t994, i64 16 ; ->v.typed_ref.ptr
+ %t1004 = load ptr, ptr %t1003
+ %t1005 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1004)
+ store ptr %t1005, ptr %s995
+ br label %dc.done400
+dc.checked399:
+ %t1006 = call ptr @sc_dc_79(ptr %t994, ptr null)
+ store ptr %t1006, ptr %s995
+ %t1007 = load i32, ptr %exc.cell
+ %t1008 = icmp ne i32 %t1007, 0
+ %t1009 = call i1 @llvm.expect.i1(i1 %t1008, i1 false)
+ br i1 %t1009, label %exc.u401, label %exc.k402
+exc.u401:
+ call void @scr_dyn_release(ptr %t994)
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ br label %exc.cleanup2
+exc.k402:
+ br label %dc.done400
+dc.done400:
+ %t1010 = load ptr, ptr %s995
+ %t1011 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1010, i64 0, i32 1
+ %t1012 = load ptr, ptr %t1011
+ %t1013 = getelementptr inbounds %ScrVt, ptr %t1012, i64 0, i32 0
+ %t1014 = load i64, ptr %t1013
+ %t1015 = icmp uge i64 %t1014, 38
+ %t1016 = icmp ule i64 %t1014, 38
+ %t1017 = and i1 %t1015, %t1016 ; instanceof %m14.BakedAssets
+ br i1 %t1017, label %tern.t403, label %tern.f404
+tern.t403:
+ %t1019 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t1020 = load i32, ptr %exc.cell
+ %t1021 = icmp ne i32 %t1020, 0
+ %t1022 = call i1 @llvm.expect.i1(i1 %t1021, i1 false)
+ br i1 %t1022, label %exc.u406, label %exc.k407
+exc.u406:
+ call void @scr_dyn_release(ptr %t1019)
+ call void @scr_dyn_release(ptr %t994)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1010)
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ br label %exc.cleanup2
+exc.k407:
+ store ptr %t1019, ptr %s1018
+ br label %tern.j405
+tern.f404:
+ %t1023 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t1024 = load i32, ptr %exc.cell
+ %t1025 = icmp ne i32 %t1024, 0
+ %t1026 = call i1 @llvm.expect.i1(i1 %t1025, i1 false)
+ br i1 %t1026, label %exc.u408, label %exc.k409
+exc.u408:
+ call void @scr_dyn_release(ptr %t1023)
+ call void @scr_dyn_release(ptr %t994)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1010)
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ br label %exc.cleanup2
+exc.k409:
+ store ptr %t1023, ptr %s1018
+ br label %tern.j405
+tern.j405:
+ %t1027 = load ptr, ptr %s1018
+ store ptr %t1027, ptr %s992
+ call void @scr_dyn_release(ptr %t994)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1010)
+ br label %tern.j395
+tern.f394:
+ %t1028 = call ptr @sc_f__x25_prototype_data__x25_m6_AssetSource()
+ %t1029 = load i32, ptr %exc.cell
+ %t1030 = icmp ne i32 %t1029, 0
+ %t1031 = call i1 @llvm.expect.i1(i1 %t1030, i1 false)
+ br i1 %t1031, label %exc.u410, label %exc.k411
+exc.u410:
+ call void @scr_dyn_release(ptr %t1028)
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ br label %exc.cleanup2
+exc.k411:
+ store ptr %t1028, ptr %s992
+ br label %tern.j395
+tern.j395:
+ %t1032 = load ptr, ptr %s992
+ %t1033 = call ptr @scr_dyn_obj_create(ptr %t1032)
+ %t1034 = load i32, ptr %exc.cell
+ %t1035 = icmp ne i32 %t1034, 0
+ %t1036 = call i1 @llvm.expect.i1(i1 %t1035, i1 false)
+ br i1 %t1036, label %exc.u412, label %exc.k413
+exc.u412:
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ call void @scr_dyn_release(ptr %t1032)
+ call void @scr_dyn_release(ptr %t1033)
+ br label %exc.cleanup2
+exc.k413:
+ call void @scr_dyn_release(ptr %t968)
+ call void @sc_release__x25_m6_AssetSource(ptr %t984)
+ call void @scr_dyn_release(ptr %t1032)
+ %t1037 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1037)
+ ret ptr %t1033
+if.j385:
+ %t1038 = load ptr, ptr %sc_l_p_0
+ %t1039 = call ptr @sc_rc_retain_dyn(ptr %t1038)
+ %t1041 = icmp ne ptr %t1039, null
+ br i1 %t1041, label %dc.inspect414, label %dc.checked417
+dc.inspect414:
+ %t1046 = getelementptr inbounds i8, ptr %t1039, i64 8 ; ->kind
+ %t1047 = load i32, ptr %t1046
+ %t1042 = icmp eq i32 %t1047, 12
+ br i1 %t1042, label %dc.capsule415, label %dc.checked417
+dc.capsule415:
+ %t1043 = getelementptr inbounds i8, ptr %t1039, i64 40 ; ->v.typed_ref.type_key
+ %t1044 = load ptr, ptr %t1043
+ %t1045 = icmp eq ptr %t1044, @sc_cs_3314970835853795
+ br i1 %t1045, label %dc.exact416, label %dc.checked417
+dc.exact416:
+ %t1048 = getelementptr inbounds i8, ptr %t1039, i64 16 ; ->v.typed_ref.ptr
+ %t1049 = load ptr, ptr %t1048
+ %t1050 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t1049)
+ store ptr %t1050, ptr %s1040
+ br label %dc.done418
+dc.checked417:
+ %t1051 = call ptr @sc_dc_79(ptr %t1039, ptr null)
+ store ptr %t1051, ptr %s1040
+ %t1052 = load i32, ptr %exc.cell
+ %t1053 = icmp ne i32 %t1052, 0
+ %t1054 = call i1 @llvm.expect.i1(i1 %t1053, i1 false)
+ br i1 %t1054, label %exc.u419, label %exc.k420
+exc.u419:
+ call void @scr_dyn_release(ptr %t1039)
+ br label %exc.cleanup2
+exc.k420:
+ br label %dc.done418
+dc.done418:
+ %t1055 = load ptr, ptr %s1040
+ %t1056 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t1055, i64 0, i32 2
+ %t1057 = load ptr, ptr %t1056, !tbaa !204
+ %t1058 = call ptr @sc_rc_retain_dyn(ptr %t1057)
+ call void @scr_dyn_release(ptr %t1039)
+ call void @sc_release__x25_m6_AssetSource(ptr %t1055)
+ %t1059 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1059)
+ ret ptr %t1058
+if.j376:
+ %t1060 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1061
+ %t1062 = icmp ne ptr %t1060, null
+ br i1 %t1062, label %brand.inspect421, label %brand.done423
+brand.inspect421:
+ %t1063 = getelementptr inbounds i8, ptr %t1060, i64 8 ; ->kind
+ %t1064 = load i32, ptr %t1063
+ %t1065 = icmp eq i32 %t1064, 12
+ br i1 %t1065, label %brand.capsule422, label %brand.done423
+brand.capsule422:
+ %t1066 = getelementptr inbounds i8, ptr %t1060, i64 40 ; ->v.typed_ref.type_key
+ %t1067 = load ptr, ptr %t1066
+ %t1068 = icmp eq ptr %t1067, @sc_cs_864190948149583
+ store i1 true, ptr %s1061
+ br i1 %t1068, label %brand.done423, label %brand.compare424
+brand.compare424:
+ %t1069 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1060, ptr @sc_lit_864190948149583)
+ store i1 %t1069, ptr %s1061
+ br label %brand.done423
+brand.done423:
+ %t1070 = load i1, ptr %s1061
+ br i1 %t1070, label %if.t425, label %if.j426
+if.t425:
+ %t1071 = load ptr, ptr %sc_l_p_0
+ %t1072 = call ptr @sc_rc_retain_dyn(ptr %t1071)
+ %t1074 = icmp ne ptr %t1072, null
+ br i1 %t1074, label %dc.inspect427, label %dc.checked430
+dc.inspect427:
+ %t1079 = getelementptr inbounds i8, ptr %t1072, i64 8 ; ->kind
+ %t1080 = load i32, ptr %t1079
+ %t1075 = icmp eq i32 %t1080, 12
+ br i1 %t1075, label %dc.capsule428, label %dc.checked430
+dc.capsule428:
+ %t1076 = getelementptr inbounds i8, ptr %t1072, i64 40 ; ->v.typed_ref.type_key
+ %t1077 = load ptr, ptr %t1076
+ %t1078 = icmp eq ptr %t1077, @sc_cs_864190948149583
+ br i1 %t1078, label %dc.exact429, label %dc.checked430
+dc.exact429:
+ %t1081 = getelementptr inbounds i8, ptr %t1072, i64 16 ; ->v.typed_ref.ptr
+ %t1082 = load ptr, ptr %t1081
+ %t1083 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1082)
+ store ptr %t1083, ptr %s1073
+ br label %dc.done431
+dc.checked430:
+ %t1084 = call ptr @sc_dc_103(ptr %t1072, ptr null)
+ store ptr %t1084, ptr %s1073
+ %t1085 = load i32, ptr %exc.cell
+ %t1086 = icmp ne i32 %t1085, 0
+ %t1087 = call i1 @llvm.expect.i1(i1 %t1086, i1 false)
+ br i1 %t1087, label %exc.u432, label %exc.k433
+exc.u432:
+ call void @scr_dyn_release(ptr %t1072)
+ br label %exc.cleanup2
+exc.k433:
+ br label %dc.done431
+dc.done431:
+ %t1088 = load ptr, ptr %s1073
+ %t1089 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1088, i64 0, i32 6
+ %t1090 = load ptr, ptr %t1089, !tbaa !204
+ %t1091 = getelementptr inbounds i8, ptr %t1090, i64 8 ; ->kind
+ %t1092 = load i32, ptr %t1091
+ %t1093 = icmp eq i32 %t1092, 6
+ call void @scr_dyn_release(ptr %t1072)
+ call void @sc_release__x25_m11_StaticServer(ptr %t1088)
+ br i1 %t1093, label %if.t434, label %if.j435
+if.t434:
+ %t1094 = call ptr @sc_f__x25_prototype_data__x25_m11_StaticServer()
+ %t1095 = load i32, ptr %exc.cell
+ %t1096 = icmp ne i32 %t1095, 0
+ %t1097 = call i1 @llvm.expect.i1(i1 %t1096, i1 false)
+ br i1 %t1097, label %exc.u436, label %exc.k437
+exc.u436:
+ call void @scr_dyn_release(ptr %t1094)
+ br label %exc.cleanup2
+exc.k437:
+ %t1098 = call ptr @scr_dyn_obj_create(ptr %t1094)
+ %t1099 = load i32, ptr %exc.cell
+ %t1100 = icmp ne i32 %t1099, 0
+ %t1101 = call i1 @llvm.expect.i1(i1 %t1100, i1 false)
+ br i1 %t1101, label %exc.u438, label %exc.k439
+exc.u438:
+ call void @scr_dyn_release(ptr %t1094)
+ call void @scr_dyn_release(ptr %t1098)
+ br label %exc.cleanup2
+exc.k439:
+ call void @scr_dyn_release(ptr %t1094)
+ %t1102 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1102)
+ ret ptr %t1098
+if.j435:
+ %t1103 = load ptr, ptr %sc_l_p_0
+ %t1104 = call ptr @sc_rc_retain_dyn(ptr %t1103)
+ %t1106 = icmp ne ptr %t1104, null
+ br i1 %t1106, label %dc.inspect440, label %dc.checked443
+dc.inspect440:
+ %t1111 = getelementptr inbounds i8, ptr %t1104, i64 8 ; ->kind
+ %t1112 = load i32, ptr %t1111
+ %t1107 = icmp eq i32 %t1112, 12
+ br i1 %t1107, label %dc.capsule441, label %dc.checked443
+dc.capsule441:
+ %t1108 = getelementptr inbounds i8, ptr %t1104, i64 40 ; ->v.typed_ref.type_key
+ %t1109 = load ptr, ptr %t1108
+ %t1110 = icmp eq ptr %t1109, @sc_cs_864190948149583
+ br i1 %t1110, label %dc.exact442, label %dc.checked443
+dc.exact442:
+ %t1113 = getelementptr inbounds i8, ptr %t1104, i64 16 ; ->v.typed_ref.ptr
+ %t1114 = load ptr, ptr %t1113
+ %t1115 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t1114)
+ store ptr %t1115, ptr %s1105
+ br label %dc.done444
+dc.checked443:
+ %t1116 = call ptr @sc_dc_103(ptr %t1104, ptr null)
+ store ptr %t1116, ptr %s1105
+ %t1117 = load i32, ptr %exc.cell
+ %t1118 = icmp ne i32 %t1117, 0
+ %t1119 = call i1 @llvm.expect.i1(i1 %t1118, i1 false)
+ br i1 %t1119, label %exc.u445, label %exc.k446
+exc.u445:
+ call void @scr_dyn_release(ptr %t1104)
+ br label %exc.cleanup2
+exc.k446:
+ br label %dc.done444
+dc.done444:
+ %t1120 = load ptr, ptr %s1105
+ %t1121 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t1120, i64 0, i32 6
+ %t1122 = load ptr, ptr %t1121, !tbaa !204
+ %t1123 = call ptr @sc_rc_retain_dyn(ptr %t1122)
+ call void @scr_dyn_release(ptr %t1104)
+ call void @sc_release__x25_m11_StaticServer(ptr %t1120)
+ %t1124 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1124)
+ ret ptr %t1123
+if.j426:
+ %t1125 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1126
+ %t1127 = icmp ne ptr %t1125, null
+ br i1 %t1127, label %brand.inspect447, label %brand.done449
+brand.inspect447:
+ %t1128 = getelementptr inbounds i8, ptr %t1125, i64 8 ; ->kind
+ %t1129 = load i32, ptr %t1128
+ %t1130 = icmp eq i32 %t1129, 12
+ br i1 %t1130, label %brand.capsule448, label %brand.done449
+brand.capsule448:
+ %t1131 = getelementptr inbounds i8, ptr %t1125, i64 40 ; ->v.typed_ref.type_key
+ %t1132 = load ptr, ptr %t1131
+ %t1133 = icmp eq ptr %t1132, @sc_cs_4074974279575818
+ store i1 true, ptr %s1126
+ br i1 %t1133, label %brand.done449, label %brand.compare450
+brand.compare450:
+ %t1134 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1125, ptr @sc_lit_4074974279575818)
+ store i1 %t1134, ptr %s1126
+ br label %brand.done449
+brand.done449:
+ %t1135 = load i1, ptr %s1126
+ br i1 %t1135, label %if.t451, label %if.j452
+if.t451:
+ %t1136 = load ptr, ptr %sc_l_p_0
+ %t1137 = call ptr @sc_rc_retain_dyn(ptr %t1136)
+ %t1139 = icmp ne ptr %t1137, null
+ br i1 %t1139, label %dc.inspect453, label %dc.checked456
+dc.inspect453:
+ %t1144 = getelementptr inbounds i8, ptr %t1137, i64 8 ; ->kind
+ %t1145 = load i32, ptr %t1144
+ %t1140 = icmp eq i32 %t1145, 12
+ br i1 %t1140, label %dc.capsule454, label %dc.checked456
+dc.capsule454:
+ %t1141 = getelementptr inbounds i8, ptr %t1137, i64 40 ; ->v.typed_ref.type_key
+ %t1142 = load ptr, ptr %t1141
+ %t1143 = icmp eq ptr %t1142, @sc_cs_4074974279575818
+ br i1 %t1143, label %dc.exact455, label %dc.checked456
+dc.exact455:
+ %t1146 = getelementptr inbounds i8, ptr %t1137, i64 16 ; ->v.typed_ref.ptr
+ %t1147 = load ptr, ptr %t1146
+ %t1148 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1147)
+ store ptr %t1148, ptr %s1138
+ br label %dc.done457
+dc.checked456:
+ %t1149 = call ptr @sc_dc_104(ptr %t1137, ptr null)
+ store ptr %t1149, ptr %s1138
+ %t1150 = load i32, ptr %exc.cell
+ %t1151 = icmp ne i32 %t1150, 0
+ %t1152 = call i1 @llvm.expect.i1(i1 %t1151, i1 false)
+ br i1 %t1152, label %exc.u458, label %exc.k459
+exc.u458:
+ call void @scr_dyn_release(ptr %t1137)
+ br label %exc.cleanup2
+exc.k459:
+ br label %dc.done457
+dc.done457:
+ %t1153 = load ptr, ptr %s1138
+ %t1154 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1153, i64 0, i32 2
+ %t1155 = load ptr, ptr %t1154, !tbaa !204
+ %t1156 = getelementptr inbounds i8, ptr %t1155, i64 8 ; ->kind
+ %t1157 = load i32, ptr %t1156
+ %t1158 = icmp eq i32 %t1157, 6
+ call void @scr_dyn_release(ptr %t1137)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1153)
+ br i1 %t1158, label %if.t460, label %if.j461
+if.t460:
+ %t1159 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1160 = load i32, ptr %exc.cell
+ %t1161 = icmp ne i32 %t1160, 0
+ %t1162 = call i1 @llvm.expect.i1(i1 %t1161, i1 false)
+ br i1 %t1162, label %exc.u462, label %exc.k463
+exc.u462:
+ call void @scr_dyn_release(ptr %t1159)
+ br label %exc.cleanup2
+exc.k463:
+ %t1163 = call ptr @scr_dyn_obj_create(ptr %t1159)
+ %t1164 = load i32, ptr %exc.cell
+ %t1165 = icmp ne i32 %t1164, 0
+ %t1166 = call i1 @llvm.expect.i1(i1 %t1165, i1 false)
+ br i1 %t1166, label %exc.u464, label %exc.k465
+exc.u464:
+ call void @scr_dyn_release(ptr %t1159)
+ call void @scr_dyn_release(ptr %t1163)
+ br label %exc.cleanup2
+exc.k465:
+ call void @scr_dyn_release(ptr %t1159)
+ %t1167 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1167)
+ ret ptr %t1163
+if.j461:
+ %t1168 = load ptr, ptr %sc_l_p_0
+ %t1169 = call ptr @sc_rc_retain_dyn(ptr %t1168)
+ %t1171 = icmp ne ptr %t1169, null
+ br i1 %t1171, label %dc.inspect466, label %dc.checked469
+dc.inspect466:
+ %t1176 = getelementptr inbounds i8, ptr %t1169, i64 8 ; ->kind
+ %t1177 = load i32, ptr %t1176
+ %t1172 = icmp eq i32 %t1177, 12
+ br i1 %t1172, label %dc.capsule467, label %dc.checked469
+dc.capsule467:
+ %t1173 = getelementptr inbounds i8, ptr %t1169, i64 40 ; ->v.typed_ref.type_key
+ %t1174 = load ptr, ptr %t1173
+ %t1175 = icmp eq ptr %t1174, @sc_cs_4074974279575818
+ br i1 %t1175, label %dc.exact468, label %dc.checked469
+dc.exact468:
+ %t1178 = getelementptr inbounds i8, ptr %t1169, i64 16 ; ->v.typed_ref.ptr
+ %t1179 = load ptr, ptr %t1178
+ %t1180 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t1179)
+ store ptr %t1180, ptr %s1170
+ br label %dc.done470
+dc.checked469:
+ %t1181 = call ptr @sc_dc_104(ptr %t1169, ptr null)
+ store ptr %t1181, ptr %s1170
+ %t1182 = load i32, ptr %exc.cell
+ %t1183 = icmp ne i32 %t1182, 0
+ %t1184 = call i1 @llvm.expect.i1(i1 %t1183, i1 false)
+ br i1 %t1184, label %exc.u471, label %exc.k472
+exc.u471:
+ call void @scr_dyn_release(ptr %t1169)
+ br label %exc.cleanup2
+exc.k472:
+ br label %dc.done470
+dc.done470:
+ %t1185 = load ptr, ptr %s1170
+ %t1186 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1185, i64 0, i32 2
+ %t1187 = load ptr, ptr %t1186, !tbaa !204
+ %t1188 = call ptr @sc_rc_retain_dyn(ptr %t1187)
+ call void @scr_dyn_release(ptr %t1169)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t1185)
+ %t1189 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1189)
+ ret ptr %t1188
+if.j452:
+ %t1190 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1191
+ %t1192 = icmp ne ptr %t1190, null
+ br i1 %t1192, label %brand.inspect473, label %brand.done475
+brand.inspect473:
+ %t1193 = getelementptr inbounds i8, ptr %t1190, i64 8 ; ->kind
+ %t1194 = load i32, ptr %t1193
+ %t1195 = icmp eq i32 %t1194, 12
+ br i1 %t1195, label %brand.capsule474, label %brand.done475
+brand.capsule474:
+ %t1196 = getelementptr inbounds i8, ptr %t1190, i64 40 ; ->v.typed_ref.type_key
+ %t1197 = load ptr, ptr %t1196
+ %t1198 = icmp eq ptr %t1197, @sc_cs_4408523527888294
+ store i1 true, ptr %s1191
+ br i1 %t1198, label %brand.done475, label %brand.compare476
+brand.compare476:
+ %t1199 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1190, ptr @sc_lit_4408523527888294)
+ store i1 %t1199, ptr %s1191
+ br label %brand.done475
+brand.done475:
+ %t1200 = load i1, ptr %s1191
+ br i1 %t1200, label %if.t477, label %if.j478
+if.t477:
+ %t1201 = load ptr, ptr %sc_l_p_0
+ %t1202 = call ptr @sc_rc_retain_dyn(ptr %t1201)
+ %t1204 = icmp ne ptr %t1202, null
+ br i1 %t1204, label %dc.inspect479, label %dc.checked482
+dc.inspect479:
+ %t1209 = getelementptr inbounds i8, ptr %t1202, i64 8 ; ->kind
+ %t1210 = load i32, ptr %t1209
+ %t1205 = icmp eq i32 %t1210, 12
+ br i1 %t1205, label %dc.capsule480, label %dc.checked482
+dc.capsule480:
+ %t1206 = getelementptr inbounds i8, ptr %t1202, i64 40 ; ->v.typed_ref.type_key
+ %t1207 = load ptr, ptr %t1206
+ %t1208 = icmp eq ptr %t1207, @sc_cs_4408523527888294
+ br i1 %t1208, label %dc.exact481, label %dc.checked482
+dc.exact481:
+ %t1211 = getelementptr inbounds i8, ptr %t1202, i64 16 ; ->v.typed_ref.ptr
+ %t1212 = load ptr, ptr %t1211
+ %t1213 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1212)
+ store ptr %t1213, ptr %s1203
+ br label %dc.done483
+dc.checked482:
+ %t1214 = call ptr @sc_dc_21(ptr %t1202, ptr null)
+ store ptr %t1214, ptr %s1203
+ %t1215 = load i32, ptr %exc.cell
+ %t1216 = icmp ne i32 %t1215, 0
+ %t1217 = call i1 @llvm.expect.i1(i1 %t1216, i1 false)
+ br i1 %t1217, label %exc.u484, label %exc.k485
+exc.u484:
+ call void @scr_dyn_release(ptr %t1202)
+ br label %exc.cleanup2
+exc.k485:
+ br label %dc.done483
+dc.done483:
+ %t1218 = load ptr, ptr %s1203
+ %t1219 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1218, i64 0, i32 7
+ %t1220 = load ptr, ptr %t1219, !tbaa !204
+ %t1221 = getelementptr inbounds i8, ptr %t1220, i64 8 ; ->kind
+ %t1222 = load i32, ptr %t1221
+ %t1223 = icmp eq i32 %t1222, 6
+ call void @scr_dyn_release(ptr %t1202)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t1218)
+ br i1 %t1223, label %if.t486, label %if.j487
+if.t486:
+ %t1224 = call ptr @scr_dyn_new_obj()
+ %t1225 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1225)
+ ret ptr %t1224
+if.j487:
+ %t1226 = load ptr, ptr %sc_l_p_0
+ %t1227 = call ptr @sc_rc_retain_dyn(ptr %t1226)
+ %t1229 = icmp ne ptr %t1227, null
+ br i1 %t1229, label %dc.inspect488, label %dc.checked491
+dc.inspect488:
+ %t1234 = getelementptr inbounds i8, ptr %t1227, i64 8 ; ->kind
+ %t1235 = load i32, ptr %t1234
+ %t1230 = icmp eq i32 %t1235, 12
+ br i1 %t1230, label %dc.capsule489, label %dc.checked491
+dc.capsule489:
+ %t1231 = getelementptr inbounds i8, ptr %t1227, i64 40 ; ->v.typed_ref.type_key
+ %t1232 = load ptr, ptr %t1231
+ %t1233 = icmp eq ptr %t1232, @sc_cs_4408523527888294
+ br i1 %t1233, label %dc.exact490, label %dc.checked491
+dc.exact490:
+ %t1236 = getelementptr inbounds i8, ptr %t1227, i64 16 ; ->v.typed_ref.ptr
+ %t1237 = load ptr, ptr %t1236
+ %t1238 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t1237)
+ store ptr %t1238, ptr %s1228
+ br label %dc.done492
+dc.checked491:
+ %t1239 = call ptr @sc_dc_21(ptr %t1227, ptr null)
+ store ptr %t1239, ptr %s1228
+ %t1240 = load i32, ptr %exc.cell
+ %t1241 = icmp ne i32 %t1240, 0
+ %t1242 = call i1 @llvm.expect.i1(i1 %t1241, i1 false)
+ br i1 %t1242, label %exc.u493, label %exc.k494
+exc.u493:
+ call void @scr_dyn_release(ptr %t1227)
+ br label %exc.cleanup2
+exc.k494:
+ br label %dc.done492
+dc.done492:
+ %t1243 = load ptr, ptr %s1228
+ %t1244 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t1243, i64 0, i32 7
+ %t1245 = load ptr, ptr %t1244, !tbaa !204
+ %t1246 = call ptr @sc_rc_retain_dyn(ptr %t1245)
+ call void @scr_dyn_release(ptr %t1227)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t1243)
+ %t1247 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1247)
+ ret ptr %t1246
+if.j478:
+ %t1248 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1249
+ %t1250 = icmp ne ptr %t1248, null
+ br i1 %t1250, label %brand.inspect495, label %brand.done497
+brand.inspect495:
+ %t1251 = getelementptr inbounds i8, ptr %t1248, i64 8 ; ->kind
+ %t1252 = load i32, ptr %t1251
+ %t1253 = icmp eq i32 %t1252, 12
+ br i1 %t1253, label %brand.capsule496, label %brand.done497
+brand.capsule496:
+ %t1254 = getelementptr inbounds i8, ptr %t1248, i64 40 ; ->v.typed_ref.type_key
+ %t1255 = load ptr, ptr %t1254
+ %t1256 = icmp eq ptr %t1255, @sc_cs_3163508115280491
+ store i1 true, ptr %s1249
+ br i1 %t1256, label %brand.done497, label %brand.compare498
+brand.compare498:
+ %t1257 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1248, ptr @sc_lit_3163508115280491)
+ store i1 %t1257, ptr %s1249
+ br label %brand.done497
+brand.done497:
+ %t1258 = load i1, ptr %s1249
+ br i1 %t1258, label %if.t499, label %if.j500
+if.t499:
+ %t1259 = load ptr, ptr %sc_l_p_0
+ %t1260 = call ptr @sc_rc_retain_dyn(ptr %t1259)
+ %t1262 = icmp ne ptr %t1260, null
+ br i1 %t1262, label %dc.inspect501, label %dc.checked504
+dc.inspect501:
+ %t1267 = getelementptr inbounds i8, ptr %t1260, i64 8 ; ->kind
+ %t1268 = load i32, ptr %t1267
+ %t1263 = icmp eq i32 %t1268, 12
+ br i1 %t1263, label %dc.capsule502, label %dc.checked504
+dc.capsule502:
+ %t1264 = getelementptr inbounds i8, ptr %t1260, i64 40 ; ->v.typed_ref.type_key
+ %t1265 = load ptr, ptr %t1264
+ %t1266 = icmp eq ptr %t1265, @sc_cs_3163508115280491
+ br i1 %t1266, label %dc.exact503, label %dc.checked504
+dc.exact503:
+ %t1269 = getelementptr inbounds i8, ptr %t1260, i64 16 ; ->v.typed_ref.ptr
+ %t1270 = load ptr, ptr %t1269
+ %t1271 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1270)
+ store ptr %t1271, ptr %s1261
+ br label %dc.done505
+dc.checked504:
+ %t1272 = call ptr @sc_dc_105(ptr %t1260, ptr null)
+ store ptr %t1272, ptr %s1261
+ %t1273 = load i32, ptr %exc.cell
+ %t1274 = icmp ne i32 %t1273, 0
+ %t1275 = call i1 @llvm.expect.i1(i1 %t1274, i1 false)
+ br i1 %t1275, label %exc.u506, label %exc.k507
+exc.u506:
+ call void @scr_dyn_release(ptr %t1260)
+ br label %exc.cleanup2
+exc.k507:
+ br label %dc.done505
+dc.done505:
+ %t1276 = load ptr, ptr %s1261
+ %t1277 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1276, i64 0, i32 21
+ %t1278 = load ptr, ptr %t1277, !tbaa !204
+ %t1279 = getelementptr inbounds i8, ptr %t1278, i64 8 ; ->kind
+ %t1280 = load i32, ptr %t1279
+ %t1281 = icmp eq i32 %t1280, 6
+ call void @scr_dyn_release(ptr %t1260)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t1276)
+ br i1 %t1281, label %if.t508, label %if.j509
+if.t508:
+ %t1282 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser()
+ %t1283 = load i32, ptr %exc.cell
+ %t1284 = icmp ne i32 %t1283, 0
+ %t1285 = call i1 @llvm.expect.i1(i1 %t1284, i1 false)
+ br i1 %t1285, label %exc.u510, label %exc.k511
+exc.u510:
+ call void @scr_dyn_release(ptr %t1282)
+ br label %exc.cleanup2
+exc.k511:
+ %t1286 = call ptr @scr_dyn_obj_create(ptr %t1282)
+ %t1287 = load i32, ptr %exc.cell
+ %t1288 = icmp ne i32 %t1287, 0
+ %t1289 = call i1 @llvm.expect.i1(i1 %t1288, i1 false)
+ br i1 %t1289, label %exc.u512, label %exc.k513
+exc.u512:
+ call void @scr_dyn_release(ptr %t1282)
+ call void @scr_dyn_release(ptr %t1286)
+ br label %exc.cleanup2
+exc.k513:
+ call void @scr_dyn_release(ptr %t1282)
+ %t1290 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1290)
+ ret ptr %t1286
+if.j509:
+ %t1291 = load ptr, ptr %sc_l_p_0
+ %t1292 = call ptr @sc_rc_retain_dyn(ptr %t1291)
+ %t1294 = icmp ne ptr %t1292, null
+ br i1 %t1294, label %dc.inspect514, label %dc.checked517
+dc.inspect514:
+ %t1299 = getelementptr inbounds i8, ptr %t1292, i64 8 ; ->kind
+ %t1300 = load i32, ptr %t1299
+ %t1295 = icmp eq i32 %t1300, 12
+ br i1 %t1295, label %dc.capsule515, label %dc.checked517
+dc.capsule515:
+ %t1296 = getelementptr inbounds i8, ptr %t1292, i64 40 ; ->v.typed_ref.type_key
+ %t1297 = load ptr, ptr %t1296
+ %t1298 = icmp eq ptr %t1297, @sc_cs_3163508115280491
+ br i1 %t1298, label %dc.exact516, label %dc.checked517
+dc.exact516:
+ %t1301 = getelementptr inbounds i8, ptr %t1292, i64 16 ; ->v.typed_ref.ptr
+ %t1302 = load ptr, ptr %t1301
+ %t1303 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t1302)
+ store ptr %t1303, ptr %s1293
+ br label %dc.done518
+dc.checked517:
+ %t1304 = call ptr @sc_dc_105(ptr %t1292, ptr null)
+ store ptr %t1304, ptr %s1293
+ %t1305 = load i32, ptr %exc.cell
+ %t1306 = icmp ne i32 %t1305, 0
+ %t1307 = call i1 @llvm.expect.i1(i1 %t1306, i1 false)
+ br i1 %t1307, label %exc.u519, label %exc.k520
+exc.u519:
+ call void @scr_dyn_release(ptr %t1292)
+ br label %exc.cleanup2
+exc.k520:
+ br label %dc.done518
+dc.done518:
+ %t1308 = load ptr, ptr %s1293
+ %t1309 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t1308, i64 0, i32 21
+ %t1310 = load ptr, ptr %t1309, !tbaa !204
+ %t1311 = call ptr @sc_rc_retain_dyn(ptr %t1310)
+ call void @scr_dyn_release(ptr %t1292)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t1308)
+ %t1312 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1312)
+ ret ptr %t1311
+if.j500:
+ %t1313 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1314
+ %t1315 = icmp ne ptr %t1313, null
+ br i1 %t1315, label %brand.inspect521, label %brand.done523
+brand.inspect521:
+ %t1316 = getelementptr inbounds i8, ptr %t1313, i64 8 ; ->kind
+ %t1317 = load i32, ptr %t1316
+ %t1318 = icmp eq i32 %t1317, 12
+ br i1 %t1318, label %brand.capsule522, label %brand.done523
+brand.capsule522:
+ %t1319 = getelementptr inbounds i8, ptr %t1313, i64 40 ; ->v.typed_ref.type_key
+ %t1320 = load ptr, ptr %t1319
+ %t1321 = icmp eq ptr %t1320, @sc_cs_1875086966829314
+ store i1 true, ptr %s1314
+ br i1 %t1321, label %brand.done523, label %brand.compare524
+brand.compare524:
+ %t1322 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1313, ptr @sc_lit_1875086966829314)
+ store i1 %t1322, ptr %s1314
+ br label %brand.done523
+brand.done523:
+ %t1323 = load i1, ptr %s1314
+ br i1 %t1323, label %if.t525, label %if.j526
+if.t525:
+ %t1324 = load ptr, ptr %sc_l_p_0
+ %t1325 = call ptr @sc_rc_retain_dyn(ptr %t1324)
+ %t1327 = icmp ne ptr %t1325, null
+ br i1 %t1327, label %dc.inspect527, label %dc.checked530
+dc.inspect527:
+ %t1332 = getelementptr inbounds i8, ptr %t1325, i64 8 ; ->kind
+ %t1333 = load i32, ptr %t1332
+ %t1328 = icmp eq i32 %t1333, 12
+ br i1 %t1328, label %dc.capsule528, label %dc.checked530
+dc.capsule528:
+ %t1329 = getelementptr inbounds i8, ptr %t1325, i64 40 ; ->v.typed_ref.type_key
+ %t1330 = load ptr, ptr %t1329
+ %t1331 = icmp eq ptr %t1330, @sc_cs_1875086966829314
+ br i1 %t1331, label %dc.exact529, label %dc.checked530
+dc.exact529:
+ %t1334 = getelementptr inbounds i8, ptr %t1325, i64 16 ; ->v.typed_ref.ptr
+ %t1335 = load ptr, ptr %t1334
+ %t1336 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1335)
+ store ptr %t1336, ptr %s1326
+ br label %dc.done531
+dc.checked530:
+ %t1337 = call ptr @sc_dc_106(ptr %t1325, ptr null)
+ store ptr %t1337, ptr %s1326
+ %t1338 = load i32, ptr %exc.cell
+ %t1339 = icmp ne i32 %t1338, 0
+ %t1340 = call i1 @llvm.expect.i1(i1 %t1339, i1 false)
+ br i1 %t1340, label %exc.u532, label %exc.k533
+exc.u532:
+ call void @scr_dyn_release(ptr %t1325)
+ br label %exc.cleanup2
+exc.k533:
+ br label %dc.done531
+dc.done531:
+ %t1341 = load ptr, ptr %s1326
+ %t1342 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1341, i64 0, i32 22
+ %t1343 = load ptr, ptr %t1342, !tbaa !204
+ %t1344 = getelementptr inbounds i8, ptr %t1343, i64 8 ; ->kind
+ %t1345 = load i32, ptr %t1344
+ %t1346 = icmp eq i32 %t1345, 6
+ call void @scr_dyn_release(ptr %t1325)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1341)
+ br i1 %t1346, label %if.t534, label %if.j535
+if.t534:
+ %t1347 = call ptr @scr_dyn_new_obj()
+ %t1348 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1348)
+ ret ptr %t1347
+if.j535:
+ %t1349 = load ptr, ptr %sc_l_p_0
+ %t1350 = call ptr @sc_rc_retain_dyn(ptr %t1349)
+ %t1352 = icmp ne ptr %t1350, null
+ br i1 %t1352, label %dc.inspect536, label %dc.checked539
+dc.inspect536:
+ %t1357 = getelementptr inbounds i8, ptr %t1350, i64 8 ; ->kind
+ %t1358 = load i32, ptr %t1357
+ %t1353 = icmp eq i32 %t1358, 12
+ br i1 %t1353, label %dc.capsule537, label %dc.checked539
+dc.capsule537:
+ %t1354 = getelementptr inbounds i8, ptr %t1350, i64 40 ; ->v.typed_ref.type_key
+ %t1355 = load ptr, ptr %t1354
+ %t1356 = icmp eq ptr %t1355, @sc_cs_1875086966829314
+ br i1 %t1356, label %dc.exact538, label %dc.checked539
+dc.exact538:
+ %t1359 = getelementptr inbounds i8, ptr %t1350, i64 16 ; ->v.typed_ref.ptr
+ %t1360 = load ptr, ptr %t1359
+ %t1361 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t1360)
+ store ptr %t1361, ptr %s1351
+ br label %dc.done540
+dc.checked539:
+ %t1362 = call ptr @sc_dc_106(ptr %t1350, ptr null)
+ store ptr %t1362, ptr %s1351
+ %t1363 = load i32, ptr %exc.cell
+ %t1364 = icmp ne i32 %t1363, 0
+ %t1365 = call i1 @llvm.expect.i1(i1 %t1364, i1 false)
+ br i1 %t1365, label %exc.u541, label %exc.k542
+exc.u541:
+ call void @scr_dyn_release(ptr %t1350)
+ br label %exc.cleanup2
+exc.k542:
+ br label %dc.done540
+dc.done540:
+ %t1366 = load ptr, ptr %s1351
+ %t1367 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t1366, i64 0, i32 22
+ %t1368 = load ptr, ptr %t1367, !tbaa !204
+ %t1369 = call ptr @sc_rc_retain_dyn(ptr %t1368)
+ call void @scr_dyn_release(ptr %t1350)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t1366)
+ %t1370 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1370)
+ ret ptr %t1369
+if.j526:
+ %t1371 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1372
+ %t1373 = icmp ne ptr %t1371, null
+ br i1 %t1373, label %brand.inspect543, label %brand.done545
+brand.inspect543:
+ %t1374 = getelementptr inbounds i8, ptr %t1371, i64 8 ; ->kind
+ %t1375 = load i32, ptr %t1374
+ %t1376 = icmp eq i32 %t1375, 12
+ br i1 %t1376, label %brand.capsule544, label %brand.done545
+brand.capsule544:
+ %t1377 = getelementptr inbounds i8, ptr %t1371, i64 40 ; ->v.typed_ref.type_key
+ %t1378 = load ptr, ptr %t1377
+ %t1379 = icmp eq ptr %t1378, @sc_cs_2434838942941195
+ store i1 true, ptr %s1372
+ br i1 %t1379, label %brand.done545, label %brand.compare546
+brand.compare546:
+ %t1380 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1371, ptr @sc_lit_2434838942941195)
+ store i1 %t1380, ptr %s1372
+ br label %brand.done545
+brand.done545:
+ %t1381 = load i1, ptr %s1372
+ br i1 %t1381, label %tern.t547, label %tern.f548
+tern.t547:
+ %t1383 = load ptr, ptr %sc_l_p_0
+ %t1384 = call ptr @sc_rc_retain_dyn(ptr %t1383)
+ %t1386 = icmp ne ptr %t1384, null
+ br i1 %t1386, label %dc.inspect550, label %dc.checked553
+dc.inspect550:
+ %t1391 = getelementptr inbounds i8, ptr %t1384, i64 8 ; ->kind
+ %t1392 = load i32, ptr %t1391
+ %t1387 = icmp eq i32 %t1392, 12
+ br i1 %t1387, label %dc.capsule551, label %dc.checked553
+dc.capsule551:
+ %t1388 = getelementptr inbounds i8, ptr %t1384, i64 40 ; ->v.typed_ref.type_key
+ %t1389 = load ptr, ptr %t1388
+ %t1390 = icmp eq ptr %t1389, @sc_cs_2434838942941195
+ br i1 %t1390, label %dc.exact552, label %dc.checked553
+dc.exact552:
+ %t1393 = getelementptr inbounds i8, ptr %t1384, i64 16 ; ->v.typed_ref.ptr
+ %t1394 = load ptr, ptr %t1393
+ %t1395 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1394)
+ store ptr %t1395, ptr %s1385
+ br label %dc.done554
+dc.checked553:
+ %t1396 = call ptr @sc_dc_52(ptr %t1384, ptr null)
+ store ptr %t1396, ptr %s1385
+ %t1397 = load i32, ptr %exc.cell
+ %t1398 = icmp ne i32 %t1397, 0
+ %t1399 = call i1 @llvm.expect.i1(i1 %t1398, i1 false)
+ br i1 %t1399, label %exc.u555, label %exc.k556
+exc.u555:
+ call void @scr_dyn_release(ptr %t1384)
+ br label %exc.cleanup2
+exc.k556:
+ br label %dc.done554
+dc.done554:
+ %t1400 = load ptr, ptr %s1385
+ %t1401 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1400, i64 0, i32 1
+ %t1402 = load ptr, ptr %t1401
+ %t1403 = getelementptr inbounds %ScrVt, ptr %t1402, i64 0, i32 0
+ %t1404 = load i64, ptr %t1403
+ %t1405 = icmp uge i64 %t1404, 18
+ %t1406 = icmp ule i64 %t1404, 18
+ %t1407 = and i1 %t1405, %t1406 ; instanceof %m3.LiteResponse
+ store i1 %t1407, ptr %s1382
+ call void @scr_dyn_release(ptr %t1384)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1400)
+ br label %tern.j549
+tern.f548:
+ store i1 false, ptr %s1382
+ br label %tern.j549
+tern.j549:
+ %t1408 = load i1, ptr %s1382
+ br i1 %t1408, label %if.t557, label %if.j558
+if.t557:
+ %t1409 = load ptr, ptr %sc_l_p_0
+ %t1410 = call ptr @sc_rc_retain_dyn(ptr %t1409)
+ %t1412 = icmp ne ptr %t1410, null
+ br i1 %t1412, label %dc.inspect559, label %dc.checked562
+dc.inspect559:
+ %t1417 = getelementptr inbounds i8, ptr %t1410, i64 8 ; ->kind
+ %t1418 = load i32, ptr %t1417
+ %t1413 = icmp eq i32 %t1418, 12
+ br i1 %t1413, label %dc.capsule560, label %dc.checked562
+dc.capsule560:
+ %t1414 = getelementptr inbounds i8, ptr %t1410, i64 40 ; ->v.typed_ref.type_key
+ %t1415 = load ptr, ptr %t1414
+ %t1416 = icmp eq ptr %t1415, @sc_cs_2434838942941195
+ br i1 %t1416, label %dc.exact561, label %dc.checked562
+dc.exact561:
+ %t1419 = getelementptr inbounds i8, ptr %t1410, i64 16 ; ->v.typed_ref.ptr
+ %t1420 = load ptr, ptr %t1419
+ %t1421 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1420)
+ store ptr %t1421, ptr %s1411
+ br label %dc.done563
+dc.checked562:
+ %t1422 = call ptr @sc_dc_52(ptr %t1410, ptr null)
+ store ptr %t1422, ptr %s1411
+ %t1423 = load i32, ptr %exc.cell
+ %t1424 = icmp ne i32 %t1423, 0
+ %t1425 = call i1 @llvm.expect.i1(i1 %t1424, i1 false)
+ br i1 %t1425, label %exc.u564, label %exc.k565
+exc.u564:
+ call void @scr_dyn_release(ptr %t1410)
+ br label %exc.cleanup2
+exc.k565:
+ br label %dc.done563
+dc.done563:
+ %t1426 = load ptr, ptr %s1411
+ %t1427 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1426, i64 0, i32 2
+ %t1428 = load ptr, ptr %t1427, !tbaa !204
+ %t1429 = getelementptr inbounds i8, ptr %t1428, i64 8 ; ->kind
+ %t1430 = load i32, ptr %t1429
+ %t1431 = icmp eq i32 %t1430, 6
+ call void @scr_dyn_release(ptr %t1410)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1426)
+ br i1 %t1431, label %if.t566, label %if.j567
+if.t566:
+ %t1432 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1433 = load i32, ptr %exc.cell
+ %t1434 = icmp ne i32 %t1433, 0
+ %t1435 = call i1 @llvm.expect.i1(i1 %t1434, i1 false)
+ br i1 %t1435, label %exc.u568, label %exc.k569
+exc.u568:
+ call void @scr_dyn_release(ptr %t1432)
+ br label %exc.cleanup2
+exc.k569:
+ %t1436 = call ptr @scr_dyn_obj_create(ptr %t1432)
+ %t1437 = load i32, ptr %exc.cell
+ %t1438 = icmp ne i32 %t1437, 0
+ %t1439 = call i1 @llvm.expect.i1(i1 %t1438, i1 false)
+ br i1 %t1439, label %exc.u570, label %exc.k571
+exc.u570:
+ call void @scr_dyn_release(ptr %t1432)
+ call void @scr_dyn_release(ptr %t1436)
+ br label %exc.cleanup2
+exc.k571:
+ call void @scr_dyn_release(ptr %t1432)
+ %t1440 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1440)
+ ret ptr %t1436
+if.j567:
+ %t1441 = load ptr, ptr %sc_l_p_0
+ %t1442 = call ptr @sc_rc_retain_dyn(ptr %t1441)
+ %t1444 = icmp ne ptr %t1442, null
+ br i1 %t1444, label %dc.inspect572, label %dc.checked575
+dc.inspect572:
+ %t1449 = getelementptr inbounds i8, ptr %t1442, i64 8 ; ->kind
+ %t1450 = load i32, ptr %t1449
+ %t1445 = icmp eq i32 %t1450, 12
+ br i1 %t1445, label %dc.capsule573, label %dc.checked575
+dc.capsule573:
+ %t1446 = getelementptr inbounds i8, ptr %t1442, i64 40 ; ->v.typed_ref.type_key
+ %t1447 = load ptr, ptr %t1446
+ %t1448 = icmp eq ptr %t1447, @sc_cs_2434838942941195
+ br i1 %t1448, label %dc.exact574, label %dc.checked575
+dc.exact574:
+ %t1451 = getelementptr inbounds i8, ptr %t1442, i64 16 ; ->v.typed_ref.ptr
+ %t1452 = load ptr, ptr %t1451
+ %t1453 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1452)
+ store ptr %t1453, ptr %s1443
+ br label %dc.done576
+dc.checked575:
+ %t1454 = call ptr @sc_dc_52(ptr %t1442, ptr null)
+ store ptr %t1454, ptr %s1443
+ %t1455 = load i32, ptr %exc.cell
+ %t1456 = icmp ne i32 %t1455, 0
+ %t1457 = call i1 @llvm.expect.i1(i1 %t1456, i1 false)
+ br i1 %t1457, label %exc.u577, label %exc.k578
+exc.u577:
+ call void @scr_dyn_release(ptr %t1442)
+ br label %exc.cleanup2
+exc.k578:
+ br label %dc.done576
+dc.done576:
+ %t1458 = load ptr, ptr %s1443
+ %t1459 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1458, i64 0, i32 2
+ %t1460 = load ptr, ptr %t1459, !tbaa !204
+ %t1461 = call ptr @sc_rc_retain_dyn(ptr %t1460)
+ call void @scr_dyn_release(ptr %t1442)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1458)
+ %t1462 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1462)
+ ret ptr %t1461
+if.j558:
+ %t1463 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1464
+ %t1465 = icmp ne ptr %t1463, null
+ br i1 %t1465, label %brand.inspect579, label %brand.done581
+brand.inspect579:
+ %t1466 = getelementptr inbounds i8, ptr %t1463, i64 8 ; ->kind
+ %t1467 = load i32, ptr %t1466
+ %t1468 = icmp eq i32 %t1467, 12
+ br i1 %t1468, label %brand.capsule580, label %brand.done581
+brand.capsule580:
+ %t1469 = getelementptr inbounds i8, ptr %t1463, i64 40 ; ->v.typed_ref.type_key
+ %t1470 = load ptr, ptr %t1469
+ %t1471 = icmp eq ptr %t1470, @sc_cs_2434838942941195
+ store i1 true, ptr %s1464
+ br i1 %t1471, label %brand.done581, label %brand.compare582
+brand.compare582:
+ %t1472 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1463, ptr @sc_lit_2434838942941195)
+ store i1 %t1472, ptr %s1464
+ br label %brand.done581
+brand.done581:
+ %t1473 = load i1, ptr %s1464
+ br i1 %t1473, label %if.t583, label %if.j584
+if.t583:
+ %t1474 = load ptr, ptr %sc_l_p_0
+ %t1475 = call ptr @sc_rc_retain_dyn(ptr %t1474)
+ %t1477 = icmp ne ptr %t1475, null
+ br i1 %t1477, label %dc.inspect585, label %dc.checked588
+dc.inspect585:
+ %t1482 = getelementptr inbounds i8, ptr %t1475, i64 8 ; ->kind
+ %t1483 = load i32, ptr %t1482
+ %t1478 = icmp eq i32 %t1483, 12
+ br i1 %t1478, label %dc.capsule586, label %dc.checked588
+dc.capsule586:
+ %t1479 = getelementptr inbounds i8, ptr %t1475, i64 40 ; ->v.typed_ref.type_key
+ %t1480 = load ptr, ptr %t1479
+ %t1481 = icmp eq ptr %t1480, @sc_cs_2434838942941195
+ br i1 %t1481, label %dc.exact587, label %dc.checked588
+dc.exact587:
+ %t1484 = getelementptr inbounds i8, ptr %t1475, i64 16 ; ->v.typed_ref.ptr
+ %t1485 = load ptr, ptr %t1484
+ %t1486 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1485)
+ store ptr %t1486, ptr %s1476
+ br label %dc.done589
+dc.checked588:
+ %t1487 = call ptr @sc_dc_52(ptr %t1475, ptr null)
+ store ptr %t1487, ptr %s1476
+ %t1488 = load i32, ptr %exc.cell
+ %t1489 = icmp ne i32 %t1488, 0
+ %t1490 = call i1 @llvm.expect.i1(i1 %t1489, i1 false)
+ br i1 %t1490, label %exc.u590, label %exc.k591
+exc.u590:
+ call void @scr_dyn_release(ptr %t1475)
+ br label %exc.cleanup2
+exc.k591:
+ br label %dc.done589
+dc.done589:
+ %t1491 = load ptr, ptr %s1476
+ %t1492 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1491, i64 0, i32 2
+ %t1493 = load ptr, ptr %t1492, !tbaa !204
+ %t1494 = getelementptr inbounds i8, ptr %t1493, i64 8 ; ->kind
+ %t1495 = load i32, ptr %t1494
+ %t1496 = icmp eq i32 %t1495, 6
+ call void @scr_dyn_release(ptr %t1475)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1491)
+ br i1 %t1496, label %if.t592, label %if.j593
+if.t592:
+ %t1497 = load ptr, ptr %sc_l_p_0
+ %t1498 = call ptr @sc_rc_retain_dyn(ptr %t1497)
+ %t1500 = icmp ne ptr %t1498, null
+ br i1 %t1500, label %dc.inspect594, label %dc.checked597
+dc.inspect594:
+ %t1505 = getelementptr inbounds i8, ptr %t1498, i64 8 ; ->kind
+ %t1506 = load i32, ptr %t1505
+ %t1501 = icmp eq i32 %t1506, 12
+ br i1 %t1501, label %dc.capsule595, label %dc.checked597
+dc.capsule595:
+ %t1502 = getelementptr inbounds i8, ptr %t1498, i64 40 ; ->v.typed_ref.type_key
+ %t1503 = load ptr, ptr %t1502
+ %t1504 = icmp eq ptr %t1503, @sc_cs_2434838942941195
+ br i1 %t1504, label %dc.exact596, label %dc.checked597
+dc.exact596:
+ %t1507 = getelementptr inbounds i8, ptr %t1498, i64 16 ; ->v.typed_ref.ptr
+ %t1508 = load ptr, ptr %t1507
+ %t1509 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1508)
+ store ptr %t1509, ptr %s1499
+ br label %dc.done598
+dc.checked597:
+ %t1510 = call ptr @sc_dc_52(ptr %t1498, ptr null)
+ store ptr %t1510, ptr %s1499
+ %t1511 = load i32, ptr %exc.cell
+ %t1512 = icmp ne i32 %t1511, 0
+ %t1513 = call i1 @llvm.expect.i1(i1 %t1512, i1 false)
+ br i1 %t1513, label %exc.u599, label %exc.k600
+exc.u599:
+ call void @scr_dyn_release(ptr %t1498)
+ br label %exc.cleanup2
+exc.k600:
+ br label %dc.done598
+dc.done598:
+ %t1514 = load ptr, ptr %s1499
+ %t1515 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1514, i64 0, i32 1
+ %t1516 = load ptr, ptr %t1515
+ %t1517 = getelementptr inbounds %ScrVt, ptr %t1516, i64 0, i32 0
+ %t1518 = load i64, ptr %t1517
+ %t1519 = icmp uge i64 %t1518, 18
+ %t1520 = icmp ule i64 %t1518, 18
+ %t1521 = and i1 %t1519, %t1520 ; instanceof %m3.LiteResponse
+ br i1 %t1521, label %tern.t601, label %tern.f602
+tern.t601:
+ %t1523 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1524 = load i32, ptr %exc.cell
+ %t1525 = icmp ne i32 %t1524, 0
+ %t1526 = call i1 @llvm.expect.i1(i1 %t1525, i1 false)
+ br i1 %t1526, label %exc.u604, label %exc.k605
+exc.u604:
+ call void @scr_dyn_release(ptr %t1523)
+ call void @scr_dyn_release(ptr %t1498)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1514)
+ br label %exc.cleanup2
+exc.k605:
+ store ptr %t1523, ptr %s1522
+ br label %tern.j603
+tern.f602:
+ %t1527 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t1528 = load i32, ptr %exc.cell
+ %t1529 = icmp ne i32 %t1528, 0
+ %t1530 = call i1 @llvm.expect.i1(i1 %t1529, i1 false)
+ br i1 %t1530, label %exc.u606, label %exc.k607
+exc.u606:
+ call void @scr_dyn_release(ptr %t1527)
+ call void @scr_dyn_release(ptr %t1498)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1514)
+ br label %exc.cleanup2
+exc.k607:
+ store ptr %t1527, ptr %s1522
+ br label %tern.j603
+tern.j603:
+ %t1531 = load ptr, ptr %s1522
+ %t1532 = call ptr @scr_dyn_obj_create(ptr %t1531)
+ %t1533 = load i32, ptr %exc.cell
+ %t1534 = icmp ne i32 %t1533, 0
+ %t1535 = call i1 @llvm.expect.i1(i1 %t1534, i1 false)
+ br i1 %t1535, label %exc.u608, label %exc.k609
+exc.u608:
+ call void @scr_dyn_release(ptr %t1498)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1514)
+ call void @scr_dyn_release(ptr %t1531)
+ call void @scr_dyn_release(ptr %t1532)
+ br label %exc.cleanup2
+exc.k609:
+ call void @scr_dyn_release(ptr %t1498)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1514)
+ call void @scr_dyn_release(ptr %t1531)
+ %t1536 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1536)
+ ret ptr %t1532
+if.j593:
+ %t1537 = load ptr, ptr %sc_l_p_0
+ %t1538 = call ptr @sc_rc_retain_dyn(ptr %t1537)
+ %t1540 = icmp ne ptr %t1538, null
+ br i1 %t1540, label %dc.inspect610, label %dc.checked613
+dc.inspect610:
+ %t1545 = getelementptr inbounds i8, ptr %t1538, i64 8 ; ->kind
+ %t1546 = load i32, ptr %t1545
+ %t1541 = icmp eq i32 %t1546, 12
+ br i1 %t1541, label %dc.capsule611, label %dc.checked613
+dc.capsule611:
+ %t1542 = getelementptr inbounds i8, ptr %t1538, i64 40 ; ->v.typed_ref.type_key
+ %t1543 = load ptr, ptr %t1542
+ %t1544 = icmp eq ptr %t1543, @sc_cs_2434838942941195
+ br i1 %t1544, label %dc.exact612, label %dc.checked613
+dc.exact612:
+ %t1547 = getelementptr inbounds i8, ptr %t1538, i64 16 ; ->v.typed_ref.ptr
+ %t1548 = load ptr, ptr %t1547
+ %t1549 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t1548)
+ store ptr %t1549, ptr %s1539
+ br label %dc.done614
+dc.checked613:
+ %t1550 = call ptr @sc_dc_52(ptr %t1538, ptr null)
+ store ptr %t1550, ptr %s1539
+ %t1551 = load i32, ptr %exc.cell
+ %t1552 = icmp ne i32 %t1551, 0
+ %t1553 = call i1 @llvm.expect.i1(i1 %t1552, i1 false)
+ br i1 %t1553, label %exc.u615, label %exc.k616
+exc.u615:
+ call void @scr_dyn_release(ptr %t1538)
+ br label %exc.cleanup2
+exc.k616:
+ br label %dc.done614
+dc.done614:
+ %t1554 = load ptr, ptr %s1539
+ %t1555 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1554, i64 0, i32 2
+ %t1556 = load ptr, ptr %t1555, !tbaa !204
+ %t1557 = call ptr @sc_rc_retain_dyn(ptr %t1556)
+ call void @scr_dyn_release(ptr %t1538)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1554)
+ %t1558 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1558)
+ ret ptr %t1557
+if.j584:
+ %t1559 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1560
+ %t1561 = icmp ne ptr %t1559, null
+ br i1 %t1561, label %brand.inspect617, label %brand.done619
+brand.inspect617:
+ %t1562 = getelementptr inbounds i8, ptr %t1559, i64 8 ; ->kind
+ %t1563 = load i32, ptr %t1562
+ %t1564 = icmp eq i32 %t1563, 12
+ br i1 %t1564, label %brand.capsule618, label %brand.done619
+brand.capsule618:
+ %t1565 = getelementptr inbounds i8, ptr %t1559, i64 40 ; ->v.typed_ref.type_key
+ %t1566 = load ptr, ptr %t1565
+ %t1567 = icmp eq ptr %t1566, @sc_cs_67546268704151
+ store i1 true, ptr %s1560
+ br i1 %t1567, label %brand.done619, label %brand.compare620
+brand.compare620:
+ %t1568 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1559, ptr @sc_lit_67546268704151)
+ store i1 %t1568, ptr %s1560
+ br label %brand.done619
+brand.done619:
+ %t1569 = load i1, ptr %s1560
+ br i1 %t1569, label %if.t621, label %if.j622
+if.t621:
+ %t1570 = load ptr, ptr %sc_l_p_0
+ %t1571 = call ptr @sc_rc_retain_dyn(ptr %t1570)
+ %t1573 = icmp ne ptr %t1571, null
+ br i1 %t1573, label %dc.inspect623, label %dc.checked626
+dc.inspect623:
+ %t1578 = getelementptr inbounds i8, ptr %t1571, i64 8 ; ->kind
+ %t1579 = load i32, ptr %t1578
+ %t1574 = icmp eq i32 %t1579, 12
+ br i1 %t1574, label %dc.capsule624, label %dc.checked626
+dc.capsule624:
+ %t1575 = getelementptr inbounds i8, ptr %t1571, i64 40 ; ->v.typed_ref.type_key
+ %t1576 = load ptr, ptr %t1575
+ %t1577 = icmp eq ptr %t1576, @sc_cs_67546268704151
+ br i1 %t1577, label %dc.exact625, label %dc.checked626
+dc.exact625:
+ %t1580 = getelementptr inbounds i8, ptr %t1571, i64 16 ; ->v.typed_ref.ptr
+ %t1581 = load ptr, ptr %t1580
+ %t1582 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1581)
+ store ptr %t1582, ptr %s1572
+ br label %dc.done627
+dc.checked626:
+ %t1583 = call ptr @sc_dc_107(ptr %t1571, ptr null)
+ store ptr %t1583, ptr %s1572
+ %t1584 = load i32, ptr %exc.cell
+ %t1585 = icmp ne i32 %t1584, 0
+ %t1586 = call i1 @llvm.expect.i1(i1 %t1585, i1 false)
+ br i1 %t1586, label %exc.u628, label %exc.k629
+exc.u628:
+ call void @scr_dyn_release(ptr %t1571)
+ br label %exc.cleanup2
+exc.k629:
+ br label %dc.done627
+dc.done627:
+ %t1587 = load ptr, ptr %s1572
+ %t1588 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1587, i64 0, i32 2
+ %t1589 = load ptr, ptr %t1588, !tbaa !204
+ %t1590 = getelementptr inbounds i8, ptr %t1589, i64 8 ; ->kind
+ %t1591 = load i32, ptr %t1590
+ %t1592 = icmp eq i32 %t1591, 6
+ call void @scr_dyn_release(ptr %t1571)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t1587)
+ br i1 %t1592, label %if.t630, label %if.j631
+if.t630:
+ %t1593 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteHeaders()
+ %t1594 = load i32, ptr %exc.cell
+ %t1595 = icmp ne i32 %t1594, 0
+ %t1596 = call i1 @llvm.expect.i1(i1 %t1595, i1 false)
+ br i1 %t1596, label %exc.u632, label %exc.k633
+exc.u632:
+ call void @scr_dyn_release(ptr %t1593)
+ br label %exc.cleanup2
+exc.k633:
+ %t1597 = call ptr @scr_dyn_obj_create(ptr %t1593)
+ %t1598 = load i32, ptr %exc.cell
+ %t1599 = icmp ne i32 %t1598, 0
+ %t1600 = call i1 @llvm.expect.i1(i1 %t1599, i1 false)
+ br i1 %t1600, label %exc.u634, label %exc.k635
+exc.u634:
+ call void @scr_dyn_release(ptr %t1593)
+ call void @scr_dyn_release(ptr %t1597)
+ br label %exc.cleanup2
+exc.k635:
+ call void @scr_dyn_release(ptr %t1593)
+ %t1601 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1601)
+ ret ptr %t1597
+if.j631:
+ %t1602 = load ptr, ptr %sc_l_p_0
+ %t1603 = call ptr @sc_rc_retain_dyn(ptr %t1602)
+ %t1605 = icmp ne ptr %t1603, null
+ br i1 %t1605, label %dc.inspect636, label %dc.checked639
+dc.inspect636:
+ %t1610 = getelementptr inbounds i8, ptr %t1603, i64 8 ; ->kind
+ %t1611 = load i32, ptr %t1610
+ %t1606 = icmp eq i32 %t1611, 12
+ br i1 %t1606, label %dc.capsule637, label %dc.checked639
+dc.capsule637:
+ %t1607 = getelementptr inbounds i8, ptr %t1603, i64 40 ; ->v.typed_ref.type_key
+ %t1608 = load ptr, ptr %t1607
+ %t1609 = icmp eq ptr %t1608, @sc_cs_67546268704151
+ br i1 %t1609, label %dc.exact638, label %dc.checked639
+dc.exact638:
+ %t1612 = getelementptr inbounds i8, ptr %t1603, i64 16 ; ->v.typed_ref.ptr
+ %t1613 = load ptr, ptr %t1612
+ %t1614 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t1613)
+ store ptr %t1614, ptr %s1604
+ br label %dc.done640
+dc.checked639:
+ %t1615 = call ptr @sc_dc_107(ptr %t1603, ptr null)
+ store ptr %t1615, ptr %s1604
+ %t1616 = load i32, ptr %exc.cell
+ %t1617 = icmp ne i32 %t1616, 0
+ %t1618 = call i1 @llvm.expect.i1(i1 %t1617, i1 false)
+ br i1 %t1618, label %exc.u641, label %exc.k642
+exc.u641:
+ call void @scr_dyn_release(ptr %t1603)
+ br label %exc.cleanup2
+exc.k642:
+ br label %dc.done640
+dc.done640:
+ %t1619 = load ptr, ptr %s1604
+ %t1620 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t1619, i64 0, i32 2
+ %t1621 = load ptr, ptr %t1620, !tbaa !204
+ %t1622 = call ptr @sc_rc_retain_dyn(ptr %t1621)
+ call void @scr_dyn_release(ptr %t1603)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t1619)
+ %t1623 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1623)
+ ret ptr %t1622
+if.j622:
+ %t1624 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1625
+ %t1626 = icmp ne ptr %t1624, null
+ br i1 %t1626, label %brand.inspect643, label %brand.done645
+brand.inspect643:
+ %t1627 = getelementptr inbounds i8, ptr %t1624, i64 8 ; ->kind
+ %t1628 = load i32, ptr %t1627
+ %t1629 = icmp eq i32 %t1628, 12
+ br i1 %t1629, label %brand.capsule644, label %brand.done645
+brand.capsule644:
+ %t1630 = getelementptr inbounds i8, ptr %t1624, i64 40 ; ->v.typed_ref.type_key
+ %t1631 = load ptr, ptr %t1630
+ %t1632 = icmp eq ptr %t1631, @sc_cs_2519527309428716
+ store i1 true, ptr %s1625
+ br i1 %t1632, label %brand.done645, label %brand.compare646
+brand.compare646:
+ %t1633 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1624, ptr @sc_lit_2519527309428716)
+ store i1 %t1633, ptr %s1625
+ br label %brand.done645
+brand.done645:
+ %t1634 = load i1, ptr %s1625
+ br i1 %t1634, label %tern.t647, label %tern.f648
+tern.t647:
+ %t1636 = load ptr, ptr %sc_l_p_0
+ %t1637 = call ptr @sc_rc_retain_dyn(ptr %t1636)
+ %t1639 = icmp ne ptr %t1637, null
+ br i1 %t1639, label %dc.inspect650, label %dc.checked653
+dc.inspect650:
+ %t1644 = getelementptr inbounds i8, ptr %t1637, i64 8 ; ->kind
+ %t1645 = load i32, ptr %t1644
+ %t1640 = icmp eq i32 %t1645, 12
+ br i1 %t1640, label %dc.capsule651, label %dc.checked653
+dc.capsule651:
+ %t1641 = getelementptr inbounds i8, ptr %t1637, i64 40 ; ->v.typed_ref.type_key
+ %t1642 = load ptr, ptr %t1641
+ %t1643 = icmp eq ptr %t1642, @sc_cs_2519527309428716
+ br i1 %t1643, label %dc.exact652, label %dc.checked653
+dc.exact652:
+ %t1646 = getelementptr inbounds i8, ptr %t1637, i64 16 ; ->v.typed_ref.ptr
+ %t1647 = load ptr, ptr %t1646
+ %t1648 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1647)
+ store ptr %t1648, ptr %s1638
+ br label %dc.done654
+dc.checked653:
+ %t1649 = call ptr @sc_dc_108(ptr %t1637, ptr null)
+ store ptr %t1649, ptr %s1638
+ %t1650 = load i32, ptr %exc.cell
+ %t1651 = icmp ne i32 %t1650, 0
+ %t1652 = call i1 @llvm.expect.i1(i1 %t1651, i1 false)
+ br i1 %t1652, label %exc.u655, label %exc.k656
+exc.u655:
+ call void @scr_dyn_release(ptr %t1637)
+ br label %exc.cleanup2
+exc.k656:
+ br label %dc.done654
+dc.done654:
+ %t1653 = load ptr, ptr %s1638
+ %t1654 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1653, i64 0, i32 1
+ %t1655 = load ptr, ptr %t1654
+ %t1656 = getelementptr inbounds %ScrVt, ptr %t1655, i64 0, i32 0
+ %t1657 = load i64, ptr %t1656
+ %t1658 = icmp uge i64 %t1657, 38
+ %t1659 = icmp ule i64 %t1657, 38
+ %t1660 = and i1 %t1658, %t1659 ; instanceof %m14.BakedAssets
+ store i1 %t1660, ptr %s1635
+ call void @scr_dyn_release(ptr %t1637)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1653)
+ br label %tern.j649
+tern.f648:
+ store i1 false, ptr %s1635
+ br label %tern.j649
+tern.j649:
+ %t1661 = load i1, ptr %s1635
+ br i1 %t1661, label %if.t657, label %if.j658
+if.t657:
+ %t1662 = load ptr, ptr %sc_l_p_0
+ %t1663 = call ptr @sc_rc_retain_dyn(ptr %t1662)
+ %t1665 = icmp ne ptr %t1663, null
+ br i1 %t1665, label %dc.inspect659, label %dc.checked662
+dc.inspect659:
+ %t1670 = getelementptr inbounds i8, ptr %t1663, i64 8 ; ->kind
+ %t1671 = load i32, ptr %t1670
+ %t1666 = icmp eq i32 %t1671, 12
+ br i1 %t1666, label %dc.capsule660, label %dc.checked662
+dc.capsule660:
+ %t1667 = getelementptr inbounds i8, ptr %t1663, i64 40 ; ->v.typed_ref.type_key
+ %t1668 = load ptr, ptr %t1667
+ %t1669 = icmp eq ptr %t1668, @sc_cs_2519527309428716
+ br i1 %t1669, label %dc.exact661, label %dc.checked662
+dc.exact661:
+ %t1672 = getelementptr inbounds i8, ptr %t1663, i64 16 ; ->v.typed_ref.ptr
+ %t1673 = load ptr, ptr %t1672
+ %t1674 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1673)
+ store ptr %t1674, ptr %s1664
+ br label %dc.done663
+dc.checked662:
+ %t1675 = call ptr @sc_dc_108(ptr %t1663, ptr null)
+ store ptr %t1675, ptr %s1664
+ %t1676 = load i32, ptr %exc.cell
+ %t1677 = icmp ne i32 %t1676, 0
+ %t1678 = call i1 @llvm.expect.i1(i1 %t1677, i1 false)
+ br i1 %t1678, label %exc.u664, label %exc.k665
+exc.u664:
+ call void @scr_dyn_release(ptr %t1663)
+ br label %exc.cleanup2
+exc.k665:
+ br label %dc.done663
+dc.done663:
+ %t1679 = load ptr, ptr %s1664
+ %t1680 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t1679, i64 0, i32 2
+ %t1681 = load ptr, ptr %t1680, !tbaa !204
+ %t1682 = getelementptr inbounds i8, ptr %t1681, i64 8 ; ->kind
+ %t1683 = load i32, ptr %t1682
+ %t1684 = icmp eq i32 %t1683, 6
+ call void @scr_dyn_release(ptr %t1663)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1679)
+ br i1 %t1684, label %if.t666, label %if.j667
+if.t666:
+ %t1685 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t1686 = load i32, ptr %exc.cell
+ %t1687 = icmp ne i32 %t1686, 0
+ %t1688 = call i1 @llvm.expect.i1(i1 %t1687, i1 false)
+ br i1 %t1688, label %exc.u668, label %exc.k669
+exc.u668:
+ call void @scr_dyn_release(ptr %t1685)
+ br label %exc.cleanup2
+exc.k669:
+ %t1689 = call ptr @scr_dyn_obj_create(ptr %t1685)
+ %t1690 = load i32, ptr %exc.cell
+ %t1691 = icmp ne i32 %t1690, 0
+ %t1692 = call i1 @llvm.expect.i1(i1 %t1691, i1 false)
+ br i1 %t1692, label %exc.u670, label %exc.k671
+exc.u670:
+ call void @scr_dyn_release(ptr %t1685)
+ call void @scr_dyn_release(ptr %t1689)
+ br label %exc.cleanup2
+exc.k671:
+ call void @scr_dyn_release(ptr %t1685)
+ %t1693 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1693)
+ ret ptr %t1689
+if.j667:
+ %t1694 = load ptr, ptr %sc_l_p_0
+ %t1695 = call ptr @sc_rc_retain_dyn(ptr %t1694)
+ %t1697 = icmp ne ptr %t1695, null
+ br i1 %t1697, label %dc.inspect672, label %dc.checked675
+dc.inspect672:
+ %t1702 = getelementptr inbounds i8, ptr %t1695, i64 8 ; ->kind
+ %t1703 = load i32, ptr %t1702
+ %t1698 = icmp eq i32 %t1703, 12
+ br i1 %t1698, label %dc.capsule673, label %dc.checked675
+dc.capsule673:
+ %t1699 = getelementptr inbounds i8, ptr %t1695, i64 40 ; ->v.typed_ref.type_key
+ %t1700 = load ptr, ptr %t1699
+ %t1701 = icmp eq ptr %t1700, @sc_cs_2519527309428716
+ br i1 %t1701, label %dc.exact674, label %dc.checked675
+dc.exact674:
+ %t1704 = getelementptr inbounds i8, ptr %t1695, i64 16 ; ->v.typed_ref.ptr
+ %t1705 = load ptr, ptr %t1704
+ %t1706 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1705)
+ store ptr %t1706, ptr %s1696
+ br label %dc.done676
+dc.checked675:
+ %t1707 = call ptr @sc_dc_108(ptr %t1695, ptr null)
+ store ptr %t1707, ptr %s1696
+ %t1708 = load i32, ptr %exc.cell
+ %t1709 = icmp ne i32 %t1708, 0
+ %t1710 = call i1 @llvm.expect.i1(i1 %t1709, i1 false)
+ br i1 %t1710, label %exc.u677, label %exc.k678
+exc.u677:
+ call void @scr_dyn_release(ptr %t1695)
+ br label %exc.cleanup2
+exc.k678:
+ br label %dc.done676
+dc.done676:
+ %t1711 = load ptr, ptr %s1696
+ %t1712 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t1711, i64 0, i32 2
+ %t1713 = load ptr, ptr %t1712, !tbaa !204
+ %t1714 = call ptr @sc_rc_retain_dyn(ptr %t1713)
+ call void @scr_dyn_release(ptr %t1695)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1711)
+ %t1715 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1715)
+ ret ptr %t1714
+if.j658:
+ %t1716 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1717
+ %t1718 = icmp ne ptr %t1716, null
+ br i1 %t1718, label %brand.inspect679, label %brand.done681
+brand.inspect679:
+ %t1719 = getelementptr inbounds i8, ptr %t1716, i64 8 ; ->kind
+ %t1720 = load i32, ptr %t1719
+ %t1721 = icmp eq i32 %t1720, 12
+ br i1 %t1721, label %brand.capsule680, label %brand.done681
+brand.capsule680:
+ %t1722 = getelementptr inbounds i8, ptr %t1716, i64 40 ; ->v.typed_ref.type_key
+ %t1723 = load ptr, ptr %t1722
+ %t1724 = icmp eq ptr %t1723, @sc_cs_2519527309428716
+ store i1 true, ptr %s1717
+ br i1 %t1724, label %brand.done681, label %brand.compare682
+brand.compare682:
+ %t1725 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1716, ptr @sc_lit_2519527309428716)
+ store i1 %t1725, ptr %s1717
+ br label %brand.done681
+brand.done681:
+ %t1726 = load i1, ptr %s1717
+ br i1 %t1726, label %if.t683, label %if.j684
+if.t683:
+ %t1727 = load ptr, ptr %sc_l_p_0
+ %t1728 = call ptr @sc_rc_retain_dyn(ptr %t1727)
+ %t1730 = icmp ne ptr %t1728, null
+ br i1 %t1730, label %dc.inspect685, label %dc.checked688
+dc.inspect685:
+ %t1735 = getelementptr inbounds i8, ptr %t1728, i64 8 ; ->kind
+ %t1736 = load i32, ptr %t1735
+ %t1731 = icmp eq i32 %t1736, 12
+ br i1 %t1731, label %dc.capsule686, label %dc.checked688
+dc.capsule686:
+ %t1732 = getelementptr inbounds i8, ptr %t1728, i64 40 ; ->v.typed_ref.type_key
+ %t1733 = load ptr, ptr %t1732
+ %t1734 = icmp eq ptr %t1733, @sc_cs_2519527309428716
+ br i1 %t1734, label %dc.exact687, label %dc.checked688
+dc.exact687:
+ %t1737 = getelementptr inbounds i8, ptr %t1728, i64 16 ; ->v.typed_ref.ptr
+ %t1738 = load ptr, ptr %t1737
+ %t1739 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1738)
+ store ptr %t1739, ptr %s1729
+ br label %dc.done689
+dc.checked688:
+ %t1740 = call ptr @sc_dc_108(ptr %t1728, ptr null)
+ store ptr %t1740, ptr %s1729
+ %t1741 = load i32, ptr %exc.cell
+ %t1742 = icmp ne i32 %t1741, 0
+ %t1743 = call i1 @llvm.expect.i1(i1 %t1742, i1 false)
+ br i1 %t1743, label %exc.u690, label %exc.k691
+exc.u690:
+ call void @scr_dyn_release(ptr %t1728)
+ br label %exc.cleanup2
+exc.k691:
+ br label %dc.done689
+dc.done689:
+ %t1744 = load ptr, ptr %s1729
+ %t1745 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1744, i64 0, i32 2
+ %t1746 = load ptr, ptr %t1745, !tbaa !204
+ %t1747 = getelementptr inbounds i8, ptr %t1746, i64 8 ; ->kind
+ %t1748 = load i32, ptr %t1747
+ %t1749 = icmp eq i32 %t1748, 6
+ call void @scr_dyn_release(ptr %t1728)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1744)
+ br i1 %t1749, label %if.t692, label %if.j693
+if.t692:
+ %t1750 = load ptr, ptr %sc_l_p_0
+ %t1751 = call ptr @sc_rc_retain_dyn(ptr %t1750)
+ %t1753 = icmp ne ptr %t1751, null
+ br i1 %t1753, label %dc.inspect694, label %dc.checked697
+dc.inspect694:
+ %t1758 = getelementptr inbounds i8, ptr %t1751, i64 8 ; ->kind
+ %t1759 = load i32, ptr %t1758
+ %t1754 = icmp eq i32 %t1759, 12
+ br i1 %t1754, label %dc.capsule695, label %dc.checked697
+dc.capsule695:
+ %t1755 = getelementptr inbounds i8, ptr %t1751, i64 40 ; ->v.typed_ref.type_key
+ %t1756 = load ptr, ptr %t1755
+ %t1757 = icmp eq ptr %t1756, @sc_cs_2519527309428716
+ br i1 %t1757, label %dc.exact696, label %dc.checked697
+dc.exact696:
+ %t1760 = getelementptr inbounds i8, ptr %t1751, i64 16 ; ->v.typed_ref.ptr
+ %t1761 = load ptr, ptr %t1760
+ %t1762 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1761)
+ store ptr %t1762, ptr %s1752
+ br label %dc.done698
+dc.checked697:
+ %t1763 = call ptr @sc_dc_108(ptr %t1751, ptr null)
+ store ptr %t1763, ptr %s1752
+ %t1764 = load i32, ptr %exc.cell
+ %t1765 = icmp ne i32 %t1764, 0
+ %t1766 = call i1 @llvm.expect.i1(i1 %t1765, i1 false)
+ br i1 %t1766, label %exc.u699, label %exc.k700
+exc.u699:
+ call void @scr_dyn_release(ptr %t1751)
+ br label %exc.cleanup2
+exc.k700:
+ br label %dc.done698
+dc.done698:
+ %t1767 = load ptr, ptr %s1752
+ %t1768 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1767, i64 0, i32 1
+ %t1769 = load ptr, ptr %t1768
+ %t1770 = getelementptr inbounds %ScrVt, ptr %t1769, i64 0, i32 0
+ %t1771 = load i64, ptr %t1770
+ %t1772 = icmp uge i64 %t1771, 38
+ %t1773 = icmp ule i64 %t1771, 38
+ %t1774 = and i1 %t1772, %t1773 ; instanceof %m14.BakedAssets
+ br i1 %t1774, label %tern.t701, label %tern.f702
+tern.t701:
+ %t1776 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t1777 = load i32, ptr %exc.cell
+ %t1778 = icmp ne i32 %t1777, 0
+ %t1779 = call i1 @llvm.expect.i1(i1 %t1778, i1 false)
+ br i1 %t1779, label %exc.u704, label %exc.k705
+exc.u704:
+ call void @scr_dyn_release(ptr %t1776)
+ call void @scr_dyn_release(ptr %t1751)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1767)
+ br label %exc.cleanup2
+exc.k705:
+ store ptr %t1776, ptr %s1775
+ br label %tern.j703
+tern.f702:
+ %t1780 = call ptr @sc_f__x25_prototype_data__x25_m9_EmbeddedAssets()
+ %t1781 = load i32, ptr %exc.cell
+ %t1782 = icmp ne i32 %t1781, 0
+ %t1783 = call i1 @llvm.expect.i1(i1 %t1782, i1 false)
+ br i1 %t1783, label %exc.u706, label %exc.k707
+exc.u706:
+ call void @scr_dyn_release(ptr %t1780)
+ call void @scr_dyn_release(ptr %t1751)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1767)
+ br label %exc.cleanup2
+exc.k707:
+ store ptr %t1780, ptr %s1775
+ br label %tern.j703
+tern.j703:
+ %t1784 = load ptr, ptr %s1775
+ %t1785 = call ptr @scr_dyn_obj_create(ptr %t1784)
+ %t1786 = load i32, ptr %exc.cell
+ %t1787 = icmp ne i32 %t1786, 0
+ %t1788 = call i1 @llvm.expect.i1(i1 %t1787, i1 false)
+ br i1 %t1788, label %exc.u708, label %exc.k709
+exc.u708:
+ call void @scr_dyn_release(ptr %t1751)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1767)
+ call void @scr_dyn_release(ptr %t1784)
+ call void @scr_dyn_release(ptr %t1785)
+ br label %exc.cleanup2
+exc.k709:
+ call void @scr_dyn_release(ptr %t1751)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1767)
+ call void @scr_dyn_release(ptr %t1784)
+ %t1789 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1789)
+ ret ptr %t1785
+if.j693:
+ %t1790 = load ptr, ptr %sc_l_p_0
+ %t1791 = call ptr @sc_rc_retain_dyn(ptr %t1790)
+ %t1793 = icmp ne ptr %t1791, null
+ br i1 %t1793, label %dc.inspect710, label %dc.checked713
+dc.inspect710:
+ %t1798 = getelementptr inbounds i8, ptr %t1791, i64 8 ; ->kind
+ %t1799 = load i32, ptr %t1798
+ %t1794 = icmp eq i32 %t1799, 12
+ br i1 %t1794, label %dc.capsule711, label %dc.checked713
+dc.capsule711:
+ %t1795 = getelementptr inbounds i8, ptr %t1791, i64 40 ; ->v.typed_ref.type_key
+ %t1796 = load ptr, ptr %t1795
+ %t1797 = icmp eq ptr %t1796, @sc_cs_2519527309428716
+ br i1 %t1797, label %dc.exact712, label %dc.checked713
+dc.exact712:
+ %t1800 = getelementptr inbounds i8, ptr %t1791, i64 16 ; ->v.typed_ref.ptr
+ %t1801 = load ptr, ptr %t1800
+ %t1802 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t1801)
+ store ptr %t1802, ptr %s1792
+ br label %dc.done714
+dc.checked713:
+ %t1803 = call ptr @sc_dc_108(ptr %t1791, ptr null)
+ store ptr %t1803, ptr %s1792
+ %t1804 = load i32, ptr %exc.cell
+ %t1805 = icmp ne i32 %t1804, 0
+ %t1806 = call i1 @llvm.expect.i1(i1 %t1805, i1 false)
+ br i1 %t1806, label %exc.u715, label %exc.k716
+exc.u715:
+ call void @scr_dyn_release(ptr %t1791)
+ br label %exc.cleanup2
+exc.k716:
+ br label %dc.done714
+dc.done714:
+ %t1807 = load ptr, ptr %s1792
+ %t1808 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t1807, i64 0, i32 2
+ %t1809 = load ptr, ptr %t1808, !tbaa !204
+ %t1810 = call ptr @sc_rc_retain_dyn(ptr %t1809)
+ call void @scr_dyn_release(ptr %t1791)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t1807)
+ %t1811 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1811)
+ ret ptr %t1810
+if.j684:
+ %t1812 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1813
+ %t1814 = icmp ne ptr %t1812, null
+ br i1 %t1814, label %brand.inspect717, label %brand.done719
+brand.inspect717:
+ %t1815 = getelementptr inbounds i8, ptr %t1812, i64 8 ; ->kind
+ %t1816 = load i32, ptr %t1815
+ %t1817 = icmp eq i32 %t1816, 12
+ br i1 %t1817, label %brand.capsule718, label %brand.done719
+brand.capsule718:
+ %t1818 = getelementptr inbounds i8, ptr %t1812, i64 40 ; ->v.typed_ref.type_key
+ %t1819 = load ptr, ptr %t1818
+ %t1820 = icmp eq ptr %t1819, @sc_cs_629517122853751
+ store i1 true, ptr %s1813
+ br i1 %t1820, label %brand.done719, label %brand.compare720
+brand.compare720:
+ %t1821 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1812, ptr @sc_lit_629517122853751)
+ store i1 %t1821, ptr %s1813
+ br label %brand.done719
+brand.done719:
+ %t1822 = load i1, ptr %s1813
+ br i1 %t1822, label %tern.t721, label %tern.f722
+tern.t721:
+ %t1824 = load ptr, ptr %sc_l_p_0
+ %t1825 = call ptr @sc_rc_retain_dyn(ptr %t1824)
+ %t1827 = icmp ne ptr %t1825, null
+ br i1 %t1827, label %dc.inspect724, label %dc.checked727
+dc.inspect724:
+ %t1832 = getelementptr inbounds i8, ptr %t1825, i64 8 ; ->kind
+ %t1833 = load i32, ptr %t1832
+ %t1828 = icmp eq i32 %t1833, 12
+ br i1 %t1828, label %dc.capsule725, label %dc.checked727
+dc.capsule725:
+ %t1829 = getelementptr inbounds i8, ptr %t1825, i64 40 ; ->v.typed_ref.type_key
+ %t1830 = load ptr, ptr %t1829
+ %t1831 = icmp eq ptr %t1830, @sc_cs_629517122853751
+ br i1 %t1831, label %dc.exact726, label %dc.checked727
+dc.exact726:
+ %t1834 = getelementptr inbounds i8, ptr %t1825, i64 16 ; ->v.typed_ref.ptr
+ %t1835 = load ptr, ptr %t1834
+ %t1836 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1835)
+ store ptr %t1836, ptr %s1826
+ br label %dc.done728
+dc.checked727:
+ %t1837 = call ptr @sc_dc_29(ptr %t1825, ptr null)
+ store ptr %t1837, ptr %s1826
+ %t1838 = load i32, ptr %exc.cell
+ %t1839 = icmp ne i32 %t1838, 0
+ %t1840 = call i1 @llvm.expect.i1(i1 %t1839, i1 false)
+ br i1 %t1840, label %exc.u729, label %exc.k730
+exc.u729:
+ call void @scr_dyn_release(ptr %t1825)
+ br label %exc.cleanup2
+exc.k730:
+ br label %dc.done728
+dc.done728:
+ %t1841 = load ptr, ptr %s1826
+ %t1842 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t1841, i64 0, i32 1
+ %t1843 = load ptr, ptr %t1842
+ %t1844 = getelementptr inbounds %ScrVt, ptr %t1843, i64 0, i32 0
+ %t1845 = load i64, ptr %t1844
+ %t1846 = icmp uge i64 %t1845, 18
+ %t1847 = icmp ule i64 %t1845, 18
+ %t1848 = and i1 %t1846, %t1847 ; instanceof %m3.LiteResponse
+ store i1 %t1848, ptr %s1823
+ call void @scr_dyn_release(ptr %t1825)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1841)
+ br label %tern.j723
+tern.f722:
+ store i1 false, ptr %s1823
+ br label %tern.j723
+tern.j723:
+ %t1849 = load i1, ptr %s1823
+ br i1 %t1849, label %if.t731, label %if.j732
+if.t731:
+ %t1850 = load ptr, ptr %sc_l_p_0
+ %t1851 = call ptr @sc_rc_retain_dyn(ptr %t1850)
+ %t1853 = icmp ne ptr %t1851, null
+ br i1 %t1853, label %dc.inspect733, label %dc.checked736
+dc.inspect733:
+ %t1858 = getelementptr inbounds i8, ptr %t1851, i64 8 ; ->kind
+ %t1859 = load i32, ptr %t1858
+ %t1854 = icmp eq i32 %t1859, 12
+ br i1 %t1854, label %dc.capsule734, label %dc.checked736
+dc.capsule734:
+ %t1855 = getelementptr inbounds i8, ptr %t1851, i64 40 ; ->v.typed_ref.type_key
+ %t1856 = load ptr, ptr %t1855
+ %t1857 = icmp eq ptr %t1856, @sc_cs_629517122853751
+ br i1 %t1857, label %dc.exact735, label %dc.checked736
+dc.exact735:
+ %t1860 = getelementptr inbounds i8, ptr %t1851, i64 16 ; ->v.typed_ref.ptr
+ %t1861 = load ptr, ptr %t1860
+ %t1862 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1861)
+ store ptr %t1862, ptr %s1852
+ br label %dc.done737
+dc.checked736:
+ %t1863 = call ptr @sc_dc_29(ptr %t1851, ptr null)
+ store ptr %t1863, ptr %s1852
+ %t1864 = load i32, ptr %exc.cell
+ %t1865 = icmp ne i32 %t1864, 0
+ %t1866 = call i1 @llvm.expect.i1(i1 %t1865, i1 false)
+ br i1 %t1866, label %exc.u738, label %exc.k739
+exc.u738:
+ call void @scr_dyn_release(ptr %t1851)
+ br label %exc.cleanup2
+exc.k739:
+ br label %dc.done737
+dc.done737:
+ %t1867 = load ptr, ptr %s1852
+ %t1868 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1867, i64 0, i32 2
+ %t1869 = load ptr, ptr %t1868, !tbaa !204
+ %t1870 = getelementptr inbounds i8, ptr %t1869, i64 8 ; ->kind
+ %t1871 = load i32, ptr %t1870
+ %t1872 = icmp eq i32 %t1871, 6
+ call void @scr_dyn_release(ptr %t1851)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1867)
+ br i1 %t1872, label %if.t740, label %if.j741
+if.t740:
+ %t1873 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1874 = load i32, ptr %exc.cell
+ %t1875 = icmp ne i32 %t1874, 0
+ %t1876 = call i1 @llvm.expect.i1(i1 %t1875, i1 false)
+ br i1 %t1876, label %exc.u742, label %exc.k743
+exc.u742:
+ call void @scr_dyn_release(ptr %t1873)
+ br label %exc.cleanup2
+exc.k743:
+ %t1877 = call ptr @scr_dyn_obj_create(ptr %t1873)
+ %t1878 = load i32, ptr %exc.cell
+ %t1879 = icmp ne i32 %t1878, 0
+ %t1880 = call i1 @llvm.expect.i1(i1 %t1879, i1 false)
+ br i1 %t1880, label %exc.u744, label %exc.k745
+exc.u744:
+ call void @scr_dyn_release(ptr %t1873)
+ call void @scr_dyn_release(ptr %t1877)
+ br label %exc.cleanup2
+exc.k745:
+ call void @scr_dyn_release(ptr %t1873)
+ %t1881 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1881)
+ ret ptr %t1877
+if.j741:
+ %t1882 = load ptr, ptr %sc_l_p_0
+ %t1883 = call ptr @sc_rc_retain_dyn(ptr %t1882)
+ %t1885 = icmp ne ptr %t1883, null
+ br i1 %t1885, label %dc.inspect746, label %dc.checked749
+dc.inspect746:
+ %t1890 = getelementptr inbounds i8, ptr %t1883, i64 8 ; ->kind
+ %t1891 = load i32, ptr %t1890
+ %t1886 = icmp eq i32 %t1891, 12
+ br i1 %t1886, label %dc.capsule747, label %dc.checked749
+dc.capsule747:
+ %t1887 = getelementptr inbounds i8, ptr %t1883, i64 40 ; ->v.typed_ref.type_key
+ %t1888 = load ptr, ptr %t1887
+ %t1889 = icmp eq ptr %t1888, @sc_cs_629517122853751
+ br i1 %t1889, label %dc.exact748, label %dc.checked749
+dc.exact748:
+ %t1892 = getelementptr inbounds i8, ptr %t1883, i64 16 ; ->v.typed_ref.ptr
+ %t1893 = load ptr, ptr %t1892
+ %t1894 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1893)
+ store ptr %t1894, ptr %s1884
+ br label %dc.done750
+dc.checked749:
+ %t1895 = call ptr @sc_dc_29(ptr %t1883, ptr null)
+ store ptr %t1895, ptr %s1884
+ %t1896 = load i32, ptr %exc.cell
+ %t1897 = icmp ne i32 %t1896, 0
+ %t1898 = call i1 @llvm.expect.i1(i1 %t1897, i1 false)
+ br i1 %t1898, label %exc.u751, label %exc.k752
+exc.u751:
+ call void @scr_dyn_release(ptr %t1883)
+ br label %exc.cleanup2
+exc.k752:
+ br label %dc.done750
+dc.done750:
+ %t1899 = load ptr, ptr %s1884
+ %t1900 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t1899, i64 0, i32 2
+ %t1901 = load ptr, ptr %t1900, !tbaa !204
+ %t1902 = call ptr @sc_rc_retain_dyn(ptr %t1901)
+ call void @scr_dyn_release(ptr %t1883)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1899)
+ %t1903 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t1903)
+ ret ptr %t1902
+if.j732:
+ %t1904 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s1905
+ %t1906 = icmp ne ptr %t1904, null
+ br i1 %t1906, label %brand.inspect753, label %brand.done755
+brand.inspect753:
+ %t1907 = getelementptr inbounds i8, ptr %t1904, i64 8 ; ->kind
+ %t1908 = load i32, ptr %t1907
+ %t1909 = icmp eq i32 %t1908, 12
+ br i1 %t1909, label %brand.capsule754, label %brand.done755
+brand.capsule754:
+ %t1910 = getelementptr inbounds i8, ptr %t1904, i64 40 ; ->v.typed_ref.type_key
+ %t1911 = load ptr, ptr %t1910
+ %t1912 = icmp eq ptr %t1911, @sc_cs_629517122853751
+ store i1 true, ptr %s1905
+ br i1 %t1912, label %brand.done755, label %brand.compare756
+brand.compare756:
+ %t1913 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t1904, ptr @sc_lit_629517122853751)
+ store i1 %t1913, ptr %s1905
+ br label %brand.done755
+brand.done755:
+ %t1914 = load i1, ptr %s1905
+ br i1 %t1914, label %tern.t757, label %tern.f758
+tern.t757:
+ %t1916 = load ptr, ptr %sc_l_p_0
+ %t1917 = call ptr @sc_rc_retain_dyn(ptr %t1916)
+ %t1919 = icmp ne ptr %t1917, null
+ br i1 %t1919, label %dc.inspect760, label %dc.checked763
+dc.inspect760:
+ %t1924 = getelementptr inbounds i8, ptr %t1917, i64 8 ; ->kind
+ %t1925 = load i32, ptr %t1924
+ %t1920 = icmp eq i32 %t1925, 12
+ br i1 %t1920, label %dc.capsule761, label %dc.checked763
+dc.capsule761:
+ %t1921 = getelementptr inbounds i8, ptr %t1917, i64 40 ; ->v.typed_ref.type_key
+ %t1922 = load ptr, ptr %t1921
+ %t1923 = icmp eq ptr %t1922, @sc_cs_629517122853751
+ br i1 %t1923, label %dc.exact762, label %dc.checked763
+dc.exact762:
+ %t1926 = getelementptr inbounds i8, ptr %t1917, i64 16 ; ->v.typed_ref.ptr
+ %t1927 = load ptr, ptr %t1926
+ %t1928 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1927)
+ store ptr %t1928, ptr %s1918
+ br label %dc.done764
+dc.checked763:
+ %t1929 = call ptr @sc_dc_29(ptr %t1917, ptr null)
+ store ptr %t1929, ptr %s1918
+ %t1930 = load i32, ptr %exc.cell
+ %t1931 = icmp ne i32 %t1930, 0
+ %t1932 = call i1 @llvm.expect.i1(i1 %t1931, i1 false)
+ br i1 %t1932, label %exc.u765, label %exc.k766
+exc.u765:
+ call void @scr_dyn_release(ptr %t1917)
+ br label %exc.cleanup2
+exc.k766:
+ br label %dc.done764
+dc.done764:
+ %t1933 = load ptr, ptr %s1918
+ %t1934 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t1933, i64 0, i32 1
+ %t1935 = load ptr, ptr %t1934
+ %t1936 = getelementptr inbounds %ScrVt, ptr %t1935, i64 0, i32 0
+ %t1937 = load i64, ptr %t1936
+ %t1938 = icmp uge i64 %t1937, 17
+ %t1939 = icmp ule i64 %t1937, 18
+ %t1940 = and i1 %t1938, %t1939 ; instanceof %m2.FetchResponseSink
+ store i1 %t1940, ptr %s1915
+ call void @scr_dyn_release(ptr %t1917)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1933)
+ br label %tern.j759
+tern.f758:
+ store i1 false, ptr %s1915
+ br label %tern.j759
+tern.j759:
+ %t1941 = load i1, ptr %s1915
+ br i1 %t1941, label %if.t767, label %if.j768
+if.t767:
+ %t1942 = load ptr, ptr %sc_l_p_0
+ %t1943 = call ptr @sc_rc_retain_dyn(ptr %t1942)
+ %t1945 = icmp ne ptr %t1943, null
+ br i1 %t1945, label %dc.inspect769, label %dc.checked772
+dc.inspect769:
+ %t1950 = getelementptr inbounds i8, ptr %t1943, i64 8 ; ->kind
+ %t1951 = load i32, ptr %t1950
+ %t1946 = icmp eq i32 %t1951, 12
+ br i1 %t1946, label %dc.capsule770, label %dc.checked772
+dc.capsule770:
+ %t1947 = getelementptr inbounds i8, ptr %t1943, i64 40 ; ->v.typed_ref.type_key
+ %t1948 = load ptr, ptr %t1947
+ %t1949 = icmp eq ptr %t1948, @sc_cs_629517122853751
+ br i1 %t1949, label %dc.exact771, label %dc.checked772
+dc.exact771:
+ %t1952 = getelementptr inbounds i8, ptr %t1943, i64 16 ; ->v.typed_ref.ptr
+ %t1953 = load ptr, ptr %t1952
+ %t1954 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1953)
+ store ptr %t1954, ptr %s1944
+ br label %dc.done773
+dc.checked772:
+ %t1955 = call ptr @sc_dc_29(ptr %t1943, ptr null)
+ store ptr %t1955, ptr %s1944
+ %t1956 = load i32, ptr %exc.cell
+ %t1957 = icmp ne i32 %t1956, 0
+ %t1958 = call i1 @llvm.expect.i1(i1 %t1957, i1 false)
+ br i1 %t1958, label %exc.u774, label %exc.k775
+exc.u774:
+ call void @scr_dyn_release(ptr %t1943)
+ br label %exc.cleanup2
+exc.k775:
+ br label %dc.done773
+dc.done773:
+ %t1959 = load ptr, ptr %s1944
+ %t1960 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1959, i64 0, i32 2
+ %t1961 = load ptr, ptr %t1960, !tbaa !204
+ %t1962 = getelementptr inbounds i8, ptr %t1961, i64 8 ; ->kind
+ %t1963 = load i32, ptr %t1962
+ %t1964 = icmp eq i32 %t1963, 6
+ call void @scr_dyn_release(ptr %t1943)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t1959)
+ br i1 %t1964, label %if.t776, label %if.j777
+if.t776:
+ %t1965 = load ptr, ptr %sc_l_p_0
+ %t1966 = call ptr @sc_rc_retain_dyn(ptr %t1965)
+ %t1968 = icmp ne ptr %t1966, null
+ br i1 %t1968, label %dc.inspect778, label %dc.checked781
+dc.inspect778:
+ %t1973 = getelementptr inbounds i8, ptr %t1966, i64 8 ; ->kind
+ %t1974 = load i32, ptr %t1973
+ %t1969 = icmp eq i32 %t1974, 12
+ br i1 %t1969, label %dc.capsule779, label %dc.checked781
+dc.capsule779:
+ %t1970 = getelementptr inbounds i8, ptr %t1966, i64 40 ; ->v.typed_ref.type_key
+ %t1971 = load ptr, ptr %t1970
+ %t1972 = icmp eq ptr %t1971, @sc_cs_629517122853751
+ br i1 %t1972, label %dc.exact780, label %dc.checked781
+dc.exact780:
+ %t1975 = getelementptr inbounds i8, ptr %t1966, i64 16 ; ->v.typed_ref.ptr
+ %t1976 = load ptr, ptr %t1975
+ %t1977 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t1976)
+ store ptr %t1977, ptr %s1967
+ br label %dc.done782
+dc.checked781:
+ %t1978 = call ptr @sc_dc_29(ptr %t1966, ptr null)
+ store ptr %t1978, ptr %s1967
+ %t1979 = load i32, ptr %exc.cell
+ %t1980 = icmp ne i32 %t1979, 0
+ %t1981 = call i1 @llvm.expect.i1(i1 %t1980, i1 false)
+ br i1 %t1981, label %exc.u783, label %exc.k784
+exc.u783:
+ call void @scr_dyn_release(ptr %t1966)
+ br label %exc.cleanup2
+exc.k784:
+ br label %dc.done782
+dc.done782:
+ %t1982 = load ptr, ptr %s1967
+ %t1983 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t1982, i64 0, i32 1
+ %t1984 = load ptr, ptr %t1983
+ %t1985 = getelementptr inbounds %ScrVt, ptr %t1984, i64 0, i32 0
+ %t1986 = load i64, ptr %t1985
+ %t1987 = icmp uge i64 %t1986, 18
+ %t1988 = icmp ule i64 %t1986, 18
+ %t1989 = and i1 %t1987, %t1988 ; instanceof %m3.LiteResponse
+ br i1 %t1989, label %tern.t785, label %tern.f786
+tern.t785:
+ %t1991 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t1992 = load i32, ptr %exc.cell
+ %t1993 = icmp ne i32 %t1992, 0
+ %t1994 = call i1 @llvm.expect.i1(i1 %t1993, i1 false)
+ br i1 %t1994, label %exc.u788, label %exc.k789
+exc.u788:
+ call void @scr_dyn_release(ptr %t1991)
+ call void @scr_dyn_release(ptr %t1966)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1982)
+ br label %exc.cleanup2
+exc.k789:
+ store ptr %t1991, ptr %s1990
+ br label %tern.j787
+tern.f786:
+ %t1995 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t1996 = load i32, ptr %exc.cell
+ %t1997 = icmp ne i32 %t1996, 0
+ %t1998 = call i1 @llvm.expect.i1(i1 %t1997, i1 false)
+ br i1 %t1998, label %exc.u790, label %exc.k791
+exc.u790:
+ call void @scr_dyn_release(ptr %t1995)
+ call void @scr_dyn_release(ptr %t1966)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1982)
+ br label %exc.cleanup2
+exc.k791:
+ store ptr %t1995, ptr %s1990
+ br label %tern.j787
+tern.j787:
+ %t1999 = load ptr, ptr %s1990
+ %t2000 = call ptr @scr_dyn_obj_create(ptr %t1999)
+ %t2001 = load i32, ptr %exc.cell
+ %t2002 = icmp ne i32 %t2001, 0
+ %t2003 = call i1 @llvm.expect.i1(i1 %t2002, i1 false)
+ br i1 %t2003, label %exc.u792, label %exc.k793
+exc.u792:
+ call void @scr_dyn_release(ptr %t1966)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1982)
+ call void @scr_dyn_release(ptr %t1999)
+ call void @scr_dyn_release(ptr %t2000)
+ br label %exc.cleanup2
+exc.k793:
+ call void @scr_dyn_release(ptr %t1966)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t1982)
+ call void @scr_dyn_release(ptr %t1999)
+ %t2004 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2004)
+ ret ptr %t2000
+if.j777:
+ %t2005 = load ptr, ptr %sc_l_p_0
+ %t2006 = call ptr @sc_rc_retain_dyn(ptr %t2005)
+ %t2008 = icmp ne ptr %t2006, null
+ br i1 %t2008, label %dc.inspect794, label %dc.checked797
+dc.inspect794:
+ %t2013 = getelementptr inbounds i8, ptr %t2006, i64 8 ; ->kind
+ %t2014 = load i32, ptr %t2013
+ %t2009 = icmp eq i32 %t2014, 12
+ br i1 %t2009, label %dc.capsule795, label %dc.checked797
+dc.capsule795:
+ %t2010 = getelementptr inbounds i8, ptr %t2006, i64 40 ; ->v.typed_ref.type_key
+ %t2011 = load ptr, ptr %t2010
+ %t2012 = icmp eq ptr %t2011, @sc_cs_629517122853751
+ br i1 %t2012, label %dc.exact796, label %dc.checked797
+dc.exact796:
+ %t2015 = getelementptr inbounds i8, ptr %t2006, i64 16 ; ->v.typed_ref.ptr
+ %t2016 = load ptr, ptr %t2015
+ %t2017 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2016)
+ store ptr %t2017, ptr %s2007
+ br label %dc.done798
+dc.checked797:
+ %t2018 = call ptr @sc_dc_29(ptr %t2006, ptr null)
+ store ptr %t2018, ptr %s2007
+ %t2019 = load i32, ptr %exc.cell
+ %t2020 = icmp ne i32 %t2019, 0
+ %t2021 = call i1 @llvm.expect.i1(i1 %t2020, i1 false)
+ br i1 %t2021, label %exc.u799, label %exc.k800
+exc.u799:
+ call void @scr_dyn_release(ptr %t2006)
+ br label %exc.cleanup2
+exc.k800:
+ br label %dc.done798
+dc.done798:
+ %t2022 = load ptr, ptr %s2007
+ %t2023 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t2022, i64 0, i32 2
+ %t2024 = load ptr, ptr %t2023, !tbaa !204
+ %t2025 = call ptr @sc_rc_retain_dyn(ptr %t2024)
+ call void @scr_dyn_release(ptr %t2006)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2022)
+ %t2026 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2026)
+ ret ptr %t2025
+if.j768:
+ %t2027 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2028
+ %t2029 = icmp ne ptr %t2027, null
+ br i1 %t2029, label %brand.inspect801, label %brand.done803
+brand.inspect801:
+ %t2030 = getelementptr inbounds i8, ptr %t2027, i64 8 ; ->kind
+ %t2031 = load i32, ptr %t2030
+ %t2032 = icmp eq i32 %t2031, 12
+ br i1 %t2032, label %brand.capsule802, label %brand.done803
+brand.capsule802:
+ %t2033 = getelementptr inbounds i8, ptr %t2027, i64 40 ; ->v.typed_ref.type_key
+ %t2034 = load ptr, ptr %t2033
+ %t2035 = icmp eq ptr %t2034, @sc_cs_629517122853751
+ store i1 true, ptr %s2028
+ br i1 %t2035, label %brand.done803, label %brand.compare804
+brand.compare804:
+ %t2036 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2027, ptr @sc_lit_629517122853751)
+ store i1 %t2036, ptr %s2028
+ br label %brand.done803
+brand.done803:
+ %t2037 = load i1, ptr %s2028
+ br i1 %t2037, label %tern.t805, label %tern.f806
+tern.t805:
+ %t2039 = load ptr, ptr %sc_l_p_0
+ %t2040 = call ptr @sc_rc_retain_dyn(ptr %t2039)
+ %t2042 = icmp ne ptr %t2040, null
+ br i1 %t2042, label %dc.inspect808, label %dc.checked811
+dc.inspect808:
+ %t2047 = getelementptr inbounds i8, ptr %t2040, i64 8 ; ->kind
+ %t2048 = load i32, ptr %t2047
+ %t2043 = icmp eq i32 %t2048, 12
+ br i1 %t2043, label %dc.capsule809, label %dc.checked811
+dc.capsule809:
+ %t2044 = getelementptr inbounds i8, ptr %t2040, i64 40 ; ->v.typed_ref.type_key
+ %t2045 = load ptr, ptr %t2044
+ %t2046 = icmp eq ptr %t2045, @sc_cs_629517122853751
+ br i1 %t2046, label %dc.exact810, label %dc.checked811
+dc.exact810:
+ %t2049 = getelementptr inbounds i8, ptr %t2040, i64 16 ; ->v.typed_ref.ptr
+ %t2050 = load ptr, ptr %t2049
+ %t2051 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2050)
+ store ptr %t2051, ptr %s2041
+ br label %dc.done812
+dc.checked811:
+ %t2052 = call ptr @sc_dc_29(ptr %t2040, ptr null)
+ store ptr %t2052, ptr %s2041
+ %t2053 = load i32, ptr %exc.cell
+ %t2054 = icmp ne i32 %t2053, 0
+ %t2055 = call i1 @llvm.expect.i1(i1 %t2054, i1 false)
+ br i1 %t2055, label %exc.u813, label %exc.k814
+exc.u813:
+ call void @scr_dyn_release(ptr %t2040)
+ br label %exc.cleanup2
+exc.k814:
+ br label %dc.done812
+dc.done812:
+ %t2056 = load ptr, ptr %s2041
+ %t2057 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2056, i64 0, i32 1
+ %t2058 = load ptr, ptr %t2057
+ %t2059 = getelementptr inbounds %ScrVt, ptr %t2058, i64 0, i32 0
+ %t2060 = load i64, ptr %t2059
+ %t2061 = icmp uge i64 %t2060, 16
+ %t2062 = icmp ule i64 %t2060, 16
+ %t2063 = and i1 %t2061, %t2062 ; instanceof %m2.NodeResponseSink
+ store i1 %t2063, ptr %s2038
+ call void @scr_dyn_release(ptr %t2040)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2056)
+ br label %tern.j807
+tern.f806:
+ store i1 false, ptr %s2038
+ br label %tern.j807
+tern.j807:
+ %t2064 = load i1, ptr %s2038
+ br i1 %t2064, label %if.t815, label %if.j816
+if.t815:
+ %t2065 = load ptr, ptr %sc_l_p_0
+ %t2066 = call ptr @sc_rc_retain_dyn(ptr %t2065)
+ %t2068 = icmp ne ptr %t2066, null
+ br i1 %t2068, label %dc.inspect817, label %dc.checked820
+dc.inspect817:
+ %t2073 = getelementptr inbounds i8, ptr %t2066, i64 8 ; ->kind
+ %t2074 = load i32, ptr %t2073
+ %t2069 = icmp eq i32 %t2074, 12
+ br i1 %t2069, label %dc.capsule818, label %dc.checked820
+dc.capsule818:
+ %t2070 = getelementptr inbounds i8, ptr %t2066, i64 40 ; ->v.typed_ref.type_key
+ %t2071 = load ptr, ptr %t2070
+ %t2072 = icmp eq ptr %t2071, @sc_cs_629517122853751
+ br i1 %t2072, label %dc.exact819, label %dc.checked820
+dc.exact819:
+ %t2075 = getelementptr inbounds i8, ptr %t2066, i64 16 ; ->v.typed_ref.ptr
+ %t2076 = load ptr, ptr %t2075
+ %t2077 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2076)
+ store ptr %t2077, ptr %s2067
+ br label %dc.done821
+dc.checked820:
+ %t2078 = call ptr @sc_dc_29(ptr %t2066, ptr null)
+ store ptr %t2078, ptr %s2067
+ %t2079 = load i32, ptr %exc.cell
+ %t2080 = icmp ne i32 %t2079, 0
+ %t2081 = call i1 @llvm.expect.i1(i1 %t2080, i1 false)
+ br i1 %t2081, label %exc.u822, label %exc.k823
+exc.u822:
+ call void @scr_dyn_release(ptr %t2066)
+ br label %exc.cleanup2
+exc.k823:
+ br label %dc.done821
+dc.done821:
+ %t2082 = load ptr, ptr %s2067
+ %t2083 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2082, i64 0, i32 2
+ %t2084 = load ptr, ptr %t2083, !tbaa !204
+ %t2085 = getelementptr inbounds i8, ptr %t2084, i64 8 ; ->kind
+ %t2086 = load i32, ptr %t2085
+ %t2087 = icmp eq i32 %t2086, 6
+ call void @scr_dyn_release(ptr %t2066)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2082)
+ br i1 %t2087, label %if.t824, label %if.j825
+if.t824:
+ %t2088 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t2089 = load i32, ptr %exc.cell
+ %t2090 = icmp ne i32 %t2089, 0
+ %t2091 = call i1 @llvm.expect.i1(i1 %t2090, i1 false)
+ br i1 %t2091, label %exc.u826, label %exc.k827
+exc.u826:
+ call void @scr_dyn_release(ptr %t2088)
+ br label %exc.cleanup2
+exc.k827:
+ %t2092 = call ptr @scr_dyn_obj_create(ptr %t2088)
+ %t2093 = load i32, ptr %exc.cell
+ %t2094 = icmp ne i32 %t2093, 0
+ %t2095 = call i1 @llvm.expect.i1(i1 %t2094, i1 false)
+ br i1 %t2095, label %exc.u828, label %exc.k829
+exc.u828:
+ call void @scr_dyn_release(ptr %t2088)
+ call void @scr_dyn_release(ptr %t2092)
+ br label %exc.cleanup2
+exc.k829:
+ call void @scr_dyn_release(ptr %t2088)
+ %t2096 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2096)
+ ret ptr %t2092
+if.j825:
+ %t2097 = load ptr, ptr %sc_l_p_0
+ %t2098 = call ptr @sc_rc_retain_dyn(ptr %t2097)
+ %t2100 = icmp ne ptr %t2098, null
+ br i1 %t2100, label %dc.inspect830, label %dc.checked833
+dc.inspect830:
+ %t2105 = getelementptr inbounds i8, ptr %t2098, i64 8 ; ->kind
+ %t2106 = load i32, ptr %t2105
+ %t2101 = icmp eq i32 %t2106, 12
+ br i1 %t2101, label %dc.capsule831, label %dc.checked833
+dc.capsule831:
+ %t2102 = getelementptr inbounds i8, ptr %t2098, i64 40 ; ->v.typed_ref.type_key
+ %t2103 = load ptr, ptr %t2102
+ %t2104 = icmp eq ptr %t2103, @sc_cs_629517122853751
+ br i1 %t2104, label %dc.exact832, label %dc.checked833
+dc.exact832:
+ %t2107 = getelementptr inbounds i8, ptr %t2098, i64 16 ; ->v.typed_ref.ptr
+ %t2108 = load ptr, ptr %t2107
+ %t2109 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2108)
+ store ptr %t2109, ptr %s2099
+ br label %dc.done834
+dc.checked833:
+ %t2110 = call ptr @sc_dc_29(ptr %t2098, ptr null)
+ store ptr %t2110, ptr %s2099
+ %t2111 = load i32, ptr %exc.cell
+ %t2112 = icmp ne i32 %t2111, 0
+ %t2113 = call i1 @llvm.expect.i1(i1 %t2112, i1 false)
+ br i1 %t2113, label %exc.u835, label %exc.k836
+exc.u835:
+ call void @scr_dyn_release(ptr %t2098)
+ br label %exc.cleanup2
+exc.k836:
+ br label %dc.done834
+dc.done834:
+ %t2114 = load ptr, ptr %s2099
+ %t2115 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t2114, i64 0, i32 2
+ %t2116 = load ptr, ptr %t2115, !tbaa !204
+ %t2117 = call ptr @sc_rc_retain_dyn(ptr %t2116)
+ call void @scr_dyn_release(ptr %t2098)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2114)
+ %t2118 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2118)
+ ret ptr %t2117
+if.j816:
+ %t2119 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2120
+ %t2121 = icmp ne ptr %t2119, null
+ br i1 %t2121, label %brand.inspect837, label %brand.done839
+brand.inspect837:
+ %t2122 = getelementptr inbounds i8, ptr %t2119, i64 8 ; ->kind
+ %t2123 = load i32, ptr %t2122
+ %t2124 = icmp eq i32 %t2123, 12
+ br i1 %t2124, label %brand.capsule838, label %brand.done839
+brand.capsule838:
+ %t2125 = getelementptr inbounds i8, ptr %t2119, i64 40 ; ->v.typed_ref.type_key
+ %t2126 = load ptr, ptr %t2125
+ %t2127 = icmp eq ptr %t2126, @sc_cs_629517122853751
+ store i1 true, ptr %s2120
+ br i1 %t2127, label %brand.done839, label %brand.compare840
+brand.compare840:
+ %t2128 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2119, ptr @sc_lit_629517122853751)
+ store i1 %t2128, ptr %s2120
+ br label %brand.done839
+brand.done839:
+ %t2129 = load i1, ptr %s2120
+ br i1 %t2129, label %if.t841, label %if.j842
+if.t841:
+ %t2130 = load ptr, ptr %sc_l_p_0
+ %t2131 = call ptr @sc_rc_retain_dyn(ptr %t2130)
+ %t2133 = icmp ne ptr %t2131, null
+ br i1 %t2133, label %dc.inspect843, label %dc.checked846
+dc.inspect843:
+ %t2138 = getelementptr inbounds i8, ptr %t2131, i64 8 ; ->kind
+ %t2139 = load i32, ptr %t2138
+ %t2134 = icmp eq i32 %t2139, 12
+ br i1 %t2134, label %dc.capsule844, label %dc.checked846
+dc.capsule844:
+ %t2135 = getelementptr inbounds i8, ptr %t2131, i64 40 ; ->v.typed_ref.type_key
+ %t2136 = load ptr, ptr %t2135
+ %t2137 = icmp eq ptr %t2136, @sc_cs_629517122853751
+ br i1 %t2137, label %dc.exact845, label %dc.checked846
+dc.exact845:
+ %t2140 = getelementptr inbounds i8, ptr %t2131, i64 16 ; ->v.typed_ref.ptr
+ %t2141 = load ptr, ptr %t2140
+ %t2142 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2141)
+ store ptr %t2142, ptr %s2132
+ br label %dc.done847
+dc.checked846:
+ %t2143 = call ptr @sc_dc_29(ptr %t2131, ptr null)
+ store ptr %t2143, ptr %s2132
+ %t2144 = load i32, ptr %exc.cell
+ %t2145 = icmp ne i32 %t2144, 0
+ %t2146 = call i1 @llvm.expect.i1(i1 %t2145, i1 false)
+ br i1 %t2146, label %exc.u848, label %exc.k849
+exc.u848:
+ call void @scr_dyn_release(ptr %t2131)
+ br label %exc.cleanup2
+exc.k849:
+ br label %dc.done847
+dc.done847:
+ %t2147 = load ptr, ptr %s2132
+ %t2148 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2147, i64 0, i32 2
+ %t2149 = load ptr, ptr %t2148, !tbaa !204
+ %t2150 = getelementptr inbounds i8, ptr %t2149, i64 8 ; ->kind
+ %t2151 = load i32, ptr %t2150
+ %t2152 = icmp eq i32 %t2151, 6
+ call void @scr_dyn_release(ptr %t2131)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2147)
+ br i1 %t2152, label %if.t850, label %if.j851
+if.t850:
+ %t2153 = load ptr, ptr %sc_l_p_0
+ %t2154 = call ptr @sc_rc_retain_dyn(ptr %t2153)
+ %t2156 = icmp ne ptr %t2154, null
+ br i1 %t2156, label %dc.inspect852, label %dc.checked855
+dc.inspect852:
+ %t2161 = getelementptr inbounds i8, ptr %t2154, i64 8 ; ->kind
+ %t2162 = load i32, ptr %t2161
+ %t2157 = icmp eq i32 %t2162, 12
+ br i1 %t2157, label %dc.capsule853, label %dc.checked855
+dc.capsule853:
+ %t2158 = getelementptr inbounds i8, ptr %t2154, i64 40 ; ->v.typed_ref.type_key
+ %t2159 = load ptr, ptr %t2158
+ %t2160 = icmp eq ptr %t2159, @sc_cs_629517122853751
+ br i1 %t2160, label %dc.exact854, label %dc.checked855
+dc.exact854:
+ %t2163 = getelementptr inbounds i8, ptr %t2154, i64 16 ; ->v.typed_ref.ptr
+ %t2164 = load ptr, ptr %t2163
+ %t2165 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2164)
+ store ptr %t2165, ptr %s2155
+ br label %dc.done856
+dc.checked855:
+ %t2166 = call ptr @sc_dc_29(ptr %t2154, ptr null)
+ store ptr %t2166, ptr %s2155
+ %t2167 = load i32, ptr %exc.cell
+ %t2168 = icmp ne i32 %t2167, 0
+ %t2169 = call i1 @llvm.expect.i1(i1 %t2168, i1 false)
+ br i1 %t2169, label %exc.u857, label %exc.k858
+exc.u857:
+ call void @scr_dyn_release(ptr %t2154)
+ br label %exc.cleanup2
+exc.k858:
+ br label %dc.done856
+dc.done856:
+ %t2170 = load ptr, ptr %s2155
+ %t2171 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2170, i64 0, i32 1
+ %t2172 = load ptr, ptr %t2171
+ %t2173 = getelementptr inbounds %ScrVt, ptr %t2172, i64 0, i32 0
+ %t2174 = load i64, ptr %t2173
+ %t2175 = icmp uge i64 %t2174, 17
+ %t2176 = icmp ule i64 %t2174, 18
+ %t2177 = and i1 %t2175, %t2176 ; instanceof %m2.FetchResponseSink
+ br i1 %t2177, label %tern.t859, label %tern.f860
+tern.t859:
+ %t2179 = load ptr, ptr %sc_l_p_0
+ %t2180 = call ptr @sc_rc_retain_dyn(ptr %t2179)
+ %t2182 = icmp ne ptr %t2180, null
+ br i1 %t2182, label %dc.inspect862, label %dc.checked865
+dc.inspect862:
+ %t2187 = getelementptr inbounds i8, ptr %t2180, i64 8 ; ->kind
+ %t2188 = load i32, ptr %t2187
+ %t2183 = icmp eq i32 %t2188, 12
+ br i1 %t2183, label %dc.capsule863, label %dc.checked865
+dc.capsule863:
+ %t2184 = getelementptr inbounds i8, ptr %t2180, i64 40 ; ->v.typed_ref.type_key
+ %t2185 = load ptr, ptr %t2184
+ %t2186 = icmp eq ptr %t2185, @sc_cs_629517122853751
+ br i1 %t2186, label %dc.exact864, label %dc.checked865
+dc.exact864:
+ %t2189 = getelementptr inbounds i8, ptr %t2180, i64 16 ; ->v.typed_ref.ptr
+ %t2190 = load ptr, ptr %t2189
+ %t2191 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2190)
+ store ptr %t2191, ptr %s2181
+ br label %dc.done866
+dc.checked865:
+ %t2192 = call ptr @sc_dc_29(ptr %t2180, ptr null)
+ store ptr %t2192, ptr %s2181
+ %t2193 = load i32, ptr %exc.cell
+ %t2194 = icmp ne i32 %t2193, 0
+ %t2195 = call i1 @llvm.expect.i1(i1 %t2194, i1 false)
+ br i1 %t2195, label %exc.u867, label %exc.k868
+exc.u867:
+ call void @scr_dyn_release(ptr %t2180)
+ call void @scr_dyn_release(ptr %t2154)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2170)
+ br label %exc.cleanup2
+exc.k868:
+ br label %dc.done866
+dc.done866:
+ %t2196 = load ptr, ptr %s2181
+ %t2197 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2196, i64 0, i32 1
+ %t2198 = load ptr, ptr %t2197
+ %t2199 = getelementptr inbounds %ScrVt, ptr %t2198, i64 0, i32 0
+ %t2200 = load i64, ptr %t2199
+ %t2201 = icmp uge i64 %t2200, 18
+ %t2202 = icmp ule i64 %t2200, 18
+ %t2203 = and i1 %t2201, %t2202 ; instanceof %m3.LiteResponse
+ br i1 %t2203, label %tern.t869, label %tern.f870
+tern.t869:
+ %t2205 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t2206 = load i32, ptr %exc.cell
+ %t2207 = icmp ne i32 %t2206, 0
+ %t2208 = call i1 @llvm.expect.i1(i1 %t2207, i1 false)
+ br i1 %t2208, label %exc.u872, label %exc.k873
+exc.u872:
+ call void @scr_dyn_release(ptr %t2205)
+ call void @scr_dyn_release(ptr %t2180)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2196)
+ call void @scr_dyn_release(ptr %t2154)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2170)
+ br label %exc.cleanup2
+exc.k873:
+ store ptr %t2205, ptr %s2204
+ br label %tern.j871
+tern.f870:
+ %t2209 = call ptr @sc_f__x25_prototype_data__x25_m2_FetchResponseSink()
+ %t2210 = load i32, ptr %exc.cell
+ %t2211 = icmp ne i32 %t2210, 0
+ %t2212 = call i1 @llvm.expect.i1(i1 %t2211, i1 false)
+ br i1 %t2212, label %exc.u874, label %exc.k875
+exc.u874:
+ call void @scr_dyn_release(ptr %t2209)
+ call void @scr_dyn_release(ptr %t2180)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2196)
+ call void @scr_dyn_release(ptr %t2154)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2170)
+ br label %exc.cleanup2
+exc.k875:
+ store ptr %t2209, ptr %s2204
+ br label %tern.j871
+tern.j871:
+ %t2213 = load ptr, ptr %s2204
+ store ptr %t2213, ptr %s2178
+ call void @scr_dyn_release(ptr %t2180)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2196)
+ br label %tern.j861
+tern.f860:
+ %t2214 = load ptr, ptr %sc_l_p_0
+ %t2215 = call ptr @sc_rc_retain_dyn(ptr %t2214)
+ %t2217 = icmp ne ptr %t2215, null
+ br i1 %t2217, label %dc.inspect876, label %dc.checked879
+dc.inspect876:
+ %t2222 = getelementptr inbounds i8, ptr %t2215, i64 8 ; ->kind
+ %t2223 = load i32, ptr %t2222
+ %t2218 = icmp eq i32 %t2223, 12
+ br i1 %t2218, label %dc.capsule877, label %dc.checked879
+dc.capsule877:
+ %t2219 = getelementptr inbounds i8, ptr %t2215, i64 40 ; ->v.typed_ref.type_key
+ %t2220 = load ptr, ptr %t2219
+ %t2221 = icmp eq ptr %t2220, @sc_cs_629517122853751
+ br i1 %t2221, label %dc.exact878, label %dc.checked879
+dc.exact878:
+ %t2224 = getelementptr inbounds i8, ptr %t2215, i64 16 ; ->v.typed_ref.ptr
+ %t2225 = load ptr, ptr %t2224
+ %t2226 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2225)
+ store ptr %t2226, ptr %s2216
+ br label %dc.done880
+dc.checked879:
+ %t2227 = call ptr @sc_dc_29(ptr %t2215, ptr null)
+ store ptr %t2227, ptr %s2216
+ %t2228 = load i32, ptr %exc.cell
+ %t2229 = icmp ne i32 %t2228, 0
+ %t2230 = call i1 @llvm.expect.i1(i1 %t2229, i1 false)
+ br i1 %t2230, label %exc.u881, label %exc.k882
+exc.u881:
+ call void @scr_dyn_release(ptr %t2215)
+ call void @scr_dyn_release(ptr %t2154)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2170)
+ br label %exc.cleanup2
+exc.k882:
+ br label %dc.done880
+dc.done880:
+ %t2231 = load ptr, ptr %s2216
+ %t2232 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2231, i64 0, i32 1
+ %t2233 = load ptr, ptr %t2232
+ %t2234 = getelementptr inbounds %ScrVt, ptr %t2233, i64 0, i32 0
+ %t2235 = load i64, ptr %t2234
+ %t2236 = icmp uge i64 %t2235, 16
+ %t2237 = icmp ule i64 %t2235, 16
+ %t2238 = and i1 %t2236, %t2237 ; instanceof %m2.NodeResponseSink
+ br i1 %t2238, label %tern.t883, label %tern.f884
+tern.t883:
+ %t2240 = call ptr @sc_f__x25_prototype_data__x25_m2_NodeResponseSink()
+ %t2241 = load i32, ptr %exc.cell
+ %t2242 = icmp ne i32 %t2241, 0
+ %t2243 = call i1 @llvm.expect.i1(i1 %t2242, i1 false)
+ br i1 %t2243, label %exc.u886, label %exc.k887
+exc.u886:
+ call void @scr_dyn_release(ptr %t2240)
+ call void @scr_dyn_release(ptr %t2215)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2231)
+ call void @scr_dyn_release(ptr %t2154)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2170)
+ br label %exc.cleanup2
+exc.k887:
+ store ptr %t2240, ptr %s2239
+ br label %tern.j885
+tern.f884:
+ %t2244 = call ptr @sc_f__x25_prototype_data__x25_m2_ResponseSink()
+ %t2245 = load i32, ptr %exc.cell
+ %t2246 = icmp ne i32 %t2245, 0
+ %t2247 = call i1 @llvm.expect.i1(i1 %t2246, i1 false)
+ br i1 %t2247, label %exc.u888, label %exc.k889
+exc.u888:
+ call void @scr_dyn_release(ptr %t2244)
+ call void @scr_dyn_release(ptr %t2215)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2231)
+ call void @scr_dyn_release(ptr %t2154)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2170)
+ br label %exc.cleanup2
+exc.k889:
+ store ptr %t2244, ptr %s2239
+ br label %tern.j885
+tern.j885:
+ %t2248 = load ptr, ptr %s2239
+ store ptr %t2248, ptr %s2178
+ call void @scr_dyn_release(ptr %t2215)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2231)
+ br label %tern.j861
+tern.j861:
+ %t2249 = load ptr, ptr %s2178
+ %t2250 = call ptr @scr_dyn_obj_create(ptr %t2249)
+ %t2251 = load i32, ptr %exc.cell
+ %t2252 = icmp ne i32 %t2251, 0
+ %t2253 = call i1 @llvm.expect.i1(i1 %t2252, i1 false)
+ br i1 %t2253, label %exc.u890, label %exc.k891
+exc.u890:
+ call void @scr_dyn_release(ptr %t2154)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2170)
+ call void @scr_dyn_release(ptr %t2249)
+ call void @scr_dyn_release(ptr %t2250)
+ br label %exc.cleanup2
+exc.k891:
+ call void @scr_dyn_release(ptr %t2154)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2170)
+ call void @scr_dyn_release(ptr %t2249)
+ %t2254 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2254)
+ ret ptr %t2250
+if.j851:
+ %t2255 = load ptr, ptr %sc_l_p_0
+ %t2256 = call ptr @sc_rc_retain_dyn(ptr %t2255)
+ %t2258 = icmp ne ptr %t2256, null
+ br i1 %t2258, label %dc.inspect892, label %dc.checked895
+dc.inspect892:
+ %t2263 = getelementptr inbounds i8, ptr %t2256, i64 8 ; ->kind
+ %t2264 = load i32, ptr %t2263
+ %t2259 = icmp eq i32 %t2264, 12
+ br i1 %t2259, label %dc.capsule893, label %dc.checked895
+dc.capsule893:
+ %t2260 = getelementptr inbounds i8, ptr %t2256, i64 40 ; ->v.typed_ref.type_key
+ %t2261 = load ptr, ptr %t2260
+ %t2262 = icmp eq ptr %t2261, @sc_cs_629517122853751
+ br i1 %t2262, label %dc.exact894, label %dc.checked895
+dc.exact894:
+ %t2265 = getelementptr inbounds i8, ptr %t2256, i64 16 ; ->v.typed_ref.ptr
+ %t2266 = load ptr, ptr %t2265
+ %t2267 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t2266)
+ store ptr %t2267, ptr %s2257
+ br label %dc.done896
+dc.checked895:
+ %t2268 = call ptr @sc_dc_29(ptr %t2256, ptr null)
+ store ptr %t2268, ptr %s2257
+ %t2269 = load i32, ptr %exc.cell
+ %t2270 = icmp ne i32 %t2269, 0
+ %t2271 = call i1 @llvm.expect.i1(i1 %t2270, i1 false)
+ br i1 %t2271, label %exc.u897, label %exc.k898
+exc.u897:
+ call void @scr_dyn_release(ptr %t2256)
+ br label %exc.cleanup2
+exc.k898:
+ br label %dc.done896
+dc.done896:
+ %t2272 = load ptr, ptr %s2257
+ %t2273 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t2272, i64 0, i32 2
+ %t2274 = load ptr, ptr %t2273, !tbaa !204
+ %t2275 = call ptr @sc_rc_retain_dyn(ptr %t2274)
+ call void @scr_dyn_release(ptr %t2256)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t2272)
+ %t2276 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2276)
+ ret ptr %t2275
+if.j842:
+ %t2277 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2278
+ %t2279 = icmp ne ptr %t2277, null
+ br i1 %t2279, label %brand.inspect899, label %brand.done901
+brand.inspect899:
+ %t2280 = getelementptr inbounds i8, ptr %t2277, i64 8 ; ->kind
+ %t2281 = load i32, ptr %t2280
+ %t2282 = icmp eq i32 %t2281, 12
+ br i1 %t2282, label %brand.capsule900, label %brand.done901
+brand.capsule900:
+ %t2283 = getelementptr inbounds i8, ptr %t2277, i64 40 ; ->v.typed_ref.type_key
+ %t2284 = load ptr, ptr %t2283
+ %t2285 = icmp eq ptr %t2284, @sc_cs_660811353369478
+ store i1 true, ptr %s2278
+ br i1 %t2285, label %brand.done901, label %brand.compare902
+brand.compare902:
+ %t2286 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2277, ptr @sc_lit_660811353369478)
+ store i1 %t2286, ptr %s2278
+ br label %brand.done901
+brand.done901:
+ %t2287 = load i1, ptr %s2278
+ br i1 %t2287, label %if.t903, label %if.j904
+if.t903:
+ %t2288 = load ptr, ptr %sc_l_p_0
+ %t2289 = call ptr @sc_rc_retain_dyn(ptr %t2288)
+ %t2291 = icmp ne ptr %t2289, null
+ br i1 %t2291, label %dc.inspect905, label %dc.checked908
+dc.inspect905:
+ %t2296 = getelementptr inbounds i8, ptr %t2289, i64 8 ; ->kind
+ %t2297 = load i32, ptr %t2296
+ %t2292 = icmp eq i32 %t2297, 12
+ br i1 %t2292, label %dc.capsule906, label %dc.checked908
+dc.capsule906:
+ %t2293 = getelementptr inbounds i8, ptr %t2289, i64 40 ; ->v.typed_ref.type_key
+ %t2294 = load ptr, ptr %t2293
+ %t2295 = icmp eq ptr %t2294, @sc_cs_660811353369478
+ br i1 %t2295, label %dc.exact907, label %dc.checked908
+dc.exact907:
+ %t2298 = getelementptr inbounds i8, ptr %t2289, i64 16 ; ->v.typed_ref.ptr
+ %t2299 = load ptr, ptr %t2298
+ %t2300 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2299)
+ store ptr %t2300, ptr %s2290
+ br label %dc.done909
+dc.checked908:
+ %t2301 = call ptr @sc_dc_28(ptr %t2289, ptr null)
+ store ptr %t2301, ptr %s2290
+ %t2302 = load i32, ptr %exc.cell
+ %t2303 = icmp ne i32 %t2302, 0
+ %t2304 = call i1 @llvm.expect.i1(i1 %t2303, i1 false)
+ br i1 %t2304, label %exc.u910, label %exc.k911
+exc.u910:
+ call void @scr_dyn_release(ptr %t2289)
+ br label %exc.cleanup2
+exc.k911:
+ br label %dc.done909
+dc.done909:
+ %t2305 = load ptr, ptr %s2290
+ %t2306 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2305, i64 0, i32 17
+ %t2307 = load ptr, ptr %t2306, !tbaa !204
+ %t2308 = getelementptr inbounds i8, ptr %t2307, i64 8 ; ->kind
+ %t2309 = load i32, ptr %t2308
+ %t2310 = icmp eq i32 %t2309, 6
+ call void @scr_dyn_release(ptr %t2289)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t2305)
+ br i1 %t2310, label %if.t912, label %if.j913
+if.t912:
+ %t2311 = call ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore()
+ %t2312 = load i32, ptr %exc.cell
+ %t2313 = icmp ne i32 %t2312, 0
+ %t2314 = call i1 @llvm.expect.i1(i1 %t2313, i1 false)
+ br i1 %t2314, label %exc.u914, label %exc.k915
+exc.u914:
+ call void @scr_dyn_release(ptr %t2311)
+ br label %exc.cleanup2
+exc.k915:
+ %t2315 = call ptr @scr_dyn_obj_create(ptr %t2311)
+ %t2316 = load i32, ptr %exc.cell
+ %t2317 = icmp ne i32 %t2316, 0
+ %t2318 = call i1 @llvm.expect.i1(i1 %t2317, i1 false)
+ br i1 %t2318, label %exc.u916, label %exc.k917
+exc.u916:
+ call void @scr_dyn_release(ptr %t2311)
+ call void @scr_dyn_release(ptr %t2315)
+ br label %exc.cleanup2
+exc.k917:
+ call void @scr_dyn_release(ptr %t2311)
+ %t2319 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2319)
+ ret ptr %t2315
+if.j913:
+ %t2320 = load ptr, ptr %sc_l_p_0
+ %t2321 = call ptr @sc_rc_retain_dyn(ptr %t2320)
+ %t2323 = icmp ne ptr %t2321, null
+ br i1 %t2323, label %dc.inspect918, label %dc.checked921
+dc.inspect918:
+ %t2328 = getelementptr inbounds i8, ptr %t2321, i64 8 ; ->kind
+ %t2329 = load i32, ptr %t2328
+ %t2324 = icmp eq i32 %t2329, 12
+ br i1 %t2324, label %dc.capsule919, label %dc.checked921
+dc.capsule919:
+ %t2325 = getelementptr inbounds i8, ptr %t2321, i64 40 ; ->v.typed_ref.type_key
+ %t2326 = load ptr, ptr %t2325
+ %t2327 = icmp eq ptr %t2326, @sc_cs_660811353369478
+ br i1 %t2327, label %dc.exact920, label %dc.checked921
+dc.exact920:
+ %t2330 = getelementptr inbounds i8, ptr %t2321, i64 16 ; ->v.typed_ref.ptr
+ %t2331 = load ptr, ptr %t2330
+ %t2332 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t2331)
+ store ptr %t2332, ptr %s2322
+ br label %dc.done922
+dc.checked921:
+ %t2333 = call ptr @sc_dc_28(ptr %t2321, ptr null)
+ store ptr %t2333, ptr %s2322
+ %t2334 = load i32, ptr %exc.cell
+ %t2335 = icmp ne i32 %t2334, 0
+ %t2336 = call i1 @llvm.expect.i1(i1 %t2335, i1 false)
+ br i1 %t2336, label %exc.u923, label %exc.k924
+exc.u923:
+ call void @scr_dyn_release(ptr %t2321)
+ br label %exc.cleanup2
+exc.k924:
+ br label %dc.done922
+dc.done922:
+ %t2337 = load ptr, ptr %s2322
+ %t2338 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t2337, i64 0, i32 17
+ %t2339 = load ptr, ptr %t2338, !tbaa !204
+ %t2340 = call ptr @sc_rc_retain_dyn(ptr %t2339)
+ call void @scr_dyn_release(ptr %t2321)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t2337)
+ %t2341 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2341)
+ ret ptr %t2340
+if.j904:
+ %t2342 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2343
+ %t2344 = icmp ne ptr %t2342, null
+ br i1 %t2344, label %brand.inspect925, label %brand.done927
+brand.inspect925:
+ %t2345 = getelementptr inbounds i8, ptr %t2342, i64 8 ; ->kind
+ %t2346 = load i32, ptr %t2345
+ %t2347 = icmp eq i32 %t2346, 12
+ br i1 %t2347, label %brand.capsule926, label %brand.done927
+brand.capsule926:
+ %t2348 = getelementptr inbounds i8, ptr %t2342, i64 40 ; ->v.typed_ref.type_key
+ %t2349 = load ptr, ptr %t2348
+ %t2350 = icmp eq ptr %t2349, @sc_cs_4336131790391205
+ store i1 true, ptr %s2343
+ br i1 %t2350, label %brand.done927, label %brand.compare928
+brand.compare928:
+ %t2351 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2342, ptr @sc_lit_4336131790391205)
+ store i1 %t2351, ptr %s2343
+ br label %brand.done927
+brand.done927:
+ %t2352 = load i1, ptr %s2343
+ br i1 %t2352, label %if.t929, label %if.j930
+if.t929:
+ %t2353 = load ptr, ptr %sc_l_p_0
+ %t2354 = call ptr @sc_rc_retain_dyn(ptr %t2353)
+ %t2356 = icmp ne ptr %t2354, null
+ br i1 %t2356, label %dc.inspect931, label %dc.checked934
+dc.inspect931:
+ %t2361 = getelementptr inbounds i8, ptr %t2354, i64 8 ; ->kind
+ %t2362 = load i32, ptr %t2361
+ %t2357 = icmp eq i32 %t2362, 12
+ br i1 %t2357, label %dc.capsule932, label %dc.checked934
+dc.capsule932:
+ %t2358 = getelementptr inbounds i8, ptr %t2354, i64 40 ; ->v.typed_ref.type_key
+ %t2359 = load ptr, ptr %t2358
+ %t2360 = icmp eq ptr %t2359, @sc_cs_4336131790391205
+ br i1 %t2360, label %dc.exact933, label %dc.checked934
+dc.exact933:
+ %t2363 = getelementptr inbounds i8, ptr %t2354, i64 16 ; ->v.typed_ref.ptr
+ %t2364 = load ptr, ptr %t2363
+ %t2365 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2364)
+ store ptr %t2365, ptr %s2355
+ br label %dc.done935
+dc.checked934:
+ %t2366 = call ptr @sc_dc_43(ptr %t2354, ptr null)
+ store ptr %t2366, ptr %s2355
+ %t2367 = load i32, ptr %exc.cell
+ %t2368 = icmp ne i32 %t2367, 0
+ %t2369 = call i1 @llvm.expect.i1(i1 %t2368, i1 false)
+ br i1 %t2369, label %exc.u936, label %exc.k937
+exc.u936:
+ call void @scr_dyn_release(ptr %t2354)
+ br label %exc.cleanup2
+exc.k937:
+ br label %dc.done935
+dc.done935:
+ %t2370 = load ptr, ptr %s2355
+ %t2371 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2370, i64 0, i32 6
+ %t2372 = load ptr, ptr %t2371, !tbaa !204
+ %t2373 = getelementptr inbounds i8, ptr %t2372, i64 8 ; ->kind
+ %t2374 = load i32, ptr %t2373
+ %t2375 = icmp eq i32 %t2374, 6
+ call void @scr_dyn_release(ptr %t2354)
+ call void @sc_release__x25_m5_MpCfg(ptr %t2370)
+ br i1 %t2375, label %if.t938, label %if.j939
+if.t938:
+ %t2376 = call ptr @scr_dyn_new_obj()
+ %t2377 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2377)
+ ret ptr %t2376
+if.j939:
+ %t2378 = load ptr, ptr %sc_l_p_0
+ %t2379 = call ptr @sc_rc_retain_dyn(ptr %t2378)
+ %t2381 = icmp ne ptr %t2379, null
+ br i1 %t2381, label %dc.inspect940, label %dc.checked943
+dc.inspect940:
+ %t2386 = getelementptr inbounds i8, ptr %t2379, i64 8 ; ->kind
+ %t2387 = load i32, ptr %t2386
+ %t2382 = icmp eq i32 %t2387, 12
+ br i1 %t2382, label %dc.capsule941, label %dc.checked943
+dc.capsule941:
+ %t2383 = getelementptr inbounds i8, ptr %t2379, i64 40 ; ->v.typed_ref.type_key
+ %t2384 = load ptr, ptr %t2383
+ %t2385 = icmp eq ptr %t2384, @sc_cs_4336131790391205
+ br i1 %t2385, label %dc.exact942, label %dc.checked943
+dc.exact942:
+ %t2388 = getelementptr inbounds i8, ptr %t2379, i64 16 ; ->v.typed_ref.ptr
+ %t2389 = load ptr, ptr %t2388
+ %t2390 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t2389)
+ store ptr %t2390, ptr %s2380
+ br label %dc.done944
+dc.checked943:
+ %t2391 = call ptr @sc_dc_43(ptr %t2379, ptr null)
+ store ptr %t2391, ptr %s2380
+ %t2392 = load i32, ptr %exc.cell
+ %t2393 = icmp ne i32 %t2392, 0
+ %t2394 = call i1 @llvm.expect.i1(i1 %t2393, i1 false)
+ br i1 %t2394, label %exc.u945, label %exc.k946
+exc.u945:
+ call void @scr_dyn_release(ptr %t2379)
+ br label %exc.cleanup2
+exc.k946:
+ br label %dc.done944
+dc.done944:
+ %t2395 = load ptr, ptr %s2380
+ %t2396 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t2395, i64 0, i32 6
+ %t2397 = load ptr, ptr %t2396, !tbaa !204
+ %t2398 = call ptr @sc_rc_retain_dyn(ptr %t2397)
+ call void @scr_dyn_release(ptr %t2379)
+ call void @sc_release__x25_m5_MpCfg(ptr %t2395)
+ %t2399 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2399)
+ ret ptr %t2398
+if.j930:
+ %t2400 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2401
+ %t2402 = icmp ne ptr %t2400, null
+ br i1 %t2402, label %brand.inspect947, label %brand.done949
+brand.inspect947:
+ %t2403 = getelementptr inbounds i8, ptr %t2400, i64 8 ; ->kind
+ %t2404 = load i32, ptr %t2403
+ %t2405 = icmp eq i32 %t2404, 12
+ br i1 %t2405, label %brand.capsule948, label %brand.done949
+brand.capsule948:
+ %t2406 = getelementptr inbounds i8, ptr %t2400, i64 40 ; ->v.typed_ref.type_key
+ %t2407 = load ptr, ptr %t2406
+ %t2408 = icmp eq ptr %t2407, @sc_cs_3635319175845957
+ store i1 true, ptr %s2401
+ br i1 %t2408, label %brand.done949, label %brand.compare950
+brand.compare950:
+ %t2409 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2400, ptr @sc_lit_3635319175845957)
+ store i1 %t2409, ptr %s2401
+ br label %brand.done949
+brand.done949:
+ %t2410 = load i1, ptr %s2401
+ br i1 %t2410, label %tern.t951, label %tern.f952
+tern.t951:
+ %t2412 = load ptr, ptr %sc_l_p_0
+ %t2413 = call ptr @sc_rc_retain_dyn(ptr %t2412)
+ %t2415 = icmp ne ptr %t2413, null
+ br i1 %t2415, label %dc.inspect954, label %dc.checked957
+dc.inspect954:
+ %t2420 = getelementptr inbounds i8, ptr %t2413, i64 8 ; ->kind
+ %t2421 = load i32, ptr %t2420
+ %t2416 = icmp eq i32 %t2421, 12
+ br i1 %t2416, label %dc.capsule955, label %dc.checked957
+dc.capsule955:
+ %t2417 = getelementptr inbounds i8, ptr %t2413, i64 40 ; ->v.typed_ref.type_key
+ %t2418 = load ptr, ptr %t2417
+ %t2419 = icmp eq ptr %t2418, @sc_cs_3635319175845957
+ br i1 %t2419, label %dc.exact956, label %dc.checked957
+dc.exact956:
+ %t2422 = getelementptr inbounds i8, ptr %t2413, i64 16 ; ->v.typed_ref.ptr
+ %t2423 = load ptr, ptr %t2422
+ %t2424 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2423)
+ store ptr %t2424, ptr %s2414
+ br label %dc.done958
+dc.checked957:
+ %t2425 = call ptr @sc_dc_24(ptr %t2413, ptr null)
+ store ptr %t2425, ptr %s2414
+ %t2426 = load i32, ptr %exc.cell
+ %t2427 = icmp ne i32 %t2426, 0
+ %t2428 = call i1 @llvm.expect.i1(i1 %t2427, i1 false)
+ br i1 %t2428, label %exc.u959, label %exc.k960
+exc.u959:
+ call void @scr_dyn_release(ptr %t2413)
+ br label %exc.cleanup2
+exc.k960:
+ br label %dc.done958
+dc.done958:
+ %t2429 = load ptr, ptr %s2414
+ %t2430 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2429, i64 0, i32 1
+ %t2431 = load ptr, ptr %t2430
+ %t2432 = getelementptr inbounds %ScrVt, ptr %t2431, i64 0, i32 0
+ %t2433 = load i64, ptr %t2432
+ %t2434 = icmp uge i64 %t2433, 26
+ %t2435 = icmp ule i64 %t2433, 26
+ %t2436 = and i1 %t2434, %t2435 ; instanceof %m4.MemoryStorage
+ store i1 %t2436, ptr %s2411
+ call void @scr_dyn_release(ptr %t2413)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2429)
+ br label %tern.j953
+tern.f952:
+ store i1 false, ptr %s2411
+ br label %tern.j953
+tern.j953:
+ %t2437 = load i1, ptr %s2411
+ br i1 %t2437, label %if.t961, label %if.j962
+if.t961:
+ %t2438 = load ptr, ptr %sc_l_p_0
+ %t2439 = call ptr @sc_rc_retain_dyn(ptr %t2438)
+ %t2441 = icmp ne ptr %t2439, null
+ br i1 %t2441, label %dc.inspect963, label %dc.checked966
+dc.inspect963:
+ %t2446 = getelementptr inbounds i8, ptr %t2439, i64 8 ; ->kind
+ %t2447 = load i32, ptr %t2446
+ %t2442 = icmp eq i32 %t2447, 12
+ br i1 %t2442, label %dc.capsule964, label %dc.checked966
+dc.capsule964:
+ %t2443 = getelementptr inbounds i8, ptr %t2439, i64 40 ; ->v.typed_ref.type_key
+ %t2444 = load ptr, ptr %t2443
+ %t2445 = icmp eq ptr %t2444, @sc_cs_3635319175845957
+ br i1 %t2445, label %dc.exact965, label %dc.checked966
+dc.exact965:
+ %t2448 = getelementptr inbounds i8, ptr %t2439, i64 16 ; ->v.typed_ref.ptr
+ %t2449 = load ptr, ptr %t2448
+ %t2450 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2449)
+ store ptr %t2450, ptr %s2440
+ br label %dc.done967
+dc.checked966:
+ %t2451 = call ptr @sc_dc_24(ptr %t2439, ptr null)
+ store ptr %t2451, ptr %s2440
+ %t2452 = load i32, ptr %exc.cell
+ %t2453 = icmp ne i32 %t2452, 0
+ %t2454 = call i1 @llvm.expect.i1(i1 %t2453, i1 false)
+ br i1 %t2454, label %exc.u968, label %exc.k969
+exc.u968:
+ call void @scr_dyn_release(ptr %t2439)
+ br label %exc.cleanup2
+exc.k969:
+ br label %dc.done967
+dc.done967:
+ %t2455 = load ptr, ptr %s2440
+ %t2456 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t2455, i64 0, i32 2
+ %t2457 = load ptr, ptr %t2456, !tbaa !204
+ %t2458 = getelementptr inbounds i8, ptr %t2457, i64 8 ; ->kind
+ %t2459 = load i32, ptr %t2458
+ %t2460 = icmp eq i32 %t2459, 6
+ call void @scr_dyn_release(ptr %t2439)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2455)
+ br i1 %t2460, label %if.t970, label %if.j971
+if.t970:
+ %t2461 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t2462 = load i32, ptr %exc.cell
+ %t2463 = icmp ne i32 %t2462, 0
+ %t2464 = call i1 @llvm.expect.i1(i1 %t2463, i1 false)
+ br i1 %t2464, label %exc.u972, label %exc.k973
+exc.u972:
+ call void @scr_dyn_release(ptr %t2461)
+ br label %exc.cleanup2
+exc.k973:
+ %t2465 = call ptr @scr_dyn_obj_create(ptr %t2461)
+ %t2466 = load i32, ptr %exc.cell
+ %t2467 = icmp ne i32 %t2466, 0
+ %t2468 = call i1 @llvm.expect.i1(i1 %t2467, i1 false)
+ br i1 %t2468, label %exc.u974, label %exc.k975
+exc.u974:
+ call void @scr_dyn_release(ptr %t2461)
+ call void @scr_dyn_release(ptr %t2465)
+ br label %exc.cleanup2
+exc.k975:
+ call void @scr_dyn_release(ptr %t2461)
+ %t2469 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2469)
+ ret ptr %t2465
+if.j971:
+ %t2470 = load ptr, ptr %sc_l_p_0
+ %t2471 = call ptr @sc_rc_retain_dyn(ptr %t2470)
+ %t2473 = icmp ne ptr %t2471, null
+ br i1 %t2473, label %dc.inspect976, label %dc.checked979
+dc.inspect976:
+ %t2478 = getelementptr inbounds i8, ptr %t2471, i64 8 ; ->kind
+ %t2479 = load i32, ptr %t2478
+ %t2474 = icmp eq i32 %t2479, 12
+ br i1 %t2474, label %dc.capsule977, label %dc.checked979
+dc.capsule977:
+ %t2475 = getelementptr inbounds i8, ptr %t2471, i64 40 ; ->v.typed_ref.type_key
+ %t2476 = load ptr, ptr %t2475
+ %t2477 = icmp eq ptr %t2476, @sc_cs_3635319175845957
+ br i1 %t2477, label %dc.exact978, label %dc.checked979
+dc.exact978:
+ %t2480 = getelementptr inbounds i8, ptr %t2471, i64 16 ; ->v.typed_ref.ptr
+ %t2481 = load ptr, ptr %t2480
+ %t2482 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2481)
+ store ptr %t2482, ptr %s2472
+ br label %dc.done980
+dc.checked979:
+ %t2483 = call ptr @sc_dc_24(ptr %t2471, ptr null)
+ store ptr %t2483, ptr %s2472
+ %t2484 = load i32, ptr %exc.cell
+ %t2485 = icmp ne i32 %t2484, 0
+ %t2486 = call i1 @llvm.expect.i1(i1 %t2485, i1 false)
+ br i1 %t2486, label %exc.u981, label %exc.k982
+exc.u981:
+ call void @scr_dyn_release(ptr %t2471)
+ br label %exc.cleanup2
+exc.k982:
+ br label %dc.done980
+dc.done980:
+ %t2487 = load ptr, ptr %s2472
+ %t2488 = getelementptr inbounds %sc_o__x25_m4_MemoryStorage, ptr %t2487, i64 0, i32 2
+ %t2489 = load ptr, ptr %t2488, !tbaa !204
+ %t2490 = call ptr @sc_rc_retain_dyn(ptr %t2489)
+ call void @scr_dyn_release(ptr %t2471)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2487)
+ %t2491 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2491)
+ ret ptr %t2490
+if.j962:
+ %t2492 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2493
+ %t2494 = icmp ne ptr %t2492, null
+ br i1 %t2494, label %brand.inspect983, label %brand.done985
+brand.inspect983:
+ %t2495 = getelementptr inbounds i8, ptr %t2492, i64 8 ; ->kind
+ %t2496 = load i32, ptr %t2495
+ %t2497 = icmp eq i32 %t2496, 12
+ br i1 %t2497, label %brand.capsule984, label %brand.done985
+brand.capsule984:
+ %t2498 = getelementptr inbounds i8, ptr %t2492, i64 40 ; ->v.typed_ref.type_key
+ %t2499 = load ptr, ptr %t2498
+ %t2500 = icmp eq ptr %t2499, @sc_cs_3635319175845957
+ store i1 true, ptr %s2493
+ br i1 %t2500, label %brand.done985, label %brand.compare986
+brand.compare986:
+ %t2501 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2492, ptr @sc_lit_3635319175845957)
+ store i1 %t2501, ptr %s2493
+ br label %brand.done985
+brand.done985:
+ %t2502 = load i1, ptr %s2493
+ br i1 %t2502, label %if.t987, label %if.j988
+if.t987:
+ %t2503 = load ptr, ptr %sc_l_p_0
+ %t2504 = call ptr @sc_rc_retain_dyn(ptr %t2503)
+ %t2506 = icmp ne ptr %t2504, null
+ br i1 %t2506, label %dc.inspect989, label %dc.checked992
+dc.inspect989:
+ %t2511 = getelementptr inbounds i8, ptr %t2504, i64 8 ; ->kind
+ %t2512 = load i32, ptr %t2511
+ %t2507 = icmp eq i32 %t2512, 12
+ br i1 %t2507, label %dc.capsule990, label %dc.checked992
+dc.capsule990:
+ %t2508 = getelementptr inbounds i8, ptr %t2504, i64 40 ; ->v.typed_ref.type_key
+ %t2509 = load ptr, ptr %t2508
+ %t2510 = icmp eq ptr %t2509, @sc_cs_3635319175845957
+ br i1 %t2510, label %dc.exact991, label %dc.checked992
+dc.exact991:
+ %t2513 = getelementptr inbounds i8, ptr %t2504, i64 16 ; ->v.typed_ref.ptr
+ %t2514 = load ptr, ptr %t2513
+ %t2515 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2514)
+ store ptr %t2515, ptr %s2505
+ br label %dc.done993
+dc.checked992:
+ %t2516 = call ptr @sc_dc_24(ptr %t2504, ptr null)
+ store ptr %t2516, ptr %s2505
+ %t2517 = load i32, ptr %exc.cell
+ %t2518 = icmp ne i32 %t2517, 0
+ %t2519 = call i1 @llvm.expect.i1(i1 %t2518, i1 false)
+ br i1 %t2519, label %exc.u994, label %exc.k995
+exc.u994:
+ call void @scr_dyn_release(ptr %t2504)
+ br label %exc.cleanup2
+exc.k995:
+ br label %dc.done993
+dc.done993:
+ %t2520 = load ptr, ptr %s2505
+ %t2521 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2520, i64 0, i32 2
+ %t2522 = load ptr, ptr %t2521, !tbaa !204
+ %t2523 = getelementptr inbounds i8, ptr %t2522, i64 8 ; ->kind
+ %t2524 = load i32, ptr %t2523
+ %t2525 = icmp eq i32 %t2524, 6
+ call void @scr_dyn_release(ptr %t2504)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2520)
+ br i1 %t2525, label %if.t996, label %if.j997
+if.t996:
+ %t2526 = load ptr, ptr %sc_l_p_0
+ %t2527 = call ptr @sc_rc_retain_dyn(ptr %t2526)
+ %t2529 = icmp ne ptr %t2527, null
+ br i1 %t2529, label %dc.inspect998, label %dc.checked1001
+dc.inspect998:
+ %t2534 = getelementptr inbounds i8, ptr %t2527, i64 8 ; ->kind
+ %t2535 = load i32, ptr %t2534
+ %t2530 = icmp eq i32 %t2535, 12
+ br i1 %t2530, label %dc.capsule999, label %dc.checked1001
+dc.capsule999:
+ %t2531 = getelementptr inbounds i8, ptr %t2527, i64 40 ; ->v.typed_ref.type_key
+ %t2532 = load ptr, ptr %t2531
+ %t2533 = icmp eq ptr %t2532, @sc_cs_3635319175845957
+ br i1 %t2533, label %dc.exact1000, label %dc.checked1001
+dc.exact1000:
+ %t2536 = getelementptr inbounds i8, ptr %t2527, i64 16 ; ->v.typed_ref.ptr
+ %t2537 = load ptr, ptr %t2536
+ %t2538 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2537)
+ store ptr %t2538, ptr %s2528
+ br label %dc.done1002
+dc.checked1001:
+ %t2539 = call ptr @sc_dc_24(ptr %t2527, ptr null)
+ store ptr %t2539, ptr %s2528
+ %t2540 = load i32, ptr %exc.cell
+ %t2541 = icmp ne i32 %t2540, 0
+ %t2542 = call i1 @llvm.expect.i1(i1 %t2541, i1 false)
+ br i1 %t2542, label %exc.u1003, label %exc.k1004
+exc.u1003:
+ call void @scr_dyn_release(ptr %t2527)
+ br label %exc.cleanup2
+exc.k1004:
+ br label %dc.done1002
+dc.done1002:
+ %t2543 = load ptr, ptr %s2528
+ %t2544 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2543, i64 0, i32 1
+ %t2545 = load ptr, ptr %t2544
+ %t2546 = getelementptr inbounds %ScrVt, ptr %t2545, i64 0, i32 0
+ %t2547 = load i64, ptr %t2546
+ %t2548 = icmp uge i64 %t2547, 26
+ %t2549 = icmp ule i64 %t2547, 26
+ %t2550 = and i1 %t2548, %t2549 ; instanceof %m4.MemoryStorage
+ br i1 %t2550, label %tern.t1005, label %tern.f1006
+tern.t1005:
+ %t2552 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t2553 = load i32, ptr %exc.cell
+ %t2554 = icmp ne i32 %t2553, 0
+ %t2555 = call i1 @llvm.expect.i1(i1 %t2554, i1 false)
+ br i1 %t2555, label %exc.u1008, label %exc.k1009
+exc.u1008:
+ call void @scr_dyn_release(ptr %t2552)
+ call void @scr_dyn_release(ptr %t2527)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2543)
+ br label %exc.cleanup2
+exc.k1009:
+ store ptr %t2552, ptr %s2551
+ br label %tern.j1007
+tern.f1006:
+ %t2556 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartStorage()
+ %t2557 = load i32, ptr %exc.cell
+ %t2558 = icmp ne i32 %t2557, 0
+ %t2559 = call i1 @llvm.expect.i1(i1 %t2558, i1 false)
+ br i1 %t2559, label %exc.u1010, label %exc.k1011
+exc.u1010:
+ call void @scr_dyn_release(ptr %t2556)
+ call void @scr_dyn_release(ptr %t2527)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2543)
+ br label %exc.cleanup2
+exc.k1011:
+ store ptr %t2556, ptr %s2551
+ br label %tern.j1007
+tern.j1007:
+ %t2560 = load ptr, ptr %s2551
+ %t2561 = call ptr @scr_dyn_obj_create(ptr %t2560)
+ %t2562 = load i32, ptr %exc.cell
+ %t2563 = icmp ne i32 %t2562, 0
+ %t2564 = call i1 @llvm.expect.i1(i1 %t2563, i1 false)
+ br i1 %t2564, label %exc.u1012, label %exc.k1013
+exc.u1012:
+ call void @scr_dyn_release(ptr %t2527)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2543)
+ call void @scr_dyn_release(ptr %t2560)
+ call void @scr_dyn_release(ptr %t2561)
+ br label %exc.cleanup2
+exc.k1013:
+ call void @scr_dyn_release(ptr %t2527)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2543)
+ call void @scr_dyn_release(ptr %t2560)
+ %t2565 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2565)
+ ret ptr %t2561
+if.j997:
+ %t2566 = load ptr, ptr %sc_l_p_0
+ %t2567 = call ptr @sc_rc_retain_dyn(ptr %t2566)
+ %t2569 = icmp ne ptr %t2567, null
+ br i1 %t2569, label %dc.inspect1014, label %dc.checked1017
+dc.inspect1014:
+ %t2574 = getelementptr inbounds i8, ptr %t2567, i64 8 ; ->kind
+ %t2575 = load i32, ptr %t2574
+ %t2570 = icmp eq i32 %t2575, 12
+ br i1 %t2570, label %dc.capsule1015, label %dc.checked1017
+dc.capsule1015:
+ %t2571 = getelementptr inbounds i8, ptr %t2567, i64 40 ; ->v.typed_ref.type_key
+ %t2572 = load ptr, ptr %t2571
+ %t2573 = icmp eq ptr %t2572, @sc_cs_3635319175845957
+ br i1 %t2573, label %dc.exact1016, label %dc.checked1017
+dc.exact1016:
+ %t2576 = getelementptr inbounds i8, ptr %t2567, i64 16 ; ->v.typed_ref.ptr
+ %t2577 = load ptr, ptr %t2576
+ %t2578 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t2577)
+ store ptr %t2578, ptr %s2568
+ br label %dc.done1018
+dc.checked1017:
+ %t2579 = call ptr @sc_dc_24(ptr %t2567, ptr null)
+ store ptr %t2579, ptr %s2568
+ %t2580 = load i32, ptr %exc.cell
+ %t2581 = icmp ne i32 %t2580, 0
+ %t2582 = call i1 @llvm.expect.i1(i1 %t2581, i1 false)
+ br i1 %t2582, label %exc.u1019, label %exc.k1020
+exc.u1019:
+ call void @scr_dyn_release(ptr %t2567)
+ br label %exc.cleanup2
+exc.k1020:
+ br label %dc.done1018
+dc.done1018:
+ %t2583 = load ptr, ptr %s2568
+ %t2584 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t2583, i64 0, i32 2
+ %t2585 = load ptr, ptr %t2584, !tbaa !204
+ %t2586 = call ptr @sc_rc_retain_dyn(ptr %t2585)
+ call void @scr_dyn_release(ptr %t2567)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t2583)
+ %t2587 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2587)
+ ret ptr %t2586
+if.j988:
+ %t2588 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2589
+ %t2590 = icmp ne ptr %t2588, null
+ br i1 %t2590, label %brand.inspect1021, label %brand.done1023
+brand.inspect1021:
+ %t2591 = getelementptr inbounds i8, ptr %t2588, i64 8 ; ->kind
+ %t2592 = load i32, ptr %t2591
+ %t2593 = icmp eq i32 %t2592, 12
+ br i1 %t2593, label %brand.capsule1022, label %brand.done1023
+brand.capsule1022:
+ %t2594 = getelementptr inbounds i8, ptr %t2588, i64 40 ; ->v.typed_ref.type_key
+ %t2595 = load ptr, ptr %t2594
+ %t2596 = icmp eq ptr %t2595, @sc_cs_4143564844538255
+ store i1 true, ptr %s2589
+ br i1 %t2596, label %brand.done1023, label %brand.compare1024
+brand.compare1024:
+ %t2597 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2588, ptr @sc_lit_4143564844538255)
+ store i1 %t2597, ptr %s2589
+ br label %brand.done1023
+brand.done1023:
+ %t2598 = load i1, ptr %s2589
+ br i1 %t2598, label %if.t1025, label %if.j1026
+if.t1025:
+ %t2599 = load ptr, ptr %sc_l_p_0
+ %t2600 = call ptr @sc_rc_retain_dyn(ptr %t2599)
+ %t2602 = icmp ne ptr %t2600, null
+ br i1 %t2602, label %dc.inspect1027, label %dc.checked1030
+dc.inspect1027:
+ %t2607 = getelementptr inbounds i8, ptr %t2600, i64 8 ; ->kind
+ %t2608 = load i32, ptr %t2607
+ %t2603 = icmp eq i32 %t2608, 12
+ br i1 %t2603, label %dc.capsule1028, label %dc.checked1030
+dc.capsule1028:
+ %t2604 = getelementptr inbounds i8, ptr %t2600, i64 40 ; ->v.typed_ref.type_key
+ %t2605 = load ptr, ptr %t2604
+ %t2606 = icmp eq ptr %t2605, @sc_cs_4143564844538255
+ br i1 %t2606, label %dc.exact1029, label %dc.checked1030
+dc.exact1029:
+ %t2609 = getelementptr inbounds i8, ptr %t2600, i64 16 ; ->v.typed_ref.ptr
+ %t2610 = load ptr, ptr %t2609
+ %t2611 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t2610)
+ store ptr %t2611, ptr %s2601
+ br label %dc.done1031
+dc.checked1030:
+ %t2612 = call ptr @sc_dc_109(ptr %t2600, ptr null)
+ store ptr %t2612, ptr %s2601
+ %t2613 = load i32, ptr %exc.cell
+ %t2614 = icmp ne i32 %t2613, 0
+ %t2615 = call i1 @llvm.expect.i1(i1 %t2614, i1 false)
+ br i1 %t2615, label %exc.u1032, label %exc.k1033
+exc.u1032:
+ call void @scr_dyn_release(ptr %t2600)
+ br label %exc.cleanup2
+exc.k1033:
+ br label %dc.done1031
+dc.done1031:
+ %t2616 = load ptr, ptr %s2601
+ %t2617 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2616, i64 0, i32 2
+ %t2618 = load ptr, ptr %t2617, !tbaa !204
+ %t2619 = getelementptr inbounds i8, ptr %t2618, i64 8 ; ->kind
+ %t2620 = load i32, ptr %t2619
+ %t2621 = icmp eq i32 %t2620, 6
+ call void @scr_dyn_release(ptr %t2600)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t2616)
+ br i1 %t2621, label %if.t1034, label %if.j1035
+if.t1034:
+ %t2622 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t2623 = load i32, ptr %exc.cell
+ %t2624 = icmp ne i32 %t2623, 0
+ %t2625 = call i1 @llvm.expect.i1(i1 %t2624, i1 false)
+ br i1 %t2625, label %exc.u1036, label %exc.k1037
+exc.u1036:
+ call void @scr_dyn_release(ptr %t2622)
+ br label %exc.cleanup2
+exc.k1037:
+ %t2626 = call ptr @scr_dyn_obj_create(ptr %t2622)
+ %t2627 = load i32, ptr %exc.cell
+ %t2628 = icmp ne i32 %t2627, 0
+ %t2629 = call i1 @llvm.expect.i1(i1 %t2628, i1 false)
+ br i1 %t2629, label %exc.u1038, label %exc.k1039
+exc.u1038:
+ call void @scr_dyn_release(ptr %t2622)
+ call void @scr_dyn_release(ptr %t2626)
+ br label %exc.cleanup2
+exc.k1039:
+ call void @scr_dyn_release(ptr %t2622)
+ %t2630 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2630)
+ ret ptr %t2626
+if.j1035:
+ %t2631 = load ptr, ptr %sc_l_p_0
+ %t2632 = call ptr @sc_rc_retain_dyn(ptr %t2631)
+ %t2634 = icmp ne ptr %t2632, null
+ br i1 %t2634, label %dc.inspect1040, label %dc.checked1043
+dc.inspect1040:
+ %t2639 = getelementptr inbounds i8, ptr %t2632, i64 8 ; ->kind
+ %t2640 = load i32, ptr %t2639
+ %t2635 = icmp eq i32 %t2640, 12
+ br i1 %t2635, label %dc.capsule1041, label %dc.checked1043
+dc.capsule1041:
+ %t2636 = getelementptr inbounds i8, ptr %t2632, i64 40 ; ->v.typed_ref.type_key
+ %t2637 = load ptr, ptr %t2636
+ %t2638 = icmp eq ptr %t2637, @sc_cs_4143564844538255
+ br i1 %t2638, label %dc.exact1042, label %dc.checked1043
+dc.exact1042:
+ %t2641 = getelementptr inbounds i8, ptr %t2632, i64 16 ; ->v.typed_ref.ptr
+ %t2642 = load ptr, ptr %t2641
+ %t2643 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t2642)
+ store ptr %t2643, ptr %s2633
+ br label %dc.done1044
+dc.checked1043:
+ %t2644 = call ptr @sc_dc_109(ptr %t2632, ptr null)
+ store ptr %t2644, ptr %s2633
+ %t2645 = load i32, ptr %exc.cell
+ %t2646 = icmp ne i32 %t2645, 0
+ %t2647 = call i1 @llvm.expect.i1(i1 %t2646, i1 false)
+ br i1 %t2647, label %exc.u1045, label %exc.k1046
+exc.u1045:
+ call void @scr_dyn_release(ptr %t2632)
+ br label %exc.cleanup2
+exc.k1046:
+ br label %dc.done1044
+dc.done1044:
+ %t2648 = load ptr, ptr %s2633
+ %t2649 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t2648, i64 0, i32 2
+ %t2650 = load ptr, ptr %t2649, !tbaa !204
+ %t2651 = call ptr @sc_rc_retain_dyn(ptr %t2650)
+ call void @scr_dyn_release(ptr %t2632)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t2648)
+ %t2652 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2652)
+ ret ptr %t2651
+if.j1026:
+ %t2653 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2654
+ %t2655 = icmp ne ptr %t2653, null
+ br i1 %t2655, label %brand.inspect1047, label %brand.done1049
+brand.inspect1047:
+ %t2656 = getelementptr inbounds i8, ptr %t2653, i64 8 ; ->kind
+ %t2657 = load i32, ptr %t2656
+ %t2658 = icmp eq i32 %t2657, 12
+ br i1 %t2658, label %brand.capsule1048, label %brand.done1049
+brand.capsule1048:
+ %t2659 = getelementptr inbounds i8, ptr %t2653, i64 40 ; ->v.typed_ref.type_key
+ %t2660 = load ptr, ptr %t2659
+ %t2661 = icmp eq ptr %t2660, @sc_cs_2875643240706496
+ store i1 true, ptr %s2654
+ br i1 %t2661, label %brand.done1049, label %brand.compare1050
+brand.compare1050:
+ %t2662 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2653, ptr @sc_lit_2875643240706496)
+ store i1 %t2662, ptr %s2654
+ br label %brand.done1049
+brand.done1049:
+ %t2663 = load i1, ptr %s2654
+ br i1 %t2663, label %if.t1051, label %if.j1052
+if.t1051:
+ %t2664 = load ptr, ptr %sc_l_p_0
+ %t2665 = call ptr @sc_rc_retain_dyn(ptr %t2664)
+ %t2667 = icmp ne ptr %t2665, null
+ br i1 %t2667, label %dc.inspect1053, label %dc.checked1056
+dc.inspect1053:
+ %t2672 = getelementptr inbounds i8, ptr %t2665, i64 8 ; ->kind
+ %t2673 = load i32, ptr %t2672
+ %t2668 = icmp eq i32 %t2673, 12
+ br i1 %t2668, label %dc.capsule1054, label %dc.checked1056
+dc.capsule1054:
+ %t2669 = getelementptr inbounds i8, ptr %t2665, i64 40 ; ->v.typed_ref.type_key
+ %t2670 = load ptr, ptr %t2669
+ %t2671 = icmp eq ptr %t2670, @sc_cs_2875643240706496
+ br i1 %t2671, label %dc.exact1055, label %dc.checked1056
+dc.exact1055:
+ %t2674 = getelementptr inbounds i8, ptr %t2665, i64 16 ; ->v.typed_ref.ptr
+ %t2675 = load ptr, ptr %t2674
+ %t2676 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t2675)
+ store ptr %t2676, ptr %s2666
+ br label %dc.done1057
+dc.checked1056:
+ %t2677 = call ptr @sc_dc_48(ptr %t2665, ptr null)
+ store ptr %t2677, ptr %s2666
+ %t2678 = load i32, ptr %exc.cell
+ %t2679 = icmp ne i32 %t2678, 0
+ %t2680 = call i1 @llvm.expect.i1(i1 %t2679, i1 false)
+ br i1 %t2680, label %exc.u1058, label %exc.k1059
+exc.u1058:
+ call void @scr_dyn_release(ptr %t2665)
+ br label %exc.cleanup2
+exc.k1059:
+ br label %dc.done1057
+dc.done1057:
+ %t2681 = load ptr, ptr %s2666
+ %t2682 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t2681, i64 0, i32 8
+ %t2683 = load ptr, ptr %t2682, !tbaa !204
+ %t2684 = getelementptr inbounds i8, ptr %t2683, i64 8 ; ->kind
+ %t2685 = load i32, ptr %t2684
+ %t2686 = icmp eq i32 %t2685, 6
+ call void @scr_dyn_release(ptr %t2665)
+ call void @sc_release__x25_m5_CtxCore(ptr %t2681)
+ br i1 %t2686, label %if.t1060, label %if.j1061
+if.t1060:
+ %t2687 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxCore()
+ %t2688 = load i32, ptr %exc.cell
+ %t2689 = icmp ne i32 %t2688, 0
+ %t2690 = call i1 @llvm.expect.i1(i1 %t2689, i1 false)
+ br i1 %t2690, label %exc.u1062, label %exc.k1063
+exc.u1062:
+ call void @scr_dyn_release(ptr %t2687)
+ br label %exc.cleanup2
+exc.k1063:
+ %t2691 = call ptr @scr_dyn_obj_create(ptr %t2687)
+ %t2692 = load i32, ptr %exc.cell
+ %t2693 = icmp ne i32 %t2692, 0
+ %t2694 = call i1 @llvm.expect.i1(i1 %t2693, i1 false)
+ br i1 %t2694, label %exc.u1064, label %exc.k1065
+exc.u1064:
+ call void @scr_dyn_release(ptr %t2687)
+ call void @scr_dyn_release(ptr %t2691)
+ br label %exc.cleanup2
+exc.k1065:
+ call void @scr_dyn_release(ptr %t2687)
+ %t2695 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2695)
+ ret ptr %t2691
+if.j1061:
+ %t2696 = load ptr, ptr %sc_l_p_0
+ %t2697 = call ptr @sc_rc_retain_dyn(ptr %t2696)
+ %t2699 = icmp ne ptr %t2697, null
+ br i1 %t2699, label %dc.inspect1066, label %dc.checked1069
+dc.inspect1066:
+ %t2704 = getelementptr inbounds i8, ptr %t2697, i64 8 ; ->kind
+ %t2705 = load i32, ptr %t2704
+ %t2700 = icmp eq i32 %t2705, 12
+ br i1 %t2700, label %dc.capsule1067, label %dc.checked1069
+dc.capsule1067:
+ %t2701 = getelementptr inbounds i8, ptr %t2697, i64 40 ; ->v.typed_ref.type_key
+ %t2702 = load ptr, ptr %t2701
+ %t2703 = icmp eq ptr %t2702, @sc_cs_2875643240706496
+ br i1 %t2703, label %dc.exact1068, label %dc.checked1069
+dc.exact1068:
+ %t2706 = getelementptr inbounds i8, ptr %t2697, i64 16 ; ->v.typed_ref.ptr
+ %t2707 = load ptr, ptr %t2706
+ %t2708 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t2707)
+ store ptr %t2708, ptr %s2698
+ br label %dc.done1070
+dc.checked1069:
+ %t2709 = call ptr @sc_dc_48(ptr %t2697, ptr null)
+ store ptr %t2709, ptr %s2698
+ %t2710 = load i32, ptr %exc.cell
+ %t2711 = icmp ne i32 %t2710, 0
+ %t2712 = call i1 @llvm.expect.i1(i1 %t2711, i1 false)
+ br i1 %t2712, label %exc.u1071, label %exc.k1072
+exc.u1071:
+ call void @scr_dyn_release(ptr %t2697)
+ br label %exc.cleanup2
+exc.k1072:
+ br label %dc.done1070
+dc.done1070:
+ %t2713 = load ptr, ptr %s2698
+ %t2714 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t2713, i64 0, i32 8
+ %t2715 = load ptr, ptr %t2714, !tbaa !204
+ %t2716 = call ptr @sc_rc_retain_dyn(ptr %t2715)
+ call void @scr_dyn_release(ptr %t2697)
+ call void @sc_release__x25_m5_CtxCore(ptr %t2713)
+ %t2717 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2717)
+ ret ptr %t2716
+if.j1052:
+ %t2718 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s2719
+ %t2720 = icmp ne ptr %t2718, null
+ br i1 %t2720, label %brand.inspect1073, label %brand.done1075
+brand.inspect1073:
+ %t2721 = getelementptr inbounds i8, ptr %t2718, i64 8 ; ->kind
+ %t2722 = load i32, ptr %t2721
+ %t2723 = icmp eq i32 %t2722, 12
+ br i1 %t2723, label %brand.capsule1074, label %brand.done1075
+brand.capsule1074:
+ %t2724 = getelementptr inbounds i8, ptr %t2718, i64 40 ; ->v.typed_ref.type_key
+ %t2725 = load ptr, ptr %t2724
+ %t2726 = icmp eq ptr %t2725, @sc_cs_21424698936986
+ store i1 true, ptr %s2719
+ br i1 %t2726, label %brand.done1075, label %brand.compare1076
+brand.compare1076:
+ %t2727 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t2718, ptr @sc_lit_21424698936986)
+ store i1 %t2727, ptr %s2719
+ br label %brand.done1075
+brand.done1075:
+ %t2728 = load i1, ptr %s2719
+ br i1 %t2728, label %if.t1077, label %if.j1078
+if.t1077:
+ %t2729 = load ptr, ptr %sc_l_p_0
+ %t2730 = call ptr @sc_rc_retain_dyn(ptr %t2729)
+ %t2732 = icmp ne ptr %t2730, null
+ br i1 %t2732, label %dc.inspect1079, label %dc.checked1082
+dc.inspect1079:
+ %t2737 = getelementptr inbounds i8, ptr %t2730, i64 8 ; ->kind
+ %t2738 = load i32, ptr %t2737
+ %t2733 = icmp eq i32 %t2738, 12
+ br i1 %t2733, label %dc.capsule1080, label %dc.checked1082
+dc.capsule1080:
+ %t2734 = getelementptr inbounds i8, ptr %t2730, i64 40 ; ->v.typed_ref.type_key
+ %t2735 = load ptr, ptr %t2734
+ %t2736 = icmp eq ptr %t2735, @sc_cs_21424698936986
+ br i1 %t2736, label %dc.exact1081, label %dc.checked1082
+dc.exact1081:
+ %t2739 = getelementptr inbounds i8, ptr %t2730, i64 16 ; ->v.typed_ref.ptr
+ %t2740 = load ptr, ptr %t2739
+ %t2741 = call ptr @sc_retain__x25_m5_App(ptr %t2740)
+ store ptr %t2741, ptr %s2731
+ br label %dc.done1083
+dc.checked1082:
+ %t2742 = call ptr @sc_dc_91(ptr %t2730, ptr null)
+ store ptr %t2742, ptr %s2731
+ %t2743 = load i32, ptr %exc.cell
+ %t2744 = icmp ne i32 %t2743, 0
+ %t2745 = call i1 @llvm.expect.i1(i1 %t2744, i1 false)
+ br i1 %t2745, label %exc.u1084, label %exc.k1085
+exc.u1084:
+ call void @scr_dyn_release(ptr %t2730)
+ br label %exc.cleanup2
+exc.k1085:
+ br label %dc.done1083
+dc.done1083:
+ %t2746 = load ptr, ptr %s2731
+ %t2747 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t2746, i64 0, i32 18
+ %t2748 = load ptr, ptr %t2747, !tbaa !204
+ %t2749 = getelementptr inbounds i8, ptr %t2748, i64 8 ; ->kind
+ %t2750 = load i32, ptr %t2749
+ %t2751 = icmp eq i32 %t2750, 6
+ call void @scr_dyn_release(ptr %t2730)
+ call void @sc_release__x25_m5_App(ptr %t2746)
+ br i1 %t2751, label %if.t1086, label %if.j1087
+if.t1086:
+ %t2752 = call ptr @sc_f__x25_prototype_data__x25_m5_App()
+ %t2753 = load i32, ptr %exc.cell
+ %t2754 = icmp ne i32 %t2753, 0
+ %t2755 = call i1 @llvm.expect.i1(i1 %t2754, i1 false)
+ br i1 %t2755, label %exc.u1088, label %exc.k1089
+exc.u1088:
+ call void @scr_dyn_release(ptr %t2752)
+ br label %exc.cleanup2
+exc.k1089:
+ %t2756 = call ptr @scr_dyn_obj_create(ptr %t2752)
+ %t2757 = load i32, ptr %exc.cell
+ %t2758 = icmp ne i32 %t2757, 0
+ %t2759 = call i1 @llvm.expect.i1(i1 %t2758, i1 false)
+ br i1 %t2759, label %exc.u1090, label %exc.k1091
+exc.u1090:
+ call void @scr_dyn_release(ptr %t2752)
+ call void @scr_dyn_release(ptr %t2756)
+ br label %exc.cleanup2
+exc.k1091:
+ call void @scr_dyn_release(ptr %t2752)
+ %t2760 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2760)
+ ret ptr %t2756
+if.j1087:
+ %t2761 = load ptr, ptr %sc_l_p_0
+ %t2762 = call ptr @sc_rc_retain_dyn(ptr %t2761)
+ %t2764 = icmp ne ptr %t2762, null
+ br i1 %t2764, label %dc.inspect1092, label %dc.checked1095
+dc.inspect1092:
+ %t2769 = getelementptr inbounds i8, ptr %t2762, i64 8 ; ->kind
+ %t2770 = load i32, ptr %t2769
+ %t2765 = icmp eq i32 %t2770, 12
+ br i1 %t2765, label %dc.capsule1093, label %dc.checked1095
+dc.capsule1093:
+ %t2766 = getelementptr inbounds i8, ptr %t2762, i64 40 ; ->v.typed_ref.type_key
+ %t2767 = load ptr, ptr %t2766
+ %t2768 = icmp eq ptr %t2767, @sc_cs_21424698936986
+ br i1 %t2768, label %dc.exact1094, label %dc.checked1095
+dc.exact1094:
+ %t2771 = getelementptr inbounds i8, ptr %t2762, i64 16 ; ->v.typed_ref.ptr
+ %t2772 = load ptr, ptr %t2771
+ %t2773 = call ptr @sc_retain__x25_m5_App(ptr %t2772)
+ store ptr %t2773, ptr %s2763
+ br label %dc.done1096
+dc.checked1095:
+ %t2774 = call ptr @sc_dc_91(ptr %t2762, ptr null)
+ store ptr %t2774, ptr %s2763
+ %t2775 = load i32, ptr %exc.cell
+ %t2776 = icmp ne i32 %t2775, 0
+ %t2777 = call i1 @llvm.expect.i1(i1 %t2776, i1 false)
+ br i1 %t2777, label %exc.u1097, label %exc.k1098
+exc.u1097:
+ call void @scr_dyn_release(ptr %t2762)
+ br label %exc.cleanup2
+exc.k1098:
+ br label %dc.done1096
+dc.done1096:
+ %t2778 = load ptr, ptr %s2763
+ %t2779 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t2778, i64 0, i32 18
+ %t2780 = load ptr, ptr %t2779, !tbaa !204
+ %t2781 = call ptr @sc_rc_retain_dyn(ptr %t2780)
+ call void @scr_dyn_release(ptr %t2762)
+ call void @sc_release__x25_m5_App(ptr %t2778)
+ %t2782 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2782)
+ ret ptr %t2781
+if.j1078:
+ %t2783 = load ptr, ptr %sc_l_p_0
+ ret ptr %t2783
+exc.cleanup2:
+ %t2784 = load ptr, ptr %sc_l_p_0
+ call void @scr_dyn_release(ptr %t2784)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_staticProperties(ptr %p_sc_l_value) #0 { ; %dyn.class.staticProperties
+entry:
+ %sc_l_value = alloca ptr ; value
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = load ptr, ptr %sc_l_value
+ %t1 = call ptr @sc_rc_retain_dyn(ptr %t0)
+ ret ptr %t1
+}
+define internal ptr @sc_f__x25_dyn_class_staticProperties(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_0(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.0
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s363 = alloca i1
+ %s374 = alloca i1
+ %s386 = alloca ptr
+ %s413 = alloca ptr
+ %s436 = alloca ptr
+ %s471 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3314970835853795
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3314970835853795)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3314970835853795
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_79(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m6_AssetSource(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_731773075116702)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m6_AssetSource(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m6_AssetSource(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3314970835853795
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_79(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m6_AssetSource(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3314970835853795
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_79(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m6_AssetSource(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_731773075116702, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m6_AssetSource(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m6_AssetSource(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m6_AssetSource(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m6_AssetSource(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_67546268704151
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_67546268704151)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_67546268704151
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_107(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_731773075116702)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_67546268704151
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_107(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_67546268704151
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_107(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_731773075116702, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_2519527309428716
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_2519527309428716)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_2519527309428716
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_108(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_731773075116702)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_2519527309428716
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_108(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_2519527309428716
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_108(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_731773075116702, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_4143564844538255
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_4143564844538255)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_4143564844538255
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_109(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_731773075116702)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_4143564844538255
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_109(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_4143564844538255
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_109(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_731773075116702, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s363
+ %t364 = icmp ne ptr %t362, null
+ br i1 %t364, label %brand.inspect153, label %brand.done155
+brand.inspect153:
+ %t365 = getelementptr inbounds i8, ptr %t362, i64 8 ; ->kind
+ %t366 = load i32, ptr %t365
+ %t367 = icmp eq i32 %t366, 12
+ br i1 %t367, label %brand.capsule154, label %brand.done155
+brand.capsule154:
+ %t368 = getelementptr inbounds i8, ptr %t362, i64 40 ; ->v.typed_ref.type_key
+ %t369 = load ptr, ptr %t368
+ %t370 = icmp eq ptr %t369, @sc_cs_2875643240706496
+ store i1 true, ptr %s363
+ br i1 %t370, label %brand.done155, label %brand.compare156
+brand.compare156:
+ %t371 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t362, ptr @sc_lit_2875643240706496)
+ store i1 %t371, ptr %s363
+ br label %brand.done155
+brand.done155:
+ %t372 = load i1, ptr %s363
+ br i1 %t372, label %if.t157, label %if.j158
+if.t157:
+ call void @scr_throw_error_msg_code(i32 0, ptr @sc_cs_1707336406926269, i64 80, ptr @sc_cs_2988681134725684)
+ br label %exc.cleanup2
+if.j158:
+ %t373 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s374
+ %t375 = icmp ne ptr %t373, null
+ br i1 %t375, label %brand.inspect159, label %brand.done161
+brand.inspect159:
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t378 = icmp eq i32 %t377, 12
+ br i1 %t378, label %brand.capsule160, label %brand.done161
+brand.capsule160:
+ %t379 = getelementptr inbounds i8, ptr %t373, i64 40 ; ->v.typed_ref.type_key
+ %t380 = load ptr, ptr %t379
+ %t381 = icmp eq ptr %t380, @sc_cs_21424698936986
+ store i1 true, ptr %s374
+ br i1 %t381, label %brand.done161, label %brand.compare162
+brand.compare162:
+ %t382 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t373, ptr @sc_lit_21424698936986)
+ store i1 %t382, ptr %s374
+ br label %brand.done161
+brand.done161:
+ %t383 = load i1, ptr %s374
+ br i1 %t383, label %if.t163, label %if.j164
+if.t163:
+ %t384 = load ptr, ptr %sc_l_p_0
+ %t385 = call ptr @sc_rc_retain_dyn(ptr %t384)
+ %t387 = icmp ne ptr %t385, null
+ br i1 %t387, label %dc.inspect165, label %dc.checked168
+dc.inspect165:
+ %t392 = getelementptr inbounds i8, ptr %t385, i64 8 ; ->kind
+ %t393 = load i32, ptr %t392
+ %t388 = icmp eq i32 %t393, 12
+ br i1 %t388, label %dc.capsule166, label %dc.checked168
+dc.capsule166:
+ %t389 = getelementptr inbounds i8, ptr %t385, i64 40 ; ->v.typed_ref.type_key
+ %t390 = load ptr, ptr %t389
+ %t391 = icmp eq ptr %t390, @sc_cs_21424698936986
+ br i1 %t391, label %dc.exact167, label %dc.checked168
+dc.exact167:
+ %t394 = getelementptr inbounds i8, ptr %t385, i64 16 ; ->v.typed_ref.ptr
+ %t395 = load ptr, ptr %t394
+ %t396 = call ptr @sc_retain__x25_m5_App(ptr %t395)
+ store ptr %t396, ptr %s386
+ br label %dc.done169
+dc.checked168:
+ %t397 = call ptr @sc_dc_91(ptr %t385, ptr null)
+ store ptr %t397, ptr %s386
+ %t398 = load i32, ptr %exc.cell
+ %t399 = icmp ne i32 %t398, 0
+ %t400 = call i1 @llvm.expect.i1(i1 %t399, i1 false)
+ br i1 %t400, label %exc.u170, label %exc.k171
+exc.u170:
+ call void @sc_rc_release_dyn(ptr %t385)
+ br label %exc.cleanup2
+exc.k171:
+ br label %dc.done169
+dc.done169:
+ %t401 = load ptr, ptr %s386
+ %t402 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t401, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t403 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t402)
+ %t404 = load i32, ptr %exc.cell
+ %t405 = icmp ne i32 %t404, 0
+ %t406 = call i1 @llvm.expect.i1(i1 %t405, i1 false)
+ br i1 %t406, label %exc.u172, label %exc.k173
+exc.u172:
+ call void @sc_rc_release_dyn(ptr %t385)
+ call void @sc_release__x25_m5_App(ptr %t401)
+ call void @sc_rc_release_dyn(ptr %t403)
+ br label %exc.cleanup2
+exc.k173:
+ %t407 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t403, ptr @sc_lit_731773075116702)
+ %t408 = load i32, ptr %exc.cell
+ %t409 = icmp ne i32 %t408, 0
+ %t410 = call i1 @llvm.expect.i1(i1 %t409, i1 false)
+ br i1 %t410, label %exc.u174, label %exc.k175
+exc.u174:
+ call void @sc_rc_release_dyn(ptr %t385)
+ call void @sc_release__x25_m5_App(ptr %t401)
+ call void @sc_rc_release_dyn(ptr %t403)
+ br label %exc.cleanup2
+exc.k175:
+ call void @sc_rc_release_dyn(ptr %t385)
+ call void @sc_release__x25_m5_App(ptr %t401)
+ call void @sc_rc_release_dyn(ptr %t403)
+ br i1 %t407, label %if.t176, label %if.j177
+if.t176:
+ %t411 = load ptr, ptr %sc_l_p_0
+ %t412 = call ptr @sc_rc_retain_dyn(ptr %t411)
+ %t414 = icmp ne ptr %t412, null
+ br i1 %t414, label %dc.inspect178, label %dc.checked181
+dc.inspect178:
+ %t419 = getelementptr inbounds i8, ptr %t412, i64 8 ; ->kind
+ %t420 = load i32, ptr %t419
+ %t415 = icmp eq i32 %t420, 12
+ br i1 %t415, label %dc.capsule179, label %dc.checked181
+dc.capsule179:
+ %t416 = getelementptr inbounds i8, ptr %t412, i64 40 ; ->v.typed_ref.type_key
+ %t417 = load ptr, ptr %t416
+ %t418 = icmp eq ptr %t417, @sc_cs_21424698936986
+ br i1 %t418, label %dc.exact180, label %dc.checked181
+dc.exact180:
+ %t421 = getelementptr inbounds i8, ptr %t412, i64 16 ; ->v.typed_ref.ptr
+ %t422 = load ptr, ptr %t421
+ %t423 = call ptr @sc_retain__x25_m5_App(ptr %t422)
+ store ptr %t423, ptr %s413
+ br label %dc.done182
+dc.checked181:
+ %t424 = call ptr @sc_dc_91(ptr %t412, ptr null)
+ store ptr %t424, ptr %s413
+ %t425 = load i32, ptr %exc.cell
+ %t426 = icmp ne i32 %t425, 0
+ %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false)
+ br i1 %t427, label %exc.u183, label %exc.k184
+exc.u183:
+ call void @sc_rc_release_dyn(ptr %t412)
+ br label %exc.cleanup2
+exc.k184:
+ br label %dc.done182
+dc.done182:
+ %t428 = load ptr, ptr %s413
+ %t429 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t428, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t430 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t429)
+ %t431 = load i32, ptr %exc.cell
+ %t432 = icmp ne i32 %t431, 0
+ %t433 = call i1 @llvm.expect.i1(i1 %t432, i1 false)
+ br i1 %t433, label %exc.u185, label %exc.k186
+exc.u185:
+ call void @sc_rc_release_dyn(ptr %t412)
+ call void @sc_release__x25_m5_App(ptr %t428)
+ call void @sc_rc_release_dyn(ptr %t430)
+ br label %exc.cleanup2
+exc.k186:
+ %t434 = load ptr, ptr %sc_l_p_0
+ %t435 = call ptr @sc_rc_retain_dyn(ptr %t434)
+ %t437 = icmp ne ptr %t435, null
+ br i1 %t437, label %dc.inspect187, label %dc.checked190
+dc.inspect187:
+ %t442 = getelementptr inbounds i8, ptr %t435, i64 8 ; ->kind
+ %t443 = load i32, ptr %t442
+ %t438 = icmp eq i32 %t443, 12
+ br i1 %t438, label %dc.capsule188, label %dc.checked190
+dc.capsule188:
+ %t439 = getelementptr inbounds i8, ptr %t435, i64 40 ; ->v.typed_ref.type_key
+ %t440 = load ptr, ptr %t439
+ %t441 = icmp eq ptr %t440, @sc_cs_21424698936986
+ br i1 %t441, label %dc.exact189, label %dc.checked190
+dc.exact189:
+ %t444 = getelementptr inbounds i8, ptr %t435, i64 16 ; ->v.typed_ref.ptr
+ %t445 = load ptr, ptr %t444
+ %t446 = call ptr @sc_retain__x25_m5_App(ptr %t445)
+ store ptr %t446, ptr %s436
+ br label %dc.done191
+dc.checked190:
+ %t447 = call ptr @sc_dc_91(ptr %t435, ptr null)
+ store ptr %t447, ptr %s436
+ %t448 = load i32, ptr %exc.cell
+ %t449 = icmp ne i32 %t448, 0
+ %t450 = call i1 @llvm.expect.i1(i1 %t449, i1 false)
+ br i1 %t450, label %exc.u192, label %exc.k193
+exc.u192:
+ call void @sc_rc_release_dyn(ptr %t412)
+ call void @sc_release__x25_m5_App(ptr %t428)
+ call void @sc_rc_release_dyn(ptr %t430)
+ call void @sc_rc_release_dyn(ptr %t435)
+ br label %exc.cleanup2
+exc.k193:
+ br label %dc.done191
+dc.done191:
+ %t451 = load ptr, ptr %s436
+ %t452 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t451, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t453 = call ptr @scr_dyn_bag_get(ptr %t430, ptr @sc_lit_731773075116702, ptr %t452)
+ %t454 = load i32, ptr %exc.cell
+ %t455 = icmp ne i32 %t454, 0
+ %t456 = call i1 @llvm.expect.i1(i1 %t455, i1 false)
+ br i1 %t456, label %exc.u194, label %exc.k195
+exc.u194:
+ call void @sc_rc_release_dyn(ptr %t412)
+ call void @sc_release__x25_m5_App(ptr %t428)
+ call void @sc_rc_release_dyn(ptr %t430)
+ call void @sc_rc_release_dyn(ptr %t435)
+ call void @sc_release__x25_m5_App(ptr %t451)
+ call void @sc_rc_release_dyn(ptr %t452)
+ call void @sc_rc_release_dyn(ptr %t453)
+ br label %exc.cleanup2
+exc.k195:
+ call void @sc_rc_release_dyn(ptr %t412)
+ call void @sc_release__x25_m5_App(ptr %t428)
+ call void @sc_rc_release_dyn(ptr %t430)
+ call void @sc_rc_release_dyn(ptr %t435)
+ call void @sc_release__x25_m5_App(ptr %t451)
+ call void @sc_rc_release_dyn(ptr %t452)
+ %t457 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t457)
+ ret ptr %t453
+if.j177:
+ %t459 = call ptr @scr_dyn_undefined()
+ %t458 = call ptr @scr_dyn_retain_v(ptr %t459)
+ %t460 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t460)
+ ret ptr %t458
+if.j164:
+ %t461 = load ptr, ptr %sc_l_p_0
+ %t462 = call ptr @sc_rc_retain_dyn(ptr %t461)
+ %t463 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t462)
+ %t464 = load i32, ptr %exc.cell
+ %t465 = icmp ne i32 %t464, 0
+ %t466 = call i1 @llvm.expect.i1(i1 %t465, i1 false)
+ br i1 %t466, label %exc.u196, label %exc.k197
+exc.u196:
+ call void @sc_rc_release_dyn(ptr %t463)
+ br label %exc.cleanup2
+exc.k197:
+ %t467 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t463)
+ call void @sc_rc_release_dyn(ptr %t463)
+ store ptr %t467, ptr %sc_l_bag_0
+ %t468 = load ptr, ptr %sc_l_bag_0
+ %t469 = load ptr, ptr %sc_l_p_0
+ %t470 = call zeroext i1 @scr_dyn_strict_eq(ptr %t468, ptr %t469)
+ br i1 %t470, label %tern.t198, label %tern.f199
+tern.t198:
+ %t472 = load ptr, ptr %sc_l_bag_0
+ %t475 = getelementptr inbounds i8, ptr %t472, i64 8 ; ->kind
+ %t476 = load i32, ptr %t475
+ %t474 = icmp eq i32 %t476, 5
+ br i1 %t474, label %dkg.ic201, label %dkg.any202
+dkg.ic201:
+ %t477 = call ptr @scr_dyn_obj_read_ic(ptr %t472, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_0)
+ br label %dkg.j203
+dkg.any202:
+ %t478 = call ptr @sc_dyn_key_get(ptr %t472, ptr @sc_lit_731773075116702, i1 false)
+ br label %dkg.j203
+dkg.j203:
+ %t473 = phi ptr [ %t477, %dkg.ic201 ], [ %t478, %dkg.any202 ]
+ %t479 = load i32, ptr %exc.cell
+ %t480 = icmp ne i32 %t479, 0
+ %t481 = call i1 @llvm.expect.i1(i1 %t480, i1 false)
+ br i1 %t481, label %exc.u204, label %exc.k205
+exc.u204:
+ call void @sc_rc_release_dyn(ptr %t473)
+ br label %exc.cleanup206
+exc.k205:
+ store ptr %t473, ptr %s471
+ br label %tern.j200
+tern.f199:
+ %t482 = load ptr, ptr %sc_l_bag_0
+ %t483 = call ptr @sc_rc_retain_dyn(ptr %t482)
+ %t484 = load ptr, ptr %sc_l_p_0
+ %t485 = call ptr @sc_rc_retain_dyn(ptr %t484)
+ %t486 = call ptr @scr_dyn_bag_get(ptr %t483, ptr @sc_lit_731773075116702, ptr %t485)
+ %t487 = load i32, ptr %exc.cell
+ %t488 = icmp ne i32 %t487, 0
+ %t489 = call i1 @llvm.expect.i1(i1 %t488, i1 false)
+ br i1 %t489, label %exc.u207, label %exc.k208
+exc.u207:
+ call void @sc_rc_release_dyn(ptr %t483)
+ call void @sc_rc_release_dyn(ptr %t485)
+ call void @sc_rc_release_dyn(ptr %t486)
+ br label %exc.cleanup206
+exc.k208:
+ store ptr %t486, ptr %s471
+ call void @sc_rc_release_dyn(ptr %t483)
+ call void @sc_rc_release_dyn(ptr %t485)
+ br label %tern.j200
+tern.j200:
+ %t490 = load ptr, ptr %s471
+ %t491 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t491)
+ %t492 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t492)
+ ret ptr %t490
+exc.cleanup2:
+ %t493 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t493)
+ ret ptr null
+exc.cleanup206:
+ %t494 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t494)
+ %t495 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t495)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m5.App
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %dc.inspect2, label %dc.checked5
+dc.inspect2:
+ %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t7 = icmp eq i32 %t12, 12
+ br i1 %t7, label %dc.capsule3, label %dc.checked5
+dc.capsule3:
+ %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t9 = load ptr, ptr %t8
+ %t10 = icmp eq ptr %t9, @sc_cs_21424698936986
+ br i1 %t10, label %dc.exact4, label %dc.checked5
+dc.exact4:
+ %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_retain__x25_m5_App(ptr %t14)
+ store ptr %t15, ptr %s5
+ br label %dc.done6
+dc.checked5:
+ %t16 = call ptr @sc_dc_91(ptr %t4, ptr null)
+ store ptr %t16, ptr %s5
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u7, label %exc.k8
+exc.u7:
+ ret ptr null
+exc.k8:
+ br label %dc.done6
+dc.done6:
+ %t20 = load ptr, ptr %s5
+ ret ptr %t20
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m5_App(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_App(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m14_BakedAssets(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m14.BakedAssets
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t0, i64 0, i32 2
+ %t2 = load ptr, ptr %t1, !tbaa !204
+ %t3 = getelementptr inbounds i8, ptr %t2, i64 8 ; ->kind
+ %t4 = load i32, ptr %t3
+ %t5 = icmp eq i32 %t4, 6
+ br i1 %t5, label %if.t0, label %if.j1
+if.t0:
+ %t6 = call ptr @sc_f__x25_prototype_data__x25_m14_BakedAssets()
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr null
+exc.k3:
+ %t10 = call ptr @scr_dyn_obj_create(ptr %t6)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t6)
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_rc_release_dyn(ptr %t6)
+ ret ptr %t10
+if.j1:
+ %t14 = load ptr, ptr %sc_l_p_0
+ %t15 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t14, i64 0, i32 2
+ %t16 = load ptr, ptr %t15, !tbaa !204
+ %t17 = call ptr @sc_rc_retain_dyn(ptr %t16)
+ ret ptr %t17
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m14_BakedAssets(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m14_BakedAssets(ptr %p0)
+ call void @sc_release__x25_m14_BakedAssets(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_1(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.1
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s7 = alloca i1
+ %s19 = alloca ptr
+ %s46 = alloca ptr
+ %s69 = alloca ptr
+ %s95 = alloca i1
+ %s107 = alloca ptr
+ %s134 = alloca ptr
+ %s157 = alloca ptr
+ %s192 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t0)
+ %t2 = load i32, ptr %exc.cell
+ %t3 = icmp ne i32 %t2, 0
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t1)
+ br label %exc.cleanup2
+exc.k1:
+ %t5 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t5)
+ store ptr %t1, ptr %sc_l_p_0
+ %t6 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s7
+ %t8 = icmp ne ptr %t6, null
+ br i1 %t8, label %brand.inspect3, label %brand.done5
+brand.inspect3:
+ %t9 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t10 = load i32, ptr %t9
+ %t11 = icmp eq i32 %t10, 12
+ br i1 %t11, label %brand.capsule4, label %brand.done5
+brand.capsule4:
+ %t12 = getelementptr inbounds i8, ptr %t6, i64 40 ; ->v.typed_ref.type_key
+ %t13 = load ptr, ptr %t12
+ %t14 = icmp eq ptr %t13, @sc_cs_2519527309428716
+ store i1 true, ptr %s7
+ br i1 %t14, label %brand.done5, label %brand.compare6
+brand.compare6:
+ %t15 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t6, ptr @sc_lit_2519527309428716)
+ store i1 %t15, ptr %s7
+ br label %brand.done5
+brand.done5:
+ %t16 = load i1, ptr %s7
+ br i1 %t16, label %if.t7, label %if.j8
+if.t7:
+ %t17 = load ptr, ptr %sc_l_p_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t20 = icmp ne ptr %t18, null
+ br i1 %t20, label %dc.inspect9, label %dc.checked12
+dc.inspect9:
+ %t25 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind
+ %t26 = load i32, ptr %t25
+ %t21 = icmp eq i32 %t26, 12
+ br i1 %t21, label %dc.capsule10, label %dc.checked12
+dc.capsule10:
+ %t22 = getelementptr inbounds i8, ptr %t18, i64 40 ; ->v.typed_ref.type_key
+ %t23 = load ptr, ptr %t22
+ %t24 = icmp eq ptr %t23, @sc_cs_2519527309428716
+ br i1 %t24, label %dc.exact11, label %dc.checked12
+dc.exact11:
+ %t27 = getelementptr inbounds i8, ptr %t18, i64 16 ; ->v.typed_ref.ptr
+ %t28 = load ptr, ptr %t27
+ %t29 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t28)
+ store ptr %t29, ptr %s19
+ br label %dc.done13
+dc.checked12:
+ %t30 = call ptr @sc_dc_108(ptr %t18, ptr null)
+ store ptr %t30, ptr %s19
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t18)
+ br label %exc.cleanup2
+exc.k15:
+ br label %dc.done13
+dc.done13:
+ %t34 = load ptr, ptr %s19
+ %t35 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t34, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t36 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t35)
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ br label %exc.cleanup2
+exc.k17:
+ %t40 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t36, ptr @sc_lit_228045523956680)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ br label %exc.cleanup2
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ br i1 %t40, label %if.t20, label %if.j21
+if.t20:
+ %t44 = load ptr, ptr %sc_l_p_0
+ %t45 = call ptr @sc_rc_retain_dyn(ptr %t44)
+ %t47 = icmp ne ptr %t45, null
+ br i1 %t47, label %dc.inspect22, label %dc.checked25
+dc.inspect22:
+ %t52 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind
+ %t53 = load i32, ptr %t52
+ %t48 = icmp eq i32 %t53, 12
+ br i1 %t48, label %dc.capsule23, label %dc.checked25
+dc.capsule23:
+ %t49 = getelementptr inbounds i8, ptr %t45, i64 40 ; ->v.typed_ref.type_key
+ %t50 = load ptr, ptr %t49
+ %t51 = icmp eq ptr %t50, @sc_cs_2519527309428716
+ br i1 %t51, label %dc.exact24, label %dc.checked25
+dc.exact24:
+ %t54 = getelementptr inbounds i8, ptr %t45, i64 16 ; ->v.typed_ref.ptr
+ %t55 = load ptr, ptr %t54
+ %t56 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t55)
+ store ptr %t56, ptr %s46
+ br label %dc.done26
+dc.checked25:
+ %t57 = call ptr @sc_dc_108(ptr %t45, ptr null)
+ store ptr %t57, ptr %s46
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t45)
+ br label %exc.cleanup2
+exc.k28:
+ br label %dc.done26
+dc.done26:
+ %t61 = load ptr, ptr %s46
+ %t62 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t61, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t63 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t62)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t63)
+ br label %exc.cleanup2
+exc.k30:
+ %t67 = load ptr, ptr %sc_l_p_0
+ %t68 = call ptr @sc_rc_retain_dyn(ptr %t67)
+ %t70 = icmp ne ptr %t68, null
+ br i1 %t70, label %dc.inspect31, label %dc.checked34
+dc.inspect31:
+ %t75 = getelementptr inbounds i8, ptr %t68, i64 8 ; ->kind
+ %t76 = load i32, ptr %t75
+ %t71 = icmp eq i32 %t76, 12
+ br i1 %t71, label %dc.capsule32, label %dc.checked34
+dc.capsule32:
+ %t72 = getelementptr inbounds i8, ptr %t68, i64 40 ; ->v.typed_ref.type_key
+ %t73 = load ptr, ptr %t72
+ %t74 = icmp eq ptr %t73, @sc_cs_2519527309428716
+ br i1 %t74, label %dc.exact33, label %dc.checked34
+dc.exact33:
+ %t77 = getelementptr inbounds i8, ptr %t68, i64 16 ; ->v.typed_ref.ptr
+ %t78 = load ptr, ptr %t77
+ %t79 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t78)
+ store ptr %t79, ptr %s69
+ br label %dc.done35
+dc.checked34:
+ %t80 = call ptr @sc_dc_108(ptr %t68, ptr null)
+ store ptr %t80, ptr %s69
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t68)
+ br label %exc.cleanup2
+exc.k37:
+ br label %dc.done35
+dc.done35:
+ %t84 = load ptr, ptr %s69
+ %t85 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t84, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t86 = call ptr @scr_dyn_bag_get(ptr %t63, ptr @sc_lit_228045523956680, ptr %t85)
+ %t87 = load i32, ptr %exc.cell
+ %t88 = icmp ne i32 %t87, 0
+ %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false)
+ br i1 %t89, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t85)
+ call void @sc_rc_release_dyn(ptr %t86)
+ br label %exc.cleanup2
+exc.k39:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t85)
+ %t90 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t90)
+ ret ptr %t86
+if.j21:
+ %t92 = call ptr @scr_dyn_undefined()
+ %t91 = call ptr @scr_dyn_retain_v(ptr %t92)
+ %t93 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t93)
+ ret ptr %t91
+if.j8:
+ %t94 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s95
+ %t96 = icmp ne ptr %t94, null
+ br i1 %t96, label %brand.inspect40, label %brand.done42
+brand.inspect40:
+ %t97 = getelementptr inbounds i8, ptr %t94, i64 8 ; ->kind
+ %t98 = load i32, ptr %t97
+ %t99 = icmp eq i32 %t98, 12
+ br i1 %t99, label %brand.capsule41, label %brand.done42
+brand.capsule41:
+ %t100 = getelementptr inbounds i8, ptr %t94, i64 40 ; ->v.typed_ref.type_key
+ %t101 = load ptr, ptr %t100
+ %t102 = icmp eq ptr %t101, @sc_cs_4143564844538255
+ store i1 true, ptr %s95
+ br i1 %t102, label %brand.done42, label %brand.compare43
+brand.compare43:
+ %t103 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t94, ptr @sc_lit_4143564844538255)
+ store i1 %t103, ptr %s95
+ br label %brand.done42
+brand.done42:
+ %t104 = load i1, ptr %s95
+ br i1 %t104, label %if.t44, label %if.j45
+if.t44:
+ %t105 = load ptr, ptr %sc_l_p_0
+ %t106 = call ptr @sc_rc_retain_dyn(ptr %t105)
+ %t108 = icmp ne ptr %t106, null
+ br i1 %t108, label %dc.inspect46, label %dc.checked49
+dc.inspect46:
+ %t113 = getelementptr inbounds i8, ptr %t106, i64 8 ; ->kind
+ %t114 = load i32, ptr %t113
+ %t109 = icmp eq i32 %t114, 12
+ br i1 %t109, label %dc.capsule47, label %dc.checked49
+dc.capsule47:
+ %t110 = getelementptr inbounds i8, ptr %t106, i64 40 ; ->v.typed_ref.type_key
+ %t111 = load ptr, ptr %t110
+ %t112 = icmp eq ptr %t111, @sc_cs_4143564844538255
+ br i1 %t112, label %dc.exact48, label %dc.checked49
+dc.exact48:
+ %t115 = getelementptr inbounds i8, ptr %t106, i64 16 ; ->v.typed_ref.ptr
+ %t116 = load ptr, ptr %t115
+ %t117 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t116)
+ store ptr %t117, ptr %s107
+ br label %dc.done50
+dc.checked49:
+ %t118 = call ptr @sc_dc_109(ptr %t106, ptr null)
+ store ptr %t118, ptr %s107
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u51, label %exc.k52
+exc.u51:
+ call void @sc_rc_release_dyn(ptr %t106)
+ br label %exc.cleanup2
+exc.k52:
+ br label %dc.done50
+dc.done50:
+ %t122 = load ptr, ptr %s107
+ %t123 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t122, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t124 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t123)
+ %t125 = load i32, ptr %exc.cell
+ %t126 = icmp ne i32 %t125, 0
+ %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false)
+ br i1 %t127, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t106)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ br label %exc.cleanup2
+exc.k54:
+ %t128 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t124, ptr @sc_lit_228045523956680)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t106)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ br label %exc.cleanup2
+exc.k56:
+ call void @sc_rc_release_dyn(ptr %t106)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ br i1 %t128, label %if.t57, label %if.j58
+if.t57:
+ %t132 = load ptr, ptr %sc_l_p_0
+ %t133 = call ptr @sc_rc_retain_dyn(ptr %t132)
+ %t135 = icmp ne ptr %t133, null
+ br i1 %t135, label %dc.inspect59, label %dc.checked62
+dc.inspect59:
+ %t140 = getelementptr inbounds i8, ptr %t133, i64 8 ; ->kind
+ %t141 = load i32, ptr %t140
+ %t136 = icmp eq i32 %t141, 12
+ br i1 %t136, label %dc.capsule60, label %dc.checked62
+dc.capsule60:
+ %t137 = getelementptr inbounds i8, ptr %t133, i64 40 ; ->v.typed_ref.type_key
+ %t138 = load ptr, ptr %t137
+ %t139 = icmp eq ptr %t138, @sc_cs_4143564844538255
+ br i1 %t139, label %dc.exact61, label %dc.checked62
+dc.exact61:
+ %t142 = getelementptr inbounds i8, ptr %t133, i64 16 ; ->v.typed_ref.ptr
+ %t143 = load ptr, ptr %t142
+ %t144 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t143)
+ store ptr %t144, ptr %s134
+ br label %dc.done63
+dc.checked62:
+ %t145 = call ptr @sc_dc_109(ptr %t133, ptr null)
+ store ptr %t145, ptr %s134
+ %t146 = load i32, ptr %exc.cell
+ %t147 = icmp ne i32 %t146, 0
+ %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false)
+ br i1 %t148, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t133)
+ br label %exc.cleanup2
+exc.k65:
+ br label %dc.done63
+dc.done63:
+ %t149 = load ptr, ptr %s134
+ %t150 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t149, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t151 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t150)
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t133)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t149)
+ call void @sc_rc_release_dyn(ptr %t151)
+ br label %exc.cleanup2
+exc.k67:
+ %t155 = load ptr, ptr %sc_l_p_0
+ %t156 = call ptr @sc_rc_retain_dyn(ptr %t155)
+ %t158 = icmp ne ptr %t156, null
+ br i1 %t158, label %dc.inspect68, label %dc.checked71
+dc.inspect68:
+ %t163 = getelementptr inbounds i8, ptr %t156, i64 8 ; ->kind
+ %t164 = load i32, ptr %t163
+ %t159 = icmp eq i32 %t164, 12
+ br i1 %t159, label %dc.capsule69, label %dc.checked71
+dc.capsule69:
+ %t160 = getelementptr inbounds i8, ptr %t156, i64 40 ; ->v.typed_ref.type_key
+ %t161 = load ptr, ptr %t160
+ %t162 = icmp eq ptr %t161, @sc_cs_4143564844538255
+ br i1 %t162, label %dc.exact70, label %dc.checked71
+dc.exact70:
+ %t165 = getelementptr inbounds i8, ptr %t156, i64 16 ; ->v.typed_ref.ptr
+ %t166 = load ptr, ptr %t165
+ %t167 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t166)
+ store ptr %t167, ptr %s157
+ br label %dc.done72
+dc.checked71:
+ %t168 = call ptr @sc_dc_109(ptr %t156, ptr null)
+ store ptr %t168, ptr %s157
+ %t169 = load i32, ptr %exc.cell
+ %t170 = icmp ne i32 %t169, 0
+ %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false)
+ br i1 %t171, label %exc.u73, label %exc.k74
+exc.u73:
+ call void @sc_rc_release_dyn(ptr %t133)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t149)
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t156)
+ br label %exc.cleanup2
+exc.k74:
+ br label %dc.done72
+dc.done72:
+ %t172 = load ptr, ptr %s157
+ %t173 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t172, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t174 = call ptr @scr_dyn_bag_get(ptr %t151, ptr @sc_lit_228045523956680, ptr %t173)
+ %t175 = load i32, ptr %exc.cell
+ %t176 = icmp ne i32 %t175, 0
+ %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false)
+ br i1 %t177, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t133)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t149)
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t173)
+ call void @sc_rc_release_dyn(ptr %t174)
+ br label %exc.cleanup2
+exc.k76:
+ call void @sc_rc_release_dyn(ptr %t133)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t149)
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t173)
+ %t178 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t178)
+ ret ptr %t174
+if.j58:
+ %t180 = call ptr @scr_dyn_undefined()
+ %t179 = call ptr @scr_dyn_retain_v(ptr %t180)
+ %t181 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t181)
+ ret ptr %t179
+if.j45:
+ %t182 = load ptr, ptr %sc_l_p_0
+ %t183 = call ptr @sc_rc_retain_dyn(ptr %t182)
+ %t184 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t183)
+ %t185 = load i32, ptr %exc.cell
+ %t186 = icmp ne i32 %t185, 0
+ %t187 = call i1 @llvm.expect.i1(i1 %t186, i1 false)
+ br i1 %t187, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t184)
+ br label %exc.cleanup2
+exc.k78:
+ %t188 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t184)
+ call void @sc_rc_release_dyn(ptr %t184)
+ store ptr %t188, ptr %sc_l_bag_0
+ %t189 = load ptr, ptr %sc_l_bag_0
+ %t190 = load ptr, ptr %sc_l_p_0
+ %t191 = call zeroext i1 @scr_dyn_strict_eq(ptr %t189, ptr %t190)
+ br i1 %t191, label %tern.t79, label %tern.f80
+tern.t79:
+ %t193 = load ptr, ptr %sc_l_bag_0
+ %t196 = getelementptr inbounds i8, ptr %t193, i64 8 ; ->kind
+ %t197 = load i32, ptr %t196
+ %t195 = icmp eq i32 %t197, 5
+ br i1 %t195, label %dkg.ic82, label %dkg.any83
+dkg.ic82:
+ %t198 = call ptr @scr_dyn_obj_read_ic(ptr %t193, ptr @sc_lit_228045523956680, ptr @sc_dyn_read_ic_1)
+ br label %dkg.j84
+dkg.any83:
+ %t199 = call ptr @sc_dyn_key_get(ptr %t193, ptr @sc_lit_228045523956680, i1 false)
+ br label %dkg.j84
+dkg.j84:
+ %t194 = phi ptr [ %t198, %dkg.ic82 ], [ %t199, %dkg.any83 ]
+ %t200 = load i32, ptr %exc.cell
+ %t201 = icmp ne i32 %t200, 0
+ %t202 = call i1 @llvm.expect.i1(i1 %t201, i1 false)
+ br i1 %t202, label %exc.u85, label %exc.k86
+exc.u85:
+ call void @sc_rc_release_dyn(ptr %t194)
+ br label %exc.cleanup87
+exc.k86:
+ store ptr %t194, ptr %s192
+ br label %tern.j81
+tern.f80:
+ %t203 = load ptr, ptr %sc_l_bag_0
+ %t204 = call ptr @sc_rc_retain_dyn(ptr %t203)
+ %t205 = load ptr, ptr %sc_l_p_0
+ %t206 = call ptr @sc_rc_retain_dyn(ptr %t205)
+ %t207 = call ptr @scr_dyn_bag_get(ptr %t204, ptr @sc_lit_228045523956680, ptr %t206)
+ %t208 = load i32, ptr %exc.cell
+ %t209 = icmp ne i32 %t208, 0
+ %t210 = call i1 @llvm.expect.i1(i1 %t209, i1 false)
+ br i1 %t210, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t204)
+ call void @sc_rc_release_dyn(ptr %t206)
+ call void @sc_rc_release_dyn(ptr %t207)
+ br label %exc.cleanup87
+exc.k89:
+ store ptr %t207, ptr %s192
+ call void @sc_rc_release_dyn(ptr %t204)
+ call void @sc_rc_release_dyn(ptr %t206)
+ br label %tern.j81
+tern.j81:
+ %t211 = load ptr, ptr %s192
+ %t212 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t212)
+ %t213 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t213)
+ ret ptr %t211
+exc.cleanup2:
+ %t214 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t214)
+ ret ptr null
+exc.cleanup87:
+ %t215 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t215)
+ %t216 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t216)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_2(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.2
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_21424698936986
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_21424698936986
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_91(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_864781090888737)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_21424698936986
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_91(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_21424698936986
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_91(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_864781090888737, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_864781090888737, ptr @sc_dyn_read_ic_2)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_864781090888737, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_864781090888737, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_3(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.3
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_21424698936986
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_21424698936986
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_91(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_405767859507088)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_21424698936986
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_91(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_21424698936986
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_91(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_405767859507088, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_405767859507088, ptr @sc_dyn_read_ic_3)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_405767859507088, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_405767859507088, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_4(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.4
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_21424698936986
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_21424698936986
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_91(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_603267670272610)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_21424698936986
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_91(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_21424698936986
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_91(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_603267670272610, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_603267670272610, ptr @sc_dyn_read_ic_4)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_603267670272610, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_603267670272610, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_5(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.5
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_21424698936986
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_21424698936986
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_91(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2014847608589337)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_21424698936986
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_91(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_21424698936986
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_91(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2014847608589337, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2014847608589337, ptr @sc_dyn_read_ic_5)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2014847608589337, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2014847608589337, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_6(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.6
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s45 = alloca i1
+ %s57 = alloca ptr
+ %s88 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4041255434968695
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_101(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t38, i64 0, i32 2
+ %t40 = load ptr, ptr %t39, !tbaa !78
+ %t41 = call ptr @sc_rc_retain_str(ptr %t40)
+ %t42 = call ptr @sc_td_0(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @scr_str_release(ptr %t41)
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr %t42
+if.j10:
+ %t44 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s45
+ %t46 = icmp ne ptr %t44, null
+ br i1 %t46, label %brand.inspect18, label %brand.done20
+brand.inspect18:
+ %t47 = getelementptr inbounds i8, ptr %t44, i64 8 ; ->kind
+ %t48 = load i32, ptr %t47
+ %t49 = icmp eq i32 %t48, 12
+ br i1 %t49, label %brand.capsule19, label %brand.done20
+brand.capsule19:
+ %t50 = getelementptr inbounds i8, ptr %t44, i64 40 ; ->v.typed_ref.type_key
+ %t51 = load ptr, ptr %t50
+ %t52 = icmp eq ptr %t51, @sc_cs_660811353369478
+ store i1 true, ptr %s45
+ br i1 %t52, label %brand.done20, label %brand.compare21
+brand.compare21:
+ %t53 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t44, ptr @sc_lit_660811353369478)
+ store i1 %t53, ptr %s45
+ br label %brand.done20
+brand.done20:
+ %t54 = load i1, ptr %s45
+ br i1 %t54, label %if.t22, label %if.j23
+if.t22:
+ %t55 = load ptr, ptr %sc_l_p_0
+ %t56 = call ptr @sc_rc_retain_dyn(ptr %t55)
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t64 = load i32, ptr %t63
+ %t59 = icmp eq i32 %t64, 12
+ br i1 %t59, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t61 = load ptr, ptr %t60
+ %t62 = icmp eq ptr %t61, @sc_cs_660811353369478
+ br i1 %t62, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr
+ %t66 = load ptr, ptr %t65
+ %t67 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t66)
+ store ptr %t67, ptr %s57
+ br label %dc.done28
+dc.checked27:
+ %t68 = call ptr @sc_dc_28(ptr %t56, ptr null)
+ store ptr %t68, ptr %s57
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t56)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t72 = load ptr, ptr %s57
+ %t73 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t72, i64 0, i32 6
+ %t74 = load ptr, ptr %t73, !tbaa !78
+ %t75 = call ptr @sc_rc_retain_str(ptr %t74)
+ %t76 = call ptr @sc_td_0(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t72)
+ call void @scr_str_release(ptr %t75)
+ %t77 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t77)
+ ret ptr %t76
+if.j23:
+ %t78 = load ptr, ptr %sc_l_p_0
+ %t79 = call ptr @sc_rc_retain_dyn(ptr %t78)
+ %t80 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t79)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t80)
+ br label %exc.cleanup2
+exc.k32:
+ %t84 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t80)
+ store ptr %t84, ptr %sc_l_bag_0
+ %t85 = load ptr, ptr %sc_l_bag_0
+ %t86 = load ptr, ptr %sc_l_p_0
+ %t87 = call zeroext i1 @scr_dyn_strict_eq(ptr %t85, ptr %t86)
+ br i1 %t87, label %tern.t33, label %tern.f34
+tern.t33:
+ %t89 = load ptr, ptr %sc_l_bag_0
+ %t92 = getelementptr inbounds i8, ptr %t89, i64 8 ; ->kind
+ %t93 = load i32, ptr %t92
+ %t91 = icmp eq i32 %t93, 5
+ br i1 %t91, label %dkg.ic36, label %dkg.any37
+dkg.ic36:
+ %t94 = call ptr @scr_dyn_obj_read_ic(ptr %t89, ptr @sc_lit_719487464480143, ptr @sc_dyn_read_ic_6)
+ br label %dkg.j38
+dkg.any37:
+ %t95 = call ptr @sc_dyn_key_get(ptr %t89, ptr @sc_lit_719487464480143, i1 false)
+ br label %dkg.j38
+dkg.j38:
+ %t90 = phi ptr [ %t94, %dkg.ic36 ], [ %t95, %dkg.any37 ]
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup41
+exc.k40:
+ store ptr %t90, ptr %s88
+ br label %tern.j35
+tern.f34:
+ %t99 = load ptr, ptr %sc_l_bag_0
+ %t100 = call ptr @sc_rc_retain_dyn(ptr %t99)
+ %t101 = load ptr, ptr %sc_l_p_0
+ %t102 = call ptr @sc_rc_retain_dyn(ptr %t101)
+ %t103 = call ptr @scr_dyn_bag_get(ptr %t100, ptr @sc_lit_719487464480143, ptr %t102)
+ %t104 = load i32, ptr %exc.cell
+ %t105 = icmp ne i32 %t104, 0
+ %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false)
+ br i1 %t106, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t103)
+ br label %exc.cleanup41
+exc.k43:
+ store ptr %t103, ptr %s88
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t102)
+ br label %tern.j35
+tern.j35:
+ %t107 = load ptr, ptr %s88
+ %t108 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t108)
+ %t109 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t109)
+ ret ptr %t107
+exc.cleanup2:
+ %t110 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t110)
+ ret ptr null
+exc.cleanup41:
+ %t111 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t111)
+ %t112 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t112)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_7(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.7
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s45 = alloca i1
+ %s57 = alloca ptr
+ %s88 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4041255434968695
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_101(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t38, i64 0, i32 1
+ %t40 = load ptr, ptr %t39, !tbaa !76
+ %t41 = call ptr @sc_rc_retain_str(ptr %t40)
+ %t42 = call ptr @sc_td_0(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @scr_str_release(ptr %t41)
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr %t42
+if.j10:
+ %t44 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s45
+ %t46 = icmp ne ptr %t44, null
+ br i1 %t46, label %brand.inspect18, label %brand.done20
+brand.inspect18:
+ %t47 = getelementptr inbounds i8, ptr %t44, i64 8 ; ->kind
+ %t48 = load i32, ptr %t47
+ %t49 = icmp eq i32 %t48, 12
+ br i1 %t49, label %brand.capsule19, label %brand.done20
+brand.capsule19:
+ %t50 = getelementptr inbounds i8, ptr %t44, i64 40 ; ->v.typed_ref.type_key
+ %t51 = load ptr, ptr %t50
+ %t52 = icmp eq ptr %t51, @sc_cs_660811353369478
+ store i1 true, ptr %s45
+ br i1 %t52, label %brand.done20, label %brand.compare21
+brand.compare21:
+ %t53 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t44, ptr @sc_lit_660811353369478)
+ store i1 %t53, ptr %s45
+ br label %brand.done20
+brand.done20:
+ %t54 = load i1, ptr %s45
+ br i1 %t54, label %if.t22, label %if.j23
+if.t22:
+ %t55 = load ptr, ptr %sc_l_p_0
+ %t56 = call ptr @sc_rc_retain_dyn(ptr %t55)
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t64 = load i32, ptr %t63
+ %t59 = icmp eq i32 %t64, 12
+ br i1 %t59, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t61 = load ptr, ptr %t60
+ %t62 = icmp eq ptr %t61, @sc_cs_660811353369478
+ br i1 %t62, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr
+ %t66 = load ptr, ptr %t65
+ %t67 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t66)
+ store ptr %t67, ptr %s57
+ br label %dc.done28
+dc.checked27:
+ %t68 = call ptr @sc_dc_28(ptr %t56, ptr null)
+ store ptr %t68, ptr %s57
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t56)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t72 = load ptr, ptr %s57
+ %t73 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t72, i64 0, i32 5
+ %t74 = load ptr, ptr %t73, !tbaa !76
+ %t75 = call ptr @sc_rc_retain_str(ptr %t74)
+ %t76 = call ptr @sc_td_0(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t72)
+ call void @scr_str_release(ptr %t75)
+ %t77 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t77)
+ ret ptr %t76
+if.j23:
+ %t78 = load ptr, ptr %sc_l_p_0
+ %t79 = call ptr @sc_rc_retain_dyn(ptr %t78)
+ %t80 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t79)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t80)
+ br label %exc.cleanup2
+exc.k32:
+ %t84 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t80)
+ store ptr %t84, ptr %sc_l_bag_0
+ %t85 = load ptr, ptr %sc_l_bag_0
+ %t86 = load ptr, ptr %sc_l_p_0
+ %t87 = call zeroext i1 @scr_dyn_strict_eq(ptr %t85, ptr %t86)
+ br i1 %t87, label %tern.t33, label %tern.f34
+tern.t33:
+ %t89 = load ptr, ptr %sc_l_bag_0
+ %t92 = getelementptr inbounds i8, ptr %t89, i64 8 ; ->kind
+ %t93 = load i32, ptr %t92
+ %t91 = icmp eq i32 %t93, 5
+ br i1 %t91, label %dkg.ic36, label %dkg.any37
+dkg.ic36:
+ %t94 = call ptr @scr_dyn_obj_read_ic(ptr %t89, ptr @sc_lit_1609576561362083, ptr @sc_dyn_read_ic_7)
+ br label %dkg.j38
+dkg.any37:
+ %t95 = call ptr @sc_dyn_key_get(ptr %t89, ptr @sc_lit_1609576561362083, i1 false)
+ br label %dkg.j38
+dkg.j38:
+ %t90 = phi ptr [ %t94, %dkg.ic36 ], [ %t95, %dkg.any37 ]
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup41
+exc.k40:
+ store ptr %t90, ptr %s88
+ br label %tern.j35
+tern.f34:
+ %t99 = load ptr, ptr %sc_l_bag_0
+ %t100 = call ptr @sc_rc_retain_dyn(ptr %t99)
+ %t101 = load ptr, ptr %sc_l_p_0
+ %t102 = call ptr @sc_rc_retain_dyn(ptr %t101)
+ %t103 = call ptr @scr_dyn_bag_get(ptr %t100, ptr @sc_lit_1609576561362083, ptr %t102)
+ %t104 = load i32, ptr %exc.cell
+ %t105 = icmp ne i32 %t104, 0
+ %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false)
+ br i1 %t106, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t103)
+ br label %exc.cleanup41
+exc.k43:
+ store ptr %t103, ptr %s88
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t102)
+ br label %tern.j35
+tern.j35:
+ %t107 = load ptr, ptr %s88
+ %t108 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t108)
+ %t109 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t109)
+ ret ptr %t107
+exc.cleanup2:
+ %t110 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t110)
+ ret ptr null
+exc.cleanup41:
+ %t111 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t111)
+ %t112 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t112)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m5.ReqViewCore
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t4, i64 0, i32 17
+ %t6 = load ptr, ptr %t5, !tbaa !204
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = call ptr @sc_f__x25_prototype_data__x25_m5_ReqViewCore()
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @scr_dyn_obj_create(ptr %t10)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t14
+if.j3:
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t18, i64 0, i32 17
+ %t20 = load ptr, ptr %t19, !tbaa !204
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ ret ptr %t21
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_ReqViewCore(ptr %p0)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_8(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.8
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_660811353369478
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_660811353369478
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_28(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2356143898347316)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_660811353369478
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_28(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_660811353369478
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_28(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2356143898347316, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2356143898347316, ptr @sc_dyn_read_ic_8)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2356143898347316, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2356143898347316, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_9(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.9
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_660811353369478
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_660811353369478
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_28(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_40786511283622)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_660811353369478
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_28(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_660811353369478
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_28(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_40786511283622, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_40786511283622, ptr @sc_dyn_read_ic_9)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_40786511283622, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_40786511283622, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_10(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.10
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s363 = alloca i1
+ %s375 = alloca ptr
+ %s402 = alloca ptr
+ %s425 = alloca ptr
+ %s460 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_30(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3908714124573206)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_1746033898805369
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_30(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_1746033898805369
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_30(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3908714124573206, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_4074974279575818
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_4074974279575818)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_4074974279575818
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_104(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_3908714124573206)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_4074974279575818
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_104(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_4074974279575818
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_104(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_3908714124573206, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_2434838942941195
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_2434838942941195)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_2434838942941195
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_52(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_3908714124573206)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_2434838942941195
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_52(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_2434838942941195
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_52(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_3908714124573206, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_3326437563644705
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_3326437563644705)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_3326437563644705
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_102(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_3908714124573206)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_3326437563644705
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_102(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_3326437563644705
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_102(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_3908714124573206, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s363
+ %t364 = icmp ne ptr %t362, null
+ br i1 %t364, label %brand.inspect153, label %brand.done155
+brand.inspect153:
+ %t365 = getelementptr inbounds i8, ptr %t362, i64 8 ; ->kind
+ %t366 = load i32, ptr %t365
+ %t367 = icmp eq i32 %t366, 12
+ br i1 %t367, label %brand.capsule154, label %brand.done155
+brand.capsule154:
+ %t368 = getelementptr inbounds i8, ptr %t362, i64 40 ; ->v.typed_ref.type_key
+ %t369 = load ptr, ptr %t368
+ %t370 = icmp eq ptr %t369, @sc_cs_629517122853751
+ store i1 true, ptr %s363
+ br i1 %t370, label %brand.done155, label %brand.compare156
+brand.compare156:
+ %t371 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t362, ptr @sc_lit_629517122853751)
+ store i1 %t371, ptr %s363
+ br label %brand.done155
+brand.done155:
+ %t372 = load i1, ptr %s363
+ br i1 %t372, label %if.t157, label %if.j158
+if.t157:
+ %t373 = load ptr, ptr %sc_l_p_0
+ %t374 = call ptr @sc_rc_retain_dyn(ptr %t373)
+ %t376 = icmp ne ptr %t374, null
+ br i1 %t376, label %dc.inspect159, label %dc.checked162
+dc.inspect159:
+ %t381 = getelementptr inbounds i8, ptr %t374, i64 8 ; ->kind
+ %t382 = load i32, ptr %t381
+ %t377 = icmp eq i32 %t382, 12
+ br i1 %t377, label %dc.capsule160, label %dc.checked162
+dc.capsule160:
+ %t378 = getelementptr inbounds i8, ptr %t374, i64 40 ; ->v.typed_ref.type_key
+ %t379 = load ptr, ptr %t378
+ %t380 = icmp eq ptr %t379, @sc_cs_629517122853751
+ br i1 %t380, label %dc.exact161, label %dc.checked162
+dc.exact161:
+ %t383 = getelementptr inbounds i8, ptr %t374, i64 16 ; ->v.typed_ref.ptr
+ %t384 = load ptr, ptr %t383
+ %t385 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t384)
+ store ptr %t385, ptr %s375
+ br label %dc.done163
+dc.checked162:
+ %t386 = call ptr @sc_dc_29(ptr %t374, ptr null)
+ store ptr %t386, ptr %s375
+ %t387 = load i32, ptr %exc.cell
+ %t388 = icmp ne i32 %t387, 0
+ %t389 = call i1 @llvm.expect.i1(i1 %t388, i1 false)
+ br i1 %t389, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup2
+exc.k165:
+ br label %dc.done163
+dc.done163:
+ %t390 = load ptr, ptr %s375
+ %t391 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t390, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t392 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t391)
+ %t393 = load i32, ptr %exc.cell
+ %t394 = icmp ne i32 %t393, 0
+ %t395 = call i1 @llvm.expect.i1(i1 %t394, i1 false)
+ br i1 %t395, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t390)
+ call void @sc_rc_release_dyn(ptr %t392)
+ br label %exc.cleanup2
+exc.k167:
+ %t396 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t392, ptr @sc_lit_3908714124573206)
+ %t397 = load i32, ptr %exc.cell
+ %t398 = icmp ne i32 %t397, 0
+ %t399 = call i1 @llvm.expect.i1(i1 %t398, i1 false)
+ br i1 %t399, label %exc.u168, label %exc.k169
+exc.u168:
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t390)
+ call void @sc_rc_release_dyn(ptr %t392)
+ br label %exc.cleanup2
+exc.k169:
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t390)
+ call void @sc_rc_release_dyn(ptr %t392)
+ br i1 %t396, label %if.t170, label %if.j171
+if.t170:
+ %t400 = load ptr, ptr %sc_l_p_0
+ %t401 = call ptr @sc_rc_retain_dyn(ptr %t400)
+ %t403 = icmp ne ptr %t401, null
+ br i1 %t403, label %dc.inspect172, label %dc.checked175
+dc.inspect172:
+ %t408 = getelementptr inbounds i8, ptr %t401, i64 8 ; ->kind
+ %t409 = load i32, ptr %t408
+ %t404 = icmp eq i32 %t409, 12
+ br i1 %t404, label %dc.capsule173, label %dc.checked175
+dc.capsule173:
+ %t405 = getelementptr inbounds i8, ptr %t401, i64 40 ; ->v.typed_ref.type_key
+ %t406 = load ptr, ptr %t405
+ %t407 = icmp eq ptr %t406, @sc_cs_629517122853751
+ br i1 %t407, label %dc.exact174, label %dc.checked175
+dc.exact174:
+ %t410 = getelementptr inbounds i8, ptr %t401, i64 16 ; ->v.typed_ref.ptr
+ %t411 = load ptr, ptr %t410
+ %t412 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t411)
+ store ptr %t412, ptr %s402
+ br label %dc.done176
+dc.checked175:
+ %t413 = call ptr @sc_dc_29(ptr %t401, ptr null)
+ store ptr %t413, ptr %s402
+ %t414 = load i32, ptr %exc.cell
+ %t415 = icmp ne i32 %t414, 0
+ %t416 = call i1 @llvm.expect.i1(i1 %t415, i1 false)
+ br i1 %t416, label %exc.u177, label %exc.k178
+exc.u177:
+ call void @sc_rc_release_dyn(ptr %t401)
+ br label %exc.cleanup2
+exc.k178:
+ br label %dc.done176
+dc.done176:
+ %t417 = load ptr, ptr %s402
+ %t418 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t417, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t419 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t418)
+ %t420 = load i32, ptr %exc.cell
+ %t421 = icmp ne i32 %t420, 0
+ %t422 = call i1 @llvm.expect.i1(i1 %t421, i1 false)
+ br i1 %t422, label %exc.u179, label %exc.k180
+exc.u179:
+ call void @sc_rc_release_dyn(ptr %t401)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t417)
+ call void @sc_rc_release_dyn(ptr %t419)
+ br label %exc.cleanup2
+exc.k180:
+ %t423 = load ptr, ptr %sc_l_p_0
+ %t424 = call ptr @sc_rc_retain_dyn(ptr %t423)
+ %t426 = icmp ne ptr %t424, null
+ br i1 %t426, label %dc.inspect181, label %dc.checked184
+dc.inspect181:
+ %t431 = getelementptr inbounds i8, ptr %t424, i64 8 ; ->kind
+ %t432 = load i32, ptr %t431
+ %t427 = icmp eq i32 %t432, 12
+ br i1 %t427, label %dc.capsule182, label %dc.checked184
+dc.capsule182:
+ %t428 = getelementptr inbounds i8, ptr %t424, i64 40 ; ->v.typed_ref.type_key
+ %t429 = load ptr, ptr %t428
+ %t430 = icmp eq ptr %t429, @sc_cs_629517122853751
+ br i1 %t430, label %dc.exact183, label %dc.checked184
+dc.exact183:
+ %t433 = getelementptr inbounds i8, ptr %t424, i64 16 ; ->v.typed_ref.ptr
+ %t434 = load ptr, ptr %t433
+ %t435 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t434)
+ store ptr %t435, ptr %s425
+ br label %dc.done185
+dc.checked184:
+ %t436 = call ptr @sc_dc_29(ptr %t424, ptr null)
+ store ptr %t436, ptr %s425
+ %t437 = load i32, ptr %exc.cell
+ %t438 = icmp ne i32 %t437, 0
+ %t439 = call i1 @llvm.expect.i1(i1 %t438, i1 false)
+ br i1 %t439, label %exc.u186, label %exc.k187
+exc.u186:
+ call void @sc_rc_release_dyn(ptr %t401)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t417)
+ call void @sc_rc_release_dyn(ptr %t419)
+ call void @sc_rc_release_dyn(ptr %t424)
+ br label %exc.cleanup2
+exc.k187:
+ br label %dc.done185
+dc.done185:
+ %t440 = load ptr, ptr %s425
+ %t441 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t440, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t442 = call ptr @scr_dyn_bag_get(ptr %t419, ptr @sc_lit_3908714124573206, ptr %t441)
+ %t443 = load i32, ptr %exc.cell
+ %t444 = icmp ne i32 %t443, 0
+ %t445 = call i1 @llvm.expect.i1(i1 %t444, i1 false)
+ br i1 %t445, label %exc.u188, label %exc.k189
+exc.u188:
+ call void @sc_rc_release_dyn(ptr %t401)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t417)
+ call void @sc_rc_release_dyn(ptr %t419)
+ call void @sc_rc_release_dyn(ptr %t424)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t440)
+ call void @sc_rc_release_dyn(ptr %t441)
+ call void @sc_rc_release_dyn(ptr %t442)
+ br label %exc.cleanup2
+exc.k189:
+ call void @sc_rc_release_dyn(ptr %t401)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t417)
+ call void @sc_rc_release_dyn(ptr %t419)
+ call void @sc_rc_release_dyn(ptr %t424)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t440)
+ call void @sc_rc_release_dyn(ptr %t441)
+ %t446 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t446)
+ ret ptr %t442
+if.j171:
+ %t448 = call ptr @scr_dyn_undefined()
+ %t447 = call ptr @scr_dyn_retain_v(ptr %t448)
+ %t449 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t449)
+ ret ptr %t447
+if.j158:
+ %t450 = load ptr, ptr %sc_l_p_0
+ %t451 = call ptr @sc_rc_retain_dyn(ptr %t450)
+ %t452 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t451)
+ %t453 = load i32, ptr %exc.cell
+ %t454 = icmp ne i32 %t453, 0
+ %t455 = call i1 @llvm.expect.i1(i1 %t454, i1 false)
+ br i1 %t455, label %exc.u190, label %exc.k191
+exc.u190:
+ call void @sc_rc_release_dyn(ptr %t452)
+ br label %exc.cleanup2
+exc.k191:
+ %t456 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t452)
+ call void @sc_rc_release_dyn(ptr %t452)
+ store ptr %t456, ptr %sc_l_bag_0
+ %t457 = load ptr, ptr %sc_l_bag_0
+ %t458 = load ptr, ptr %sc_l_p_0
+ %t459 = call zeroext i1 @scr_dyn_strict_eq(ptr %t457, ptr %t458)
+ br i1 %t459, label %tern.t192, label %tern.f193
+tern.t192:
+ %t461 = load ptr, ptr %sc_l_bag_0
+ %t464 = getelementptr inbounds i8, ptr %t461, i64 8 ; ->kind
+ %t465 = load i32, ptr %t464
+ %t463 = icmp eq i32 %t465, 5
+ br i1 %t463, label %dkg.ic195, label %dkg.any196
+dkg.ic195:
+ %t466 = call ptr @scr_dyn_obj_read_ic(ptr %t461, ptr @sc_lit_3908714124573206, ptr @sc_dyn_read_ic_10)
+ br label %dkg.j197
+dkg.any196:
+ %t467 = call ptr @sc_dyn_key_get(ptr %t461, ptr @sc_lit_3908714124573206, i1 false)
+ br label %dkg.j197
+dkg.j197:
+ %t462 = phi ptr [ %t466, %dkg.ic195 ], [ %t467, %dkg.any196 ]
+ %t468 = load i32, ptr %exc.cell
+ %t469 = icmp ne i32 %t468, 0
+ %t470 = call i1 @llvm.expect.i1(i1 %t469, i1 false)
+ br i1 %t470, label %exc.u198, label %exc.k199
+exc.u198:
+ call void @sc_rc_release_dyn(ptr %t462)
+ br label %exc.cleanup200
+exc.k199:
+ store ptr %t462, ptr %s460
+ br label %tern.j194
+tern.f193:
+ %t471 = load ptr, ptr %sc_l_bag_0
+ %t472 = call ptr @sc_rc_retain_dyn(ptr %t471)
+ %t473 = load ptr, ptr %sc_l_p_0
+ %t474 = call ptr @sc_rc_retain_dyn(ptr %t473)
+ %t475 = call ptr @scr_dyn_bag_get(ptr %t472, ptr @sc_lit_3908714124573206, ptr %t474)
+ %t476 = load i32, ptr %exc.cell
+ %t477 = icmp ne i32 %t476, 0
+ %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false)
+ br i1 %t478, label %exc.u201, label %exc.k202
+exc.u201:
+ call void @sc_rc_release_dyn(ptr %t472)
+ call void @sc_rc_release_dyn(ptr %t474)
+ call void @sc_rc_release_dyn(ptr %t475)
+ br label %exc.cleanup200
+exc.k202:
+ store ptr %t475, ptr %s460
+ call void @sc_rc_release_dyn(ptr %t472)
+ call void @sc_rc_release_dyn(ptr %t474)
+ br label %tern.j194
+tern.j194:
+ %t479 = load ptr, ptr %s460
+ %t480 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t480)
+ %t481 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t481)
+ ret ptr %t479
+exc.cleanup2:
+ %t482 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t482)
+ ret ptr null
+exc.cleanup200:
+ %t483 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t483)
+ %t484 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t484)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m5.CtxCore
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t4, i64 0, i32 8
+ %t6 = load ptr, ptr %t5, !tbaa !204
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxCore()
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @scr_dyn_obj_create(ptr %t10)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t14
+if.j3:
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t18, i64 0, i32 8
+ %t20 = load ptr, ptr %t19, !tbaa !204
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ ret ptr %t21
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m5_CtxCore(ptr %p0)
+ call void @sc_release__x25_m5_CtxCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_11(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.11
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_2875643240706496
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2875643240706496)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_2875643240706496
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_48(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_587707337530151)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_2875643240706496
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_48(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_2875643240706496
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_48(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_587707337530151, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_587707337530151, ptr @sc_dyn_read_ic_11)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_587707337530151, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_587707337530151, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m5.CtxCore
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %dc.inspect2, label %dc.checked5
+dc.inspect2:
+ %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t7 = icmp eq i32 %t12, 12
+ br i1 %t7, label %dc.capsule3, label %dc.checked5
+dc.capsule3:
+ %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t9 = load ptr, ptr %t8
+ %t10 = icmp eq ptr %t9, @sc_cs_2875643240706496
+ br i1 %t10, label %dc.exact4, label %dc.checked5
+dc.exact4:
+ %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t14)
+ store ptr %t15, ptr %s5
+ br label %dc.done6
+dc.checked5:
+ %t16 = call ptr @sc_dc_48(ptr %t4, ptr null)
+ store ptr %t16, ptr %s5
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u7, label %exc.k8
+exc.u7:
+ ret ptr null
+exc.k8:
+ br label %dc.done6
+dc.done6:
+ %t20 = load ptr, ptr %s5
+ ret ptr %t20
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxCore(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_12(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.12
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s97 = alloca ptr
+ %s120 = alloca i1
+ %s132 = alloca ptr
+ %s153 = alloca i1
+ %s165 = alloca ptr
+ %s186 = alloca i1
+ %s198 = alloca ptr
+ %s225 = alloca ptr
+ %s248 = alloca ptr
+ %s283 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_30(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call zeroext i1 @scr_dyn_has_own(ptr %t40, ptr @sc_lit_127274431826284)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_1746033898805369
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_30(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_1746033898805369
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_30(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_127274431826284, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t95 = load ptr, ptr %sc_l_p_0
+ %t96 = call ptr @sc_rc_retain_dyn(ptr %t95)
+ %t98 = icmp ne ptr %t96, null
+ br i1 %t98, label %dc.inspect42, label %dc.checked45
+dc.inspect42:
+ %t103 = getelementptr inbounds i8, ptr %t96, i64 8 ; ->kind
+ %t104 = load i32, ptr %t103
+ %t99 = icmp eq i32 %t104, 12
+ br i1 %t99, label %dc.capsule43, label %dc.checked45
+dc.capsule43:
+ %t100 = getelementptr inbounds i8, ptr %t96, i64 40 ; ->v.typed_ref.type_key
+ %t101 = load ptr, ptr %t100
+ %t102 = icmp eq ptr %t101, @sc_cs_1746033898805369
+ br i1 %t102, label %dc.exact44, label %dc.checked45
+dc.exact44:
+ %t105 = getelementptr inbounds i8, ptr %t96, i64 16 ; ->v.typed_ref.ptr
+ %t106 = load ptr, ptr %t105
+ %t107 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t106)
+ store ptr %t107, ptr %s97
+ br label %dc.done46
+dc.checked45:
+ %t108 = call ptr @sc_dc_30(ptr %t96, ptr null)
+ store ptr %t108, ptr %s97
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u47, label %exc.k48
+exc.u47:
+ call void @sc_rc_release_dyn(ptr %t96)
+ br label %exc.cleanup2
+exc.k48:
+ br label %dc.done46
+dc.done46:
+ %t112 = load ptr, ptr %s97
+ %t113 = call double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_status(ptr %t112)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u49, label %exc.k50
+exc.u49:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t112)
+ br label %exc.cleanup2
+exc.k50:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t112)
+ %t117 = call ptr @sc_td_2(double %t113)
+ %t118 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t118)
+ ret ptr %t117
+if.j10:
+ %t119 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s120
+ %t121 = icmp ne ptr %t119, null
+ br i1 %t121, label %brand.inspect51, label %brand.done53
+brand.inspect51:
+ %t122 = getelementptr inbounds i8, ptr %t119, i64 8 ; ->kind
+ %t123 = load i32, ptr %t122
+ %t124 = icmp eq i32 %t123, 12
+ br i1 %t124, label %brand.capsule52, label %brand.done53
+brand.capsule52:
+ %t125 = getelementptr inbounds i8, ptr %t119, i64 40 ; ->v.typed_ref.type_key
+ %t126 = load ptr, ptr %t125
+ %t127 = icmp eq ptr %t126, @sc_cs_4074974279575818
+ store i1 true, ptr %s120
+ br i1 %t127, label %brand.done53, label %brand.compare54
+brand.compare54:
+ %t128 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t119, ptr @sc_lit_4074974279575818)
+ store i1 %t128, ptr %s120
+ br label %brand.done53
+brand.done53:
+ %t129 = load i1, ptr %s120
+ br i1 %t129, label %if.t55, label %if.j56
+if.t55:
+ %t130 = load ptr, ptr %sc_l_p_0
+ %t131 = call ptr @sc_rc_retain_dyn(ptr %t130)
+ %t133 = icmp ne ptr %t131, null
+ br i1 %t133, label %dc.inspect57, label %dc.checked60
+dc.inspect57:
+ %t138 = getelementptr inbounds i8, ptr %t131, i64 8 ; ->kind
+ %t139 = load i32, ptr %t138
+ %t134 = icmp eq i32 %t139, 12
+ br i1 %t134, label %dc.capsule58, label %dc.checked60
+dc.capsule58:
+ %t135 = getelementptr inbounds i8, ptr %t131, i64 40 ; ->v.typed_ref.type_key
+ %t136 = load ptr, ptr %t135
+ %t137 = icmp eq ptr %t136, @sc_cs_4074974279575818
+ br i1 %t137, label %dc.exact59, label %dc.checked60
+dc.exact59:
+ %t140 = getelementptr inbounds i8, ptr %t131, i64 16 ; ->v.typed_ref.ptr
+ %t141 = load ptr, ptr %t140
+ %t142 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t141)
+ store ptr %t142, ptr %s132
+ br label %dc.done61
+dc.checked60:
+ %t143 = call ptr @sc_dc_104(ptr %t131, ptr null)
+ store ptr %t143, ptr %s132
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t131)
+ br label %exc.cleanup2
+exc.k63:
+ br label %dc.done61
+dc.done61:
+ %t147 = load ptr, ptr %s132
+ %t148 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t147, i64 0, i32 3
+ %t149 = load double, ptr %t148, !tbaa !52
+ %t150 = call ptr @sc_td_2(double %t149)
+ call void @sc_rc_release_dyn(ptr %t131)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t147)
+ %t151 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t151)
+ ret ptr %t150
+if.j56:
+ %t152 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s153
+ %t154 = icmp ne ptr %t152, null
+ br i1 %t154, label %brand.inspect64, label %brand.done66
+brand.inspect64:
+ %t155 = getelementptr inbounds i8, ptr %t152, i64 8 ; ->kind
+ %t156 = load i32, ptr %t155
+ %t157 = icmp eq i32 %t156, 12
+ br i1 %t157, label %brand.capsule65, label %brand.done66
+brand.capsule65:
+ %t158 = getelementptr inbounds i8, ptr %t152, i64 40 ; ->v.typed_ref.type_key
+ %t159 = load ptr, ptr %t158
+ %t160 = icmp eq ptr %t159, @sc_cs_2434838942941195
+ store i1 true, ptr %s153
+ br i1 %t160, label %brand.done66, label %brand.compare67
+brand.compare67:
+ %t161 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t152, ptr @sc_lit_2434838942941195)
+ store i1 %t161, ptr %s153
+ br label %brand.done66
+brand.done66:
+ %t162 = load i1, ptr %s153
+ br i1 %t162, label %if.t68, label %if.j69
+if.t68:
+ %t163 = load ptr, ptr %sc_l_p_0
+ %t164 = call ptr @sc_rc_retain_dyn(ptr %t163)
+ %t166 = icmp ne ptr %t164, null
+ br i1 %t166, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t171 = getelementptr inbounds i8, ptr %t164, i64 8 ; ->kind
+ %t172 = load i32, ptr %t171
+ %t167 = icmp eq i32 %t172, 12
+ br i1 %t167, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t168 = getelementptr inbounds i8, ptr %t164, i64 40 ; ->v.typed_ref.type_key
+ %t169 = load ptr, ptr %t168
+ %t170 = icmp eq ptr %t169, @sc_cs_2434838942941195
+ br i1 %t170, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t173 = getelementptr inbounds i8, ptr %t164, i64 16 ; ->v.typed_ref.ptr
+ %t174 = load ptr, ptr %t173
+ %t175 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t174)
+ store ptr %t175, ptr %s165
+ br label %dc.done74
+dc.checked73:
+ %t176 = call ptr @sc_dc_52(ptr %t164, ptr null)
+ store ptr %t176, ptr %s165
+ %t177 = load i32, ptr %exc.cell
+ %t178 = icmp ne i32 %t177, 0
+ %t179 = call i1 @llvm.expect.i1(i1 %t178, i1 false)
+ br i1 %t179, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t164)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t180 = load ptr, ptr %s165
+ %t181 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t180, i64 0, i32 3
+ %t182 = load double, ptr %t181, !tbaa !52
+ %t183 = call ptr @sc_td_2(double %t182)
+ call void @sc_rc_release_dyn(ptr %t164)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t180)
+ %t184 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t184)
+ ret ptr %t183
+if.j69:
+ %t185 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s186
+ %t187 = icmp ne ptr %t185, null
+ br i1 %t187, label %brand.inspect77, label %brand.done79
+brand.inspect77:
+ %t188 = getelementptr inbounds i8, ptr %t185, i64 8 ; ->kind
+ %t189 = load i32, ptr %t188
+ %t190 = icmp eq i32 %t189, 12
+ br i1 %t190, label %brand.capsule78, label %brand.done79
+brand.capsule78:
+ %t191 = getelementptr inbounds i8, ptr %t185, i64 40 ; ->v.typed_ref.type_key
+ %t192 = load ptr, ptr %t191
+ %t193 = icmp eq ptr %t192, @sc_cs_2875643240706496
+ store i1 true, ptr %s186
+ br i1 %t193, label %brand.done79, label %brand.compare80
+brand.compare80:
+ %t194 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t185, ptr @sc_lit_2875643240706496)
+ store i1 %t194, ptr %s186
+ br label %brand.done79
+brand.done79:
+ %t195 = load i1, ptr %s186
+ br i1 %t195, label %if.t81, label %if.j82
+if.t81:
+ %t196 = load ptr, ptr %sc_l_p_0
+ %t197 = call ptr @sc_rc_retain_dyn(ptr %t196)
+ %t199 = icmp ne ptr %t197, null
+ br i1 %t199, label %dc.inspect83, label %dc.checked86
+dc.inspect83:
+ %t204 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind
+ %t205 = load i32, ptr %t204
+ %t200 = icmp eq i32 %t205, 12
+ br i1 %t200, label %dc.capsule84, label %dc.checked86
+dc.capsule84:
+ %t201 = getelementptr inbounds i8, ptr %t197, i64 40 ; ->v.typed_ref.type_key
+ %t202 = load ptr, ptr %t201
+ %t203 = icmp eq ptr %t202, @sc_cs_2875643240706496
+ br i1 %t203, label %dc.exact85, label %dc.checked86
+dc.exact85:
+ %t206 = getelementptr inbounds i8, ptr %t197, i64 16 ; ->v.typed_ref.ptr
+ %t207 = load ptr, ptr %t206
+ %t208 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t207)
+ store ptr %t208, ptr %s198
+ br label %dc.done87
+dc.checked86:
+ %t209 = call ptr @sc_dc_48(ptr %t197, ptr null)
+ store ptr %t209, ptr %s198
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t197)
+ br label %exc.cleanup2
+exc.k89:
+ br label %dc.done87
+dc.done87:
+ %t213 = load ptr, ptr %s198
+ %t214 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t213, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t215 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t214)
+ %t216 = load i32, ptr %exc.cell
+ %t217 = icmp ne i32 %t216, 0
+ %t218 = call i1 @llvm.expect.i1(i1 %t217, i1 false)
+ br i1 %t218, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t197)
+ call void @sc_release__x25_m5_CtxCore(ptr %t213)
+ call void @sc_rc_release_dyn(ptr %t215)
+ br label %exc.cleanup2
+exc.k91:
+ %t219 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t215, ptr @sc_lit_127274431826284)
+ %t220 = load i32, ptr %exc.cell
+ %t221 = icmp ne i32 %t220, 0
+ %t222 = call i1 @llvm.expect.i1(i1 %t221, i1 false)
+ br i1 %t222, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t197)
+ call void @sc_release__x25_m5_CtxCore(ptr %t213)
+ call void @sc_rc_release_dyn(ptr %t215)
+ br label %exc.cleanup2
+exc.k93:
+ call void @sc_rc_release_dyn(ptr %t197)
+ call void @sc_release__x25_m5_CtxCore(ptr %t213)
+ call void @sc_rc_release_dyn(ptr %t215)
+ br i1 %t219, label %if.t94, label %if.j95
+if.t94:
+ %t223 = load ptr, ptr %sc_l_p_0
+ %t224 = call ptr @sc_rc_retain_dyn(ptr %t223)
+ %t226 = icmp ne ptr %t224, null
+ br i1 %t226, label %dc.inspect96, label %dc.checked99
+dc.inspect96:
+ %t231 = getelementptr inbounds i8, ptr %t224, i64 8 ; ->kind
+ %t232 = load i32, ptr %t231
+ %t227 = icmp eq i32 %t232, 12
+ br i1 %t227, label %dc.capsule97, label %dc.checked99
+dc.capsule97:
+ %t228 = getelementptr inbounds i8, ptr %t224, i64 40 ; ->v.typed_ref.type_key
+ %t229 = load ptr, ptr %t228
+ %t230 = icmp eq ptr %t229, @sc_cs_2875643240706496
+ br i1 %t230, label %dc.exact98, label %dc.checked99
+dc.exact98:
+ %t233 = getelementptr inbounds i8, ptr %t224, i64 16 ; ->v.typed_ref.ptr
+ %t234 = load ptr, ptr %t233
+ %t235 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t234)
+ store ptr %t235, ptr %s225
+ br label %dc.done100
+dc.checked99:
+ %t236 = call ptr @sc_dc_48(ptr %t224, ptr null)
+ store ptr %t236, ptr %s225
+ %t237 = load i32, ptr %exc.cell
+ %t238 = icmp ne i32 %t237, 0
+ %t239 = call i1 @llvm.expect.i1(i1 %t238, i1 false)
+ br i1 %t239, label %exc.u101, label %exc.k102
+exc.u101:
+ call void @sc_rc_release_dyn(ptr %t224)
+ br label %exc.cleanup2
+exc.k102:
+ br label %dc.done100
+dc.done100:
+ %t240 = load ptr, ptr %s225
+ %t241 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t240, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t242 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t241)
+ %t243 = load i32, ptr %exc.cell
+ %t244 = icmp ne i32 %t243, 0
+ %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false)
+ br i1 %t245, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t224)
+ call void @sc_release__x25_m5_CtxCore(ptr %t240)
+ call void @sc_rc_release_dyn(ptr %t242)
+ br label %exc.cleanup2
+exc.k104:
+ %t246 = load ptr, ptr %sc_l_p_0
+ %t247 = call ptr @sc_rc_retain_dyn(ptr %t246)
+ %t249 = icmp ne ptr %t247, null
+ br i1 %t249, label %dc.inspect105, label %dc.checked108
+dc.inspect105:
+ %t254 = getelementptr inbounds i8, ptr %t247, i64 8 ; ->kind
+ %t255 = load i32, ptr %t254
+ %t250 = icmp eq i32 %t255, 12
+ br i1 %t250, label %dc.capsule106, label %dc.checked108
+dc.capsule106:
+ %t251 = getelementptr inbounds i8, ptr %t247, i64 40 ; ->v.typed_ref.type_key
+ %t252 = load ptr, ptr %t251
+ %t253 = icmp eq ptr %t252, @sc_cs_2875643240706496
+ br i1 %t253, label %dc.exact107, label %dc.checked108
+dc.exact107:
+ %t256 = getelementptr inbounds i8, ptr %t247, i64 16 ; ->v.typed_ref.ptr
+ %t257 = load ptr, ptr %t256
+ %t258 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t257)
+ store ptr %t258, ptr %s248
+ br label %dc.done109
+dc.checked108:
+ %t259 = call ptr @sc_dc_48(ptr %t247, ptr null)
+ store ptr %t259, ptr %s248
+ %t260 = load i32, ptr %exc.cell
+ %t261 = icmp ne i32 %t260, 0
+ %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false)
+ br i1 %t262, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @sc_rc_release_dyn(ptr %t224)
+ call void @sc_release__x25_m5_CtxCore(ptr %t240)
+ call void @sc_rc_release_dyn(ptr %t242)
+ call void @sc_rc_release_dyn(ptr %t247)
+ br label %exc.cleanup2
+exc.k111:
+ br label %dc.done109
+dc.done109:
+ %t263 = load ptr, ptr %s248
+ %t264 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t263, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t265 = call ptr @scr_dyn_bag_get(ptr %t242, ptr @sc_lit_127274431826284, ptr %t264)
+ %t266 = load i32, ptr %exc.cell
+ %t267 = icmp ne i32 %t266, 0
+ %t268 = call i1 @llvm.expect.i1(i1 %t267, i1 false)
+ br i1 %t268, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t224)
+ call void @sc_release__x25_m5_CtxCore(ptr %t240)
+ call void @sc_rc_release_dyn(ptr %t242)
+ call void @sc_rc_release_dyn(ptr %t247)
+ call void @sc_release__x25_m5_CtxCore(ptr %t263)
+ call void @sc_rc_release_dyn(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ br label %exc.cleanup2
+exc.k113:
+ call void @sc_rc_release_dyn(ptr %t224)
+ call void @sc_release__x25_m5_CtxCore(ptr %t240)
+ call void @sc_rc_release_dyn(ptr %t242)
+ call void @sc_rc_release_dyn(ptr %t247)
+ call void @sc_release__x25_m5_CtxCore(ptr %t263)
+ call void @sc_rc_release_dyn(ptr %t264)
+ %t269 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t269)
+ ret ptr %t265
+if.j95:
+ %t271 = call ptr @scr_dyn_undefined()
+ %t270 = call ptr @scr_dyn_retain_v(ptr %t271)
+ %t272 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t272)
+ ret ptr %t270
+if.j82:
+ %t273 = load ptr, ptr %sc_l_p_0
+ %t274 = call ptr @sc_rc_retain_dyn(ptr %t273)
+ %t275 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t274)
+ %t276 = load i32, ptr %exc.cell
+ %t277 = icmp ne i32 %t276, 0
+ %t278 = call i1 @llvm.expect.i1(i1 %t277, i1 false)
+ br i1 %t278, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t275)
+ br label %exc.cleanup2
+exc.k115:
+ %t279 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t275)
+ call void @sc_rc_release_dyn(ptr %t275)
+ store ptr %t279, ptr %sc_l_bag_0
+ %t280 = load ptr, ptr %sc_l_bag_0
+ %t281 = load ptr, ptr %sc_l_p_0
+ %t282 = call zeroext i1 @scr_dyn_strict_eq(ptr %t280, ptr %t281)
+ br i1 %t282, label %tern.t116, label %tern.f117
+tern.t116:
+ %t284 = load ptr, ptr %sc_l_bag_0
+ %t287 = getelementptr inbounds i8, ptr %t284, i64 8 ; ->kind
+ %t288 = load i32, ptr %t287
+ %t286 = icmp eq i32 %t288, 5
+ br i1 %t286, label %dkg.ic119, label %dkg.any120
+dkg.ic119:
+ %t289 = call ptr @scr_dyn_obj_read_ic(ptr %t284, ptr @sc_lit_127274431826284, ptr @sc_dyn_read_ic_12)
+ br label %dkg.j121
+dkg.any120:
+ %t290 = call ptr @sc_dyn_key_get(ptr %t284, ptr @sc_lit_127274431826284, i1 false)
+ br label %dkg.j121
+dkg.j121:
+ %t285 = phi ptr [ %t289, %dkg.ic119 ], [ %t290, %dkg.any120 ]
+ %t291 = load i32, ptr %exc.cell
+ %t292 = icmp ne i32 %t291, 0
+ %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false)
+ br i1 %t293, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @sc_rc_release_dyn(ptr %t285)
+ br label %exc.cleanup124
+exc.k123:
+ store ptr %t285, ptr %s283
+ br label %tern.j118
+tern.f117:
+ %t294 = load ptr, ptr %sc_l_bag_0
+ %t295 = call ptr @sc_rc_retain_dyn(ptr %t294)
+ %t296 = load ptr, ptr %sc_l_p_0
+ %t297 = call ptr @sc_rc_retain_dyn(ptr %t296)
+ %t298 = call ptr @scr_dyn_bag_get(ptr %t295, ptr @sc_lit_127274431826284, ptr %t297)
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u125, label %exc.k126
+exc.u125:
+ call void @sc_rc_release_dyn(ptr %t295)
+ call void @sc_rc_release_dyn(ptr %t297)
+ call void @sc_rc_release_dyn(ptr %t298)
+ br label %exc.cleanup124
+exc.k126:
+ store ptr %t298, ptr %s283
+ call void @sc_rc_release_dyn(ptr %t295)
+ call void @sc_rc_release_dyn(ptr %t297)
+ br label %tern.j118
+tern.j118:
+ %t302 = load ptr, ptr %s283
+ %t303 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t303)
+ %t304 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t304)
+ ret ptr %t302
+exc.cleanup2:
+ %t305 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t305)
+ ret ptr null
+exc.cleanup124:
+ %t306 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t306)
+ %t307 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t307)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_13(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.13
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2364278031517622)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2364278031517622, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_2364278031517622)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_2364278031517622, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_2364278031517622)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_2364278031517622, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_2364278031517622)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_2364278031517622, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_2364278031517622, ptr @sc_dyn_read_ic_13)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_2364278031517622, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_2364278031517622, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_14(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.14
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4133069531575059)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4133069531575059, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4133069531575059)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4133069531575059, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_4133069531575059)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_4133069531575059, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_4133069531575059)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_4133069531575059, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_4133069531575059, ptr @sc_dyn_read_ic_14)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_4133069531575059, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_4133069531575059, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_15(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.15
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_470306239805907)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_470306239805907, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_470306239805907)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_470306239805907, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_470306239805907)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_470306239805907, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_470306239805907)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_470306239805907, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_470306239805907, ptr @sc_dyn_read_ic_15)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_470306239805907, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_470306239805907, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_16(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.16
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3752021314181142)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3752021314181142, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_3752021314181142)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_3752021314181142, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_3752021314181142)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_3752021314181142, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_3752021314181142)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_3752021314181142, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_3752021314181142, ptr @sc_dyn_read_ic_16)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_3752021314181142, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_3752021314181142, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal void @sc_bf__x25_dyn_class_computed_0(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1) #0 { ; %dyn.class.computed.0
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s51 = alloca i1
+ %s66 = alloca ptr
+ %s89 = alloca i1
+ %s104 = alloca ptr
+ %s127 = alloca i1
+ %s142 = alloca ptr
+ %s165 = alloca i1
+ %s180 = alloca ptr
+ %s203 = alloca i1
+ %s218 = alloca ptr
+ %s241 = alloca i1
+ %s256 = alloca ptr
+ %s279 = alloca i1
+ %s294 = alloca ptr
+ %s317 = alloca i1
+ %s332 = alloca ptr
+ %s355 = alloca i1
+ %s370 = alloca ptr
+ %s393 = alloca i1
+ %s408 = alloca ptr
+ %s431 = alloca i1
+ %s446 = alloca ptr
+ %s469 = alloca i1
+ %s484 = alloca ptr
+ %s507 = alloca i1
+ %s522 = alloca ptr
+ %s545 = alloca i1
+ %s560 = alloca ptr
+ %s583 = alloca i1
+ %s598 = alloca ptr
+ %s621 = alloca i1
+ %s636 = alloca ptr
+ %s659 = alloca i1
+ %s674 = alloca ptr
+ %s697 = alloca i1
+ %s712 = alloca ptr
+ %s735 = alloca i1
+ %s750 = alloca ptr
+ %s773 = alloca i1
+ %s788 = alloca ptr
+ %s811 = alloca i1
+ %s826 = alloca ptr
+ %s849 = alloca i1
+ %s864 = alloca ptr
+ %s887 = alloca i1
+ %s902 = alloca ptr
+ %s925 = alloca i1
+ %s940 = alloca ptr
+ %s963 = alloca i1
+ %s978 = alloca ptr
+ store ptr null, ptr %sc_l_key_string
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_key
+ %t11 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t13 = icmp eq i32 %t12, 15
+ br i1 %t13, label %if.t5, label %if.j6
+if.t5:
+ %t14 = load ptr, ptr %sc_l_p_0
+ %t15 = call ptr @sc_rc_retain_dyn(ptr %t14)
+ %t16 = call ptr @sc_f__x25_dyn_class_properties(ptr %t15)
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u7, label %exc.k8
+exc.u7:
+ call void @sc_rc_release_dyn(ptr %t16)
+ br label %exc.cleanup2
+exc.k8:
+ %t20 = load ptr, ptr %sc_l_p_key
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ %t22 = load ptr, ptr %sc_l_p_1
+ %t23 = call ptr @sc_rc_retain_dyn(ptr %t22)
+ call void @scr_dyn_key_set_computed(ptr %t16, ptr %t21, ptr %t23)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u9, label %exc.k10
+exc.u9:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t23)
+ br label %exc.cleanup2
+exc.k10:
+ call void @sc_rc_release_dyn(ptr %t16)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t23)
+ %t27 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t27)
+ ret void
+if.j6:
+ %t28 = load ptr, ptr %sc_l_p_0
+ %t29 = getelementptr inbounds i8, ptr %t28, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t31 = icmp eq i32 %t30, 6
+ %t32 = icmp eq i32 %t30, 0
+ %t33 = or i1 %t31, %t32
+ br i1 %t33, label %if.t11, label %if.j12
+if.t11:
+ %t34 = load ptr, ptr %sc_l_p_0
+ %t35 = call ptr @sc_rc_retain_dyn(ptr %t34)
+ %t36 = load ptr, ptr %sc_l_p_key
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = load ptr, ptr %sc_l_p_1
+ %t39 = call ptr @sc_rc_retain_dyn(ptr %t38)
+ call void @scr_dyn_key_set_computed(ptr %t35, ptr %t37, ptr %t39)
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ br label %exc.cleanup2
+exc.k14:
+ call void @sc_rc_release_dyn(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret void
+if.j12:
+ %t44 = load ptr, ptr %sc_l_p_key
+ %t45 = call ptr @sc_rc_retain_dyn(ptr %t44)
+ %t46 = call ptr @scr_dyn_string_coerce_js(ptr %t45)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @scr_str_release(ptr %t46)
+ br label %exc.cleanup2
+exc.k16:
+ store ptr %t46, ptr %sc_l_key_string
+ call void @sc_rc_release_dyn(ptr %t45)
+ %t50 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s51
+ %t52 = icmp ne ptr %t50, null
+ br i1 %t52, label %brand.inspect17, label %brand.done19
+brand.inspect17:
+ %t53 = getelementptr inbounds i8, ptr %t50, i64 8 ; ->kind
+ %t54 = load i32, ptr %t53
+ %t55 = icmp eq i32 %t54, 12
+ br i1 %t55, label %brand.capsule18, label %brand.done19
+brand.capsule18:
+ %t56 = getelementptr inbounds i8, ptr %t50, i64 40 ; ->v.typed_ref.type_key
+ %t57 = load ptr, ptr %t56
+ %t58 = icmp eq ptr %t57, @sc_cs_1746033898805369
+ store i1 true, ptr %s51
+ br i1 %t58, label %brand.done19, label %brand.compare20
+brand.compare20:
+ %t59 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t50, ptr @sc_lit_1746033898805369)
+ store i1 %t59, ptr %s51
+ br label %brand.done19
+brand.done19:
+ %t60 = load i1, ptr %s51
+ br i1 %t60, label %if.t21, label %if.j22
+if.t21:
+ %t61 = load ptr, ptr %sc_l_p_0
+ %t62 = load ptr, ptr %sc_l_p_key
+ %t63 = load ptr, ptr %sc_l_p_1
+ %t64 = load ptr, ptr %sc_l_p_0
+ %t65 = call ptr @sc_rc_retain_dyn(ptr %t64)
+ %t67 = icmp ne ptr %t65, null
+ br i1 %t67, label %dc.inspect23, label %dc.checked26
+dc.inspect23:
+ %t72 = getelementptr inbounds i8, ptr %t65, i64 8 ; ->kind
+ %t73 = load i32, ptr %t72
+ %t68 = icmp eq i32 %t73, 12
+ br i1 %t68, label %dc.capsule24, label %dc.checked26
+dc.capsule24:
+ %t69 = getelementptr inbounds i8, ptr %t65, i64 40 ; ->v.typed_ref.type_key
+ %t70 = load ptr, ptr %t69
+ %t71 = icmp eq ptr %t70, @sc_cs_1746033898805369
+ br i1 %t71, label %dc.exact25, label %dc.checked26
+dc.exact25:
+ %t74 = getelementptr inbounds i8, ptr %t65, i64 16 ; ->v.typed_ref.ptr
+ %t75 = load ptr, ptr %t74
+ %t76 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t75)
+ store ptr %t76, ptr %s66
+ br label %dc.done27
+dc.checked26:
+ %t77 = call ptr @sc_dc_30(ptr %t65, ptr null)
+ store ptr %t77, ptr %s66
+ %t78 = load i32, ptr %exc.cell
+ %t79 = icmp ne i32 %t78, 0
+ %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false)
+ br i1 %t80, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t65)
+ br label %exc.cleanup30
+exc.k29:
+ br label %dc.done27
+dc.done27:
+ %t81 = load ptr, ptr %s66
+ %t82 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_533(ptr %t61, ptr %t62, ptr %t63, ptr %t81, ptr %t82)
+ %t83 = load i32, ptr %exc.cell
+ %t84 = icmp ne i32 %t83, 0
+ %t85 = call i1 @llvm.expect.i1(i1 %t84, i1 false)
+ br i1 %t85, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t65)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t81)
+ br label %exc.cleanup30
+exc.k32:
+ call void @sc_rc_release_dyn(ptr %t65)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t81)
+ %t86 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t86)
+ %t87 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t87)
+ ret void
+if.j22:
+ %t88 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s89
+ %t90 = icmp ne ptr %t88, null
+ br i1 %t90, label %brand.inspect33, label %brand.done35
+brand.inspect33:
+ %t91 = getelementptr inbounds i8, ptr %t88, i64 8 ; ->kind
+ %t92 = load i32, ptr %t91
+ %t93 = icmp eq i32 %t92, 12
+ br i1 %t93, label %brand.capsule34, label %brand.done35
+brand.capsule34:
+ %t94 = getelementptr inbounds i8, ptr %t88, i64 40 ; ->v.typed_ref.type_key
+ %t95 = load ptr, ptr %t94
+ %t96 = icmp eq ptr %t95, @sc_cs_4041255434968695
+ store i1 true, ptr %s89
+ br i1 %t96, label %brand.done35, label %brand.compare36
+brand.compare36:
+ %t97 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t88, ptr @sc_lit_4041255434968695)
+ store i1 %t97, ptr %s89
+ br label %brand.done35
+brand.done35:
+ %t98 = load i1, ptr %s89
+ br i1 %t98, label %if.t37, label %if.j38
+if.t37:
+ %t99 = load ptr, ptr %sc_l_p_0
+ %t100 = load ptr, ptr %sc_l_p_key
+ %t101 = load ptr, ptr %sc_l_p_1
+ %t102 = load ptr, ptr %sc_l_p_0
+ %t103 = call ptr @sc_rc_retain_dyn(ptr %t102)
+ %t105 = icmp ne ptr %t103, null
+ br i1 %t105, label %dc.inspect39, label %dc.checked42
+dc.inspect39:
+ %t110 = getelementptr inbounds i8, ptr %t103, i64 8 ; ->kind
+ %t111 = load i32, ptr %t110
+ %t106 = icmp eq i32 %t111, 12
+ br i1 %t106, label %dc.capsule40, label %dc.checked42
+dc.capsule40:
+ %t107 = getelementptr inbounds i8, ptr %t103, i64 40 ; ->v.typed_ref.type_key
+ %t108 = load ptr, ptr %t107
+ %t109 = icmp eq ptr %t108, @sc_cs_4041255434968695
+ br i1 %t109, label %dc.exact41, label %dc.checked42
+dc.exact41:
+ %t112 = getelementptr inbounds i8, ptr %t103, i64 16 ; ->v.typed_ref.ptr
+ %t113 = load ptr, ptr %t112
+ %t114 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t113)
+ store ptr %t114, ptr %s104
+ br label %dc.done43
+dc.checked42:
+ %t115 = call ptr @sc_dc_101(ptr %t103, ptr null)
+ store ptr %t115, ptr %s104
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t103)
+ br label %exc.cleanup30
+exc.k45:
+ br label %dc.done43
+dc.done43:
+ %t119 = load ptr, ptr %s104
+ %t120 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_487(ptr %t99, ptr %t100, ptr %t101, ptr %t119, ptr %t120)
+ %t121 = load i32, ptr %exc.cell
+ %t122 = icmp ne i32 %t121, 0
+ %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false)
+ br i1 %t123, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t103)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t119)
+ br label %exc.cleanup30
+exc.k47:
+ call void @sc_rc_release_dyn(ptr %t103)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t119)
+ %t124 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t124)
+ %t125 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t125)
+ ret void
+if.j38:
+ %t126 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s127
+ %t128 = icmp ne ptr %t126, null
+ br i1 %t128, label %brand.inspect48, label %brand.done50
+brand.inspect48:
+ %t129 = getelementptr inbounds i8, ptr %t126, i64 8 ; ->kind
+ %t130 = load i32, ptr %t129
+ %t131 = icmp eq i32 %t130, 12
+ br i1 %t131, label %brand.capsule49, label %brand.done50
+brand.capsule49:
+ %t132 = getelementptr inbounds i8, ptr %t126, i64 40 ; ->v.typed_ref.type_key
+ %t133 = load ptr, ptr %t132
+ %t134 = icmp eq ptr %t133, @sc_cs_3870085012327510
+ store i1 true, ptr %s127
+ br i1 %t134, label %brand.done50, label %brand.compare51
+brand.compare51:
+ %t135 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t126, ptr @sc_lit_3870085012327510)
+ store i1 %t135, ptr %s127
+ br label %brand.done50
+brand.done50:
+ %t136 = load i1, ptr %s127
+ br i1 %t136, label %if.t52, label %if.j53
+if.t52:
+ %t137 = load ptr, ptr %sc_l_p_0
+ %t138 = load ptr, ptr %sc_l_p_key
+ %t139 = load ptr, ptr %sc_l_p_1
+ %t140 = load ptr, ptr %sc_l_p_0
+ %t141 = call ptr @sc_rc_retain_dyn(ptr %t140)
+ %t143 = icmp ne ptr %t141, null
+ br i1 %t143, label %dc.inspect54, label %dc.checked57
+dc.inspect54:
+ %t148 = getelementptr inbounds i8, ptr %t141, i64 8 ; ->kind
+ %t149 = load i32, ptr %t148
+ %t144 = icmp eq i32 %t149, 12
+ br i1 %t144, label %dc.capsule55, label %dc.checked57
+dc.capsule55:
+ %t145 = getelementptr inbounds i8, ptr %t141, i64 40 ; ->v.typed_ref.type_key
+ %t146 = load ptr, ptr %t145
+ %t147 = icmp eq ptr %t146, @sc_cs_3870085012327510
+ br i1 %t147, label %dc.exact56, label %dc.checked57
+dc.exact56:
+ %t150 = getelementptr inbounds i8, ptr %t141, i64 16 ; ->v.typed_ref.ptr
+ %t151 = load ptr, ptr %t150
+ %t152 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t151)
+ store ptr %t152, ptr %s142
+ br label %dc.done58
+dc.checked57:
+ %t153 = call ptr @sc_dc_94(ptr %t141, ptr null)
+ store ptr %t153, ptr %s142
+ %t154 = load i32, ptr %exc.cell
+ %t155 = icmp ne i32 %t154, 0
+ %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false)
+ br i1 %t156, label %exc.u59, label %exc.k60
+exc.u59:
+ call void @sc_rc_release_dyn(ptr %t141)
+ br label %exc.cleanup30
+exc.k60:
+ br label %dc.done58
+dc.done58:
+ %t157 = load ptr, ptr %s142
+ %t158 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_486(ptr %t137, ptr %t138, ptr %t139, ptr %t157, ptr %t158)
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u61, label %exc.k62
+exc.u61:
+ call void @sc_rc_release_dyn(ptr %t141)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t157)
+ br label %exc.cleanup30
+exc.k62:
+ call void @sc_rc_release_dyn(ptr %t141)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t157)
+ %t162 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t162)
+ %t163 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t163)
+ ret void
+if.j53:
+ %t164 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s165
+ %t166 = icmp ne ptr %t164, null
+ br i1 %t166, label %brand.inspect63, label %brand.done65
+brand.inspect63:
+ %t167 = getelementptr inbounds i8, ptr %t164, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t169 = icmp eq i32 %t168, 12
+ br i1 %t169, label %brand.capsule64, label %brand.done65
+brand.capsule64:
+ %t170 = getelementptr inbounds i8, ptr %t164, i64 40 ; ->v.typed_ref.type_key
+ %t171 = load ptr, ptr %t170
+ %t172 = icmp eq ptr %t171, @sc_cs_2798802470260116
+ store i1 true, ptr %s165
+ br i1 %t172, label %brand.done65, label %brand.compare66
+brand.compare66:
+ %t173 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t164, ptr @sc_lit_2798802470260116)
+ store i1 %t173, ptr %s165
+ br label %brand.done65
+brand.done65:
+ %t174 = load i1, ptr %s165
+ br i1 %t174, label %if.t67, label %if.j68
+if.t67:
+ %t175 = load ptr, ptr %sc_l_p_0
+ %t176 = load ptr, ptr %sc_l_p_key
+ %t177 = load ptr, ptr %sc_l_p_1
+ %t178 = load ptr, ptr %sc_l_p_0
+ %t179 = call ptr @sc_rc_retain_dyn(ptr %t178)
+ %t181 = icmp ne ptr %t179, null
+ br i1 %t181, label %dc.inspect69, label %dc.checked72
+dc.inspect69:
+ %t186 = getelementptr inbounds i8, ptr %t179, i64 8 ; ->kind
+ %t187 = load i32, ptr %t186
+ %t182 = icmp eq i32 %t187, 12
+ br i1 %t182, label %dc.capsule70, label %dc.checked72
+dc.capsule70:
+ %t183 = getelementptr inbounds i8, ptr %t179, i64 40 ; ->v.typed_ref.type_key
+ %t184 = load ptr, ptr %t183
+ %t185 = icmp eq ptr %t184, @sc_cs_2798802470260116
+ br i1 %t185, label %dc.exact71, label %dc.checked72
+dc.exact71:
+ %t188 = getelementptr inbounds i8, ptr %t179, i64 16 ; ->v.typed_ref.ptr
+ %t189 = load ptr, ptr %t188
+ %t190 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t189)
+ store ptr %t190, ptr %s180
+ br label %dc.done73
+dc.checked72:
+ %t191 = call ptr @sc_dc_93(ptr %t179, ptr null)
+ store ptr %t191, ptr %s180
+ %t192 = load i32, ptr %exc.cell
+ %t193 = icmp ne i32 %t192, 0
+ %t194 = call i1 @llvm.expect.i1(i1 %t193, i1 false)
+ br i1 %t194, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @sc_rc_release_dyn(ptr %t179)
+ br label %exc.cleanup30
+exc.k75:
+ br label %dc.done73
+dc.done73:
+ %t195 = load ptr, ptr %s180
+ %t196 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_485(ptr %t175, ptr %t176, ptr %t177, ptr %t195, ptr %t196)
+ %t197 = load i32, ptr %exc.cell
+ %t198 = icmp ne i32 %t197, 0
+ %t199 = call i1 @llvm.expect.i1(i1 %t198, i1 false)
+ br i1 %t199, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t179)
+ call void @sc_release__x25_m0_GenFetch(ptr %t195)
+ br label %exc.cleanup30
+exc.k77:
+ call void @sc_rc_release_dyn(ptr %t179)
+ call void @sc_release__x25_m0_GenFetch(ptr %t195)
+ %t200 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t200)
+ %t201 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t201)
+ ret void
+if.j68:
+ %t202 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s203
+ %t204 = icmp ne ptr %t202, null
+ br i1 %t204, label %brand.inspect78, label %brand.done80
+brand.inspect78:
+ %t205 = getelementptr inbounds i8, ptr %t202, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t207 = icmp eq i32 %t206, 12
+ br i1 %t207, label %brand.capsule79, label %brand.done80
+brand.capsule79:
+ %t208 = getelementptr inbounds i8, ptr %t202, i64 40 ; ->v.typed_ref.type_key
+ %t209 = load ptr, ptr %t208
+ %t210 = icmp eq ptr %t209, @sc_cs_2165660704272757
+ store i1 true, ptr %s203
+ br i1 %t210, label %brand.done80, label %brand.compare81
+brand.compare81:
+ %t211 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t202, ptr @sc_lit_2165660704272757)
+ store i1 %t211, ptr %s203
+ br label %brand.done80
+brand.done80:
+ %t212 = load i1, ptr %s203
+ br i1 %t212, label %if.t82, label %if.j83
+if.t82:
+ %t213 = load ptr, ptr %sc_l_p_0
+ %t214 = load ptr, ptr %sc_l_p_key
+ %t215 = load ptr, ptr %sc_l_p_1
+ %t216 = load ptr, ptr %sc_l_p_0
+ %t217 = call ptr @sc_rc_retain_dyn(ptr %t216)
+ %t219 = icmp ne ptr %t217, null
+ br i1 %t219, label %dc.inspect84, label %dc.checked87
+dc.inspect84:
+ %t224 = getelementptr inbounds i8, ptr %t217, i64 8 ; ->kind
+ %t225 = load i32, ptr %t224
+ %t220 = icmp eq i32 %t225, 12
+ br i1 %t220, label %dc.capsule85, label %dc.checked87
+dc.capsule85:
+ %t221 = getelementptr inbounds i8, ptr %t217, i64 40 ; ->v.typed_ref.type_key
+ %t222 = load ptr, ptr %t221
+ %t223 = icmp eq ptr %t222, @sc_cs_2165660704272757
+ br i1 %t223, label %dc.exact86, label %dc.checked87
+dc.exact86:
+ %t226 = getelementptr inbounds i8, ptr %t217, i64 16 ; ->v.typed_ref.ptr
+ %t227 = load ptr, ptr %t226
+ %t228 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t227)
+ store ptr %t228, ptr %s218
+ br label %dc.done88
+dc.checked87:
+ %t229 = call ptr @sc_dc_92(ptr %t217, ptr null)
+ store ptr %t229, ptr %s218
+ %t230 = load i32, ptr %exc.cell
+ %t231 = icmp ne i32 %t230, 0
+ %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false)
+ br i1 %t232, label %exc.u89, label %exc.k90
+exc.u89:
+ call void @sc_rc_release_dyn(ptr %t217)
+ br label %exc.cleanup30
+exc.k90:
+ br label %dc.done88
+dc.done88:
+ %t233 = load ptr, ptr %s218
+ %t234 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_484(ptr %t213, ptr %t214, ptr %t215, ptr %t233, ptr %t234)
+ %t235 = load i32, ptr %exc.cell
+ %t236 = icmp ne i32 %t235, 0
+ %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false)
+ br i1 %t237, label %exc.u91, label %exc.k92
+exc.u91:
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t233)
+ br label %exc.cleanup30
+exc.k92:
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t233)
+ %t238 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t238)
+ %t239 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t239)
+ ret void
+if.j83:
+ %t240 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s241
+ %t242 = icmp ne ptr %t240, null
+ br i1 %t242, label %brand.inspect93, label %brand.done95
+brand.inspect93:
+ %t243 = getelementptr inbounds i8, ptr %t240, i64 8 ; ->kind
+ %t244 = load i32, ptr %t243
+ %t245 = icmp eq i32 %t244, 12
+ br i1 %t245, label %brand.capsule94, label %brand.done95
+brand.capsule94:
+ %t246 = getelementptr inbounds i8, ptr %t240, i64 40 ; ->v.typed_ref.type_key
+ %t247 = load ptr, ptr %t246
+ %t248 = icmp eq ptr %t247, @sc_cs_3728566007289652
+ store i1 true, ptr %s241
+ br i1 %t248, label %brand.done95, label %brand.compare96
+brand.compare96:
+ %t249 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t240, ptr @sc_lit_3728566007289652)
+ store i1 %t249, ptr %s241
+ br label %brand.done95
+brand.done95:
+ %t250 = load i1, ptr %s241
+ br i1 %t250, label %if.t97, label %if.j98
+if.t97:
+ %t251 = load ptr, ptr %sc_l_p_0
+ %t252 = load ptr, ptr %sc_l_p_key
+ %t253 = load ptr, ptr %sc_l_p_1
+ %t254 = load ptr, ptr %sc_l_p_0
+ %t255 = call ptr @sc_rc_retain_dyn(ptr %t254)
+ %t257 = icmp ne ptr %t255, null
+ br i1 %t257, label %dc.inspect99, label %dc.checked102
+dc.inspect99:
+ %t262 = getelementptr inbounds i8, ptr %t255, i64 8 ; ->kind
+ %t263 = load i32, ptr %t262
+ %t258 = icmp eq i32 %t263, 12
+ br i1 %t258, label %dc.capsule100, label %dc.checked102
+dc.capsule100:
+ %t259 = getelementptr inbounds i8, ptr %t255, i64 40 ; ->v.typed_ref.type_key
+ %t260 = load ptr, ptr %t259
+ %t261 = icmp eq ptr %t260, @sc_cs_3728566007289652
+ br i1 %t261, label %dc.exact101, label %dc.checked102
+dc.exact101:
+ %t264 = getelementptr inbounds i8, ptr %t255, i64 16 ; ->v.typed_ref.ptr
+ %t265 = load ptr, ptr %t264
+ %t266 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t265)
+ store ptr %t266, ptr %s256
+ br label %dc.done103
+dc.checked102:
+ %t267 = call ptr @sc_dc_100(ptr %t255, ptr null)
+ store ptr %t267, ptr %s256
+ %t268 = load i32, ptr %exc.cell
+ %t269 = icmp ne i32 %t268, 0
+ %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false)
+ br i1 %t270, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t255)
+ br label %exc.cleanup30
+exc.k105:
+ br label %dc.done103
+dc.done103:
+ %t271 = load ptr, ptr %s256
+ %t272 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_483(ptr %t251, ptr %t252, ptr %t253, ptr %t271, ptr %t272)
+ %t273 = load i32, ptr %exc.cell
+ %t274 = icmp ne i32 %t273, 0
+ %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false)
+ br i1 %t275, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t255)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t271)
+ br label %exc.cleanup30
+exc.k107:
+ call void @sc_rc_release_dyn(ptr %t255)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t271)
+ %t276 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t276)
+ %t277 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t277)
+ ret void
+if.j98:
+ %t278 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s279
+ %t280 = icmp ne ptr %t278, null
+ br i1 %t280, label %brand.inspect108, label %brand.done110
+brand.inspect108:
+ %t281 = getelementptr inbounds i8, ptr %t278, i64 8 ; ->kind
+ %t282 = load i32, ptr %t281
+ %t283 = icmp eq i32 %t282, 12
+ br i1 %t283, label %brand.capsule109, label %brand.done110
+brand.capsule109:
+ %t284 = getelementptr inbounds i8, ptr %t278, i64 40 ; ->v.typed_ref.type_key
+ %t285 = load ptr, ptr %t284
+ %t286 = icmp eq ptr %t285, @sc_cs_2072202777142634
+ store i1 true, ptr %s279
+ br i1 %t286, label %brand.done110, label %brand.compare111
+brand.compare111:
+ %t287 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t278, ptr @sc_lit_2072202777142634)
+ store i1 %t287, ptr %s279
+ br label %brand.done110
+brand.done110:
+ %t288 = load i1, ptr %s279
+ br i1 %t288, label %if.t112, label %if.j113
+if.t112:
+ %t289 = load ptr, ptr %sc_l_p_0
+ %t290 = load ptr, ptr %sc_l_p_key
+ %t291 = load ptr, ptr %sc_l_p_1
+ %t292 = load ptr, ptr %sc_l_p_0
+ %t293 = call ptr @sc_rc_retain_dyn(ptr %t292)
+ %t295 = icmp ne ptr %t293, null
+ br i1 %t295, label %dc.inspect114, label %dc.checked117
+dc.inspect114:
+ %t300 = getelementptr inbounds i8, ptr %t293, i64 8 ; ->kind
+ %t301 = load i32, ptr %t300
+ %t296 = icmp eq i32 %t301, 12
+ br i1 %t296, label %dc.capsule115, label %dc.checked117
+dc.capsule115:
+ %t297 = getelementptr inbounds i8, ptr %t293, i64 40 ; ->v.typed_ref.type_key
+ %t298 = load ptr, ptr %t297
+ %t299 = icmp eq ptr %t298, @sc_cs_2072202777142634
+ br i1 %t299, label %dc.exact116, label %dc.checked117
+dc.exact116:
+ %t302 = getelementptr inbounds i8, ptr %t293, i64 16 ; ->v.typed_ref.ptr
+ %t303 = load ptr, ptr %t302
+ %t304 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t303)
+ store ptr %t304, ptr %s294
+ br label %dc.done118
+dc.checked117:
+ %t305 = call ptr @sc_dc_26(ptr %t293, ptr null)
+ store ptr %t305, ptr %s294
+ %t306 = load i32, ptr %exc.cell
+ %t307 = icmp ne i32 %t306, 0
+ %t308 = call i1 @llvm.expect.i1(i1 %t307, i1 false)
+ br i1 %t308, label %exc.u119, label %exc.k120
+exc.u119:
+ call void @sc_rc_release_dyn(ptr %t293)
+ br label %exc.cleanup30
+exc.k120:
+ br label %dc.done118
+dc.done118:
+ %t309 = load ptr, ptr %s294
+ %t310 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_482(ptr %t289, ptr %t290, ptr %t291, ptr %t309, ptr %t310)
+ %t311 = load i32, ptr %exc.cell
+ %t312 = icmp ne i32 %t311, 0
+ %t313 = call i1 @llvm.expect.i1(i1 %t312, i1 false)
+ br i1 %t313, label %exc.u121, label %exc.k122
+exc.u121:
+ call void @sc_rc_release_dyn(ptr %t293)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t309)
+ br label %exc.cleanup30
+exc.k122:
+ call void @sc_rc_release_dyn(ptr %t293)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t309)
+ %t314 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t314)
+ %t315 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t315)
+ ret void
+if.j113:
+ %t316 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s317
+ %t318 = icmp ne ptr %t316, null
+ br i1 %t318, label %brand.inspect123, label %brand.done125
+brand.inspect123:
+ %t319 = getelementptr inbounds i8, ptr %t316, i64 8 ; ->kind
+ %t320 = load i32, ptr %t319
+ %t321 = icmp eq i32 %t320, 12
+ br i1 %t321, label %brand.capsule124, label %brand.done125
+brand.capsule124:
+ %t322 = getelementptr inbounds i8, ptr %t316, i64 40 ; ->v.typed_ref.type_key
+ %t323 = load ptr, ptr %t322
+ %t324 = icmp eq ptr %t323, @sc_cs_3314970835853795
+ store i1 true, ptr %s317
+ br i1 %t324, label %brand.done125, label %brand.compare126
+brand.compare126:
+ %t325 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t316, ptr @sc_lit_3314970835853795)
+ store i1 %t325, ptr %s317
+ br label %brand.done125
+brand.done125:
+ %t326 = load i1, ptr %s317
+ br i1 %t326, label %if.t127, label %if.j128
+if.t127:
+ %t327 = load ptr, ptr %sc_l_p_0
+ %t328 = load ptr, ptr %sc_l_p_key
+ %t329 = load ptr, ptr %sc_l_p_1
+ %t330 = load ptr, ptr %sc_l_p_0
+ %t331 = call ptr @sc_rc_retain_dyn(ptr %t330)
+ %t333 = icmp ne ptr %t331, null
+ br i1 %t333, label %dc.inspect129, label %dc.checked132
+dc.inspect129:
+ %t338 = getelementptr inbounds i8, ptr %t331, i64 8 ; ->kind
+ %t339 = load i32, ptr %t338
+ %t334 = icmp eq i32 %t339, 12
+ br i1 %t334, label %dc.capsule130, label %dc.checked132
+dc.capsule130:
+ %t335 = getelementptr inbounds i8, ptr %t331, i64 40 ; ->v.typed_ref.type_key
+ %t336 = load ptr, ptr %t335
+ %t337 = icmp eq ptr %t336, @sc_cs_3314970835853795
+ br i1 %t337, label %dc.exact131, label %dc.checked132
+dc.exact131:
+ %t340 = getelementptr inbounds i8, ptr %t331, i64 16 ; ->v.typed_ref.ptr
+ %t341 = load ptr, ptr %t340
+ %t342 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t341)
+ store ptr %t342, ptr %s332
+ br label %dc.done133
+dc.checked132:
+ %t343 = call ptr @sc_dc_79(ptr %t331, ptr null)
+ store ptr %t343, ptr %s332
+ %t344 = load i32, ptr %exc.cell
+ %t345 = icmp ne i32 %t344, 0
+ %t346 = call i1 @llvm.expect.i1(i1 %t345, i1 false)
+ br i1 %t346, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup30
+exc.k135:
+ br label %dc.done133
+dc.done133:
+ %t347 = load ptr, ptr %s332
+ %t348 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_481(ptr %t327, ptr %t328, ptr %t329, ptr %t347, ptr %t348)
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_release__x25_m6_AssetSource(ptr %t347)
+ br label %exc.cleanup30
+exc.k137:
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_release__x25_m6_AssetSource(ptr %t347)
+ %t352 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t352)
+ %t353 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t353)
+ ret void
+if.j128:
+ %t354 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s355
+ %t356 = icmp ne ptr %t354, null
+ br i1 %t356, label %brand.inspect138, label %brand.done140
+brand.inspect138:
+ %t357 = getelementptr inbounds i8, ptr %t354, i64 8 ; ->kind
+ %t358 = load i32, ptr %t357
+ %t359 = icmp eq i32 %t358, 12
+ br i1 %t359, label %brand.capsule139, label %brand.done140
+brand.capsule139:
+ %t360 = getelementptr inbounds i8, ptr %t354, i64 40 ; ->v.typed_ref.type_key
+ %t361 = load ptr, ptr %t360
+ %t362 = icmp eq ptr %t361, @sc_cs_864190948149583
+ store i1 true, ptr %s355
+ br i1 %t362, label %brand.done140, label %brand.compare141
+brand.compare141:
+ %t363 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t354, ptr @sc_lit_864190948149583)
+ store i1 %t363, ptr %s355
+ br label %brand.done140
+brand.done140:
+ %t364 = load i1, ptr %s355
+ br i1 %t364, label %if.t142, label %if.j143
+if.t142:
+ %t365 = load ptr, ptr %sc_l_p_0
+ %t366 = load ptr, ptr %sc_l_p_key
+ %t367 = load ptr, ptr %sc_l_p_1
+ %t368 = load ptr, ptr %sc_l_p_0
+ %t369 = call ptr @sc_rc_retain_dyn(ptr %t368)
+ %t371 = icmp ne ptr %t369, null
+ br i1 %t371, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t376 = getelementptr inbounds i8, ptr %t369, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t372 = icmp eq i32 %t377, 12
+ br i1 %t372, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t373 = getelementptr inbounds i8, ptr %t369, i64 40 ; ->v.typed_ref.type_key
+ %t374 = load ptr, ptr %t373
+ %t375 = icmp eq ptr %t374, @sc_cs_864190948149583
+ br i1 %t375, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t378 = getelementptr inbounds i8, ptr %t369, i64 16 ; ->v.typed_ref.ptr
+ %t379 = load ptr, ptr %t378
+ %t380 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t379)
+ store ptr %t380, ptr %s370
+ br label %dc.done148
+dc.checked147:
+ %t381 = call ptr @sc_dc_103(ptr %t369, ptr null)
+ store ptr %t381, ptr %s370
+ %t382 = load i32, ptr %exc.cell
+ %t383 = icmp ne i32 %t382, 0
+ %t384 = call i1 @llvm.expect.i1(i1 %t383, i1 false)
+ br i1 %t384, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t369)
+ br label %exc.cleanup30
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t385 = load ptr, ptr %s370
+ %t386 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_480(ptr %t365, ptr %t366, ptr %t367, ptr %t385, ptr %t386)
+ %t387 = load i32, ptr %exc.cell
+ %t388 = icmp ne i32 %t387, 0
+ %t389 = call i1 @llvm.expect.i1(i1 %t388, i1 false)
+ br i1 %t389, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t369)
+ call void @sc_release__x25_m11_StaticServer(ptr %t385)
+ br label %exc.cleanup30
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t369)
+ call void @sc_release__x25_m11_StaticServer(ptr %t385)
+ %t390 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t390)
+ %t391 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t391)
+ ret void
+if.j143:
+ %t392 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s393
+ %t394 = icmp ne ptr %t392, null
+ br i1 %t394, label %brand.inspect153, label %brand.done155
+brand.inspect153:
+ %t395 = getelementptr inbounds i8, ptr %t392, i64 8 ; ->kind
+ %t396 = load i32, ptr %t395
+ %t397 = icmp eq i32 %t396, 12
+ br i1 %t397, label %brand.capsule154, label %brand.done155
+brand.capsule154:
+ %t398 = getelementptr inbounds i8, ptr %t392, i64 40 ; ->v.typed_ref.type_key
+ %t399 = load ptr, ptr %t398
+ %t400 = icmp eq ptr %t399, @sc_cs_4408523527888294
+ store i1 true, ptr %s393
+ br i1 %t400, label %brand.done155, label %brand.compare156
+brand.compare156:
+ %t401 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t392, ptr @sc_lit_4408523527888294)
+ store i1 %t401, ptr %s393
+ br label %brand.done155
+brand.done155:
+ %t402 = load i1, ptr %s393
+ br i1 %t402, label %if.t157, label %if.j158
+if.t157:
+ %t403 = load ptr, ptr %sc_l_p_0
+ %t404 = load ptr, ptr %sc_l_p_key
+ %t405 = load ptr, ptr %sc_l_p_1
+ %t406 = load ptr, ptr %sc_l_p_0
+ %t407 = call ptr @sc_rc_retain_dyn(ptr %t406)
+ %t409 = icmp ne ptr %t407, null
+ br i1 %t409, label %dc.inspect159, label %dc.checked162
+dc.inspect159:
+ %t414 = getelementptr inbounds i8, ptr %t407, i64 8 ; ->kind
+ %t415 = load i32, ptr %t414
+ %t410 = icmp eq i32 %t415, 12
+ br i1 %t410, label %dc.capsule160, label %dc.checked162
+dc.capsule160:
+ %t411 = getelementptr inbounds i8, ptr %t407, i64 40 ; ->v.typed_ref.type_key
+ %t412 = load ptr, ptr %t411
+ %t413 = icmp eq ptr %t412, @sc_cs_4408523527888294
+ br i1 %t413, label %dc.exact161, label %dc.checked162
+dc.exact161:
+ %t416 = getelementptr inbounds i8, ptr %t407, i64 16 ; ->v.typed_ref.ptr
+ %t417 = load ptr, ptr %t416
+ %t418 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t417)
+ store ptr %t418, ptr %s408
+ br label %dc.done163
+dc.checked162:
+ %t419 = call ptr @sc_dc_21(ptr %t407, ptr null)
+ store ptr %t419, ptr %s408
+ %t420 = load i32, ptr %exc.cell
+ %t421 = icmp ne i32 %t420, 0
+ %t422 = call i1 @llvm.expect.i1(i1 %t421, i1 false)
+ br i1 %t422, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t407)
+ br label %exc.cleanup30
+exc.k165:
+ br label %dc.done163
+dc.done163:
+ %t423 = load ptr, ptr %s408
+ %t424 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_479(ptr %t403, ptr %t404, ptr %t405, ptr %t423, ptr %t424)
+ %t425 = load i32, ptr %exc.cell
+ %t426 = icmp ne i32 %t425, 0
+ %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false)
+ br i1 %t427, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t407)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t423)
+ br label %exc.cleanup30
+exc.k167:
+ call void @sc_rc_release_dyn(ptr %t407)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t423)
+ %t428 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t428)
+ %t429 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t429)
+ ret void
+if.j158:
+ %t430 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s431
+ %t432 = icmp ne ptr %t430, null
+ br i1 %t432, label %brand.inspect168, label %brand.done170
+brand.inspect168:
+ %t433 = getelementptr inbounds i8, ptr %t430, i64 8 ; ->kind
+ %t434 = load i32, ptr %t433
+ %t435 = icmp eq i32 %t434, 12
+ br i1 %t435, label %brand.capsule169, label %brand.done170
+brand.capsule169:
+ %t436 = getelementptr inbounds i8, ptr %t430, i64 40 ; ->v.typed_ref.type_key
+ %t437 = load ptr, ptr %t436
+ %t438 = icmp eq ptr %t437, @sc_cs_3163508115280491
+ store i1 true, ptr %s431
+ br i1 %t438, label %brand.done170, label %brand.compare171
+brand.compare171:
+ %t439 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t430, ptr @sc_lit_3163508115280491)
+ store i1 %t439, ptr %s431
+ br label %brand.done170
+brand.done170:
+ %t440 = load i1, ptr %s431
+ br i1 %t440, label %if.t172, label %if.j173
+if.t172:
+ %t441 = load ptr, ptr %sc_l_p_0
+ %t442 = load ptr, ptr %sc_l_p_key
+ %t443 = load ptr, ptr %sc_l_p_1
+ %t444 = load ptr, ptr %sc_l_p_0
+ %t445 = call ptr @sc_rc_retain_dyn(ptr %t444)
+ %t447 = icmp ne ptr %t445, null
+ br i1 %t447, label %dc.inspect174, label %dc.checked177
+dc.inspect174:
+ %t452 = getelementptr inbounds i8, ptr %t445, i64 8 ; ->kind
+ %t453 = load i32, ptr %t452
+ %t448 = icmp eq i32 %t453, 12
+ br i1 %t448, label %dc.capsule175, label %dc.checked177
+dc.capsule175:
+ %t449 = getelementptr inbounds i8, ptr %t445, i64 40 ; ->v.typed_ref.type_key
+ %t450 = load ptr, ptr %t449
+ %t451 = icmp eq ptr %t450, @sc_cs_3163508115280491
+ br i1 %t451, label %dc.exact176, label %dc.checked177
+dc.exact176:
+ %t454 = getelementptr inbounds i8, ptr %t445, i64 16 ; ->v.typed_ref.ptr
+ %t455 = load ptr, ptr %t454
+ %t456 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t455)
+ store ptr %t456, ptr %s446
+ br label %dc.done178
+dc.checked177:
+ %t457 = call ptr @sc_dc_105(ptr %t445, ptr null)
+ store ptr %t457, ptr %s446
+ %t458 = load i32, ptr %exc.cell
+ %t459 = icmp ne i32 %t458, 0
+ %t460 = call i1 @llvm.expect.i1(i1 %t459, i1 false)
+ br i1 %t460, label %exc.u179, label %exc.k180
+exc.u179:
+ call void @sc_rc_release_dyn(ptr %t445)
+ br label %exc.cleanup30
+exc.k180:
+ br label %dc.done178
+dc.done178:
+ %t461 = load ptr, ptr %s446
+ %t462 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_478(ptr %t441, ptr %t442, ptr %t443, ptr %t461, ptr %t462)
+ %t463 = load i32, ptr %exc.cell
+ %t464 = icmp ne i32 %t463, 0
+ %t465 = call i1 @llvm.expect.i1(i1 %t464, i1 false)
+ br i1 %t465, label %exc.u181, label %exc.k182
+exc.u181:
+ call void @sc_rc_release_dyn(ptr %t445)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t461)
+ br label %exc.cleanup30
+exc.k182:
+ call void @sc_rc_release_dyn(ptr %t445)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t461)
+ %t466 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t466)
+ %t467 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t467)
+ ret void
+if.j173:
+ %t468 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s469
+ %t470 = icmp ne ptr %t468, null
+ br i1 %t470, label %brand.inspect183, label %brand.done185
+brand.inspect183:
+ %t471 = getelementptr inbounds i8, ptr %t468, i64 8 ; ->kind
+ %t472 = load i32, ptr %t471
+ %t473 = icmp eq i32 %t472, 12
+ br i1 %t473, label %brand.capsule184, label %brand.done185
+brand.capsule184:
+ %t474 = getelementptr inbounds i8, ptr %t468, i64 40 ; ->v.typed_ref.type_key
+ %t475 = load ptr, ptr %t474
+ %t476 = icmp eq ptr %t475, @sc_cs_1875086966829314
+ store i1 true, ptr %s469
+ br i1 %t476, label %brand.done185, label %brand.compare186
+brand.compare186:
+ %t477 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t468, ptr @sc_lit_1875086966829314)
+ store i1 %t477, ptr %s469
+ br label %brand.done185
+brand.done185:
+ %t478 = load i1, ptr %s469
+ br i1 %t478, label %if.t187, label %if.j188
+if.t187:
+ %t479 = load ptr, ptr %sc_l_p_0
+ %t480 = load ptr, ptr %sc_l_p_key
+ %t481 = load ptr, ptr %sc_l_p_1
+ %t482 = load ptr, ptr %sc_l_p_0
+ %t483 = call ptr @sc_rc_retain_dyn(ptr %t482)
+ %t485 = icmp ne ptr %t483, null
+ br i1 %t485, label %dc.inspect189, label %dc.checked192
+dc.inspect189:
+ %t490 = getelementptr inbounds i8, ptr %t483, i64 8 ; ->kind
+ %t491 = load i32, ptr %t490
+ %t486 = icmp eq i32 %t491, 12
+ br i1 %t486, label %dc.capsule190, label %dc.checked192
+dc.capsule190:
+ %t487 = getelementptr inbounds i8, ptr %t483, i64 40 ; ->v.typed_ref.type_key
+ %t488 = load ptr, ptr %t487
+ %t489 = icmp eq ptr %t488, @sc_cs_1875086966829314
+ br i1 %t489, label %dc.exact191, label %dc.checked192
+dc.exact191:
+ %t492 = getelementptr inbounds i8, ptr %t483, i64 16 ; ->v.typed_ref.ptr
+ %t493 = load ptr, ptr %t492
+ %t494 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t493)
+ store ptr %t494, ptr %s484
+ br label %dc.done193
+dc.checked192:
+ %t495 = call ptr @sc_dc_106(ptr %t483, ptr null)
+ store ptr %t495, ptr %s484
+ %t496 = load i32, ptr %exc.cell
+ %t497 = icmp ne i32 %t496, 0
+ %t498 = call i1 @llvm.expect.i1(i1 %t497, i1 false)
+ br i1 %t498, label %exc.u194, label %exc.k195
+exc.u194:
+ call void @sc_rc_release_dyn(ptr %t483)
+ br label %exc.cleanup30
+exc.k195:
+ br label %dc.done193
+dc.done193:
+ %t499 = load ptr, ptr %s484
+ %t500 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_477(ptr %t479, ptr %t480, ptr %t481, ptr %t499, ptr %t500)
+ %t501 = load i32, ptr %exc.cell
+ %t502 = icmp ne i32 %t501, 0
+ %t503 = call i1 @llvm.expect.i1(i1 %t502, i1 false)
+ br i1 %t503, label %exc.u196, label %exc.k197
+exc.u196:
+ call void @sc_rc_release_dyn(ptr %t483)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t499)
+ br label %exc.cleanup30
+exc.k197:
+ call void @sc_rc_release_dyn(ptr %t483)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t499)
+ %t504 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t504)
+ %t505 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t505)
+ ret void
+if.j188:
+ %t506 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s507
+ %t508 = icmp ne ptr %t506, null
+ br i1 %t508, label %brand.inspect198, label %brand.done200
+brand.inspect198:
+ %t509 = getelementptr inbounds i8, ptr %t506, i64 8 ; ->kind
+ %t510 = load i32, ptr %t509
+ %t511 = icmp eq i32 %t510, 12
+ br i1 %t511, label %brand.capsule199, label %brand.done200
+brand.capsule199:
+ %t512 = getelementptr inbounds i8, ptr %t506, i64 40 ; ->v.typed_ref.type_key
+ %t513 = load ptr, ptr %t512
+ %t514 = icmp eq ptr %t513, @sc_cs_67546268704151
+ store i1 true, ptr %s507
+ br i1 %t514, label %brand.done200, label %brand.compare201
+brand.compare201:
+ %t515 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t506, ptr @sc_lit_67546268704151)
+ store i1 %t515, ptr %s507
+ br label %brand.done200
+brand.done200:
+ %t516 = load i1, ptr %s507
+ br i1 %t516, label %if.t202, label %if.j203
+if.t202:
+ %t517 = load ptr, ptr %sc_l_p_0
+ %t518 = load ptr, ptr %sc_l_p_key
+ %t519 = load ptr, ptr %sc_l_p_1
+ %t520 = load ptr, ptr %sc_l_p_0
+ %t521 = call ptr @sc_rc_retain_dyn(ptr %t520)
+ %t523 = icmp ne ptr %t521, null
+ br i1 %t523, label %dc.inspect204, label %dc.checked207
+dc.inspect204:
+ %t528 = getelementptr inbounds i8, ptr %t521, i64 8 ; ->kind
+ %t529 = load i32, ptr %t528
+ %t524 = icmp eq i32 %t529, 12
+ br i1 %t524, label %dc.capsule205, label %dc.checked207
+dc.capsule205:
+ %t525 = getelementptr inbounds i8, ptr %t521, i64 40 ; ->v.typed_ref.type_key
+ %t526 = load ptr, ptr %t525
+ %t527 = icmp eq ptr %t526, @sc_cs_67546268704151
+ br i1 %t527, label %dc.exact206, label %dc.checked207
+dc.exact206:
+ %t530 = getelementptr inbounds i8, ptr %t521, i64 16 ; ->v.typed_ref.ptr
+ %t531 = load ptr, ptr %t530
+ %t532 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t531)
+ store ptr %t532, ptr %s522
+ br label %dc.done208
+dc.checked207:
+ %t533 = call ptr @sc_dc_107(ptr %t521, ptr null)
+ store ptr %t533, ptr %s522
+ %t534 = load i32, ptr %exc.cell
+ %t535 = icmp ne i32 %t534, 0
+ %t536 = call i1 @llvm.expect.i1(i1 %t535, i1 false)
+ br i1 %t536, label %exc.u209, label %exc.k210
+exc.u209:
+ call void @sc_rc_release_dyn(ptr %t521)
+ br label %exc.cleanup30
+exc.k210:
+ br label %dc.done208
+dc.done208:
+ %t537 = load ptr, ptr %s522
+ %t538 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_475(ptr %t517, ptr %t518, ptr %t519, ptr %t537, ptr %t538)
+ %t539 = load i32, ptr %exc.cell
+ %t540 = icmp ne i32 %t539, 0
+ %t541 = call i1 @llvm.expect.i1(i1 %t540, i1 false)
+ br i1 %t541, label %exc.u211, label %exc.k212
+exc.u211:
+ call void @sc_rc_release_dyn(ptr %t521)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t537)
+ br label %exc.cleanup30
+exc.k212:
+ call void @sc_rc_release_dyn(ptr %t521)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t537)
+ %t542 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t542)
+ %t543 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t543)
+ ret void
+if.j203:
+ %t544 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s545
+ %t546 = icmp ne ptr %t544, null
+ br i1 %t546, label %brand.inspect213, label %brand.done215
+brand.inspect213:
+ %t547 = getelementptr inbounds i8, ptr %t544, i64 8 ; ->kind
+ %t548 = load i32, ptr %t547
+ %t549 = icmp eq i32 %t548, 12
+ br i1 %t549, label %brand.capsule214, label %brand.done215
+brand.capsule214:
+ %t550 = getelementptr inbounds i8, ptr %t544, i64 40 ; ->v.typed_ref.type_key
+ %t551 = load ptr, ptr %t550
+ %t552 = icmp eq ptr %t551, @sc_cs_2519527309428716
+ store i1 true, ptr %s545
+ br i1 %t552, label %brand.done215, label %brand.compare216
+brand.compare216:
+ %t553 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t544, ptr @sc_lit_2519527309428716)
+ store i1 %t553, ptr %s545
+ br label %brand.done215
+brand.done215:
+ %t554 = load i1, ptr %s545
+ br i1 %t554, label %if.t217, label %if.j218
+if.t217:
+ %t555 = load ptr, ptr %sc_l_p_0
+ %t556 = load ptr, ptr %sc_l_p_key
+ %t557 = load ptr, ptr %sc_l_p_1
+ %t558 = load ptr, ptr %sc_l_p_0
+ %t559 = call ptr @sc_rc_retain_dyn(ptr %t558)
+ %t561 = icmp ne ptr %t559, null
+ br i1 %t561, label %dc.inspect219, label %dc.checked222
+dc.inspect219:
+ %t566 = getelementptr inbounds i8, ptr %t559, i64 8 ; ->kind
+ %t567 = load i32, ptr %t566
+ %t562 = icmp eq i32 %t567, 12
+ br i1 %t562, label %dc.capsule220, label %dc.checked222
+dc.capsule220:
+ %t563 = getelementptr inbounds i8, ptr %t559, i64 40 ; ->v.typed_ref.type_key
+ %t564 = load ptr, ptr %t563
+ %t565 = icmp eq ptr %t564, @sc_cs_2519527309428716
+ br i1 %t565, label %dc.exact221, label %dc.checked222
+dc.exact221:
+ %t568 = getelementptr inbounds i8, ptr %t559, i64 16 ; ->v.typed_ref.ptr
+ %t569 = load ptr, ptr %t568
+ %t570 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t569)
+ store ptr %t570, ptr %s560
+ br label %dc.done223
+dc.checked222:
+ %t571 = call ptr @sc_dc_108(ptr %t559, ptr null)
+ store ptr %t571, ptr %s560
+ %t572 = load i32, ptr %exc.cell
+ %t573 = icmp ne i32 %t572, 0
+ %t574 = call i1 @llvm.expect.i1(i1 %t573, i1 false)
+ br i1 %t574, label %exc.u224, label %exc.k225
+exc.u224:
+ call void @sc_rc_release_dyn(ptr %t559)
+ br label %exc.cleanup30
+exc.k225:
+ br label %dc.done223
+dc.done223:
+ %t575 = load ptr, ptr %s560
+ %t576 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_474(ptr %t555, ptr %t556, ptr %t557, ptr %t575, ptr %t576)
+ %t577 = load i32, ptr %exc.cell
+ %t578 = icmp ne i32 %t577, 0
+ %t579 = call i1 @llvm.expect.i1(i1 %t578, i1 false)
+ br i1 %t579, label %exc.u226, label %exc.k227
+exc.u226:
+ call void @sc_rc_release_dyn(ptr %t559)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t575)
+ br label %exc.cleanup30
+exc.k227:
+ call void @sc_rc_release_dyn(ptr %t559)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t575)
+ %t580 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t580)
+ %t581 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t581)
+ ret void
+if.j218:
+ %t582 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s583
+ %t584 = icmp ne ptr %t582, null
+ br i1 %t584, label %brand.inspect228, label %brand.done230
+brand.inspect228:
+ %t585 = getelementptr inbounds i8, ptr %t582, i64 8 ; ->kind
+ %t586 = load i32, ptr %t585
+ %t587 = icmp eq i32 %t586, 12
+ br i1 %t587, label %brand.capsule229, label %brand.done230
+brand.capsule229:
+ %t588 = getelementptr inbounds i8, ptr %t582, i64 40 ; ->v.typed_ref.type_key
+ %t589 = load ptr, ptr %t588
+ %t590 = icmp eq ptr %t589, @sc_cs_4074974279575818
+ store i1 true, ptr %s583
+ br i1 %t590, label %brand.done230, label %brand.compare231
+brand.compare231:
+ %t591 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t582, ptr @sc_lit_4074974279575818)
+ store i1 %t591, ptr %s583
+ br label %brand.done230
+brand.done230:
+ %t592 = load i1, ptr %s583
+ br i1 %t592, label %if.t232, label %if.j233
+if.t232:
+ %t593 = load ptr, ptr %sc_l_p_0
+ %t594 = load ptr, ptr %sc_l_p_key
+ %t595 = load ptr, ptr %sc_l_p_1
+ %t596 = load ptr, ptr %sc_l_p_0
+ %t597 = call ptr @sc_rc_retain_dyn(ptr %t596)
+ %t599 = icmp ne ptr %t597, null
+ br i1 %t599, label %dc.inspect234, label %dc.checked237
+dc.inspect234:
+ %t604 = getelementptr inbounds i8, ptr %t597, i64 8 ; ->kind
+ %t605 = load i32, ptr %t604
+ %t600 = icmp eq i32 %t605, 12
+ br i1 %t600, label %dc.capsule235, label %dc.checked237
+dc.capsule235:
+ %t601 = getelementptr inbounds i8, ptr %t597, i64 40 ; ->v.typed_ref.type_key
+ %t602 = load ptr, ptr %t601
+ %t603 = icmp eq ptr %t602, @sc_cs_4074974279575818
+ br i1 %t603, label %dc.exact236, label %dc.checked237
+dc.exact236:
+ %t606 = getelementptr inbounds i8, ptr %t597, i64 16 ; ->v.typed_ref.ptr
+ %t607 = load ptr, ptr %t606
+ %t608 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t607)
+ store ptr %t608, ptr %s598
+ br label %dc.done238
+dc.checked237:
+ %t609 = call ptr @sc_dc_104(ptr %t597, ptr null)
+ store ptr %t609, ptr %s598
+ %t610 = load i32, ptr %exc.cell
+ %t611 = icmp ne i32 %t610, 0
+ %t612 = call i1 @llvm.expect.i1(i1 %t611, i1 false)
+ br i1 %t612, label %exc.u239, label %exc.k240
+exc.u239:
+ call void @sc_rc_release_dyn(ptr %t597)
+ br label %exc.cleanup30
+exc.k240:
+ br label %dc.done238
+dc.done238:
+ %t613 = load ptr, ptr %s598
+ %t614 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_473(ptr %t593, ptr %t594, ptr %t595, ptr %t613, ptr %t614)
+ %t615 = load i32, ptr %exc.cell
+ %t616 = icmp ne i32 %t615, 0
+ %t617 = call i1 @llvm.expect.i1(i1 %t616, i1 false)
+ br i1 %t617, label %exc.u241, label %exc.k242
+exc.u241:
+ call void @sc_rc_release_dyn(ptr %t597)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t613)
+ br label %exc.cleanup30
+exc.k242:
+ call void @sc_rc_release_dyn(ptr %t597)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t613)
+ %t618 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t618)
+ %t619 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t619)
+ ret void
+if.j233:
+ %t620 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s621
+ %t622 = icmp ne ptr %t620, null
+ br i1 %t622, label %brand.inspect243, label %brand.done245
+brand.inspect243:
+ %t623 = getelementptr inbounds i8, ptr %t620, i64 8 ; ->kind
+ %t624 = load i32, ptr %t623
+ %t625 = icmp eq i32 %t624, 12
+ br i1 %t625, label %brand.capsule244, label %brand.done245
+brand.capsule244:
+ %t626 = getelementptr inbounds i8, ptr %t620, i64 40 ; ->v.typed_ref.type_key
+ %t627 = load ptr, ptr %t626
+ %t628 = icmp eq ptr %t627, @sc_cs_2434838942941195
+ store i1 true, ptr %s621
+ br i1 %t628, label %brand.done245, label %brand.compare246
+brand.compare246:
+ %t629 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t620, ptr @sc_lit_2434838942941195)
+ store i1 %t629, ptr %s621
+ br label %brand.done245
+brand.done245:
+ %t630 = load i1, ptr %s621
+ br i1 %t630, label %if.t247, label %if.j248
+if.t247:
+ %t631 = load ptr, ptr %sc_l_p_0
+ %t632 = load ptr, ptr %sc_l_p_key
+ %t633 = load ptr, ptr %sc_l_p_1
+ %t634 = load ptr, ptr %sc_l_p_0
+ %t635 = call ptr @sc_rc_retain_dyn(ptr %t634)
+ %t637 = icmp ne ptr %t635, null
+ br i1 %t637, label %dc.inspect249, label %dc.checked252
+dc.inspect249:
+ %t642 = getelementptr inbounds i8, ptr %t635, i64 8 ; ->kind
+ %t643 = load i32, ptr %t642
+ %t638 = icmp eq i32 %t643, 12
+ br i1 %t638, label %dc.capsule250, label %dc.checked252
+dc.capsule250:
+ %t639 = getelementptr inbounds i8, ptr %t635, i64 40 ; ->v.typed_ref.type_key
+ %t640 = load ptr, ptr %t639
+ %t641 = icmp eq ptr %t640, @sc_cs_2434838942941195
+ br i1 %t641, label %dc.exact251, label %dc.checked252
+dc.exact251:
+ %t644 = getelementptr inbounds i8, ptr %t635, i64 16 ; ->v.typed_ref.ptr
+ %t645 = load ptr, ptr %t644
+ %t646 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t645)
+ store ptr %t646, ptr %s636
+ br label %dc.done253
+dc.checked252:
+ %t647 = call ptr @sc_dc_52(ptr %t635, ptr null)
+ store ptr %t647, ptr %s636
+ %t648 = load i32, ptr %exc.cell
+ %t649 = icmp ne i32 %t648, 0
+ %t650 = call i1 @llvm.expect.i1(i1 %t649, i1 false)
+ br i1 %t650, label %exc.u254, label %exc.k255
+exc.u254:
+ call void @sc_rc_release_dyn(ptr %t635)
+ br label %exc.cleanup30
+exc.k255:
+ br label %dc.done253
+dc.done253:
+ %t651 = load ptr, ptr %s636
+ %t652 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_472(ptr %t631, ptr %t632, ptr %t633, ptr %t651, ptr %t652)
+ %t653 = load i32, ptr %exc.cell
+ %t654 = icmp ne i32 %t653, 0
+ %t655 = call i1 @llvm.expect.i1(i1 %t654, i1 false)
+ br i1 %t655, label %exc.u256, label %exc.k257
+exc.u256:
+ call void @sc_rc_release_dyn(ptr %t635)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t651)
+ br label %exc.cleanup30
+exc.k257:
+ call void @sc_rc_release_dyn(ptr %t635)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t651)
+ %t656 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t656)
+ %t657 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t657)
+ ret void
+if.j248:
+ %t658 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s659
+ %t660 = icmp ne ptr %t658, null
+ br i1 %t660, label %brand.inspect258, label %brand.done260
+brand.inspect258:
+ %t661 = getelementptr inbounds i8, ptr %t658, i64 8 ; ->kind
+ %t662 = load i32, ptr %t661
+ %t663 = icmp eq i32 %t662, 12
+ br i1 %t663, label %brand.capsule259, label %brand.done260
+brand.capsule259:
+ %t664 = getelementptr inbounds i8, ptr %t658, i64 40 ; ->v.typed_ref.type_key
+ %t665 = load ptr, ptr %t664
+ %t666 = icmp eq ptr %t665, @sc_cs_3326437563644705
+ store i1 true, ptr %s659
+ br i1 %t666, label %brand.done260, label %brand.compare261
+brand.compare261:
+ %t667 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t658, ptr @sc_lit_3326437563644705)
+ store i1 %t667, ptr %s659
+ br label %brand.done260
+brand.done260:
+ %t668 = load i1, ptr %s659
+ br i1 %t668, label %if.t262, label %if.j263
+if.t262:
+ %t669 = load ptr, ptr %sc_l_p_0
+ %t670 = load ptr, ptr %sc_l_p_key
+ %t671 = load ptr, ptr %sc_l_p_1
+ %t672 = load ptr, ptr %sc_l_p_0
+ %t673 = call ptr @sc_rc_retain_dyn(ptr %t672)
+ %t675 = icmp ne ptr %t673, null
+ br i1 %t675, label %dc.inspect264, label %dc.checked267
+dc.inspect264:
+ %t680 = getelementptr inbounds i8, ptr %t673, i64 8 ; ->kind
+ %t681 = load i32, ptr %t680
+ %t676 = icmp eq i32 %t681, 12
+ br i1 %t676, label %dc.capsule265, label %dc.checked267
+dc.capsule265:
+ %t677 = getelementptr inbounds i8, ptr %t673, i64 40 ; ->v.typed_ref.type_key
+ %t678 = load ptr, ptr %t677
+ %t679 = icmp eq ptr %t678, @sc_cs_3326437563644705
+ br i1 %t679, label %dc.exact266, label %dc.checked267
+dc.exact266:
+ %t682 = getelementptr inbounds i8, ptr %t673, i64 16 ; ->v.typed_ref.ptr
+ %t683 = load ptr, ptr %t682
+ %t684 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t683)
+ store ptr %t684, ptr %s674
+ br label %dc.done268
+dc.checked267:
+ %t685 = call ptr @sc_dc_102(ptr %t673, ptr null)
+ store ptr %t685, ptr %s674
+ %t686 = load i32, ptr %exc.cell
+ %t687 = icmp ne i32 %t686, 0
+ %t688 = call i1 @llvm.expect.i1(i1 %t687, i1 false)
+ br i1 %t688, label %exc.u269, label %exc.k270
+exc.u269:
+ call void @sc_rc_release_dyn(ptr %t673)
+ br label %exc.cleanup30
+exc.k270:
+ br label %dc.done268
+dc.done268:
+ %t689 = load ptr, ptr %s674
+ %t690 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_471(ptr %t669, ptr %t670, ptr %t671, ptr %t689, ptr %t690)
+ %t691 = load i32, ptr %exc.cell
+ %t692 = icmp ne i32 %t691, 0
+ %t693 = call i1 @llvm.expect.i1(i1 %t692, i1 false)
+ br i1 %t693, label %exc.u271, label %exc.k272
+exc.u271:
+ call void @sc_rc_release_dyn(ptr %t673)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t689)
+ br label %exc.cleanup30
+exc.k272:
+ call void @sc_rc_release_dyn(ptr %t673)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t689)
+ %t694 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t694)
+ %t695 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t695)
+ ret void
+if.j263:
+ %t696 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s697
+ %t698 = icmp ne ptr %t696, null
+ br i1 %t698, label %brand.inspect273, label %brand.done275
+brand.inspect273:
+ %t699 = getelementptr inbounds i8, ptr %t696, i64 8 ; ->kind
+ %t700 = load i32, ptr %t699
+ %t701 = icmp eq i32 %t700, 12
+ br i1 %t701, label %brand.capsule274, label %brand.done275
+brand.capsule274:
+ %t702 = getelementptr inbounds i8, ptr %t696, i64 40 ; ->v.typed_ref.type_key
+ %t703 = load ptr, ptr %t702
+ %t704 = icmp eq ptr %t703, @sc_cs_629517122853751
+ store i1 true, ptr %s697
+ br i1 %t704, label %brand.done275, label %brand.compare276
+brand.compare276:
+ %t705 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t696, ptr @sc_lit_629517122853751)
+ store i1 %t705, ptr %s697
+ br label %brand.done275
+brand.done275:
+ %t706 = load i1, ptr %s697
+ br i1 %t706, label %if.t277, label %if.j278
+if.t277:
+ %t707 = load ptr, ptr %sc_l_p_0
+ %t708 = load ptr, ptr %sc_l_p_key
+ %t709 = load ptr, ptr %sc_l_p_1
+ %t710 = load ptr, ptr %sc_l_p_0
+ %t711 = call ptr @sc_rc_retain_dyn(ptr %t710)
+ %t713 = icmp ne ptr %t711, null
+ br i1 %t713, label %dc.inspect279, label %dc.checked282
+dc.inspect279:
+ %t718 = getelementptr inbounds i8, ptr %t711, i64 8 ; ->kind
+ %t719 = load i32, ptr %t718
+ %t714 = icmp eq i32 %t719, 12
+ br i1 %t714, label %dc.capsule280, label %dc.checked282
+dc.capsule280:
+ %t715 = getelementptr inbounds i8, ptr %t711, i64 40 ; ->v.typed_ref.type_key
+ %t716 = load ptr, ptr %t715
+ %t717 = icmp eq ptr %t716, @sc_cs_629517122853751
+ br i1 %t717, label %dc.exact281, label %dc.checked282
+dc.exact281:
+ %t720 = getelementptr inbounds i8, ptr %t711, i64 16 ; ->v.typed_ref.ptr
+ %t721 = load ptr, ptr %t720
+ %t722 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t721)
+ store ptr %t722, ptr %s712
+ br label %dc.done283
+dc.checked282:
+ %t723 = call ptr @sc_dc_29(ptr %t711, ptr null)
+ store ptr %t723, ptr %s712
+ %t724 = load i32, ptr %exc.cell
+ %t725 = icmp ne i32 %t724, 0
+ %t726 = call i1 @llvm.expect.i1(i1 %t725, i1 false)
+ br i1 %t726, label %exc.u284, label %exc.k285
+exc.u284:
+ call void @sc_rc_release_dyn(ptr %t711)
+ br label %exc.cleanup30
+exc.k285:
+ br label %dc.done283
+dc.done283:
+ %t727 = load ptr, ptr %s712
+ %t728 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_470(ptr %t707, ptr %t708, ptr %t709, ptr %t727, ptr %t728)
+ %t729 = load i32, ptr %exc.cell
+ %t730 = icmp ne i32 %t729, 0
+ %t731 = call i1 @llvm.expect.i1(i1 %t730, i1 false)
+ br i1 %t731, label %exc.u286, label %exc.k287
+exc.u286:
+ call void @sc_rc_release_dyn(ptr %t711)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t727)
+ br label %exc.cleanup30
+exc.k287:
+ call void @sc_rc_release_dyn(ptr %t711)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t727)
+ %t732 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t732)
+ %t733 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t733)
+ ret void
+if.j278:
+ %t734 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s735
+ %t736 = icmp ne ptr %t734, null
+ br i1 %t736, label %brand.inspect288, label %brand.done290
+brand.inspect288:
+ %t737 = getelementptr inbounds i8, ptr %t734, i64 8 ; ->kind
+ %t738 = load i32, ptr %t737
+ %t739 = icmp eq i32 %t738, 12
+ br i1 %t739, label %brand.capsule289, label %brand.done290
+brand.capsule289:
+ %t740 = getelementptr inbounds i8, ptr %t734, i64 40 ; ->v.typed_ref.type_key
+ %t741 = load ptr, ptr %t740
+ %t742 = icmp eq ptr %t741, @sc_cs_660811353369478
+ store i1 true, ptr %s735
+ br i1 %t742, label %brand.done290, label %brand.compare291
+brand.compare291:
+ %t743 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t734, ptr @sc_lit_660811353369478)
+ store i1 %t743, ptr %s735
+ br label %brand.done290
+brand.done290:
+ %t744 = load i1, ptr %s735
+ br i1 %t744, label %if.t292, label %if.j293
+if.t292:
+ %t745 = load ptr, ptr %sc_l_p_0
+ %t746 = load ptr, ptr %sc_l_p_key
+ %t747 = load ptr, ptr %sc_l_p_1
+ %t748 = load ptr, ptr %sc_l_p_0
+ %t749 = call ptr @sc_rc_retain_dyn(ptr %t748)
+ %t751 = icmp ne ptr %t749, null
+ br i1 %t751, label %dc.inspect294, label %dc.checked297
+dc.inspect294:
+ %t756 = getelementptr inbounds i8, ptr %t749, i64 8 ; ->kind
+ %t757 = load i32, ptr %t756
+ %t752 = icmp eq i32 %t757, 12
+ br i1 %t752, label %dc.capsule295, label %dc.checked297
+dc.capsule295:
+ %t753 = getelementptr inbounds i8, ptr %t749, i64 40 ; ->v.typed_ref.type_key
+ %t754 = load ptr, ptr %t753
+ %t755 = icmp eq ptr %t754, @sc_cs_660811353369478
+ br i1 %t755, label %dc.exact296, label %dc.checked297
+dc.exact296:
+ %t758 = getelementptr inbounds i8, ptr %t749, i64 16 ; ->v.typed_ref.ptr
+ %t759 = load ptr, ptr %t758
+ %t760 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t759)
+ store ptr %t760, ptr %s750
+ br label %dc.done298
+dc.checked297:
+ %t761 = call ptr @sc_dc_28(ptr %t749, ptr null)
+ store ptr %t761, ptr %s750
+ %t762 = load i32, ptr %exc.cell
+ %t763 = icmp ne i32 %t762, 0
+ %t764 = call i1 @llvm.expect.i1(i1 %t763, i1 false)
+ br i1 %t764, label %exc.u299, label %exc.k300
+exc.u299:
+ call void @sc_rc_release_dyn(ptr %t749)
+ br label %exc.cleanup30
+exc.k300:
+ br label %dc.done298
+dc.done298:
+ %t765 = load ptr, ptr %s750
+ %t766 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_469(ptr %t745, ptr %t746, ptr %t747, ptr %t765, ptr %t766)
+ %t767 = load i32, ptr %exc.cell
+ %t768 = icmp ne i32 %t767, 0
+ %t769 = call i1 @llvm.expect.i1(i1 %t768, i1 false)
+ br i1 %t769, label %exc.u301, label %exc.k302
+exc.u301:
+ call void @sc_rc_release_dyn(ptr %t749)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t765)
+ br label %exc.cleanup30
+exc.k302:
+ call void @sc_rc_release_dyn(ptr %t749)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t765)
+ %t770 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t770)
+ %t771 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t771)
+ ret void
+if.j293:
+ %t772 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s773
+ %t774 = icmp ne ptr %t772, null
+ br i1 %t774, label %brand.inspect303, label %brand.done305
+brand.inspect303:
+ %t775 = getelementptr inbounds i8, ptr %t772, i64 8 ; ->kind
+ %t776 = load i32, ptr %t775
+ %t777 = icmp eq i32 %t776, 12
+ br i1 %t777, label %brand.capsule304, label %brand.done305
+brand.capsule304:
+ %t778 = getelementptr inbounds i8, ptr %t772, i64 40 ; ->v.typed_ref.type_key
+ %t779 = load ptr, ptr %t778
+ %t780 = icmp eq ptr %t779, @sc_cs_4336131790391205
+ store i1 true, ptr %s773
+ br i1 %t780, label %brand.done305, label %brand.compare306
+brand.compare306:
+ %t781 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t772, ptr @sc_lit_4336131790391205)
+ store i1 %t781, ptr %s773
+ br label %brand.done305
+brand.done305:
+ %t782 = load i1, ptr %s773
+ br i1 %t782, label %if.t307, label %if.j308
+if.t307:
+ %t783 = load ptr, ptr %sc_l_p_0
+ %t784 = load ptr, ptr %sc_l_p_key
+ %t785 = load ptr, ptr %sc_l_p_1
+ %t786 = load ptr, ptr %sc_l_p_0
+ %t787 = call ptr @sc_rc_retain_dyn(ptr %t786)
+ %t789 = icmp ne ptr %t787, null
+ br i1 %t789, label %dc.inspect309, label %dc.checked312
+dc.inspect309:
+ %t794 = getelementptr inbounds i8, ptr %t787, i64 8 ; ->kind
+ %t795 = load i32, ptr %t794
+ %t790 = icmp eq i32 %t795, 12
+ br i1 %t790, label %dc.capsule310, label %dc.checked312
+dc.capsule310:
+ %t791 = getelementptr inbounds i8, ptr %t787, i64 40 ; ->v.typed_ref.type_key
+ %t792 = load ptr, ptr %t791
+ %t793 = icmp eq ptr %t792, @sc_cs_4336131790391205
+ br i1 %t793, label %dc.exact311, label %dc.checked312
+dc.exact311:
+ %t796 = getelementptr inbounds i8, ptr %t787, i64 16 ; ->v.typed_ref.ptr
+ %t797 = load ptr, ptr %t796
+ %t798 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t797)
+ store ptr %t798, ptr %s788
+ br label %dc.done313
+dc.checked312:
+ %t799 = call ptr @sc_dc_43(ptr %t787, ptr null)
+ store ptr %t799, ptr %s788
+ %t800 = load i32, ptr %exc.cell
+ %t801 = icmp ne i32 %t800, 0
+ %t802 = call i1 @llvm.expect.i1(i1 %t801, i1 false)
+ br i1 %t802, label %exc.u314, label %exc.k315
+exc.u314:
+ call void @sc_rc_release_dyn(ptr %t787)
+ br label %exc.cleanup30
+exc.k315:
+ br label %dc.done313
+dc.done313:
+ %t803 = load ptr, ptr %s788
+ %t804 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_468(ptr %t783, ptr %t784, ptr %t785, ptr %t803, ptr %t804)
+ %t805 = load i32, ptr %exc.cell
+ %t806 = icmp ne i32 %t805, 0
+ %t807 = call i1 @llvm.expect.i1(i1 %t806, i1 false)
+ br i1 %t807, label %exc.u316, label %exc.k317
+exc.u316:
+ call void @sc_rc_release_dyn(ptr %t787)
+ call void @sc_release__x25_m5_MpCfg(ptr %t803)
+ br label %exc.cleanup30
+exc.k317:
+ call void @sc_rc_release_dyn(ptr %t787)
+ call void @sc_release__x25_m5_MpCfg(ptr %t803)
+ %t808 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t808)
+ %t809 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t809)
+ ret void
+if.j308:
+ %t810 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s811
+ %t812 = icmp ne ptr %t810, null
+ br i1 %t812, label %brand.inspect318, label %brand.done320
+brand.inspect318:
+ %t813 = getelementptr inbounds i8, ptr %t810, i64 8 ; ->kind
+ %t814 = load i32, ptr %t813
+ %t815 = icmp eq i32 %t814, 12
+ br i1 %t815, label %brand.capsule319, label %brand.done320
+brand.capsule319:
+ %t816 = getelementptr inbounds i8, ptr %t810, i64 40 ; ->v.typed_ref.type_key
+ %t817 = load ptr, ptr %t816
+ %t818 = icmp eq ptr %t817, @sc_cs_3456310594719780
+ store i1 true, ptr %s811
+ br i1 %t818, label %brand.done320, label %brand.compare321
+brand.compare321:
+ %t819 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t810, ptr @sc_lit_3456310594719780)
+ store i1 %t819, ptr %s811
+ br label %brand.done320
+brand.done320:
+ %t820 = load i1, ptr %s811
+ br i1 %t820, label %if.t322, label %if.j323
+if.t322:
+ %t821 = load ptr, ptr %sc_l_p_0
+ %t822 = load ptr, ptr %sc_l_p_key
+ %t823 = load ptr, ptr %sc_l_p_1
+ %t824 = load ptr, ptr %sc_l_p_0
+ %t825 = call ptr @sc_rc_retain_dyn(ptr %t824)
+ %t827 = icmp ne ptr %t825, null
+ br i1 %t827, label %dc.inspect324, label %dc.checked327
+dc.inspect324:
+ %t832 = getelementptr inbounds i8, ptr %t825, i64 8 ; ->kind
+ %t833 = load i32, ptr %t832
+ %t828 = icmp eq i32 %t833, 12
+ br i1 %t828, label %dc.capsule325, label %dc.checked327
+dc.capsule325:
+ %t829 = getelementptr inbounds i8, ptr %t825, i64 40 ; ->v.typed_ref.type_key
+ %t830 = load ptr, ptr %t829
+ %t831 = icmp eq ptr %t830, @sc_cs_3456310594719780
+ br i1 %t831, label %dc.exact326, label %dc.checked327
+dc.exact326:
+ %t834 = getelementptr inbounds i8, ptr %t825, i64 16 ; ->v.typed_ref.ptr
+ %t835 = load ptr, ptr %t834
+ %t836 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t835)
+ store ptr %t836, ptr %s826
+ br label %dc.done328
+dc.checked327:
+ %t837 = call ptr @sc_dc_99(ptr %t825, ptr null)
+ store ptr %t837, ptr %s826
+ %t838 = load i32, ptr %exc.cell
+ %t839 = icmp ne i32 %t838, 0
+ %t840 = call i1 @llvm.expect.i1(i1 %t839, i1 false)
+ br i1 %t840, label %exc.u329, label %exc.k330
+exc.u329:
+ call void @sc_rc_release_dyn(ptr %t825)
+ br label %exc.cleanup30
+exc.k330:
+ br label %dc.done328
+dc.done328:
+ %t841 = load ptr, ptr %s826
+ %t842 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_467(ptr %t821, ptr %t822, ptr %t823, ptr %t841, ptr %t842)
+ %t843 = load i32, ptr %exc.cell
+ %t844 = icmp ne i32 %t843, 0
+ %t845 = call i1 @llvm.expect.i1(i1 %t844, i1 false)
+ br i1 %t845, label %exc.u331, label %exc.k332
+exc.u331:
+ call void @sc_rc_release_dyn(ptr %t825)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t841)
+ br label %exc.cleanup30
+exc.k332:
+ call void @sc_rc_release_dyn(ptr %t825)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t841)
+ %t846 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t846)
+ %t847 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t847)
+ ret void
+if.j323:
+ %t848 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s849
+ %t850 = icmp ne ptr %t848, null
+ br i1 %t850, label %brand.inspect333, label %brand.done335
+brand.inspect333:
+ %t851 = getelementptr inbounds i8, ptr %t848, i64 8 ; ->kind
+ %t852 = load i32, ptr %t851
+ %t853 = icmp eq i32 %t852, 12
+ br i1 %t853, label %brand.capsule334, label %brand.done335
+brand.capsule334:
+ %t854 = getelementptr inbounds i8, ptr %t848, i64 40 ; ->v.typed_ref.type_key
+ %t855 = load ptr, ptr %t854
+ %t856 = icmp eq ptr %t855, @sc_cs_3635319175845957
+ store i1 true, ptr %s849
+ br i1 %t856, label %brand.done335, label %brand.compare336
+brand.compare336:
+ %t857 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t848, ptr @sc_lit_3635319175845957)
+ store i1 %t857, ptr %s849
+ br label %brand.done335
+brand.done335:
+ %t858 = load i1, ptr %s849
+ br i1 %t858, label %if.t337, label %if.j338
+if.t337:
+ %t859 = load ptr, ptr %sc_l_p_0
+ %t860 = load ptr, ptr %sc_l_p_key
+ %t861 = load ptr, ptr %sc_l_p_1
+ %t862 = load ptr, ptr %sc_l_p_0
+ %t863 = call ptr @sc_rc_retain_dyn(ptr %t862)
+ %t865 = icmp ne ptr %t863, null
+ br i1 %t865, label %dc.inspect339, label %dc.checked342
+dc.inspect339:
+ %t870 = getelementptr inbounds i8, ptr %t863, i64 8 ; ->kind
+ %t871 = load i32, ptr %t870
+ %t866 = icmp eq i32 %t871, 12
+ br i1 %t866, label %dc.capsule340, label %dc.checked342
+dc.capsule340:
+ %t867 = getelementptr inbounds i8, ptr %t863, i64 40 ; ->v.typed_ref.type_key
+ %t868 = load ptr, ptr %t867
+ %t869 = icmp eq ptr %t868, @sc_cs_3635319175845957
+ br i1 %t869, label %dc.exact341, label %dc.checked342
+dc.exact341:
+ %t872 = getelementptr inbounds i8, ptr %t863, i64 16 ; ->v.typed_ref.ptr
+ %t873 = load ptr, ptr %t872
+ %t874 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t873)
+ store ptr %t874, ptr %s864
+ br label %dc.done343
+dc.checked342:
+ %t875 = call ptr @sc_dc_24(ptr %t863, ptr null)
+ store ptr %t875, ptr %s864
+ %t876 = load i32, ptr %exc.cell
+ %t877 = icmp ne i32 %t876, 0
+ %t878 = call i1 @llvm.expect.i1(i1 %t877, i1 false)
+ br i1 %t878, label %exc.u344, label %exc.k345
+exc.u344:
+ call void @sc_rc_release_dyn(ptr %t863)
+ br label %exc.cleanup30
+exc.k345:
+ br label %dc.done343
+dc.done343:
+ %t879 = load ptr, ptr %s864
+ %t880 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_466(ptr %t859, ptr %t860, ptr %t861, ptr %t879, ptr %t880)
+ %t881 = load i32, ptr %exc.cell
+ %t882 = icmp ne i32 %t881, 0
+ %t883 = call i1 @llvm.expect.i1(i1 %t882, i1 false)
+ br i1 %t883, label %exc.u346, label %exc.k347
+exc.u346:
+ call void @sc_rc_release_dyn(ptr %t863)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t879)
+ br label %exc.cleanup30
+exc.k347:
+ call void @sc_rc_release_dyn(ptr %t863)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t879)
+ %t884 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t884)
+ %t885 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t885)
+ ret void
+if.j338:
+ %t886 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s887
+ %t888 = icmp ne ptr %t886, null
+ br i1 %t888, label %brand.inspect348, label %brand.done350
+brand.inspect348:
+ %t889 = getelementptr inbounds i8, ptr %t886, i64 8 ; ->kind
+ %t890 = load i32, ptr %t889
+ %t891 = icmp eq i32 %t890, 12
+ br i1 %t891, label %brand.capsule349, label %brand.done350
+brand.capsule349:
+ %t892 = getelementptr inbounds i8, ptr %t886, i64 40 ; ->v.typed_ref.type_key
+ %t893 = load ptr, ptr %t892
+ %t894 = icmp eq ptr %t893, @sc_cs_4143564844538255
+ store i1 true, ptr %s887
+ br i1 %t894, label %brand.done350, label %brand.compare351
+brand.compare351:
+ %t895 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t886, ptr @sc_lit_4143564844538255)
+ store i1 %t895, ptr %s887
+ br label %brand.done350
+brand.done350:
+ %t896 = load i1, ptr %s887
+ br i1 %t896, label %if.t352, label %if.j353
+if.t352:
+ %t897 = load ptr, ptr %sc_l_p_0
+ %t898 = load ptr, ptr %sc_l_p_key
+ %t899 = load ptr, ptr %sc_l_p_1
+ %t900 = load ptr, ptr %sc_l_p_0
+ %t901 = call ptr @sc_rc_retain_dyn(ptr %t900)
+ %t903 = icmp ne ptr %t901, null
+ br i1 %t903, label %dc.inspect354, label %dc.checked357
+dc.inspect354:
+ %t908 = getelementptr inbounds i8, ptr %t901, i64 8 ; ->kind
+ %t909 = load i32, ptr %t908
+ %t904 = icmp eq i32 %t909, 12
+ br i1 %t904, label %dc.capsule355, label %dc.checked357
+dc.capsule355:
+ %t905 = getelementptr inbounds i8, ptr %t901, i64 40 ; ->v.typed_ref.type_key
+ %t906 = load ptr, ptr %t905
+ %t907 = icmp eq ptr %t906, @sc_cs_4143564844538255
+ br i1 %t907, label %dc.exact356, label %dc.checked357
+dc.exact356:
+ %t910 = getelementptr inbounds i8, ptr %t901, i64 16 ; ->v.typed_ref.ptr
+ %t911 = load ptr, ptr %t910
+ %t912 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t911)
+ store ptr %t912, ptr %s902
+ br label %dc.done358
+dc.checked357:
+ %t913 = call ptr @sc_dc_109(ptr %t901, ptr null)
+ store ptr %t913, ptr %s902
+ %t914 = load i32, ptr %exc.cell
+ %t915 = icmp ne i32 %t914, 0
+ %t916 = call i1 @llvm.expect.i1(i1 %t915, i1 false)
+ br i1 %t916, label %exc.u359, label %exc.k360
+exc.u359:
+ call void @sc_rc_release_dyn(ptr %t901)
+ br label %exc.cleanup30
+exc.k360:
+ br label %dc.done358
+dc.done358:
+ %t917 = load ptr, ptr %s902
+ %t918 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_465(ptr %t897, ptr %t898, ptr %t899, ptr %t917, ptr %t918)
+ %t919 = load i32, ptr %exc.cell
+ %t920 = icmp ne i32 %t919, 0
+ %t921 = call i1 @llvm.expect.i1(i1 %t920, i1 false)
+ br i1 %t921, label %exc.u361, label %exc.k362
+exc.u361:
+ call void @sc_rc_release_dyn(ptr %t901)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t917)
+ br label %exc.cleanup30
+exc.k362:
+ call void @sc_rc_release_dyn(ptr %t901)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t917)
+ %t922 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t922)
+ %t923 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t923)
+ ret void
+if.j353:
+ %t924 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s925
+ %t926 = icmp ne ptr %t924, null
+ br i1 %t926, label %brand.inspect363, label %brand.done365
+brand.inspect363:
+ %t927 = getelementptr inbounds i8, ptr %t924, i64 8 ; ->kind
+ %t928 = load i32, ptr %t927
+ %t929 = icmp eq i32 %t928, 12
+ br i1 %t929, label %brand.capsule364, label %brand.done365
+brand.capsule364:
+ %t930 = getelementptr inbounds i8, ptr %t924, i64 40 ; ->v.typed_ref.type_key
+ %t931 = load ptr, ptr %t930
+ %t932 = icmp eq ptr %t931, @sc_cs_2875643240706496
+ store i1 true, ptr %s925
+ br i1 %t932, label %brand.done365, label %brand.compare366
+brand.compare366:
+ %t933 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t924, ptr @sc_lit_2875643240706496)
+ store i1 %t933, ptr %s925
+ br label %brand.done365
+brand.done365:
+ %t934 = load i1, ptr %s925
+ br i1 %t934, label %if.t367, label %if.j368
+if.t367:
+ %t935 = load ptr, ptr %sc_l_p_0
+ %t936 = load ptr, ptr %sc_l_p_key
+ %t937 = load ptr, ptr %sc_l_p_1
+ %t938 = load ptr, ptr %sc_l_p_0
+ %t939 = call ptr @sc_rc_retain_dyn(ptr %t938)
+ %t941 = icmp ne ptr %t939, null
+ br i1 %t941, label %dc.inspect369, label %dc.checked372
+dc.inspect369:
+ %t946 = getelementptr inbounds i8, ptr %t939, i64 8 ; ->kind
+ %t947 = load i32, ptr %t946
+ %t942 = icmp eq i32 %t947, 12
+ br i1 %t942, label %dc.capsule370, label %dc.checked372
+dc.capsule370:
+ %t943 = getelementptr inbounds i8, ptr %t939, i64 40 ; ->v.typed_ref.type_key
+ %t944 = load ptr, ptr %t943
+ %t945 = icmp eq ptr %t944, @sc_cs_2875643240706496
+ br i1 %t945, label %dc.exact371, label %dc.checked372
+dc.exact371:
+ %t948 = getelementptr inbounds i8, ptr %t939, i64 16 ; ->v.typed_ref.ptr
+ %t949 = load ptr, ptr %t948
+ %t950 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t949)
+ store ptr %t950, ptr %s940
+ br label %dc.done373
+dc.checked372:
+ %t951 = call ptr @sc_dc_48(ptr %t939, ptr null)
+ store ptr %t951, ptr %s940
+ %t952 = load i32, ptr %exc.cell
+ %t953 = icmp ne i32 %t952, 0
+ %t954 = call i1 @llvm.expect.i1(i1 %t953, i1 false)
+ br i1 %t954, label %exc.u374, label %exc.k375
+exc.u374:
+ call void @sc_rc_release_dyn(ptr %t939)
+ br label %exc.cleanup30
+exc.k375:
+ br label %dc.done373
+dc.done373:
+ %t955 = load ptr, ptr %s940
+ %t956 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_464(ptr %t935, ptr %t936, ptr %t937, ptr %t955, ptr %t956)
+ %t957 = load i32, ptr %exc.cell
+ %t958 = icmp ne i32 %t957, 0
+ %t959 = call i1 @llvm.expect.i1(i1 %t958, i1 false)
+ br i1 %t959, label %exc.u376, label %exc.k377
+exc.u376:
+ call void @sc_rc_release_dyn(ptr %t939)
+ call void @sc_release__x25_m5_CtxCore(ptr %t955)
+ br label %exc.cleanup30
+exc.k377:
+ call void @sc_rc_release_dyn(ptr %t939)
+ call void @sc_release__x25_m5_CtxCore(ptr %t955)
+ %t960 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t960)
+ %t961 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t961)
+ ret void
+if.j368:
+ %t962 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s963
+ %t964 = icmp ne ptr %t962, null
+ br i1 %t964, label %brand.inspect378, label %brand.done380
+brand.inspect378:
+ %t965 = getelementptr inbounds i8, ptr %t962, i64 8 ; ->kind
+ %t966 = load i32, ptr %t965
+ %t967 = icmp eq i32 %t966, 12
+ br i1 %t967, label %brand.capsule379, label %brand.done380
+brand.capsule379:
+ %t968 = getelementptr inbounds i8, ptr %t962, i64 40 ; ->v.typed_ref.type_key
+ %t969 = load ptr, ptr %t968
+ %t970 = icmp eq ptr %t969, @sc_cs_21424698936986
+ store i1 true, ptr %s963
+ br i1 %t970, label %brand.done380, label %brand.compare381
+brand.compare381:
+ %t971 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t962, ptr @sc_lit_21424698936986)
+ store i1 %t971, ptr %s963
+ br label %brand.done380
+brand.done380:
+ %t972 = load i1, ptr %s963
+ br i1 %t972, label %if.t382, label %if.j383
+if.t382:
+ %t973 = load ptr, ptr %sc_l_p_0
+ %t974 = load ptr, ptr %sc_l_p_key
+ %t975 = load ptr, ptr %sc_l_p_1
+ %t976 = load ptr, ptr %sc_l_p_0
+ %t977 = call ptr @sc_rc_retain_dyn(ptr %t976)
+ %t979 = icmp ne ptr %t977, null
+ br i1 %t979, label %dc.inspect384, label %dc.checked387
+dc.inspect384:
+ %t984 = getelementptr inbounds i8, ptr %t977, i64 8 ; ->kind
+ %t985 = load i32, ptr %t984
+ %t980 = icmp eq i32 %t985, 12
+ br i1 %t980, label %dc.capsule385, label %dc.checked387
+dc.capsule385:
+ %t981 = getelementptr inbounds i8, ptr %t977, i64 40 ; ->v.typed_ref.type_key
+ %t982 = load ptr, ptr %t981
+ %t983 = icmp eq ptr %t982, @sc_cs_21424698936986
+ br i1 %t983, label %dc.exact386, label %dc.checked387
+dc.exact386:
+ %t986 = getelementptr inbounds i8, ptr %t977, i64 16 ; ->v.typed_ref.ptr
+ %t987 = load ptr, ptr %t986
+ %t988 = call ptr @sc_retain__x25_m5_App(ptr %t987)
+ store ptr %t988, ptr %s978
+ br label %dc.done388
+dc.checked387:
+ %t989 = call ptr @sc_dc_91(ptr %t977, ptr null)
+ store ptr %t989, ptr %s978
+ %t990 = load i32, ptr %exc.cell
+ %t991 = icmp ne i32 %t990, 0
+ %t992 = call i1 @llvm.expect.i1(i1 %t991, i1 false)
+ br i1 %t992, label %exc.u389, label %exc.k390
+exc.u389:
+ call void @sc_rc_release_dyn(ptr %t977)
+ br label %exc.cleanup30
+exc.k390:
+ br label %dc.done388
+dc.done388:
+ %t993 = load ptr, ptr %s978
+ %t994 = load ptr, ptr %sc_l_key_string
+ call void @sc_bf__x25_dyn_class_keys_463(ptr %t973, ptr %t974, ptr %t975, ptr %t993, ptr %t994)
+ %t995 = load i32, ptr %exc.cell
+ %t996 = icmp ne i32 %t995, 0
+ %t997 = call i1 @llvm.expect.i1(i1 %t996, i1 false)
+ br i1 %t997, label %exc.u391, label %exc.k392
+exc.u391:
+ call void @sc_rc_release_dyn(ptr %t977)
+ call void @sc_release__x25_m5_App(ptr %t993)
+ br label %exc.cleanup30
+exc.k392:
+ call void @sc_rc_release_dyn(ptr %t977)
+ call void @sc_release__x25_m5_App(ptr %t993)
+ %t998 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t998)
+ %t999 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t999)
+ ret void
+if.j383:
+ %t1000 = load ptr, ptr %sc_l_p_0
+ %t1001 = call ptr @sc_rc_retain_dyn(ptr %t1000)
+ %t1002 = call ptr @sc_f__x25_dyn_class_properties(ptr %t1001)
+ %t1003 = load i32, ptr %exc.cell
+ %t1004 = icmp ne i32 %t1003, 0
+ %t1005 = call i1 @llvm.expect.i1(i1 %t1004, i1 false)
+ br i1 %t1005, label %exc.u393, label %exc.k394
+exc.u393:
+ call void @sc_rc_release_dyn(ptr %t1002)
+ br label %exc.cleanup30
+exc.k394:
+ %t1006 = load ptr, ptr %sc_l_key_string
+ %t1007 = call ptr @sc_rc_retain_str(ptr %t1006)
+ %t1008 = load ptr, ptr %sc_l_p_1
+ %t1009 = call ptr @sc_rc_retain_dyn(ptr %t1008)
+ call void @scr_dyn_key_set(ptr %t1002, ptr %t1007, ptr %t1009)
+ %t1010 = load i32, ptr %exc.cell
+ %t1011 = icmp ne i32 %t1010, 0
+ %t1012 = call i1 @llvm.expect.i1(i1 %t1011, i1 false)
+ br i1 %t1012, label %exc.u395, label %exc.k396
+exc.u395:
+ call void @sc_rc_release_dyn(ptr %t1002)
+ call void @scr_str_release(ptr %t1007)
+ call void @sc_rc_release_dyn(ptr %t1009)
+ br label %exc.cleanup30
+exc.k396:
+ call void @sc_rc_release_dyn(ptr %t1002)
+ call void @scr_str_release(ptr %t1007)
+ call void @sc_rc_release_dyn(ptr %t1009)
+ %t1013 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t1013)
+ %t1014 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t1014)
+ ret void
+exc.cleanup2:
+ %t1015 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t1015)
+ ret void
+exc.cleanup30:
+ %t1016 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t1016)
+ %t1017 = load ptr, ptr %sc_l_key_string
+ call void @scr_str_release(ptr %t1017)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_computed_0(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_computed_0(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ ret void
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_17(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.17
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2253648670486996)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2253648670486996, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_2253648670486996)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_2253648670486996, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_2253648670486996)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_2253648670486996, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_2253648670486996)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_2253648670486996, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_2253648670486996, ptr @sc_dyn_read_ic_17)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_2253648670486996, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_2253648670486996, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_18(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.18
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s196 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_2519527309428716
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2519527309428716)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_2519527309428716
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_108(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2227497482646049)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_2519527309428716
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_108(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_2519527309428716
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_108(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2227497482646049, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_4143564844538255
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_4143564844538255)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_4143564844538255
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_109(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_2227497482646049)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_4143564844538255
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_109(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_4143564844538255
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_109(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_2227497482646049, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ %t187 = call ptr @sc_rc_retain_dyn(ptr %t186)
+ %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u79, label %exc.k80
+exc.u79:
+ call void @sc_rc_release_dyn(ptr %t188)
+ br label %exc.cleanup2
+exc.k80:
+ %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188)
+ call void @sc_rc_release_dyn(ptr %t188)
+ store ptr %t192, ptr %sc_l_bag_0
+ %t193 = load ptr, ptr %sc_l_bag_0
+ %t194 = load ptr, ptr %sc_l_p_0
+ %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194)
+ br i1 %t195, label %tern.t81, label %tern.f82
+tern.t81:
+ %t197 = load ptr, ptr %sc_l_bag_0
+ %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind
+ %t201 = load i32, ptr %t200
+ %t199 = icmp eq i32 %t201, 5
+ br i1 %t199, label %dkg.ic84, label %dkg.any85
+dkg.ic84:
+ %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_2227497482646049, ptr @sc_dyn_read_ic_18)
+ br label %dkg.j86
+dkg.any85:
+ %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_2227497482646049, i1 false)
+ br label %dkg.j86
+dkg.j86:
+ %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ]
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u87, label %exc.k88
+exc.u87:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup89
+exc.k88:
+ store ptr %t198, ptr %s196
+ br label %tern.j83
+tern.f82:
+ %t207 = load ptr, ptr %sc_l_bag_0
+ %t208 = call ptr @sc_rc_retain_dyn(ptr %t207)
+ %t209 = load ptr, ptr %sc_l_p_0
+ %t210 = call ptr @sc_rc_retain_dyn(ptr %t209)
+ %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_2227497482646049, ptr %t210)
+ %t212 = load i32, ptr %exc.cell
+ %t213 = icmp ne i32 %t212, 0
+ %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false)
+ br i1 %t214, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ call void @sc_rc_release_dyn(ptr %t211)
+ br label %exc.cleanup89
+exc.k91:
+ store ptr %t211, ptr %s196
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ br label %tern.j83
+tern.j83:
+ %t215 = load ptr, ptr %s196
+ %t216 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t216)
+ %t217 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t217)
+ ret ptr %t215
+exc.cleanup2:
+ %t218 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t218)
+ ret ptr null
+exc.cleanup89:
+ %t219 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t219)
+ %t220 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t220)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_19(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.19
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s20 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t12)
+ br label %exc.cleanup2
+exc.k6:
+ %t16 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t12)
+ store ptr %t16, ptr %sc_l_bag_0
+ %t17 = load ptr, ptr %sc_l_bag_0
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = call zeroext i1 @scr_dyn_strict_eq(ptr %t17, ptr %t18)
+ br i1 %t19, label %tern.t7, label %tern.f8
+tern.t7:
+ %t21 = load ptr, ptr %sc_l_bag_0
+ %t24 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind
+ %t25 = load i32, ptr %t24
+ %t23 = icmp eq i32 %t25, 5
+ br i1 %t23, label %dkg.ic10, label %dkg.any11
+dkg.ic10:
+ %t26 = call ptr @scr_dyn_obj_read_ic(ptr %t21, ptr @sc_lit_1253490067536641, ptr @sc_dyn_read_ic_19)
+ br label %dkg.j12
+dkg.any11:
+ %t27 = call ptr @sc_dyn_key_get(ptr %t21, ptr @sc_lit_1253490067536641, i1 false)
+ br label %dkg.j12
+dkg.j12:
+ %t22 = phi ptr [ %t26, %dkg.ic10 ], [ %t27, %dkg.any11 ]
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup15
+exc.k14:
+ store ptr %t22, ptr %s20
+ br label %tern.j9
+tern.f8:
+ %t31 = load ptr, ptr %sc_l_bag_0
+ %t32 = call ptr @sc_rc_retain_dyn(ptr %t31)
+ %t33 = load ptr, ptr %sc_l_p_0
+ %t34 = call ptr @sc_rc_retain_dyn(ptr %t33)
+ %t35 = call ptr @scr_dyn_bag_get(ptr %t32, ptr @sc_lit_1253490067536641, ptr %t34)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t35)
+ br label %exc.cleanup15
+exc.k17:
+ store ptr %t35, ptr %s20
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ br label %tern.j9
+tern.j9:
+ %t39 = load ptr, ptr %s20
+ %t40 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret ptr %t39
+exc.cleanup2:
+ %t42 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.cleanup15:
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_computed_1(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key) #0 { ; %dyn.class.computed.1
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s25 = alloca ptr
+ %s47 = alloca i1
+ %s61 = alloca ptr
+ %s83 = alloca i1
+ %s97 = alloca ptr
+ %s119 = alloca i1
+ %s133 = alloca ptr
+ %s155 = alloca i1
+ %s169 = alloca ptr
+ %s191 = alloca i1
+ %s205 = alloca ptr
+ %s227 = alloca i1
+ %s241 = alloca ptr
+ %s263 = alloca i1
+ %s277 = alloca ptr
+ %s299 = alloca i1
+ %s313 = alloca ptr
+ %s335 = alloca i1
+ %s349 = alloca ptr
+ %s371 = alloca i1
+ %s385 = alloca ptr
+ %s407 = alloca i1
+ %s421 = alloca ptr
+ %s443 = alloca i1
+ %s457 = alloca ptr
+ %s479 = alloca i1
+ %s493 = alloca ptr
+ %s515 = alloca i1
+ %s529 = alloca ptr
+ %s551 = alloca i1
+ %s565 = alloca ptr
+ %s587 = alloca i1
+ %s601 = alloca ptr
+ %s623 = alloca i1
+ %s637 = alloca ptr
+ %s659 = alloca i1
+ %s673 = alloca ptr
+ %s695 = alloca i1
+ %s709 = alloca ptr
+ %s731 = alloca i1
+ %s745 = alloca ptr
+ %s767 = alloca i1
+ %s781 = alloca ptr
+ %s803 = alloca i1
+ %s817 = alloca ptr
+ %s839 = alloca i1
+ %s853 = alloca ptr
+ %s875 = alloca i1
+ %s889 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = load ptr, ptr %sc_l_p_key
+ %t23 = load ptr, ptr %sc_l_p_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t26 = icmp ne ptr %t24, null
+ br i1 %t26, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t31 = getelementptr inbounds i8, ptr %t24, i64 8 ; ->kind
+ %t32 = load i32, ptr %t31
+ %t27 = icmp eq i32 %t32, 12
+ br i1 %t27, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t28 = getelementptr inbounds i8, ptr %t24, i64 40 ; ->v.typed_ref.type_key
+ %t29 = load ptr, ptr %t28
+ %t30 = icmp eq ptr %t29, @sc_cs_1746033898805369
+ br i1 %t30, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t33 = getelementptr inbounds i8, ptr %t24, i64 16 ; ->v.typed_ref.ptr
+ %t34 = load ptr, ptr %t33
+ %t35 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t34)
+ store ptr %t35, ptr %s25
+ br label %dc.done15
+dc.checked14:
+ %t36 = call ptr @sc_dc_30(ptr %t24, ptr null)
+ store ptr %t36, ptr %s25
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t24)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t40 = load ptr, ptr %s25
+ %t41 = call ptr @sc_bf__x25_dyn_class_keys_534(ptr %t21, ptr %t22, ptr %t40)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t40)
+ call void @sc_rc_release_dyn(ptr %t41)
+ br label %exc.cleanup2
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t40)
+ %t45 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr %t41
+if.j10:
+ %t46 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s47
+ %t48 = icmp ne ptr %t46, null
+ br i1 %t48, label %brand.inspect20, label %brand.done22
+brand.inspect20:
+ %t49 = getelementptr inbounds i8, ptr %t46, i64 8 ; ->kind
+ %t50 = load i32, ptr %t49
+ %t51 = icmp eq i32 %t50, 12
+ br i1 %t51, label %brand.capsule21, label %brand.done22
+brand.capsule21:
+ %t52 = getelementptr inbounds i8, ptr %t46, i64 40 ; ->v.typed_ref.type_key
+ %t53 = load ptr, ptr %t52
+ %t54 = icmp eq ptr %t53, @sc_cs_4041255434968695
+ store i1 true, ptr %s47
+ br i1 %t54, label %brand.done22, label %brand.compare23
+brand.compare23:
+ %t55 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t46, ptr @sc_lit_4041255434968695)
+ store i1 %t55, ptr %s47
+ br label %brand.done22
+brand.done22:
+ %t56 = load i1, ptr %s47
+ br i1 %t56, label %if.t24, label %if.j25
+if.t24:
+ %t57 = load ptr, ptr %sc_l_p_0
+ %t58 = load ptr, ptr %sc_l_p_key
+ %t59 = load ptr, ptr %sc_l_p_0
+ %t60 = call ptr @sc_rc_retain_dyn(ptr %t59)
+ %t62 = icmp ne ptr %t60, null
+ br i1 %t62, label %dc.inspect26, label %dc.checked29
+dc.inspect26:
+ %t67 = getelementptr inbounds i8, ptr %t60, i64 8 ; ->kind
+ %t68 = load i32, ptr %t67
+ %t63 = icmp eq i32 %t68, 12
+ br i1 %t63, label %dc.capsule27, label %dc.checked29
+dc.capsule27:
+ %t64 = getelementptr inbounds i8, ptr %t60, i64 40 ; ->v.typed_ref.type_key
+ %t65 = load ptr, ptr %t64
+ %t66 = icmp eq ptr %t65, @sc_cs_4041255434968695
+ br i1 %t66, label %dc.exact28, label %dc.checked29
+dc.exact28:
+ %t69 = getelementptr inbounds i8, ptr %t60, i64 16 ; ->v.typed_ref.ptr
+ %t70 = load ptr, ptr %t69
+ %t71 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t70)
+ store ptr %t71, ptr %s61
+ br label %dc.done30
+dc.checked29:
+ %t72 = call ptr @sc_dc_101(ptr %t60, ptr null)
+ store ptr %t72, ptr %s61
+ %t73 = load i32, ptr %exc.cell
+ %t74 = icmp ne i32 %t73, 0
+ %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false)
+ br i1 %t75, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t60)
+ br label %exc.cleanup2
+exc.k32:
+ br label %dc.done30
+dc.done30:
+ %t76 = load ptr, ptr %s61
+ %t77 = call ptr @sc_bf__x25_dyn_class_keys_514(ptr %t57, ptr %t58, ptr %t76)
+ %t78 = load i32, ptr %exc.cell
+ %t79 = icmp ne i32 %t78, 0
+ %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false)
+ br i1 %t80, label %exc.u33, label %exc.k34
+exc.u33:
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t77)
+ br label %exc.cleanup2
+exc.k34:
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t76)
+ %t81 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t81)
+ ret ptr %t77
+if.j25:
+ %t82 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s83
+ %t84 = icmp ne ptr %t82, null
+ br i1 %t84, label %brand.inspect35, label %brand.done37
+brand.inspect35:
+ %t85 = getelementptr inbounds i8, ptr %t82, i64 8 ; ->kind
+ %t86 = load i32, ptr %t85
+ %t87 = icmp eq i32 %t86, 12
+ br i1 %t87, label %brand.capsule36, label %brand.done37
+brand.capsule36:
+ %t88 = getelementptr inbounds i8, ptr %t82, i64 40 ; ->v.typed_ref.type_key
+ %t89 = load ptr, ptr %t88
+ %t90 = icmp eq ptr %t89, @sc_cs_3870085012327510
+ store i1 true, ptr %s83
+ br i1 %t90, label %brand.done37, label %brand.compare38
+brand.compare38:
+ %t91 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t82, ptr @sc_lit_3870085012327510)
+ store i1 %t91, ptr %s83
+ br label %brand.done37
+brand.done37:
+ %t92 = load i1, ptr %s83
+ br i1 %t92, label %if.t39, label %if.j40
+if.t39:
+ %t93 = load ptr, ptr %sc_l_p_0
+ %t94 = load ptr, ptr %sc_l_p_key
+ %t95 = load ptr, ptr %sc_l_p_0
+ %t96 = call ptr @sc_rc_retain_dyn(ptr %t95)
+ %t98 = icmp ne ptr %t96, null
+ br i1 %t98, label %dc.inspect41, label %dc.checked44
+dc.inspect41:
+ %t103 = getelementptr inbounds i8, ptr %t96, i64 8 ; ->kind
+ %t104 = load i32, ptr %t103
+ %t99 = icmp eq i32 %t104, 12
+ br i1 %t99, label %dc.capsule42, label %dc.checked44
+dc.capsule42:
+ %t100 = getelementptr inbounds i8, ptr %t96, i64 40 ; ->v.typed_ref.type_key
+ %t101 = load ptr, ptr %t100
+ %t102 = icmp eq ptr %t101, @sc_cs_3870085012327510
+ br i1 %t102, label %dc.exact43, label %dc.checked44
+dc.exact43:
+ %t105 = getelementptr inbounds i8, ptr %t96, i64 16 ; ->v.typed_ref.ptr
+ %t106 = load ptr, ptr %t105
+ %t107 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t106)
+ store ptr %t107, ptr %s97
+ br label %dc.done45
+dc.checked44:
+ %t108 = call ptr @sc_dc_94(ptr %t96, ptr null)
+ store ptr %t108, ptr %s97
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t96)
+ br label %exc.cleanup2
+exc.k47:
+ br label %dc.done45
+dc.done45:
+ %t112 = load ptr, ptr %s97
+ %t113 = call ptr @sc_bf__x25_dyn_class_keys_513(ptr %t93, ptr %t94, ptr %t112)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t112)
+ call void @sc_rc_release_dyn(ptr %t113)
+ br label %exc.cleanup2
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t112)
+ %t117 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret ptr %t113
+if.j40:
+ %t118 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s119
+ %t120 = icmp ne ptr %t118, null
+ br i1 %t120, label %brand.inspect50, label %brand.done52
+brand.inspect50:
+ %t121 = getelementptr inbounds i8, ptr %t118, i64 8 ; ->kind
+ %t122 = load i32, ptr %t121
+ %t123 = icmp eq i32 %t122, 12
+ br i1 %t123, label %brand.capsule51, label %brand.done52
+brand.capsule51:
+ %t124 = getelementptr inbounds i8, ptr %t118, i64 40 ; ->v.typed_ref.type_key
+ %t125 = load ptr, ptr %t124
+ %t126 = icmp eq ptr %t125, @sc_cs_2798802470260116
+ store i1 true, ptr %s119
+ br i1 %t126, label %brand.done52, label %brand.compare53
+brand.compare53:
+ %t127 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t118, ptr @sc_lit_2798802470260116)
+ store i1 %t127, ptr %s119
+ br label %brand.done52
+brand.done52:
+ %t128 = load i1, ptr %s119
+ br i1 %t128, label %if.t54, label %if.j55
+if.t54:
+ %t129 = load ptr, ptr %sc_l_p_0
+ %t130 = load ptr, ptr %sc_l_p_key
+ %t131 = load ptr, ptr %sc_l_p_0
+ %t132 = call ptr @sc_rc_retain_dyn(ptr %t131)
+ %t134 = icmp ne ptr %t132, null
+ br i1 %t134, label %dc.inspect56, label %dc.checked59
+dc.inspect56:
+ %t139 = getelementptr inbounds i8, ptr %t132, i64 8 ; ->kind
+ %t140 = load i32, ptr %t139
+ %t135 = icmp eq i32 %t140, 12
+ br i1 %t135, label %dc.capsule57, label %dc.checked59
+dc.capsule57:
+ %t136 = getelementptr inbounds i8, ptr %t132, i64 40 ; ->v.typed_ref.type_key
+ %t137 = load ptr, ptr %t136
+ %t138 = icmp eq ptr %t137, @sc_cs_2798802470260116
+ br i1 %t138, label %dc.exact58, label %dc.checked59
+dc.exact58:
+ %t141 = getelementptr inbounds i8, ptr %t132, i64 16 ; ->v.typed_ref.ptr
+ %t142 = load ptr, ptr %t141
+ %t143 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t142)
+ store ptr %t143, ptr %s133
+ br label %dc.done60
+dc.checked59:
+ %t144 = call ptr @sc_dc_93(ptr %t132, ptr null)
+ store ptr %t144, ptr %s133
+ %t145 = load i32, ptr %exc.cell
+ %t146 = icmp ne i32 %t145, 0
+ %t147 = call i1 @llvm.expect.i1(i1 %t146, i1 false)
+ br i1 %t147, label %exc.u61, label %exc.k62
+exc.u61:
+ call void @sc_rc_release_dyn(ptr %t132)
+ br label %exc.cleanup2
+exc.k62:
+ br label %dc.done60
+dc.done60:
+ %t148 = load ptr, ptr %s133
+ %t149 = call ptr @sc_bf__x25_dyn_class_keys_512(ptr %t129, ptr %t130, ptr %t148)
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u63, label %exc.k64
+exc.u63:
+ call void @sc_rc_release_dyn(ptr %t132)
+ call void @sc_release__x25_m0_GenFetch(ptr %t148)
+ call void @sc_rc_release_dyn(ptr %t149)
+ br label %exc.cleanup2
+exc.k64:
+ call void @sc_rc_release_dyn(ptr %t132)
+ call void @sc_release__x25_m0_GenFetch(ptr %t148)
+ %t153 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t153)
+ ret ptr %t149
+if.j55:
+ %t154 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s155
+ %t156 = icmp ne ptr %t154, null
+ br i1 %t156, label %brand.inspect65, label %brand.done67
+brand.inspect65:
+ %t157 = getelementptr inbounds i8, ptr %t154, i64 8 ; ->kind
+ %t158 = load i32, ptr %t157
+ %t159 = icmp eq i32 %t158, 12
+ br i1 %t159, label %brand.capsule66, label %brand.done67
+brand.capsule66:
+ %t160 = getelementptr inbounds i8, ptr %t154, i64 40 ; ->v.typed_ref.type_key
+ %t161 = load ptr, ptr %t160
+ %t162 = icmp eq ptr %t161, @sc_cs_2165660704272757
+ store i1 true, ptr %s155
+ br i1 %t162, label %brand.done67, label %brand.compare68
+brand.compare68:
+ %t163 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t154, ptr @sc_lit_2165660704272757)
+ store i1 %t163, ptr %s155
+ br label %brand.done67
+brand.done67:
+ %t164 = load i1, ptr %s155
+ br i1 %t164, label %if.t69, label %if.j70
+if.t69:
+ %t165 = load ptr, ptr %sc_l_p_0
+ %t166 = load ptr, ptr %sc_l_p_key
+ %t167 = load ptr, ptr %sc_l_p_0
+ %t168 = call ptr @sc_rc_retain_dyn(ptr %t167)
+ %t170 = icmp ne ptr %t168, null
+ br i1 %t170, label %dc.inspect71, label %dc.checked74
+dc.inspect71:
+ %t175 = getelementptr inbounds i8, ptr %t168, i64 8 ; ->kind
+ %t176 = load i32, ptr %t175
+ %t171 = icmp eq i32 %t176, 12
+ br i1 %t171, label %dc.capsule72, label %dc.checked74
+dc.capsule72:
+ %t172 = getelementptr inbounds i8, ptr %t168, i64 40 ; ->v.typed_ref.type_key
+ %t173 = load ptr, ptr %t172
+ %t174 = icmp eq ptr %t173, @sc_cs_2165660704272757
+ br i1 %t174, label %dc.exact73, label %dc.checked74
+dc.exact73:
+ %t177 = getelementptr inbounds i8, ptr %t168, i64 16 ; ->v.typed_ref.ptr
+ %t178 = load ptr, ptr %t177
+ %t179 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t178)
+ store ptr %t179, ptr %s169
+ br label %dc.done75
+dc.checked74:
+ %t180 = call ptr @sc_dc_92(ptr %t168, ptr null)
+ store ptr %t180, ptr %s169
+ %t181 = load i32, ptr %exc.cell
+ %t182 = icmp ne i32 %t181, 0
+ %t183 = call i1 @llvm.expect.i1(i1 %t182, i1 false)
+ br i1 %t183, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t168)
+ br label %exc.cleanup2
+exc.k77:
+ br label %dc.done75
+dc.done75:
+ %t184 = load ptr, ptr %s169
+ %t185 = call ptr @sc_bf__x25_dyn_class_keys_511(ptr %t165, ptr %t166, ptr %t184)
+ %t186 = load i32, ptr %exc.cell
+ %t187 = icmp ne i32 %t186, 0
+ %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false)
+ br i1 %t188, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t168)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t184)
+ call void @sc_rc_release_dyn(ptr %t185)
+ br label %exc.cleanup2
+exc.k79:
+ call void @sc_rc_release_dyn(ptr %t168)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t184)
+ %t189 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t189)
+ ret ptr %t185
+if.j70:
+ %t190 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s191
+ %t192 = icmp ne ptr %t190, null
+ br i1 %t192, label %brand.inspect80, label %brand.done82
+brand.inspect80:
+ %t193 = getelementptr inbounds i8, ptr %t190, i64 8 ; ->kind
+ %t194 = load i32, ptr %t193
+ %t195 = icmp eq i32 %t194, 12
+ br i1 %t195, label %brand.capsule81, label %brand.done82
+brand.capsule81:
+ %t196 = getelementptr inbounds i8, ptr %t190, i64 40 ; ->v.typed_ref.type_key
+ %t197 = load ptr, ptr %t196
+ %t198 = icmp eq ptr %t197, @sc_cs_3728566007289652
+ store i1 true, ptr %s191
+ br i1 %t198, label %brand.done82, label %brand.compare83
+brand.compare83:
+ %t199 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t190, ptr @sc_lit_3728566007289652)
+ store i1 %t199, ptr %s191
+ br label %brand.done82
+brand.done82:
+ %t200 = load i1, ptr %s191
+ br i1 %t200, label %if.t84, label %if.j85
+if.t84:
+ %t201 = load ptr, ptr %sc_l_p_0
+ %t202 = load ptr, ptr %sc_l_p_key
+ %t203 = load ptr, ptr %sc_l_p_0
+ %t204 = call ptr @sc_rc_retain_dyn(ptr %t203)
+ %t206 = icmp ne ptr %t204, null
+ br i1 %t206, label %dc.inspect86, label %dc.checked89
+dc.inspect86:
+ %t211 = getelementptr inbounds i8, ptr %t204, i64 8 ; ->kind
+ %t212 = load i32, ptr %t211
+ %t207 = icmp eq i32 %t212, 12
+ br i1 %t207, label %dc.capsule87, label %dc.checked89
+dc.capsule87:
+ %t208 = getelementptr inbounds i8, ptr %t204, i64 40 ; ->v.typed_ref.type_key
+ %t209 = load ptr, ptr %t208
+ %t210 = icmp eq ptr %t209, @sc_cs_3728566007289652
+ br i1 %t210, label %dc.exact88, label %dc.checked89
+dc.exact88:
+ %t213 = getelementptr inbounds i8, ptr %t204, i64 16 ; ->v.typed_ref.ptr
+ %t214 = load ptr, ptr %t213
+ %t215 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t214)
+ store ptr %t215, ptr %s205
+ br label %dc.done90
+dc.checked89:
+ %t216 = call ptr @sc_dc_100(ptr %t204, ptr null)
+ store ptr %t216, ptr %s205
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u91, label %exc.k92
+exc.u91:
+ call void @sc_rc_release_dyn(ptr %t204)
+ br label %exc.cleanup2
+exc.k92:
+ br label %dc.done90
+dc.done90:
+ %t220 = load ptr, ptr %s205
+ %t221 = call ptr @sc_bf__x25_dyn_class_keys_510(ptr %t201, ptr %t202, ptr %t220)
+ %t222 = load i32, ptr %exc.cell
+ %t223 = icmp ne i32 %t222, 0
+ %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false)
+ br i1 %t224, label %exc.u93, label %exc.k94
+exc.u93:
+ call void @sc_rc_release_dyn(ptr %t204)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t220)
+ call void @sc_rc_release_dyn(ptr %t221)
+ br label %exc.cleanup2
+exc.k94:
+ call void @sc_rc_release_dyn(ptr %t204)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t220)
+ %t225 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t225)
+ ret ptr %t221
+if.j85:
+ %t226 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s227
+ %t228 = icmp ne ptr %t226, null
+ br i1 %t228, label %brand.inspect95, label %brand.done97
+brand.inspect95:
+ %t229 = getelementptr inbounds i8, ptr %t226, i64 8 ; ->kind
+ %t230 = load i32, ptr %t229
+ %t231 = icmp eq i32 %t230, 12
+ br i1 %t231, label %brand.capsule96, label %brand.done97
+brand.capsule96:
+ %t232 = getelementptr inbounds i8, ptr %t226, i64 40 ; ->v.typed_ref.type_key
+ %t233 = load ptr, ptr %t232
+ %t234 = icmp eq ptr %t233, @sc_cs_2072202777142634
+ store i1 true, ptr %s227
+ br i1 %t234, label %brand.done97, label %brand.compare98
+brand.compare98:
+ %t235 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t226, ptr @sc_lit_2072202777142634)
+ store i1 %t235, ptr %s227
+ br label %brand.done97
+brand.done97:
+ %t236 = load i1, ptr %s227
+ br i1 %t236, label %if.t99, label %if.j100
+if.t99:
+ %t237 = load ptr, ptr %sc_l_p_0
+ %t238 = load ptr, ptr %sc_l_p_key
+ %t239 = load ptr, ptr %sc_l_p_0
+ %t240 = call ptr @sc_rc_retain_dyn(ptr %t239)
+ %t242 = icmp ne ptr %t240, null
+ br i1 %t242, label %dc.inspect101, label %dc.checked104
+dc.inspect101:
+ %t247 = getelementptr inbounds i8, ptr %t240, i64 8 ; ->kind
+ %t248 = load i32, ptr %t247
+ %t243 = icmp eq i32 %t248, 12
+ br i1 %t243, label %dc.capsule102, label %dc.checked104
+dc.capsule102:
+ %t244 = getelementptr inbounds i8, ptr %t240, i64 40 ; ->v.typed_ref.type_key
+ %t245 = load ptr, ptr %t244
+ %t246 = icmp eq ptr %t245, @sc_cs_2072202777142634
+ br i1 %t246, label %dc.exact103, label %dc.checked104
+dc.exact103:
+ %t249 = getelementptr inbounds i8, ptr %t240, i64 16 ; ->v.typed_ref.ptr
+ %t250 = load ptr, ptr %t249
+ %t251 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t250)
+ store ptr %t251, ptr %s241
+ br label %dc.done105
+dc.checked104:
+ %t252 = call ptr @sc_dc_26(ptr %t240, ptr null)
+ store ptr %t252, ptr %s241
+ %t253 = load i32, ptr %exc.cell
+ %t254 = icmp ne i32 %t253, 0
+ %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false)
+ br i1 %t255, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t240)
+ br label %exc.cleanup2
+exc.k107:
+ br label %dc.done105
+dc.done105:
+ %t256 = load ptr, ptr %s241
+ %t257 = call ptr @sc_bf__x25_dyn_class_keys_509(ptr %t237, ptr %t238, ptr %t256)
+ %t258 = load i32, ptr %exc.cell
+ %t259 = icmp ne i32 %t258, 0
+ %t260 = call i1 @llvm.expect.i1(i1 %t259, i1 false)
+ br i1 %t260, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t240)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t256)
+ call void @sc_rc_release_dyn(ptr %t257)
+ br label %exc.cleanup2
+exc.k109:
+ call void @sc_rc_release_dyn(ptr %t240)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t256)
+ %t261 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t261)
+ ret ptr %t257
+if.j100:
+ %t262 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s263
+ %t264 = icmp ne ptr %t262, null
+ br i1 %t264, label %brand.inspect110, label %brand.done112
+brand.inspect110:
+ %t265 = getelementptr inbounds i8, ptr %t262, i64 8 ; ->kind
+ %t266 = load i32, ptr %t265
+ %t267 = icmp eq i32 %t266, 12
+ br i1 %t267, label %brand.capsule111, label %brand.done112
+brand.capsule111:
+ %t268 = getelementptr inbounds i8, ptr %t262, i64 40 ; ->v.typed_ref.type_key
+ %t269 = load ptr, ptr %t268
+ %t270 = icmp eq ptr %t269, @sc_cs_3314970835853795
+ store i1 true, ptr %s263
+ br i1 %t270, label %brand.done112, label %brand.compare113
+brand.compare113:
+ %t271 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t262, ptr @sc_lit_3314970835853795)
+ store i1 %t271, ptr %s263
+ br label %brand.done112
+brand.done112:
+ %t272 = load i1, ptr %s263
+ br i1 %t272, label %if.t114, label %if.j115
+if.t114:
+ %t273 = load ptr, ptr %sc_l_p_0
+ %t274 = load ptr, ptr %sc_l_p_key
+ %t275 = load ptr, ptr %sc_l_p_0
+ %t276 = call ptr @sc_rc_retain_dyn(ptr %t275)
+ %t278 = icmp ne ptr %t276, null
+ br i1 %t278, label %dc.inspect116, label %dc.checked119
+dc.inspect116:
+ %t283 = getelementptr inbounds i8, ptr %t276, i64 8 ; ->kind
+ %t284 = load i32, ptr %t283
+ %t279 = icmp eq i32 %t284, 12
+ br i1 %t279, label %dc.capsule117, label %dc.checked119
+dc.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t276, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_3314970835853795
+ br i1 %t282, label %dc.exact118, label %dc.checked119
+dc.exact118:
+ %t285 = getelementptr inbounds i8, ptr %t276, i64 16 ; ->v.typed_ref.ptr
+ %t286 = load ptr, ptr %t285
+ %t287 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t286)
+ store ptr %t287, ptr %s277
+ br label %dc.done120
+dc.checked119:
+ %t288 = call ptr @sc_dc_79(ptr %t276, ptr null)
+ store ptr %t288, ptr %s277
+ %t289 = load i32, ptr %exc.cell
+ %t290 = icmp ne i32 %t289, 0
+ %t291 = call i1 @llvm.expect.i1(i1 %t290, i1 false)
+ br i1 %t291, label %exc.u121, label %exc.k122
+exc.u121:
+ call void @sc_rc_release_dyn(ptr %t276)
+ br label %exc.cleanup2
+exc.k122:
+ br label %dc.done120
+dc.done120:
+ %t292 = load ptr, ptr %s277
+ %t293 = call ptr @sc_bf__x25_dyn_class_keys_508(ptr %t273, ptr %t274, ptr %t292)
+ %t294 = load i32, ptr %exc.cell
+ %t295 = icmp ne i32 %t294, 0
+ %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false)
+ br i1 %t296, label %exc.u123, label %exc.k124
+exc.u123:
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @sc_release__x25_m6_AssetSource(ptr %t292)
+ call void @sc_rc_release_dyn(ptr %t293)
+ br label %exc.cleanup2
+exc.k124:
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @sc_release__x25_m6_AssetSource(ptr %t292)
+ %t297 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t297)
+ ret ptr %t293
+if.j115:
+ %t298 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s299
+ %t300 = icmp ne ptr %t298, null
+ br i1 %t300, label %brand.inspect125, label %brand.done127
+brand.inspect125:
+ %t301 = getelementptr inbounds i8, ptr %t298, i64 8 ; ->kind
+ %t302 = load i32, ptr %t301
+ %t303 = icmp eq i32 %t302, 12
+ br i1 %t303, label %brand.capsule126, label %brand.done127
+brand.capsule126:
+ %t304 = getelementptr inbounds i8, ptr %t298, i64 40 ; ->v.typed_ref.type_key
+ %t305 = load ptr, ptr %t304
+ %t306 = icmp eq ptr %t305, @sc_cs_864190948149583
+ store i1 true, ptr %s299
+ br i1 %t306, label %brand.done127, label %brand.compare128
+brand.compare128:
+ %t307 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t298, ptr @sc_lit_864190948149583)
+ store i1 %t307, ptr %s299
+ br label %brand.done127
+brand.done127:
+ %t308 = load i1, ptr %s299
+ br i1 %t308, label %if.t129, label %if.j130
+if.t129:
+ %t309 = load ptr, ptr %sc_l_p_0
+ %t310 = load ptr, ptr %sc_l_p_key
+ %t311 = load ptr, ptr %sc_l_p_0
+ %t312 = call ptr @sc_rc_retain_dyn(ptr %t311)
+ %t314 = icmp ne ptr %t312, null
+ br i1 %t314, label %dc.inspect131, label %dc.checked134
+dc.inspect131:
+ %t319 = getelementptr inbounds i8, ptr %t312, i64 8 ; ->kind
+ %t320 = load i32, ptr %t319
+ %t315 = icmp eq i32 %t320, 12
+ br i1 %t315, label %dc.capsule132, label %dc.checked134
+dc.capsule132:
+ %t316 = getelementptr inbounds i8, ptr %t312, i64 40 ; ->v.typed_ref.type_key
+ %t317 = load ptr, ptr %t316
+ %t318 = icmp eq ptr %t317, @sc_cs_864190948149583
+ br i1 %t318, label %dc.exact133, label %dc.checked134
+dc.exact133:
+ %t321 = getelementptr inbounds i8, ptr %t312, i64 16 ; ->v.typed_ref.ptr
+ %t322 = load ptr, ptr %t321
+ %t323 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t322)
+ store ptr %t323, ptr %s313
+ br label %dc.done135
+dc.checked134:
+ %t324 = call ptr @sc_dc_103(ptr %t312, ptr null)
+ store ptr %t324, ptr %s313
+ %t325 = load i32, ptr %exc.cell
+ %t326 = icmp ne i32 %t325, 0
+ %t327 = call i1 @llvm.expect.i1(i1 %t326, i1 false)
+ br i1 %t327, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t312)
+ br label %exc.cleanup2
+exc.k137:
+ br label %dc.done135
+dc.done135:
+ %t328 = load ptr, ptr %s313
+ %t329 = call ptr @sc_bf__x25_dyn_class_keys_507(ptr %t309, ptr %t310, ptr %t328)
+ %t330 = load i32, ptr %exc.cell
+ %t331 = icmp ne i32 %t330, 0
+ %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false)
+ br i1 %t332, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t312)
+ call void @sc_release__x25_m11_StaticServer(ptr %t328)
+ call void @sc_rc_release_dyn(ptr %t329)
+ br label %exc.cleanup2
+exc.k139:
+ call void @sc_rc_release_dyn(ptr %t312)
+ call void @sc_release__x25_m11_StaticServer(ptr %t328)
+ %t333 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t333)
+ ret ptr %t329
+if.j130:
+ %t334 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s335
+ %t336 = icmp ne ptr %t334, null
+ br i1 %t336, label %brand.inspect140, label %brand.done142
+brand.inspect140:
+ %t337 = getelementptr inbounds i8, ptr %t334, i64 8 ; ->kind
+ %t338 = load i32, ptr %t337
+ %t339 = icmp eq i32 %t338, 12
+ br i1 %t339, label %brand.capsule141, label %brand.done142
+brand.capsule141:
+ %t340 = getelementptr inbounds i8, ptr %t334, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_4408523527888294
+ store i1 true, ptr %s335
+ br i1 %t342, label %brand.done142, label %brand.compare143
+brand.compare143:
+ %t343 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t334, ptr @sc_lit_4408523527888294)
+ store i1 %t343, ptr %s335
+ br label %brand.done142
+brand.done142:
+ %t344 = load i1, ptr %s335
+ br i1 %t344, label %if.t144, label %if.j145
+if.t144:
+ %t345 = load ptr, ptr %sc_l_p_0
+ %t346 = load ptr, ptr %sc_l_p_key
+ %t347 = load ptr, ptr %sc_l_p_0
+ %t348 = call ptr @sc_rc_retain_dyn(ptr %t347)
+ %t350 = icmp ne ptr %t348, null
+ br i1 %t350, label %dc.inspect146, label %dc.checked149
+dc.inspect146:
+ %t355 = getelementptr inbounds i8, ptr %t348, i64 8 ; ->kind
+ %t356 = load i32, ptr %t355
+ %t351 = icmp eq i32 %t356, 12
+ br i1 %t351, label %dc.capsule147, label %dc.checked149
+dc.capsule147:
+ %t352 = getelementptr inbounds i8, ptr %t348, i64 40 ; ->v.typed_ref.type_key
+ %t353 = load ptr, ptr %t352
+ %t354 = icmp eq ptr %t353, @sc_cs_4408523527888294
+ br i1 %t354, label %dc.exact148, label %dc.checked149
+dc.exact148:
+ %t357 = getelementptr inbounds i8, ptr %t348, i64 16 ; ->v.typed_ref.ptr
+ %t358 = load ptr, ptr %t357
+ %t359 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t358)
+ store ptr %t359, ptr %s349
+ br label %dc.done150
+dc.checked149:
+ %t360 = call ptr @sc_dc_21(ptr %t348, ptr null)
+ store ptr %t360, ptr %s349
+ %t361 = load i32, ptr %exc.cell
+ %t362 = icmp ne i32 %t361, 0
+ %t363 = call i1 @llvm.expect.i1(i1 %t362, i1 false)
+ br i1 %t363, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t348)
+ br label %exc.cleanup2
+exc.k152:
+ br label %dc.done150
+dc.done150:
+ %t364 = load ptr, ptr %s349
+ %t365 = call ptr @sc_bf__x25_dyn_class_keys_506(ptr %t345, ptr %t346, ptr %t364)
+ %t366 = load i32, ptr %exc.cell
+ %t367 = icmp ne i32 %t366, 0
+ %t368 = call i1 @llvm.expect.i1(i1 %t367, i1 false)
+ br i1 %t368, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t348)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t365)
+ br label %exc.cleanup2
+exc.k154:
+ call void @sc_rc_release_dyn(ptr %t348)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t364)
+ %t369 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t369)
+ ret ptr %t365
+if.j145:
+ %t370 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s371
+ %t372 = icmp ne ptr %t370, null
+ br i1 %t372, label %brand.inspect155, label %brand.done157
+brand.inspect155:
+ %t373 = getelementptr inbounds i8, ptr %t370, i64 8 ; ->kind
+ %t374 = load i32, ptr %t373
+ %t375 = icmp eq i32 %t374, 12
+ br i1 %t375, label %brand.capsule156, label %brand.done157
+brand.capsule156:
+ %t376 = getelementptr inbounds i8, ptr %t370, i64 40 ; ->v.typed_ref.type_key
+ %t377 = load ptr, ptr %t376
+ %t378 = icmp eq ptr %t377, @sc_cs_3163508115280491
+ store i1 true, ptr %s371
+ br i1 %t378, label %brand.done157, label %brand.compare158
+brand.compare158:
+ %t379 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t370, ptr @sc_lit_3163508115280491)
+ store i1 %t379, ptr %s371
+ br label %brand.done157
+brand.done157:
+ %t380 = load i1, ptr %s371
+ br i1 %t380, label %if.t159, label %if.j160
+if.t159:
+ %t381 = load ptr, ptr %sc_l_p_0
+ %t382 = load ptr, ptr %sc_l_p_key
+ %t383 = load ptr, ptr %sc_l_p_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t386 = icmp ne ptr %t384, null
+ br i1 %t386, label %dc.inspect161, label %dc.checked164
+dc.inspect161:
+ %t391 = getelementptr inbounds i8, ptr %t384, i64 8 ; ->kind
+ %t392 = load i32, ptr %t391
+ %t387 = icmp eq i32 %t392, 12
+ br i1 %t387, label %dc.capsule162, label %dc.checked164
+dc.capsule162:
+ %t388 = getelementptr inbounds i8, ptr %t384, i64 40 ; ->v.typed_ref.type_key
+ %t389 = load ptr, ptr %t388
+ %t390 = icmp eq ptr %t389, @sc_cs_3163508115280491
+ br i1 %t390, label %dc.exact163, label %dc.checked164
+dc.exact163:
+ %t393 = getelementptr inbounds i8, ptr %t384, i64 16 ; ->v.typed_ref.ptr
+ %t394 = load ptr, ptr %t393
+ %t395 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t394)
+ store ptr %t395, ptr %s385
+ br label %dc.done165
+dc.checked164:
+ %t396 = call ptr @sc_dc_105(ptr %t384, ptr null)
+ store ptr %t396, ptr %s385
+ %t397 = load i32, ptr %exc.cell
+ %t398 = icmp ne i32 %t397, 0
+ %t399 = call i1 @llvm.expect.i1(i1 %t398, i1 false)
+ br i1 %t399, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t384)
+ br label %exc.cleanup2
+exc.k167:
+ br label %dc.done165
+dc.done165:
+ %t400 = load ptr, ptr %s385
+ %t401 = call ptr @sc_bf__x25_dyn_class_keys_505(ptr %t381, ptr %t382, ptr %t400)
+ %t402 = load i32, ptr %exc.cell
+ %t403 = icmp ne i32 %t402, 0
+ %t404 = call i1 @llvm.expect.i1(i1 %t403, i1 false)
+ br i1 %t404, label %exc.u168, label %exc.k169
+exc.u168:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t400)
+ call void @sc_rc_release_dyn(ptr %t401)
+ br label %exc.cleanup2
+exc.k169:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t400)
+ %t405 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t405)
+ ret ptr %t401
+if.j160:
+ %t406 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s407
+ %t408 = icmp ne ptr %t406, null
+ br i1 %t408, label %brand.inspect170, label %brand.done172
+brand.inspect170:
+ %t409 = getelementptr inbounds i8, ptr %t406, i64 8 ; ->kind
+ %t410 = load i32, ptr %t409
+ %t411 = icmp eq i32 %t410, 12
+ br i1 %t411, label %brand.capsule171, label %brand.done172
+brand.capsule171:
+ %t412 = getelementptr inbounds i8, ptr %t406, i64 40 ; ->v.typed_ref.type_key
+ %t413 = load ptr, ptr %t412
+ %t414 = icmp eq ptr %t413, @sc_cs_1875086966829314
+ store i1 true, ptr %s407
+ br i1 %t414, label %brand.done172, label %brand.compare173
+brand.compare173:
+ %t415 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t406, ptr @sc_lit_1875086966829314)
+ store i1 %t415, ptr %s407
+ br label %brand.done172
+brand.done172:
+ %t416 = load i1, ptr %s407
+ br i1 %t416, label %if.t174, label %if.j175
+if.t174:
+ %t417 = load ptr, ptr %sc_l_p_0
+ %t418 = load ptr, ptr %sc_l_p_key
+ %t419 = load ptr, ptr %sc_l_p_0
+ %t420 = call ptr @sc_rc_retain_dyn(ptr %t419)
+ %t422 = icmp ne ptr %t420, null
+ br i1 %t422, label %dc.inspect176, label %dc.checked179
+dc.inspect176:
+ %t427 = getelementptr inbounds i8, ptr %t420, i64 8 ; ->kind
+ %t428 = load i32, ptr %t427
+ %t423 = icmp eq i32 %t428, 12
+ br i1 %t423, label %dc.capsule177, label %dc.checked179
+dc.capsule177:
+ %t424 = getelementptr inbounds i8, ptr %t420, i64 40 ; ->v.typed_ref.type_key
+ %t425 = load ptr, ptr %t424
+ %t426 = icmp eq ptr %t425, @sc_cs_1875086966829314
+ br i1 %t426, label %dc.exact178, label %dc.checked179
+dc.exact178:
+ %t429 = getelementptr inbounds i8, ptr %t420, i64 16 ; ->v.typed_ref.ptr
+ %t430 = load ptr, ptr %t429
+ %t431 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t430)
+ store ptr %t431, ptr %s421
+ br label %dc.done180
+dc.checked179:
+ %t432 = call ptr @sc_dc_106(ptr %t420, ptr null)
+ store ptr %t432, ptr %s421
+ %t433 = load i32, ptr %exc.cell
+ %t434 = icmp ne i32 %t433, 0
+ %t435 = call i1 @llvm.expect.i1(i1 %t434, i1 false)
+ br i1 %t435, label %exc.u181, label %exc.k182
+exc.u181:
+ call void @sc_rc_release_dyn(ptr %t420)
+ br label %exc.cleanup2
+exc.k182:
+ br label %dc.done180
+dc.done180:
+ %t436 = load ptr, ptr %s421
+ %t437 = call ptr @sc_bf__x25_dyn_class_keys_504(ptr %t417, ptr %t418, ptr %t436)
+ %t438 = load i32, ptr %exc.cell
+ %t439 = icmp ne i32 %t438, 0
+ %t440 = call i1 @llvm.expect.i1(i1 %t439, i1 false)
+ br i1 %t440, label %exc.u183, label %exc.k184
+exc.u183:
+ call void @sc_rc_release_dyn(ptr %t420)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t436)
+ call void @sc_rc_release_dyn(ptr %t437)
+ br label %exc.cleanup2
+exc.k184:
+ call void @sc_rc_release_dyn(ptr %t420)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %t436)
+ %t441 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t441)
+ ret ptr %t437
+if.j175:
+ %t442 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s443
+ %t444 = icmp ne ptr %t442, null
+ br i1 %t444, label %brand.inspect185, label %brand.done187
+brand.inspect185:
+ %t445 = getelementptr inbounds i8, ptr %t442, i64 8 ; ->kind
+ %t446 = load i32, ptr %t445
+ %t447 = icmp eq i32 %t446, 12
+ br i1 %t447, label %brand.capsule186, label %brand.done187
+brand.capsule186:
+ %t448 = getelementptr inbounds i8, ptr %t442, i64 40 ; ->v.typed_ref.type_key
+ %t449 = load ptr, ptr %t448
+ %t450 = icmp eq ptr %t449, @sc_cs_67546268704151
+ store i1 true, ptr %s443
+ br i1 %t450, label %brand.done187, label %brand.compare188
+brand.compare188:
+ %t451 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t442, ptr @sc_lit_67546268704151)
+ store i1 %t451, ptr %s443
+ br label %brand.done187
+brand.done187:
+ %t452 = load i1, ptr %s443
+ br i1 %t452, label %if.t189, label %if.j190
+if.t189:
+ %t453 = load ptr, ptr %sc_l_p_0
+ %t454 = load ptr, ptr %sc_l_p_key
+ %t455 = load ptr, ptr %sc_l_p_0
+ %t456 = call ptr @sc_rc_retain_dyn(ptr %t455)
+ %t458 = icmp ne ptr %t456, null
+ br i1 %t458, label %dc.inspect191, label %dc.checked194
+dc.inspect191:
+ %t463 = getelementptr inbounds i8, ptr %t456, i64 8 ; ->kind
+ %t464 = load i32, ptr %t463
+ %t459 = icmp eq i32 %t464, 12
+ br i1 %t459, label %dc.capsule192, label %dc.checked194
+dc.capsule192:
+ %t460 = getelementptr inbounds i8, ptr %t456, i64 40 ; ->v.typed_ref.type_key
+ %t461 = load ptr, ptr %t460
+ %t462 = icmp eq ptr %t461, @sc_cs_67546268704151
+ br i1 %t462, label %dc.exact193, label %dc.checked194
+dc.exact193:
+ %t465 = getelementptr inbounds i8, ptr %t456, i64 16 ; ->v.typed_ref.ptr
+ %t466 = load ptr, ptr %t465
+ %t467 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t466)
+ store ptr %t467, ptr %s457
+ br label %dc.done195
+dc.checked194:
+ %t468 = call ptr @sc_dc_107(ptr %t456, ptr null)
+ store ptr %t468, ptr %s457
+ %t469 = load i32, ptr %exc.cell
+ %t470 = icmp ne i32 %t469, 0
+ %t471 = call i1 @llvm.expect.i1(i1 %t470, i1 false)
+ br i1 %t471, label %exc.u196, label %exc.k197
+exc.u196:
+ call void @sc_rc_release_dyn(ptr %t456)
+ br label %exc.cleanup2
+exc.k197:
+ br label %dc.done195
+dc.done195:
+ %t472 = load ptr, ptr %s457
+ %t473 = call ptr @sc_bf__x25_dyn_class_keys_500(ptr %t453, ptr %t454, ptr %t472)
+ %t474 = load i32, ptr %exc.cell
+ %t475 = icmp ne i32 %t474, 0
+ %t476 = call i1 @llvm.expect.i1(i1 %t475, i1 false)
+ br i1 %t476, label %exc.u198, label %exc.k199
+exc.u198:
+ call void @sc_rc_release_dyn(ptr %t456)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t472)
+ call void @sc_rc_release_dyn(ptr %t473)
+ br label %exc.cleanup2
+exc.k199:
+ call void @sc_rc_release_dyn(ptr %t456)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t472)
+ %t477 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t477)
+ ret ptr %t473
+if.j190:
+ %t478 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s479
+ %t480 = icmp ne ptr %t478, null
+ br i1 %t480, label %brand.inspect200, label %brand.done202
+brand.inspect200:
+ %t481 = getelementptr inbounds i8, ptr %t478, i64 8 ; ->kind
+ %t482 = load i32, ptr %t481
+ %t483 = icmp eq i32 %t482, 12
+ br i1 %t483, label %brand.capsule201, label %brand.done202
+brand.capsule201:
+ %t484 = getelementptr inbounds i8, ptr %t478, i64 40 ; ->v.typed_ref.type_key
+ %t485 = load ptr, ptr %t484
+ %t486 = icmp eq ptr %t485, @sc_cs_2519527309428716
+ store i1 true, ptr %s479
+ br i1 %t486, label %brand.done202, label %brand.compare203
+brand.compare203:
+ %t487 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t478, ptr @sc_lit_2519527309428716)
+ store i1 %t487, ptr %s479
+ br label %brand.done202
+brand.done202:
+ %t488 = load i1, ptr %s479
+ br i1 %t488, label %if.t204, label %if.j205
+if.t204:
+ %t489 = load ptr, ptr %sc_l_p_0
+ %t490 = load ptr, ptr %sc_l_p_key
+ %t491 = load ptr, ptr %sc_l_p_0
+ %t492 = call ptr @sc_rc_retain_dyn(ptr %t491)
+ %t494 = icmp ne ptr %t492, null
+ br i1 %t494, label %dc.inspect206, label %dc.checked209
+dc.inspect206:
+ %t499 = getelementptr inbounds i8, ptr %t492, i64 8 ; ->kind
+ %t500 = load i32, ptr %t499
+ %t495 = icmp eq i32 %t500, 12
+ br i1 %t495, label %dc.capsule207, label %dc.checked209
+dc.capsule207:
+ %t496 = getelementptr inbounds i8, ptr %t492, i64 40 ; ->v.typed_ref.type_key
+ %t497 = load ptr, ptr %t496
+ %t498 = icmp eq ptr %t497, @sc_cs_2519527309428716
+ br i1 %t498, label %dc.exact208, label %dc.checked209
+dc.exact208:
+ %t501 = getelementptr inbounds i8, ptr %t492, i64 16 ; ->v.typed_ref.ptr
+ %t502 = load ptr, ptr %t501
+ %t503 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t502)
+ store ptr %t503, ptr %s493
+ br label %dc.done210
+dc.checked209:
+ %t504 = call ptr @sc_dc_108(ptr %t492, ptr null)
+ store ptr %t504, ptr %s493
+ %t505 = load i32, ptr %exc.cell
+ %t506 = icmp ne i32 %t505, 0
+ %t507 = call i1 @llvm.expect.i1(i1 %t506, i1 false)
+ br i1 %t507, label %exc.u211, label %exc.k212
+exc.u211:
+ call void @sc_rc_release_dyn(ptr %t492)
+ br label %exc.cleanup2
+exc.k212:
+ br label %dc.done210
+dc.done210:
+ %t508 = load ptr, ptr %s493
+ %t509 = call ptr @sc_bf__x25_dyn_class_keys_499(ptr %t489, ptr %t490, ptr %t508)
+ %t510 = load i32, ptr %exc.cell
+ %t511 = icmp ne i32 %t510, 0
+ %t512 = call i1 @llvm.expect.i1(i1 %t511, i1 false)
+ br i1 %t512, label %exc.u213, label %exc.k214
+exc.u213:
+ call void @sc_rc_release_dyn(ptr %t492)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t508)
+ call void @sc_rc_release_dyn(ptr %t509)
+ br label %exc.cleanup2
+exc.k214:
+ call void @sc_rc_release_dyn(ptr %t492)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t508)
+ %t513 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t513)
+ ret ptr %t509
+if.j205:
+ %t514 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s515
+ %t516 = icmp ne ptr %t514, null
+ br i1 %t516, label %brand.inspect215, label %brand.done217
+brand.inspect215:
+ %t517 = getelementptr inbounds i8, ptr %t514, i64 8 ; ->kind
+ %t518 = load i32, ptr %t517
+ %t519 = icmp eq i32 %t518, 12
+ br i1 %t519, label %brand.capsule216, label %brand.done217
+brand.capsule216:
+ %t520 = getelementptr inbounds i8, ptr %t514, i64 40 ; ->v.typed_ref.type_key
+ %t521 = load ptr, ptr %t520
+ %t522 = icmp eq ptr %t521, @sc_cs_4074974279575818
+ store i1 true, ptr %s515
+ br i1 %t522, label %brand.done217, label %brand.compare218
+brand.compare218:
+ %t523 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t514, ptr @sc_lit_4074974279575818)
+ store i1 %t523, ptr %s515
+ br label %brand.done217
+brand.done217:
+ %t524 = load i1, ptr %s515
+ br i1 %t524, label %if.t219, label %if.j220
+if.t219:
+ %t525 = load ptr, ptr %sc_l_p_0
+ %t526 = load ptr, ptr %sc_l_p_key
+ %t527 = load ptr, ptr %sc_l_p_0
+ %t528 = call ptr @sc_rc_retain_dyn(ptr %t527)
+ %t530 = icmp ne ptr %t528, null
+ br i1 %t530, label %dc.inspect221, label %dc.checked224
+dc.inspect221:
+ %t535 = getelementptr inbounds i8, ptr %t528, i64 8 ; ->kind
+ %t536 = load i32, ptr %t535
+ %t531 = icmp eq i32 %t536, 12
+ br i1 %t531, label %dc.capsule222, label %dc.checked224
+dc.capsule222:
+ %t532 = getelementptr inbounds i8, ptr %t528, i64 40 ; ->v.typed_ref.type_key
+ %t533 = load ptr, ptr %t532
+ %t534 = icmp eq ptr %t533, @sc_cs_4074974279575818
+ br i1 %t534, label %dc.exact223, label %dc.checked224
+dc.exact223:
+ %t537 = getelementptr inbounds i8, ptr %t528, i64 16 ; ->v.typed_ref.ptr
+ %t538 = load ptr, ptr %t537
+ %t539 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t538)
+ store ptr %t539, ptr %s529
+ br label %dc.done225
+dc.checked224:
+ %t540 = call ptr @sc_dc_104(ptr %t528, ptr null)
+ store ptr %t540, ptr %s529
+ %t541 = load i32, ptr %exc.cell
+ %t542 = icmp ne i32 %t541, 0
+ %t543 = call i1 @llvm.expect.i1(i1 %t542, i1 false)
+ br i1 %t543, label %exc.u226, label %exc.k227
+exc.u226:
+ call void @sc_rc_release_dyn(ptr %t528)
+ br label %exc.cleanup2
+exc.k227:
+ br label %dc.done225
+dc.done225:
+ %t544 = load ptr, ptr %s529
+ %t545 = call ptr @sc_bf__x25_dyn_class_keys_498(ptr %t525, ptr %t526, ptr %t544)
+ %t546 = load i32, ptr %exc.cell
+ %t547 = icmp ne i32 %t546, 0
+ %t548 = call i1 @llvm.expect.i1(i1 %t547, i1 false)
+ br i1 %t548, label %exc.u228, label %exc.k229
+exc.u228:
+ call void @sc_rc_release_dyn(ptr %t528)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t544)
+ call void @sc_rc_release_dyn(ptr %t545)
+ br label %exc.cleanup2
+exc.k229:
+ call void @sc_rc_release_dyn(ptr %t528)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t544)
+ %t549 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t549)
+ ret ptr %t545
+if.j220:
+ %t550 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s551
+ %t552 = icmp ne ptr %t550, null
+ br i1 %t552, label %brand.inspect230, label %brand.done232
+brand.inspect230:
+ %t553 = getelementptr inbounds i8, ptr %t550, i64 8 ; ->kind
+ %t554 = load i32, ptr %t553
+ %t555 = icmp eq i32 %t554, 12
+ br i1 %t555, label %brand.capsule231, label %brand.done232
+brand.capsule231:
+ %t556 = getelementptr inbounds i8, ptr %t550, i64 40 ; ->v.typed_ref.type_key
+ %t557 = load ptr, ptr %t556
+ %t558 = icmp eq ptr %t557, @sc_cs_2434838942941195
+ store i1 true, ptr %s551
+ br i1 %t558, label %brand.done232, label %brand.compare233
+brand.compare233:
+ %t559 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t550, ptr @sc_lit_2434838942941195)
+ store i1 %t559, ptr %s551
+ br label %brand.done232
+brand.done232:
+ %t560 = load i1, ptr %s551
+ br i1 %t560, label %if.t234, label %if.j235
+if.t234:
+ %t561 = load ptr, ptr %sc_l_p_0
+ %t562 = load ptr, ptr %sc_l_p_key
+ %t563 = load ptr, ptr %sc_l_p_0
+ %t564 = call ptr @sc_rc_retain_dyn(ptr %t563)
+ %t566 = icmp ne ptr %t564, null
+ br i1 %t566, label %dc.inspect236, label %dc.checked239
+dc.inspect236:
+ %t571 = getelementptr inbounds i8, ptr %t564, i64 8 ; ->kind
+ %t572 = load i32, ptr %t571
+ %t567 = icmp eq i32 %t572, 12
+ br i1 %t567, label %dc.capsule237, label %dc.checked239
+dc.capsule237:
+ %t568 = getelementptr inbounds i8, ptr %t564, i64 40 ; ->v.typed_ref.type_key
+ %t569 = load ptr, ptr %t568
+ %t570 = icmp eq ptr %t569, @sc_cs_2434838942941195
+ br i1 %t570, label %dc.exact238, label %dc.checked239
+dc.exact238:
+ %t573 = getelementptr inbounds i8, ptr %t564, i64 16 ; ->v.typed_ref.ptr
+ %t574 = load ptr, ptr %t573
+ %t575 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t574)
+ store ptr %t575, ptr %s565
+ br label %dc.done240
+dc.checked239:
+ %t576 = call ptr @sc_dc_52(ptr %t564, ptr null)
+ store ptr %t576, ptr %s565
+ %t577 = load i32, ptr %exc.cell
+ %t578 = icmp ne i32 %t577, 0
+ %t579 = call i1 @llvm.expect.i1(i1 %t578, i1 false)
+ br i1 %t579, label %exc.u241, label %exc.k242
+exc.u241:
+ call void @sc_rc_release_dyn(ptr %t564)
+ br label %exc.cleanup2
+exc.k242:
+ br label %dc.done240
+dc.done240:
+ %t580 = load ptr, ptr %s565
+ %t581 = call ptr @sc_bf__x25_dyn_class_keys_497(ptr %t561, ptr %t562, ptr %t580)
+ %t582 = load i32, ptr %exc.cell
+ %t583 = icmp ne i32 %t582, 0
+ %t584 = call i1 @llvm.expect.i1(i1 %t583, i1 false)
+ br i1 %t584, label %exc.u243, label %exc.k244
+exc.u243:
+ call void @sc_rc_release_dyn(ptr %t564)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t580)
+ call void @sc_rc_release_dyn(ptr %t581)
+ br label %exc.cleanup2
+exc.k244:
+ call void @sc_rc_release_dyn(ptr %t564)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t580)
+ %t585 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t585)
+ ret ptr %t581
+if.j235:
+ %t586 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s587
+ %t588 = icmp ne ptr %t586, null
+ br i1 %t588, label %brand.inspect245, label %brand.done247
+brand.inspect245:
+ %t589 = getelementptr inbounds i8, ptr %t586, i64 8 ; ->kind
+ %t590 = load i32, ptr %t589
+ %t591 = icmp eq i32 %t590, 12
+ br i1 %t591, label %brand.capsule246, label %brand.done247
+brand.capsule246:
+ %t592 = getelementptr inbounds i8, ptr %t586, i64 40 ; ->v.typed_ref.type_key
+ %t593 = load ptr, ptr %t592
+ %t594 = icmp eq ptr %t593, @sc_cs_3326437563644705
+ store i1 true, ptr %s587
+ br i1 %t594, label %brand.done247, label %brand.compare248
+brand.compare248:
+ %t595 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t586, ptr @sc_lit_3326437563644705)
+ store i1 %t595, ptr %s587
+ br label %brand.done247
+brand.done247:
+ %t596 = load i1, ptr %s587
+ br i1 %t596, label %if.t249, label %if.j250
+if.t249:
+ %t597 = load ptr, ptr %sc_l_p_0
+ %t598 = load ptr, ptr %sc_l_p_key
+ %t599 = load ptr, ptr %sc_l_p_0
+ %t600 = call ptr @sc_rc_retain_dyn(ptr %t599)
+ %t602 = icmp ne ptr %t600, null
+ br i1 %t602, label %dc.inspect251, label %dc.checked254
+dc.inspect251:
+ %t607 = getelementptr inbounds i8, ptr %t600, i64 8 ; ->kind
+ %t608 = load i32, ptr %t607
+ %t603 = icmp eq i32 %t608, 12
+ br i1 %t603, label %dc.capsule252, label %dc.checked254
+dc.capsule252:
+ %t604 = getelementptr inbounds i8, ptr %t600, i64 40 ; ->v.typed_ref.type_key
+ %t605 = load ptr, ptr %t604
+ %t606 = icmp eq ptr %t605, @sc_cs_3326437563644705
+ br i1 %t606, label %dc.exact253, label %dc.checked254
+dc.exact253:
+ %t609 = getelementptr inbounds i8, ptr %t600, i64 16 ; ->v.typed_ref.ptr
+ %t610 = load ptr, ptr %t609
+ %t611 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t610)
+ store ptr %t611, ptr %s601
+ br label %dc.done255
+dc.checked254:
+ %t612 = call ptr @sc_dc_102(ptr %t600, ptr null)
+ store ptr %t612, ptr %s601
+ %t613 = load i32, ptr %exc.cell
+ %t614 = icmp ne i32 %t613, 0
+ %t615 = call i1 @llvm.expect.i1(i1 %t614, i1 false)
+ br i1 %t615, label %exc.u256, label %exc.k257
+exc.u256:
+ call void @sc_rc_release_dyn(ptr %t600)
+ br label %exc.cleanup2
+exc.k257:
+ br label %dc.done255
+dc.done255:
+ %t616 = load ptr, ptr %s601
+ %t617 = call ptr @sc_bf__x25_dyn_class_keys_496(ptr %t597, ptr %t598, ptr %t616)
+ %t618 = load i32, ptr %exc.cell
+ %t619 = icmp ne i32 %t618, 0
+ %t620 = call i1 @llvm.expect.i1(i1 %t619, i1 false)
+ br i1 %t620, label %exc.u258, label %exc.k259
+exc.u258:
+ call void @sc_rc_release_dyn(ptr %t600)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t616)
+ call void @sc_rc_release_dyn(ptr %t617)
+ br label %exc.cleanup2
+exc.k259:
+ call void @sc_rc_release_dyn(ptr %t600)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t616)
+ %t621 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t621)
+ ret ptr %t617
+if.j250:
+ %t622 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s623
+ %t624 = icmp ne ptr %t622, null
+ br i1 %t624, label %brand.inspect260, label %brand.done262
+brand.inspect260:
+ %t625 = getelementptr inbounds i8, ptr %t622, i64 8 ; ->kind
+ %t626 = load i32, ptr %t625
+ %t627 = icmp eq i32 %t626, 12
+ br i1 %t627, label %brand.capsule261, label %brand.done262
+brand.capsule261:
+ %t628 = getelementptr inbounds i8, ptr %t622, i64 40 ; ->v.typed_ref.type_key
+ %t629 = load ptr, ptr %t628
+ %t630 = icmp eq ptr %t629, @sc_cs_629517122853751
+ store i1 true, ptr %s623
+ br i1 %t630, label %brand.done262, label %brand.compare263
+brand.compare263:
+ %t631 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t622, ptr @sc_lit_629517122853751)
+ store i1 %t631, ptr %s623
+ br label %brand.done262
+brand.done262:
+ %t632 = load i1, ptr %s623
+ br i1 %t632, label %if.t264, label %if.j265
+if.t264:
+ %t633 = load ptr, ptr %sc_l_p_0
+ %t634 = load ptr, ptr %sc_l_p_key
+ %t635 = load ptr, ptr %sc_l_p_0
+ %t636 = call ptr @sc_rc_retain_dyn(ptr %t635)
+ %t638 = icmp ne ptr %t636, null
+ br i1 %t638, label %dc.inspect266, label %dc.checked269
+dc.inspect266:
+ %t643 = getelementptr inbounds i8, ptr %t636, i64 8 ; ->kind
+ %t644 = load i32, ptr %t643
+ %t639 = icmp eq i32 %t644, 12
+ br i1 %t639, label %dc.capsule267, label %dc.checked269
+dc.capsule267:
+ %t640 = getelementptr inbounds i8, ptr %t636, i64 40 ; ->v.typed_ref.type_key
+ %t641 = load ptr, ptr %t640
+ %t642 = icmp eq ptr %t641, @sc_cs_629517122853751
+ br i1 %t642, label %dc.exact268, label %dc.checked269
+dc.exact268:
+ %t645 = getelementptr inbounds i8, ptr %t636, i64 16 ; ->v.typed_ref.ptr
+ %t646 = load ptr, ptr %t645
+ %t647 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t646)
+ store ptr %t647, ptr %s637
+ br label %dc.done270
+dc.checked269:
+ %t648 = call ptr @sc_dc_29(ptr %t636, ptr null)
+ store ptr %t648, ptr %s637
+ %t649 = load i32, ptr %exc.cell
+ %t650 = icmp ne i32 %t649, 0
+ %t651 = call i1 @llvm.expect.i1(i1 %t650, i1 false)
+ br i1 %t651, label %exc.u271, label %exc.k272
+exc.u271:
+ call void @sc_rc_release_dyn(ptr %t636)
+ br label %exc.cleanup2
+exc.k272:
+ br label %dc.done270
+dc.done270:
+ %t652 = load ptr, ptr %s637
+ %t653 = call ptr @sc_bf__x25_dyn_class_keys_495(ptr %t633, ptr %t634, ptr %t652)
+ %t654 = load i32, ptr %exc.cell
+ %t655 = icmp ne i32 %t654, 0
+ %t656 = call i1 @llvm.expect.i1(i1 %t655, i1 false)
+ br i1 %t656, label %exc.u273, label %exc.k274
+exc.u273:
+ call void @sc_rc_release_dyn(ptr %t636)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t652)
+ call void @sc_rc_release_dyn(ptr %t653)
+ br label %exc.cleanup2
+exc.k274:
+ call void @sc_rc_release_dyn(ptr %t636)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t652)
+ %t657 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t657)
+ ret ptr %t653
+if.j265:
+ %t658 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s659
+ %t660 = icmp ne ptr %t658, null
+ br i1 %t660, label %brand.inspect275, label %brand.done277
+brand.inspect275:
+ %t661 = getelementptr inbounds i8, ptr %t658, i64 8 ; ->kind
+ %t662 = load i32, ptr %t661
+ %t663 = icmp eq i32 %t662, 12
+ br i1 %t663, label %brand.capsule276, label %brand.done277
+brand.capsule276:
+ %t664 = getelementptr inbounds i8, ptr %t658, i64 40 ; ->v.typed_ref.type_key
+ %t665 = load ptr, ptr %t664
+ %t666 = icmp eq ptr %t665, @sc_cs_660811353369478
+ store i1 true, ptr %s659
+ br i1 %t666, label %brand.done277, label %brand.compare278
+brand.compare278:
+ %t667 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t658, ptr @sc_lit_660811353369478)
+ store i1 %t667, ptr %s659
+ br label %brand.done277
+brand.done277:
+ %t668 = load i1, ptr %s659
+ br i1 %t668, label %if.t279, label %if.j280
+if.t279:
+ %t669 = load ptr, ptr %sc_l_p_0
+ %t670 = load ptr, ptr %sc_l_p_key
+ %t671 = load ptr, ptr %sc_l_p_0
+ %t672 = call ptr @sc_rc_retain_dyn(ptr %t671)
+ %t674 = icmp ne ptr %t672, null
+ br i1 %t674, label %dc.inspect281, label %dc.checked284
+dc.inspect281:
+ %t679 = getelementptr inbounds i8, ptr %t672, i64 8 ; ->kind
+ %t680 = load i32, ptr %t679
+ %t675 = icmp eq i32 %t680, 12
+ br i1 %t675, label %dc.capsule282, label %dc.checked284
+dc.capsule282:
+ %t676 = getelementptr inbounds i8, ptr %t672, i64 40 ; ->v.typed_ref.type_key
+ %t677 = load ptr, ptr %t676
+ %t678 = icmp eq ptr %t677, @sc_cs_660811353369478
+ br i1 %t678, label %dc.exact283, label %dc.checked284
+dc.exact283:
+ %t681 = getelementptr inbounds i8, ptr %t672, i64 16 ; ->v.typed_ref.ptr
+ %t682 = load ptr, ptr %t681
+ %t683 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t682)
+ store ptr %t683, ptr %s673
+ br label %dc.done285
+dc.checked284:
+ %t684 = call ptr @sc_dc_28(ptr %t672, ptr null)
+ store ptr %t684, ptr %s673
+ %t685 = load i32, ptr %exc.cell
+ %t686 = icmp ne i32 %t685, 0
+ %t687 = call i1 @llvm.expect.i1(i1 %t686, i1 false)
+ br i1 %t687, label %exc.u286, label %exc.k287
+exc.u286:
+ call void @sc_rc_release_dyn(ptr %t672)
+ br label %exc.cleanup2
+exc.k287:
+ br label %dc.done285
+dc.done285:
+ %t688 = load ptr, ptr %s673
+ %t689 = call ptr @sc_bf__x25_dyn_class_keys_494(ptr %t669, ptr %t670, ptr %t688)
+ %t690 = load i32, ptr %exc.cell
+ %t691 = icmp ne i32 %t690, 0
+ %t692 = call i1 @llvm.expect.i1(i1 %t691, i1 false)
+ br i1 %t692, label %exc.u288, label %exc.k289
+exc.u288:
+ call void @sc_rc_release_dyn(ptr %t672)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t688)
+ call void @sc_rc_release_dyn(ptr %t689)
+ br label %exc.cleanup2
+exc.k289:
+ call void @sc_rc_release_dyn(ptr %t672)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t688)
+ %t693 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t693)
+ ret ptr %t689
+if.j280:
+ %t694 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s695
+ %t696 = icmp ne ptr %t694, null
+ br i1 %t696, label %brand.inspect290, label %brand.done292
+brand.inspect290:
+ %t697 = getelementptr inbounds i8, ptr %t694, i64 8 ; ->kind
+ %t698 = load i32, ptr %t697
+ %t699 = icmp eq i32 %t698, 12
+ br i1 %t699, label %brand.capsule291, label %brand.done292
+brand.capsule291:
+ %t700 = getelementptr inbounds i8, ptr %t694, i64 40 ; ->v.typed_ref.type_key
+ %t701 = load ptr, ptr %t700
+ %t702 = icmp eq ptr %t701, @sc_cs_4336131790391205
+ store i1 true, ptr %s695
+ br i1 %t702, label %brand.done292, label %brand.compare293
+brand.compare293:
+ %t703 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t694, ptr @sc_lit_4336131790391205)
+ store i1 %t703, ptr %s695
+ br label %brand.done292
+brand.done292:
+ %t704 = load i1, ptr %s695
+ br i1 %t704, label %if.t294, label %if.j295
+if.t294:
+ %t705 = load ptr, ptr %sc_l_p_0
+ %t706 = load ptr, ptr %sc_l_p_key
+ %t707 = load ptr, ptr %sc_l_p_0
+ %t708 = call ptr @sc_rc_retain_dyn(ptr %t707)
+ %t710 = icmp ne ptr %t708, null
+ br i1 %t710, label %dc.inspect296, label %dc.checked299
+dc.inspect296:
+ %t715 = getelementptr inbounds i8, ptr %t708, i64 8 ; ->kind
+ %t716 = load i32, ptr %t715
+ %t711 = icmp eq i32 %t716, 12
+ br i1 %t711, label %dc.capsule297, label %dc.checked299
+dc.capsule297:
+ %t712 = getelementptr inbounds i8, ptr %t708, i64 40 ; ->v.typed_ref.type_key
+ %t713 = load ptr, ptr %t712
+ %t714 = icmp eq ptr %t713, @sc_cs_4336131790391205
+ br i1 %t714, label %dc.exact298, label %dc.checked299
+dc.exact298:
+ %t717 = getelementptr inbounds i8, ptr %t708, i64 16 ; ->v.typed_ref.ptr
+ %t718 = load ptr, ptr %t717
+ %t719 = call ptr @sc_retain__x25_m5_MpCfg(ptr %t718)
+ store ptr %t719, ptr %s709
+ br label %dc.done300
+dc.checked299:
+ %t720 = call ptr @sc_dc_43(ptr %t708, ptr null)
+ store ptr %t720, ptr %s709
+ %t721 = load i32, ptr %exc.cell
+ %t722 = icmp ne i32 %t721, 0
+ %t723 = call i1 @llvm.expect.i1(i1 %t722, i1 false)
+ br i1 %t723, label %exc.u301, label %exc.k302
+exc.u301:
+ call void @sc_rc_release_dyn(ptr %t708)
+ br label %exc.cleanup2
+exc.k302:
+ br label %dc.done300
+dc.done300:
+ %t724 = load ptr, ptr %s709
+ %t725 = call ptr @sc_bf__x25_dyn_class_keys_493(ptr %t705, ptr %t706, ptr %t724)
+ %t726 = load i32, ptr %exc.cell
+ %t727 = icmp ne i32 %t726, 0
+ %t728 = call i1 @llvm.expect.i1(i1 %t727, i1 false)
+ br i1 %t728, label %exc.u303, label %exc.k304
+exc.u303:
+ call void @sc_rc_release_dyn(ptr %t708)
+ call void @sc_release__x25_m5_MpCfg(ptr %t724)
+ call void @sc_rc_release_dyn(ptr %t725)
+ br label %exc.cleanup2
+exc.k304:
+ call void @sc_rc_release_dyn(ptr %t708)
+ call void @sc_release__x25_m5_MpCfg(ptr %t724)
+ %t729 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t729)
+ ret ptr %t725
+if.j295:
+ %t730 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s731
+ %t732 = icmp ne ptr %t730, null
+ br i1 %t732, label %brand.inspect305, label %brand.done307
+brand.inspect305:
+ %t733 = getelementptr inbounds i8, ptr %t730, i64 8 ; ->kind
+ %t734 = load i32, ptr %t733
+ %t735 = icmp eq i32 %t734, 12
+ br i1 %t735, label %brand.capsule306, label %brand.done307
+brand.capsule306:
+ %t736 = getelementptr inbounds i8, ptr %t730, i64 40 ; ->v.typed_ref.type_key
+ %t737 = load ptr, ptr %t736
+ %t738 = icmp eq ptr %t737, @sc_cs_3456310594719780
+ store i1 true, ptr %s731
+ br i1 %t738, label %brand.done307, label %brand.compare308
+brand.compare308:
+ %t739 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t730, ptr @sc_lit_3456310594719780)
+ store i1 %t739, ptr %s731
+ br label %brand.done307
+brand.done307:
+ %t740 = load i1, ptr %s731
+ br i1 %t740, label %if.t309, label %if.j310
+if.t309:
+ %t741 = load ptr, ptr %sc_l_p_0
+ %t742 = load ptr, ptr %sc_l_p_key
+ %t743 = load ptr, ptr %sc_l_p_0
+ %t744 = call ptr @sc_rc_retain_dyn(ptr %t743)
+ %t746 = icmp ne ptr %t744, null
+ br i1 %t746, label %dc.inspect311, label %dc.checked314
+dc.inspect311:
+ %t751 = getelementptr inbounds i8, ptr %t744, i64 8 ; ->kind
+ %t752 = load i32, ptr %t751
+ %t747 = icmp eq i32 %t752, 12
+ br i1 %t747, label %dc.capsule312, label %dc.checked314
+dc.capsule312:
+ %t748 = getelementptr inbounds i8, ptr %t744, i64 40 ; ->v.typed_ref.type_key
+ %t749 = load ptr, ptr %t748
+ %t750 = icmp eq ptr %t749, @sc_cs_3456310594719780
+ br i1 %t750, label %dc.exact313, label %dc.checked314
+dc.exact313:
+ %t753 = getelementptr inbounds i8, ptr %t744, i64 16 ; ->v.typed_ref.ptr
+ %t754 = load ptr, ptr %t753
+ %t755 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t754)
+ store ptr %t755, ptr %s745
+ br label %dc.done315
+dc.checked314:
+ %t756 = call ptr @sc_dc_99(ptr %t744, ptr null)
+ store ptr %t756, ptr %s745
+ %t757 = load i32, ptr %exc.cell
+ %t758 = icmp ne i32 %t757, 0
+ %t759 = call i1 @llvm.expect.i1(i1 %t758, i1 false)
+ br i1 %t759, label %exc.u316, label %exc.k317
+exc.u316:
+ call void @sc_rc_release_dyn(ptr %t744)
+ br label %exc.cleanup2
+exc.k317:
+ br label %dc.done315
+dc.done315:
+ %t760 = load ptr, ptr %s745
+ %t761 = call ptr @sc_bf__x25_dyn_class_keys_492(ptr %t741, ptr %t742, ptr %t760)
+ %t762 = load i32, ptr %exc.cell
+ %t763 = icmp ne i32 %t762, 0
+ %t764 = call i1 @llvm.expect.i1(i1 %t763, i1 false)
+ br i1 %t764, label %exc.u318, label %exc.k319
+exc.u318:
+ call void @sc_rc_release_dyn(ptr %t744)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t760)
+ call void @sc_rc_release_dyn(ptr %t761)
+ br label %exc.cleanup2
+exc.k319:
+ call void @sc_rc_release_dyn(ptr %t744)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t760)
+ %t765 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t765)
+ ret ptr %t761
+if.j310:
+ %t766 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s767
+ %t768 = icmp ne ptr %t766, null
+ br i1 %t768, label %brand.inspect320, label %brand.done322
+brand.inspect320:
+ %t769 = getelementptr inbounds i8, ptr %t766, i64 8 ; ->kind
+ %t770 = load i32, ptr %t769
+ %t771 = icmp eq i32 %t770, 12
+ br i1 %t771, label %brand.capsule321, label %brand.done322
+brand.capsule321:
+ %t772 = getelementptr inbounds i8, ptr %t766, i64 40 ; ->v.typed_ref.type_key
+ %t773 = load ptr, ptr %t772
+ %t774 = icmp eq ptr %t773, @sc_cs_3635319175845957
+ store i1 true, ptr %s767
+ br i1 %t774, label %brand.done322, label %brand.compare323
+brand.compare323:
+ %t775 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t766, ptr @sc_lit_3635319175845957)
+ store i1 %t775, ptr %s767
+ br label %brand.done322
+brand.done322:
+ %t776 = load i1, ptr %s767
+ br i1 %t776, label %if.t324, label %if.j325
+if.t324:
+ %t777 = load ptr, ptr %sc_l_p_0
+ %t778 = load ptr, ptr %sc_l_p_key
+ %t779 = load ptr, ptr %sc_l_p_0
+ %t780 = call ptr @sc_rc_retain_dyn(ptr %t779)
+ %t782 = icmp ne ptr %t780, null
+ br i1 %t782, label %dc.inspect326, label %dc.checked329
+dc.inspect326:
+ %t787 = getelementptr inbounds i8, ptr %t780, i64 8 ; ->kind
+ %t788 = load i32, ptr %t787
+ %t783 = icmp eq i32 %t788, 12
+ br i1 %t783, label %dc.capsule327, label %dc.checked329
+dc.capsule327:
+ %t784 = getelementptr inbounds i8, ptr %t780, i64 40 ; ->v.typed_ref.type_key
+ %t785 = load ptr, ptr %t784
+ %t786 = icmp eq ptr %t785, @sc_cs_3635319175845957
+ br i1 %t786, label %dc.exact328, label %dc.checked329
+dc.exact328:
+ %t789 = getelementptr inbounds i8, ptr %t780, i64 16 ; ->v.typed_ref.ptr
+ %t790 = load ptr, ptr %t789
+ %t791 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t790)
+ store ptr %t791, ptr %s781
+ br label %dc.done330
+dc.checked329:
+ %t792 = call ptr @sc_dc_24(ptr %t780, ptr null)
+ store ptr %t792, ptr %s781
+ %t793 = load i32, ptr %exc.cell
+ %t794 = icmp ne i32 %t793, 0
+ %t795 = call i1 @llvm.expect.i1(i1 %t794, i1 false)
+ br i1 %t795, label %exc.u331, label %exc.k332
+exc.u331:
+ call void @sc_rc_release_dyn(ptr %t780)
+ br label %exc.cleanup2
+exc.k332:
+ br label %dc.done330
+dc.done330:
+ %t796 = load ptr, ptr %s781
+ %t797 = call ptr @sc_bf__x25_dyn_class_keys_491(ptr %t777, ptr %t778, ptr %t796)
+ %t798 = load i32, ptr %exc.cell
+ %t799 = icmp ne i32 %t798, 0
+ %t800 = call i1 @llvm.expect.i1(i1 %t799, i1 false)
+ br i1 %t800, label %exc.u333, label %exc.k334
+exc.u333:
+ call void @sc_rc_release_dyn(ptr %t780)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t796)
+ call void @sc_rc_release_dyn(ptr %t797)
+ br label %exc.cleanup2
+exc.k334:
+ call void @sc_rc_release_dyn(ptr %t780)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t796)
+ %t801 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t801)
+ ret ptr %t797
+if.j325:
+ %t802 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s803
+ %t804 = icmp ne ptr %t802, null
+ br i1 %t804, label %brand.inspect335, label %brand.done337
+brand.inspect335:
+ %t805 = getelementptr inbounds i8, ptr %t802, i64 8 ; ->kind
+ %t806 = load i32, ptr %t805
+ %t807 = icmp eq i32 %t806, 12
+ br i1 %t807, label %brand.capsule336, label %brand.done337
+brand.capsule336:
+ %t808 = getelementptr inbounds i8, ptr %t802, i64 40 ; ->v.typed_ref.type_key
+ %t809 = load ptr, ptr %t808
+ %t810 = icmp eq ptr %t809, @sc_cs_4143564844538255
+ store i1 true, ptr %s803
+ br i1 %t810, label %brand.done337, label %brand.compare338
+brand.compare338:
+ %t811 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t802, ptr @sc_lit_4143564844538255)
+ store i1 %t811, ptr %s803
+ br label %brand.done337
+brand.done337:
+ %t812 = load i1, ptr %s803
+ br i1 %t812, label %if.t339, label %if.j340
+if.t339:
+ %t813 = load ptr, ptr %sc_l_p_0
+ %t814 = load ptr, ptr %sc_l_p_key
+ %t815 = load ptr, ptr %sc_l_p_0
+ %t816 = call ptr @sc_rc_retain_dyn(ptr %t815)
+ %t818 = icmp ne ptr %t816, null
+ br i1 %t818, label %dc.inspect341, label %dc.checked344
+dc.inspect341:
+ %t823 = getelementptr inbounds i8, ptr %t816, i64 8 ; ->kind
+ %t824 = load i32, ptr %t823
+ %t819 = icmp eq i32 %t824, 12
+ br i1 %t819, label %dc.capsule342, label %dc.checked344
+dc.capsule342:
+ %t820 = getelementptr inbounds i8, ptr %t816, i64 40 ; ->v.typed_ref.type_key
+ %t821 = load ptr, ptr %t820
+ %t822 = icmp eq ptr %t821, @sc_cs_4143564844538255
+ br i1 %t822, label %dc.exact343, label %dc.checked344
+dc.exact343:
+ %t825 = getelementptr inbounds i8, ptr %t816, i64 16 ; ->v.typed_ref.ptr
+ %t826 = load ptr, ptr %t825
+ %t827 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t826)
+ store ptr %t827, ptr %s817
+ br label %dc.done345
+dc.checked344:
+ %t828 = call ptr @sc_dc_109(ptr %t816, ptr null)
+ store ptr %t828, ptr %s817
+ %t829 = load i32, ptr %exc.cell
+ %t830 = icmp ne i32 %t829, 0
+ %t831 = call i1 @llvm.expect.i1(i1 %t830, i1 false)
+ br i1 %t831, label %exc.u346, label %exc.k347
+exc.u346:
+ call void @sc_rc_release_dyn(ptr %t816)
+ br label %exc.cleanup2
+exc.k347:
+ br label %dc.done345
+dc.done345:
+ %t832 = load ptr, ptr %s817
+ %t833 = call ptr @sc_bf__x25_dyn_class_keys_490(ptr %t813, ptr %t814, ptr %t832)
+ %t834 = load i32, ptr %exc.cell
+ %t835 = icmp ne i32 %t834, 0
+ %t836 = call i1 @llvm.expect.i1(i1 %t835, i1 false)
+ br i1 %t836, label %exc.u348, label %exc.k349
+exc.u348:
+ call void @sc_rc_release_dyn(ptr %t816)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t832)
+ call void @sc_rc_release_dyn(ptr %t833)
+ br label %exc.cleanup2
+exc.k349:
+ call void @sc_rc_release_dyn(ptr %t816)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t832)
+ %t837 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t837)
+ ret ptr %t833
+if.j340:
+ %t838 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s839
+ %t840 = icmp ne ptr %t838, null
+ br i1 %t840, label %brand.inspect350, label %brand.done352
+brand.inspect350:
+ %t841 = getelementptr inbounds i8, ptr %t838, i64 8 ; ->kind
+ %t842 = load i32, ptr %t841
+ %t843 = icmp eq i32 %t842, 12
+ br i1 %t843, label %brand.capsule351, label %brand.done352
+brand.capsule351:
+ %t844 = getelementptr inbounds i8, ptr %t838, i64 40 ; ->v.typed_ref.type_key
+ %t845 = load ptr, ptr %t844
+ %t846 = icmp eq ptr %t845, @sc_cs_2875643240706496
+ store i1 true, ptr %s839
+ br i1 %t846, label %brand.done352, label %brand.compare353
+brand.compare353:
+ %t847 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t838, ptr @sc_lit_2875643240706496)
+ store i1 %t847, ptr %s839
+ br label %brand.done352
+brand.done352:
+ %t848 = load i1, ptr %s839
+ br i1 %t848, label %if.t354, label %if.j355
+if.t354:
+ %t849 = load ptr, ptr %sc_l_p_0
+ %t850 = load ptr, ptr %sc_l_p_key
+ %t851 = load ptr, ptr %sc_l_p_0
+ %t852 = call ptr @sc_rc_retain_dyn(ptr %t851)
+ %t854 = icmp ne ptr %t852, null
+ br i1 %t854, label %dc.inspect356, label %dc.checked359
+dc.inspect356:
+ %t859 = getelementptr inbounds i8, ptr %t852, i64 8 ; ->kind
+ %t860 = load i32, ptr %t859
+ %t855 = icmp eq i32 %t860, 12
+ br i1 %t855, label %dc.capsule357, label %dc.checked359
+dc.capsule357:
+ %t856 = getelementptr inbounds i8, ptr %t852, i64 40 ; ->v.typed_ref.type_key
+ %t857 = load ptr, ptr %t856
+ %t858 = icmp eq ptr %t857, @sc_cs_2875643240706496
+ br i1 %t858, label %dc.exact358, label %dc.checked359
+dc.exact358:
+ %t861 = getelementptr inbounds i8, ptr %t852, i64 16 ; ->v.typed_ref.ptr
+ %t862 = load ptr, ptr %t861
+ %t863 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t862)
+ store ptr %t863, ptr %s853
+ br label %dc.done360
+dc.checked359:
+ %t864 = call ptr @sc_dc_48(ptr %t852, ptr null)
+ store ptr %t864, ptr %s853
+ %t865 = load i32, ptr %exc.cell
+ %t866 = icmp ne i32 %t865, 0
+ %t867 = call i1 @llvm.expect.i1(i1 %t866, i1 false)
+ br i1 %t867, label %exc.u361, label %exc.k362
+exc.u361:
+ call void @sc_rc_release_dyn(ptr %t852)
+ br label %exc.cleanup2
+exc.k362:
+ br label %dc.done360
+dc.done360:
+ %t868 = load ptr, ptr %s853
+ %t869 = call ptr @sc_bf__x25_dyn_class_keys_489(ptr %t849, ptr %t850, ptr %t868)
+ %t870 = load i32, ptr %exc.cell
+ %t871 = icmp ne i32 %t870, 0
+ %t872 = call i1 @llvm.expect.i1(i1 %t871, i1 false)
+ br i1 %t872, label %exc.u363, label %exc.k364
+exc.u363:
+ call void @sc_rc_release_dyn(ptr %t852)
+ call void @sc_release__x25_m5_CtxCore(ptr %t868)
+ call void @sc_rc_release_dyn(ptr %t869)
+ br label %exc.cleanup2
+exc.k364:
+ call void @sc_rc_release_dyn(ptr %t852)
+ call void @sc_release__x25_m5_CtxCore(ptr %t868)
+ %t873 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t873)
+ ret ptr %t869
+if.j355:
+ %t874 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s875
+ %t876 = icmp ne ptr %t874, null
+ br i1 %t876, label %brand.inspect365, label %brand.done367
+brand.inspect365:
+ %t877 = getelementptr inbounds i8, ptr %t874, i64 8 ; ->kind
+ %t878 = load i32, ptr %t877
+ %t879 = icmp eq i32 %t878, 12
+ br i1 %t879, label %brand.capsule366, label %brand.done367
+brand.capsule366:
+ %t880 = getelementptr inbounds i8, ptr %t874, i64 40 ; ->v.typed_ref.type_key
+ %t881 = load ptr, ptr %t880
+ %t882 = icmp eq ptr %t881, @sc_cs_21424698936986
+ store i1 true, ptr %s875
+ br i1 %t882, label %brand.done367, label %brand.compare368
+brand.compare368:
+ %t883 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t874, ptr @sc_lit_21424698936986)
+ store i1 %t883, ptr %s875
+ br label %brand.done367
+brand.done367:
+ %t884 = load i1, ptr %s875
+ br i1 %t884, label %if.t369, label %if.j370
+if.t369:
+ %t885 = load ptr, ptr %sc_l_p_0
+ %t886 = load ptr, ptr %sc_l_p_key
+ %t887 = load ptr, ptr %sc_l_p_0
+ %t888 = call ptr @sc_rc_retain_dyn(ptr %t887)
+ %t890 = icmp ne ptr %t888, null
+ br i1 %t890, label %dc.inspect371, label %dc.checked374
+dc.inspect371:
+ %t895 = getelementptr inbounds i8, ptr %t888, i64 8 ; ->kind
+ %t896 = load i32, ptr %t895
+ %t891 = icmp eq i32 %t896, 12
+ br i1 %t891, label %dc.capsule372, label %dc.checked374
+dc.capsule372:
+ %t892 = getelementptr inbounds i8, ptr %t888, i64 40 ; ->v.typed_ref.type_key
+ %t893 = load ptr, ptr %t892
+ %t894 = icmp eq ptr %t893, @sc_cs_21424698936986
+ br i1 %t894, label %dc.exact373, label %dc.checked374
+dc.exact373:
+ %t897 = getelementptr inbounds i8, ptr %t888, i64 16 ; ->v.typed_ref.ptr
+ %t898 = load ptr, ptr %t897
+ %t899 = call ptr @sc_retain__x25_m5_App(ptr %t898)
+ store ptr %t899, ptr %s889
+ br label %dc.done375
+dc.checked374:
+ %t900 = call ptr @sc_dc_91(ptr %t888, ptr null)
+ store ptr %t900, ptr %s889
+ %t901 = load i32, ptr %exc.cell
+ %t902 = icmp ne i32 %t901, 0
+ %t903 = call i1 @llvm.expect.i1(i1 %t902, i1 false)
+ br i1 %t903, label %exc.u376, label %exc.k377
+exc.u376:
+ call void @sc_rc_release_dyn(ptr %t888)
+ br label %exc.cleanup2
+exc.k377:
+ br label %dc.done375
+dc.done375:
+ %t904 = load ptr, ptr %s889
+ %t905 = call ptr @sc_bf__x25_dyn_class_keys_488(ptr %t885, ptr %t886, ptr %t904)
+ %t906 = load i32, ptr %exc.cell
+ %t907 = icmp ne i32 %t906, 0
+ %t908 = call i1 @llvm.expect.i1(i1 %t907, i1 false)
+ br i1 %t908, label %exc.u378, label %exc.k379
+exc.u378:
+ call void @sc_rc_release_dyn(ptr %t888)
+ call void @sc_release__x25_m5_App(ptr %t904)
+ call void @sc_rc_release_dyn(ptr %t905)
+ br label %exc.cleanup2
+exc.k379:
+ call void @sc_rc_release_dyn(ptr %t888)
+ call void @sc_release__x25_m5_App(ptr %t904)
+ %t909 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t909)
+ ret ptr %t905
+if.j370:
+ %t910 = load ptr, ptr %sc_l_p_0
+ %t911 = call ptr @sc_rc_retain_dyn(ptr %t910)
+ %t912 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t911)
+ %t913 = load i32, ptr %exc.cell
+ %t914 = icmp ne i32 %t913, 0
+ %t915 = call i1 @llvm.expect.i1(i1 %t914, i1 false)
+ br i1 %t915, label %exc.u380, label %exc.k381
+exc.u380:
+ call void @sc_rc_release_dyn(ptr %t912)
+ br label %exc.cleanup2
+exc.k381:
+ %t916 = load ptr, ptr %sc_l_p_key
+ %t917 = call ptr @sc_dyn_key_get(ptr %t912, ptr %t916, i1 false)
+ %t918 = load i32, ptr %exc.cell
+ %t919 = icmp ne i32 %t918, 0
+ %t920 = call i1 @llvm.expect.i1(i1 %t919, i1 false)
+ br i1 %t920, label %exc.u382, label %exc.k383
+exc.u382:
+ call void @sc_rc_release_dyn(ptr %t912)
+ call void @sc_rc_release_dyn(ptr %t917)
+ br label %exc.cleanup2
+exc.k383:
+ call void @sc_rc_release_dyn(ptr %t912)
+ %t921 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t921)
+ ret ptr %t917
+exc.cleanup2:
+ %t922 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t922)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_computed_1(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_computed_1(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_call_0(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callback, ptr %p_sc_l_p_1, ptr %p_sc_l_p_calleeName) #0 { ; %dyn.class.call.0
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_callback = alloca ptr ; callback
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s39 = alloca [1 x ptr]
+ %s50 = alloca ptr
+ %s84 = alloca [1 x ptr]
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_callback, ptr %sc_l_p_callback
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_67546268704151
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_67546268704151)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_callback
+ %t22 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t24 = icmp eq i32 %t23, 6
+ %t25 = xor i1 %t24, true
+ br i1 %t25, label %if.t11, label %if.j12
+if.t11:
+ %t26 = load ptr, ptr %sc_l_p_callback
+ %t29 = getelementptr inbounds i8, ptr %t26, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t28 = icmp eq i32 %t30, 5
+ br i1 %t28, label %dkg.ic13, label %dkg.any14
+dkg.ic13:
+ %t31 = call ptr @scr_dyn_obj_read_ic(ptr %t26, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_20)
+ br label %dkg.j15
+dkg.any14:
+ %t32 = call ptr @sc_dyn_key_get(ptr %t26, ptr @sc_lit_3610950885518037, i1 false)
+ br label %dkg.j15
+dkg.j15:
+ %t27 = phi ptr [ %t31, %dkg.ic13 ], [ %t32, %dkg.any14 ]
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup2
+exc.k17:
+ %t36 = load ptr, ptr %sc_l_p_0
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = load ptr, ptr %sc_l_p_1
+ %t40 = getelementptr inbounds [1 x ptr], ptr %s39, i64 0, i64 0
+ store ptr %t38, ptr %t40
+ %t42 = load ptr, ptr %sc_l_p_calleeName
+ %t43 = getelementptr inbounds %ScrStr, ptr %t42, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t37)
+ %t41 = call ptr @scr_dyn_call(ptr %t27, ptr %s39, i64 1, ptr %t43)
+ call void @scr_dyn_this_pop()
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t41)
+ br label %exc.cleanup2
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t47 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ ret ptr %t41
+if.j12:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect20, label %dc.checked23
+dc.inspect20:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule21, label %dc.checked23
+dc.capsule21:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_67546268704151
+ br i1 %t55, label %dc.exact22, label %dc.checked23
+dc.exact22:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done24
+dc.checked23:
+ %t61 = call ptr @sc_dc_107(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u25, label %exc.k26
+exc.u25:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k26:
+ br label %dc.done24
+dc.done24:
+ %t65 = load ptr, ptr %s50
+ %t66 = load ptr, ptr %sc_l_p_1
+ %t67 = call ptr @sc_dc_123(ptr %t66, ptr null)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t65)
+ call void @scr_closure_release(ptr %t67)
+ br label %exc.cleanup2
+exc.k28:
+ call void @sc_bf__x25__x25_m3_LiteHeaders_forEach(ptr %t65, ptr %t67)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t65)
+ call void @scr_closure_release(ptr %t67)
+ br label %exc.cleanup2
+exc.k30:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t65)
+ call void @scr_closure_release(ptr %t67)
+ %t75 = call ptr @scr_dyn_undefined()
+ %t74 = call ptr @scr_dyn_retain_v(ptr %t75)
+ %t76 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret ptr %t74
+if.j10:
+ %t77 = load ptr, ptr %sc_l_p_0
+ %t78 = call ptr @sc_rc_retain_dyn(ptr %t77)
+ %t79 = call ptr @scr_dyn_prepare_method(ptr %t78, ptr @sc_cs_145319249654683)
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t79)
+ br label %exc.cleanup2
+exc.k32:
+ %t83 = load ptr, ptr %sc_l_p_1
+ %t85 = getelementptr inbounds [1 x ptr], ptr %s84, i64 0, i64 0
+ store ptr %t83, ptr %t85
+ %t86 = load ptr, ptr %sc_l_p_calleeName
+ %t87 = getelementptr inbounds %ScrStr, ptr %t86, i32 1
+ %t88 = call ptr @scr_dyn_invoke_prepared(ptr %t78, ptr %t79, ptr @sc_cs_145319249654683, ptr %s84, i64 1, ptr %t87)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u33, label %exc.k34
+exc.u33:
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t79)
+ call void @sc_rc_release_dyn(ptr %t88)
+ br label %exc.cleanup2
+exc.k34:
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t79)
+ %t92 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t92)
+ ret ptr %t88
+exc.cleanup2:
+ %t93 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t93)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_call_0(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_call_0(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_callback_0(ptr %p_sc_l_p_0) #0 { ; %dyn.class.callback.0
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s21 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_67546268704151
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_67546268704151)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ br i1 true, label %tern.t11, label %tern.f12
+tern.t11:
+ %t22 = call ptr @scr_dyn_new_obj()
+ %t23 = load ptr, ptr %sc_l_p_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t25 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %exc.cleanup2
+exc.k15:
+ %t31 = getelementptr inbounds i8, ptr %t25, i64 8 ; ->kind
+ %t32 = load i32, ptr %t31
+ %t30 = icmp eq i32 %t32, 5
+ br i1 %t30, label %dkg.ic16, label %dkg.any17
+dkg.ic16:
+ %t33 = call ptr @scr_dyn_obj_read_ic(ptr %t25, ptr @sc_lit_145319249654683, ptr @sc_dyn_read_ic_21)
+ br label %dkg.j18
+dkg.any17:
+ %t34 = call ptr @sc_dyn_key_get(ptr %t25, ptr @sc_lit_145319249654683, i1 false)
+ br label %dkg.j18
+dkg.j18:
+ %t29 = phi ptr [ %t33, %dkg.ic16 ], [ %t34, %dkg.any17 ]
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup2
+exc.k20:
+ call void @scr_dyn_key_set(ptr %t22, ptr @sc_lit_3610950885518037, ptr %t29)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup2
+exc.k22:
+ store ptr %t22, ptr %s21
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %tern.j13
+tern.f12:
+ %t42 = call ptr @scr_dyn_undefined()
+ %t41 = call ptr @scr_dyn_retain_v(ptr %t42)
+ store ptr %t41, ptr %s21
+ br label %tern.j13
+tern.j13:
+ %t43 = load ptr, ptr %s21
+ %t44 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr %t43
+if.j10:
+ %t46 = call ptr @scr_dyn_undefined()
+ %t45 = call ptr @scr_dyn_retain_v(ptr %t46)
+ %t47 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ ret ptr %t45
+exc.cleanup2:
+ %t48 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_20(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.20
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4297539476301093)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4297539476301093, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4297539476301093)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4297539476301093, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_4297539476301093)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_4297539476301093, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_4297539476301093)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_4297539476301093, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_4297539476301093, ptr @sc_dyn_read_ic_22)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_4297539476301093, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_4297539476301093, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_21(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.21
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1959461887910059)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1959461887910059, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_1959461887910059)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_1959461887910059, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_1959461887910059)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_1959461887910059, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_1959461887910059)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_1959461887910059, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_1959461887910059, ptr @sc_dyn_read_ic_23)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_1959461887910059, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_1959461887910059, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_22(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.22
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_660811353369478
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_660811353369478
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_28(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2827456990858395)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_660811353369478
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_28(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_660811353369478
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_28(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2827456990858395, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2827456990858395, ptr @sc_dyn_read_ic_24)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2827456990858395, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2827456990858395, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_23(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.23
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_660811353369478
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_660811353369478
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_28(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3624217920823549)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_660811353369478
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_28(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_660811353369478
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_28(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3624217920823549, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3624217920823549, ptr @sc_dyn_read_ic_25)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3624217920823549, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3624217920823549, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_24(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.24
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s284 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_30(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_528144782449140)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_1746033898805369
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_30(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_1746033898805369
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_30(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_528144782449140, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_660811353369478
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_660811353369478)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_660811353369478
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_28(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_528144782449140)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_660811353369478
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_28(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_660811353369478
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_28(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_528144782449140, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_2875643240706496
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_2875643240706496)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_2875643240706496
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_48(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m5_CtxCore(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_528144782449140)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m5_CtxCore(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m5_CtxCore(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_2875643240706496
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_48(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m5_CtxCore(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_2875643240706496
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_48(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m5_CtxCore(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_528144782449140, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m5_CtxCore(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m5_CtxCore(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m5_CtxCore(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m5_CtxCore(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ %t275 = call ptr @sc_rc_retain_dyn(ptr %t274)
+ %t276 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t275)
+ %t277 = load i32, ptr %exc.cell
+ %t278 = icmp ne i32 %t277, 0
+ %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false)
+ br i1 %t279, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t276)
+ br label %exc.cleanup2
+exc.k117:
+ %t280 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t276)
+ call void @sc_rc_release_dyn(ptr %t276)
+ store ptr %t280, ptr %sc_l_bag_0
+ %t281 = load ptr, ptr %sc_l_bag_0
+ %t282 = load ptr, ptr %sc_l_p_0
+ %t283 = call zeroext i1 @scr_dyn_strict_eq(ptr %t281, ptr %t282)
+ br i1 %t283, label %tern.t118, label %tern.f119
+tern.t118:
+ %t285 = load ptr, ptr %sc_l_bag_0
+ %t288 = getelementptr inbounds i8, ptr %t285, i64 8 ; ->kind
+ %t289 = load i32, ptr %t288
+ %t287 = icmp eq i32 %t289, 5
+ br i1 %t287, label %dkg.ic121, label %dkg.any122
+dkg.ic121:
+ %t290 = call ptr @scr_dyn_obj_read_ic(ptr %t285, ptr @sc_lit_528144782449140, ptr @sc_dyn_read_ic_26)
+ br label %dkg.j123
+dkg.any122:
+ %t291 = call ptr @sc_dyn_key_get(ptr %t285, ptr @sc_lit_528144782449140, i1 false)
+ br label %dkg.j123
+dkg.j123:
+ %t286 = phi ptr [ %t290, %dkg.ic121 ], [ %t291, %dkg.any122 ]
+ %t292 = load i32, ptr %exc.cell
+ %t293 = icmp ne i32 %t292, 0
+ %t294 = call i1 @llvm.expect.i1(i1 %t293, i1 false)
+ br i1 %t294, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup126
+exc.k125:
+ store ptr %t286, ptr %s284
+ br label %tern.j120
+tern.f119:
+ %t295 = load ptr, ptr %sc_l_bag_0
+ %t296 = call ptr @sc_rc_retain_dyn(ptr %t295)
+ %t297 = load ptr, ptr %sc_l_p_0
+ %t298 = call ptr @sc_rc_retain_dyn(ptr %t297)
+ %t299 = call ptr @scr_dyn_bag_get(ptr %t296, ptr @sc_lit_528144782449140, ptr %t298)
+ %t300 = load i32, ptr %exc.cell
+ %t301 = icmp ne i32 %t300, 0
+ %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false)
+ br i1 %t302, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t296)
+ call void @sc_rc_release_dyn(ptr %t298)
+ call void @sc_rc_release_dyn(ptr %t299)
+ br label %exc.cleanup126
+exc.k128:
+ store ptr %t299, ptr %s284
+ call void @sc_rc_release_dyn(ptr %t296)
+ call void @sc_rc_release_dyn(ptr %t298)
+ br label %tern.j120
+tern.j120:
+ %t303 = load ptr, ptr %s284
+ %t304 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t304)
+ %t305 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t305)
+ ret ptr %t303
+exc.cleanup2:
+ %t306 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t306)
+ ret ptr null
+exc.cleanup126:
+ %t307 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t307)
+ %t308 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t308)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m4.MultipartParser
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t4, i64 0, i32 21
+ %t6 = load ptr, ptr %t5, !tbaa !204
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = call ptr @sc_f__x25_prototype_data__x25_m4_MultipartParser()
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @scr_dyn_obj_create(ptr %t10)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t14
+if.j3:
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t18, i64 0, i32 21
+ %t20 = load ptr, ptr %t19, !tbaa !204
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ ret ptr %t21
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m4_MultipartParser(ptr %p0)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_25(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.25
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_105(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3531366543973767)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_105(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_105(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3531366543973767, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3531366543973767, ptr @sc_dyn_read_ic_27)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3531366543973767, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3531366543973767, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_26(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.26
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_105(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1173128410961643)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_105(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_105(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1173128410961643, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1173128410961643, ptr @sc_dyn_read_ic_28)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1173128410961643, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1173128410961643, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_27(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.27
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_660811353369478
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_660811353369478
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_28(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3532714511332900)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_660811353369478
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_28(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_660811353369478
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_28(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3532714511332900, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3532714511332900, ptr @sc_dyn_read_ic_29)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3532714511332900, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3532714511332900, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m3.LiteResponse
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t4, i64 0, i32 2
+ %t6 = load ptr, ptr %t5, !tbaa !204
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteResponse()
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @scr_dyn_obj_create(ptr %t10)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t14
+if.j3:
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t18, i64 0, i32 2
+ %t20 = load ptr, ptr %t19, !tbaa !204
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ ret ptr %t21
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteResponse(ptr %p0)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_28(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.28
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_992600386266231)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_992600386266231, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_992600386266231)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_992600386266231, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_992600386266231)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_992600386266231, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_992600386266231)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_992600386266231, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_992600386266231, ptr @sc_dyn_read_ic_30)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_992600386266231, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_992600386266231, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m11.StaticServer
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t4, i64 0, i32 6
+ %t6 = load ptr, ptr %t5, !tbaa !204
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = call ptr @sc_f__x25_prototype_data__x25_m11_StaticServer()
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @scr_dyn_obj_create(ptr %t10)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t14
+if.j3:
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t18, i64 0, i32 6
+ %t20 = load ptr, ptr %t19, !tbaa !204
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ ret ptr %t21
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m11_StaticServer(ptr %p0)
+ call void @sc_release__x25_m11_StaticServer(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_29(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.29
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_864190948149583
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_864190948149583)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_864190948149583
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_103(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2232031524457002)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_864190948149583
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_103(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_864190948149583
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_103(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2232031524457002, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m11_StaticServer(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m11_StaticServer(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2232031524457002, ptr @sc_dyn_read_ic_31)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2232031524457002, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2232031524457002, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_ReqViewCore(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m5.ReqViewCore
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %dc.inspect2, label %dc.checked5
+dc.inspect2:
+ %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t7 = icmp eq i32 %t12, 12
+ br i1 %t7, label %dc.capsule3, label %dc.checked5
+dc.capsule3:
+ %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t9 = load ptr, ptr %t8
+ %t10 = icmp eq ptr %t9, @sc_cs_660811353369478
+ br i1 %t10, label %dc.exact4, label %dc.checked5
+dc.exact4:
+ %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t14)
+ store ptr %t15, ptr %s5
+ br label %dc.done6
+dc.checked5:
+ %t16 = call ptr @sc_dc_28(ptr %t4, ptr null)
+ store ptr %t16, ptr %s5
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u7, label %exc.k8
+exc.u7:
+ ret ptr null
+exc.k8:
+ br label %dc.done6
+dc.done6:
+ %t20 = load ptr, ptr %s5
+ ret ptr %t20
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m5_ReqViewCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_ReqViewCore(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_30(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.30
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s54 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_2875643240706496
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2875643240706496)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_2875643240706496
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_48(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t38, i64 0, i32 1
+ %t40 = load ptr, ptr %t39, !tbaa !24
+ %t41 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t40)
+ %t42 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t41, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t41)
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr %t42
+if.j10:
+ %t44 = load ptr, ptr %sc_l_p_0
+ %t45 = call ptr @sc_rc_retain_dyn(ptr %t44)
+ %t46 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t45)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t46)
+ br label %exc.cleanup2
+exc.k19:
+ %t50 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t46)
+ call void @sc_rc_release_dyn(ptr %t46)
+ store ptr %t50, ptr %sc_l_bag_0
+ %t51 = load ptr, ptr %sc_l_bag_0
+ %t52 = load ptr, ptr %sc_l_p_0
+ %t53 = call zeroext i1 @scr_dyn_strict_eq(ptr %t51, ptr %t52)
+ br i1 %t53, label %tern.t20, label %tern.f21
+tern.t20:
+ %t55 = load ptr, ptr %sc_l_bag_0
+ %t58 = getelementptr inbounds i8, ptr %t55, i64 8 ; ->kind
+ %t59 = load i32, ptr %t58
+ %t57 = icmp eq i32 %t59, 5
+ br i1 %t57, label %dkg.ic23, label %dkg.any24
+dkg.ic23:
+ %t60 = call ptr @scr_dyn_obj_read_ic(ptr %t55, ptr @sc_lit_3447500980845638, ptr @sc_dyn_read_ic_32)
+ br label %dkg.j25
+dkg.any24:
+ %t61 = call ptr @sc_dyn_key_get(ptr %t55, ptr @sc_lit_3447500980845638, i1 false)
+ br label %dkg.j25
+dkg.j25:
+ %t56 = phi ptr [ %t60, %dkg.ic23 ], [ %t61, %dkg.any24 ]
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t56)
+ br label %exc.cleanup28
+exc.k27:
+ store ptr %t56, ptr %s54
+ br label %tern.j22
+tern.f21:
+ %t65 = load ptr, ptr %sc_l_bag_0
+ %t66 = call ptr @sc_rc_retain_dyn(ptr %t65)
+ %t67 = load ptr, ptr %sc_l_p_0
+ %t68 = call ptr @sc_rc_retain_dyn(ptr %t67)
+ %t69 = call ptr @scr_dyn_bag_get(ptr %t66, ptr @sc_lit_3447500980845638, ptr %t68)
+ %t70 = load i32, ptr %exc.cell
+ %t71 = icmp ne i32 %t70, 0
+ %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false)
+ br i1 %t72, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @sc_rc_release_dyn(ptr %t69)
+ br label %exc.cleanup28
+exc.k30:
+ store ptr %t69, ptr %s54
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t68)
+ br label %tern.j22
+tern.j22:
+ %t73 = load ptr, ptr %s54
+ %t74 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t74)
+ %t75 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret ptr %t73
+exc.cleanup2:
+ %t76 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret ptr null
+exc.cleanup28:
+ %t77 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t77)
+ %t78 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t78)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_31(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.31
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_2875643240706496
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2875643240706496)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_2875643240706496
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_48(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_48178627029362)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_2875643240706496
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_48(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_2875643240706496
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_48(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_48178627029362, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_48178627029362, ptr @sc_dyn_read_ic_33)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_48178627029362, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_48178627029362, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_32(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.32
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_660811353369478
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_660811353369478
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_28(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3600534565598564)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_660811353369478
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_28(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_660811353369478
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_28(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3600534565598564, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3600534565598564, ptr @sc_dyn_read_ic_34)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3600534565598564, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3600534565598564, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_33(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.33
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s196 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4041255434968695
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_101(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2677147133778287)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4041255434968695
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_101(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4041255434968695
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_101(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2677147133778287, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2875643240706496
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2875643240706496)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2875643240706496
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_48(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m5_CtxCore(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_2677147133778287)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m5_CtxCore(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m5_CtxCore(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2875643240706496
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_48(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m5_CtxCore(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2875643240706496
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_48(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m5_CtxCore(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_2677147133778287, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m5_CtxCore(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m5_CtxCore(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m5_CtxCore(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m5_CtxCore(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ %t187 = call ptr @sc_rc_retain_dyn(ptr %t186)
+ %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u79, label %exc.k80
+exc.u79:
+ call void @sc_rc_release_dyn(ptr %t188)
+ br label %exc.cleanup2
+exc.k80:
+ %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188)
+ call void @sc_rc_release_dyn(ptr %t188)
+ store ptr %t192, ptr %sc_l_bag_0
+ %t193 = load ptr, ptr %sc_l_bag_0
+ %t194 = load ptr, ptr %sc_l_p_0
+ %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194)
+ br i1 %t195, label %tern.t81, label %tern.f82
+tern.t81:
+ %t197 = load ptr, ptr %sc_l_bag_0
+ %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind
+ %t201 = load i32, ptr %t200
+ %t199 = icmp eq i32 %t201, 5
+ br i1 %t199, label %dkg.ic84, label %dkg.any85
+dkg.ic84:
+ %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_2677147133778287, ptr @sc_dyn_read_ic_35)
+ br label %dkg.j86
+dkg.any85:
+ %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_2677147133778287, i1 false)
+ br label %dkg.j86
+dkg.j86:
+ %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ]
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u87, label %exc.k88
+exc.u87:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup89
+exc.k88:
+ store ptr %t198, ptr %s196
+ br label %tern.j83
+tern.f82:
+ %t207 = load ptr, ptr %sc_l_bag_0
+ %t208 = call ptr @sc_rc_retain_dyn(ptr %t207)
+ %t209 = load ptr, ptr %sc_l_p_0
+ %t210 = call ptr @sc_rc_retain_dyn(ptr %t209)
+ %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_2677147133778287, ptr %t210)
+ %t212 = load i32, ptr %exc.cell
+ %t213 = icmp ne i32 %t212, 0
+ %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false)
+ br i1 %t214, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ call void @sc_rc_release_dyn(ptr %t211)
+ br label %exc.cleanup89
+exc.k91:
+ store ptr %t211, ptr %s196
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ br label %tern.j83
+tern.j83:
+ %t215 = load ptr, ptr %s196
+ %t216 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t216)
+ %t217 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t217)
+ ret ptr %t215
+exc.cleanup2:
+ %t218 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t218)
+ ret ptr null
+exc.cleanup89:
+ %t219 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t219)
+ %t220 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t220)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_34(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.34
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_864190948149583
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_864190948149583)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_864190948149583
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_103(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_700259281879664)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_864190948149583
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_103(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_864190948149583
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_103(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_700259281879664, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m11_StaticServer(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m11_StaticServer(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_700259281879664, ptr @sc_dyn_read_ic_36)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_700259281879664, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_700259281879664, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_35(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.35
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_864190948149583
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_864190948149583)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_864190948149583
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_103(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2478521587363481)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_864190948149583
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_103(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_864190948149583
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_103(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2478521587363481, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m11_StaticServer(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m11_StaticServer(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2478521587363481, ptr @sc_dyn_read_ic_37)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2478521587363481, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2478521587363481, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_36(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.36
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s54 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_2875643240706496
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2875643240706496)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_2875643240706496
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_48(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t38, i64 0, i32 7
+ %t40 = load ptr, ptr %t39, !tbaa !162
+ %t41 = call ptr @scr_union_retain_v(ptr %t40)
+ %t42 = call ptr @sc_td_14(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxCore(ptr %t38)
+ call void @scr_union_release(ptr %t41)
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr %t42
+if.j10:
+ %t44 = load ptr, ptr %sc_l_p_0
+ %t45 = call ptr @sc_rc_retain_dyn(ptr %t44)
+ %t46 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t45)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t46)
+ br label %exc.cleanup2
+exc.k19:
+ %t50 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t46)
+ call void @sc_rc_release_dyn(ptr %t46)
+ store ptr %t50, ptr %sc_l_bag_0
+ %t51 = load ptr, ptr %sc_l_bag_0
+ %t52 = load ptr, ptr %sc_l_p_0
+ %t53 = call zeroext i1 @scr_dyn_strict_eq(ptr %t51, ptr %t52)
+ br i1 %t53, label %tern.t20, label %tern.f21
+tern.t20:
+ %t55 = load ptr, ptr %sc_l_bag_0
+ %t58 = getelementptr inbounds i8, ptr %t55, i64 8 ; ->kind
+ %t59 = load i32, ptr %t58
+ %t57 = icmp eq i32 %t59, 5
+ br i1 %t57, label %dkg.ic23, label %dkg.any24
+dkg.ic23:
+ %t60 = call ptr @scr_dyn_obj_read_ic(ptr %t55, ptr @sc_lit_3084154227263888, ptr @sc_dyn_read_ic_38)
+ br label %dkg.j25
+dkg.any24:
+ %t61 = call ptr @sc_dyn_key_get(ptr %t55, ptr @sc_lit_3084154227263888, i1 false)
+ br label %dkg.j25
+dkg.j25:
+ %t56 = phi ptr [ %t60, %dkg.ic23 ], [ %t61, %dkg.any24 ]
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t56)
+ br label %exc.cleanup28
+exc.k27:
+ store ptr %t56, ptr %s54
+ br label %tern.j22
+tern.f21:
+ %t65 = load ptr, ptr %sc_l_bag_0
+ %t66 = call ptr @sc_rc_retain_dyn(ptr %t65)
+ %t67 = load ptr, ptr %sc_l_p_0
+ %t68 = call ptr @sc_rc_retain_dyn(ptr %t67)
+ %t69 = call ptr @scr_dyn_bag_get(ptr %t66, ptr @sc_lit_3084154227263888, ptr %t68)
+ %t70 = load i32, ptr %exc.cell
+ %t71 = icmp ne i32 %t70, 0
+ %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false)
+ br i1 %t72, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @sc_rc_release_dyn(ptr %t69)
+ br label %exc.cleanup28
+exc.k30:
+ store ptr %t69, ptr %s54
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t68)
+ br label %tern.j22
+tern.j22:
+ %t73 = load ptr, ptr %s54
+ %t74 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t74)
+ %t75 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret ptr %t73
+exc.cleanup2:
+ %t76 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret ptr null
+exc.cleanup28:
+ %t77 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t77)
+ %t78 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t78)
+ ret ptr null
+}
+
+define internal void @sc_bf__x25_dyn_class_property_37(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %dyn.class.property.37
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_1 = alloca ptr ; p1
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s48 = alloca i1
+ %s60 = alloca ptr
+ %s85 = alloca i1
+ %s97 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = load ptr, ptr %sc_l_p_1
+ %t40 = call zeroext i1 @sc_dc_3(ptr %t39, ptr null)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t38, i64 0, i32 8
+ %t45 = zext i1 %t40 to i8
+ store i8 %t45, ptr %t44, !tbaa !42
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ %t46 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret void
+if.j10:
+ %t47 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s48
+ %t49 = icmp ne ptr %t47, null
+ br i1 %t49, label %brand.inspect20, label %brand.done22
+brand.inspect20:
+ %t50 = getelementptr inbounds i8, ptr %t47, i64 8 ; ->kind
+ %t51 = load i32, ptr %t50
+ %t52 = icmp eq i32 %t51, 12
+ br i1 %t52, label %brand.capsule21, label %brand.done22
+brand.capsule21:
+ %t53 = getelementptr inbounds i8, ptr %t47, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_2434838942941195
+ store i1 true, ptr %s48
+ br i1 %t55, label %brand.done22, label %brand.compare23
+brand.compare23:
+ %t56 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t47, ptr @sc_lit_2434838942941195)
+ store i1 %t56, ptr %s48
+ br label %brand.done22
+brand.done22:
+ %t57 = load i1, ptr %s48
+ br i1 %t57, label %if.t24, label %if.j25
+if.t24:
+ %t58 = load ptr, ptr %sc_l_p_0
+ %t59 = call ptr @sc_rc_retain_dyn(ptr %t58)
+ %t61 = icmp ne ptr %t59, null
+ br i1 %t61, label %dc.inspect26, label %dc.checked29
+dc.inspect26:
+ %t66 = getelementptr inbounds i8, ptr %t59, i64 8 ; ->kind
+ %t67 = load i32, ptr %t66
+ %t62 = icmp eq i32 %t67, 12
+ br i1 %t62, label %dc.capsule27, label %dc.checked29
+dc.capsule27:
+ %t63 = getelementptr inbounds i8, ptr %t59, i64 40 ; ->v.typed_ref.type_key
+ %t64 = load ptr, ptr %t63
+ %t65 = icmp eq ptr %t64, @sc_cs_2434838942941195
+ br i1 %t65, label %dc.exact28, label %dc.checked29
+dc.exact28:
+ %t68 = getelementptr inbounds i8, ptr %t59, i64 16 ; ->v.typed_ref.ptr
+ %t69 = load ptr, ptr %t68
+ %t70 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t69)
+ store ptr %t70, ptr %s60
+ br label %dc.done30
+dc.checked29:
+ %t71 = call ptr @sc_dc_52(ptr %t59, ptr null)
+ store ptr %t71, ptr %s60
+ %t72 = load i32, ptr %exc.cell
+ %t73 = icmp ne i32 %t72, 0
+ %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false)
+ br i1 %t74, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t59)
+ br label %exc.cleanup2
+exc.k32:
+ br label %dc.done30
+dc.done30:
+ %t75 = load ptr, ptr %s60
+ %t76 = load ptr, ptr %sc_l_p_1
+ %t77 = call zeroext i1 @sc_dc_3(ptr %t76, ptr null)
+ %t78 = load i32, ptr %exc.cell
+ %t79 = icmp ne i32 %t78, 0
+ %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false)
+ br i1 %t80, label %exc.u33, label %exc.k34
+exc.u33:
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t75)
+ br label %exc.cleanup2
+exc.k34:
+ %t81 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t75, i64 0, i32 8
+ %t82 = zext i1 %t77 to i8
+ store i8 %t82, ptr %t81, !tbaa !42
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t75)
+ %t83 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t83)
+ ret void
+if.j25:
+ %t84 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s85
+ %t86 = icmp ne ptr %t84, null
+ br i1 %t86, label %brand.inspect35, label %brand.done37
+brand.inspect35:
+ %t87 = getelementptr inbounds i8, ptr %t84, i64 8 ; ->kind
+ %t88 = load i32, ptr %t87
+ %t89 = icmp eq i32 %t88, 12
+ br i1 %t89, label %brand.capsule36, label %brand.done37
+brand.capsule36:
+ %t90 = getelementptr inbounds i8, ptr %t84, i64 40 ; ->v.typed_ref.type_key
+ %t91 = load ptr, ptr %t90
+ %t92 = icmp eq ptr %t91, @sc_cs_2875643240706496
+ store i1 true, ptr %s85
+ br i1 %t92, label %brand.done37, label %brand.compare38
+brand.compare38:
+ %t93 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t84, ptr @sc_lit_2875643240706496)
+ store i1 %t93, ptr %s85
+ br label %brand.done37
+brand.done37:
+ %t94 = load i1, ptr %s85
+ br i1 %t94, label %if.t39, label %if.j40
+if.t39:
+ %t95 = load ptr, ptr %sc_l_p_0
+ %t96 = call ptr @sc_rc_retain_dyn(ptr %t95)
+ %t98 = icmp ne ptr %t96, null
+ br i1 %t98, label %dc.inspect41, label %dc.checked44
+dc.inspect41:
+ %t103 = getelementptr inbounds i8, ptr %t96, i64 8 ; ->kind
+ %t104 = load i32, ptr %t103
+ %t99 = icmp eq i32 %t104, 12
+ br i1 %t99, label %dc.capsule42, label %dc.checked44
+dc.capsule42:
+ %t100 = getelementptr inbounds i8, ptr %t96, i64 40 ; ->v.typed_ref.type_key
+ %t101 = load ptr, ptr %t100
+ %t102 = icmp eq ptr %t101, @sc_cs_2875643240706496
+ br i1 %t102, label %dc.exact43, label %dc.checked44
+dc.exact43:
+ %t105 = getelementptr inbounds i8, ptr %t96, i64 16 ; ->v.typed_ref.ptr
+ %t106 = load ptr, ptr %t105
+ %t107 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t106)
+ store ptr %t107, ptr %s97
+ br label %dc.done45
+dc.checked44:
+ %t108 = call ptr @sc_dc_48(ptr %t96, ptr null)
+ store ptr %t108, ptr %s97
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t96)
+ br label %exc.cleanup2
+exc.k47:
+ br label %dc.done45
+dc.done45:
+ %t112 = load ptr, ptr %s97
+ %t113 = load ptr, ptr %sc_l_p_1
+ %t114 = call zeroext i1 @sc_dc_3(ptr %t113, ptr null)
+ %t115 = load i32, ptr %exc.cell
+ %t116 = icmp ne i32 %t115, 0
+ %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false)
+ br i1 %t117, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_release__x25_m5_CtxCore(ptr %t112)
+ br label %exc.cleanup2
+exc.k49:
+ %t118 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t112, i64 0, i32 5
+ %t119 = zext i1 %t114 to i8
+ store i8 %t119, ptr %t118, !tbaa !42
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_release__x25_m5_CtxCore(ptr %t112)
+ %t120 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t120)
+ ret void
+if.j40:
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @sc_f__x25_dyn_class_properties(ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup2
+exc.k51:
+ %t127 = load ptr, ptr %sc_l_p_1
+ %t128 = call ptr @sc_rc_retain_dyn(ptr %t127)
+ call void @scr_dyn_key_set(ptr %t123, ptr @sc_lit_2163543391075186, ptr %t128)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t123)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k53:
+ call void @sc_rc_release_dyn(ptr %t123)
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t132 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret void
+exc.cleanup2:
+ %t133 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t133)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_property_37(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_property_37(ptr %p0, ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p1)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_dyn_class_forInKeyStrings(ptr %p_sc_l_p_0) #0 { ; %dyn.class.forInKeyStrings
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_rc_retain_dyn(ptr %t4)
+ %t6 = call ptr @scr_dyn_for_in_key_strs(ptr %t5)
+ %t7 = load i32, ptr %exc.cell
+ %t8 = icmp ne i32 %t7, 0
+ %t9 = call i1 @llvm.expect.i1(i1 %t8, i1 false)
+ br i1 %t9, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t5)
+ call void @scr_arr_release(ptr %t6)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ ret ptr %t6
+}
+define internal ptr @sc_f__x25_dyn_class_forInKeyStrings(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_forInKeyStrings(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_38(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.38
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_105(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1900193337948069)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_105(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_105(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1900193337948069, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1900193337948069, ptr @sc_dyn_read_ic_39)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1900193337948069, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1900193337948069, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_39(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.39
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_105(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_142546227685363)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_105(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_105(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_142546227685363, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_142546227685363, ptr @sc_dyn_read_ic_40)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_142546227685363, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_142546227685363, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_40(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.40
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_105(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2281930073577937)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_105(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_105(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2281930073577937, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2281930073577937, ptr @sc_dyn_read_ic_41)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2281930073577937, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2281930073577937, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_41(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.41
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_105(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1113582459875923)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_105(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_105(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1113582459875923, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1113582459875923, ptr @sc_dyn_read_ic_42)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1113582459875923, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1113582459875923, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_42(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.42
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_105(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1360183775732063)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_105(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_105(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1360183775732063, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1360183775732063, ptr @sc_dyn_read_ic_43)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1360183775732063, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1360183775732063, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_43(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.43
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s196 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3728566007289652
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3728566007289652)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3728566007289652
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_100(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1026109439396001)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3728566007289652
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_100(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3728566007289652
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_100(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1026109439396001, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2072202777142634
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2072202777142634)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2072202777142634
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_26(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_1026109439396001)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2072202777142634
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_26(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2072202777142634
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_26(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_1026109439396001, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ %t187 = call ptr @sc_rc_retain_dyn(ptr %t186)
+ %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u79, label %exc.k80
+exc.u79:
+ call void @sc_rc_release_dyn(ptr %t188)
+ br label %exc.cleanup2
+exc.k80:
+ %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188)
+ call void @sc_rc_release_dyn(ptr %t188)
+ store ptr %t192, ptr %sc_l_bag_0
+ %t193 = load ptr, ptr %sc_l_bag_0
+ %t194 = load ptr, ptr %sc_l_p_0
+ %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194)
+ br i1 %t195, label %tern.t81, label %tern.f82
+tern.t81:
+ %t197 = load ptr, ptr %sc_l_bag_0
+ %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind
+ %t201 = load i32, ptr %t200
+ %t199 = icmp eq i32 %t201, 5
+ br i1 %t199, label %dkg.ic84, label %dkg.any85
+dkg.ic84:
+ %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_1026109439396001, ptr @sc_dyn_read_ic_44)
+ br label %dkg.j86
+dkg.any85:
+ %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_1026109439396001, i1 false)
+ br label %dkg.j86
+dkg.j86:
+ %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ]
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u87, label %exc.k88
+exc.u87:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup89
+exc.k88:
+ store ptr %t198, ptr %s196
+ br label %tern.j83
+tern.f82:
+ %t207 = load ptr, ptr %sc_l_bag_0
+ %t208 = call ptr @sc_rc_retain_dyn(ptr %t207)
+ %t209 = load ptr, ptr %sc_l_p_0
+ %t210 = call ptr @sc_rc_retain_dyn(ptr %t209)
+ %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_1026109439396001, ptr %t210)
+ %t212 = load i32, ptr %exc.cell
+ %t213 = icmp ne i32 %t212, 0
+ %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false)
+ br i1 %t214, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ call void @sc_rc_release_dyn(ptr %t211)
+ br label %exc.cleanup89
+exc.k91:
+ store ptr %t211, ptr %s196
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ br label %tern.j83
+tern.j83:
+ %t215 = load ptr, ptr %s196
+ %t216 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t216)
+ %t217 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t217)
+ ret ptr %t215
+exc.cleanup2:
+ %t218 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t218)
+ ret ptr null
+exc.cleanup89:
+ %t219 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t219)
+ %t220 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t220)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_44(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.44
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3163508115280491
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3163508115280491)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3163508115280491
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_105(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3922224781708262)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3163508115280491
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_105(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3163508115280491
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_105(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3922224781708262, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MultipartParser(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3922224781708262, ptr @sc_dyn_read_ic_45)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3922224781708262, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3922224781708262, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_45(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.45
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s196 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3456310594719780
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3456310594719780)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3456310594719780
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_99(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4062729090063393)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3456310594719780
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_99(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3456310594719780
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_99(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4062729090063393, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_3635319175845957
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_3635319175845957)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_3635319175845957
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_24(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4062729090063393)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_3635319175845957
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_24(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_3635319175845957
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_24(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4062729090063393, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ %t187 = call ptr @sc_rc_retain_dyn(ptr %t186)
+ %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u79, label %exc.k80
+exc.u79:
+ call void @sc_rc_release_dyn(ptr %t188)
+ br label %exc.cleanup2
+exc.k80:
+ %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188)
+ call void @sc_rc_release_dyn(ptr %t188)
+ store ptr %t192, ptr %sc_l_bag_0
+ %t193 = load ptr, ptr %sc_l_bag_0
+ %t194 = load ptr, ptr %sc_l_p_0
+ %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194)
+ br i1 %t195, label %tern.t81, label %tern.f82
+tern.t81:
+ %t197 = load ptr, ptr %sc_l_bag_0
+ %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind
+ %t201 = load i32, ptr %t200
+ %t199 = icmp eq i32 %t201, 5
+ br i1 %t199, label %dkg.ic84, label %dkg.any85
+dkg.ic84:
+ %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_4062729090063393, ptr @sc_dyn_read_ic_46)
+ br label %dkg.j86
+dkg.any85:
+ %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_4062729090063393, i1 false)
+ br label %dkg.j86
+dkg.j86:
+ %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ]
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u87, label %exc.k88
+exc.u87:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup89
+exc.k88:
+ store ptr %t198, ptr %s196
+ br label %tern.j83
+tern.f82:
+ %t207 = load ptr, ptr %sc_l_bag_0
+ %t208 = call ptr @sc_rc_retain_dyn(ptr %t207)
+ %t209 = load ptr, ptr %sc_l_p_0
+ %t210 = call ptr @sc_rc_retain_dyn(ptr %t209)
+ %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_4062729090063393, ptr %t210)
+ %t212 = load i32, ptr %exc.cell
+ %t213 = icmp ne i32 %t212, 0
+ %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false)
+ br i1 %t214, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ call void @sc_rc_release_dyn(ptr %t211)
+ br label %exc.cleanup89
+exc.k91:
+ store ptr %t211, ptr %s196
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ br label %tern.j83
+tern.j83:
+ %t215 = load ptr, ptr %s196
+ %t216 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t216)
+ %t217 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t217)
+ ret ptr %t215
+exc.cleanup2:
+ %t218 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t218)
+ ret ptr null
+exc.cleanup89:
+ %t219 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t219)
+ %t220 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t220)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartFileSink(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m4.MultipartFileSink
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %dc.inspect2, label %dc.checked5
+dc.inspect2:
+ %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t7 = icmp eq i32 %t12, 12
+ br i1 %t7, label %dc.capsule3, label %dc.checked5
+dc.capsule3:
+ %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t9 = load ptr, ptr %t8
+ %t10 = icmp eq ptr %t9, @sc_cs_2072202777142634
+ br i1 %t10, label %dc.exact4, label %dc.checked5
+dc.exact4:
+ %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t14)
+ store ptr %t15, ptr %s5
+ br label %dc.done6
+dc.checked5:
+ %t16 = call ptr @sc_dc_26(ptr %t4, ptr null)
+ store ptr %t16, ptr %s5
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u7, label %exc.k8
+exc.u7:
+ ret ptr null
+exc.k8:
+ br label %dc.done6
+dc.done6:
+ %t20 = load ptr, ptr %s5
+ ret ptr %t20
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m4_MultipartFileSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartFileSink(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_46(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.46
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s363 = alloca i1
+ %s375 = alloca ptr
+ %s402 = alloca ptr
+ %s425 = alloca ptr
+ %s451 = alloca i1
+ %s463 = alloca ptr
+ %s490 = alloca ptr
+ %s513 = alloca ptr
+ %s548 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3728566007289652
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3728566007289652)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3728566007289652
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_100(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_298897322184109)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3728566007289652
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_100(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3728566007289652
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_100(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_298897322184109, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2072202777142634
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2072202777142634)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2072202777142634
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_26(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_298897322184109)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2072202777142634
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_26(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2072202777142634
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_26(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_298897322184109, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_4074974279575818
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_4074974279575818)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_4074974279575818
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_104(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_298897322184109)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_4074974279575818
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_104(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_4074974279575818
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_104(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_298897322184109, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_2434838942941195
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_2434838942941195)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_2434838942941195
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_52(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_298897322184109)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_2434838942941195
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_52(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_2434838942941195
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_52(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_298897322184109, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s363
+ %t364 = icmp ne ptr %t362, null
+ br i1 %t364, label %brand.inspect153, label %brand.done155
+brand.inspect153:
+ %t365 = getelementptr inbounds i8, ptr %t362, i64 8 ; ->kind
+ %t366 = load i32, ptr %t365
+ %t367 = icmp eq i32 %t366, 12
+ br i1 %t367, label %brand.capsule154, label %brand.done155
+brand.capsule154:
+ %t368 = getelementptr inbounds i8, ptr %t362, i64 40 ; ->v.typed_ref.type_key
+ %t369 = load ptr, ptr %t368
+ %t370 = icmp eq ptr %t369, @sc_cs_3326437563644705
+ store i1 true, ptr %s363
+ br i1 %t370, label %brand.done155, label %brand.compare156
+brand.compare156:
+ %t371 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t362, ptr @sc_lit_3326437563644705)
+ store i1 %t371, ptr %s363
+ br label %brand.done155
+brand.done155:
+ %t372 = load i1, ptr %s363
+ br i1 %t372, label %if.t157, label %if.j158
+if.t157:
+ %t373 = load ptr, ptr %sc_l_p_0
+ %t374 = call ptr @sc_rc_retain_dyn(ptr %t373)
+ %t376 = icmp ne ptr %t374, null
+ br i1 %t376, label %dc.inspect159, label %dc.checked162
+dc.inspect159:
+ %t381 = getelementptr inbounds i8, ptr %t374, i64 8 ; ->kind
+ %t382 = load i32, ptr %t381
+ %t377 = icmp eq i32 %t382, 12
+ br i1 %t377, label %dc.capsule160, label %dc.checked162
+dc.capsule160:
+ %t378 = getelementptr inbounds i8, ptr %t374, i64 40 ; ->v.typed_ref.type_key
+ %t379 = load ptr, ptr %t378
+ %t380 = icmp eq ptr %t379, @sc_cs_3326437563644705
+ br i1 %t380, label %dc.exact161, label %dc.checked162
+dc.exact161:
+ %t383 = getelementptr inbounds i8, ptr %t374, i64 16 ; ->v.typed_ref.ptr
+ %t384 = load ptr, ptr %t383
+ %t385 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t384)
+ store ptr %t385, ptr %s375
+ br label %dc.done163
+dc.checked162:
+ %t386 = call ptr @sc_dc_102(ptr %t374, ptr null)
+ store ptr %t386, ptr %s375
+ %t387 = load i32, ptr %exc.cell
+ %t388 = icmp ne i32 %t387, 0
+ %t389 = call i1 @llvm.expect.i1(i1 %t388, i1 false)
+ br i1 %t389, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup2
+exc.k165:
+ br label %dc.done163
+dc.done163:
+ %t390 = load ptr, ptr %s375
+ %t391 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t390, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t392 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t391)
+ %t393 = load i32, ptr %exc.cell
+ %t394 = icmp ne i32 %t393, 0
+ %t395 = call i1 @llvm.expect.i1(i1 %t394, i1 false)
+ br i1 %t395, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t390)
+ call void @sc_rc_release_dyn(ptr %t392)
+ br label %exc.cleanup2
+exc.k167:
+ %t396 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t392, ptr @sc_lit_298897322184109)
+ %t397 = load i32, ptr %exc.cell
+ %t398 = icmp ne i32 %t397, 0
+ %t399 = call i1 @llvm.expect.i1(i1 %t398, i1 false)
+ br i1 %t399, label %exc.u168, label %exc.k169
+exc.u168:
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t390)
+ call void @sc_rc_release_dyn(ptr %t392)
+ br label %exc.cleanup2
+exc.k169:
+ call void @sc_rc_release_dyn(ptr %t374)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t390)
+ call void @sc_rc_release_dyn(ptr %t392)
+ br i1 %t396, label %if.t170, label %if.j171
+if.t170:
+ %t400 = load ptr, ptr %sc_l_p_0
+ %t401 = call ptr @sc_rc_retain_dyn(ptr %t400)
+ %t403 = icmp ne ptr %t401, null
+ br i1 %t403, label %dc.inspect172, label %dc.checked175
+dc.inspect172:
+ %t408 = getelementptr inbounds i8, ptr %t401, i64 8 ; ->kind
+ %t409 = load i32, ptr %t408
+ %t404 = icmp eq i32 %t409, 12
+ br i1 %t404, label %dc.capsule173, label %dc.checked175
+dc.capsule173:
+ %t405 = getelementptr inbounds i8, ptr %t401, i64 40 ; ->v.typed_ref.type_key
+ %t406 = load ptr, ptr %t405
+ %t407 = icmp eq ptr %t406, @sc_cs_3326437563644705
+ br i1 %t407, label %dc.exact174, label %dc.checked175
+dc.exact174:
+ %t410 = getelementptr inbounds i8, ptr %t401, i64 16 ; ->v.typed_ref.ptr
+ %t411 = load ptr, ptr %t410
+ %t412 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t411)
+ store ptr %t412, ptr %s402
+ br label %dc.done176
+dc.checked175:
+ %t413 = call ptr @sc_dc_102(ptr %t401, ptr null)
+ store ptr %t413, ptr %s402
+ %t414 = load i32, ptr %exc.cell
+ %t415 = icmp ne i32 %t414, 0
+ %t416 = call i1 @llvm.expect.i1(i1 %t415, i1 false)
+ br i1 %t416, label %exc.u177, label %exc.k178
+exc.u177:
+ call void @sc_rc_release_dyn(ptr %t401)
+ br label %exc.cleanup2
+exc.k178:
+ br label %dc.done176
+dc.done176:
+ %t417 = load ptr, ptr %s402
+ %t418 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t417, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t419 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t418)
+ %t420 = load i32, ptr %exc.cell
+ %t421 = icmp ne i32 %t420, 0
+ %t422 = call i1 @llvm.expect.i1(i1 %t421, i1 false)
+ br i1 %t422, label %exc.u179, label %exc.k180
+exc.u179:
+ call void @sc_rc_release_dyn(ptr %t401)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t417)
+ call void @sc_rc_release_dyn(ptr %t419)
+ br label %exc.cleanup2
+exc.k180:
+ %t423 = load ptr, ptr %sc_l_p_0
+ %t424 = call ptr @sc_rc_retain_dyn(ptr %t423)
+ %t426 = icmp ne ptr %t424, null
+ br i1 %t426, label %dc.inspect181, label %dc.checked184
+dc.inspect181:
+ %t431 = getelementptr inbounds i8, ptr %t424, i64 8 ; ->kind
+ %t432 = load i32, ptr %t431
+ %t427 = icmp eq i32 %t432, 12
+ br i1 %t427, label %dc.capsule182, label %dc.checked184
+dc.capsule182:
+ %t428 = getelementptr inbounds i8, ptr %t424, i64 40 ; ->v.typed_ref.type_key
+ %t429 = load ptr, ptr %t428
+ %t430 = icmp eq ptr %t429, @sc_cs_3326437563644705
+ br i1 %t430, label %dc.exact183, label %dc.checked184
+dc.exact183:
+ %t433 = getelementptr inbounds i8, ptr %t424, i64 16 ; ->v.typed_ref.ptr
+ %t434 = load ptr, ptr %t433
+ %t435 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t434)
+ store ptr %t435, ptr %s425
+ br label %dc.done185
+dc.checked184:
+ %t436 = call ptr @sc_dc_102(ptr %t424, ptr null)
+ store ptr %t436, ptr %s425
+ %t437 = load i32, ptr %exc.cell
+ %t438 = icmp ne i32 %t437, 0
+ %t439 = call i1 @llvm.expect.i1(i1 %t438, i1 false)
+ br i1 %t439, label %exc.u186, label %exc.k187
+exc.u186:
+ call void @sc_rc_release_dyn(ptr %t401)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t417)
+ call void @sc_rc_release_dyn(ptr %t419)
+ call void @sc_rc_release_dyn(ptr %t424)
+ br label %exc.cleanup2
+exc.k187:
+ br label %dc.done185
+dc.done185:
+ %t440 = load ptr, ptr %s425
+ %t441 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t440, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t442 = call ptr @scr_dyn_bag_get(ptr %t419, ptr @sc_lit_298897322184109, ptr %t441)
+ %t443 = load i32, ptr %exc.cell
+ %t444 = icmp ne i32 %t443, 0
+ %t445 = call i1 @llvm.expect.i1(i1 %t444, i1 false)
+ br i1 %t445, label %exc.u188, label %exc.k189
+exc.u188:
+ call void @sc_rc_release_dyn(ptr %t401)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t417)
+ call void @sc_rc_release_dyn(ptr %t419)
+ call void @sc_rc_release_dyn(ptr %t424)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t440)
+ call void @sc_rc_release_dyn(ptr %t441)
+ call void @sc_rc_release_dyn(ptr %t442)
+ br label %exc.cleanup2
+exc.k189:
+ call void @sc_rc_release_dyn(ptr %t401)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t417)
+ call void @sc_rc_release_dyn(ptr %t419)
+ call void @sc_rc_release_dyn(ptr %t424)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t440)
+ call void @sc_rc_release_dyn(ptr %t441)
+ %t446 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t446)
+ ret ptr %t442
+if.j171:
+ %t448 = call ptr @scr_dyn_undefined()
+ %t447 = call ptr @scr_dyn_retain_v(ptr %t448)
+ %t449 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t449)
+ ret ptr %t447
+if.j158:
+ %t450 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s451
+ %t452 = icmp ne ptr %t450, null
+ br i1 %t452, label %brand.inspect190, label %brand.done192
+brand.inspect190:
+ %t453 = getelementptr inbounds i8, ptr %t450, i64 8 ; ->kind
+ %t454 = load i32, ptr %t453
+ %t455 = icmp eq i32 %t454, 12
+ br i1 %t455, label %brand.capsule191, label %brand.done192
+brand.capsule191:
+ %t456 = getelementptr inbounds i8, ptr %t450, i64 40 ; ->v.typed_ref.type_key
+ %t457 = load ptr, ptr %t456
+ %t458 = icmp eq ptr %t457, @sc_cs_629517122853751
+ store i1 true, ptr %s451
+ br i1 %t458, label %brand.done192, label %brand.compare193
+brand.compare193:
+ %t459 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t450, ptr @sc_lit_629517122853751)
+ store i1 %t459, ptr %s451
+ br label %brand.done192
+brand.done192:
+ %t460 = load i1, ptr %s451
+ br i1 %t460, label %if.t194, label %if.j195
+if.t194:
+ %t461 = load ptr, ptr %sc_l_p_0
+ %t462 = call ptr @sc_rc_retain_dyn(ptr %t461)
+ %t464 = icmp ne ptr %t462, null
+ br i1 %t464, label %dc.inspect196, label %dc.checked199
+dc.inspect196:
+ %t469 = getelementptr inbounds i8, ptr %t462, i64 8 ; ->kind
+ %t470 = load i32, ptr %t469
+ %t465 = icmp eq i32 %t470, 12
+ br i1 %t465, label %dc.capsule197, label %dc.checked199
+dc.capsule197:
+ %t466 = getelementptr inbounds i8, ptr %t462, i64 40 ; ->v.typed_ref.type_key
+ %t467 = load ptr, ptr %t466
+ %t468 = icmp eq ptr %t467, @sc_cs_629517122853751
+ br i1 %t468, label %dc.exact198, label %dc.checked199
+dc.exact198:
+ %t471 = getelementptr inbounds i8, ptr %t462, i64 16 ; ->v.typed_ref.ptr
+ %t472 = load ptr, ptr %t471
+ %t473 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t472)
+ store ptr %t473, ptr %s463
+ br label %dc.done200
+dc.checked199:
+ %t474 = call ptr @sc_dc_29(ptr %t462, ptr null)
+ store ptr %t474, ptr %s463
+ %t475 = load i32, ptr %exc.cell
+ %t476 = icmp ne i32 %t475, 0
+ %t477 = call i1 @llvm.expect.i1(i1 %t476, i1 false)
+ br i1 %t477, label %exc.u201, label %exc.k202
+exc.u201:
+ call void @sc_rc_release_dyn(ptr %t462)
+ br label %exc.cleanup2
+exc.k202:
+ br label %dc.done200
+dc.done200:
+ %t478 = load ptr, ptr %s463
+ %t479 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t478, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t480 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t479)
+ %t481 = load i32, ptr %exc.cell
+ %t482 = icmp ne i32 %t481, 0
+ %t483 = call i1 @llvm.expect.i1(i1 %t482, i1 false)
+ br i1 %t483, label %exc.u203, label %exc.k204
+exc.u203:
+ call void @sc_rc_release_dyn(ptr %t462)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t478)
+ call void @sc_rc_release_dyn(ptr %t480)
+ br label %exc.cleanup2
+exc.k204:
+ %t484 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t480, ptr @sc_lit_298897322184109)
+ %t485 = load i32, ptr %exc.cell
+ %t486 = icmp ne i32 %t485, 0
+ %t487 = call i1 @llvm.expect.i1(i1 %t486, i1 false)
+ br i1 %t487, label %exc.u205, label %exc.k206
+exc.u205:
+ call void @sc_rc_release_dyn(ptr %t462)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t478)
+ call void @sc_rc_release_dyn(ptr %t480)
+ br label %exc.cleanup2
+exc.k206:
+ call void @sc_rc_release_dyn(ptr %t462)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t478)
+ call void @sc_rc_release_dyn(ptr %t480)
+ br i1 %t484, label %if.t207, label %if.j208
+if.t207:
+ %t488 = load ptr, ptr %sc_l_p_0
+ %t489 = call ptr @sc_rc_retain_dyn(ptr %t488)
+ %t491 = icmp ne ptr %t489, null
+ br i1 %t491, label %dc.inspect209, label %dc.checked212
+dc.inspect209:
+ %t496 = getelementptr inbounds i8, ptr %t489, i64 8 ; ->kind
+ %t497 = load i32, ptr %t496
+ %t492 = icmp eq i32 %t497, 12
+ br i1 %t492, label %dc.capsule210, label %dc.checked212
+dc.capsule210:
+ %t493 = getelementptr inbounds i8, ptr %t489, i64 40 ; ->v.typed_ref.type_key
+ %t494 = load ptr, ptr %t493
+ %t495 = icmp eq ptr %t494, @sc_cs_629517122853751
+ br i1 %t495, label %dc.exact211, label %dc.checked212
+dc.exact211:
+ %t498 = getelementptr inbounds i8, ptr %t489, i64 16 ; ->v.typed_ref.ptr
+ %t499 = load ptr, ptr %t498
+ %t500 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t499)
+ store ptr %t500, ptr %s490
+ br label %dc.done213
+dc.checked212:
+ %t501 = call ptr @sc_dc_29(ptr %t489, ptr null)
+ store ptr %t501, ptr %s490
+ %t502 = load i32, ptr %exc.cell
+ %t503 = icmp ne i32 %t502, 0
+ %t504 = call i1 @llvm.expect.i1(i1 %t503, i1 false)
+ br i1 %t504, label %exc.u214, label %exc.k215
+exc.u214:
+ call void @sc_rc_release_dyn(ptr %t489)
+ br label %exc.cleanup2
+exc.k215:
+ br label %dc.done213
+dc.done213:
+ %t505 = load ptr, ptr %s490
+ %t506 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t505, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t507 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t506)
+ %t508 = load i32, ptr %exc.cell
+ %t509 = icmp ne i32 %t508, 0
+ %t510 = call i1 @llvm.expect.i1(i1 %t509, i1 false)
+ br i1 %t510, label %exc.u216, label %exc.k217
+exc.u216:
+ call void @sc_rc_release_dyn(ptr %t489)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t505)
+ call void @sc_rc_release_dyn(ptr %t507)
+ br label %exc.cleanup2
+exc.k217:
+ %t511 = load ptr, ptr %sc_l_p_0
+ %t512 = call ptr @sc_rc_retain_dyn(ptr %t511)
+ %t514 = icmp ne ptr %t512, null
+ br i1 %t514, label %dc.inspect218, label %dc.checked221
+dc.inspect218:
+ %t519 = getelementptr inbounds i8, ptr %t512, i64 8 ; ->kind
+ %t520 = load i32, ptr %t519
+ %t515 = icmp eq i32 %t520, 12
+ br i1 %t515, label %dc.capsule219, label %dc.checked221
+dc.capsule219:
+ %t516 = getelementptr inbounds i8, ptr %t512, i64 40 ; ->v.typed_ref.type_key
+ %t517 = load ptr, ptr %t516
+ %t518 = icmp eq ptr %t517, @sc_cs_629517122853751
+ br i1 %t518, label %dc.exact220, label %dc.checked221
+dc.exact220:
+ %t521 = getelementptr inbounds i8, ptr %t512, i64 16 ; ->v.typed_ref.ptr
+ %t522 = load ptr, ptr %t521
+ %t523 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t522)
+ store ptr %t523, ptr %s513
+ br label %dc.done222
+dc.checked221:
+ %t524 = call ptr @sc_dc_29(ptr %t512, ptr null)
+ store ptr %t524, ptr %s513
+ %t525 = load i32, ptr %exc.cell
+ %t526 = icmp ne i32 %t525, 0
+ %t527 = call i1 @llvm.expect.i1(i1 %t526, i1 false)
+ br i1 %t527, label %exc.u223, label %exc.k224
+exc.u223:
+ call void @sc_rc_release_dyn(ptr %t489)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t505)
+ call void @sc_rc_release_dyn(ptr %t507)
+ call void @sc_rc_release_dyn(ptr %t512)
+ br label %exc.cleanup2
+exc.k224:
+ br label %dc.done222
+dc.done222:
+ %t528 = load ptr, ptr %s513
+ %t529 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t528, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t530 = call ptr @scr_dyn_bag_get(ptr %t507, ptr @sc_lit_298897322184109, ptr %t529)
+ %t531 = load i32, ptr %exc.cell
+ %t532 = icmp ne i32 %t531, 0
+ %t533 = call i1 @llvm.expect.i1(i1 %t532, i1 false)
+ br i1 %t533, label %exc.u225, label %exc.k226
+exc.u225:
+ call void @sc_rc_release_dyn(ptr %t489)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t505)
+ call void @sc_rc_release_dyn(ptr %t507)
+ call void @sc_rc_release_dyn(ptr %t512)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t528)
+ call void @sc_rc_release_dyn(ptr %t529)
+ call void @sc_rc_release_dyn(ptr %t530)
+ br label %exc.cleanup2
+exc.k226:
+ call void @sc_rc_release_dyn(ptr %t489)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t505)
+ call void @sc_rc_release_dyn(ptr %t507)
+ call void @sc_rc_release_dyn(ptr %t512)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t528)
+ call void @sc_rc_release_dyn(ptr %t529)
+ %t534 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t534)
+ ret ptr %t530
+if.j208:
+ %t536 = call ptr @scr_dyn_undefined()
+ %t535 = call ptr @scr_dyn_retain_v(ptr %t536)
+ %t537 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t537)
+ ret ptr %t535
+if.j195:
+ %t538 = load ptr, ptr %sc_l_p_0
+ %t539 = call ptr @sc_rc_retain_dyn(ptr %t538)
+ %t540 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t539)
+ %t541 = load i32, ptr %exc.cell
+ %t542 = icmp ne i32 %t541, 0
+ %t543 = call i1 @llvm.expect.i1(i1 %t542, i1 false)
+ br i1 %t543, label %exc.u227, label %exc.k228
+exc.u227:
+ call void @sc_rc_release_dyn(ptr %t540)
+ br label %exc.cleanup2
+exc.k228:
+ %t544 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t540)
+ call void @sc_rc_release_dyn(ptr %t540)
+ store ptr %t544, ptr %sc_l_bag_0
+ %t545 = load ptr, ptr %sc_l_bag_0
+ %t546 = load ptr, ptr %sc_l_p_0
+ %t547 = call zeroext i1 @scr_dyn_strict_eq(ptr %t545, ptr %t546)
+ br i1 %t547, label %tern.t229, label %tern.f230
+tern.t229:
+ %t549 = load ptr, ptr %sc_l_bag_0
+ %t552 = getelementptr inbounds i8, ptr %t549, i64 8 ; ->kind
+ %t553 = load i32, ptr %t552
+ %t551 = icmp eq i32 %t553, 5
+ br i1 %t551, label %dkg.ic232, label %dkg.any233
+dkg.ic232:
+ %t554 = call ptr @scr_dyn_obj_read_ic(ptr %t549, ptr @sc_lit_298897322184109, ptr @sc_dyn_read_ic_47)
+ br label %dkg.j234
+dkg.any233:
+ %t555 = call ptr @sc_dyn_key_get(ptr %t549, ptr @sc_lit_298897322184109, i1 false)
+ br label %dkg.j234
+dkg.j234:
+ %t550 = phi ptr [ %t554, %dkg.ic232 ], [ %t555, %dkg.any233 ]
+ %t556 = load i32, ptr %exc.cell
+ %t557 = icmp ne i32 %t556, 0
+ %t558 = call i1 @llvm.expect.i1(i1 %t557, i1 false)
+ br i1 %t558, label %exc.u235, label %exc.k236
+exc.u235:
+ call void @sc_rc_release_dyn(ptr %t550)
+ br label %exc.cleanup237
+exc.k236:
+ store ptr %t550, ptr %s548
+ br label %tern.j231
+tern.f230:
+ %t559 = load ptr, ptr %sc_l_bag_0
+ %t560 = call ptr @sc_rc_retain_dyn(ptr %t559)
+ %t561 = load ptr, ptr %sc_l_p_0
+ %t562 = call ptr @sc_rc_retain_dyn(ptr %t561)
+ %t563 = call ptr @scr_dyn_bag_get(ptr %t560, ptr @sc_lit_298897322184109, ptr %t562)
+ %t564 = load i32, ptr %exc.cell
+ %t565 = icmp ne i32 %t564, 0
+ %t566 = call i1 @llvm.expect.i1(i1 %t565, i1 false)
+ br i1 %t566, label %exc.u238, label %exc.k239
+exc.u238:
+ call void @sc_rc_release_dyn(ptr %t560)
+ call void @sc_rc_release_dyn(ptr %t562)
+ call void @sc_rc_release_dyn(ptr %t563)
+ br label %exc.cleanup237
+exc.k239:
+ store ptr %t563, ptr %s548
+ call void @sc_rc_release_dyn(ptr %t560)
+ call void @sc_rc_release_dyn(ptr %t562)
+ br label %tern.j231
+tern.j231:
+ %t567 = load ptr, ptr %s548
+ %t568 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t568)
+ %t569 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t569)
+ ret ptr %t567
+exc.cleanup2:
+ %t570 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t570)
+ ret ptr null
+exc.cleanup237:
+ %t571 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t571)
+ %t572 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t572)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_47(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.47
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s196 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3728566007289652
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3728566007289652)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3728566007289652
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_100(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_952059176356082)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3728566007289652
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_100(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3728566007289652
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_100(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_952059176356082, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2072202777142634
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2072202777142634)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2072202777142634
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_26(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_952059176356082)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2072202777142634
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_26(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2072202777142634
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_26(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_952059176356082, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ %t187 = call ptr @sc_rc_retain_dyn(ptr %t186)
+ %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u79, label %exc.k80
+exc.u79:
+ call void @sc_rc_release_dyn(ptr %t188)
+ br label %exc.cleanup2
+exc.k80:
+ %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188)
+ call void @sc_rc_release_dyn(ptr %t188)
+ store ptr %t192, ptr %sc_l_bag_0
+ %t193 = load ptr, ptr %sc_l_bag_0
+ %t194 = load ptr, ptr %sc_l_p_0
+ %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194)
+ br i1 %t195, label %tern.t81, label %tern.f82
+tern.t81:
+ %t197 = load ptr, ptr %sc_l_bag_0
+ %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind
+ %t201 = load i32, ptr %t200
+ %t199 = icmp eq i32 %t201, 5
+ br i1 %t199, label %dkg.ic84, label %dkg.any85
+dkg.ic84:
+ %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_952059176356082, ptr @sc_dyn_read_ic_48)
+ br label %dkg.j86
+dkg.any85:
+ %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_952059176356082, i1 false)
+ br label %dkg.j86
+dkg.j86:
+ %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ]
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u87, label %exc.k88
+exc.u87:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup89
+exc.k88:
+ store ptr %t198, ptr %s196
+ br label %tern.j83
+tern.f82:
+ %t207 = load ptr, ptr %sc_l_bag_0
+ %t208 = call ptr @sc_rc_retain_dyn(ptr %t207)
+ %t209 = load ptr, ptr %sc_l_p_0
+ %t210 = call ptr @sc_rc_retain_dyn(ptr %t209)
+ %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_952059176356082, ptr %t210)
+ %t212 = load i32, ptr %exc.cell
+ %t213 = icmp ne i32 %t212, 0
+ %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false)
+ br i1 %t214, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ call void @sc_rc_release_dyn(ptr %t211)
+ br label %exc.cleanup89
+exc.k91:
+ store ptr %t211, ptr %s196
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ br label %tern.j83
+tern.j83:
+ %t215 = load ptr, ptr %s196
+ %t216 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t216)
+ %t217 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t217)
+ ret ptr %t215
+exc.cleanup2:
+ %t218 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t218)
+ ret ptr null
+exc.cleanup89:
+ %t219 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t219)
+ %t220 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t220)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_48(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.48
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s284 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3728566007289652
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3728566007289652)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3728566007289652
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_100(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1048673592241930)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3728566007289652
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_100(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3728566007289652
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_100(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1048673592241930, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2072202777142634
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2072202777142634)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2072202777142634
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_26(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_1048673592241930)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2072202777142634
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_26(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2072202777142634
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_26(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_1048673592241930, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_660811353369478
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_660811353369478)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_660811353369478
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_28(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_1048673592241930)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_660811353369478
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_28(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_660811353369478
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_28(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_1048673592241930, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ %t275 = call ptr @sc_rc_retain_dyn(ptr %t274)
+ %t276 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t275)
+ %t277 = load i32, ptr %exc.cell
+ %t278 = icmp ne i32 %t277, 0
+ %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false)
+ br i1 %t279, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t276)
+ br label %exc.cleanup2
+exc.k117:
+ %t280 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t276)
+ call void @sc_rc_release_dyn(ptr %t276)
+ store ptr %t280, ptr %sc_l_bag_0
+ %t281 = load ptr, ptr %sc_l_bag_0
+ %t282 = load ptr, ptr %sc_l_p_0
+ %t283 = call zeroext i1 @scr_dyn_strict_eq(ptr %t281, ptr %t282)
+ br i1 %t283, label %tern.t118, label %tern.f119
+tern.t118:
+ %t285 = load ptr, ptr %sc_l_bag_0
+ %t288 = getelementptr inbounds i8, ptr %t285, i64 8 ; ->kind
+ %t289 = load i32, ptr %t288
+ %t287 = icmp eq i32 %t289, 5
+ br i1 %t287, label %dkg.ic121, label %dkg.any122
+dkg.ic121:
+ %t290 = call ptr @scr_dyn_obj_read_ic(ptr %t285, ptr @sc_lit_1048673592241930, ptr @sc_dyn_read_ic_49)
+ br label %dkg.j123
+dkg.any122:
+ %t291 = call ptr @sc_dyn_key_get(ptr %t285, ptr @sc_lit_1048673592241930, i1 false)
+ br label %dkg.j123
+dkg.j123:
+ %t286 = phi ptr [ %t290, %dkg.ic121 ], [ %t291, %dkg.any122 ]
+ %t292 = load i32, ptr %exc.cell
+ %t293 = icmp ne i32 %t292, 0
+ %t294 = call i1 @llvm.expect.i1(i1 %t293, i1 false)
+ br i1 %t294, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup126
+exc.k125:
+ store ptr %t286, ptr %s284
+ br label %tern.j120
+tern.f119:
+ %t295 = load ptr, ptr %sc_l_bag_0
+ %t296 = call ptr @sc_rc_retain_dyn(ptr %t295)
+ %t297 = load ptr, ptr %sc_l_p_0
+ %t298 = call ptr @sc_rc_retain_dyn(ptr %t297)
+ %t299 = call ptr @scr_dyn_bag_get(ptr %t296, ptr @sc_lit_1048673592241930, ptr %t298)
+ %t300 = load i32, ptr %exc.cell
+ %t301 = icmp ne i32 %t300, 0
+ %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false)
+ br i1 %t302, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t296)
+ call void @sc_rc_release_dyn(ptr %t298)
+ call void @sc_rc_release_dyn(ptr %t299)
+ br label %exc.cleanup126
+exc.k128:
+ store ptr %t299, ptr %s284
+ call void @sc_rc_release_dyn(ptr %t296)
+ call void @sc_rc_release_dyn(ptr %t298)
+ br label %tern.j120
+tern.j120:
+ %t303 = load ptr, ptr %s284
+ %t304 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t304)
+ %t305 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t305)
+ ret ptr %t303
+exc.cleanup2:
+ %t306 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t306)
+ ret ptr null
+exc.cleanup126:
+ %t307 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t307)
+ %t308 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t308)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_49(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.49
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4085448292571548)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4085448292571548, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4085448292571548)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4085448292571548, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_4085448292571548)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_4085448292571548, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_4085448292571548)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_4085448292571548, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_4085448292571548, ptr @sc_dyn_read_ic_50)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_4085448292571548, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_4085448292571548, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_50(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.50
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s97 = alloca ptr
+ %s120 = alloca i1
+ %s132 = alloca ptr
+ %s162 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_1746033898805369
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_1746033898805369)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_1746033898805369
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_30(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call zeroext i1 @scr_dyn_has_own(ptr %t40, ptr @sc_lit_977412068193087)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_1746033898805369
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_30(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_1746033898805369
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_30(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_977412068193087, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t95 = load ptr, ptr %sc_l_p_0
+ %t96 = call ptr @sc_rc_retain_dyn(ptr %t95)
+ %t98 = icmp ne ptr %t96, null
+ br i1 %t98, label %dc.inspect42, label %dc.checked45
+dc.inspect42:
+ %t103 = getelementptr inbounds i8, ptr %t96, i64 8 ; ->kind
+ %t104 = load i32, ptr %t103
+ %t99 = icmp eq i32 %t104, 12
+ br i1 %t99, label %dc.capsule43, label %dc.checked45
+dc.capsule43:
+ %t100 = getelementptr inbounds i8, ptr %t96, i64 40 ; ->v.typed_ref.type_key
+ %t101 = load ptr, ptr %t100
+ %t102 = icmp eq ptr %t101, @sc_cs_1746033898805369
+ br i1 %t102, label %dc.exact44, label %dc.checked45
+dc.exact44:
+ %t105 = getelementptr inbounds i8, ptr %t96, i64 16 ; ->v.typed_ref.ptr
+ %t106 = load ptr, ptr %t105
+ %t107 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t106)
+ store ptr %t107, ptr %s97
+ br label %dc.done46
+dc.checked45:
+ %t108 = call ptr @sc_dc_30(ptr %t96, ptr null)
+ store ptr %t108, ptr %s97
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u47, label %exc.k48
+exc.u47:
+ call void @sc_rc_release_dyn(ptr %t96)
+ br label %exc.cleanup2
+exc.k48:
+ br label %dc.done46
+dc.done46:
+ %t112 = load ptr, ptr %s97
+ %t113 = call ptr @sc_bf__x25__x25_m5_CtxResCore_get_x3a_headers(ptr %t112)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u49, label %exc.k50
+exc.u49:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t112)
+ call void @sc_rrelease_r0(ptr %t113)
+ br label %exc.cleanup2
+exc.k50:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t112)
+ %t117 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t113, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ call void @sc_rrelease_r0(ptr %t113)
+ %t118 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t118)
+ ret ptr %t117
+if.j10:
+ %t119 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s120
+ %t121 = icmp ne ptr %t119, null
+ br i1 %t121, label %brand.inspect51, label %brand.done53
+brand.inspect51:
+ %t122 = getelementptr inbounds i8, ptr %t119, i64 8 ; ->kind
+ %t123 = load i32, ptr %t122
+ %t124 = icmp eq i32 %t123, 12
+ br i1 %t124, label %brand.capsule52, label %brand.done53
+brand.capsule52:
+ %t125 = getelementptr inbounds i8, ptr %t119, i64 40 ; ->v.typed_ref.type_key
+ %t126 = load ptr, ptr %t125
+ %t127 = icmp eq ptr %t126, @sc_cs_4041255434968695
+ store i1 true, ptr %s120
+ br i1 %t127, label %brand.done53, label %brand.compare54
+brand.compare54:
+ %t128 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t119, ptr @sc_lit_4041255434968695)
+ store i1 %t128, ptr %s120
+ br label %brand.done53
+brand.done53:
+ %t129 = load i1, ptr %s120
+ br i1 %t129, label %if.t55, label %if.j56
+if.t55:
+ %t130 = load ptr, ptr %sc_l_p_0
+ %t131 = call ptr @sc_rc_retain_dyn(ptr %t130)
+ %t133 = icmp ne ptr %t131, null
+ br i1 %t133, label %dc.inspect57, label %dc.checked60
+dc.inspect57:
+ %t138 = getelementptr inbounds i8, ptr %t131, i64 8 ; ->kind
+ %t139 = load i32, ptr %t138
+ %t134 = icmp eq i32 %t139, 12
+ br i1 %t134, label %dc.capsule58, label %dc.checked60
+dc.capsule58:
+ %t135 = getelementptr inbounds i8, ptr %t131, i64 40 ; ->v.typed_ref.type_key
+ %t136 = load ptr, ptr %t135
+ %t137 = icmp eq ptr %t136, @sc_cs_4041255434968695
+ br i1 %t137, label %dc.exact59, label %dc.checked60
+dc.exact59:
+ %t140 = getelementptr inbounds i8, ptr %t131, i64 16 ; ->v.typed_ref.ptr
+ %t141 = load ptr, ptr %t140
+ %t142 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t141)
+ store ptr %t142, ptr %s132
+ br label %dc.done61
+dc.checked60:
+ %t143 = call ptr @sc_dc_101(ptr %t131, ptr null)
+ store ptr %t143, ptr %s132
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t131)
+ br label %exc.cleanup2
+exc.k63:
+ br label %dc.done61
+dc.done61:
+ %t147 = load ptr, ptr %s132
+ %t148 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t147, i64 0, i32 3
+ %t149 = load ptr, ptr %t148, !tbaa !74
+ %t150 = call ptr @sc_rc_retain_dyn(ptr %t149)
+ call void @sc_rc_release_dyn(ptr %t131)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t147)
+ %t151 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t151)
+ ret ptr %t150
+if.j56:
+ %t152 = load ptr, ptr %sc_l_p_0
+ %t153 = call ptr @sc_rc_retain_dyn(ptr %t152)
+ %t154 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t153)
+ %t155 = load i32, ptr %exc.cell
+ %t156 = icmp ne i32 %t155, 0
+ %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false)
+ br i1 %t157, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t154)
+ br label %exc.cleanup2
+exc.k65:
+ %t158 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t154)
+ call void @sc_rc_release_dyn(ptr %t154)
+ store ptr %t158, ptr %sc_l_bag_0
+ %t159 = load ptr, ptr %sc_l_bag_0
+ %t160 = load ptr, ptr %sc_l_p_0
+ %t161 = call zeroext i1 @scr_dyn_strict_eq(ptr %t159, ptr %t160)
+ br i1 %t161, label %tern.t66, label %tern.f67
+tern.t66:
+ %t163 = load ptr, ptr %sc_l_bag_0
+ %t166 = getelementptr inbounds i8, ptr %t163, i64 8 ; ->kind
+ %t167 = load i32, ptr %t166
+ %t165 = icmp eq i32 %t167, 5
+ br i1 %t165, label %dkg.ic69, label %dkg.any70
+dkg.ic69:
+ %t168 = call ptr @scr_dyn_obj_read_ic(ptr %t163, ptr @sc_lit_977412068193087, ptr @sc_dyn_read_ic_51)
+ br label %dkg.j71
+dkg.any70:
+ %t169 = call ptr @sc_dyn_key_get(ptr %t163, ptr @sc_lit_977412068193087, i1 false)
+ br label %dkg.j71
+dkg.j71:
+ %t164 = phi ptr [ %t168, %dkg.ic69 ], [ %t169, %dkg.any70 ]
+ %t170 = load i32, ptr %exc.cell
+ %t171 = icmp ne i32 %t170, 0
+ %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false)
+ br i1 %t172, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t164)
+ br label %exc.cleanup74
+exc.k73:
+ store ptr %t164, ptr %s162
+ br label %tern.j68
+tern.f67:
+ %t173 = load ptr, ptr %sc_l_bag_0
+ %t174 = call ptr @sc_rc_retain_dyn(ptr %t173)
+ %t175 = load ptr, ptr %sc_l_p_0
+ %t176 = call ptr @sc_rc_retain_dyn(ptr %t175)
+ %t177 = call ptr @scr_dyn_bag_get(ptr %t174, ptr @sc_lit_977412068193087, ptr %t176)
+ %t178 = load i32, ptr %exc.cell
+ %t179 = icmp ne i32 %t178, 0
+ %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false)
+ br i1 %t180, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t174)
+ call void @sc_rc_release_dyn(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ br label %exc.cleanup74
+exc.k76:
+ store ptr %t177, ptr %s162
+ call void @sc_rc_release_dyn(ptr %t174)
+ call void @sc_rc_release_dyn(ptr %t176)
+ br label %tern.j68
+tern.j68:
+ %t181 = load ptr, ptr %s162
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ %t183 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t183)
+ ret ptr %t181
+exc.cleanup2:
+ %t184 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t184)
+ ret ptr null
+exc.cleanup74:
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ %t186 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t186)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_51(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.51
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s97 = alloca ptr
+ %s119 = alloca i1
+ %s131 = alloca ptr
+ %s158 = alloca ptr
+ %s181 = alloca ptr
+ %s216 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4041255434968695
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_101(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call zeroext i1 @scr_dyn_has_own(ptr %t40, ptr @sc_lit_616655122974952)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4041255434968695
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_101(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4041255434968695
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_101(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_616655122974952, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t95 = load ptr, ptr %sc_l_p_0
+ %t96 = call ptr @sc_rc_retain_dyn(ptr %t95)
+ %t98 = icmp ne ptr %t96, null
+ br i1 %t98, label %dc.inspect42, label %dc.checked45
+dc.inspect42:
+ %t103 = getelementptr inbounds i8, ptr %t96, i64 8 ; ->kind
+ %t104 = load i32, ptr %t103
+ %t99 = icmp eq i32 %t104, 12
+ br i1 %t99, label %dc.capsule43, label %dc.checked45
+dc.capsule43:
+ %t100 = getelementptr inbounds i8, ptr %t96, i64 40 ; ->v.typed_ref.type_key
+ %t101 = load ptr, ptr %t100
+ %t102 = icmp eq ptr %t101, @sc_cs_4041255434968695
+ br i1 %t102, label %dc.exact44, label %dc.checked45
+dc.exact44:
+ %t105 = getelementptr inbounds i8, ptr %t96, i64 16 ; ->v.typed_ref.ptr
+ %t106 = load ptr, ptr %t105
+ %t107 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t106)
+ store ptr %t107, ptr %s97
+ br label %dc.done46
+dc.checked45:
+ %t108 = call ptr @sc_dc_101(ptr %t96, ptr null)
+ store ptr %t108, ptr %s97
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u47, label %exc.k48
+exc.u47:
+ call void @sc_rc_release_dyn(ptr %t96)
+ br label %exc.cleanup2
+exc.k48:
+ br label %dc.done46
+dc.done46:
+ %t112 = load ptr, ptr %s97
+ %t113 = call ptr @sc_bf__x25__x25_m3_LiteRequest_get_x3a_body(ptr %t112)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u49, label %exc.k50
+exc.u49:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t112)
+ call void @sc_rc_release_dyn(ptr %t113)
+ br label %exc.cleanup2
+exc.k50:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t112)
+ %t117 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret ptr %t113
+if.j10:
+ %t118 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s119
+ %t120 = icmp ne ptr %t118, null
+ br i1 %t120, label %brand.inspect51, label %brand.done53
+brand.inspect51:
+ %t121 = getelementptr inbounds i8, ptr %t118, i64 8 ; ->kind
+ %t122 = load i32, ptr %t121
+ %t123 = icmp eq i32 %t122, 12
+ br i1 %t123, label %brand.capsule52, label %brand.done53
+brand.capsule52:
+ %t124 = getelementptr inbounds i8, ptr %t118, i64 40 ; ->v.typed_ref.type_key
+ %t125 = load ptr, ptr %t124
+ %t126 = icmp eq ptr %t125, @sc_cs_660811353369478
+ store i1 true, ptr %s119
+ br i1 %t126, label %brand.done53, label %brand.compare54
+brand.compare54:
+ %t127 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t118, ptr @sc_lit_660811353369478)
+ store i1 %t127, ptr %s119
+ br label %brand.done53
+brand.done53:
+ %t128 = load i1, ptr %s119
+ br i1 %t128, label %if.t55, label %if.j56
+if.t55:
+ %t129 = load ptr, ptr %sc_l_p_0
+ %t130 = call ptr @sc_rc_retain_dyn(ptr %t129)
+ %t132 = icmp ne ptr %t130, null
+ br i1 %t132, label %dc.inspect57, label %dc.checked60
+dc.inspect57:
+ %t137 = getelementptr inbounds i8, ptr %t130, i64 8 ; ->kind
+ %t138 = load i32, ptr %t137
+ %t133 = icmp eq i32 %t138, 12
+ br i1 %t133, label %dc.capsule58, label %dc.checked60
+dc.capsule58:
+ %t134 = getelementptr inbounds i8, ptr %t130, i64 40 ; ->v.typed_ref.type_key
+ %t135 = load ptr, ptr %t134
+ %t136 = icmp eq ptr %t135, @sc_cs_660811353369478
+ br i1 %t136, label %dc.exact59, label %dc.checked60
+dc.exact59:
+ %t139 = getelementptr inbounds i8, ptr %t130, i64 16 ; ->v.typed_ref.ptr
+ %t140 = load ptr, ptr %t139
+ %t141 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t140)
+ store ptr %t141, ptr %s131
+ br label %dc.done61
+dc.checked60:
+ %t142 = call ptr @sc_dc_28(ptr %t130, ptr null)
+ store ptr %t142, ptr %s131
+ %t143 = load i32, ptr %exc.cell
+ %t144 = icmp ne i32 %t143, 0
+ %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false)
+ br i1 %t145, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t130)
+ br label %exc.cleanup2
+exc.k63:
+ br label %dc.done61
+dc.done61:
+ %t146 = load ptr, ptr %s131
+ %t147 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t146, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t148 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t147)
+ %t149 = load i32, ptr %exc.cell
+ %t150 = icmp ne i32 %t149, 0
+ %t151 = call i1 @llvm.expect.i1(i1 %t150, i1 false)
+ br i1 %t151, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t130)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t146)
+ call void @sc_rc_release_dyn(ptr %t148)
+ br label %exc.cleanup2
+exc.k65:
+ %t152 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t148, ptr @sc_lit_616655122974952)
+ %t153 = load i32, ptr %exc.cell
+ %t154 = icmp ne i32 %t153, 0
+ %t155 = call i1 @llvm.expect.i1(i1 %t154, i1 false)
+ br i1 %t155, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t130)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t146)
+ call void @sc_rc_release_dyn(ptr %t148)
+ br label %exc.cleanup2
+exc.k67:
+ call void @sc_rc_release_dyn(ptr %t130)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t146)
+ call void @sc_rc_release_dyn(ptr %t148)
+ br i1 %t152, label %if.t68, label %if.j69
+if.t68:
+ %t156 = load ptr, ptr %sc_l_p_0
+ %t157 = call ptr @sc_rc_retain_dyn(ptr %t156)
+ %t159 = icmp ne ptr %t157, null
+ br i1 %t159, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t164 = getelementptr inbounds i8, ptr %t157, i64 8 ; ->kind
+ %t165 = load i32, ptr %t164
+ %t160 = icmp eq i32 %t165, 12
+ br i1 %t160, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t161 = getelementptr inbounds i8, ptr %t157, i64 40 ; ->v.typed_ref.type_key
+ %t162 = load ptr, ptr %t161
+ %t163 = icmp eq ptr %t162, @sc_cs_660811353369478
+ br i1 %t163, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t166 = getelementptr inbounds i8, ptr %t157, i64 16 ; ->v.typed_ref.ptr
+ %t167 = load ptr, ptr %t166
+ %t168 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t167)
+ store ptr %t168, ptr %s158
+ br label %dc.done74
+dc.checked73:
+ %t169 = call ptr @sc_dc_28(ptr %t157, ptr null)
+ store ptr %t169, ptr %s158
+ %t170 = load i32, ptr %exc.cell
+ %t171 = icmp ne i32 %t170, 0
+ %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false)
+ br i1 %t172, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t157)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t173 = load ptr, ptr %s158
+ %t174 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t173, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t175 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t174)
+ %t176 = load i32, ptr %exc.cell
+ %t177 = icmp ne i32 %t176, 0
+ %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false)
+ br i1 %t178, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t173)
+ call void @sc_rc_release_dyn(ptr %t175)
+ br label %exc.cleanup2
+exc.k78:
+ %t179 = load ptr, ptr %sc_l_p_0
+ %t180 = call ptr @sc_rc_retain_dyn(ptr %t179)
+ %t182 = icmp ne ptr %t180, null
+ br i1 %t182, label %dc.inspect79, label %dc.checked82
+dc.inspect79:
+ %t187 = getelementptr inbounds i8, ptr %t180, i64 8 ; ->kind
+ %t188 = load i32, ptr %t187
+ %t183 = icmp eq i32 %t188, 12
+ br i1 %t183, label %dc.capsule80, label %dc.checked82
+dc.capsule80:
+ %t184 = getelementptr inbounds i8, ptr %t180, i64 40 ; ->v.typed_ref.type_key
+ %t185 = load ptr, ptr %t184
+ %t186 = icmp eq ptr %t185, @sc_cs_660811353369478
+ br i1 %t186, label %dc.exact81, label %dc.checked82
+dc.exact81:
+ %t189 = getelementptr inbounds i8, ptr %t180, i64 16 ; ->v.typed_ref.ptr
+ %t190 = load ptr, ptr %t189
+ %t191 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t190)
+ store ptr %t191, ptr %s181
+ br label %dc.done83
+dc.checked82:
+ %t192 = call ptr @sc_dc_28(ptr %t180, ptr null)
+ store ptr %t192, ptr %s181
+ %t193 = load i32, ptr %exc.cell
+ %t194 = icmp ne i32 %t193, 0
+ %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false)
+ br i1 %t195, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t173)
+ call void @sc_rc_release_dyn(ptr %t175)
+ call void @sc_rc_release_dyn(ptr %t180)
+ br label %exc.cleanup2
+exc.k85:
+ br label %dc.done83
+dc.done83:
+ %t196 = load ptr, ptr %s181
+ %t197 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t196, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t198 = call ptr @scr_dyn_bag_get(ptr %t175, ptr @sc_lit_616655122974952, ptr %t197)
+ %t199 = load i32, ptr %exc.cell
+ %t200 = icmp ne i32 %t199, 0
+ %t201 = call i1 @llvm.expect.i1(i1 %t200, i1 false)
+ br i1 %t201, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t173)
+ call void @sc_rc_release_dyn(ptr %t175)
+ call void @sc_rc_release_dyn(ptr %t180)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t196)
+ call void @sc_rc_release_dyn(ptr %t197)
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k87:
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t173)
+ call void @sc_rc_release_dyn(ptr %t175)
+ call void @sc_rc_release_dyn(ptr %t180)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t196)
+ call void @sc_rc_release_dyn(ptr %t197)
+ %t202 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t202)
+ ret ptr %t198
+if.j69:
+ %t204 = call ptr @scr_dyn_undefined()
+ %t203 = call ptr @scr_dyn_retain_v(ptr %t204)
+ %t205 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t205)
+ ret ptr %t203
+if.j56:
+ %t206 = load ptr, ptr %sc_l_p_0
+ %t207 = call ptr @sc_rc_retain_dyn(ptr %t206)
+ %t208 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t207)
+ %t209 = load i32, ptr %exc.cell
+ %t210 = icmp ne i32 %t209, 0
+ %t211 = call i1 @llvm.expect.i1(i1 %t210, i1 false)
+ br i1 %t211, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t208)
+ br label %exc.cleanup2
+exc.k89:
+ %t212 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t208)
+ store ptr %t212, ptr %sc_l_bag_0
+ %t213 = load ptr, ptr %sc_l_bag_0
+ %t214 = load ptr, ptr %sc_l_p_0
+ %t215 = call zeroext i1 @scr_dyn_strict_eq(ptr %t213, ptr %t214)
+ br i1 %t215, label %tern.t90, label %tern.f91
+tern.t90:
+ %t217 = load ptr, ptr %sc_l_bag_0
+ %t220 = getelementptr inbounds i8, ptr %t217, i64 8 ; ->kind
+ %t221 = load i32, ptr %t220
+ %t219 = icmp eq i32 %t221, 5
+ br i1 %t219, label %dkg.ic93, label %dkg.any94
+dkg.ic93:
+ %t222 = call ptr @scr_dyn_obj_read_ic(ptr %t217, ptr @sc_lit_616655122974952, ptr @sc_dyn_read_ic_52)
+ br label %dkg.j95
+dkg.any94:
+ %t223 = call ptr @sc_dyn_key_get(ptr %t217, ptr @sc_lit_616655122974952, i1 false)
+ br label %dkg.j95
+dkg.j95:
+ %t218 = phi ptr [ %t222, %dkg.ic93 ], [ %t223, %dkg.any94 ]
+ %t224 = load i32, ptr %exc.cell
+ %t225 = icmp ne i32 %t224, 0
+ %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false)
+ br i1 %t226, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t218)
+ br label %exc.cleanup98
+exc.k97:
+ store ptr %t218, ptr %s216
+ br label %tern.j92
+tern.f91:
+ %t227 = load ptr, ptr %sc_l_bag_0
+ %t228 = call ptr @sc_rc_retain_dyn(ptr %t227)
+ %t229 = load ptr, ptr %sc_l_p_0
+ %t230 = call ptr @sc_rc_retain_dyn(ptr %t229)
+ %t231 = call ptr @scr_dyn_bag_get(ptr %t228, ptr @sc_lit_616655122974952, ptr %t230)
+ %t232 = load i32, ptr %exc.cell
+ %t233 = icmp ne i32 %t232, 0
+ %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false)
+ br i1 %t234, label %exc.u99, label %exc.k100
+exc.u99:
+ call void @sc_rc_release_dyn(ptr %t228)
+ call void @sc_rc_release_dyn(ptr %t230)
+ call void @sc_rc_release_dyn(ptr %t231)
+ br label %exc.cleanup98
+exc.k100:
+ store ptr %t231, ptr %s216
+ call void @sc_rc_release_dyn(ptr %t228)
+ call void @sc_rc_release_dyn(ptr %t230)
+ br label %tern.j92
+tern.j92:
+ %t235 = load ptr, ptr %s216
+ %t236 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t236)
+ %t237 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t237)
+ ret ptr %t235
+exc.cleanup2:
+ %t238 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t238)
+ ret ptr null
+exc.cleanup98:
+ %t239 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t239)
+ %t240 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t240)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_52(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.52
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3108123016971750)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3108123016971750, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_3108123016971750)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_3108123016971750, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_3108123016971750)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_3108123016971750, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_3108123016971750)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_3108123016971750, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_3108123016971750, ptr @sc_dyn_read_ic_53)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_3108123016971750, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_3108123016971750, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_53(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.53
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s7 = alloca i1
+ %s19 = alloca ptr
+ %s46 = alloca ptr
+ %s69 = alloca ptr
+ %s104 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = load ptr, ptr %sc_l_p_0
+ %t1 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t0)
+ %t2 = load i32, ptr %exc.cell
+ %t3 = icmp ne i32 %t2, 0
+ %t4 = call i1 @llvm.expect.i1(i1 %t3, i1 false)
+ br i1 %t4, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t1)
+ br label %exc.cleanup2
+exc.k1:
+ %t5 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t5)
+ store ptr %t1, ptr %sc_l_p_0
+ %t6 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s7
+ %t8 = icmp ne ptr %t6, null
+ br i1 %t8, label %brand.inspect3, label %brand.done5
+brand.inspect3:
+ %t9 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t10 = load i32, ptr %t9
+ %t11 = icmp eq i32 %t10, 12
+ br i1 %t11, label %brand.capsule4, label %brand.done5
+brand.capsule4:
+ %t12 = getelementptr inbounds i8, ptr %t6, i64 40 ; ->v.typed_ref.type_key
+ %t13 = load ptr, ptr %t12
+ %t14 = icmp eq ptr %t13, @sc_cs_21424698936986
+ store i1 true, ptr %s7
+ br i1 %t14, label %brand.done5, label %brand.compare6
+brand.compare6:
+ %t15 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t6, ptr @sc_lit_21424698936986)
+ store i1 %t15, ptr %s7
+ br label %brand.done5
+brand.done5:
+ %t16 = load i1, ptr %s7
+ br i1 %t16, label %if.t7, label %if.j8
+if.t7:
+ %t17 = load ptr, ptr %sc_l_p_0
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t20 = icmp ne ptr %t18, null
+ br i1 %t20, label %dc.inspect9, label %dc.checked12
+dc.inspect9:
+ %t25 = getelementptr inbounds i8, ptr %t18, i64 8 ; ->kind
+ %t26 = load i32, ptr %t25
+ %t21 = icmp eq i32 %t26, 12
+ br i1 %t21, label %dc.capsule10, label %dc.checked12
+dc.capsule10:
+ %t22 = getelementptr inbounds i8, ptr %t18, i64 40 ; ->v.typed_ref.type_key
+ %t23 = load ptr, ptr %t22
+ %t24 = icmp eq ptr %t23, @sc_cs_21424698936986
+ br i1 %t24, label %dc.exact11, label %dc.checked12
+dc.exact11:
+ %t27 = getelementptr inbounds i8, ptr %t18, i64 16 ; ->v.typed_ref.ptr
+ %t28 = load ptr, ptr %t27
+ %t29 = call ptr @sc_retain__x25_m5_App(ptr %t28)
+ store ptr %t29, ptr %s19
+ br label %dc.done13
+dc.checked12:
+ %t30 = call ptr @sc_dc_91(ptr %t18, ptr null)
+ store ptr %t30, ptr %s19
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t18)
+ br label %exc.cleanup2
+exc.k15:
+ br label %dc.done13
+dc.done13:
+ %t34 = load ptr, ptr %s19
+ %t35 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t34, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t36 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t35)
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_release__x25_m5_App(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ br label %exc.cleanup2
+exc.k17:
+ %t40 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t36, ptr @sc_lit_646811555153625)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_release__x25_m5_App(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ br label %exc.cleanup2
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_release__x25_m5_App(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ br i1 %t40, label %if.t20, label %if.j21
+if.t20:
+ %t44 = load ptr, ptr %sc_l_p_0
+ %t45 = call ptr @sc_rc_retain_dyn(ptr %t44)
+ %t47 = icmp ne ptr %t45, null
+ br i1 %t47, label %dc.inspect22, label %dc.checked25
+dc.inspect22:
+ %t52 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind
+ %t53 = load i32, ptr %t52
+ %t48 = icmp eq i32 %t53, 12
+ br i1 %t48, label %dc.capsule23, label %dc.checked25
+dc.capsule23:
+ %t49 = getelementptr inbounds i8, ptr %t45, i64 40 ; ->v.typed_ref.type_key
+ %t50 = load ptr, ptr %t49
+ %t51 = icmp eq ptr %t50, @sc_cs_21424698936986
+ br i1 %t51, label %dc.exact24, label %dc.checked25
+dc.exact24:
+ %t54 = getelementptr inbounds i8, ptr %t45, i64 16 ; ->v.typed_ref.ptr
+ %t55 = load ptr, ptr %t54
+ %t56 = call ptr @sc_retain__x25_m5_App(ptr %t55)
+ store ptr %t56, ptr %s46
+ br label %dc.done26
+dc.checked25:
+ %t57 = call ptr @sc_dc_91(ptr %t45, ptr null)
+ store ptr %t57, ptr %s46
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t45)
+ br label %exc.cleanup2
+exc.k28:
+ br label %dc.done26
+dc.done26:
+ %t61 = load ptr, ptr %s46
+ %t62 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t61, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t63 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t62)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_release__x25_m5_App(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t63)
+ br label %exc.cleanup2
+exc.k30:
+ %t67 = load ptr, ptr %sc_l_p_0
+ %t68 = call ptr @sc_rc_retain_dyn(ptr %t67)
+ %t70 = icmp ne ptr %t68, null
+ br i1 %t70, label %dc.inspect31, label %dc.checked34
+dc.inspect31:
+ %t75 = getelementptr inbounds i8, ptr %t68, i64 8 ; ->kind
+ %t76 = load i32, ptr %t75
+ %t71 = icmp eq i32 %t76, 12
+ br i1 %t71, label %dc.capsule32, label %dc.checked34
+dc.capsule32:
+ %t72 = getelementptr inbounds i8, ptr %t68, i64 40 ; ->v.typed_ref.type_key
+ %t73 = load ptr, ptr %t72
+ %t74 = icmp eq ptr %t73, @sc_cs_21424698936986
+ br i1 %t74, label %dc.exact33, label %dc.checked34
+dc.exact33:
+ %t77 = getelementptr inbounds i8, ptr %t68, i64 16 ; ->v.typed_ref.ptr
+ %t78 = load ptr, ptr %t77
+ %t79 = call ptr @sc_retain__x25_m5_App(ptr %t78)
+ store ptr %t79, ptr %s69
+ br label %dc.done35
+dc.checked34:
+ %t80 = call ptr @sc_dc_91(ptr %t68, ptr null)
+ store ptr %t80, ptr %s69
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_release__x25_m5_App(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t68)
+ br label %exc.cleanup2
+exc.k37:
+ br label %dc.done35
+dc.done35:
+ %t84 = load ptr, ptr %s69
+ %t85 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t84, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t86 = call ptr @scr_dyn_bag_get(ptr %t63, ptr @sc_lit_646811555153625, ptr %t85)
+ %t87 = load i32, ptr %exc.cell
+ %t88 = icmp ne i32 %t87, 0
+ %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false)
+ br i1 %t89, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_release__x25_m5_App(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @sc_release__x25_m5_App(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t85)
+ call void @sc_rc_release_dyn(ptr %t86)
+ br label %exc.cleanup2
+exc.k39:
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_release__x25_m5_App(ptr %t61)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @sc_release__x25_m5_App(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t85)
+ %t90 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t90)
+ ret ptr %t86
+if.j21:
+ %t92 = call ptr @scr_dyn_undefined()
+ %t91 = call ptr @scr_dyn_retain_v(ptr %t92)
+ %t93 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t93)
+ ret ptr %t91
+if.j8:
+ %t94 = load ptr, ptr %sc_l_p_0
+ %t95 = call ptr @sc_rc_retain_dyn(ptr %t94)
+ %t96 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t95)
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t96)
+ br label %exc.cleanup2
+exc.k41:
+ %t100 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t96)
+ store ptr %t100, ptr %sc_l_bag_0
+ %t101 = load ptr, ptr %sc_l_bag_0
+ %t102 = load ptr, ptr %sc_l_p_0
+ %t103 = call zeroext i1 @scr_dyn_strict_eq(ptr %t101, ptr %t102)
+ br i1 %t103, label %tern.t42, label %tern.f43
+tern.t42:
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t108 = getelementptr inbounds i8, ptr %t105, i64 8 ; ->kind
+ %t109 = load i32, ptr %t108
+ %t107 = icmp eq i32 %t109, 5
+ br i1 %t107, label %dkg.ic45, label %dkg.any46
+dkg.ic45:
+ %t110 = call ptr @scr_dyn_obj_read_ic(ptr %t105, ptr @sc_lit_646811555153625, ptr @sc_dyn_read_ic_54)
+ br label %dkg.j47
+dkg.any46:
+ %t111 = call ptr @sc_dyn_key_get(ptr %t105, ptr @sc_lit_646811555153625, i1 false)
+ br label %dkg.j47
+dkg.j47:
+ %t106 = phi ptr [ %t110, %dkg.ic45 ], [ %t111, %dkg.any46 ]
+ %t112 = load i32, ptr %exc.cell
+ %t113 = icmp ne i32 %t112, 0
+ %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false)
+ br i1 %t114, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t106)
+ br label %exc.cleanup50
+exc.k49:
+ store ptr %t106, ptr %s104
+ br label %tern.j44
+tern.f43:
+ %t115 = load ptr, ptr %sc_l_bag_0
+ %t116 = call ptr @sc_rc_retain_dyn(ptr %t115)
+ %t117 = load ptr, ptr %sc_l_p_0
+ %t118 = call ptr @sc_rc_retain_dyn(ptr %t117)
+ %t119 = call ptr @scr_dyn_bag_get(ptr %t116, ptr @sc_lit_646811555153625, ptr %t118)
+ %t120 = load i32, ptr %exc.cell
+ %t121 = icmp ne i32 %t120, 0
+ %t122 = call i1 @llvm.expect.i1(i1 %t121, i1 false)
+ br i1 %t122, label %exc.u51, label %exc.k52
+exc.u51:
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t119)
+ br label %exc.cleanup50
+exc.k52:
+ store ptr %t119, ptr %s104
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t118)
+ br label %tern.j44
+tern.j44:
+ %t123 = load ptr, ptr %s104
+ %t124 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t124)
+ %t125 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t125)
+ ret ptr %t123
+exc.cleanup2:
+ %t126 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t126)
+ ret ptr null
+exc.cleanup50:
+ %t127 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t127)
+ %t128 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_defineProperty(ptr %p_sc_l_target, ptr %p_sc_l_key, ptr %p_sc_l_descriptor) #0 { ; %dyn.class.defineProperty
+entry:
+ %sc_l_target = alloca ptr ; target
+ %sc_l_key = alloca ptr ; key
+ %sc_l_descriptor = alloca ptr ; descriptor
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_target, ptr %sc_l_target
+ store ptr %p_sc_l_key, ptr %sc_l_key
+ store ptr %p_sc_l_descriptor, ptr %sc_l_descriptor
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key
+ %t5 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 15
+ br i1 %t7, label %if.t2, label %if.j3
+if.t2:
+ %t8 = load ptr, ptr %sc_l_target
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_f__x25_dyn_class_properties(ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = load ptr, ptr %sc_l_key
+ %t15 = call ptr @sc_rc_retain_dyn(ptr %t14)
+ %t16 = load ptr, ptr %sc_l_descriptor
+ %t17 = call ptr @sc_rc_retain_dyn(ptr %t16)
+ %t18 = call ptr @scr_dyn_define_property(ptr %t10, ptr %t15, ptr %t17)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t15)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t18)
+ %t22 = load ptr, ptr %sc_l_target
+ %t23 = call ptr @sc_rc_retain_dyn(ptr %t22)
+ ret ptr %t23
+if.j3:
+ %t24 = load ptr, ptr %sc_l_target
+ %t25 = call ptr @sc_rc_retain_dyn(ptr %t24)
+ %t26 = load ptr, ptr %sc_l_key
+ %t27 = call ptr @sc_rc_retain_dyn(ptr %t26)
+ %t28 = load ptr, ptr %sc_l_descriptor
+ %t29 = call ptr @sc_rc_retain_dyn(ptr %t28)
+ %t30 = call ptr @scr_dyn_define_property(ptr %t25, ptr %t27, ptr %t29)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret ptr null
+exc.k9:
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t29)
+ ret ptr %t30
+}
+define internal ptr @sc_f__x25_dyn_class_defineProperty(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m6_AssetSource(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m6.AssetSource
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s1 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = load ptr, ptr %sc_l_value
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %dc.inspect0, label %dc.checked3
+dc.inspect0:
+ %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t3 = icmp eq i32 %t8, 12
+ br i1 %t3, label %dc.capsule1, label %dc.checked3
+dc.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3314970835853795
+ br i1 %t6, label %dc.exact2, label %dc.checked3
+dc.exact2:
+ %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t10)
+ store ptr %t11, ptr %s1
+ br label %dc.done4
+dc.checked3:
+ %t12 = call ptr @sc_dc_79(ptr %t0, ptr null)
+ store ptr %t12, ptr %s1
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ ret ptr null
+exc.k6:
+ br label %dc.done4
+dc.done4:
+ %t16 = load ptr, ptr %s1
+ ret ptr %t16
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m6_AssetSource(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m6_AssetSource(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m9_EmbeddedAssets(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m9.EmbeddedAssets
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s57 = alloca ptr
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_3314970835853795
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_3314970835853795)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_value
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_3314970835853795
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_79(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 37
+ %t37 = icmp ule i64 %t35, 38
+ %t38 = and i1 %t36, %t37 ; instanceof %m9.EmbeddedAssets
+ call void @sc_release__x25_m6_AssetSource(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_value
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_3314970835853795
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_79(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j16:
+ br label %if.j7
+if.j7:
+ %t56 = load ptr, ptr %sc_l_value
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t64 = load i32, ptr %t63
+ %t59 = icmp eq i32 %t64, 12
+ br i1 %t59, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t61 = load ptr, ptr %t60
+ %t62 = icmp eq ptr %t61, @sc_cs_2519527309428716
+ br i1 %t62, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr
+ %t66 = load ptr, ptr %t65
+ %t67 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t66)
+ store ptr %t67, ptr %s57
+ br label %dc.done28
+dc.checked27:
+ %t68 = call ptr @sc_dc_108(ptr %t56, ptr null)
+ store ptr %t68, ptr %s57
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u29, label %exc.k30
+exc.u29:
+ ret ptr null
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t72 = load ptr, ptr %s57
+ ret ptr %t72
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m9_EmbeddedAssets(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m9_EmbeddedAssets(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenDispatch(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m0.GenDispatch
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s1 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = load ptr, ptr %sc_l_value
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %dc.inspect0, label %dc.checked3
+dc.inspect0:
+ %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t3 = icmp eq i32 %t8, 12
+ br i1 %t3, label %dc.capsule1, label %dc.checked3
+dc.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_2165660704272757
+ br i1 %t6, label %dc.exact2, label %dc.checked3
+dc.exact2:
+ %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t10)
+ store ptr %t11, ptr %s1
+ br label %dc.done4
+dc.checked3:
+ %t12 = call ptr @sc_dc_92(ptr %t0, ptr null)
+ store ptr %t12, ptr %s1
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ ret ptr null
+exc.k6:
+ br label %dc.done4
+dc.done4:
+ %t16 = load ptr, ptr %s1
+ ret ptr %t16
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m0_GenDispatch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenDispatch(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenDispatch(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m0.GenDispatch
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t4, i64 0, i32 2
+ %t6 = load ptr, ptr %t5, !tbaa !204
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = call ptr @sc_f__x25_prototype_data__x25_m0_GenDispatch()
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @scr_dyn_obj_create(ptr %t10)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t14
+if.j3:
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t18, i64 0, i32 2
+ %t20 = load ptr, ptr %t19, !tbaa !204
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ ret ptr %t21
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m0_GenDispatch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenDispatch(ptr %p0)
+ call void @sc_release__x25_m0_GenDispatch(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_54(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.54
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_2165660704272757
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2165660704272757)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_2165660704272757
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_92(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3862385552412238)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_2165660704272757
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_92(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_2165660704272757
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m0_GenDispatch(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_92(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3862385552412238, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m0_GenDispatch(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3862385552412238, ptr @sc_dyn_read_ic_55)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3862385552412238, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3862385552412238, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenFetch(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m0.GenFetch
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s1 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = load ptr, ptr %sc_l_value
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %dc.inspect0, label %dc.checked3
+dc.inspect0:
+ %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t3 = icmp eq i32 %t8, 12
+ br i1 %t3, label %dc.capsule1, label %dc.checked3
+dc.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_2798802470260116
+ br i1 %t6, label %dc.exact2, label %dc.checked3
+dc.exact2:
+ %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t10)
+ store ptr %t11, ptr %s1
+ br label %dc.done4
+dc.checked3:
+ %t12 = call ptr @sc_dc_93(ptr %t0, ptr null)
+ store ptr %t12, ptr %s1
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ ret ptr null
+exc.k6:
+ br label %dc.done4
+dc.done4:
+ %t16 = load ptr, ptr %s1
+ ret ptr %t16
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m0_GenFetch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m0_GenFetch(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenFetch(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m0.GenFetch
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t4, i64 0, i32 2
+ %t6 = load ptr, ptr %t5, !tbaa !204
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = call ptr @sc_f__x25_prototype_data__x25_m0_GenFetch()
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @scr_dyn_obj_create(ptr %t10)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t14
+if.j3:
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t18, i64 0, i32 2
+ %t20 = load ptr, ptr %t19, !tbaa !204
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ ret ptr %t21
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m0_GenFetch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m0_GenFetch(ptr %p0)
+ call void @sc_release__x25_m0_GenFetch(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_55(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.55
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_2798802470260116
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_2798802470260116)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_2798802470260116
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_93(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m0_GenFetch(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_437194258546139)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m0_GenFetch(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m0_GenFetch(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_2798802470260116
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_93(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m0_GenFetch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_2798802470260116
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m0_GenFetch(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_93(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m0_GenFetch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_437194258546139, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m0_GenFetch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m0_GenFetch(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m0_GenFetch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m0_GenFetch(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_437194258546139, ptr @sc_dyn_read_ic_56)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_437194258546139, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_437194258546139, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m1_UpgradeDispatch(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m1.UpgradeDispatch
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s1 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = load ptr, ptr %sc_l_value
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %dc.inspect0, label %dc.checked3
+dc.inspect0:
+ %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t3 = icmp eq i32 %t8, 12
+ br i1 %t3, label %dc.capsule1, label %dc.checked3
+dc.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3870085012327510
+ br i1 %t6, label %dc.exact2, label %dc.checked3
+dc.exact2:
+ %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t10)
+ store ptr %t11, ptr %s1
+ br label %dc.done4
+dc.checked3:
+ %t12 = call ptr @sc_dc_94(ptr %t0, ptr null)
+ store ptr %t12, ptr %s1
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ ret ptr null
+exc.k6:
+ br label %dc.done4
+dc.done4:
+ %t16 = load ptr, ptr %s1
+ ret ptr %t16
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m1_UpgradeDispatch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m1_UpgradeDispatch(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m1_UpgradeDispatch(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m1.UpgradeDispatch
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t4, i64 0, i32 1
+ %t6 = load ptr, ptr %t5, !tbaa !204
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = call ptr @sc_f__x25_prototype_data__x25_m1_UpgradeDispatch()
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @scr_dyn_obj_create(ptr %t10)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t14
+if.j3:
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = getelementptr inbounds %sc_o__x25_m1_UpgradeDispatch, ptr %t18, i64 0, i32 1
+ %t20 = load ptr, ptr %t19, !tbaa !204
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ ret ptr %t21
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m1_UpgradeDispatch(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m1_UpgradeDispatch(ptr %p0)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_56(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.56
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3870085012327510
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3870085012327510)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_3870085012327510
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_94(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_2250671438728133)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3870085012327510
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_94(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_3870085012327510
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m1_UpgradeDispatch(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_94(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_2250671438728133, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_2250671438728133, ptr @sc_dyn_read_ic_57)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_2250671438728133, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2250671438728133, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_57(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.57
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_21424698936986
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_21424698936986
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_91(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3899522094323235)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_21424698936986
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_91(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_21424698936986
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_91(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3899522094323235, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3899522094323235, ptr @sc_dyn_read_ic_58)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3899522094323235, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3899522094323235, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteRequest(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m3.LiteRequest
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %dc.inspect2, label %dc.checked5
+dc.inspect2:
+ %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t7 = icmp eq i32 %t12, 12
+ br i1 %t7, label %dc.capsule3, label %dc.checked5
+dc.capsule3:
+ %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t9 = load ptr, ptr %t8
+ %t10 = icmp eq ptr %t9, @sc_cs_4041255434968695
+ br i1 %t10, label %dc.exact4, label %dc.checked5
+dc.exact4:
+ %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t14)
+ store ptr %t15, ptr %s5
+ br label %dc.done6
+dc.checked5:
+ %t16 = call ptr @sc_dc_101(ptr %t4, ptr null)
+ store ptr %t16, ptr %s5
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u7, label %exc.k8
+exc.u7:
+ ret ptr null
+exc.k8:
+ br label %dc.done6
+dc.done6:
+ %t20 = load ptr, ptr %s5
+ ret ptr %t20
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m3_LiteRequest(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteRequest(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteRequest(ptr %p_sc_l_p_0) #0 { ; %class.readProperties:%m3.LiteRequest
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t4, i64 0, i32 9
+ %t6 = load ptr, ptr %t5, !tbaa !204
+ %t7 = getelementptr inbounds i8, ptr %t6, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 6
+ br i1 %t9, label %if.t2, label %if.j3
+if.t2:
+ %t10 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteRequest()
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr null
+exc.k5:
+ %t14 = call ptr @scr_dyn_obj_create(ptr %t10)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t10)
+ ret ptr %t14
+if.j3:
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t18, i64 0, i32 9
+ %t20 = load ptr, ptr %t19, !tbaa !204
+ %t21 = call ptr @sc_rc_retain_dyn(ptr %t20)
+ ret ptr %t21
+}
+define internal ptr @sc_f__x25_class_readProperties_x3a__x25_m3_LiteRequest(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_readProperties_x3a__x25_m3_LiteRequest(ptr %p0)
+ call void @sc_release__x25_m3_LiteRequest(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_58(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.58
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4041255434968695
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_101(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1207708014012541)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4041255434968695
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_101(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4041255434968695
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_101(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1207708014012541, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1207708014012541, ptr @sc_dyn_read_ic_59)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1207708014012541, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1207708014012541, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_59(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.59
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_21424698936986
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_21424698936986)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_21424698936986
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_App(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_91(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_1093190805819680)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_App(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_21424698936986
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_App(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_91(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_21424698936986
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_App(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_91(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_1093190805819680, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_App(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_App(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_1093190805819680, ptr @sc_dyn_read_ic_60)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_1093190805819680, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_1093190805819680, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_ResponseSink(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m2.ResponseSink
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s1 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = load ptr, ptr %sc_l_value
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %dc.inspect0, label %dc.checked3
+dc.inspect0:
+ %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t3 = icmp eq i32 %t8, 12
+ br i1 %t3, label %dc.capsule1, label %dc.checked3
+dc.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_629517122853751
+ br i1 %t6, label %dc.exact2, label %dc.checked3
+dc.exact2:
+ %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t10)
+ store ptr %t11, ptr %s1
+ br label %dc.done4
+dc.checked3:
+ %t12 = call ptr @sc_dc_29(ptr %t0, ptr null)
+ store ptr %t12, ptr %s1
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ ret ptr null
+exc.k6:
+ br label %dc.done4
+dc.done4:
+ %t16 = load ptr, ptr %s1
+ ret ptr %t16
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m2_ResponseSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_ResponseSink(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_FetchResponseSink(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m2.FetchResponseSink
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s57 = alloca ptr
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_629517122853751
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_629517122853751)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_value
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_629517122853751
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_29(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 17
+ %t37 = icmp ule i64 %t35, 18
+ %t38 = and i1 %t36, %t37 ; instanceof %m2.FetchResponseSink
+ call void @sc_release__x25_m2_ResponseSink(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_value
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_629517122853751
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_29(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j16:
+ br label %if.j7
+if.j7:
+ %t56 = load ptr, ptr %sc_l_value
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t64 = load i32, ptr %t63
+ %t59 = icmp eq i32 %t64, 12
+ br i1 %t59, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t61 = load ptr, ptr %t60
+ %t62 = icmp eq ptr %t61, @sc_cs_2434838942941195
+ br i1 %t62, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr
+ %t66 = load ptr, ptr %t65
+ %t67 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t66)
+ store ptr %t67, ptr %s57
+ br label %dc.done28
+dc.checked27:
+ %t68 = call ptr @sc_dc_52(ptr %t56, ptr null)
+ store ptr %t68, ptr %s57
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u29, label %exc.k30
+exc.u29:
+ ret ptr null
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t72 = load ptr, ptr %s57
+ ret ptr %t72
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m2_FetchResponseSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_FetchResponseSink(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_call_1(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callback, ptr %p_sc_l_p_1, ptr %p_sc_l_p_calleeName) #0 { ; %dyn.class.call.1
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_callback = alloca ptr ; callback
+ %sc_l_p_1 = alloca ptr ; p1
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s39 = alloca [1 x ptr]
+ %s50 = alloca ptr
+ %s78 = alloca i1
+ %s106 = alloca [1 x ptr]
+ %s117 = alloca ptr
+ %s145 = alloca i1
+ %s173 = alloca [1 x ptr]
+ %s184 = alloca ptr
+ %s212 = alloca i1
+ %s240 = alloca [1 x ptr]
+ %s251 = alloca ptr
+ %s279 = alloca i1
+ %s290 = alloca i1
+ %s318 = alloca [1 x ptr]
+ %s329 = alloca ptr
+ %s375 = alloca [1 x ptr]
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_callback, ptr %sc_l_p_callback
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3314970835853795
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3314970835853795)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_callback
+ %t22 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t24 = icmp eq i32 %t23, 6
+ %t25 = xor i1 %t24, true
+ br i1 %t25, label %if.t11, label %if.j12
+if.t11:
+ %t26 = load ptr, ptr %sc_l_p_callback
+ %t29 = getelementptr inbounds i8, ptr %t26, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t28 = icmp eq i32 %t30, 5
+ br i1 %t28, label %dkg.ic13, label %dkg.any14
+dkg.ic13:
+ %t31 = call ptr @scr_dyn_obj_read_ic(ptr %t26, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_61)
+ br label %dkg.j15
+dkg.any14:
+ %t32 = call ptr @sc_dyn_key_get(ptr %t26, ptr @sc_lit_3610950885518037, i1 false)
+ br label %dkg.j15
+dkg.j15:
+ %t27 = phi ptr [ %t31, %dkg.ic13 ], [ %t32, %dkg.any14 ]
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup2
+exc.k17:
+ %t36 = load ptr, ptr %sc_l_p_0
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = load ptr, ptr %sc_l_p_1
+ %t40 = getelementptr inbounds [1 x ptr], ptr %s39, i64 0, i64 0
+ store ptr %t38, ptr %t40
+ %t42 = load ptr, ptr %sc_l_p_calleeName
+ %t43 = getelementptr inbounds %ScrStr, ptr %t42, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t37)
+ %t41 = call ptr @scr_dyn_call(ptr %t27, ptr %s39, i64 1, ptr %t43)
+ call void @scr_dyn_this_pop()
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t41)
+ br label %exc.cleanup2
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t47 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ ret ptr %t41
+if.j12:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect20, label %dc.checked23
+dc.inspect20:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule21, label %dc.checked23
+dc.capsule21:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_3314970835853795
+ br i1 %t55, label %dc.exact22, label %dc.checked23
+dc.exact22:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done24
+dc.checked23:
+ %t61 = call ptr @sc_dc_79(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u25, label %exc.k26
+exc.u25:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k26:
+ br label %dc.done24
+dc.done24:
+ %t65 = load ptr, ptr %s50
+ %t66 = load ptr, ptr %sc_l_p_1
+ %t67 = call ptr @sc_dc_0(ptr %t66, ptr null)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65)
+ call void @scr_str_release(ptr %t67)
+ br label %exc.cleanup2
+exc.k28:
+ %t71 = call ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %t65, ptr %t67)
+ %t72 = load i32, ptr %exc.cell
+ %t73 = icmp ne i32 %t72, 0
+ %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false)
+ br i1 %t74, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65)
+ call void @scr_str_release(ptr %t67)
+ call void @sc_rrelease_r11(ptr %t71)
+ br label %exc.cleanup2
+exc.k30:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t65)
+ call void @scr_str_release(ptr %t67)
+ %t75 = call ptr @sc_ldu_12(ptr %t71)
+ call void @sc_rrelease_r11(ptr %t71)
+ %t76 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret ptr %t75
+if.j10:
+ %t77 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s78
+ %t79 = icmp ne ptr %t77, null
+ br i1 %t79, label %brand.inspect31, label %brand.done33
+brand.inspect31:
+ %t80 = getelementptr inbounds i8, ptr %t77, i64 8 ; ->kind
+ %t81 = load i32, ptr %t80
+ %t82 = icmp eq i32 %t81, 12
+ br i1 %t82, label %brand.capsule32, label %brand.done33
+brand.capsule32:
+ %t83 = getelementptr inbounds i8, ptr %t77, i64 40 ; ->v.typed_ref.type_key
+ %t84 = load ptr, ptr %t83
+ %t85 = icmp eq ptr %t84, @sc_cs_67546268704151
+ store i1 true, ptr %s78
+ br i1 %t85, label %brand.done33, label %brand.compare34
+brand.compare34:
+ %t86 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t77, ptr @sc_lit_67546268704151)
+ store i1 %t86, ptr %s78
+ br label %brand.done33
+brand.done33:
+ %t87 = load i1, ptr %s78
+ br i1 %t87, label %if.t35, label %if.j36
+if.t35:
+ %t88 = load ptr, ptr %sc_l_p_callback
+ %t89 = getelementptr inbounds i8, ptr %t88, i64 8 ; ->kind
+ %t90 = load i32, ptr %t89
+ %t91 = icmp eq i32 %t90, 6
+ %t92 = xor i1 %t91, true
+ br i1 %t92, label %if.t37, label %if.j38
+if.t37:
+ %t93 = load ptr, ptr %sc_l_p_callback
+ %t96 = getelementptr inbounds i8, ptr %t93, i64 8 ; ->kind
+ %t97 = load i32, ptr %t96
+ %t95 = icmp eq i32 %t97, 5
+ br i1 %t95, label %dkg.ic39, label %dkg.any40
+dkg.ic39:
+ %t98 = call ptr @scr_dyn_obj_read_ic(ptr %t93, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_62)
+ br label %dkg.j41
+dkg.any40:
+ %t99 = call ptr @sc_dyn_key_get(ptr %t93, ptr @sc_lit_3610950885518037, i1 false)
+ br label %dkg.j41
+dkg.j41:
+ %t94 = phi ptr [ %t98, %dkg.ic39 ], [ %t99, %dkg.any40 ]
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t94)
+ br label %exc.cleanup2
+exc.k43:
+ %t103 = load ptr, ptr %sc_l_p_0
+ %t104 = call ptr @sc_rc_retain_dyn(ptr %t103)
+ %t105 = load ptr, ptr %sc_l_p_1
+ %t107 = getelementptr inbounds [1 x ptr], ptr %s106, i64 0, i64 0
+ store ptr %t105, ptr %t107
+ %t109 = load ptr, ptr %sc_l_p_calleeName
+ %t110 = getelementptr inbounds %ScrStr, ptr %t109, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t104)
+ %t108 = call ptr @scr_dyn_call(ptr %t94, ptr %s106, i64 1, ptr %t110)
+ call void @scr_dyn_this_pop()
+ %t111 = load i32, ptr %exc.cell
+ %t112 = icmp ne i32 %t111, 0
+ %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false)
+ br i1 %t113, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t104)
+ call void @sc_rc_release_dyn(ptr %t108)
+ br label %exc.cleanup2
+exc.k45:
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t104)
+ %t114 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t114)
+ ret ptr %t108
+if.j38:
+ %t115 = load ptr, ptr %sc_l_p_0
+ %t116 = call ptr @sc_rc_retain_dyn(ptr %t115)
+ %t118 = icmp ne ptr %t116, null
+ br i1 %t118, label %dc.inspect46, label %dc.checked49
+dc.inspect46:
+ %t123 = getelementptr inbounds i8, ptr %t116, i64 8 ; ->kind
+ %t124 = load i32, ptr %t123
+ %t119 = icmp eq i32 %t124, 12
+ br i1 %t119, label %dc.capsule47, label %dc.checked49
+dc.capsule47:
+ %t120 = getelementptr inbounds i8, ptr %t116, i64 40 ; ->v.typed_ref.type_key
+ %t121 = load ptr, ptr %t120
+ %t122 = icmp eq ptr %t121, @sc_cs_67546268704151
+ br i1 %t122, label %dc.exact48, label %dc.checked49
+dc.exact48:
+ %t125 = getelementptr inbounds i8, ptr %t116, i64 16 ; ->v.typed_ref.ptr
+ %t126 = load ptr, ptr %t125
+ %t127 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t126)
+ store ptr %t127, ptr %s117
+ br label %dc.done50
+dc.checked49:
+ %t128 = call ptr @sc_dc_107(ptr %t116, ptr null)
+ store ptr %t128, ptr %s117
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u51, label %exc.k52
+exc.u51:
+ call void @sc_rc_release_dyn(ptr %t116)
+ br label %exc.cleanup2
+exc.k52:
+ br label %dc.done50
+dc.done50:
+ %t132 = load ptr, ptr %s117
+ %t133 = load ptr, ptr %sc_l_p_1
+ %t134 = call ptr @sc_dc_0(ptr %t133, ptr null)
+ %t135 = load i32, ptr %exc.cell
+ %t136 = icmp ne i32 %t135, 0
+ %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false)
+ br i1 %t137, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t132)
+ call void @scr_str_release(ptr %t134)
+ br label %exc.cleanup2
+exc.k54:
+ %t138 = call ptr @sc_bf__x25__x25_m3_LiteHeaders_get(ptr %t132, ptr %t134)
+ %t139 = load i32, ptr %exc.cell
+ %t140 = icmp ne i32 %t139, 0
+ %t141 = call i1 @llvm.expect.i1(i1 %t140, i1 false)
+ br i1 %t141, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t132)
+ call void @scr_str_release(ptr %t134)
+ call void @scr_str_release(ptr %t138)
+ br label %exc.cleanup2
+exc.k56:
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t132)
+ call void @scr_str_release(ptr %t134)
+ %t142 = call ptr @sc_td_13(ptr %t138)
+ call void @scr_str_release(ptr %t138)
+ %t143 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t143)
+ ret ptr %t142
+if.j36:
+ %t144 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s145
+ %t146 = icmp ne ptr %t144, null
+ br i1 %t146, label %brand.inspect57, label %brand.done59
+brand.inspect57:
+ %t147 = getelementptr inbounds i8, ptr %t144, i64 8 ; ->kind
+ %t148 = load i32, ptr %t147
+ %t149 = icmp eq i32 %t148, 12
+ br i1 %t149, label %brand.capsule58, label %brand.done59
+brand.capsule58:
+ %t150 = getelementptr inbounds i8, ptr %t144, i64 40 ; ->v.typed_ref.type_key
+ %t151 = load ptr, ptr %t150
+ %t152 = icmp eq ptr %t151, @sc_cs_2519527309428716
+ store i1 true, ptr %s145
+ br i1 %t152, label %brand.done59, label %brand.compare60
+brand.compare60:
+ %t153 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t144, ptr @sc_lit_2519527309428716)
+ store i1 %t153, ptr %s145
+ br label %brand.done59
+brand.done59:
+ %t154 = load i1, ptr %s145
+ br i1 %t154, label %if.t61, label %if.j62
+if.t61:
+ %t155 = load ptr, ptr %sc_l_p_callback
+ %t156 = getelementptr inbounds i8, ptr %t155, i64 8 ; ->kind
+ %t157 = load i32, ptr %t156
+ %t158 = icmp eq i32 %t157, 6
+ %t159 = xor i1 %t158, true
+ br i1 %t159, label %if.t63, label %if.j64
+if.t63:
+ %t160 = load ptr, ptr %sc_l_p_callback
+ %t163 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t164 = load i32, ptr %t163
+ %t162 = icmp eq i32 %t164, 5
+ br i1 %t162, label %dkg.ic65, label %dkg.any66
+dkg.ic65:
+ %t165 = call ptr @scr_dyn_obj_read_ic(ptr %t160, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_63)
+ br label %dkg.j67
+dkg.any66:
+ %t166 = call ptr @sc_dyn_key_get(ptr %t160, ptr @sc_lit_3610950885518037, i1 false)
+ br label %dkg.j67
+dkg.j67:
+ %t161 = phi ptr [ %t165, %dkg.ic65 ], [ %t166, %dkg.any66 ]
+ %t167 = load i32, ptr %exc.cell
+ %t168 = icmp ne i32 %t167, 0
+ %t169 = call i1 @llvm.expect.i1(i1 %t168, i1 false)
+ br i1 %t169, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t161)
+ br label %exc.cleanup2
+exc.k69:
+ %t170 = load ptr, ptr %sc_l_p_0
+ %t171 = call ptr @sc_rc_retain_dyn(ptr %t170)
+ %t172 = load ptr, ptr %sc_l_p_1
+ %t174 = getelementptr inbounds [1 x ptr], ptr %s173, i64 0, i64 0
+ store ptr %t172, ptr %t174
+ %t176 = load ptr, ptr %sc_l_p_calleeName
+ %t177 = getelementptr inbounds %ScrStr, ptr %t176, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t171)
+ %t175 = call ptr @scr_dyn_call(ptr %t161, ptr %s173, i64 1, ptr %t177)
+ call void @scr_dyn_this_pop()
+ %t178 = load i32, ptr %exc.cell
+ %t179 = icmp ne i32 %t178, 0
+ %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false)
+ br i1 %t180, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t161)
+ call void @sc_rc_release_dyn(ptr %t171)
+ call void @sc_rc_release_dyn(ptr %t175)
+ br label %exc.cleanup2
+exc.k71:
+ call void @sc_rc_release_dyn(ptr %t161)
+ call void @sc_rc_release_dyn(ptr %t171)
+ %t181 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t181)
+ ret ptr %t175
+if.j64:
+ %t182 = load ptr, ptr %sc_l_p_0
+ %t183 = call ptr @sc_rc_retain_dyn(ptr %t182)
+ %t185 = icmp ne ptr %t183, null
+ br i1 %t185, label %dc.inspect72, label %dc.checked75
+dc.inspect72:
+ %t190 = getelementptr inbounds i8, ptr %t183, i64 8 ; ->kind
+ %t191 = load i32, ptr %t190
+ %t186 = icmp eq i32 %t191, 12
+ br i1 %t186, label %dc.capsule73, label %dc.checked75
+dc.capsule73:
+ %t187 = getelementptr inbounds i8, ptr %t183, i64 40 ; ->v.typed_ref.type_key
+ %t188 = load ptr, ptr %t187
+ %t189 = icmp eq ptr %t188, @sc_cs_2519527309428716
+ br i1 %t189, label %dc.exact74, label %dc.checked75
+dc.exact74:
+ %t192 = getelementptr inbounds i8, ptr %t183, i64 16 ; ->v.typed_ref.ptr
+ %t193 = load ptr, ptr %t192
+ %t194 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t193)
+ store ptr %t194, ptr %s184
+ br label %dc.done76
+dc.checked75:
+ %t195 = call ptr @sc_dc_108(ptr %t183, ptr null)
+ store ptr %t195, ptr %s184
+ %t196 = load i32, ptr %exc.cell
+ %t197 = icmp ne i32 %t196, 0
+ %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false)
+ br i1 %t198, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t183)
+ br label %exc.cleanup2
+exc.k78:
+ br label %dc.done76
+dc.done76:
+ %t199 = load ptr, ptr %s184
+ %t200 = load ptr, ptr %sc_l_p_1
+ %t201 = call ptr @sc_dc_0(ptr %t200, ptr null)
+ %t202 = load i32, ptr %exc.cell
+ %t203 = icmp ne i32 %t202, 0
+ %t204 = call i1 @llvm.expect.i1(i1 %t203, i1 false)
+ br i1 %t204, label %exc.u79, label %exc.k80
+exc.u79:
+ call void @sc_rc_release_dyn(ptr %t183)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t199)
+ call void @scr_str_release(ptr %t201)
+ br label %exc.cleanup2
+exc.k80:
+ %t205 = call ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %t199, ptr %t201)
+ %t206 = load i32, ptr %exc.cell
+ %t207 = icmp ne i32 %t206, 0
+ %t208 = call i1 @llvm.expect.i1(i1 %t207, i1 false)
+ br i1 %t208, label %exc.u81, label %exc.k82
+exc.u81:
+ call void @sc_rc_release_dyn(ptr %t183)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t199)
+ call void @scr_str_release(ptr %t201)
+ call void @sc_rrelease_r11(ptr %t205)
+ br label %exc.cleanup2
+exc.k82:
+ call void @sc_rc_release_dyn(ptr %t183)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t199)
+ call void @scr_str_release(ptr %t201)
+ %t209 = call ptr @sc_ldu_12(ptr %t205)
+ call void @sc_rrelease_r11(ptr %t205)
+ %t210 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t210)
+ ret ptr %t209
+if.j62:
+ %t211 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s212
+ %t213 = icmp ne ptr %t211, null
+ br i1 %t213, label %brand.inspect83, label %brand.done85
+brand.inspect83:
+ %t214 = getelementptr inbounds i8, ptr %t211, i64 8 ; ->kind
+ %t215 = load i32, ptr %t214
+ %t216 = icmp eq i32 %t215, 12
+ br i1 %t216, label %brand.capsule84, label %brand.done85
+brand.capsule84:
+ %t217 = getelementptr inbounds i8, ptr %t211, i64 40 ; ->v.typed_ref.type_key
+ %t218 = load ptr, ptr %t217
+ %t219 = icmp eq ptr %t218, @sc_cs_4143564844538255
+ store i1 true, ptr %s212
+ br i1 %t219, label %brand.done85, label %brand.compare86
+brand.compare86:
+ %t220 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t211, ptr @sc_lit_4143564844538255)
+ store i1 %t220, ptr %s212
+ br label %brand.done85
+brand.done85:
+ %t221 = load i1, ptr %s212
+ br i1 %t221, label %if.t87, label %if.j88
+if.t87:
+ %t222 = load ptr, ptr %sc_l_p_callback
+ %t223 = getelementptr inbounds i8, ptr %t222, i64 8 ; ->kind
+ %t224 = load i32, ptr %t223
+ %t225 = icmp eq i32 %t224, 6
+ %t226 = xor i1 %t225, true
+ br i1 %t226, label %if.t89, label %if.j90
+if.t89:
+ %t227 = load ptr, ptr %sc_l_p_callback
+ %t230 = getelementptr inbounds i8, ptr %t227, i64 8 ; ->kind
+ %t231 = load i32, ptr %t230
+ %t229 = icmp eq i32 %t231, 5
+ br i1 %t229, label %dkg.ic91, label %dkg.any92
+dkg.ic91:
+ %t232 = call ptr @scr_dyn_obj_read_ic(ptr %t227, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_64)
+ br label %dkg.j93
+dkg.any92:
+ %t233 = call ptr @sc_dyn_key_get(ptr %t227, ptr @sc_lit_3610950885518037, i1 false)
+ br label %dkg.j93
+dkg.j93:
+ %t228 = phi ptr [ %t232, %dkg.ic91 ], [ %t233, %dkg.any92 ]
+ %t234 = load i32, ptr %exc.cell
+ %t235 = icmp ne i32 %t234, 0
+ %t236 = call i1 @llvm.expect.i1(i1 %t235, i1 false)
+ br i1 %t236, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t228)
+ br label %exc.cleanup2
+exc.k95:
+ %t237 = load ptr, ptr %sc_l_p_0
+ %t238 = call ptr @sc_rc_retain_dyn(ptr %t237)
+ %t239 = load ptr, ptr %sc_l_p_1
+ %t241 = getelementptr inbounds [1 x ptr], ptr %s240, i64 0, i64 0
+ store ptr %t239, ptr %t241
+ %t243 = load ptr, ptr %sc_l_p_calleeName
+ %t244 = getelementptr inbounds %ScrStr, ptr %t243, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t238)
+ %t242 = call ptr @scr_dyn_call(ptr %t228, ptr %s240, i64 1, ptr %t244)
+ call void @scr_dyn_this_pop()
+ %t245 = load i32, ptr %exc.cell
+ %t246 = icmp ne i32 %t245, 0
+ %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false)
+ br i1 %t247, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t228)
+ call void @sc_rc_release_dyn(ptr %t238)
+ call void @sc_rc_release_dyn(ptr %t242)
+ br label %exc.cleanup2
+exc.k97:
+ call void @sc_rc_release_dyn(ptr %t228)
+ call void @sc_rc_release_dyn(ptr %t238)
+ %t248 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t248)
+ ret ptr %t242
+if.j90:
+ %t249 = load ptr, ptr %sc_l_p_0
+ %t250 = call ptr @sc_rc_retain_dyn(ptr %t249)
+ %t252 = icmp ne ptr %t250, null
+ br i1 %t252, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t257 = getelementptr inbounds i8, ptr %t250, i64 8 ; ->kind
+ %t258 = load i32, ptr %t257
+ %t253 = icmp eq i32 %t258, 12
+ br i1 %t253, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t254 = getelementptr inbounds i8, ptr %t250, i64 40 ; ->v.typed_ref.type_key
+ %t255 = load ptr, ptr %t254
+ %t256 = icmp eq ptr %t255, @sc_cs_4143564844538255
+ br i1 %t256, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t259 = getelementptr inbounds i8, ptr %t250, i64 16 ; ->v.typed_ref.ptr
+ %t260 = load ptr, ptr %t259
+ %t261 = call ptr @sc_retain__x25_m14_BakedAssets(ptr %t260)
+ store ptr %t261, ptr %s251
+ br label %dc.done102
+dc.checked101:
+ %t262 = call ptr @sc_dc_109(ptr %t250, ptr null)
+ store ptr %t262, ptr %s251
+ %t263 = load i32, ptr %exc.cell
+ %t264 = icmp ne i32 %t263, 0
+ %t265 = call i1 @llvm.expect.i1(i1 %t264, i1 false)
+ br i1 %t265, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t250)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t266 = load ptr, ptr %s251
+ %t267 = load ptr, ptr %sc_l_p_1
+ %t268 = call ptr @sc_dc_0(ptr %t267, ptr null)
+ %t269 = load i32, ptr %exc.cell
+ %t270 = icmp ne i32 %t269, 0
+ %t271 = call i1 @llvm.expect.i1(i1 %t270, i1 false)
+ br i1 %t271, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t250)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t266)
+ call void @scr_str_release(ptr %t268)
+ br label %exc.cleanup2
+exc.k106:
+ %t272 = call ptr @sc_bf__x25__x25_m9_EmbeddedAssets_get(ptr %t266, ptr %t268)
+ %t273 = load i32, ptr %exc.cell
+ %t274 = icmp ne i32 %t273, 0
+ %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false)
+ br i1 %t275, label %exc.u107, label %exc.k108
+exc.u107:
+ call void @sc_rc_release_dyn(ptr %t250)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t266)
+ call void @scr_str_release(ptr %t268)
+ call void @sc_rrelease_r11(ptr %t272)
+ br label %exc.cleanup2
+exc.k108:
+ call void @sc_rc_release_dyn(ptr %t250)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t266)
+ call void @scr_str_release(ptr %t268)
+ %t276 = call ptr @sc_ldu_12(ptr %t272)
+ call void @sc_rrelease_r11(ptr %t272)
+ %t277 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t277)
+ ret ptr %t276
+if.j88:
+ %t278 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s279
+ %t280 = icmp ne ptr %t278, null
+ br i1 %t280, label %brand.inspect109, label %brand.done111
+brand.inspect109:
+ %t281 = getelementptr inbounds i8, ptr %t278, i64 8 ; ->kind
+ %t282 = load i32, ptr %t281
+ %t283 = icmp eq i32 %t282, 12
+ br i1 %t283, label %brand.capsule110, label %brand.done111
+brand.capsule110:
+ %t284 = getelementptr inbounds i8, ptr %t278, i64 40 ; ->v.typed_ref.type_key
+ %t285 = load ptr, ptr %t284
+ %t286 = icmp eq ptr %t285, @sc_cs_2875643240706496
+ store i1 true, ptr %s279
+ br i1 %t286, label %brand.done111, label %brand.compare112
+brand.compare112:
+ %t287 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t278, ptr @sc_lit_2875643240706496)
+ store i1 %t287, ptr %s279
+ br label %brand.done111
+brand.done111:
+ %t288 = load i1, ptr %s279
+ br i1 %t288, label %if.t113, label %if.j114
+if.t113:
+ call void @scr_throw_error_msg_code(i32 0, ptr @sc_cs_368290044818719, i64 80, ptr @sc_cs_2988681134725684)
+ br label %exc.cleanup2
+if.j114:
+ %t289 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s290
+ %t291 = icmp ne ptr %t289, null
+ br i1 %t291, label %brand.inspect115, label %brand.done117
+brand.inspect115:
+ %t292 = getelementptr inbounds i8, ptr %t289, i64 8 ; ->kind
+ %t293 = load i32, ptr %t292
+ %t294 = icmp eq i32 %t293, 12
+ br i1 %t294, label %brand.capsule116, label %brand.done117
+brand.capsule116:
+ %t295 = getelementptr inbounds i8, ptr %t289, i64 40 ; ->v.typed_ref.type_key
+ %t296 = load ptr, ptr %t295
+ %t297 = icmp eq ptr %t296, @sc_cs_21424698936986
+ store i1 true, ptr %s290
+ br i1 %t297, label %brand.done117, label %brand.compare118
+brand.compare118:
+ %t298 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t289, ptr @sc_lit_21424698936986)
+ store i1 %t298, ptr %s290
+ br label %brand.done117
+brand.done117:
+ %t299 = load i1, ptr %s290
+ br i1 %t299, label %if.t119, label %if.j120
+if.t119:
+ %t300 = load ptr, ptr %sc_l_p_callback
+ %t301 = getelementptr inbounds i8, ptr %t300, i64 8 ; ->kind
+ %t302 = load i32, ptr %t301
+ %t303 = icmp eq i32 %t302, 6
+ %t304 = xor i1 %t303, true
+ br i1 %t304, label %if.t121, label %if.j122
+if.t121:
+ %t305 = load ptr, ptr %sc_l_p_callback
+ %t308 = getelementptr inbounds i8, ptr %t305, i64 8 ; ->kind
+ %t309 = load i32, ptr %t308
+ %t307 = icmp eq i32 %t309, 5
+ br i1 %t307, label %dkg.ic123, label %dkg.any124
+dkg.ic123:
+ %t310 = call ptr @scr_dyn_obj_read_ic(ptr %t305, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_65)
+ br label %dkg.j125
+dkg.any124:
+ %t311 = call ptr @sc_dyn_key_get(ptr %t305, ptr @sc_lit_3610950885518037, i1 false)
+ br label %dkg.j125
+dkg.j125:
+ %t306 = phi ptr [ %t310, %dkg.ic123 ], [ %t311, %dkg.any124 ]
+ %t312 = load i32, ptr %exc.cell
+ %t313 = icmp ne i32 %t312, 0
+ %t314 = call i1 @llvm.expect.i1(i1 %t313, i1 false)
+ br i1 %t314, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t306)
+ br label %exc.cleanup2
+exc.k127:
+ %t315 = load ptr, ptr %sc_l_p_0
+ %t316 = call ptr @sc_rc_retain_dyn(ptr %t315)
+ %t317 = load ptr, ptr %sc_l_p_1
+ %t319 = getelementptr inbounds [1 x ptr], ptr %s318, i64 0, i64 0
+ store ptr %t317, ptr %t319
+ %t321 = load ptr, ptr %sc_l_p_calleeName
+ %t322 = getelementptr inbounds %ScrStr, ptr %t321, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t316)
+ %t320 = call ptr @scr_dyn_call(ptr %t306, ptr %s318, i64 1, ptr %t322)
+ call void @scr_dyn_this_pop()
+ %t323 = load i32, ptr %exc.cell
+ %t324 = icmp ne i32 %t323, 0
+ %t325 = call i1 @llvm.expect.i1(i1 %t324, i1 false)
+ br i1 %t325, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @sc_rc_release_dyn(ptr %t306)
+ call void @sc_rc_release_dyn(ptr %t316)
+ call void @sc_rc_release_dyn(ptr %t320)
+ br label %exc.cleanup2
+exc.k129:
+ call void @sc_rc_release_dyn(ptr %t306)
+ call void @sc_rc_release_dyn(ptr %t316)
+ %t326 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t326)
+ ret ptr %t320
+if.j122:
+ %t327 = load ptr, ptr %sc_l_p_0
+ %t328 = call ptr @sc_rc_retain_dyn(ptr %t327)
+ %t330 = icmp ne ptr %t328, null
+ br i1 %t330, label %dc.inspect130, label %dc.checked133
+dc.inspect130:
+ %t335 = getelementptr inbounds i8, ptr %t328, i64 8 ; ->kind
+ %t336 = load i32, ptr %t335
+ %t331 = icmp eq i32 %t336, 12
+ br i1 %t331, label %dc.capsule131, label %dc.checked133
+dc.capsule131:
+ %t332 = getelementptr inbounds i8, ptr %t328, i64 40 ; ->v.typed_ref.type_key
+ %t333 = load ptr, ptr %t332
+ %t334 = icmp eq ptr %t333, @sc_cs_21424698936986
+ br i1 %t334, label %dc.exact132, label %dc.checked133
+dc.exact132:
+ %t337 = getelementptr inbounds i8, ptr %t328, i64 16 ; ->v.typed_ref.ptr
+ %t338 = load ptr, ptr %t337
+ %t339 = call ptr @sc_retain__x25_m5_App(ptr %t338)
+ store ptr %t339, ptr %s329
+ br label %dc.done134
+dc.checked133:
+ %t340 = call ptr @sc_dc_91(ptr %t328, ptr null)
+ store ptr %t340, ptr %s329
+ %t341 = load i32, ptr %exc.cell
+ %t342 = icmp ne i32 %t341, 0
+ %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false)
+ br i1 %t343, label %exc.u135, label %exc.k136
+exc.u135:
+ call void @sc_rc_release_dyn(ptr %t328)
+ br label %exc.cleanup2
+exc.k136:
+ br label %dc.done134
+dc.done134:
+ %t344 = load ptr, ptr %s329
+ %t345 = load ptr, ptr %sc_l_p_1
+ %t346 = call ptr @sc_dc_0(ptr %t345, ptr null)
+ %t347 = load i32, ptr %exc.cell
+ %t348 = icmp ne i32 %t347, 0
+ %t349 = call i1 @llvm.expect.i1(i1 %t348, i1 false)
+ br i1 %t349, label %exc.u137, label %exc.k138
+exc.u137:
+ call void @sc_rc_release_dyn(ptr %t328)
+ call void @sc_release__x25_m5_App(ptr %t344)
+ call void @scr_str_release(ptr %t346)
+ br label %exc.cleanup2
+exc.k138:
+ %t351 = call ptr @scr_dyn_undefined()
+ %t350 = call ptr @scr_dyn_retain_v(ptr %t351)
+ %t352 = call ptr @sc_dc_36(ptr %t350, ptr null)
+ %t353 = load i32, ptr %exc.cell
+ %t354 = icmp ne i32 %t353, 0
+ %t355 = call i1 @llvm.expect.i1(i1 %t354, i1 false)
+ br i1 %t355, label %exc.u139, label %exc.k140
+exc.u139:
+ call void @sc_rc_release_dyn(ptr %t328)
+ call void @sc_release__x25_m5_App(ptr %t344)
+ call void @scr_str_release(ptr %t346)
+ call void @sc_rc_release_dyn(ptr %t350)
+ call void @scr_closure_release(ptr %t352)
+ br label %exc.cleanup2
+exc.k140:
+ %t357 = call ptr @scr_dyn_undefined()
+ %t356 = call ptr @scr_dyn_retain_v(ptr %t357)
+ %t358 = call ptr @sc_dc_89(ptr %t356, ptr null)
+ %t359 = load i32, ptr %exc.cell
+ %t360 = icmp ne i32 %t359, 0
+ %t361 = call i1 @llvm.expect.i1(i1 %t360, i1 false)
+ br i1 %t361, label %exc.u141, label %exc.k142
+exc.u141:
+ call void @sc_rc_release_dyn(ptr %t328)
+ call void @sc_release__x25_m5_App(ptr %t344)
+ call void @scr_str_release(ptr %t346)
+ call void @sc_rc_release_dyn(ptr %t350)
+ call void @scr_closure_release(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t356)
+ call void @sc_rrelease_r7(ptr %t358)
+ br label %exc.cleanup2
+exc.k142:
+ %t362 = call ptr @sc_bf__x25__x25_m5_App_get(ptr %t344, ptr %t346, ptr %t352, ptr %t358)
+ %t363 = load i32, ptr %exc.cell
+ %t364 = icmp ne i32 %t363, 0
+ %t365 = call i1 @llvm.expect.i1(i1 %t364, i1 false)
+ br i1 %t365, label %exc.u143, label %exc.k144
+exc.u143:
+ call void @sc_rc_release_dyn(ptr %t328)
+ call void @sc_release__x25_m5_App(ptr %t344)
+ call void @scr_str_release(ptr %t346)
+ call void @sc_rc_release_dyn(ptr %t350)
+ call void @scr_closure_release(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t356)
+ call void @sc_rrelease_r7(ptr %t358)
+ call void @sc_release__x25_m5_App(ptr %t362)
+ br label %exc.cleanup2
+exc.k144:
+ call void @sc_rc_release_dyn(ptr %t328)
+ call void @sc_release__x25_m5_App(ptr %t344)
+ call void @scr_str_release(ptr %t346)
+ call void @sc_rc_release_dyn(ptr %t350)
+ call void @scr_closure_release(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t356)
+ call void @sc_rrelease_r7(ptr %t358)
+ %t366 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t362, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @sc_release__x25_m5_App(ptr %t362)
+ %t367 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t367)
+ ret ptr %t366
+if.j120:
+ %t368 = load ptr, ptr %sc_l_p_0
+ %t369 = call ptr @sc_rc_retain_dyn(ptr %t368)
+ %t370 = call ptr @scr_dyn_prepare_method(ptr %t369, ptr @sc_cs_731773075116702)
+ %t371 = load i32, ptr %exc.cell
+ %t372 = icmp ne i32 %t371, 0
+ %t373 = call i1 @llvm.expect.i1(i1 %t372, i1 false)
+ br i1 %t373, label %exc.u145, label %exc.k146
+exc.u145:
+ call void @sc_rc_release_dyn(ptr %t369)
+ call void @sc_rc_release_dyn(ptr %t370)
+ br label %exc.cleanup2
+exc.k146:
+ %t374 = load ptr, ptr %sc_l_p_1
+ %t376 = getelementptr inbounds [1 x ptr], ptr %s375, i64 0, i64 0
+ store ptr %t374, ptr %t376
+ %t377 = load ptr, ptr %sc_l_p_calleeName
+ %t378 = getelementptr inbounds %ScrStr, ptr %t377, i32 1
+ %t379 = call ptr @scr_dyn_invoke_prepared(ptr %t369, ptr %t370, ptr @sc_cs_731773075116702, ptr %s375, i64 1, ptr %t378)
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u147, label %exc.k148
+exc.u147:
+ call void @sc_rc_release_dyn(ptr %t369)
+ call void @sc_rc_release_dyn(ptr %t370)
+ call void @sc_rc_release_dyn(ptr %t379)
+ br label %exc.cleanup2
+exc.k148:
+ call void @sc_rc_release_dyn(ptr %t369)
+ call void @sc_rc_release_dyn(ptr %t370)
+ %t383 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t383)
+ ret ptr %t379
+exc.cleanup2:
+ %t384 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t384)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_call_1(ptr %p0, ptr %p1, ptr %p2, ptr %p3) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_call_1(ptr %p0, ptr %p1, ptr %p2, ptr %p3)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @scr_str_release(ptr %p3)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_callback_1(ptr %p_sc_l_p_0) #0 { ; %dyn.class.callback.1
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s21 = alloca ptr
+ %s46 = alloca i1
+ %s56 = alloca ptr
+ %s81 = alloca i1
+ %s91 = alloca ptr
+ %s116 = alloca i1
+ %s126 = alloca ptr
+ %s151 = alloca i1
+ %s161 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_3314970835853795
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_3314970835853795)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ br i1 true, label %tern.t11, label %tern.f12
+tern.t11:
+ %t22 = call ptr @scr_dyn_new_obj()
+ %t23 = load ptr, ptr %sc_l_p_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t25 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %exc.cleanup2
+exc.k15:
+ %t31 = getelementptr inbounds i8, ptr %t25, i64 8 ; ->kind
+ %t32 = load i32, ptr %t31
+ %t30 = icmp eq i32 %t32, 5
+ br i1 %t30, label %dkg.ic16, label %dkg.any17
+dkg.ic16:
+ %t33 = call ptr @scr_dyn_obj_read_ic(ptr %t25, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_66)
+ br label %dkg.j18
+dkg.any17:
+ %t34 = call ptr @sc_dyn_key_get(ptr %t25, ptr @sc_lit_731773075116702, i1 false)
+ br label %dkg.j18
+dkg.j18:
+ %t29 = phi ptr [ %t33, %dkg.ic16 ], [ %t34, %dkg.any17 ]
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup2
+exc.k20:
+ call void @scr_dyn_key_set(ptr %t22, ptr @sc_lit_3610950885518037, ptr %t29)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup2
+exc.k22:
+ store ptr %t22, ptr %s21
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %tern.j13
+tern.f12:
+ %t42 = call ptr @scr_dyn_undefined()
+ %t41 = call ptr @scr_dyn_retain_v(ptr %t42)
+ store ptr %t41, ptr %s21
+ br label %tern.j13
+tern.j13:
+ %t43 = load ptr, ptr %s21
+ %t44 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr %t43
+if.j10:
+ %t45 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s46
+ %t47 = icmp ne ptr %t45, null
+ br i1 %t47, label %brand.inspect23, label %brand.done25
+brand.inspect23:
+ %t48 = getelementptr inbounds i8, ptr %t45, i64 8 ; ->kind
+ %t49 = load i32, ptr %t48
+ %t50 = icmp eq i32 %t49, 12
+ br i1 %t50, label %brand.capsule24, label %brand.done25
+brand.capsule24:
+ %t51 = getelementptr inbounds i8, ptr %t45, i64 40 ; ->v.typed_ref.type_key
+ %t52 = load ptr, ptr %t51
+ %t53 = icmp eq ptr %t52, @sc_cs_67546268704151
+ store i1 true, ptr %s46
+ br i1 %t53, label %brand.done25, label %brand.compare26
+brand.compare26:
+ %t54 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t45, ptr @sc_lit_67546268704151)
+ store i1 %t54, ptr %s46
+ br label %brand.done25
+brand.done25:
+ %t55 = load i1, ptr %s46
+ br i1 %t55, label %if.t27, label %if.j28
+if.t27:
+ br i1 true, label %tern.t29, label %tern.f30
+tern.t29:
+ %t57 = call ptr @scr_dyn_new_obj()
+ %t58 = load ptr, ptr %sc_l_p_0
+ %t59 = call ptr @sc_rc_retain_dyn(ptr %t58)
+ %t60 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t59)
+ %t61 = load i32, ptr %exc.cell
+ %t62 = icmp ne i32 %t61, 0
+ %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false)
+ br i1 %t63, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t60)
+ br label %exc.cleanup2
+exc.k33:
+ %t66 = getelementptr inbounds i8, ptr %t60, i64 8 ; ->kind
+ %t67 = load i32, ptr %t66
+ %t65 = icmp eq i32 %t67, 5
+ br i1 %t65, label %dkg.ic34, label %dkg.any35
+dkg.ic34:
+ %t68 = call ptr @scr_dyn_obj_read_ic(ptr %t60, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_67)
+ br label %dkg.j36
+dkg.any35:
+ %t69 = call ptr @sc_dyn_key_get(ptr %t60, ptr @sc_lit_731773075116702, i1 false)
+ br label %dkg.j36
+dkg.j36:
+ %t64 = phi ptr [ %t68, %dkg.ic34 ], [ %t69, %dkg.any35 ]
+ %t70 = load i32, ptr %exc.cell
+ %t71 = icmp ne i32 %t70, 0
+ %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false)
+ br i1 %t72, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_rc_release_dyn(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @sc_rc_release_dyn(ptr %t64)
+ br label %exc.cleanup2
+exc.k38:
+ call void @scr_dyn_key_set(ptr %t57, ptr @sc_lit_3610950885518037, ptr %t64)
+ %t73 = load i32, ptr %exc.cell
+ %t74 = icmp ne i32 %t73, 0
+ %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false)
+ br i1 %t75, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @sc_rc_release_dyn(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @sc_rc_release_dyn(ptr %t64)
+ br label %exc.cleanup2
+exc.k40:
+ store ptr %t57, ptr %s56
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @sc_rc_release_dyn(ptr %t64)
+ br label %tern.j31
+tern.f30:
+ %t77 = call ptr @scr_dyn_undefined()
+ %t76 = call ptr @scr_dyn_retain_v(ptr %t77)
+ store ptr %t76, ptr %s56
+ br label %tern.j31
+tern.j31:
+ %t78 = load ptr, ptr %s56
+ %t79 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t79)
+ ret ptr %t78
+if.j28:
+ %t80 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s81
+ %t82 = icmp ne ptr %t80, null
+ br i1 %t82, label %brand.inspect41, label %brand.done43
+brand.inspect41:
+ %t83 = getelementptr inbounds i8, ptr %t80, i64 8 ; ->kind
+ %t84 = load i32, ptr %t83
+ %t85 = icmp eq i32 %t84, 12
+ br i1 %t85, label %brand.capsule42, label %brand.done43
+brand.capsule42:
+ %t86 = getelementptr inbounds i8, ptr %t80, i64 40 ; ->v.typed_ref.type_key
+ %t87 = load ptr, ptr %t86
+ %t88 = icmp eq ptr %t87, @sc_cs_2519527309428716
+ store i1 true, ptr %s81
+ br i1 %t88, label %brand.done43, label %brand.compare44
+brand.compare44:
+ %t89 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t80, ptr @sc_lit_2519527309428716)
+ store i1 %t89, ptr %s81
+ br label %brand.done43
+brand.done43:
+ %t90 = load i1, ptr %s81
+ br i1 %t90, label %if.t45, label %if.j46
+if.t45:
+ br i1 true, label %tern.t47, label %tern.f48
+tern.t47:
+ %t92 = call ptr @scr_dyn_new_obj()
+ %t93 = load ptr, ptr %sc_l_p_0
+ %t94 = call ptr @sc_rc_retain_dyn(ptr %t93)
+ %t95 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t94)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t92)
+ call void @sc_rc_release_dyn(ptr %t95)
+ br label %exc.cleanup2
+exc.k51:
+ %t101 = getelementptr inbounds i8, ptr %t95, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t100 = icmp eq i32 %t102, 5
+ br i1 %t100, label %dkg.ic52, label %dkg.any53
+dkg.ic52:
+ %t103 = call ptr @scr_dyn_obj_read_ic(ptr %t95, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_68)
+ br label %dkg.j54
+dkg.any53:
+ %t104 = call ptr @sc_dyn_key_get(ptr %t95, ptr @sc_lit_731773075116702, i1 false)
+ br label %dkg.j54
+dkg.j54:
+ %t99 = phi ptr [ %t103, %dkg.ic52 ], [ %t104, %dkg.any53 ]
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t92)
+ call void @sc_rc_release_dyn(ptr %t95)
+ call void @sc_rc_release_dyn(ptr %t99)
+ br label %exc.cleanup2
+exc.k56:
+ call void @scr_dyn_key_set(ptr %t92, ptr @sc_lit_3610950885518037, ptr %t99)
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t92)
+ call void @sc_rc_release_dyn(ptr %t95)
+ call void @sc_rc_release_dyn(ptr %t99)
+ br label %exc.cleanup2
+exc.k58:
+ store ptr %t92, ptr %s91
+ call void @sc_rc_release_dyn(ptr %t95)
+ call void @sc_rc_release_dyn(ptr %t99)
+ br label %tern.j49
+tern.f48:
+ %t112 = call ptr @scr_dyn_undefined()
+ %t111 = call ptr @scr_dyn_retain_v(ptr %t112)
+ store ptr %t111, ptr %s91
+ br label %tern.j49
+tern.j49:
+ %t113 = load ptr, ptr %s91
+ %t114 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t114)
+ ret ptr %t113
+if.j46:
+ %t115 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s116
+ %t117 = icmp ne ptr %t115, null
+ br i1 %t117, label %brand.inspect59, label %brand.done61
+brand.inspect59:
+ %t118 = getelementptr inbounds i8, ptr %t115, i64 8 ; ->kind
+ %t119 = load i32, ptr %t118
+ %t120 = icmp eq i32 %t119, 12
+ br i1 %t120, label %brand.capsule60, label %brand.done61
+brand.capsule60:
+ %t121 = getelementptr inbounds i8, ptr %t115, i64 40 ; ->v.typed_ref.type_key
+ %t122 = load ptr, ptr %t121
+ %t123 = icmp eq ptr %t122, @sc_cs_4143564844538255
+ store i1 true, ptr %s116
+ br i1 %t123, label %brand.done61, label %brand.compare62
+brand.compare62:
+ %t124 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t115, ptr @sc_lit_4143564844538255)
+ store i1 %t124, ptr %s116
+ br label %brand.done61
+brand.done61:
+ %t125 = load i1, ptr %s116
+ br i1 %t125, label %if.t63, label %if.j64
+if.t63:
+ br i1 true, label %tern.t65, label %tern.f66
+tern.t65:
+ %t127 = call ptr @scr_dyn_new_obj()
+ %t128 = load ptr, ptr %sc_l_p_0
+ %t129 = call ptr @sc_rc_retain_dyn(ptr %t128)
+ %t130 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t129)
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t130)
+ br label %exc.cleanup2
+exc.k69:
+ %t136 = getelementptr inbounds i8, ptr %t130, i64 8 ; ->kind
+ %t137 = load i32, ptr %t136
+ %t135 = icmp eq i32 %t137, 5
+ br i1 %t135, label %dkg.ic70, label %dkg.any71
+dkg.ic70:
+ %t138 = call ptr @scr_dyn_obj_read_ic(ptr %t130, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_69)
+ br label %dkg.j72
+dkg.any71:
+ %t139 = call ptr @sc_dyn_key_get(ptr %t130, ptr @sc_lit_731773075116702, i1 false)
+ br label %dkg.j72
+dkg.j72:
+ %t134 = phi ptr [ %t138, %dkg.ic70 ], [ %t139, %dkg.any71 ]
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u73, label %exc.k74
+exc.u73:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t130)
+ call void @sc_rc_release_dyn(ptr %t134)
+ br label %exc.cleanup2
+exc.k74:
+ call void @scr_dyn_key_set(ptr %t127, ptr @sc_lit_3610950885518037, ptr %t134)
+ %t143 = load i32, ptr %exc.cell
+ %t144 = icmp ne i32 %t143, 0
+ %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false)
+ br i1 %t145, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t130)
+ call void @sc_rc_release_dyn(ptr %t134)
+ br label %exc.cleanup2
+exc.k76:
+ store ptr %t127, ptr %s126
+ call void @sc_rc_release_dyn(ptr %t130)
+ call void @sc_rc_release_dyn(ptr %t134)
+ br label %tern.j67
+tern.f66:
+ %t147 = call ptr @scr_dyn_undefined()
+ %t146 = call ptr @scr_dyn_retain_v(ptr %t147)
+ store ptr %t146, ptr %s126
+ br label %tern.j67
+tern.j67:
+ %t148 = load ptr, ptr %s126
+ %t149 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t149)
+ ret ptr %t148
+if.j64:
+ %t150 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s151
+ %t152 = icmp ne ptr %t150, null
+ br i1 %t152, label %brand.inspect77, label %brand.done79
+brand.inspect77:
+ %t153 = getelementptr inbounds i8, ptr %t150, i64 8 ; ->kind
+ %t154 = load i32, ptr %t153
+ %t155 = icmp eq i32 %t154, 12
+ br i1 %t155, label %brand.capsule78, label %brand.done79
+brand.capsule78:
+ %t156 = getelementptr inbounds i8, ptr %t150, i64 40 ; ->v.typed_ref.type_key
+ %t157 = load ptr, ptr %t156
+ %t158 = icmp eq ptr %t157, @sc_cs_21424698936986
+ store i1 true, ptr %s151
+ br i1 %t158, label %brand.done79, label %brand.compare80
+brand.compare80:
+ %t159 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t150, ptr @sc_lit_21424698936986)
+ store i1 %t159, ptr %s151
+ br label %brand.done79
+brand.done79:
+ %t160 = load i1, ptr %s151
+ br i1 %t160, label %if.t81, label %if.j82
+if.t81:
+ br i1 true, label %tern.t83, label %tern.f84
+tern.t83:
+ %t162 = call ptr @scr_dyn_new_obj()
+ %t163 = load ptr, ptr %sc_l_p_0
+ %t164 = call ptr @sc_rc_retain_dyn(ptr %t163)
+ %t165 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t164)
+ %t166 = load i32, ptr %exc.cell
+ %t167 = icmp ne i32 %t166, 0
+ %t168 = call i1 @llvm.expect.i1(i1 %t167, i1 false)
+ br i1 %t168, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t165)
+ br label %exc.cleanup2
+exc.k87:
+ %t171 = getelementptr inbounds i8, ptr %t165, i64 8 ; ->kind
+ %t172 = load i32, ptr %t171
+ %t170 = icmp eq i32 %t172, 5
+ br i1 %t170, label %dkg.ic88, label %dkg.any89
+dkg.ic88:
+ %t173 = call ptr @scr_dyn_obj_read_ic(ptr %t165, ptr @sc_lit_731773075116702, ptr @sc_dyn_read_ic_70)
+ br label %dkg.j90
+dkg.any89:
+ %t174 = call ptr @sc_dyn_key_get(ptr %t165, ptr @sc_lit_731773075116702, i1 false)
+ br label %dkg.j90
+dkg.j90:
+ %t169 = phi ptr [ %t173, %dkg.ic88 ], [ %t174, %dkg.any89 ]
+ %t175 = load i32, ptr %exc.cell
+ %t176 = icmp ne i32 %t175, 0
+ %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false)
+ br i1 %t177, label %exc.u91, label %exc.k92
+exc.u91:
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t165)
+ call void @sc_rc_release_dyn(ptr %t169)
+ br label %exc.cleanup2
+exc.k92:
+ call void @scr_dyn_key_set(ptr %t162, ptr @sc_lit_3610950885518037, ptr %t169)
+ %t178 = load i32, ptr %exc.cell
+ %t179 = icmp ne i32 %t178, 0
+ %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false)
+ br i1 %t180, label %exc.u93, label %exc.k94
+exc.u93:
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t165)
+ call void @sc_rc_release_dyn(ptr %t169)
+ br label %exc.cleanup2
+exc.k94:
+ store ptr %t162, ptr %s161
+ call void @sc_rc_release_dyn(ptr %t165)
+ call void @sc_rc_release_dyn(ptr %t169)
+ br label %tern.j85
+tern.f84:
+ %t182 = call ptr @scr_dyn_undefined()
+ %t181 = call ptr @scr_dyn_retain_v(ptr %t182)
+ store ptr %t181, ptr %s161
+ br label %tern.j85
+tern.j85:
+ %t183 = load ptr, ptr %s161
+ %t184 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t184)
+ ret ptr %t183
+if.j82:
+ %t186 = call ptr @scr_dyn_undefined()
+ %t185 = call ptr @scr_dyn_retain_v(ptr %t186)
+ %t187 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t187)
+ ret ptr %t185
+exc.cleanup2:
+ %t188 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t188)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_call_2(ptr %p_sc_l_p_0, ptr %p_sc_l_p_callback, ptr %p_sc_l_p_calleeName) #0 { ; %dyn.class.call.2
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_p_callback = alloca ptr ; callback
+ %sc_l_p_calleeName = alloca ptr ; calleeName
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s47 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_callback, ptr %sc_l_p_callback
+ store ptr %p_sc_l_p_calleeName, ptr %sc_l_p_calleeName
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_callback
+ %t22 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t24 = icmp eq i32 %t23, 6
+ %t25 = xor i1 %t24, true
+ br i1 %t25, label %if.t11, label %if.j12
+if.t11:
+ %t26 = load ptr, ptr %sc_l_p_callback
+ %t29 = getelementptr inbounds i8, ptr %t26, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t28 = icmp eq i32 %t30, 5
+ br i1 %t28, label %dkg.ic13, label %dkg.any14
+dkg.ic13:
+ %t31 = call ptr @scr_dyn_obj_read_ic(ptr %t26, ptr @sc_lit_3610950885518037, ptr @sc_dyn_read_ic_71)
+ br label %dkg.j15
+dkg.any14:
+ %t32 = call ptr @sc_dyn_key_get(ptr %t26, ptr @sc_lit_3610950885518037, i1 false)
+ br label %dkg.j15
+dkg.j15:
+ %t27 = phi ptr [ %t31, %dkg.ic13 ], [ %t32, %dkg.any14 ]
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t27)
+ br label %exc.cleanup2
+exc.k17:
+ %t36 = load ptr, ptr %sc_l_p_0
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t39 = load ptr, ptr %sc_l_p_calleeName
+ %t40 = getelementptr inbounds %ScrStr, ptr %t39, i32 1
+ call void @scr_dyn_this_push_dyn(ptr %t37)
+ %t38 = call ptr @scr_dyn_call(ptr %t27, ptr null, i64 0, ptr %t40)
+ call void @scr_dyn_this_pop()
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ br label %exc.cleanup2
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t27)
+ call void @sc_rc_release_dyn(ptr %t37)
+ %t44 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr %t38
+if.j12:
+ %t45 = load ptr, ptr %sc_l_p_0
+ %t46 = call ptr @sc_rc_retain_dyn(ptr %t45)
+ %t48 = icmp ne ptr %t46, null
+ br i1 %t48, label %dc.inspect20, label %dc.checked23
+dc.inspect20:
+ %t53 = getelementptr inbounds i8, ptr %t46, i64 8 ; ->kind
+ %t54 = load i32, ptr %t53
+ %t49 = icmp eq i32 %t54, 12
+ br i1 %t49, label %dc.capsule21, label %dc.checked23
+dc.capsule21:
+ %t50 = getelementptr inbounds i8, ptr %t46, i64 40 ; ->v.typed_ref.type_key
+ %t51 = load ptr, ptr %t50
+ %t52 = icmp eq ptr %t51, @sc_cs_4041255434968695
+ br i1 %t52, label %dc.exact22, label %dc.checked23
+dc.exact22:
+ %t55 = getelementptr inbounds i8, ptr %t46, i64 16 ; ->v.typed_ref.ptr
+ %t56 = load ptr, ptr %t55
+ %t57 = call ptr @sc_retain__x25_m3_LiteRequest(ptr %t56)
+ store ptr %t57, ptr %s47
+ br label %dc.done24
+dc.checked23:
+ %t58 = call ptr @sc_dc_101(ptr %t46, ptr null)
+ store ptr %t58, ptr %s47
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u25, label %exc.k26
+exc.u25:
+ call void @sc_rc_release_dyn(ptr %t46)
+ br label %exc.cleanup2
+exc.k26:
+ br label %dc.done24
+dc.done24:
+ %t62 = load ptr, ptr %s47
+ %t63 = call ptr @sc_bf__x25__x25_m3_LiteRequest_arrayBuffer(ptr %t62)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t46)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t62)
+ call void @scr_promise_release(ptr %t63)
+ br label %exc.cleanup2
+exc.k28:
+ call void @sc_rc_release_dyn(ptr %t46)
+ call void @sc_release__x25_m3_LiteRequest(ptr %t62)
+ %t67 = call ptr @sc_td_38(ptr %t63)
+ call void @scr_promise_release(ptr %t63)
+ %t68 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t68)
+ ret ptr %t67
+if.j10:
+ %t69 = load ptr, ptr %sc_l_p_0
+ %t70 = call ptr @sc_rc_retain_dyn(ptr %t69)
+ %t71 = call ptr @scr_dyn_prepare_method(ptr %t70, ptr @sc_cs_1207708014012541)
+ %t72 = load i32, ptr %exc.cell
+ %t73 = icmp ne i32 %t72, 0
+ %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false)
+ br i1 %t74, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t71)
+ br label %exc.cleanup2
+exc.k30:
+ %t75 = load ptr, ptr %sc_l_p_calleeName
+ %t76 = getelementptr inbounds %ScrStr, ptr %t75, i32 1
+ %t77 = call ptr @scr_dyn_invoke_prepared(ptr %t70, ptr %t71, ptr @sc_cs_1207708014012541, ptr null, i64 0, ptr %t76)
+ %t78 = load i32, ptr %exc.cell
+ %t79 = icmp ne i32 %t78, 0
+ %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false)
+ br i1 %t80, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t71)
+ call void @sc_rc_release_dyn(ptr %t77)
+ br label %exc.cleanup2
+exc.k32:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t71)
+ %t81 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t81)
+ ret ptr %t77
+exc.cleanup2:
+ %t82 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t82)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_dyn_class_call_2(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_call_2(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_callback_2(ptr %p_sc_l_p_0) #0 { ; %dyn.class.callback.2
+entry:
+ %sc_l_p_0 = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s21 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4041255434968695
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4041255434968695)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ br i1 true, label %tern.t11, label %tern.f12
+tern.t11:
+ %t22 = call ptr @scr_dyn_new_obj()
+ %t23 = load ptr, ptr %sc_l_p_0
+ %t24 = call ptr @sc_rc_retain_dyn(ptr %t23)
+ %t25 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t25)
+ br label %exc.cleanup2
+exc.k15:
+ %t31 = getelementptr inbounds i8, ptr %t25, i64 8 ; ->kind
+ %t32 = load i32, ptr %t31
+ %t30 = icmp eq i32 %t32, 5
+ br i1 %t30, label %dkg.ic16, label %dkg.any17
+dkg.ic16:
+ %t33 = call ptr @scr_dyn_obj_read_ic(ptr %t25, ptr @sc_lit_1207708014012541, ptr @sc_dyn_read_ic_72)
+ br label %dkg.j18
+dkg.any17:
+ %t34 = call ptr @sc_dyn_key_get(ptr %t25, ptr @sc_lit_1207708014012541, i1 false)
+ br label %dkg.j18
+dkg.j18:
+ %t29 = phi ptr [ %t33, %dkg.ic16 ], [ %t34, %dkg.any17 ]
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup2
+exc.k20:
+ call void @scr_dyn_key_set(ptr %t22, ptr @sc_lit_3610950885518037, ptr %t29)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %exc.cleanup2
+exc.k22:
+ store ptr %t22, ptr %s21
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t29)
+ br label %tern.j13
+tern.f12:
+ %t42 = call ptr @scr_dyn_undefined()
+ %t41 = call ptr @scr_dyn_retain_v(ptr %t42)
+ store ptr %t41, ptr %s21
+ br label %tern.j13
+tern.j13:
+ %t43 = load ptr, ptr %s21
+ %t44 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr %t43
+if.j10:
+ %t46 = call ptr @scr_dyn_undefined()
+ %t45 = call ptr @scr_dyn_retain_v(ptr %t46)
+ %t47 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t47)
+ ret ptr %t45
+exc.cleanup2:
+ %t48 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_60(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.60
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s196 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4028208071947570)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4028208071947570, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4028208071947570)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4028208071947570, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ %t187 = call ptr @sc_rc_retain_dyn(ptr %t186)
+ %t188 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t187)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u79, label %exc.k80
+exc.u79:
+ call void @sc_rc_release_dyn(ptr %t188)
+ br label %exc.cleanup2
+exc.k80:
+ %t192 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t188)
+ call void @sc_rc_release_dyn(ptr %t188)
+ store ptr %t192, ptr %sc_l_bag_0
+ %t193 = load ptr, ptr %sc_l_bag_0
+ %t194 = load ptr, ptr %sc_l_p_0
+ %t195 = call zeroext i1 @scr_dyn_strict_eq(ptr %t193, ptr %t194)
+ br i1 %t195, label %tern.t81, label %tern.f82
+tern.t81:
+ %t197 = load ptr, ptr %sc_l_bag_0
+ %t200 = getelementptr inbounds i8, ptr %t197, i64 8 ; ->kind
+ %t201 = load i32, ptr %t200
+ %t199 = icmp eq i32 %t201, 5
+ br i1 %t199, label %dkg.ic84, label %dkg.any85
+dkg.ic84:
+ %t202 = call ptr @scr_dyn_obj_read_ic(ptr %t197, ptr @sc_lit_4028208071947570, ptr @sc_dyn_read_ic_73)
+ br label %dkg.j86
+dkg.any85:
+ %t203 = call ptr @sc_dyn_key_get(ptr %t197, ptr @sc_lit_4028208071947570, i1 false)
+ br label %dkg.j86
+dkg.j86:
+ %t198 = phi ptr [ %t202, %dkg.ic84 ], [ %t203, %dkg.any85 ]
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u87, label %exc.k88
+exc.u87:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup89
+exc.k88:
+ store ptr %t198, ptr %s196
+ br label %tern.j83
+tern.f82:
+ %t207 = load ptr, ptr %sc_l_bag_0
+ %t208 = call ptr @sc_rc_retain_dyn(ptr %t207)
+ %t209 = load ptr, ptr %sc_l_p_0
+ %t210 = call ptr @sc_rc_retain_dyn(ptr %t209)
+ %t211 = call ptr @scr_dyn_bag_get(ptr %t208, ptr @sc_lit_4028208071947570, ptr %t210)
+ %t212 = load i32, ptr %exc.cell
+ %t213 = icmp ne i32 %t212, 0
+ %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false)
+ br i1 %t214, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ call void @sc_rc_release_dyn(ptr %t211)
+ br label %exc.cleanup89
+exc.k91:
+ store ptr %t211, ptr %s196
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ br label %tern.j83
+tern.j83:
+ %t215 = load ptr, ptr %s196
+ %t216 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t216)
+ %t217 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t217)
+ ret ptr %t215
+exc.cleanup2:
+ %t218 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t218)
+ ret ptr null
+exc.cleanup89:
+ %t219 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t219)
+ %t220 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t220)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m11_StaticServer(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m11.StaticServer
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %dc.inspect2, label %dc.checked5
+dc.inspect2:
+ %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t7 = icmp eq i32 %t12, 12
+ br i1 %t7, label %dc.capsule3, label %dc.checked5
+dc.capsule3:
+ %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t9 = load ptr, ptr %t8
+ %t10 = icmp eq ptr %t9, @sc_cs_864190948149583
+ br i1 %t10, label %dc.exact4, label %dc.checked5
+dc.exact4:
+ %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t14)
+ store ptr %t15, ptr %s5
+ br label %dc.done6
+dc.checked5:
+ %t16 = call ptr @sc_dc_103(ptr %t4, ptr null)
+ store ptr %t16, ptr %s5
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u7, label %exc.k8
+exc.u7:
+ ret ptr null
+exc.k8:
+ br label %dc.done6
+dc.done6:
+ %t20 = load ptr, ptr %s5
+ ret ptr %t20
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m11_StaticServer(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m11_StaticServer(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_61(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.61
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_864190948149583
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_864190948149583)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_864190948149583
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_103(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_3423954012803281)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m11_StaticServer(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_864190948149583
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_103(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_864190948149583
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m11_StaticServer(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_103(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_3423954012803281, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m11_StaticServer(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m11_StaticServer(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m11_StaticServer(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_3423954012803281, ptr @sc_dyn_read_ic_74)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_3423954012803281, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_3423954012803281, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_62(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.62
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_67546268704151
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_67546268704151)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_67546268704151
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_107(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_145319249654683)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_67546268704151
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_107(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_67546268704151
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_107(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_145319249654683, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_145319249654683, ptr @sc_dyn_read_ic_75)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_145319249654683, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_145319249654683, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartParser(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m4.MultipartParser
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %dc.inspect2, label %dc.checked5
+dc.inspect2:
+ %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t7 = icmp eq i32 %t12, 12
+ br i1 %t7, label %dc.capsule3, label %dc.checked5
+dc.capsule3:
+ %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t9 = load ptr, ptr %t8
+ %t10 = icmp eq ptr %t9, @sc_cs_3163508115280491
+ br i1 %t10, label %dc.exact4, label %dc.checked5
+dc.exact4:
+ %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_retain__x25_m4_MultipartParser(ptr %t14)
+ store ptr %t15, ptr %s5
+ br label %dc.done6
+dc.checked5:
+ %t16 = call ptr @sc_dc_105(ptr %t4, ptr null)
+ store ptr %t16, ptr %s5
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u7, label %exc.k8
+exc.u7:
+ ret ptr null
+exc.k8:
+ br label %dc.done6
+dc.done6:
+ %t20 = load ptr, ptr %s5
+ ret ptr %t20
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m4_MultipartParser(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartParser(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteResponse(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m3.LiteResponse
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s57 = alloca i1
+ %s68 = alloca ptr
+ %s92 = alloca ptr
+ %s109 = alloca ptr
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_2434838942941195
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_2434838942941195)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_value
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_2434838942941195
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_52(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 18
+ %t37 = icmp ule i64 %t35, 18
+ %t38 = and i1 %t36, %t37 ; instanceof %m3.LiteResponse
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_value
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_2434838942941195
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_52(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j16:
+ br label %if.j7
+if.j7:
+ %t56 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s57
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %brand.inspect24, label %brand.done26
+brand.inspect24:
+ %t59 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t61 = icmp eq i32 %t60, 12
+ br i1 %t61, label %brand.capsule25, label %brand.done26
+brand.capsule25:
+ %t62 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t63 = load ptr, ptr %t62
+ %t64 = icmp eq ptr %t63, @sc_cs_629517122853751
+ store i1 true, ptr %s57
+ br i1 %t64, label %brand.done26, label %brand.compare27
+brand.compare27:
+ %t65 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t56, ptr @sc_lit_629517122853751)
+ store i1 %t65, ptr %s57
+ br label %brand.done26
+brand.done26:
+ %t66 = load i1, ptr %s57
+ br i1 %t66, label %if.t28, label %if.j29
+if.t28:
+ %t67 = load ptr, ptr %sc_l_value
+ %t69 = icmp ne ptr %t67, null
+ br i1 %t69, label %dc.inspect30, label %dc.checked33
+dc.inspect30:
+ %t74 = getelementptr inbounds i8, ptr %t67, i64 8 ; ->kind
+ %t75 = load i32, ptr %t74
+ %t70 = icmp eq i32 %t75, 12
+ br i1 %t70, label %dc.capsule31, label %dc.checked33
+dc.capsule31:
+ %t71 = getelementptr inbounds i8, ptr %t67, i64 40 ; ->v.typed_ref.type_key
+ %t72 = load ptr, ptr %t71
+ %t73 = icmp eq ptr %t72, @sc_cs_629517122853751
+ br i1 %t73, label %dc.exact32, label %dc.checked33
+dc.exact32:
+ %t76 = getelementptr inbounds i8, ptr %t67, i64 16 ; ->v.typed_ref.ptr
+ %t77 = load ptr, ptr %t76
+ %t78 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t77)
+ store ptr %t78, ptr %s68
+ br label %dc.done34
+dc.checked33:
+ %t79 = call ptr @sc_dc_29(ptr %t67, ptr null)
+ store ptr %t79, ptr %s68
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u35, label %exc.k36
+exc.u35:
+ ret ptr null
+exc.k36:
+ br label %dc.done34
+dc.done34:
+ %t83 = load ptr, ptr %s68
+ %t84 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t83, i64 0, i32 1
+ %t85 = load ptr, ptr %t84
+ %t86 = getelementptr inbounds %ScrVt, ptr %t85, i64 0, i32 0
+ %t87 = load i64, ptr %t86
+ %t88 = icmp uge i64 %t87, 18
+ %t89 = icmp ule i64 %t87, 18
+ %t90 = and i1 %t88, %t89 ; instanceof %m3.LiteResponse
+ call void @sc_release__x25_m2_ResponseSink(ptr %t83)
+ br i1 %t90, label %if.t37, label %if.j38
+if.t37:
+ %t91 = load ptr, ptr %sc_l_value
+ %t93 = icmp ne ptr %t91, null
+ br i1 %t93, label %dc.inspect39, label %dc.checked42
+dc.inspect39:
+ %t98 = getelementptr inbounds i8, ptr %t91, i64 8 ; ->kind
+ %t99 = load i32, ptr %t98
+ %t94 = icmp eq i32 %t99, 12
+ br i1 %t94, label %dc.capsule40, label %dc.checked42
+dc.capsule40:
+ %t95 = getelementptr inbounds i8, ptr %t91, i64 40 ; ->v.typed_ref.type_key
+ %t96 = load ptr, ptr %t95
+ %t97 = icmp eq ptr %t96, @sc_cs_629517122853751
+ br i1 %t97, label %dc.exact41, label %dc.checked42
+dc.exact41:
+ %t100 = getelementptr inbounds i8, ptr %t91, i64 16 ; ->v.typed_ref.ptr
+ %t101 = load ptr, ptr %t100
+ %t102 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t101)
+ store ptr %t102, ptr %s92
+ br label %dc.done43
+dc.checked42:
+ %t103 = call ptr @sc_dc_29(ptr %t91, ptr null)
+ store ptr %t103, ptr %s92
+ %t104 = load i32, ptr %exc.cell
+ %t105 = icmp ne i32 %t104, 0
+ %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false)
+ br i1 %t106, label %exc.u44, label %exc.k45
+exc.u44:
+ ret ptr null
+exc.k45:
+ br label %dc.done43
+dc.done43:
+ %t107 = load ptr, ptr %s92
+ ret ptr %t107
+if.j38:
+ br label %if.j29
+if.j29:
+ %t108 = load ptr, ptr %sc_l_value
+ %t110 = icmp ne ptr %t108, null
+ br i1 %t110, label %dc.inspect46, label %dc.checked49
+dc.inspect46:
+ %t115 = getelementptr inbounds i8, ptr %t108, i64 8 ; ->kind
+ %t116 = load i32, ptr %t115
+ %t111 = icmp eq i32 %t116, 12
+ br i1 %t111, label %dc.capsule47, label %dc.checked49
+dc.capsule47:
+ %t112 = getelementptr inbounds i8, ptr %t108, i64 40 ; ->v.typed_ref.type_key
+ %t113 = load ptr, ptr %t112
+ %t114 = icmp eq ptr %t113, @sc_cs_4074974279575818
+ br i1 %t114, label %dc.exact48, label %dc.checked49
+dc.exact48:
+ %t117 = getelementptr inbounds i8, ptr %t108, i64 16 ; ->v.typed_ref.ptr
+ %t118 = load ptr, ptr %t117
+ %t119 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t118)
+ store ptr %t119, ptr %s109
+ br label %dc.done50
+dc.checked49:
+ %t120 = call ptr @sc_dc_104(ptr %t108, ptr null)
+ store ptr %t120, ptr %s109
+ %t121 = load i32, ptr %exc.cell
+ %t122 = icmp ne i32 %t121, 0
+ %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false)
+ br i1 %t123, label %exc.u51, label %exc.k52
+exc.u51:
+ ret ptr null
+exc.k52:
+ br label %dc.done50
+dc.done50:
+ %t124 = load ptr, ptr %s109
+ ret ptr %t124
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m3_LiteResponse(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteResponse(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_63(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.63
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s45 = alloca i1
+ %s57 = alloca ptr
+ %s84 = alloca ptr
+ %s107 = alloca ptr
+ %s142 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4408523527888294
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4408523527888294)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4408523527888294
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m4_UploadedFile(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_21(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t38, i64 0, i32 6
+ %t40 = load ptr, ptr %t39, !tbaa !98
+ %t41 = call ptr @scr_union_retain_v(ptr %t40)
+ %t42 = call ptr @sc_ldu_3(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m4_UploadedFile(ptr %t38)
+ call void @scr_union_release(ptr %t41)
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr %t42
+if.j10:
+ %t44 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s45
+ %t46 = icmp ne ptr %t44, null
+ br i1 %t46, label %brand.inspect18, label %brand.done20
+brand.inspect18:
+ %t47 = getelementptr inbounds i8, ptr %t44, i64 8 ; ->kind
+ %t48 = load i32, ptr %t47
+ %t49 = icmp eq i32 %t48, 12
+ br i1 %t49, label %brand.capsule19, label %brand.done20
+brand.capsule19:
+ %t50 = getelementptr inbounds i8, ptr %t44, i64 40 ; ->v.typed_ref.type_key
+ %t51 = load ptr, ptr %t50
+ %t52 = icmp eq ptr %t51, @sc_cs_2875643240706496
+ store i1 true, ptr %s45
+ br i1 %t52, label %brand.done20, label %brand.compare21
+brand.compare21:
+ %t53 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t44, ptr @sc_lit_2875643240706496)
+ store i1 %t53, ptr %s45
+ br label %brand.done20
+brand.done20:
+ %t54 = load i1, ptr %s45
+ br i1 %t54, label %if.t22, label %if.j23
+if.t22:
+ %t55 = load ptr, ptr %sc_l_p_0
+ %t56 = call ptr @sc_rc_retain_dyn(ptr %t55)
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t64 = load i32, ptr %t63
+ %t59 = icmp eq i32 %t64, 12
+ br i1 %t59, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t61 = load ptr, ptr %t60
+ %t62 = icmp eq ptr %t61, @sc_cs_2875643240706496
+ br i1 %t62, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr
+ %t66 = load ptr, ptr %t65
+ %t67 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t66)
+ store ptr %t67, ptr %s57
+ br label %dc.done28
+dc.checked27:
+ %t68 = call ptr @sc_dc_48(ptr %t56, ptr null)
+ store ptr %t68, ptr %s57
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t56)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t72 = load ptr, ptr %s57
+ %t73 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t72, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t74 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t73)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @sc_release__x25_m5_CtxCore(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ br label %exc.cleanup2
+exc.k32:
+ %t78 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t74, ptr @sc_lit_693828840439997)
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u33, label %exc.k34
+exc.u33:
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @sc_release__x25_m5_CtxCore(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ br label %exc.cleanup2
+exc.k34:
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @sc_release__x25_m5_CtxCore(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ br i1 %t78, label %if.t35, label %if.j36
+if.t35:
+ %t82 = load ptr, ptr %sc_l_p_0
+ %t83 = call ptr @sc_rc_retain_dyn(ptr %t82)
+ %t85 = icmp ne ptr %t83, null
+ br i1 %t85, label %dc.inspect37, label %dc.checked40
+dc.inspect37:
+ %t90 = getelementptr inbounds i8, ptr %t83, i64 8 ; ->kind
+ %t91 = load i32, ptr %t90
+ %t86 = icmp eq i32 %t91, 12
+ br i1 %t86, label %dc.capsule38, label %dc.checked40
+dc.capsule38:
+ %t87 = getelementptr inbounds i8, ptr %t83, i64 40 ; ->v.typed_ref.type_key
+ %t88 = load ptr, ptr %t87
+ %t89 = icmp eq ptr %t88, @sc_cs_2875643240706496
+ br i1 %t89, label %dc.exact39, label %dc.checked40
+dc.exact39:
+ %t92 = getelementptr inbounds i8, ptr %t83, i64 16 ; ->v.typed_ref.ptr
+ %t93 = load ptr, ptr %t92
+ %t94 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t93)
+ store ptr %t94, ptr %s84
+ br label %dc.done41
+dc.checked40:
+ %t95 = call ptr @sc_dc_48(ptr %t83, ptr null)
+ store ptr %t95, ptr %s84
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t83)
+ br label %exc.cleanup2
+exc.k43:
+ br label %dc.done41
+dc.done41:
+ %t99 = load ptr, ptr %s84
+ %t100 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t99, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t101 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t100)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_release__x25_m5_CtxCore(ptr %t99)
+ call void @sc_rc_release_dyn(ptr %t101)
+ br label %exc.cleanup2
+exc.k45:
+ %t105 = load ptr, ptr %sc_l_p_0
+ %t106 = call ptr @sc_rc_retain_dyn(ptr %t105)
+ %t108 = icmp ne ptr %t106, null
+ br i1 %t108, label %dc.inspect46, label %dc.checked49
+dc.inspect46:
+ %t113 = getelementptr inbounds i8, ptr %t106, i64 8 ; ->kind
+ %t114 = load i32, ptr %t113
+ %t109 = icmp eq i32 %t114, 12
+ br i1 %t109, label %dc.capsule47, label %dc.checked49
+dc.capsule47:
+ %t110 = getelementptr inbounds i8, ptr %t106, i64 40 ; ->v.typed_ref.type_key
+ %t111 = load ptr, ptr %t110
+ %t112 = icmp eq ptr %t111, @sc_cs_2875643240706496
+ br i1 %t112, label %dc.exact48, label %dc.checked49
+dc.exact48:
+ %t115 = getelementptr inbounds i8, ptr %t106, i64 16 ; ->v.typed_ref.ptr
+ %t116 = load ptr, ptr %t115
+ %t117 = call ptr @sc_retain__x25_m5_CtxCore(ptr %t116)
+ store ptr %t117, ptr %s107
+ br label %dc.done50
+dc.checked49:
+ %t118 = call ptr @sc_dc_48(ptr %t106, ptr null)
+ store ptr %t118, ptr %s107
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u51, label %exc.k52
+exc.u51:
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_release__x25_m5_CtxCore(ptr %t99)
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t106)
+ br label %exc.cleanup2
+exc.k52:
+ br label %dc.done50
+dc.done50:
+ %t122 = load ptr, ptr %s107
+ %t123 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t122, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t124 = call ptr @scr_dyn_bag_get(ptr %t101, ptr @sc_lit_693828840439997, ptr %t123)
+ %t125 = load i32, ptr %exc.cell
+ %t126 = icmp ne i32 %t125, 0
+ %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false)
+ br i1 %t127, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_release__x25_m5_CtxCore(ptr %t99)
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t106)
+ call void @sc_release__x25_m5_CtxCore(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ call void @sc_rc_release_dyn(ptr %t124)
+ br label %exc.cleanup2
+exc.k54:
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_release__x25_m5_CtxCore(ptr %t99)
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t106)
+ call void @sc_release__x25_m5_CtxCore(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ ret ptr %t124
+if.j36:
+ %t130 = call ptr @scr_dyn_undefined()
+ %t129 = call ptr @scr_dyn_retain_v(ptr %t130)
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ ret ptr %t129
+if.j23:
+ %t132 = load ptr, ptr %sc_l_p_0
+ %t133 = call ptr @sc_rc_retain_dyn(ptr %t132)
+ %t134 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t133)
+ %t135 = load i32, ptr %exc.cell
+ %t136 = icmp ne i32 %t135, 0
+ %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false)
+ br i1 %t137, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t134)
+ br label %exc.cleanup2
+exc.k56:
+ %t138 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t134)
+ call void @sc_rc_release_dyn(ptr %t134)
+ store ptr %t138, ptr %sc_l_bag_0
+ %t139 = load ptr, ptr %sc_l_bag_0
+ %t140 = load ptr, ptr %sc_l_p_0
+ %t141 = call zeroext i1 @scr_dyn_strict_eq(ptr %t139, ptr %t140)
+ br i1 %t141, label %tern.t57, label %tern.f58
+tern.t57:
+ %t143 = load ptr, ptr %sc_l_bag_0
+ %t146 = getelementptr inbounds i8, ptr %t143, i64 8 ; ->kind
+ %t147 = load i32, ptr %t146
+ %t145 = icmp eq i32 %t147, 5
+ br i1 %t145, label %dkg.ic60, label %dkg.any61
+dkg.ic60:
+ %t148 = call ptr @scr_dyn_obj_read_ic(ptr %t143, ptr @sc_lit_693828840439997, ptr @sc_dyn_read_ic_76)
+ br label %dkg.j62
+dkg.any61:
+ %t149 = call ptr @sc_dyn_key_get(ptr %t143, ptr @sc_lit_693828840439997, i1 false)
+ br label %dkg.j62
+dkg.j62:
+ %t144 = phi ptr [ %t148, %dkg.ic60 ], [ %t149, %dkg.any61 ]
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u63, label %exc.k64
+exc.u63:
+ call void @sc_rc_release_dyn(ptr %t144)
+ br label %exc.cleanup65
+exc.k64:
+ store ptr %t144, ptr %s142
+ br label %tern.j59
+tern.f58:
+ %t153 = load ptr, ptr %sc_l_bag_0
+ %t154 = call ptr @sc_rc_retain_dyn(ptr %t153)
+ %t155 = load ptr, ptr %sc_l_p_0
+ %t156 = call ptr @sc_rc_retain_dyn(ptr %t155)
+ %t157 = call ptr @scr_dyn_bag_get(ptr %t154, ptr @sc_lit_693828840439997, ptr %t156)
+ %t158 = load i32, ptr %exc.cell
+ %t159 = icmp ne i32 %t158, 0
+ %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false)
+ br i1 %t160, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t154)
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_rc_release_dyn(ptr %t157)
+ br label %exc.cleanup65
+exc.k67:
+ store ptr %t157, ptr %s142
+ call void @sc_rc_release_dyn(ptr %t154)
+ call void @sc_rc_release_dyn(ptr %t156)
+ br label %tern.j59
+tern.j59:
+ %t161 = load ptr, ptr %s142
+ %t162 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t162)
+ %t163 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t163)
+ ret ptr %t161
+exc.cleanup2:
+ %t164 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t164)
+ ret ptr null
+exc.cleanup65:
+ %t165 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t165)
+ %t166 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t166)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartStorage(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m4.MultipartStorage
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s1 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = load ptr, ptr %sc_l_value
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %dc.inspect0, label %dc.checked3
+dc.inspect0:
+ %t7 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t3 = icmp eq i32 %t8, 12
+ br i1 %t3, label %dc.capsule1, label %dc.checked3
+dc.capsule1:
+ %t4 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t5 = load ptr, ptr %t4
+ %t6 = icmp eq ptr %t5, @sc_cs_3635319175845957
+ br i1 %t6, label %dc.exact2, label %dc.checked3
+dc.exact2:
+ %t9 = getelementptr inbounds i8, ptr %t0, i64 16 ; ->v.typed_ref.ptr
+ %t10 = load ptr, ptr %t9
+ %t11 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t10)
+ store ptr %t11, ptr %s1
+ br label %dc.done4
+dc.checked3:
+ %t12 = call ptr @sc_dc_24(ptr %t0, ptr null)
+ store ptr %t12, ptr %s1
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ ret ptr null
+exc.k6:
+ br label %dc.done4
+dc.done4:
+ %t16 = load ptr, ptr %s1
+ ret ptr %t16
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m4_MultipartStorage(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MultipartStorage(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_64(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.64
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s20 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t12)
+ br label %exc.cleanup2
+exc.k6:
+ %t16 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t12)
+ store ptr %t16, ptr %sc_l_bag_0
+ %t17 = load ptr, ptr %sc_l_bag_0
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = call zeroext i1 @scr_dyn_strict_eq(ptr %t17, ptr %t18)
+ br i1 %t19, label %tern.t7, label %tern.f8
+tern.t7:
+ %t21 = load ptr, ptr %sc_l_bag_0
+ %t24 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind
+ %t25 = load i32, ptr %t24
+ %t23 = icmp eq i32 %t25, 5
+ br i1 %t23, label %dkg.ic10, label %dkg.any11
+dkg.ic10:
+ %t26 = call ptr @scr_dyn_obj_read_ic(ptr %t21, ptr @sc_lit_592597863501714, ptr @sc_dyn_read_ic_77)
+ br label %dkg.j12
+dkg.any11:
+ %t27 = call ptr @sc_dyn_key_get(ptr %t21, ptr @sc_lit_592597863501714, i1 false)
+ br label %dkg.j12
+dkg.j12:
+ %t22 = phi ptr [ %t26, %dkg.ic10 ], [ %t27, %dkg.any11 ]
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup15
+exc.k14:
+ store ptr %t22, ptr %s20
+ br label %tern.j9
+tern.f8:
+ %t31 = load ptr, ptr %sc_l_bag_0
+ %t32 = call ptr @sc_rc_retain_dyn(ptr %t31)
+ %t33 = load ptr, ptr %sc_l_p_0
+ %t34 = call ptr @sc_rc_retain_dyn(ptr %t33)
+ %t35 = call ptr @scr_dyn_bag_get(ptr %t32, ptr @sc_lit_592597863501714, ptr %t34)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t35)
+ br label %exc.cleanup15
+exc.k17:
+ store ptr %t35, ptr %s20
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ br label %tern.j9
+tern.j9:
+ %t39 = load ptr, ptr %s20
+ %t40 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret ptr %t39
+exc.cleanup2:
+ %t42 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.cleanup15:
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m3_LiteHeaders() #0 { ; %prototype.data.%m3.LiteHeaders
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_731773075116702)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get)
+ %t13 = call ptr @sc_dfb_58(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_2556418033318189)
+ %t32 = call ptr @scr_dyn_new_obj()
+ %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has)
+ %t34 = call ptr @sc_dfb_64(ptr %t33, ptr null)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret ptr null
+exc.k13:
+ %t38 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k15:
+ %t42 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.k17:
+ %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ %t52 = call ptr @sc_td_0(ptr @sc_lit_2782259059515958)
+ %t53 = call ptr @scr_dyn_new_obj()
+ %t54 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie)
+ %t55 = call ptr @sc_dfb_60(ptr %t54, ptr null)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3610950885518037, ptr %t55)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ ret ptr null
+exc.k21:
+ %t59 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_1948131179100861, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ ret ptr null
+exc.k23:
+ %t63 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t53, ptr @sc_lit_3198935257758645, ptr %t63)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ ret ptr null
+exc.k25:
+ %t67 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t51, ptr %t52, ptr %t53)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ ret ptr null
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @scr_closure_release(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t67)
+ %t71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t73 = call ptr @sc_td_0(ptr @sc_lit_145319249654683)
+ %t74 = call ptr @scr_dyn_new_obj()
+ %t75 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach)
+ %t76 = call ptr @sc_dfb_69(ptr %t75, ptr null)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3610950885518037, ptr %t76)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret ptr null
+exc.k29:
+ %t80 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_1948131179100861, ptr %t80)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ ret ptr null
+exc.k31:
+ %t84 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t74, ptr @sc_lit_3198935257758645, ptr %t84)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k33:
+ %t88 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t72, ptr %t73, ptr %t74)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t88)
+ ret ptr null
+exc.k35:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @scr_closure_release(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t80)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t88)
+ br label %if.j3
+if.j3:
+ %t92 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ %t93 = call ptr @sc_rc_retain_dyn(ptr %t92)
+ ret ptr %t93
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m3.LiteHeaders
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_67546268704151
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_67546268704151)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_67546268704151
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_107(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ ret ptr %t31
+if.j7:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteHeaders(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t33)
+ ret ptr null
+exc.k16:
+ ret ptr %t33
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteHeaders.get
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m3_LiteHeaders_get(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteHeaders.has
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ ret i1 false
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call i1 @sc_bf__x25__x25_m3_LiteHeaders_has(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ ret i1 %t10
+exc.k5:
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ ret i1 %t10
+}
+define internal i1 @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %p0) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret i1 %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie() #0 { ; %method.value:%%m3.LiteHeaders.getSetCookie
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m3_LiteHeaders_getSetCookie(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ call void @scr_arr_release(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ ret ptr %t9
+}
+
+define internal void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m3.LiteHeaders.forEach
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m3_LiteHeaders(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ ret void
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_bf__x25__x25_m3_LiteHeaders_forEach(ptr %t5, ptr %t9)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ ret void
+exc.k5:
+ call void @sc_release__x25_m3_LiteHeaders(ptr %t5)
+ ret void
+}
+define internal void @sc_f__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach(ptr %p0)
+ call void @scr_closure_release(ptr %p0)
+ ret void
+}
+
+define internal i1 @sc_bf__x25_dyn_class_bagHas(ptr %p_sc_l_p_0, ptr %p_sc_l_p_1) #0 { ; %dyn.class.bagHas
+entry:
+ %sc_l_p_0 = alloca ptr ; bag
+ %sc_l_p_1 = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret i1 false
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t6 = load i32, ptr %t5
+ %t7 = icmp eq i32 %t6, 6
+ br i1 %t7, label %if.t2, label %if.j3
+if.t2:
+ ret i1 false
+if.j3:
+ %t8 = load ptr, ptr %sc_l_p_0
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = load ptr, ptr %sc_l_p_1
+ %t11 = call ptr @sc_rc_retain_str(ptr %t10)
+ %t12 = call zeroext i1 @scr_dyn_has_key(ptr %t9, ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @scr_str_release(ptr %t11)
+ ret i1 false
+exc.k5:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @scr_str_release(ptr %t11)
+ ret i1 %t12
+}
+define internal i1 @sc_f__x25_dyn_class_bagHas(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %p0, ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_463(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.463
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_3038119887745057(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_31(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_arr_release(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t6, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ store ptr %t8, ptr %t12, !tbaa !32
+ call void @scr_arr_release(ptr %t13)
+ ret void
+if.j3:
+ %t14 = load ptr, ptr %sc_l_key_string
+ %t15 = call zeroext i1 @sc_streq_2387748979716321(ptr %t14)
+ br i1 %t15, label %if.t6, label %if.j7
+if.t6:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = load ptr, ptr %sc_l_p_1
+ %t18 = call ptr @sc_dc_33(ptr %t17, ptr null)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_arr_release(ptr %t18)
+ ret void
+exc.k9:
+ %t22 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t16, i64 0, i32 2
+ %t23 = load ptr, ptr %t22
+ store ptr %t18, ptr %t22, !tbaa !170
+ call void @scr_arr_release(ptr %t23)
+ ret void
+if.j7:
+ %t24 = load ptr, ptr %sc_l_key_string
+ %t25 = call zeroext i1 @sc_streq_4074236996717255(ptr %t24)
+ br i1 %t25, label %if.t10, label %if.j11
+if.t10:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call ptr @sc_dc_35(ptr %t27, ptr null)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_arr_release(ptr %t28)
+ ret void
+exc.k13:
+ %t32 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t26, i64 0, i32 3
+ %t33 = load ptr, ptr %t32
+ store ptr %t28, ptr %t32, !tbaa !36
+ call void @scr_arr_release(ptr %t33)
+ ret void
+if.j11:
+ %t34 = load ptr, ptr %sc_l_key_string
+ %t35 = call zeroext i1 @sc_streq_3834689050502795(ptr %t34)
+ br i1 %t35, label %if.t14, label %if.j15
+if.t14:
+ %t36 = load ptr, ptr %sc_l_p_receiver
+ %t37 = load ptr, ptr %sc_l_p_1
+ %t38 = call ptr @sc_dc_37(ptr %t37, ptr null)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_arr_release(ptr %t38)
+ ret void
+exc.k17:
+ %t42 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t36, i64 0, i32 4
+ %t43 = load ptr, ptr %t42
+ store ptr %t38, ptr %t42, !tbaa !34
+ call void @scr_arr_release(ptr %t43)
+ ret void
+if.j15:
+ %t44 = load ptr, ptr %sc_l_key_string
+ %t45 = call zeroext i1 @sc_streq_772714621079184(ptr %t44)
+ br i1 %t45, label %if.t18, label %if.j19
+if.t18:
+ %t46 = load ptr, ptr %sc_l_p_receiver
+ %t47 = load ptr, ptr %sc_l_p_1
+ %t48 = call ptr @sc_dc_36(ptr %t47, ptr null)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_closure_release(ptr %t48)
+ ret void
+exc.k21:
+ %t52 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t46, i64 0, i32 5
+ %t53 = load ptr, ptr %t52
+ store ptr %t48, ptr %t52, !tbaa !172
+ call void @scr_closure_release(ptr %t53)
+ ret void
+if.j19:
+ %t54 = load ptr, ptr %sc_l_key_string
+ %t55 = call zeroext i1 @sc_streq_1253948269358290(ptr %t54)
+ br i1 %t55, label %if.t22, label %if.j23
+if.t22:
+ %t56 = load ptr, ptr %sc_l_p_receiver
+ %t57 = load ptr, ptr %sc_l_p_1
+ %t58 = call ptr @sc_dc_33(ptr %t57, ptr null)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @scr_arr_release(ptr %t58)
+ ret void
+exc.k25:
+ %t62 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t56, i64 0, i32 6
+ %t63 = load ptr, ptr %t62
+ store ptr %t58, ptr %t62, !tbaa !174
+ call void @scr_arr_release(ptr %t63)
+ ret void
+if.j23:
+ %t64 = load ptr, ptr %sc_l_key_string
+ %t65 = call zeroext i1 @sc_streq_872249802202544(ptr %t64)
+ br i1 %t65, label %if.t26, label %if.j27
+if.t26:
+ %t66 = load ptr, ptr %sc_l_p_receiver
+ %t67 = load ptr, ptr %sc_l_p_1
+ %t68 = call ptr @sc_dc_38(ptr %t67, ptr null)
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @scr_union_release(ptr %t68)
+ ret void
+exc.k29:
+ %t72 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t66, i64 0, i32 7
+ %t73 = load ptr, ptr %t72
+ store ptr %t68, ptr %t72, !tbaa !176
+ call void @scr_union_release(ptr %t73)
+ ret void
+if.j27:
+ %t74 = load ptr, ptr %sc_l_key_string
+ %t75 = call zeroext i1 @sc_streq_3257120253469437(ptr %t74)
+ br i1 %t75, label %if.t30, label %if.j31
+if.t30:
+ %t76 = load ptr, ptr %sc_l_p_receiver
+ %t77 = load ptr, ptr %sc_l_p_1
+ %t78 = call ptr @sc_dc_35(ptr %t77, ptr null)
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @scr_arr_release(ptr %t78)
+ ret void
+exc.k33:
+ %t82 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t76, i64 0, i32 8
+ %t83 = load ptr, ptr %t82
+ store ptr %t78, ptr %t82, !tbaa !178
+ call void @scr_arr_release(ptr %t83)
+ ret void
+if.j31:
+ %t84 = load ptr, ptr %sc_l_key_string
+ %t85 = call zeroext i1 @sc_streq_3782354537448346(ptr %t84)
+ br i1 %t85, label %if.t34, label %if.j35
+if.t34:
+ %t86 = load ptr, ptr %sc_l_p_receiver
+ %t87 = load ptr, ptr %sc_l_p_1
+ %t88 = call ptr @sc_dc_36(ptr %t87, ptr null)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @scr_closure_release(ptr %t88)
+ ret void
+exc.k37:
+ %t92 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t86, i64 0, i32 9
+ %t93 = load ptr, ptr %t92
+ store ptr %t88, ptr %t92, !tbaa !180
+ call void @scr_closure_release(ptr %t93)
+ ret void
+if.j35:
+ %t94 = load ptr, ptr %sc_l_key_string
+ %t95 = call zeroext i1 @sc_streq_886324725696546(ptr %t94)
+ br i1 %t95, label %if.t38, label %if.j39
+if.t38:
+ %t96 = load ptr, ptr %sc_l_p_receiver
+ %t97 = load ptr, ptr %sc_l_p_1
+ %t98 = call ptr @sc_dc_40(ptr %t97, ptr null)
+ %t99 = load i32, ptr %exc.cell
+ %t100 = icmp ne i32 %t99, 0
+ %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false)
+ br i1 %t101, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @scr_arr_release(ptr %t98)
+ ret void
+exc.k41:
+ %t102 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t96, i64 0, i32 10
+ %t103 = load ptr, ptr %t102
+ store ptr %t98, ptr %t102, !tbaa !150
+ call void @scr_arr_release(ptr %t103)
+ ret void
+if.j39:
+ %t104 = load ptr, ptr %sc_l_key_string
+ %t105 = call zeroext i1 @sc_streq_535630044833136(ptr %t104)
+ br i1 %t105, label %if.t42, label %if.j43
+if.t42:
+ %t106 = load ptr, ptr %sc_l_p_receiver
+ %t107 = load ptr, ptr %sc_l_p_1
+ %t108 = call ptr @sc_dc_41(ptr %t107, ptr null)
+ %t109 = load i32, ptr %exc.cell
+ %t110 = icmp ne i32 %t109, 0
+ %t111 = call i1 @llvm.expect.i1(i1 %t110, i1 false)
+ br i1 %t111, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @scr_arr_release(ptr %t108)
+ ret void
+exc.k45:
+ %t112 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t106, i64 0, i32 11
+ %t113 = load ptr, ptr %t112
+ store ptr %t108, ptr %t112, !tbaa !152
+ call void @scr_arr_release(ptr %t113)
+ ret void
+if.j43:
+ %t114 = load ptr, ptr %sc_l_key_string
+ %t115 = call zeroext i1 @sc_streq_4400741686745380(ptr %t114)
+ br i1 %t115, label %if.t46, label %if.j47
+if.t46:
+ %t116 = load ptr, ptr %sc_l_p_receiver
+ %t117 = load ptr, ptr %sc_l_p_1
+ %t118 = call ptr @sc_dc_19(ptr %t117, ptr null)
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_arr_release(ptr %t118)
+ ret void
+exc.k49:
+ %t122 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t116, i64 0, i32 12
+ %t123 = load ptr, ptr %t122
+ store ptr %t118, ptr %t122, !tbaa !154
+ call void @scr_arr_release(ptr %t123)
+ ret void
+if.j47:
+ %t124 = load ptr, ptr %sc_l_key_string
+ %t125 = call zeroext i1 @sc_streq_1668606746601237(ptr %t124)
+ br i1 %t125, label %if.t50, label %if.j51
+if.t50:
+ %t126 = load ptr, ptr %sc_l_p_receiver
+ %t127 = load ptr, ptr %sc_l_p_1
+ %t128 = call ptr @sc_dc_19(ptr %t127, ptr null)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @scr_arr_release(ptr %t128)
+ ret void
+exc.k53:
+ %t132 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t126, i64 0, i32 13
+ %t133 = load ptr, ptr %t132
+ store ptr %t128, ptr %t132, !tbaa !38
+ call void @scr_arr_release(ptr %t133)
+ ret void
+if.j51:
+ %t134 = load ptr, ptr %sc_l_key_string
+ %t135 = call zeroext i1 @sc_streq_1388999587933298(ptr %t134)
+ br i1 %t135, label %if.t54, label %if.j55
+if.t54:
+ %t136 = load ptr, ptr %sc_l_p_receiver
+ %t137 = load ptr, ptr %sc_l_p_1
+ %t138 = call ptr @sc_dc_42(ptr %t137, ptr null)
+ %t139 = load i32, ptr %exc.cell
+ %t140 = icmp ne i32 %t139, 0
+ %t141 = call i1 @llvm.expect.i1(i1 %t140, i1 false)
+ br i1 %t141, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @scr_arr_release(ptr %t138)
+ ret void
+exc.k57:
+ %t142 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t136, i64 0, i32 14
+ %t143 = load ptr, ptr %t142
+ store ptr %t138, ptr %t142, !tbaa !40
+ call void @scr_arr_release(ptr %t143)
+ ret void
+if.j55:
+ %t144 = load ptr, ptr %sc_l_key_string
+ %t145 = call zeroext i1 @sc_streq_1094398669481625(ptr %t144)
+ br i1 %t145, label %if.t58, label %if.j59
+if.t58:
+ %t146 = load ptr, ptr %sc_l_p_receiver
+ %t147 = load ptr, ptr %sc_l_p_1
+ %t148 = call ptr @sc_dc_44(ptr %t147, ptr null)
+ %t149 = load i32, ptr %exc.cell
+ %t150 = icmp ne i32 %t149, 0
+ %t151 = call i1 @llvm.expect.i1(i1 %t150, i1 false)
+ br i1 %t151, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @scr_closure_release(ptr %t148)
+ ret void
+exc.k61:
+ %t152 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t146, i64 0, i32 15
+ %t153 = load ptr, ptr %t152
+ store ptr %t148, ptr %t152, !tbaa !182
+ call void @scr_closure_release(ptr %t153)
+ ret void
+if.j59:
+ %t154 = load ptr, ptr %sc_l_key_string
+ %t155 = call zeroext i1 @sc_streq_1345623861448315(ptr %t154)
+ br i1 %t155, label %if.t62, label %if.j63
+if.t62:
+ %t156 = load ptr, ptr %sc_l_p_receiver
+ %t157 = load ptr, ptr %sc_l_p_1
+ %t158 = call ptr @sc_dc_45(ptr %t157, ptr null)
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @scr_closure_release(ptr %t158)
+ ret void
+exc.k65:
+ %t162 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t156, i64 0, i32 16
+ %t163 = load ptr, ptr %t162
+ store ptr %t158, ptr %t162, !tbaa !184
+ call void @scr_closure_release(ptr %t163)
+ ret void
+if.j63:
+ %t164 = load ptr, ptr %sc_l_key_string
+ %t165 = call zeroext i1 @sc_streq_3774229428846185(ptr %t164)
+ br i1 %t165, label %if.t66, label %if.j67
+if.t66:
+ %t166 = load ptr, ptr %sc_l_p_receiver
+ %t167 = load ptr, ptr %sc_l_p_1
+ %t168 = call ptr @sc_dc_47(ptr %t167, ptr null)
+ %t169 = load i32, ptr %exc.cell
+ %t170 = icmp ne i32 %t169, 0
+ %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false)
+ br i1 %t171, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @scr_closure_release(ptr %t168)
+ ret void
+exc.k69:
+ %t172 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t166, i64 0, i32 17
+ %t173 = load ptr, ptr %t172
+ store ptr %t168, ptr %t172, !tbaa !186
+ call void @scr_closure_release(ptr %t173)
+ ret void
+if.j67:
+ %t174 = load ptr, ptr %sc_l_key_string
+ %t175 = call zeroext i1 @sc_streq_731773075116702(ptr %t174)
+ br i1 %t175, label %if.t70, label %if.j71
+if.t70:
+ %t176 = load ptr, ptr %sc_l_p_receiver
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t178 = call ptr @sc_f__x25_dyn_class_properties(ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t178)
+ ret void
+exc.k73:
+ %t182 = load ptr, ptr %sc_l_p_1
+ %t183 = call ptr @sc_rc_retain_dyn(ptr %t182)
+ %t184 = load ptr, ptr %sc_l_p_receiver
+ %t185 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t184, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t178, ptr @sc_lit_731773075116702, ptr %t183, ptr %t185)
+ %t186 = load i32, ptr %exc.cell
+ %t187 = icmp ne i32 %t186, 0
+ %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false)
+ br i1 %t188, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @sc_rc_release_dyn(ptr %t178)
+ call void @sc_rc_release_dyn(ptr %t183)
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret void
+exc.k75:
+ call void @sc_rc_release_dyn(ptr %t178)
+ call void @sc_rc_release_dyn(ptr %t183)
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret void
+if.j71:
+ %t189 = load ptr, ptr %sc_l_key_string
+ %t190 = call zeroext i1 @sc_streq_2007918756741504(ptr %t189)
+ br i1 %t190, label %if.t76, label %if.j77
+if.t76:
+ %t191 = load ptr, ptr %sc_l_p_receiver
+ %t192 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t191, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t193 = call ptr @sc_f__x25_dyn_class_properties(ptr %t192)
+ %t194 = load i32, ptr %exc.cell
+ %t195 = icmp ne i32 %t194, 0
+ %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false)
+ br i1 %t196, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t193)
+ ret void
+exc.k79:
+ %t197 = load ptr, ptr %sc_l_p_1
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t199 = load ptr, ptr %sc_l_p_receiver
+ %t200 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t199, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t193, ptr @sc_lit_2007918756741504, ptr %t198, ptr %t200)
+ %t201 = load i32, ptr %exc.cell
+ %t202 = icmp ne i32 %t201, 0
+ %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false)
+ br i1 %t203, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @sc_rc_release_dyn(ptr %t193)
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_rc_release_dyn(ptr %t200)
+ ret void
+exc.k81:
+ call void @sc_rc_release_dyn(ptr %t193)
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_rc_release_dyn(ptr %t200)
+ ret void
+if.j77:
+ %t204 = load ptr, ptr %sc_l_key_string
+ %t205 = call zeroext i1 @sc_streq_971741391048674(ptr %t204)
+ br i1 %t205, label %if.t82, label %if.j83
+if.t82:
+ %t206 = load ptr, ptr %sc_l_p_receiver
+ %t207 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t206, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t208 = call ptr @sc_f__x25_dyn_class_properties(ptr %t207)
+ %t209 = load i32, ptr %exc.cell
+ %t210 = icmp ne i32 %t209, 0
+ %t211 = call i1 @llvm.expect.i1(i1 %t210, i1 false)
+ br i1 %t211, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t208)
+ ret void
+exc.k85:
+ %t212 = load ptr, ptr %sc_l_p_1
+ %t213 = call ptr @sc_rc_retain_dyn(ptr %t212)
+ %t214 = load ptr, ptr %sc_l_p_receiver
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t208, ptr @sc_lit_971741391048674, ptr %t213, ptr %t215)
+ %t216 = load i32, ptr %exc.cell
+ %t217 = icmp ne i32 %t216, 0
+ %t218 = call i1 @llvm.expect.i1(i1 %t217, i1 false)
+ br i1 %t218, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t213)
+ call void @sc_rc_release_dyn(ptr %t215)
+ ret void
+exc.k87:
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t213)
+ call void @sc_rc_release_dyn(ptr %t215)
+ ret void
+if.j83:
+ %t219 = load ptr, ptr %sc_l_key_string
+ %t220 = call zeroext i1 @sc_streq_1716842667196161(ptr %t219)
+ br i1 %t220, label %if.t88, label %if.j89
+if.t88:
+ %t221 = load ptr, ptr %sc_l_p_receiver
+ %t222 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t221, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t223 = call ptr @sc_f__x25_dyn_class_properties(ptr %t222)
+ %t224 = load i32, ptr %exc.cell
+ %t225 = icmp ne i32 %t224, 0
+ %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false)
+ br i1 %t226, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t223)
+ ret void
+exc.k91:
+ %t227 = load ptr, ptr %sc_l_p_1
+ %t228 = call ptr @sc_rc_retain_dyn(ptr %t227)
+ %t229 = load ptr, ptr %sc_l_p_receiver
+ %t230 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t229, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t223, ptr @sc_lit_1716842667196161, ptr %t228, ptr %t230)
+ %t231 = load i32, ptr %exc.cell
+ %t232 = icmp ne i32 %t231, 0
+ %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false)
+ br i1 %t233, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t223)
+ call void @sc_rc_release_dyn(ptr %t228)
+ call void @sc_rc_release_dyn(ptr %t230)
+ ret void
+exc.k93:
+ call void @sc_rc_release_dyn(ptr %t223)
+ call void @sc_rc_release_dyn(ptr %t228)
+ call void @sc_rc_release_dyn(ptr %t230)
+ ret void
+if.j89:
+ %t234 = load ptr, ptr %sc_l_key_string
+ %t235 = call zeroext i1 @sc_streq_2894558501580739(ptr %t234)
+ br i1 %t235, label %if.t94, label %if.j95
+if.t94:
+ %t236 = load ptr, ptr %sc_l_p_receiver
+ %t237 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t236, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t238 = call ptr @sc_f__x25_dyn_class_properties(ptr %t237)
+ %t239 = load i32, ptr %exc.cell
+ %t240 = icmp ne i32 %t239, 0
+ %t241 = call i1 @llvm.expect.i1(i1 %t240, i1 false)
+ br i1 %t241, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t238)
+ ret void
+exc.k97:
+ %t242 = load ptr, ptr %sc_l_p_1
+ %t243 = call ptr @sc_rc_retain_dyn(ptr %t242)
+ %t244 = load ptr, ptr %sc_l_p_receiver
+ %t245 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t244, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t238, ptr @sc_lit_2894558501580739, ptr %t243, ptr %t245)
+ %t246 = load i32, ptr %exc.cell
+ %t247 = icmp ne i32 %t246, 0
+ %t248 = call i1 @llvm.expect.i1(i1 %t247, i1 false)
+ br i1 %t248, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @sc_rc_release_dyn(ptr %t238)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t245)
+ ret void
+exc.k99:
+ call void @sc_rc_release_dyn(ptr %t238)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t245)
+ ret void
+if.j95:
+ %t249 = load ptr, ptr %sc_l_key_string
+ %t250 = call zeroext i1 @sc_streq_2800347990603543(ptr %t249)
+ br i1 %t250, label %if.t100, label %if.j101
+if.t100:
+ %t251 = load ptr, ptr %sc_l_p_receiver
+ %t252 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t251, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t253 = call ptr @sc_f__x25_dyn_class_properties(ptr %t252)
+ %t254 = load i32, ptr %exc.cell
+ %t255 = icmp ne i32 %t254, 0
+ %t256 = call i1 @llvm.expect.i1(i1 %t255, i1 false)
+ br i1 %t256, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t253)
+ ret void
+exc.k103:
+ %t257 = load ptr, ptr %sc_l_p_1
+ %t258 = call ptr @sc_rc_retain_dyn(ptr %t257)
+ %t259 = load ptr, ptr %sc_l_p_receiver
+ %t260 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t259, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t253, ptr @sc_lit_2800347990603543, ptr %t258, ptr %t260)
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t253)
+ call void @sc_rc_release_dyn(ptr %t258)
+ call void @sc_rc_release_dyn(ptr %t260)
+ ret void
+exc.k105:
+ call void @sc_rc_release_dyn(ptr %t253)
+ call void @sc_rc_release_dyn(ptr %t258)
+ call void @sc_rc_release_dyn(ptr %t260)
+ ret void
+if.j101:
+ %t264 = load ptr, ptr %sc_l_key_string
+ %t265 = call zeroext i1 @sc_streq_2948042885743279(ptr %t264)
+ br i1 %t265, label %if.t106, label %if.j107
+if.t106:
+ %t266 = load ptr, ptr %sc_l_p_receiver
+ %t267 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t266, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t268 = call ptr @sc_f__x25_dyn_class_properties(ptr %t267)
+ %t269 = load i32, ptr %exc.cell
+ %t270 = icmp ne i32 %t269, 0
+ %t271 = call i1 @llvm.expect.i1(i1 %t270, i1 false)
+ br i1 %t271, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t268)
+ ret void
+exc.k109:
+ %t272 = load ptr, ptr %sc_l_p_1
+ %t273 = call ptr @sc_rc_retain_dyn(ptr %t272)
+ %t274 = load ptr, ptr %sc_l_p_receiver
+ %t275 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t274, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t268, ptr @sc_lit_2948042885743279, ptr %t273, ptr %t275)
+ %t276 = load i32, ptr %exc.cell
+ %t277 = icmp ne i32 %t276, 0
+ %t278 = call i1 @llvm.expect.i1(i1 %t277, i1 false)
+ br i1 %t278, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @sc_rc_release_dyn(ptr %t268)
+ call void @sc_rc_release_dyn(ptr %t273)
+ call void @sc_rc_release_dyn(ptr %t275)
+ ret void
+exc.k111:
+ call void @sc_rc_release_dyn(ptr %t268)
+ call void @sc_rc_release_dyn(ptr %t273)
+ call void @sc_rc_release_dyn(ptr %t275)
+ ret void
+if.j107:
+ %t279 = load ptr, ptr %sc_l_key_string
+ %t280 = call zeroext i1 @sc_streq_1670565919607657(ptr %t279)
+ br i1 %t280, label %if.t112, label %if.j113
+if.t112:
+ %t281 = load ptr, ptr %sc_l_p_receiver
+ %t282 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t281, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t283 = call ptr @sc_f__x25_dyn_class_properties(ptr %t282)
+ %t284 = load i32, ptr %exc.cell
+ %t285 = icmp ne i32 %t284, 0
+ %t286 = call i1 @llvm.expect.i1(i1 %t285, i1 false)
+ br i1 %t286, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t283)
+ ret void
+exc.k115:
+ %t287 = load ptr, ptr %sc_l_p_1
+ %t288 = call ptr @sc_rc_retain_dyn(ptr %t287)
+ %t289 = load ptr, ptr %sc_l_p_receiver
+ %t290 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t289, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t283, ptr @sc_lit_1670565919607657, ptr %t288, ptr %t290)
+ %t291 = load i32, ptr %exc.cell
+ %t292 = icmp ne i32 %t291, 0
+ %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false)
+ br i1 %t293, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t283)
+ call void @sc_rc_release_dyn(ptr %t288)
+ call void @sc_rc_release_dyn(ptr %t290)
+ ret void
+exc.k117:
+ call void @sc_rc_release_dyn(ptr %t283)
+ call void @sc_rc_release_dyn(ptr %t288)
+ call void @sc_rc_release_dyn(ptr %t290)
+ ret void
+if.j113:
+ %t294 = load ptr, ptr %sc_l_key_string
+ %t295 = call zeroext i1 @sc_streq_3251470234448474(ptr %t294)
+ br i1 %t295, label %if.t118, label %if.j119
+if.t118:
+ %t296 = load ptr, ptr %sc_l_p_receiver
+ %t297 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t296, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t298 = call ptr @sc_f__x25_dyn_class_properties(ptr %t297)
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @sc_rc_release_dyn(ptr %t298)
+ ret void
+exc.k121:
+ %t302 = load ptr, ptr %sc_l_p_1
+ %t303 = call ptr @sc_rc_retain_dyn(ptr %t302)
+ %t304 = load ptr, ptr %sc_l_p_receiver
+ %t305 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t304, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t298, ptr @sc_lit_3251470234448474, ptr %t303, ptr %t305)
+ %t306 = load i32, ptr %exc.cell
+ %t307 = icmp ne i32 %t306, 0
+ %t308 = call i1 @llvm.expect.i1(i1 %t307, i1 false)
+ br i1 %t308, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @sc_rc_release_dyn(ptr %t298)
+ call void @sc_rc_release_dyn(ptr %t303)
+ call void @sc_rc_release_dyn(ptr %t305)
+ ret void
+exc.k123:
+ call void @sc_rc_release_dyn(ptr %t298)
+ call void @sc_rc_release_dyn(ptr %t303)
+ call void @sc_rc_release_dyn(ptr %t305)
+ ret void
+if.j119:
+ %t309 = load ptr, ptr %sc_l_key_string
+ %t310 = call zeroext i1 @sc_streq_2879707573315964(ptr %t309)
+ br i1 %t310, label %if.t124, label %if.j125
+if.t124:
+ %t311 = load ptr, ptr %sc_l_p_receiver
+ %t312 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t311, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t313 = call ptr @sc_f__x25_dyn_class_properties(ptr %t312)
+ %t314 = load i32, ptr %exc.cell
+ %t315 = icmp ne i32 %t314, 0
+ %t316 = call i1 @llvm.expect.i1(i1 %t315, i1 false)
+ br i1 %t316, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t313)
+ ret void
+exc.k127:
+ %t317 = load ptr, ptr %sc_l_p_1
+ %t318 = call ptr @sc_rc_retain_dyn(ptr %t317)
+ %t319 = load ptr, ptr %sc_l_p_receiver
+ %t320 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t319, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t313, ptr @sc_lit_2879707573315964, ptr %t318, ptr %t320)
+ %t321 = load i32, ptr %exc.cell
+ %t322 = icmp ne i32 %t321, 0
+ %t323 = call i1 @llvm.expect.i1(i1 %t322, i1 false)
+ br i1 %t323, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_rc_release_dyn(ptr %t318)
+ call void @sc_rc_release_dyn(ptr %t320)
+ ret void
+exc.k129:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_rc_release_dyn(ptr %t318)
+ call void @sc_rc_release_dyn(ptr %t320)
+ ret void
+if.j125:
+ %t324 = load ptr, ptr %sc_l_key_string
+ %t325 = call zeroext i1 @sc_streq_3111096729023658(ptr %t324)
+ br i1 %t325, label %if.t130, label %if.j131
+if.t130:
+ %t326 = load ptr, ptr %sc_l_p_receiver
+ %t327 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t326, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t328 = call ptr @sc_f__x25_dyn_class_properties(ptr %t327)
+ %t329 = load i32, ptr %exc.cell
+ %t330 = icmp ne i32 %t329, 0
+ %t331 = call i1 @llvm.expect.i1(i1 %t330, i1 false)
+ br i1 %t331, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @sc_rc_release_dyn(ptr %t328)
+ ret void
+exc.k133:
+ %t332 = load ptr, ptr %sc_l_p_1
+ %t333 = call ptr @sc_rc_retain_dyn(ptr %t332)
+ %t334 = load ptr, ptr %sc_l_p_receiver
+ %t335 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t334, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t328, ptr @sc_lit_3111096729023658, ptr %t333, ptr %t335)
+ %t336 = load i32, ptr %exc.cell
+ %t337 = icmp ne i32 %t336, 0
+ %t338 = call i1 @llvm.expect.i1(i1 %t337, i1 false)
+ br i1 %t338, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t328)
+ call void @sc_rc_release_dyn(ptr %t333)
+ call void @sc_rc_release_dyn(ptr %t335)
+ ret void
+exc.k135:
+ call void @sc_rc_release_dyn(ptr %t328)
+ call void @sc_rc_release_dyn(ptr %t333)
+ call void @sc_rc_release_dyn(ptr %t335)
+ ret void
+if.j131:
+ %t339 = load ptr, ptr %sc_l_key_string
+ %t340 = call zeroext i1 @sc_streq_668712189700762(ptr %t339)
+ br i1 %t340, label %if.t136, label %if.j137
+if.t136:
+ %t341 = load ptr, ptr %sc_l_p_receiver
+ %t342 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t341, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t343 = call ptr @sc_f__x25_dyn_class_properties(ptr %t342)
+ %t344 = load i32, ptr %exc.cell
+ %t345 = icmp ne i32 %t344, 0
+ %t346 = call i1 @llvm.expect.i1(i1 %t345, i1 false)
+ br i1 %t346, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t343)
+ ret void
+exc.k139:
+ %t347 = load ptr, ptr %sc_l_p_1
+ %t348 = call ptr @sc_rc_retain_dyn(ptr %t347)
+ %t349 = load ptr, ptr %sc_l_p_receiver
+ %t350 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t349, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t343, ptr @sc_lit_668712189700762, ptr %t348, ptr %t350)
+ %t351 = load i32, ptr %exc.cell
+ %t352 = icmp ne i32 %t351, 0
+ %t353 = call i1 @llvm.expect.i1(i1 %t352, i1 false)
+ br i1 %t353, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t343)
+ call void @sc_rc_release_dyn(ptr %t348)
+ call void @sc_rc_release_dyn(ptr %t350)
+ ret void
+exc.k141:
+ call void @sc_rc_release_dyn(ptr %t343)
+ call void @sc_rc_release_dyn(ptr %t348)
+ call void @sc_rc_release_dyn(ptr %t350)
+ ret void
+if.j137:
+ %t354 = load ptr, ptr %sc_l_key_string
+ %t355 = call zeroext i1 @sc_streq_2436853855422636(ptr %t354)
+ br i1 %t355, label %if.t142, label %if.j143
+if.t142:
+ %t356 = load ptr, ptr %sc_l_p_receiver
+ %t357 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t356, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t358 = call ptr @sc_f__x25_dyn_class_properties(ptr %t357)
+ %t359 = load i32, ptr %exc.cell
+ %t360 = icmp ne i32 %t359, 0
+ %t361 = call i1 @llvm.expect.i1(i1 %t360, i1 false)
+ br i1 %t361, label %exc.u144, label %exc.k145
+exc.u144:
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret void
+exc.k145:
+ %t362 = load ptr, ptr %sc_l_p_1
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = load ptr, ptr %sc_l_p_receiver
+ %t365 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t364, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t358, ptr @sc_lit_2436853855422636, ptr %t363, ptr %t365)
+ %t366 = load i32, ptr %exc.cell
+ %t367 = icmp ne i32 %t366, 0
+ %t368 = call i1 @llvm.expect.i1(i1 %t367, i1 false)
+ br i1 %t368, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @sc_rc_release_dyn(ptr %t358)
+ call void @sc_rc_release_dyn(ptr %t363)
+ call void @sc_rc_release_dyn(ptr %t365)
+ ret void
+exc.k147:
+ call void @sc_rc_release_dyn(ptr %t358)
+ call void @sc_rc_release_dyn(ptr %t363)
+ call void @sc_rc_release_dyn(ptr %t365)
+ ret void
+if.j143:
+ %t369 = load ptr, ptr %sc_l_key_string
+ %t370 = call zeroext i1 @sc_streq_2466306126986778(ptr %t369)
+ br i1 %t370, label %if.t148, label %if.j149
+if.t148:
+ %t371 = load ptr, ptr %sc_l_p_receiver
+ %t372 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t371, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t373 = call ptr @sc_f__x25_dyn_class_properties(ptr %t372)
+ %t374 = load i32, ptr %exc.cell
+ %t375 = icmp ne i32 %t374, 0
+ %t376 = call i1 @llvm.expect.i1(i1 %t375, i1 false)
+ br i1 %t376, label %exc.u150, label %exc.k151
+exc.u150:
+ call void @sc_rc_release_dyn(ptr %t373)
+ ret void
+exc.k151:
+ %t377 = load ptr, ptr %sc_l_p_1
+ %t378 = call ptr @sc_rc_retain_dyn(ptr %t377)
+ %t379 = load ptr, ptr %sc_l_p_receiver
+ %t380 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t379, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t373, ptr @sc_lit_2466306126986778, ptr %t378, ptr %t380)
+ %t381 = load i32, ptr %exc.cell
+ %t382 = icmp ne i32 %t381, 0
+ %t383 = call i1 @llvm.expect.i1(i1 %t382, i1 false)
+ br i1 %t383, label %exc.u152, label %exc.k153
+exc.u152:
+ call void @sc_rc_release_dyn(ptr %t373)
+ call void @sc_rc_release_dyn(ptr %t378)
+ call void @sc_rc_release_dyn(ptr %t380)
+ ret void
+exc.k153:
+ call void @sc_rc_release_dyn(ptr %t373)
+ call void @sc_rc_release_dyn(ptr %t378)
+ call void @sc_rc_release_dyn(ptr %t380)
+ ret void
+if.j149:
+ %t384 = load ptr, ptr %sc_l_key_string
+ %t385 = call zeroext i1 @sc_streq_1389753027152399(ptr %t384)
+ br i1 %t385, label %if.t154, label %if.j155
+if.t154:
+ %t386 = load ptr, ptr %sc_l_p_receiver
+ %t387 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t386, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t388 = call ptr @sc_f__x25_dyn_class_properties(ptr %t387)
+ %t389 = load i32, ptr %exc.cell
+ %t390 = icmp ne i32 %t389, 0
+ %t391 = call i1 @llvm.expect.i1(i1 %t390, i1 false)
+ br i1 %t391, label %exc.u156, label %exc.k157
+exc.u156:
+ call void @sc_rc_release_dyn(ptr %t388)
+ ret void
+exc.k157:
+ %t392 = load ptr, ptr %sc_l_p_1
+ %t393 = call ptr @sc_rc_retain_dyn(ptr %t392)
+ %t394 = load ptr, ptr %sc_l_p_receiver
+ %t395 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t394, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t388, ptr @sc_lit_1389753027152399, ptr %t393, ptr %t395)
+ %t396 = load i32, ptr %exc.cell
+ %t397 = icmp ne i32 %t396, 0
+ %t398 = call i1 @llvm.expect.i1(i1 %t397, i1 false)
+ br i1 %t398, label %exc.u158, label %exc.k159
+exc.u158:
+ call void @sc_rc_release_dyn(ptr %t388)
+ call void @sc_rc_release_dyn(ptr %t393)
+ call void @sc_rc_release_dyn(ptr %t395)
+ ret void
+exc.k159:
+ call void @sc_rc_release_dyn(ptr %t388)
+ call void @sc_rc_release_dyn(ptr %t393)
+ call void @sc_rc_release_dyn(ptr %t395)
+ ret void
+if.j155:
+ %t399 = load ptr, ptr %sc_l_key_string
+ %t400 = call zeroext i1 @sc_streq_1148437194389594(ptr %t399)
+ br i1 %t400, label %if.t160, label %if.j161
+if.t160:
+ %t401 = load ptr, ptr %sc_l_p_receiver
+ %t402 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t401, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t403 = call ptr @sc_f__x25_dyn_class_properties(ptr %t402)
+ %t404 = load i32, ptr %exc.cell
+ %t405 = icmp ne i32 %t404, 0
+ %t406 = call i1 @llvm.expect.i1(i1 %t405, i1 false)
+ br i1 %t406, label %exc.u162, label %exc.k163
+exc.u162:
+ call void @sc_rc_release_dyn(ptr %t403)
+ ret void
+exc.k163:
+ %t407 = load ptr, ptr %sc_l_p_1
+ %t408 = call ptr @sc_rc_retain_dyn(ptr %t407)
+ %t409 = load ptr, ptr %sc_l_p_receiver
+ %t410 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t409, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t403, ptr @sc_lit_1148437194389594, ptr %t408, ptr %t410)
+ %t411 = load i32, ptr %exc.cell
+ %t412 = icmp ne i32 %t411, 0
+ %t413 = call i1 @llvm.expect.i1(i1 %t412, i1 false)
+ br i1 %t413, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t403)
+ call void @sc_rc_release_dyn(ptr %t408)
+ call void @sc_rc_release_dyn(ptr %t410)
+ ret void
+exc.k165:
+ call void @sc_rc_release_dyn(ptr %t403)
+ call void @sc_rc_release_dyn(ptr %t408)
+ call void @sc_rc_release_dyn(ptr %t410)
+ ret void
+if.j161:
+ %t414 = load ptr, ptr %sc_l_key_string
+ %t415 = call zeroext i1 @sc_streq_4192469624085056(ptr %t414)
+ br i1 %t415, label %if.t166, label %if.j167
+if.t166:
+ %t416 = load ptr, ptr %sc_l_p_receiver
+ %t417 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t416, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t418 = call ptr @sc_f__x25_dyn_class_properties(ptr %t417)
+ %t419 = load i32, ptr %exc.cell
+ %t420 = icmp ne i32 %t419, 0
+ %t421 = call i1 @llvm.expect.i1(i1 %t420, i1 false)
+ br i1 %t421, label %exc.u168, label %exc.k169
+exc.u168:
+ call void @sc_rc_release_dyn(ptr %t418)
+ ret void
+exc.k169:
+ %t422 = load ptr, ptr %sc_l_p_1
+ %t423 = call ptr @sc_rc_retain_dyn(ptr %t422)
+ %t424 = load ptr, ptr %sc_l_p_receiver
+ %t425 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t424, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t418, ptr @sc_lit_4192469624085056, ptr %t423, ptr %t425)
+ %t426 = load i32, ptr %exc.cell
+ %t427 = icmp ne i32 %t426, 0
+ %t428 = call i1 @llvm.expect.i1(i1 %t427, i1 false)
+ br i1 %t428, label %exc.u170, label %exc.k171
+exc.u170:
+ call void @sc_rc_release_dyn(ptr %t418)
+ call void @sc_rc_release_dyn(ptr %t423)
+ call void @sc_rc_release_dyn(ptr %t425)
+ ret void
+exc.k171:
+ call void @sc_rc_release_dyn(ptr %t418)
+ call void @sc_rc_release_dyn(ptr %t423)
+ call void @sc_rc_release_dyn(ptr %t425)
+ ret void
+if.j167:
+ %t429 = load ptr, ptr %sc_l_key_string
+ %t430 = call zeroext i1 @sc_streq_864781090888737(ptr %t429)
+ br i1 %t430, label %if.t172, label %if.j173
+if.t172:
+ %t431 = load ptr, ptr %sc_l_p_receiver
+ %t432 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t431, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t433 = call ptr @sc_f__x25_dyn_class_properties(ptr %t432)
+ %t434 = load i32, ptr %exc.cell
+ %t435 = icmp ne i32 %t434, 0
+ %t436 = call i1 @llvm.expect.i1(i1 %t435, i1 false)
+ br i1 %t436, label %exc.u174, label %exc.k175
+exc.u174:
+ call void @sc_rc_release_dyn(ptr %t433)
+ ret void
+exc.k175:
+ %t437 = load ptr, ptr %sc_l_p_1
+ %t438 = call ptr @sc_rc_retain_dyn(ptr %t437)
+ %t439 = load ptr, ptr %sc_l_p_receiver
+ %t440 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t439, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t433, ptr @sc_lit_864781090888737, ptr %t438, ptr %t440)
+ %t441 = load i32, ptr %exc.cell
+ %t442 = icmp ne i32 %t441, 0
+ %t443 = call i1 @llvm.expect.i1(i1 %t442, i1 false)
+ br i1 %t443, label %exc.u176, label %exc.k177
+exc.u176:
+ call void @sc_rc_release_dyn(ptr %t433)
+ call void @sc_rc_release_dyn(ptr %t438)
+ call void @sc_rc_release_dyn(ptr %t440)
+ ret void
+exc.k177:
+ call void @sc_rc_release_dyn(ptr %t433)
+ call void @sc_rc_release_dyn(ptr %t438)
+ call void @sc_rc_release_dyn(ptr %t440)
+ ret void
+if.j173:
+ %t444 = load ptr, ptr %sc_l_key_string
+ %t445 = call zeroext i1 @sc_streq_603267670272610(ptr %t444)
+ br i1 %t445, label %if.t178, label %if.j179
+if.t178:
+ %t446 = load ptr, ptr %sc_l_p_receiver
+ %t447 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t446, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t448 = call ptr @sc_f__x25_dyn_class_properties(ptr %t447)
+ %t449 = load i32, ptr %exc.cell
+ %t450 = icmp ne i32 %t449, 0
+ %t451 = call i1 @llvm.expect.i1(i1 %t450, i1 false)
+ br i1 %t451, label %exc.u180, label %exc.k181
+exc.u180:
+ call void @sc_rc_release_dyn(ptr %t448)
+ ret void
+exc.k181:
+ %t452 = load ptr, ptr %sc_l_p_1
+ %t453 = call ptr @sc_rc_retain_dyn(ptr %t452)
+ %t454 = load ptr, ptr %sc_l_p_receiver
+ %t455 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t454, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t448, ptr @sc_lit_603267670272610, ptr %t453, ptr %t455)
+ %t456 = load i32, ptr %exc.cell
+ %t457 = icmp ne i32 %t456, 0
+ %t458 = call i1 @llvm.expect.i1(i1 %t457, i1 false)
+ br i1 %t458, label %exc.u182, label %exc.k183
+exc.u182:
+ call void @sc_rc_release_dyn(ptr %t448)
+ call void @sc_rc_release_dyn(ptr %t453)
+ call void @sc_rc_release_dyn(ptr %t455)
+ ret void
+exc.k183:
+ call void @sc_rc_release_dyn(ptr %t448)
+ call void @sc_rc_release_dyn(ptr %t453)
+ call void @sc_rc_release_dyn(ptr %t455)
+ ret void
+if.j179:
+ %t459 = load ptr, ptr %sc_l_key_string
+ %t460 = call zeroext i1 @sc_streq_646811555153625(ptr %t459)
+ br i1 %t460, label %if.t184, label %if.j185
+if.t184:
+ %t461 = load ptr, ptr %sc_l_p_receiver
+ %t462 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t461, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t463 = call ptr @sc_f__x25_dyn_class_properties(ptr %t462)
+ %t464 = load i32, ptr %exc.cell
+ %t465 = icmp ne i32 %t464, 0
+ %t466 = call i1 @llvm.expect.i1(i1 %t465, i1 false)
+ br i1 %t466, label %exc.u186, label %exc.k187
+exc.u186:
+ call void @sc_rc_release_dyn(ptr %t463)
+ ret void
+exc.k187:
+ %t467 = load ptr, ptr %sc_l_p_1
+ %t468 = call ptr @sc_rc_retain_dyn(ptr %t467)
+ %t469 = load ptr, ptr %sc_l_p_receiver
+ %t470 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t469, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t463, ptr @sc_lit_646811555153625, ptr %t468, ptr %t470)
+ %t471 = load i32, ptr %exc.cell
+ %t472 = icmp ne i32 %t471, 0
+ %t473 = call i1 @llvm.expect.i1(i1 %t472, i1 false)
+ br i1 %t473, label %exc.u188, label %exc.k189
+exc.u188:
+ call void @sc_rc_release_dyn(ptr %t463)
+ call void @sc_rc_release_dyn(ptr %t468)
+ call void @sc_rc_release_dyn(ptr %t470)
+ ret void
+exc.k189:
+ call void @sc_rc_release_dyn(ptr %t463)
+ call void @sc_rc_release_dyn(ptr %t468)
+ call void @sc_rc_release_dyn(ptr %t470)
+ ret void
+if.j185:
+ %t474 = load ptr, ptr %sc_l_key_string
+ %t475 = call zeroext i1 @sc_streq_4391217941138845(ptr %t474)
+ br i1 %t475, label %if.t190, label %if.j191
+if.t190:
+ %t476 = load ptr, ptr %sc_l_p_receiver
+ %t477 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t476, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t478 = call ptr @sc_f__x25_dyn_class_properties(ptr %t477)
+ %t479 = load i32, ptr %exc.cell
+ %t480 = icmp ne i32 %t479, 0
+ %t481 = call i1 @llvm.expect.i1(i1 %t480, i1 false)
+ br i1 %t481, label %exc.u192, label %exc.k193
+exc.u192:
+ call void @sc_rc_release_dyn(ptr %t478)
+ ret void
+exc.k193:
+ %t482 = load ptr, ptr %sc_l_p_1
+ %t483 = call ptr @sc_rc_retain_dyn(ptr %t482)
+ %t484 = load ptr, ptr %sc_l_p_receiver
+ %t485 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t484, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t478, ptr @sc_lit_4391217941138845, ptr %t483, ptr %t485)
+ %t486 = load i32, ptr %exc.cell
+ %t487 = icmp ne i32 %t486, 0
+ %t488 = call i1 @llvm.expect.i1(i1 %t487, i1 false)
+ br i1 %t488, label %exc.u194, label %exc.k195
+exc.u194:
+ call void @sc_rc_release_dyn(ptr %t478)
+ call void @sc_rc_release_dyn(ptr %t483)
+ call void @sc_rc_release_dyn(ptr %t485)
+ ret void
+exc.k195:
+ call void @sc_rc_release_dyn(ptr %t478)
+ call void @sc_rc_release_dyn(ptr %t483)
+ call void @sc_rc_release_dyn(ptr %t485)
+ ret void
+if.j191:
+ %t489 = load ptr, ptr %sc_l_key_string
+ %t490 = call zeroext i1 @sc_streq_2014847608589337(ptr %t489)
+ br i1 %t490, label %if.t196, label %if.j197
+if.t196:
+ %t491 = load ptr, ptr %sc_l_p_receiver
+ %t492 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t491, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t493 = call ptr @sc_f__x25_dyn_class_properties(ptr %t492)
+ %t494 = load i32, ptr %exc.cell
+ %t495 = icmp ne i32 %t494, 0
+ %t496 = call i1 @llvm.expect.i1(i1 %t495, i1 false)
+ br i1 %t496, label %exc.u198, label %exc.k199
+exc.u198:
+ call void @sc_rc_release_dyn(ptr %t493)
+ ret void
+exc.k199:
+ %t497 = load ptr, ptr %sc_l_p_1
+ %t498 = call ptr @sc_rc_retain_dyn(ptr %t497)
+ %t499 = load ptr, ptr %sc_l_p_receiver
+ %t500 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t499, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t493, ptr @sc_lit_2014847608589337, ptr %t498, ptr %t500)
+ %t501 = load i32, ptr %exc.cell
+ %t502 = icmp ne i32 %t501, 0
+ %t503 = call i1 @llvm.expect.i1(i1 %t502, i1 false)
+ br i1 %t503, label %exc.u200, label %exc.k201
+exc.u200:
+ call void @sc_rc_release_dyn(ptr %t493)
+ call void @sc_rc_release_dyn(ptr %t498)
+ call void @sc_rc_release_dyn(ptr %t500)
+ ret void
+exc.k201:
+ call void @sc_rc_release_dyn(ptr %t493)
+ call void @sc_rc_release_dyn(ptr %t498)
+ call void @sc_rc_release_dyn(ptr %t500)
+ ret void
+if.j197:
+ %t504 = load ptr, ptr %sc_l_key_string
+ %t505 = call zeroext i1 @sc_streq_405767859507088(ptr %t504)
+ br i1 %t505, label %if.t202, label %if.j203
+if.t202:
+ %t506 = load ptr, ptr %sc_l_p_receiver
+ %t507 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t506, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t508 = call ptr @sc_f__x25_dyn_class_properties(ptr %t507)
+ %t509 = load i32, ptr %exc.cell
+ %t510 = icmp ne i32 %t509, 0
+ %t511 = call i1 @llvm.expect.i1(i1 %t510, i1 false)
+ br i1 %t511, label %exc.u204, label %exc.k205
+exc.u204:
+ call void @sc_rc_release_dyn(ptr %t508)
+ ret void
+exc.k205:
+ %t512 = load ptr, ptr %sc_l_p_1
+ %t513 = call ptr @sc_rc_retain_dyn(ptr %t512)
+ %t514 = load ptr, ptr %sc_l_p_receiver
+ %t515 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t514, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t508, ptr @sc_lit_405767859507088, ptr %t513, ptr %t515)
+ %t516 = load i32, ptr %exc.cell
+ %t517 = icmp ne i32 %t516, 0
+ %t518 = call i1 @llvm.expect.i1(i1 %t517, i1 false)
+ br i1 %t518, label %exc.u206, label %exc.k207
+exc.u206:
+ call void @sc_rc_release_dyn(ptr %t508)
+ call void @sc_rc_release_dyn(ptr %t513)
+ call void @sc_rc_release_dyn(ptr %t515)
+ ret void
+exc.k207:
+ call void @sc_rc_release_dyn(ptr %t508)
+ call void @sc_rc_release_dyn(ptr %t513)
+ call void @sc_rc_release_dyn(ptr %t515)
+ ret void
+if.j203:
+ %t519 = load ptr, ptr %sc_l_key_string
+ %t520 = call zeroext i1 @sc_streq_4078327433052319(ptr %t519)
+ br i1 %t520, label %if.t208, label %if.j209
+if.t208:
+ %t521 = load ptr, ptr %sc_l_p_receiver
+ %t522 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t521, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t523 = call ptr @sc_f__x25_dyn_class_properties(ptr %t522)
+ %t524 = load i32, ptr %exc.cell
+ %t525 = icmp ne i32 %t524, 0
+ %t526 = call i1 @llvm.expect.i1(i1 %t525, i1 false)
+ br i1 %t526, label %exc.u210, label %exc.k211
+exc.u210:
+ call void @sc_rc_release_dyn(ptr %t523)
+ ret void
+exc.k211:
+ %t527 = load ptr, ptr %sc_l_p_1
+ %t528 = call ptr @sc_rc_retain_dyn(ptr %t527)
+ %t529 = load ptr, ptr %sc_l_p_receiver
+ %t530 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t529, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t523, ptr @sc_lit_4078327433052319, ptr %t528, ptr %t530)
+ %t531 = load i32, ptr %exc.cell
+ %t532 = icmp ne i32 %t531, 0
+ %t533 = call i1 @llvm.expect.i1(i1 %t532, i1 false)
+ br i1 %t533, label %exc.u212, label %exc.k213
+exc.u212:
+ call void @sc_rc_release_dyn(ptr %t523)
+ call void @sc_rc_release_dyn(ptr %t528)
+ call void @sc_rc_release_dyn(ptr %t530)
+ ret void
+exc.k213:
+ call void @sc_rc_release_dyn(ptr %t523)
+ call void @sc_rc_release_dyn(ptr %t528)
+ call void @sc_rc_release_dyn(ptr %t530)
+ ret void
+if.j209:
+ %t534 = load ptr, ptr %sc_l_key_string
+ %t535 = call zeroext i1 @sc_streq_156708963710691(ptr %t534)
+ br i1 %t535, label %if.t214, label %if.j215
+if.t214:
+ %t536 = load ptr, ptr %sc_l_p_receiver
+ %t537 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t536, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t538 = call ptr @sc_f__x25_dyn_class_properties(ptr %t537)
+ %t539 = load i32, ptr %exc.cell
+ %t540 = icmp ne i32 %t539, 0
+ %t541 = call i1 @llvm.expect.i1(i1 %t540, i1 false)
+ br i1 %t541, label %exc.u216, label %exc.k217
+exc.u216:
+ call void @sc_rc_release_dyn(ptr %t538)
+ ret void
+exc.k217:
+ %t542 = load ptr, ptr %sc_l_p_1
+ %t543 = call ptr @sc_rc_retain_dyn(ptr %t542)
+ %t544 = load ptr, ptr %sc_l_p_receiver
+ %t545 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t544, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t538, ptr @sc_lit_156708963710691, ptr %t543, ptr %t545)
+ %t546 = load i32, ptr %exc.cell
+ %t547 = icmp ne i32 %t546, 0
+ %t548 = call i1 @llvm.expect.i1(i1 %t547, i1 false)
+ br i1 %t548, label %exc.u218, label %exc.k219
+exc.u218:
+ call void @sc_rc_release_dyn(ptr %t538)
+ call void @sc_rc_release_dyn(ptr %t543)
+ call void @sc_rc_release_dyn(ptr %t545)
+ ret void
+exc.k219:
+ call void @sc_rc_release_dyn(ptr %t538)
+ call void @sc_rc_release_dyn(ptr %t543)
+ call void @sc_rc_release_dyn(ptr %t545)
+ ret void
+if.j215:
+ %t549 = load ptr, ptr %sc_l_key_string
+ %t550 = call zeroext i1 @sc_streq_1093190805819680(ptr %t549)
+ br i1 %t550, label %if.t220, label %if.j221
+if.t220:
+ %t551 = load ptr, ptr %sc_l_p_receiver
+ %t552 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t551, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t553 = call ptr @sc_f__x25_dyn_class_properties(ptr %t552)
+ %t554 = load i32, ptr %exc.cell
+ %t555 = icmp ne i32 %t554, 0
+ %t556 = call i1 @llvm.expect.i1(i1 %t555, i1 false)
+ br i1 %t556, label %exc.u222, label %exc.k223
+exc.u222:
+ call void @sc_rc_release_dyn(ptr %t553)
+ ret void
+exc.k223:
+ %t557 = load ptr, ptr %sc_l_p_1
+ %t558 = call ptr @sc_rc_retain_dyn(ptr %t557)
+ %t559 = load ptr, ptr %sc_l_p_receiver
+ %t560 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t559, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t553, ptr @sc_lit_1093190805819680, ptr %t558, ptr %t560)
+ %t561 = load i32, ptr %exc.cell
+ %t562 = icmp ne i32 %t561, 0
+ %t563 = call i1 @llvm.expect.i1(i1 %t562, i1 false)
+ br i1 %t563, label %exc.u224, label %exc.k225
+exc.u224:
+ call void @sc_rc_release_dyn(ptr %t553)
+ call void @sc_rc_release_dyn(ptr %t558)
+ call void @sc_rc_release_dyn(ptr %t560)
+ ret void
+exc.k225:
+ call void @sc_rc_release_dyn(ptr %t553)
+ call void @sc_rc_release_dyn(ptr %t558)
+ call void @sc_rc_release_dyn(ptr %t560)
+ ret void
+if.j221:
+ %t564 = load ptr, ptr %sc_l_key_string
+ %t565 = call zeroext i1 @sc_streq_3899522094323235(ptr %t564)
+ br i1 %t565, label %if.t226, label %if.j227
+if.t226:
+ %t566 = load ptr, ptr %sc_l_p_receiver
+ %t567 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t566, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t568 = call ptr @sc_f__x25_dyn_class_properties(ptr %t567)
+ %t569 = load i32, ptr %exc.cell
+ %t570 = icmp ne i32 %t569, 0
+ %t571 = call i1 @llvm.expect.i1(i1 %t570, i1 false)
+ br i1 %t571, label %exc.u228, label %exc.k229
+exc.u228:
+ call void @sc_rc_release_dyn(ptr %t568)
+ ret void
+exc.k229:
+ %t572 = load ptr, ptr %sc_l_p_1
+ %t573 = call ptr @sc_rc_retain_dyn(ptr %t572)
+ %t574 = load ptr, ptr %sc_l_p_receiver
+ %t575 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t574, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t568, ptr @sc_lit_3899522094323235, ptr %t573, ptr %t575)
+ %t576 = load i32, ptr %exc.cell
+ %t577 = icmp ne i32 %t576, 0
+ %t578 = call i1 @llvm.expect.i1(i1 %t577, i1 false)
+ br i1 %t578, label %exc.u230, label %exc.k231
+exc.u230:
+ call void @sc_rc_release_dyn(ptr %t568)
+ call void @sc_rc_release_dyn(ptr %t573)
+ call void @sc_rc_release_dyn(ptr %t575)
+ ret void
+exc.k231:
+ call void @sc_rc_release_dyn(ptr %t568)
+ call void @sc_rc_release_dyn(ptr %t573)
+ call void @sc_rc_release_dyn(ptr %t575)
+ ret void
+if.j227:
+ %t579 = load ptr, ptr %sc_l_p_0
+ %t580 = call ptr @sc_rc_retain_dyn(ptr %t579)
+ %t581 = call ptr @sc_f__x25_dyn_class_properties(ptr %t580)
+ %t582 = load i32, ptr %exc.cell
+ %t583 = icmp ne i32 %t582, 0
+ %t584 = call i1 @llvm.expect.i1(i1 %t583, i1 false)
+ br i1 %t584, label %exc.u232, label %exc.k233
+exc.u232:
+ call void @sc_rc_release_dyn(ptr %t581)
+ ret void
+exc.k233:
+ %t585 = load ptr, ptr %sc_l_key_string
+ %t586 = call ptr @sc_rc_retain_str(ptr %t585)
+ %t587 = load ptr, ptr %sc_l_p_1
+ %t588 = call ptr @sc_rc_retain_dyn(ptr %t587)
+ %t589 = load ptr, ptr %sc_l_p_receiver
+ %t590 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t589, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t581, ptr %t586, ptr %t588, ptr %t590)
+ %t591 = load i32, ptr %exc.cell
+ %t592 = icmp ne i32 %t591, 0
+ %t593 = call i1 @llvm.expect.i1(i1 %t592, i1 false)
+ br i1 %t593, label %exc.u234, label %exc.k235
+exc.u234:
+ call void @sc_rc_release_dyn(ptr %t581)
+ call void @scr_str_release(ptr %t586)
+ call void @sc_rc_release_dyn(ptr %t588)
+ call void @sc_rc_release_dyn(ptr %t590)
+ ret void
+exc.k235:
+ call void @sc_rc_release_dyn(ptr %t581)
+ call void @scr_str_release(ptr %t586)
+ call void @sc_rc_release_dyn(ptr %t588)
+ call void @sc_rc_release_dyn(ptr %t590)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_463(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_463(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m5_App(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_464(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.464
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %s8 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s30 = alloca ptr
+ %s52 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_3447500980845638(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t9 = icmp ne ptr %t7, null
+ br i1 %t9, label %dc.inspect4, label %dc.checked7
+dc.inspect4:
+ %t14 = getelementptr inbounds i8, ptr %t7, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t10 = icmp eq i32 %t15, 12
+ br i1 %t10, label %dc.capsule5, label %dc.checked7
+dc.capsule5:
+ %t11 = getelementptr inbounds i8, ptr %t7, i64 40 ; ->v.typed_ref.type_key
+ %t12 = load ptr, ptr %t11
+ %t13 = icmp eq ptr %t12, @sc_cs_660811353369478
+ br i1 %t13, label %dc.exact6, label %dc.checked7
+dc.exact6:
+ %t16 = getelementptr inbounds i8, ptr %t7, i64 16 ; ->v.typed_ref.ptr
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t17)
+ store ptr %t18, ptr %s8
+ br label %dc.done8
+dc.checked7:
+ %t19 = call ptr @sc_dc_28(ptr %t7, ptr null)
+ store ptr %t19, ptr %s8
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u9, label %exc.k10
+exc.u9:
+ ret void
+exc.k10:
+ br label %dc.done8
+dc.done8:
+ %t23 = load ptr, ptr %s8
+ %t24 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t6, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ store ptr %t23, ptr %t24, !tbaa !24
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t25)
+ ret void
+if.j3:
+ %t26 = load ptr, ptr %sc_l_key_string
+ %t27 = call zeroext i1 @sc_streq_448101171860799(ptr %t26)
+ br i1 %t27, label %if.t11, label %if.j12
+if.t11:
+ %t28 = load ptr, ptr %sc_l_p_receiver
+ %t29 = load ptr, ptr %sc_l_p_1
+ %t31 = icmp ne ptr %t29, null
+ br i1 %t31, label %dc.inspect13, label %dc.checked16
+dc.inspect13:
+ %t36 = getelementptr inbounds i8, ptr %t29, i64 8 ; ->kind
+ %t37 = load i32, ptr %t36
+ %t32 = icmp eq i32 %t37, 12
+ br i1 %t32, label %dc.capsule14, label %dc.checked16
+dc.capsule14:
+ %t33 = getelementptr inbounds i8, ptr %t29, i64 40 ; ->v.typed_ref.type_key
+ %t34 = load ptr, ptr %t33
+ %t35 = icmp eq ptr %t34, @sc_cs_629517122853751
+ br i1 %t35, label %dc.exact15, label %dc.checked16
+dc.exact15:
+ %t38 = getelementptr inbounds i8, ptr %t29, i64 16 ; ->v.typed_ref.ptr
+ %t39 = load ptr, ptr %t38
+ %t40 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t39)
+ store ptr %t40, ptr %s30
+ br label %dc.done17
+dc.checked16:
+ %t41 = call ptr @sc_dc_29(ptr %t29, ptr null)
+ store ptr %t41, ptr %s30
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u18, label %exc.k19
+exc.u18:
+ ret void
+exc.k19:
+ br label %dc.done17
+dc.done17:
+ %t45 = load ptr, ptr %s30
+ %t46 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t28, i64 0, i32 2
+ %t47 = load ptr, ptr %t46
+ store ptr %t45, ptr %t46, !tbaa !44
+ call void @sc_release__x25_m2_ResponseSink(ptr %t47)
+ ret void
+if.j12:
+ %t48 = load ptr, ptr %sc_l_key_string
+ %t49 = call zeroext i1 @sc_streq_4141049404401276(ptr %t48)
+ br i1 %t49, label %if.t20, label %if.j21
+if.t20:
+ %t50 = load ptr, ptr %sc_l_p_receiver
+ %t51 = load ptr, ptr %sc_l_p_1
+ %t53 = icmp ne ptr %t51, null
+ br i1 %t53, label %dc.inspect22, label %dc.checked25
+dc.inspect22:
+ %t58 = getelementptr inbounds i8, ptr %t51, i64 8 ; ->kind
+ %t59 = load i32, ptr %t58
+ %t54 = icmp eq i32 %t59, 12
+ br i1 %t54, label %dc.capsule23, label %dc.checked25
+dc.capsule23:
+ %t55 = getelementptr inbounds i8, ptr %t51, i64 40 ; ->v.typed_ref.type_key
+ %t56 = load ptr, ptr %t55
+ %t57 = icmp eq ptr %t56, @sc_cs_1746033898805369
+ br i1 %t57, label %dc.exact24, label %dc.checked25
+dc.exact24:
+ %t60 = getelementptr inbounds i8, ptr %t51, i64 16 ; ->v.typed_ref.ptr
+ %t61 = load ptr, ptr %t60
+ %t62 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t61)
+ store ptr %t62, ptr %s52
+ br label %dc.done26
+dc.checked25:
+ %t63 = call ptr @sc_dc_30(ptr %t51, ptr null)
+ store ptr %t63, ptr %s52
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u27, label %exc.k28
+exc.u27:
+ ret void
+exc.k28:
+ br label %dc.done26
+dc.done26:
+ %t67 = load ptr, ptr %s52
+ %t68 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t50, i64 0, i32 3
+ %t69 = load ptr, ptr %t68
+ store ptr %t67, ptr %t68, !tbaa !164
+ call void @sc_release__x25_m5_CtxResCore(ptr %t69)
+ ret void
+if.j21:
+ %t70 = load ptr, ptr %sc_l_key_string
+ %t71 = call zeroext i1 @sc_streq_3621289080171698(ptr %t70)
+ br i1 %t71, label %if.t29, label %if.j30
+if.t29:
+ %t72 = load ptr, ptr %sc_l_p_receiver
+ %t73 = load ptr, ptr %sc_l_p_1
+ %t74 = call double @sc_dc_2(ptr %t73, ptr null)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u31, label %exc.k32
+exc.u31:
+ ret void
+exc.k32:
+ %t78 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t72, i64 0, i32 4
+ store double %t74, ptr %t78, !tbaa !48
+ ret void
+if.j30:
+ %t79 = load ptr, ptr %sc_l_key_string
+ %t80 = call zeroext i1 @sc_streq_2163543391075186(ptr %t79)
+ br i1 %t80, label %if.t33, label %if.j34
+if.t33:
+ %t81 = load ptr, ptr %sc_l_p_receiver
+ %t82 = load ptr, ptr %sc_l_p_1
+ %t83 = call zeroext i1 @sc_dc_3(ptr %t82, ptr null)
+ %t84 = load i32, ptr %exc.cell
+ %t85 = icmp ne i32 %t84, 0
+ %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false)
+ br i1 %t86, label %exc.u35, label %exc.k36
+exc.u35:
+ ret void
+exc.k36:
+ %t87 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t81, i64 0, i32 5
+ %t88 = zext i1 %t83 to i8
+ store i8 %t88, ptr %t87, !tbaa !42
+ ret void
+if.j34:
+ %t89 = load ptr, ptr %sc_l_key_string
+ %t90 = call zeroext i1 @sc_streq_4022150258959820(ptr %t89)
+ br i1 %t90, label %if.t37, label %if.j38
+if.t37:
+ %t91 = load ptr, ptr %sc_l_p_receiver
+ %t92 = load ptr, ptr %sc_l_p_1
+ %t93 = call ptr @sc_dc_0(ptr %t92, ptr null)
+ %t94 = load i32, ptr %exc.cell
+ %t95 = icmp ne i32 %t94, 0
+ %t96 = call i1 @llvm.expect.i1(i1 %t95, i1 false)
+ br i1 %t96, label %exc.u39, label %exc.k40
+exc.u39:
+ call void @scr_str_release(ptr %t93)
+ ret void
+exc.k40:
+ %t97 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t91, i64 0, i32 6
+ %t98 = load ptr, ptr %t97
+ store ptr %t93, ptr %t97, !tbaa !166
+ call void @scr_str_release(ptr %t98)
+ ret void
+if.j38:
+ %t99 = load ptr, ptr %sc_l_key_string
+ %t100 = call zeroext i1 @sc_streq_3084154227263888(ptr %t99)
+ br i1 %t100, label %if.t41, label %if.j42
+if.t41:
+ %t101 = load ptr, ptr %sc_l_p_receiver
+ %t102 = load ptr, ptr %sc_l_p_1
+ %t103 = call ptr @sc_dc_14(ptr %t102, ptr null)
+ %t104 = load i32, ptr %exc.cell
+ %t105 = icmp ne i32 %t104, 0
+ %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false)
+ br i1 %t106, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @scr_union_release(ptr %t103)
+ ret void
+exc.k44:
+ %t107 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t101, i64 0, i32 7
+ %t108 = load ptr, ptr %t107
+ store ptr %t103, ptr %t107, !tbaa !162
+ call void @scr_union_release(ptr %t108)
+ ret void
+if.j42:
+ %t109 = load ptr, ptr %sc_l_key_string
+ %t110 = call zeroext i1 @sc_streq_1951312618348557(ptr %t109)
+ br i1 %t110, label %if.t45, label %if.j46
+if.t45:
+ %t111 = call ptr @scr_error_new(i32 1, ptr @sc_lit_1334122099411014)
+ call void @scr_throw_obj(ptr %t111, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret void
+if.j46:
+ %t112 = load ptr, ptr %sc_l_key_string
+ %t113 = call zeroext i1 @sc_streq_127274431826284(ptr %t112)
+ br i1 %t113, label %if.t47, label %if.j48
+if.t47:
+ %t114 = load ptr, ptr %sc_l_p_receiver
+ %t115 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t114, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t116 = call ptr @sc_f__x25_dyn_class_properties(ptr %t115)
+ %t117 = load i32, ptr %exc.cell
+ %t118 = icmp ne i32 %t117, 0
+ %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false)
+ br i1 %t119, label %exc.u49, label %exc.k50
+exc.u49:
+ call void @sc_rc_release_dyn(ptr %t116)
+ ret void
+exc.k50:
+ %t120 = load ptr, ptr %sc_l_p_1
+ %t121 = call ptr @sc_rc_retain_dyn(ptr %t120)
+ %t122 = load ptr, ptr %sc_l_p_receiver
+ %t123 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t122, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t116, ptr @sc_lit_127274431826284, ptr %t121, ptr %t123)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u51, label %exc.k52
+exc.u51:
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t121)
+ call void @sc_rc_release_dyn(ptr %t123)
+ ret void
+exc.k52:
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t121)
+ call void @sc_rc_release_dyn(ptr %t123)
+ ret void
+if.j48:
+ %t127 = load ptr, ptr %sc_l_key_string
+ %t128 = call zeroext i1 @sc_streq_528144782449140(ptr %t127)
+ br i1 %t128, label %if.t53, label %if.j54
+if.t53:
+ %t129 = load ptr, ptr %sc_l_p_receiver
+ %t130 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t129, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t131 = call ptr @sc_f__x25_dyn_class_properties(ptr %t130)
+ %t132 = load i32, ptr %exc.cell
+ %t133 = icmp ne i32 %t132, 0
+ %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false)
+ br i1 %t134, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t131)
+ ret void
+exc.k56:
+ %t135 = load ptr, ptr %sc_l_p_1
+ %t136 = call ptr @sc_rc_retain_dyn(ptr %t135)
+ %t137 = load ptr, ptr %sc_l_p_receiver
+ %t138 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t137, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t131, ptr @sc_lit_528144782449140, ptr %t136, ptr %t138)
+ %t139 = load i32, ptr %exc.cell
+ %t140 = icmp ne i32 %t139, 0
+ %t141 = call i1 @llvm.expect.i1(i1 %t140, i1 false)
+ br i1 %t141, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t131)
+ call void @sc_rc_release_dyn(ptr %t136)
+ call void @sc_rc_release_dyn(ptr %t138)
+ ret void
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t131)
+ call void @sc_rc_release_dyn(ptr %t136)
+ call void @sc_rc_release_dyn(ptr %t138)
+ ret void
+if.j54:
+ %t142 = load ptr, ptr %sc_l_key_string
+ %t143 = call zeroext i1 @sc_streq_1950596786618243(ptr %t142)
+ br i1 %t143, label %if.t59, label %if.j60
+if.t59:
+ %t144 = load ptr, ptr %sc_l_p_receiver
+ %t145 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t144, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t146 = call ptr @sc_f__x25_dyn_class_properties(ptr %t145)
+ %t147 = load i32, ptr %exc.cell
+ %t148 = icmp ne i32 %t147, 0
+ %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false)
+ br i1 %t149, label %exc.u61, label %exc.k62
+exc.u61:
+ call void @sc_rc_release_dyn(ptr %t146)
+ ret void
+exc.k62:
+ %t150 = load ptr, ptr %sc_l_p_1
+ %t151 = call ptr @sc_rc_retain_dyn(ptr %t150)
+ %t152 = load ptr, ptr %sc_l_p_receiver
+ %t153 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t152, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t146, ptr @sc_lit_1950596786618243, ptr %t151, ptr %t153)
+ %t154 = load i32, ptr %exc.cell
+ %t155 = icmp ne i32 %t154, 0
+ %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false)
+ br i1 %t156, label %exc.u63, label %exc.k64
+exc.u63:
+ call void @sc_rc_release_dyn(ptr %t146)
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t153)
+ ret void
+exc.k64:
+ call void @sc_rc_release_dyn(ptr %t146)
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t153)
+ ret void
+if.j60:
+ %t157 = load ptr, ptr %sc_l_key_string
+ %t158 = call zeroext i1 @sc_streq_48178627029362(ptr %t157)
+ br i1 %t158, label %if.t65, label %if.j66
+if.t65:
+ %t159 = load ptr, ptr %sc_l_p_receiver
+ %t160 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t159, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t161 = call ptr @sc_f__x25_dyn_class_properties(ptr %t160)
+ %t162 = load i32, ptr %exc.cell
+ %t163 = icmp ne i32 %t162, 0
+ %t164 = call i1 @llvm.expect.i1(i1 %t163, i1 false)
+ br i1 %t164, label %exc.u67, label %exc.k68
+exc.u67:
+ call void @sc_rc_release_dyn(ptr %t161)
+ ret void
+exc.k68:
+ %t165 = load ptr, ptr %sc_l_p_1
+ %t166 = call ptr @sc_rc_retain_dyn(ptr %t165)
+ %t167 = load ptr, ptr %sc_l_p_receiver
+ %t168 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t167, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t161, ptr @sc_lit_48178627029362, ptr %t166, ptr %t168)
+ %t169 = load i32, ptr %exc.cell
+ %t170 = icmp ne i32 %t169, 0
+ %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false)
+ br i1 %t171, label %exc.u69, label %exc.k70
+exc.u69:
+ call void @sc_rc_release_dyn(ptr %t161)
+ call void @sc_rc_release_dyn(ptr %t166)
+ call void @sc_rc_release_dyn(ptr %t168)
+ ret void
+exc.k70:
+ call void @sc_rc_release_dyn(ptr %t161)
+ call void @sc_rc_release_dyn(ptr %t166)
+ call void @sc_rc_release_dyn(ptr %t168)
+ ret void
+if.j66:
+ %t172 = load ptr, ptr %sc_l_key_string
+ %t173 = call zeroext i1 @sc_streq_2677147133778287(ptr %t172)
+ br i1 %t173, label %if.t71, label %if.j72
+if.t71:
+ %t174 = load ptr, ptr %sc_l_p_receiver
+ %t175 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t174, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t176 = call ptr @sc_f__x25_dyn_class_properties(ptr %t175)
+ %t177 = load i32, ptr %exc.cell
+ %t178 = icmp ne i32 %t177, 0
+ %t179 = call i1 @llvm.expect.i1(i1 %t178, i1 false)
+ br i1 %t179, label %exc.u73, label %exc.k74
+exc.u73:
+ call void @sc_rc_release_dyn(ptr %t176)
+ ret void
+exc.k74:
+ %t180 = load ptr, ptr %sc_l_p_1
+ %t181 = call ptr @sc_rc_retain_dyn(ptr %t180)
+ %t182 = load ptr, ptr %sc_l_p_receiver
+ %t183 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t182, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t176, ptr @sc_lit_2677147133778287, ptr %t181, ptr %t183)
+ %t184 = load i32, ptr %exc.cell
+ %t185 = icmp ne i32 %t184, 0
+ %t186 = call i1 @llvm.expect.i1(i1 %t185, i1 false)
+ br i1 %t186, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t181)
+ call void @sc_rc_release_dyn(ptr %t183)
+ ret void
+exc.k76:
+ call void @sc_rc_release_dyn(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t181)
+ call void @sc_rc_release_dyn(ptr %t183)
+ ret void
+if.j72:
+ %t187 = load ptr, ptr %sc_l_key_string
+ %t188 = call zeroext i1 @sc_streq_4044156596960274(ptr %t187)
+ br i1 %t188, label %if.t77, label %if.j78
+if.t77:
+ %t189 = load ptr, ptr %sc_l_p_receiver
+ %t190 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t189, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t191 = call ptr @sc_f__x25_dyn_class_properties(ptr %t190)
+ %t192 = load i32, ptr %exc.cell
+ %t193 = icmp ne i32 %t192, 0
+ %t194 = call i1 @llvm.expect.i1(i1 %t193, i1 false)
+ br i1 %t194, label %exc.u79, label %exc.k80
+exc.u79:
+ call void @sc_rc_release_dyn(ptr %t191)
+ ret void
+exc.k80:
+ %t195 = load ptr, ptr %sc_l_p_1
+ %t196 = call ptr @sc_rc_retain_dyn(ptr %t195)
+ %t197 = load ptr, ptr %sc_l_p_receiver
+ %t198 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t197, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t191, ptr @sc_lit_4044156596960274, ptr %t196, ptr %t198)
+ %t199 = load i32, ptr %exc.cell
+ %t200 = icmp ne i32 %t199, 0
+ %t201 = call i1 @llvm.expect.i1(i1 %t200, i1 false)
+ br i1 %t201, label %exc.u81, label %exc.k82
+exc.u81:
+ call void @sc_rc_release_dyn(ptr %t191)
+ call void @sc_rc_release_dyn(ptr %t196)
+ call void @sc_rc_release_dyn(ptr %t198)
+ ret void
+exc.k82:
+ call void @sc_rc_release_dyn(ptr %t191)
+ call void @sc_rc_release_dyn(ptr %t196)
+ call void @sc_rc_release_dyn(ptr %t198)
+ ret void
+if.j78:
+ %t202 = load ptr, ptr %sc_l_key_string
+ %t203 = call zeroext i1 @sc_streq_161925136240866(ptr %t202)
+ br i1 %t203, label %if.t83, label %if.j84
+if.t83:
+ %t204 = load ptr, ptr %sc_l_p_receiver
+ %t205 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t204, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t206 = call ptr @sc_f__x25_dyn_class_properties(ptr %t205)
+ %t207 = load i32, ptr %exc.cell
+ %t208 = icmp ne i32 %t207, 0
+ %t209 = call i1 @llvm.expect.i1(i1 %t208, i1 false)
+ br i1 %t209, label %exc.u85, label %exc.k86
+exc.u85:
+ call void @sc_rc_release_dyn(ptr %t206)
+ ret void
+exc.k86:
+ %t210 = load ptr, ptr %sc_l_p_1
+ %t211 = call ptr @sc_rc_retain_dyn(ptr %t210)
+ %t212 = load ptr, ptr %sc_l_p_receiver
+ %t213 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t212, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t206, ptr @sc_lit_161925136240866, ptr %t211, ptr %t213)
+ %t214 = load i32, ptr %exc.cell
+ %t215 = icmp ne i32 %t214, 0
+ %t216 = call i1 @llvm.expect.i1(i1 %t215, i1 false)
+ br i1 %t216, label %exc.u87, label %exc.k88
+exc.u87:
+ call void @sc_rc_release_dyn(ptr %t206)
+ call void @sc_rc_release_dyn(ptr %t211)
+ call void @sc_rc_release_dyn(ptr %t213)
+ ret void
+exc.k88:
+ call void @sc_rc_release_dyn(ptr %t206)
+ call void @sc_rc_release_dyn(ptr %t211)
+ call void @sc_rc_release_dyn(ptr %t213)
+ ret void
+if.j84:
+ %t217 = load ptr, ptr %sc_l_key_string
+ %t218 = call zeroext i1 @sc_streq_693828840439997(ptr %t217)
+ br i1 %t218, label %if.t89, label %if.j90
+if.t89:
+ %t219 = load ptr, ptr %sc_l_p_receiver
+ %t220 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t219, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t221 = call ptr @sc_f__x25_dyn_class_properties(ptr %t220)
+ %t222 = load i32, ptr %exc.cell
+ %t223 = icmp ne i32 %t222, 0
+ %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false)
+ br i1 %t224, label %exc.u91, label %exc.k92
+exc.u91:
+ call void @sc_rc_release_dyn(ptr %t221)
+ ret void
+exc.k92:
+ %t225 = load ptr, ptr %sc_l_p_1
+ %t226 = call ptr @sc_rc_retain_dyn(ptr %t225)
+ %t227 = load ptr, ptr %sc_l_p_receiver
+ %t228 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t227, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t221, ptr @sc_lit_693828840439997, ptr %t226, ptr %t228)
+ %t229 = load i32, ptr %exc.cell
+ %t230 = icmp ne i32 %t229, 0
+ %t231 = call i1 @llvm.expect.i1(i1 %t230, i1 false)
+ br i1 %t231, label %exc.u93, label %exc.k94
+exc.u93:
+ call void @sc_rc_release_dyn(ptr %t221)
+ call void @sc_rc_release_dyn(ptr %t226)
+ call void @sc_rc_release_dyn(ptr %t228)
+ ret void
+exc.k94:
+ call void @sc_rc_release_dyn(ptr %t221)
+ call void @sc_rc_release_dyn(ptr %t226)
+ call void @sc_rc_release_dyn(ptr %t228)
+ ret void
+if.j90:
+ %t232 = load ptr, ptr %sc_l_key_string
+ %t233 = call zeroext i1 @sc_streq_587707337530151(ptr %t232)
+ br i1 %t233, label %if.t95, label %if.j96
+if.t95:
+ %t234 = load ptr, ptr %sc_l_p_receiver
+ %t235 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t234, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t236 = call ptr @sc_f__x25_dyn_class_properties(ptr %t235)
+ %t237 = load i32, ptr %exc.cell
+ %t238 = icmp ne i32 %t237, 0
+ %t239 = call i1 @llvm.expect.i1(i1 %t238, i1 false)
+ br i1 %t239, label %exc.u97, label %exc.k98
+exc.u97:
+ call void @sc_rc_release_dyn(ptr %t236)
+ ret void
+exc.k98:
+ %t240 = load ptr, ptr %sc_l_p_1
+ %t241 = call ptr @sc_rc_retain_dyn(ptr %t240)
+ %t242 = load ptr, ptr %sc_l_p_receiver
+ %t243 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t242, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t236, ptr @sc_lit_587707337530151, ptr %t241, ptr %t243)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u99, label %exc.k100
+exc.u99:
+ call void @sc_rc_release_dyn(ptr %t236)
+ call void @sc_rc_release_dyn(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ ret void
+exc.k100:
+ call void @sc_rc_release_dyn(ptr %t236)
+ call void @sc_rc_release_dyn(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ ret void
+if.j96:
+ %t247 = load ptr, ptr %sc_l_key_string
+ %t248 = call zeroext i1 @sc_streq_731773075116702(ptr %t247)
+ br i1 %t248, label %if.t101, label %if.j102
+if.t101:
+ %t249 = load ptr, ptr %sc_l_p_receiver
+ %t250 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t249, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t251 = call ptr @sc_f__x25_dyn_class_properties(ptr %t250)
+ %t252 = load i32, ptr %exc.cell
+ %t253 = icmp ne i32 %t252, 0
+ %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false)
+ br i1 %t254, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t251)
+ ret void
+exc.k104:
+ %t255 = load ptr, ptr %sc_l_p_1
+ %t256 = call ptr @sc_rc_retain_dyn(ptr %t255)
+ %t257 = load ptr, ptr %sc_l_p_receiver
+ %t258 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t257, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t251, ptr @sc_lit_731773075116702, ptr %t256, ptr %t258)
+ %t259 = load i32, ptr %exc.cell
+ %t260 = icmp ne i32 %t259, 0
+ %t261 = call i1 @llvm.expect.i1(i1 %t260, i1 false)
+ br i1 %t261, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t251)
+ call void @sc_rc_release_dyn(ptr %t256)
+ call void @sc_rc_release_dyn(ptr %t258)
+ ret void
+exc.k106:
+ call void @sc_rc_release_dyn(ptr %t251)
+ call void @sc_rc_release_dyn(ptr %t256)
+ call void @sc_rc_release_dyn(ptr %t258)
+ ret void
+if.j102:
+ %t262 = load ptr, ptr %sc_l_p_0
+ %t263 = call ptr @sc_rc_retain_dyn(ptr %t262)
+ %t264 = call ptr @sc_f__x25_dyn_class_properties(ptr %t263)
+ %t265 = load i32, ptr %exc.cell
+ %t266 = icmp ne i32 %t265, 0
+ %t267 = call i1 @llvm.expect.i1(i1 %t266, i1 false)
+ br i1 %t267, label %exc.u107, label %exc.k108
+exc.u107:
+ call void @sc_rc_release_dyn(ptr %t264)
+ ret void
+exc.k108:
+ %t268 = load ptr, ptr %sc_l_key_string
+ %t269 = call ptr @sc_rc_retain_str(ptr %t268)
+ %t270 = load ptr, ptr %sc_l_p_1
+ %t271 = call ptr @sc_rc_retain_dyn(ptr %t270)
+ %t272 = load ptr, ptr %sc_l_p_receiver
+ %t273 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t272, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t264, ptr %t269, ptr %t271, ptr %t273)
+ %t274 = load i32, ptr %exc.cell
+ %t275 = icmp ne i32 %t274, 0
+ %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false)
+ br i1 %t276, label %exc.u109, label %exc.k110
+exc.u109:
+ call void @sc_rc_release_dyn(ptr %t264)
+ call void @scr_str_release(ptr %t269)
+ call void @sc_rc_release_dyn(ptr %t271)
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret void
+exc.k110:
+ call void @sc_rc_release_dyn(ptr %t264)
+ call void @scr_str_release(ptr %t269)
+ call void @sc_rc_release_dyn(ptr %t271)
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_464(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_464(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m5_CtxCore(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_465(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.465
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_3804612928743770(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_74(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rrelease_r12(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t6, i64 0, i32 3
+ %t13 = load ptr, ptr %t12
+ store ptr %t8, ptr %t12, !tbaa !190
+ call void @sc_rrelease_r12(ptr %t13)
+ ret void
+if.j3:
+ %t14 = load ptr, ptr %sc_l_key_string
+ %t15 = call zeroext i1 @sc_streq_1810373001322451(ptr %t14)
+ br i1 %t15, label %if.t6, label %if.j7
+if.t6:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = load ptr, ptr %sc_l_p_1
+ %t18 = call ptr @sc_dc_75(ptr %t17, ptr null)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_arr_release(ptr %t18)
+ ret void
+exc.k9:
+ %t22 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t16, i64 0, i32 4
+ %t23 = load ptr, ptr %t22
+ store ptr %t18, ptr %t22, !tbaa !192
+ call void @scr_arr_release(ptr %t23)
+ ret void
+if.j7:
+ %t24 = load ptr, ptr %sc_l_key_string
+ %t25 = call zeroext i1 @sc_streq_2227497482646049(ptr %t24)
+ br i1 %t25, label %if.t10, label %if.j11
+if.t10:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t28 = call ptr @sc_f__x25_dyn_class_properties(ptr %t27)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret void
+exc.k13:
+ %t32 = load ptr, ptr %sc_l_p_1
+ %t33 = call ptr @sc_rc_retain_dyn(ptr %t32)
+ %t34 = load ptr, ptr %sc_l_p_receiver
+ %t35 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t34, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t28, ptr @sc_lit_2227497482646049, ptr %t33, ptr %t35)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t35)
+ ret void
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t35)
+ ret void
+if.j11:
+ %t39 = load ptr, ptr %sc_l_key_string
+ %t40 = call zeroext i1 @sc_streq_228045523956680(ptr %t39)
+ br i1 %t40, label %if.t16, label %if.j17
+if.t16:
+ %t41 = load ptr, ptr %sc_l_p_receiver
+ %t42 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t41, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t43 = call ptr @sc_f__x25_dyn_class_properties(ptr %t42)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret void
+exc.k19:
+ %t47 = load ptr, ptr %sc_l_p_1
+ %t48 = call ptr @sc_rc_retain_dyn(ptr %t47)
+ %t49 = load ptr, ptr %sc_l_p_receiver
+ %t50 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t49, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t43, ptr @sc_lit_228045523956680, ptr %t48, ptr %t50)
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret void
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret void
+if.j17:
+ %t54 = load ptr, ptr %sc_l_key_string
+ %t55 = call zeroext i1 @sc_streq_731773075116702(ptr %t54)
+ br i1 %t55, label %if.t22, label %if.j23
+if.t22:
+ %t56 = load ptr, ptr %sc_l_p_receiver
+ %t57 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t56, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t58 = call ptr @sc_f__x25_dyn_class_properties(ptr %t57)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t58)
+ ret void
+exc.k25:
+ %t62 = load ptr, ptr %sc_l_p_1
+ %t63 = call ptr @sc_rc_retain_dyn(ptr %t62)
+ %t64 = load ptr, ptr %sc_l_p_receiver
+ %t65 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t64, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t58, ptr @sc_lit_731773075116702, ptr %t63, ptr %t65)
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t65)
+ ret void
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t65)
+ ret void
+if.j23:
+ %t69 = load ptr, ptr %sc_l_p_0
+ %t70 = call ptr @sc_rc_retain_dyn(ptr %t69)
+ %t71 = call ptr @sc_f__x25_dyn_class_properties(ptr %t70)
+ %t72 = load i32, ptr %exc.cell
+ %t73 = icmp ne i32 %t72, 0
+ %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false)
+ br i1 %t74, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t71)
+ ret void
+exc.k29:
+ %t75 = load ptr, ptr %sc_l_key_string
+ %t76 = call ptr @sc_rc_retain_str(ptr %t75)
+ %t77 = load ptr, ptr %sc_l_p_1
+ %t78 = call ptr @sc_rc_retain_dyn(ptr %t77)
+ %t79 = load ptr, ptr %sc_l_p_receiver
+ %t80 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t79, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t71, ptr %t76, ptr %t78, ptr %t80)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t71)
+ call void @scr_str_release(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t80)
+ ret void
+exc.k31:
+ call void @sc_rc_release_dyn(ptr %t71)
+ call void @scr_str_release(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t80)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_465(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_465(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m14_BakedAssets(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_466(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.466
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_4062729090063393(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = load ptr, ptr %sc_l_p_1
+ %t13 = call ptr @sc_rc_retain_dyn(ptr %t12)
+ %t14 = load ptr, ptr %sc_l_p_receiver
+ %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_4062729090063393, ptr %t13, ptr %t15)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+if.j3:
+ %t19 = load ptr, ptr %sc_l_p_0
+ %t20 = call ptr @sc_rc_retain_dyn(ptr %t19)
+ %t21 = call ptr @sc_f__x25_dyn_class_properties(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret void
+exc.k9:
+ %t25 = load ptr, ptr %sc_l_key_string
+ %t26 = call ptr @sc_rc_retain_str(ptr %t25)
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = load ptr, ptr %sc_l_p_receiver
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t21, ptr %t26, ptr %t28, ptr %t30)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @scr_str_release(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @scr_str_release(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_466(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_466(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_467(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.467
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_4062729090063393(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = load ptr, ptr %sc_l_p_1
+ %t13 = call ptr @sc_rc_retain_dyn(ptr %t12)
+ %t14 = load ptr, ptr %sc_l_p_receiver
+ %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_4062729090063393, ptr %t13, ptr %t15)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+if.j3:
+ %t19 = load ptr, ptr %sc_l_p_0
+ %t20 = call ptr @sc_rc_retain_dyn(ptr %t19)
+ %t21 = call ptr @sc_f__x25_dyn_class_properties(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret void
+exc.k9:
+ %t25 = load ptr, ptr %sc_l_key_string
+ %t26 = call ptr @sc_rc_retain_str(ptr %t25)
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = load ptr, ptr %sc_l_p_receiver
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t21, ptr %t26, ptr %t28, ptr %t30)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @scr_str_release(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @scr_str_release(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_467(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_467(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_468(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.468
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_3251470234448474(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call double @sc_dc_2(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t6, i64 0, i32 1
+ store double %t8, ptr %t12, !tbaa !14
+ ret void
+if.j3:
+ %t13 = load ptr, ptr %sc_l_key_string
+ %t14 = call zeroext i1 @sc_streq_1295387805544367(ptr %t13)
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_p_receiver
+ %t16 = load ptr, ptr %sc_l_p_1
+ %t17 = call ptr @sc_dc_50(ptr %t16, ptr null)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t17)
+ ret void
+exc.k9:
+ %t21 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t15, i64 0, i32 2
+ %t22 = load ptr, ptr %t21
+ store ptr %t17, ptr %t21, !tbaa !16
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t22)
+ ret void
+if.j7:
+ %t23 = load ptr, ptr %sc_l_key_string
+ %t24 = call zeroext i1 @sc_streq_3528980137111930(ptr %t23)
+ br i1 %t24, label %if.t10, label %if.j11
+if.t10:
+ %t25 = load ptr, ptr %sc_l_p_receiver
+ %t26 = load ptr, ptr %sc_l_p_1
+ %t27 = call double @sc_dc_2(ptr %t26, ptr null)
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u12, label %exc.k13
+exc.u12:
+ ret void
+exc.k13:
+ %t31 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t25, i64 0, i32 3
+ store double %t27, ptr %t31, !tbaa !18
+ ret void
+if.j11:
+ %t32 = load ptr, ptr %sc_l_key_string
+ %t33 = call zeroext i1 @sc_streq_4476522814667484(ptr %t32)
+ br i1 %t33, label %if.t14, label %if.j15
+if.t14:
+ %t34 = load ptr, ptr %sc_l_p_receiver
+ %t35 = load ptr, ptr %sc_l_p_1
+ %t36 = call double @sc_dc_2(ptr %t35, ptr null)
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u16, label %exc.k17
+exc.u16:
+ ret void
+exc.k17:
+ %t40 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t34, i64 0, i32 4
+ store double %t36, ptr %t40, !tbaa !20
+ ret void
+if.j15:
+ %t41 = load ptr, ptr %sc_l_key_string
+ %t42 = call zeroext i1 @sc_streq_3328648022724882(ptr %t41)
+ br i1 %t42, label %if.t18, label %if.j19
+if.t18:
+ %t43 = load ptr, ptr %sc_l_p_receiver
+ %t44 = load ptr, ptr %sc_l_p_1
+ %t45 = call double @sc_dc_2(ptr %t44, ptr null)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u20, label %exc.k21
+exc.u20:
+ ret void
+exc.k21:
+ %t49 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t43, i64 0, i32 5
+ store double %t45, ptr %t49, !tbaa !22
+ ret void
+if.j19:
+ %t50 = load ptr, ptr %sc_l_p_0
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ %t52 = call ptr @sc_f__x25_dyn_class_properties(ptr %t51)
+ %t53 = load i32, ptr %exc.cell
+ %t54 = icmp ne i32 %t53, 0
+ %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false)
+ br i1 %t55, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t52)
+ ret void
+exc.k23:
+ %t56 = load ptr, ptr %sc_l_key_string
+ %t57 = call ptr @sc_rc_retain_str(ptr %t56)
+ %t58 = load ptr, ptr %sc_l_p_1
+ %t59 = call ptr @sc_rc_retain_dyn(ptr %t58)
+ %t60 = load ptr, ptr %sc_l_p_receiver
+ %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t61, ptr @sc_ldr_32_materialize_cops)
+ call void @scr_dyn_bag_set(ptr %t52, ptr %t57, ptr %t59, ptr %t61)
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @scr_str_release(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t61)
+ ret void
+exc.k25:
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @scr_str_release(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t61)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_468(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_468(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m5_MpCfg(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_469(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.469
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_1287587581000978(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_15(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_union_release(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t6, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ store ptr %t8, ptr %t12, !tbaa !138
+ call void @scr_union_release(ptr %t13)
+ ret void
+if.j3:
+ %t14 = load ptr, ptr %sc_l_key_string
+ %t15 = call zeroext i1 @sc_streq_1774444802243527(ptr %t14)
+ br i1 %t15, label %if.t6, label %if.j7
+if.t6:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = load ptr, ptr %sc_l_p_1
+ %t18 = call ptr @sc_rc_retain_dyn(ptr %t17)
+ %t19 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t16, i64 0, i32 2
+ %t20 = load ptr, ptr %t19
+ store ptr %t18, ptr %t19, !tbaa !136
+ call void @sc_rc_release_dyn(ptr %t20)
+ ret void
+if.j7:
+ %t21 = load ptr, ptr %sc_l_key_string
+ %t22 = call zeroext i1 @sc_streq_964469684973146(ptr %t21)
+ br i1 %t22, label %if.t8, label %if.j9
+if.t8:
+ %t23 = load ptr, ptr %sc_l_p_receiver
+ %t24 = load ptr, ptr %sc_l_p_1
+ %t25 = call ptr @sc_dc_13(ptr %t24, ptr null)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rrelease_r0(ptr %t25)
+ ret void
+exc.k11:
+ %t29 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t23, i64 0, i32 3
+ %t30 = load ptr, ptr %t29
+ store ptr %t25, ptr %t29, !tbaa !140
+ call void @sc_rrelease_r0(ptr %t30)
+ ret void
+if.j9:
+ %t31 = load ptr, ptr %sc_l_key_string
+ %t32 = call zeroext i1 @sc_streq_1867568051177534(ptr %t31)
+ br i1 %t32, label %if.t12, label %if.j13
+if.t12:
+ %t33 = load ptr, ptr %sc_l_p_receiver
+ %t34 = load ptr, ptr %sc_l_p_1
+ %t35 = call ptr @sc_dc_17(ptr %t34, ptr null)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rrelease_r3(ptr %t35)
+ ret void
+exc.k15:
+ %t39 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t33, i64 0, i32 4
+ %t40 = load ptr, ptr %t39
+ store ptr %t35, ptr %t39, !tbaa !142
+ call void @sc_rrelease_r3(ptr %t40)
+ ret void
+if.j13:
+ %t41 = load ptr, ptr %sc_l_key_string
+ %t42 = call zeroext i1 @sc_streq_1609576561362083(ptr %t41)
+ br i1 %t42, label %if.t16, label %if.j17
+if.t16:
+ %t43 = load ptr, ptr %sc_l_p_receiver
+ %t44 = load ptr, ptr %sc_l_p_1
+ %t45 = call ptr @sc_dc_0(ptr %t44, ptr null)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @scr_str_release(ptr %t45)
+ ret void
+exc.k19:
+ %t49 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t43, i64 0, i32 5
+ %t50 = load ptr, ptr %t49
+ store ptr %t45, ptr %t49, !tbaa !76
+ call void @scr_str_release(ptr %t50)
+ ret void
+if.j17:
+ %t51 = load ptr, ptr %sc_l_key_string
+ %t52 = call zeroext i1 @sc_streq_719487464480143(ptr %t51)
+ br i1 %t52, label %if.t20, label %if.j21
+if.t20:
+ %t53 = load ptr, ptr %sc_l_p_receiver
+ %t54 = load ptr, ptr %sc_l_p_1
+ %t55 = call ptr @sc_dc_0(ptr %t54, ptr null)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_str_release(ptr %t55)
+ ret void
+exc.k23:
+ %t59 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t53, i64 0, i32 6
+ %t60 = load ptr, ptr %t59
+ store ptr %t55, ptr %t59, !tbaa !78
+ call void @scr_str_release(ptr %t60)
+ ret void
+if.j21:
+ %t61 = load ptr, ptr %sc_l_key_string
+ %t62 = call zeroext i1 @sc_streq_2826818497658723(ptr %t61)
+ br i1 %t62, label %if.t24, label %if.j25
+if.t24:
+ %t63 = load ptr, ptr %sc_l_p_receiver
+ %t64 = load ptr, ptr %sc_l_p_1
+ %t65 = call ptr @sc_dc_0(ptr %t64, ptr null)
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_str_release(ptr %t65)
+ ret void
+exc.k27:
+ %t69 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t63, i64 0, i32 7
+ %t70 = load ptr, ptr %t69
+ store ptr %t65, ptr %t69, !tbaa !96
+ call void @scr_str_release(ptr %t70)
+ ret void
+if.j25:
+ %t71 = load ptr, ptr %sc_l_key_string
+ %t72 = call zeroext i1 @sc_streq_2528619671045714(ptr %t71)
+ br i1 %t72, label %if.t28, label %if.j29
+if.t28:
+ %t73 = load ptr, ptr %sc_l_p_receiver
+ %t74 = load ptr, ptr %sc_l_p_1
+ %t75 = call ptr @sc_dc_0(ptr %t74, ptr null)
+ %t76 = load i32, ptr %exc.cell
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false)
+ br i1 %t78, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @scr_str_release(ptr %t75)
+ ret void
+exc.k31:
+ %t79 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t73, i64 0, i32 8
+ %t80 = load ptr, ptr %t79
+ store ptr %t75, ptr %t79, !tbaa !144
+ call void @scr_str_release(ptr %t80)
+ ret void
+if.j29:
+ %t81 = load ptr, ptr %sc_l_key_string
+ %t82 = call zeroext i1 @sc_streq_4247546884021115(ptr %t81)
+ br i1 %t82, label %if.t32, label %if.j33
+if.t32:
+ %t83 = load ptr, ptr %sc_l_p_receiver
+ %t84 = load ptr, ptr %sc_l_p_1
+ %t85 = call ptr @sc_dc_18(ptr %t84, ptr null)
+ %t86 = load i32, ptr %exc.cell
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @scr_arr_release(ptr %t85)
+ ret void
+exc.k35:
+ %t89 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t83, i64 0, i32 9
+ %t90 = load ptr, ptr %t89
+ store ptr %t85, ptr %t89, !tbaa !146
+ call void @scr_arr_release(ptr %t90)
+ ret void
+if.j33:
+ %t91 = load ptr, ptr %sc_l_key_string
+ %t92 = call zeroext i1 @sc_streq_3282989543243776(ptr %t91)
+ br i1 %t92, label %if.t36, label %if.j37
+if.t36:
+ %t93 = load ptr, ptr %sc_l_p_receiver
+ %t94 = load ptr, ptr %sc_l_p_1
+ %t95 = call ptr @sc_dc_18(ptr %t94, ptr null)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @scr_arr_release(ptr %t95)
+ ret void
+exc.k39:
+ %t99 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t93, i64 0, i32 10
+ %t100 = load ptr, ptr %t99
+ store ptr %t95, ptr %t99, !tbaa !148
+ call void @scr_arr_release(ptr %t100)
+ ret void
+if.j37:
+ %t101 = load ptr, ptr %sc_l_key_string
+ %t102 = call zeroext i1 @sc_streq_886324725696546(ptr %t101)
+ br i1 %t102, label %if.t40, label %if.j41
+if.t40:
+ %t103 = load ptr, ptr %sc_l_p_receiver
+ %t104 = load ptr, ptr %sc_l_p_1
+ %t105 = call ptr @sc_dc_1(ptr %t104, ptr null)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @scr_arr_release(ptr %t105)
+ ret void
+exc.k43:
+ %t109 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t103, i64 0, i32 11
+ %t110 = load ptr, ptr %t109
+ store ptr %t105, ptr %t109, !tbaa !150
+ call void @scr_arr_release(ptr %t110)
+ ret void
+if.j41:
+ %t111 = load ptr, ptr %sc_l_key_string
+ %t112 = call zeroext i1 @sc_streq_535630044833136(ptr %t111)
+ br i1 %t112, label %if.t44, label %if.j45
+if.t44:
+ %t113 = load ptr, ptr %sc_l_p_receiver
+ %t114 = load ptr, ptr %sc_l_p_1
+ %t115 = call ptr @sc_dc_19(ptr %t114, ptr null)
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @scr_arr_release(ptr %t115)
+ ret void
+exc.k47:
+ %t119 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t113, i64 0, i32 12
+ %t120 = load ptr, ptr %t119
+ store ptr %t115, ptr %t119, !tbaa !152
+ call void @scr_arr_release(ptr %t120)
+ ret void
+if.j45:
+ %t121 = load ptr, ptr %sc_l_key_string
+ %t122 = call zeroext i1 @sc_streq_4400741686745380(ptr %t121)
+ br i1 %t122, label %if.t48, label %if.j49
+if.t48:
+ %t123 = load ptr, ptr %sc_l_p_receiver
+ %t124 = load ptr, ptr %sc_l_p_1
+ %t125 = call double @sc_dc_2(ptr %t124, ptr null)
+ %t126 = load i32, ptr %exc.cell
+ %t127 = icmp ne i32 %t126, 0
+ %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false)
+ br i1 %t128, label %exc.u50, label %exc.k51
+exc.u50:
+ ret void
+exc.k51:
+ %t129 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t123, i64 0, i32 13
+ store double %t125, ptr %t129, !tbaa !154
+ ret void
+if.j49:
+ %t130 = load ptr, ptr %sc_l_key_string
+ %t131 = call zeroext i1 @sc_streq_4347805238344460(ptr %t130)
+ br i1 %t131, label %if.t52, label %if.j53
+if.t52:
+ %t132 = load ptr, ptr %sc_l_p_receiver
+ %t133 = load ptr, ptr %sc_l_p_1
+ %t134 = call ptr @sc_dc_0(ptr %t133, ptr null)
+ %t135 = load i32, ptr %exc.cell
+ %t136 = icmp ne i32 %t135, 0
+ %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false)
+ br i1 %t137, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @scr_str_release(ptr %t134)
+ ret void
+exc.k55:
+ %t138 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t132, i64 0, i32 14
+ %t139 = load ptr, ptr %t138
+ store ptr %t134, ptr %t138, !tbaa !156
+ call void @scr_str_release(ptr %t139)
+ ret void
+if.j53:
+ %t140 = load ptr, ptr %sc_l_key_string
+ %t141 = call zeroext i1 @sc_streq_3191748704064557(ptr %t140)
+ br i1 %t141, label %if.t56, label %if.j57
+if.t56:
+ %t142 = load ptr, ptr %sc_l_p_receiver
+ %t143 = load ptr, ptr %sc_l_p_1
+ %t144 = call ptr @sc_dc_20(ptr %t143, ptr null)
+ %t145 = load i32, ptr %exc.cell
+ %t146 = icmp ne i32 %t145, 0
+ %t147 = call i1 @llvm.expect.i1(i1 %t146, i1 false)
+ br i1 %t147, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @scr_arr_release(ptr %t144)
+ ret void
+exc.k59:
+ %t148 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t142, i64 0, i32 15
+ %t149 = load ptr, ptr %t148
+ store ptr %t144, ptr %t148, !tbaa !158
+ call void @scr_arr_release(ptr %t149)
+ ret void
+if.j57:
+ %t150 = load ptr, ptr %sc_l_key_string
+ %t151 = call zeroext i1 @sc_streq_232607068610214(ptr %t150)
+ br i1 %t151, label %if.t60, label %if.j61
+if.t60:
+ %t152 = load ptr, ptr %sc_l_p_receiver
+ %t153 = load ptr, ptr %sc_l_p_1
+ %t154 = call ptr @sc_dc_1(ptr %t153, ptr null)
+ %t155 = load i32, ptr %exc.cell
+ %t156 = icmp ne i32 %t155, 0
+ %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false)
+ br i1 %t157, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @scr_arr_release(ptr %t154)
+ ret void
+exc.k63:
+ %t158 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t152, i64 0, i32 16
+ %t159 = load ptr, ptr %t158
+ store ptr %t154, ptr %t158, !tbaa !160
+ call void @scr_arr_release(ptr %t159)
+ ret void
+if.j61:
+ %t160 = load ptr, ptr %sc_l_key_string
+ %t161 = call zeroext i1 @sc_streq_3786966061696883(ptr %t160)
+ br i1 %t161, label %if.t64, label %if.j65
+if.t64:
+ %t162 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2655222345707125)
+ call void @scr_throw_obj(ptr %t162, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret void
+if.j65:
+ %t163 = load ptr, ptr %sc_l_key_string
+ %t164 = call zeroext i1 @sc_streq_308138762104264(ptr %t163)
+ br i1 %t164, label %if.t66, label %if.j67
+if.t66:
+ %t165 = load ptr, ptr %sc_l_p_receiver
+ %t166 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t165, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t167 = call ptr @sc_f__x25_dyn_class_properties(ptr %t166)
+ %t168 = load i32, ptr %exc.cell
+ %t169 = icmp ne i32 %t168, 0
+ %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false)
+ br i1 %t170, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t167)
+ ret void
+exc.k69:
+ %t171 = load ptr, ptr %sc_l_p_1
+ %t172 = call ptr @sc_rc_retain_dyn(ptr %t171)
+ %t173 = load ptr, ptr %sc_l_p_receiver
+ %t174 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t173, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t167, ptr @sc_lit_308138762104264, ptr %t172, ptr %t174)
+ %t175 = load i32, ptr %exc.cell
+ %t176 = icmp ne i32 %t175, 0
+ %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false)
+ br i1 %t177, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t167)
+ call void @sc_rc_release_dyn(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t174)
+ ret void
+exc.k71:
+ call void @sc_rc_release_dyn(ptr %t167)
+ call void @sc_rc_release_dyn(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t174)
+ ret void
+if.j67:
+ %t178 = load ptr, ptr %sc_l_key_string
+ %t179 = call zeroext i1 @sc_streq_2356143898347316(ptr %t178)
+ br i1 %t179, label %if.t72, label %if.j73
+if.t72:
+ %t180 = load ptr, ptr %sc_l_p_receiver
+ %t181 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t180, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t182 = call ptr @sc_f__x25_dyn_class_properties(ptr %t181)
+ %t183 = load i32, ptr %exc.cell
+ %t184 = icmp ne i32 %t183, 0
+ %t185 = call i1 @llvm.expect.i1(i1 %t184, i1 false)
+ br i1 %t185, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret void
+exc.k75:
+ %t186 = load ptr, ptr %sc_l_p_1
+ %t187 = call ptr @sc_rc_retain_dyn(ptr %t186)
+ %t188 = load ptr, ptr %sc_l_p_receiver
+ %t189 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t188, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t182, ptr @sc_lit_2356143898347316, ptr %t187, ptr %t189)
+ %t190 = load i32, ptr %exc.cell
+ %t191 = icmp ne i32 %t190, 0
+ %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false)
+ br i1 %t192, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t182)
+ call void @sc_rc_release_dyn(ptr %t187)
+ call void @sc_rc_release_dyn(ptr %t189)
+ ret void
+exc.k77:
+ call void @sc_rc_release_dyn(ptr %t182)
+ call void @sc_rc_release_dyn(ptr %t187)
+ call void @sc_rc_release_dyn(ptr %t189)
+ ret void
+if.j73:
+ %t193 = load ptr, ptr %sc_l_key_string
+ %t194 = call zeroext i1 @sc_streq_3600534565598564(ptr %t193)
+ br i1 %t194, label %if.t78, label %if.j79
+if.t78:
+ %t195 = load ptr, ptr %sc_l_p_receiver
+ %t196 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t195, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t197 = call ptr @sc_f__x25_dyn_class_properties(ptr %t196)
+ %t198 = load i32, ptr %exc.cell
+ %t199 = icmp ne i32 %t198, 0
+ %t200 = call i1 @llvm.expect.i1(i1 %t199, i1 false)
+ br i1 %t200, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @sc_rc_release_dyn(ptr %t197)
+ ret void
+exc.k81:
+ %t201 = load ptr, ptr %sc_l_p_1
+ %t202 = call ptr @sc_rc_retain_dyn(ptr %t201)
+ %t203 = load ptr, ptr %sc_l_p_receiver
+ %t204 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t203, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t197, ptr @sc_lit_3600534565598564, ptr %t202, ptr %t204)
+ %t205 = load i32, ptr %exc.cell
+ %t206 = icmp ne i32 %t205, 0
+ %t207 = call i1 @llvm.expect.i1(i1 %t206, i1 false)
+ br i1 %t207, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t197)
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @sc_rc_release_dyn(ptr %t204)
+ ret void
+exc.k83:
+ call void @sc_rc_release_dyn(ptr %t197)
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @sc_rc_release_dyn(ptr %t204)
+ ret void
+if.j79:
+ %t208 = load ptr, ptr %sc_l_key_string
+ %t209 = call zeroext i1 @sc_streq_1621825757343351(ptr %t208)
+ br i1 %t209, label %if.t84, label %if.j85
+if.t84:
+ %t210 = load ptr, ptr %sc_l_p_receiver
+ %t211 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t210, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t212 = call ptr @sc_f__x25_dyn_class_properties(ptr %t211)
+ %t213 = load i32, ptr %exc.cell
+ %t214 = icmp ne i32 %t213, 0
+ %t215 = call i1 @llvm.expect.i1(i1 %t214, i1 false)
+ br i1 %t215, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t212)
+ ret void
+exc.k87:
+ %t216 = load ptr, ptr %sc_l_p_1
+ %t217 = call ptr @sc_rc_retain_dyn(ptr %t216)
+ %t218 = load ptr, ptr %sc_l_p_receiver
+ %t219 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t218, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t212, ptr @sc_lit_1621825757343351, ptr %t217, ptr %t219)
+ %t220 = load i32, ptr %exc.cell
+ %t221 = icmp ne i32 %t220, 0
+ %t222 = call i1 @llvm.expect.i1(i1 %t221, i1 false)
+ br i1 %t222, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t212)
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_rc_release_dyn(ptr %t219)
+ ret void
+exc.k89:
+ call void @sc_rc_release_dyn(ptr %t212)
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_rc_release_dyn(ptr %t219)
+ ret void
+if.j85:
+ %t223 = load ptr, ptr %sc_l_key_string
+ %t224 = call zeroext i1 @sc_streq_2827456990858395(ptr %t223)
+ br i1 %t224, label %if.t90, label %if.j91
+if.t90:
+ %t225 = load ptr, ptr %sc_l_p_receiver
+ %t226 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t225, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t227 = call ptr @sc_f__x25_dyn_class_properties(ptr %t226)
+ %t228 = load i32, ptr %exc.cell
+ %t229 = icmp ne i32 %t228, 0
+ %t230 = call i1 @llvm.expect.i1(i1 %t229, i1 false)
+ br i1 %t230, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t227)
+ ret void
+exc.k93:
+ %t231 = load ptr, ptr %sc_l_p_1
+ %t232 = call ptr @sc_rc_retain_dyn(ptr %t231)
+ %t233 = load ptr, ptr %sc_l_p_receiver
+ %t234 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t233, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t227, ptr @sc_lit_2827456990858395, ptr %t232, ptr %t234)
+ %t235 = load i32, ptr %exc.cell
+ %t236 = icmp ne i32 %t235, 0
+ %t237 = call i1 @llvm.expect.i1(i1 %t236, i1 false)
+ br i1 %t237, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t227)
+ call void @sc_rc_release_dyn(ptr %t232)
+ call void @sc_rc_release_dyn(ptr %t234)
+ ret void
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t227)
+ call void @sc_rc_release_dyn(ptr %t232)
+ call void @sc_rc_release_dyn(ptr %t234)
+ ret void
+if.j91:
+ %t238 = load ptr, ptr %sc_l_key_string
+ %t239 = call zeroext i1 @sc_streq_2968093406050353(ptr %t238)
+ br i1 %t239, label %if.t96, label %if.j97
+if.t96:
+ %t240 = load ptr, ptr %sc_l_p_receiver
+ %t241 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t240, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t242 = call ptr @sc_f__x25_dyn_class_properties(ptr %t241)
+ %t243 = load i32, ptr %exc.cell
+ %t244 = icmp ne i32 %t243, 0
+ %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false)
+ br i1 %t245, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @sc_rc_release_dyn(ptr %t242)
+ ret void
+exc.k99:
+ %t246 = load ptr, ptr %sc_l_p_1
+ %t247 = call ptr @sc_rc_retain_dyn(ptr %t246)
+ %t248 = load ptr, ptr %sc_l_p_receiver
+ %t249 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t248, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t242, ptr @sc_lit_2968093406050353, ptr %t247, ptr %t249)
+ %t250 = load i32, ptr %exc.cell
+ %t251 = icmp ne i32 %t250, 0
+ %t252 = call i1 @llvm.expect.i1(i1 %t251, i1 false)
+ br i1 %t252, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t242)
+ call void @sc_rc_release_dyn(ptr %t247)
+ call void @sc_rc_release_dyn(ptr %t249)
+ ret void
+exc.k101:
+ call void @sc_rc_release_dyn(ptr %t242)
+ call void @sc_rc_release_dyn(ptr %t247)
+ call void @sc_rc_release_dyn(ptr %t249)
+ ret void
+if.j97:
+ %t253 = load ptr, ptr %sc_l_key_string
+ %t254 = call zeroext i1 @sc_streq_3529749794644284(ptr %t253)
+ br i1 %t254, label %if.t102, label %if.j103
+if.t102:
+ %t255 = load ptr, ptr %sc_l_p_receiver
+ %t256 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t255, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t257 = call ptr @sc_f__x25_dyn_class_properties(ptr %t256)
+ %t258 = load i32, ptr %exc.cell
+ %t259 = icmp ne i32 %t258, 0
+ %t260 = call i1 @llvm.expect.i1(i1 %t259, i1 false)
+ br i1 %t260, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t257)
+ ret void
+exc.k105:
+ %t261 = load ptr, ptr %sc_l_p_1
+ %t262 = call ptr @sc_rc_retain_dyn(ptr %t261)
+ %t263 = load ptr, ptr %sc_l_p_receiver
+ %t264 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t263, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t257, ptr @sc_lit_3529749794644284, ptr %t262, ptr %t264)
+ %t265 = load i32, ptr %exc.cell
+ %t266 = icmp ne i32 %t265, 0
+ %t267 = call i1 @llvm.expect.i1(i1 %t266, i1 false)
+ br i1 %t267, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t257)
+ call void @sc_rc_release_dyn(ptr %t262)
+ call void @sc_rc_release_dyn(ptr %t264)
+ ret void
+exc.k107:
+ call void @sc_rc_release_dyn(ptr %t257)
+ call void @sc_rc_release_dyn(ptr %t262)
+ call void @sc_rc_release_dyn(ptr %t264)
+ ret void
+if.j103:
+ %t268 = load ptr, ptr %sc_l_key_string
+ %t269 = call zeroext i1 @sc_streq_124879919648070(ptr %t268)
+ br i1 %t269, label %if.t108, label %if.j109
+if.t108:
+ %t270 = load ptr, ptr %sc_l_p_receiver
+ %t271 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t270, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t272 = call ptr @sc_f__x25_dyn_class_properties(ptr %t271)
+ %t273 = load i32, ptr %exc.cell
+ %t274 = icmp ne i32 %t273, 0
+ %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false)
+ br i1 %t275, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @sc_rc_release_dyn(ptr %t272)
+ ret void
+exc.k111:
+ %t276 = load ptr, ptr %sc_l_p_1
+ %t277 = call ptr @sc_rc_retain_dyn(ptr %t276)
+ %t278 = load ptr, ptr %sc_l_p_receiver
+ %t279 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t278, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t272, ptr @sc_lit_124879919648070, ptr %t277, ptr %t279)
+ %t280 = load i32, ptr %exc.cell
+ %t281 = icmp ne i32 %t280, 0
+ %t282 = call i1 @llvm.expect.i1(i1 %t281, i1 false)
+ br i1 %t282, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t272)
+ call void @sc_rc_release_dyn(ptr %t277)
+ call void @sc_rc_release_dyn(ptr %t279)
+ ret void
+exc.k113:
+ call void @sc_rc_release_dyn(ptr %t272)
+ call void @sc_rc_release_dyn(ptr %t277)
+ call void @sc_rc_release_dyn(ptr %t279)
+ ret void
+if.j109:
+ %t283 = load ptr, ptr %sc_l_key_string
+ %t284 = call zeroext i1 @sc_streq_528144782449140(ptr %t283)
+ br i1 %t284, label %if.t114, label %if.j115
+if.t114:
+ %t285 = load ptr, ptr %sc_l_p_receiver
+ %t286 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t285, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t287 = call ptr @sc_f__x25_dyn_class_properties(ptr %t286)
+ %t288 = load i32, ptr %exc.cell
+ %t289 = icmp ne i32 %t288, 0
+ %t290 = call i1 @llvm.expect.i1(i1 %t289, i1 false)
+ br i1 %t290, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t287)
+ ret void
+exc.k117:
+ %t291 = load ptr, ptr %sc_l_p_1
+ %t292 = call ptr @sc_rc_retain_dyn(ptr %t291)
+ %t293 = load ptr, ptr %sc_l_p_receiver
+ %t294 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t293, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t287, ptr @sc_lit_528144782449140, ptr %t292, ptr %t294)
+ %t295 = load i32, ptr %exc.cell
+ %t296 = icmp ne i32 %t295, 0
+ %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false)
+ br i1 %t297, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t287)
+ call void @sc_rc_release_dyn(ptr %t292)
+ call void @sc_rc_release_dyn(ptr %t294)
+ ret void
+exc.k119:
+ call void @sc_rc_release_dyn(ptr %t287)
+ call void @sc_rc_release_dyn(ptr %t292)
+ call void @sc_rc_release_dyn(ptr %t294)
+ ret void
+if.j115:
+ %t298 = load ptr, ptr %sc_l_key_string
+ %t299 = call zeroext i1 @sc_streq_616655122974952(ptr %t298)
+ br i1 %t299, label %if.t120, label %if.j121
+if.t120:
+ %t300 = load ptr, ptr %sc_l_p_receiver
+ %t301 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t300, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t302 = call ptr @sc_f__x25_dyn_class_properties(ptr %t301)
+ %t303 = load i32, ptr %exc.cell
+ %t304 = icmp ne i32 %t303, 0
+ %t305 = call i1 @llvm.expect.i1(i1 %t304, i1 false)
+ br i1 %t305, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @sc_rc_release_dyn(ptr %t302)
+ ret void
+exc.k123:
+ %t306 = load ptr, ptr %sc_l_p_1
+ %t307 = call ptr @sc_rc_retain_dyn(ptr %t306)
+ %t308 = load ptr, ptr %sc_l_p_receiver
+ %t309 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t308, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t302, ptr @sc_lit_616655122974952, ptr %t307, ptr %t309)
+ %t310 = load i32, ptr %exc.cell
+ %t311 = icmp ne i32 %t310, 0
+ %t312 = call i1 @llvm.expect.i1(i1 %t311, i1 false)
+ br i1 %t312, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t307)
+ call void @sc_rc_release_dyn(ptr %t309)
+ ret void
+exc.k125:
+ call void @sc_rc_release_dyn(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t307)
+ call void @sc_rc_release_dyn(ptr %t309)
+ ret void
+if.j121:
+ %t313 = load ptr, ptr %sc_l_key_string
+ %t314 = call zeroext i1 @sc_streq_40786511283622(ptr %t313)
+ br i1 %t314, label %if.t126, label %if.j127
+if.t126:
+ %t315 = load ptr, ptr %sc_l_p_receiver
+ %t316 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t315, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t317 = call ptr @sc_f__x25_dyn_class_properties(ptr %t316)
+ %t318 = load i32, ptr %exc.cell
+ %t319 = icmp ne i32 %t318, 0
+ %t320 = call i1 @llvm.expect.i1(i1 %t319, i1 false)
+ br i1 %t320, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @sc_rc_release_dyn(ptr %t317)
+ ret void
+exc.k129:
+ %t321 = load ptr, ptr %sc_l_p_1
+ %t322 = call ptr @sc_rc_retain_dyn(ptr %t321)
+ %t323 = load ptr, ptr %sc_l_p_receiver
+ %t324 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t323, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t317, ptr @sc_lit_40786511283622, ptr %t322, ptr %t324)
+ %t325 = load i32, ptr %exc.cell
+ %t326 = icmp ne i32 %t325, 0
+ %t327 = call i1 @llvm.expect.i1(i1 %t326, i1 false)
+ br i1 %t327, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t317)
+ call void @sc_rc_release_dyn(ptr %t322)
+ call void @sc_rc_release_dyn(ptr %t324)
+ ret void
+exc.k131:
+ call void @sc_rc_release_dyn(ptr %t317)
+ call void @sc_rc_release_dyn(ptr %t322)
+ call void @sc_rc_release_dyn(ptr %t324)
+ ret void
+if.j127:
+ %t328 = load ptr, ptr %sc_l_key_string
+ %t329 = call zeroext i1 @sc_streq_1048673592241930(ptr %t328)
+ br i1 %t329, label %if.t132, label %if.j133
+if.t132:
+ %t330 = load ptr, ptr %sc_l_p_receiver
+ %t331 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t330, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t332 = call ptr @sc_f__x25_dyn_class_properties(ptr %t331)
+ %t333 = load i32, ptr %exc.cell
+ %t334 = icmp ne i32 %t333, 0
+ %t335 = call i1 @llvm.expect.i1(i1 %t334, i1 false)
+ br i1 %t335, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t332)
+ ret void
+exc.k135:
+ %t336 = load ptr, ptr %sc_l_p_1
+ %t337 = call ptr @sc_rc_retain_dyn(ptr %t336)
+ %t338 = load ptr, ptr %sc_l_p_receiver
+ %t339 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t338, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t332, ptr @sc_lit_1048673592241930, ptr %t337, ptr %t339)
+ %t340 = load i32, ptr %exc.cell
+ %t341 = icmp ne i32 %t340, 0
+ %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false)
+ br i1 %t342, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t332)
+ call void @sc_rc_release_dyn(ptr %t337)
+ call void @sc_rc_release_dyn(ptr %t339)
+ ret void
+exc.k137:
+ call void @sc_rc_release_dyn(ptr %t332)
+ call void @sc_rc_release_dyn(ptr %t337)
+ call void @sc_rc_release_dyn(ptr %t339)
+ ret void
+if.j133:
+ %t343 = load ptr, ptr %sc_l_key_string
+ %t344 = call zeroext i1 @sc_streq_1081761464356753(ptr %t343)
+ br i1 %t344, label %if.t138, label %if.j139
+if.t138:
+ %t345 = load ptr, ptr %sc_l_p_receiver
+ %t346 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t345, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t347 = call ptr @sc_f__x25_dyn_class_properties(ptr %t346)
+ %t348 = load i32, ptr %exc.cell
+ %t349 = icmp ne i32 %t348, 0
+ %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false)
+ br i1 %t350, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t347)
+ ret void
+exc.k141:
+ %t351 = load ptr, ptr %sc_l_p_1
+ %t352 = call ptr @sc_rc_retain_dyn(ptr %t351)
+ %t353 = load ptr, ptr %sc_l_p_receiver
+ %t354 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t353, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t347, ptr @sc_lit_1081761464356753, ptr %t352, ptr %t354)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t347)
+ call void @sc_rc_release_dyn(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t354)
+ ret void
+exc.k143:
+ call void @sc_rc_release_dyn(ptr %t347)
+ call void @sc_rc_release_dyn(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t354)
+ ret void
+if.j139:
+ %t358 = load ptr, ptr %sc_l_key_string
+ %t359 = call zeroext i1 @sc_streq_3392166625234189(ptr %t358)
+ br i1 %t359, label %if.t144, label %if.j145
+if.t144:
+ %t360 = load ptr, ptr %sc_l_p_receiver
+ %t361 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t360, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t362 = call ptr @sc_f__x25_dyn_class_properties(ptr %t361)
+ %t363 = load i32, ptr %exc.cell
+ %t364 = icmp ne i32 %t363, 0
+ %t365 = call i1 @llvm.expect.i1(i1 %t364, i1 false)
+ br i1 %t365, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @sc_rc_release_dyn(ptr %t362)
+ ret void
+exc.k147:
+ %t366 = load ptr, ptr %sc_l_p_1
+ %t367 = call ptr @sc_rc_retain_dyn(ptr %t366)
+ %t368 = load ptr, ptr %sc_l_p_receiver
+ %t369 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t368, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t362, ptr @sc_lit_3392166625234189, ptr %t367, ptr %t369)
+ %t370 = load i32, ptr %exc.cell
+ %t371 = icmp ne i32 %t370, 0
+ %t372 = call i1 @llvm.expect.i1(i1 %t371, i1 false)
+ br i1 %t372, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @sc_rc_release_dyn(ptr %t362)
+ call void @sc_rc_release_dyn(ptr %t367)
+ call void @sc_rc_release_dyn(ptr %t369)
+ ret void
+exc.k149:
+ call void @sc_rc_release_dyn(ptr %t362)
+ call void @sc_rc_release_dyn(ptr %t367)
+ call void @sc_rc_release_dyn(ptr %t369)
+ ret void
+if.j145:
+ %t373 = load ptr, ptr %sc_l_key_string
+ %t374 = call zeroext i1 @sc_streq_3375901898269401(ptr %t373)
+ br i1 %t374, label %if.t150, label %if.j151
+if.t150:
+ %t375 = load ptr, ptr %sc_l_p_receiver
+ %t376 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t375, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t377 = call ptr @sc_f__x25_dyn_class_properties(ptr %t376)
+ %t378 = load i32, ptr %exc.cell
+ %t379 = icmp ne i32 %t378, 0
+ %t380 = call i1 @llvm.expect.i1(i1 %t379, i1 false)
+ br i1 %t380, label %exc.u152, label %exc.k153
+exc.u152:
+ call void @sc_rc_release_dyn(ptr %t377)
+ ret void
+exc.k153:
+ %t381 = load ptr, ptr %sc_l_p_1
+ %t382 = call ptr @sc_rc_retain_dyn(ptr %t381)
+ %t383 = load ptr, ptr %sc_l_p_receiver
+ %t384 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t383, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t377, ptr @sc_lit_3375901898269401, ptr %t382, ptr %t384)
+ %t385 = load i32, ptr %exc.cell
+ %t386 = icmp ne i32 %t385, 0
+ %t387 = call i1 @llvm.expect.i1(i1 %t386, i1 false)
+ br i1 %t387, label %exc.u154, label %exc.k155
+exc.u154:
+ call void @sc_rc_release_dyn(ptr %t377)
+ call void @sc_rc_release_dyn(ptr %t382)
+ call void @sc_rc_release_dyn(ptr %t384)
+ ret void
+exc.k155:
+ call void @sc_rc_release_dyn(ptr %t377)
+ call void @sc_rc_release_dyn(ptr %t382)
+ call void @sc_rc_release_dyn(ptr %t384)
+ ret void
+if.j151:
+ %t388 = load ptr, ptr %sc_l_key_string
+ %t389 = call zeroext i1 @sc_streq_3532714511332900(ptr %t388)
+ br i1 %t389, label %if.t156, label %if.j157
+if.t156:
+ %t390 = load ptr, ptr %sc_l_p_receiver
+ %t391 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t390, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t392 = call ptr @sc_f__x25_dyn_class_properties(ptr %t391)
+ %t393 = load i32, ptr %exc.cell
+ %t394 = icmp ne i32 %t393, 0
+ %t395 = call i1 @llvm.expect.i1(i1 %t394, i1 false)
+ br i1 %t395, label %exc.u158, label %exc.k159
+exc.u158:
+ call void @sc_rc_release_dyn(ptr %t392)
+ ret void
+exc.k159:
+ %t396 = load ptr, ptr %sc_l_p_1
+ %t397 = call ptr @sc_rc_retain_dyn(ptr %t396)
+ %t398 = load ptr, ptr %sc_l_p_receiver
+ %t399 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t398, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t392, ptr @sc_lit_3532714511332900, ptr %t397, ptr %t399)
+ %t400 = load i32, ptr %exc.cell
+ %t401 = icmp ne i32 %t400, 0
+ %t402 = call i1 @llvm.expect.i1(i1 %t401, i1 false)
+ br i1 %t402, label %exc.u160, label %exc.k161
+exc.u160:
+ call void @sc_rc_release_dyn(ptr %t392)
+ call void @sc_rc_release_dyn(ptr %t397)
+ call void @sc_rc_release_dyn(ptr %t399)
+ ret void
+exc.k161:
+ call void @sc_rc_release_dyn(ptr %t392)
+ call void @sc_rc_release_dyn(ptr %t397)
+ call void @sc_rc_release_dyn(ptr %t399)
+ ret void
+if.j157:
+ %t403 = load ptr, ptr %sc_l_key_string
+ %t404 = call zeroext i1 @sc_streq_3624217920823549(ptr %t403)
+ br i1 %t404, label %if.t162, label %if.j163
+if.t162:
+ %t405 = load ptr, ptr %sc_l_p_receiver
+ %t406 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t405, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t407 = call ptr @sc_f__x25_dyn_class_properties(ptr %t406)
+ %t408 = load i32, ptr %exc.cell
+ %t409 = icmp ne i32 %t408, 0
+ %t410 = call i1 @llvm.expect.i1(i1 %t409, i1 false)
+ br i1 %t410, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t407)
+ ret void
+exc.k165:
+ %t411 = load ptr, ptr %sc_l_p_1
+ %t412 = call ptr @sc_rc_retain_dyn(ptr %t411)
+ %t413 = load ptr, ptr %sc_l_p_receiver
+ %t414 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t413, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t407, ptr @sc_lit_3624217920823549, ptr %t412, ptr %t414)
+ %t415 = load i32, ptr %exc.cell
+ %t416 = icmp ne i32 %t415, 0
+ %t417 = call i1 @llvm.expect.i1(i1 %t416, i1 false)
+ br i1 %t417, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t407)
+ call void @sc_rc_release_dyn(ptr %t412)
+ call void @sc_rc_release_dyn(ptr %t414)
+ ret void
+exc.k167:
+ call void @sc_rc_release_dyn(ptr %t407)
+ call void @sc_rc_release_dyn(ptr %t412)
+ call void @sc_rc_release_dyn(ptr %t414)
+ ret void
+if.j163:
+ %t418 = load ptr, ptr %sc_l_p_0
+ %t419 = call ptr @sc_rc_retain_dyn(ptr %t418)
+ %t420 = call ptr @sc_f__x25_dyn_class_properties(ptr %t419)
+ %t421 = load i32, ptr %exc.cell
+ %t422 = icmp ne i32 %t421, 0
+ %t423 = call i1 @llvm.expect.i1(i1 %t422, i1 false)
+ br i1 %t423, label %exc.u168, label %exc.k169
+exc.u168:
+ call void @sc_rc_release_dyn(ptr %t420)
+ ret void
+exc.k169:
+ %t424 = load ptr, ptr %sc_l_key_string
+ %t425 = call ptr @sc_rc_retain_str(ptr %t424)
+ %t426 = load ptr, ptr %sc_l_p_1
+ %t427 = call ptr @sc_rc_retain_dyn(ptr %t426)
+ %t428 = load ptr, ptr %sc_l_p_receiver
+ %t429 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t428, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t420, ptr %t425, ptr %t427, ptr %t429)
+ %t430 = load i32, ptr %exc.cell
+ %t431 = icmp ne i32 %t430, 0
+ %t432 = call i1 @llvm.expect.i1(i1 %t431, i1 false)
+ br i1 %t432, label %exc.u170, label %exc.k171
+exc.u170:
+ call void @sc_rc_release_dyn(ptr %t420)
+ call void @scr_str_release(ptr %t425)
+ call void @sc_rc_release_dyn(ptr %t427)
+ call void @sc_rc_release_dyn(ptr %t429)
+ ret void
+exc.k171:
+ call void @sc_rc_release_dyn(ptr %t420)
+ call void @scr_str_release(ptr %t425)
+ call void @sc_rc_release_dyn(ptr %t427)
+ call void @sc_rc_release_dyn(ptr %t429)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_469(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_469(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_470(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.470
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_3752021314181142(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = load ptr, ptr %sc_l_p_1
+ %t13 = call ptr @sc_rc_retain_dyn(ptr %t12)
+ %t14 = load ptr, ptr %sc_l_p_receiver
+ %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_3752021314181142, ptr %t13, ptr %t15)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+if.j3:
+ %t19 = load ptr, ptr %sc_l_key_string
+ %t20 = call zeroext i1 @sc_streq_2364278031517622(ptr %t19)
+ br i1 %t20, label %if.t8, label %if.j9
+if.t8:
+ %t21 = load ptr, ptr %sc_l_p_receiver
+ %t22 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t21, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t23 = call ptr @sc_f__x25_dyn_class_properties(ptr %t22)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t23)
+ ret void
+exc.k11:
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = load ptr, ptr %sc_l_p_receiver
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t23, ptr @sc_lit_2364278031517622, ptr %t28, ptr %t30)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+if.j9:
+ %t34 = load ptr, ptr %sc_l_key_string
+ %t35 = call zeroext i1 @sc_streq_470306239805907(ptr %t34)
+ br i1 %t35, label %if.t14, label %if.j15
+if.t14:
+ %t36 = load ptr, ptr %sc_l_p_receiver
+ %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t38 = call ptr @sc_f__x25_dyn_class_properties(ptr %t37)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret void
+exc.k17:
+ %t42 = load ptr, ptr %sc_l_p_1
+ %t43 = call ptr @sc_rc_retain_dyn(ptr %t42)
+ %t44 = load ptr, ptr %sc_l_p_receiver
+ %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t38, ptr @sc_lit_470306239805907, ptr %t43, ptr %t45)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret void
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret void
+if.j15:
+ %t49 = load ptr, ptr %sc_l_key_string
+ %t50 = call zeroext i1 @sc_streq_4133069531575059(ptr %t49)
+ br i1 %t50, label %if.t20, label %if.j21
+if.t20:
+ %t51 = load ptr, ptr %sc_l_p_receiver
+ %t52 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t51, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t53 = call ptr @sc_f__x25_dyn_class_properties(ptr %t52)
+ %t54 = load i32, ptr %exc.cell
+ %t55 = icmp ne i32 %t54, 0
+ %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false)
+ br i1 %t56, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t53)
+ ret void
+exc.k23:
+ %t57 = load ptr, ptr %sc_l_p_1
+ %t58 = call ptr @sc_rc_retain_dyn(ptr %t57)
+ %t59 = load ptr, ptr %sc_l_p_receiver
+ %t60 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t59, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t53, ptr @sc_lit_4133069531575059, ptr %t58, ptr %t60)
+ %t61 = load i32, ptr %exc.cell
+ %t62 = icmp ne i32 %t61, 0
+ %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false)
+ br i1 %t63, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t60)
+ ret void
+exc.k25:
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t60)
+ ret void
+if.j21:
+ %t64 = load ptr, ptr %sc_l_key_string
+ %t65 = call zeroext i1 @sc_streq_2253648670486996(ptr %t64)
+ br i1 %t65, label %if.t26, label %if.j27
+if.t26:
+ %t66 = load ptr, ptr %sc_l_p_receiver
+ %t67 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t66, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t68 = call ptr @sc_f__x25_dyn_class_properties(ptr %t67)
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t68)
+ ret void
+exc.k29:
+ %t72 = load ptr, ptr %sc_l_p_1
+ %t73 = call ptr @sc_rc_retain_dyn(ptr %t72)
+ %t74 = load ptr, ptr %sc_l_p_receiver
+ %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t68, ptr @sc_lit_2253648670486996, ptr %t73, ptr %t75)
+ %t76 = load i32, ptr %exc.cell
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false)
+ br i1 %t78, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret void
+exc.k31:
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret void
+if.j27:
+ %t79 = load ptr, ptr %sc_l_key_string
+ %t80 = call zeroext i1 @sc_streq_161925136240866(ptr %t79)
+ br i1 %t80, label %if.t32, label %if.j33
+if.t32:
+ %t81 = load ptr, ptr %sc_l_p_receiver
+ %t82 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t81, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t83 = call ptr @sc_f__x25_dyn_class_properties(ptr %t82)
+ %t84 = load i32, ptr %exc.cell
+ %t85 = icmp ne i32 %t84, 0
+ %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false)
+ br i1 %t86, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t83)
+ ret void
+exc.k35:
+ %t87 = load ptr, ptr %sc_l_p_1
+ %t88 = call ptr @sc_rc_retain_dyn(ptr %t87)
+ %t89 = load ptr, ptr %sc_l_p_receiver
+ %t90 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t89, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t83, ptr @sc_lit_161925136240866, ptr %t88, ptr %t90)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_rc_release_dyn(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t90)
+ ret void
+exc.k37:
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_rc_release_dyn(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t90)
+ ret void
+if.j33:
+ %t94 = load ptr, ptr %sc_l_key_string
+ %t95 = call zeroext i1 @sc_streq_298897322184109(ptr %t94)
+ br i1 %t95, label %if.t38, label %if.j39
+if.t38:
+ %t96 = load ptr, ptr %sc_l_p_receiver
+ %t97 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t96, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t98 = call ptr @sc_f__x25_dyn_class_properties(ptr %t97)
+ %t99 = load i32, ptr %exc.cell
+ %t100 = icmp ne i32 %t99, 0
+ %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false)
+ br i1 %t101, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t98)
+ ret void
+exc.k41:
+ %t102 = load ptr, ptr %sc_l_p_1
+ %t103 = call ptr @sc_rc_retain_dyn(ptr %t102)
+ %t104 = load ptr, ptr %sc_l_p_receiver
+ %t105 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t104, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t98, ptr @sc_lit_298897322184109, ptr %t103, ptr %t105)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @sc_rc_release_dyn(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t105)
+ ret void
+exc.k43:
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @sc_rc_release_dyn(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t105)
+ ret void
+if.j39:
+ %t109 = load ptr, ptr %sc_l_key_string
+ %t110 = call zeroext i1 @sc_streq_4085448292571548(ptr %t109)
+ br i1 %t110, label %if.t44, label %if.j45
+if.t44:
+ %t111 = load ptr, ptr %sc_l_p_receiver
+ %t112 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t111, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t113 = call ptr @sc_f__x25_dyn_class_properties(ptr %t112)
+ %t114 = load i32, ptr %exc.cell
+ %t115 = icmp ne i32 %t114, 0
+ %t116 = call i1 @llvm.expect.i1(i1 %t115, i1 false)
+ br i1 %t116, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t113)
+ ret void
+exc.k47:
+ %t117 = load ptr, ptr %sc_l_p_1
+ %t118 = call ptr @sc_rc_retain_dyn(ptr %t117)
+ %t119 = load ptr, ptr %sc_l_p_receiver
+ %t120 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t119, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t113, ptr @sc_lit_4085448292571548, ptr %t118, ptr %t120)
+ %t121 = load i32, ptr %exc.cell
+ %t122 = icmp ne i32 %t121, 0
+ %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false)
+ br i1 %t123, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t113)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t120)
+ ret void
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t113)
+ call void @sc_rc_release_dyn(ptr %t118)
+ call void @sc_rc_release_dyn(ptr %t120)
+ ret void
+if.j45:
+ %t124 = load ptr, ptr %sc_l_key_string
+ %t125 = call zeroext i1 @sc_streq_3561861343106386(ptr %t124)
+ br i1 %t125, label %if.t50, label %if.j51
+if.t50:
+ %t126 = load ptr, ptr %sc_l_p_receiver
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_properties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t128)
+ ret void
+exc.k53:
+ %t132 = load ptr, ptr %sc_l_p_1
+ %t133 = call ptr @sc_rc_retain_dyn(ptr %t132)
+ %t134 = load ptr, ptr %sc_l_p_receiver
+ %t135 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t134, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t128, ptr @sc_lit_3561861343106386, ptr %t133, ptr %t135)
+ %t136 = load i32, ptr %exc.cell
+ %t137 = icmp ne i32 %t136, 0
+ %t138 = call i1 @llvm.expect.i1(i1 %t137, i1 false)
+ br i1 %t138, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t128)
+ call void @sc_rc_release_dyn(ptr %t133)
+ call void @sc_rc_release_dyn(ptr %t135)
+ ret void
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t128)
+ call void @sc_rc_release_dyn(ptr %t133)
+ call void @sc_rc_release_dyn(ptr %t135)
+ ret void
+if.j51:
+ %t139 = load ptr, ptr %sc_l_key_string
+ %t140 = call zeroext i1 @sc_streq_3108123016971750(ptr %t139)
+ br i1 %t140, label %if.t56, label %if.j57
+if.t56:
+ %t141 = load ptr, ptr %sc_l_p_receiver
+ %t142 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t141, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t143 = call ptr @sc_f__x25_dyn_class_properties(ptr %t142)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t143)
+ ret void
+exc.k59:
+ %t147 = load ptr, ptr %sc_l_p_1
+ %t148 = call ptr @sc_rc_retain_dyn(ptr %t147)
+ %t149 = load ptr, ptr %sc_l_p_receiver
+ %t150 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t149, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t143, ptr @sc_lit_3108123016971750, ptr %t148, ptr %t150)
+ %t151 = load i32, ptr %exc.cell
+ %t152 = icmp ne i32 %t151, 0
+ %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false)
+ br i1 %t153, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t143)
+ call void @sc_rc_release_dyn(ptr %t148)
+ call void @sc_rc_release_dyn(ptr %t150)
+ ret void
+exc.k61:
+ call void @sc_rc_release_dyn(ptr %t143)
+ call void @sc_rc_release_dyn(ptr %t148)
+ call void @sc_rc_release_dyn(ptr %t150)
+ ret void
+if.j57:
+ %t154 = load ptr, ptr %sc_l_key_string
+ %t155 = call zeroext i1 @sc_streq_2529432852777196(ptr %t154)
+ br i1 %t155, label %if.t62, label %if.j63
+if.t62:
+ %t156 = load ptr, ptr %sc_l_p_receiver
+ %t157 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t156, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t158 = call ptr @sc_f__x25_dyn_class_properties(ptr %t157)
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t158)
+ ret void
+exc.k65:
+ %t162 = load ptr, ptr %sc_l_p_1
+ %t163 = call ptr @sc_rc_retain_dyn(ptr %t162)
+ %t164 = load ptr, ptr %sc_l_p_receiver
+ %t165 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t164, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t158, ptr @sc_lit_2529432852777196, ptr %t163, ptr %t165)
+ %t166 = load i32, ptr %exc.cell
+ %t167 = icmp ne i32 %t166, 0
+ %t168 = call i1 @llvm.expect.i1(i1 %t167, i1 false)
+ br i1 %t168, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t158)
+ call void @sc_rc_release_dyn(ptr %t163)
+ call void @sc_rc_release_dyn(ptr %t165)
+ ret void
+exc.k67:
+ call void @sc_rc_release_dyn(ptr %t158)
+ call void @sc_rc_release_dyn(ptr %t163)
+ call void @sc_rc_release_dyn(ptr %t165)
+ ret void
+if.j63:
+ %t169 = load ptr, ptr %sc_l_key_string
+ %t170 = call zeroext i1 @sc_streq_4297539476301093(ptr %t169)
+ br i1 %t170, label %if.t68, label %if.j69
+if.t68:
+ %t171 = load ptr, ptr %sc_l_p_receiver
+ %t172 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t171, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t173 = call ptr @sc_f__x25_dyn_class_properties(ptr %t172)
+ %t174 = load i32, ptr %exc.cell
+ %t175 = icmp ne i32 %t174, 0
+ %t176 = call i1 @llvm.expect.i1(i1 %t175, i1 false)
+ br i1 %t176, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t173)
+ ret void
+exc.k71:
+ %t177 = load ptr, ptr %sc_l_p_1
+ %t178 = call ptr @sc_rc_retain_dyn(ptr %t177)
+ %t179 = load ptr, ptr %sc_l_p_receiver
+ %t180 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t179, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t173, ptr @sc_lit_4297539476301093, ptr %t178, ptr %t180)
+ %t181 = load i32, ptr %exc.cell
+ %t182 = icmp ne i32 %t181, 0
+ %t183 = call i1 @llvm.expect.i1(i1 %t182, i1 false)
+ br i1 %t183, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t173)
+ call void @sc_rc_release_dyn(ptr %t178)
+ call void @sc_rc_release_dyn(ptr %t180)
+ ret void
+exc.k73:
+ call void @sc_rc_release_dyn(ptr %t173)
+ call void @sc_rc_release_dyn(ptr %t178)
+ call void @sc_rc_release_dyn(ptr %t180)
+ ret void
+if.j69:
+ %t184 = load ptr, ptr %sc_l_key_string
+ %t185 = call zeroext i1 @sc_streq_1959461887910059(ptr %t184)
+ br i1 %t185, label %if.t74, label %if.j75
+if.t74:
+ %t186 = load ptr, ptr %sc_l_p_receiver
+ %t187 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t186, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t188 = call ptr @sc_f__x25_dyn_class_properties(ptr %t187)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t188)
+ ret void
+exc.k77:
+ %t192 = load ptr, ptr %sc_l_p_1
+ %t193 = call ptr @sc_rc_retain_dyn(ptr %t192)
+ %t194 = load ptr, ptr %sc_l_p_receiver
+ %t195 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t194, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t188, ptr @sc_lit_1959461887910059, ptr %t193, ptr %t195)
+ %t196 = load i32, ptr %exc.cell
+ %t197 = icmp ne i32 %t196, 0
+ %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false)
+ br i1 %t198, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t188)
+ call void @sc_rc_release_dyn(ptr %t193)
+ call void @sc_rc_release_dyn(ptr %t195)
+ ret void
+exc.k79:
+ call void @sc_rc_release_dyn(ptr %t188)
+ call void @sc_rc_release_dyn(ptr %t193)
+ call void @sc_rc_release_dyn(ptr %t195)
+ ret void
+if.j75:
+ %t199 = load ptr, ptr %sc_l_key_string
+ %t200 = call zeroext i1 @sc_streq_181663572509014(ptr %t199)
+ br i1 %t200, label %if.t80, label %if.j81
+if.t80:
+ %t201 = load ptr, ptr %sc_l_p_receiver
+ %t202 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t201, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t203 = call ptr @sc_f__x25_dyn_class_properties(ptr %t202)
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t203)
+ ret void
+exc.k83:
+ %t207 = load ptr, ptr %sc_l_p_1
+ %t208 = call ptr @sc_rc_retain_dyn(ptr %t207)
+ %t209 = load ptr, ptr %sc_l_p_receiver
+ %t210 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t209, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t203, ptr @sc_lit_181663572509014, ptr %t208, ptr %t210)
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t203)
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ ret void
+exc.k85:
+ call void @sc_rc_release_dyn(ptr %t203)
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t210)
+ ret void
+if.j81:
+ %t214 = load ptr, ptr %sc_l_key_string
+ %t215 = call zeroext i1 @sc_streq_992600386266231(ptr %t214)
+ br i1 %t215, label %if.t86, label %if.j87
+if.t86:
+ %t216 = load ptr, ptr %sc_l_p_receiver
+ %t217 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t216, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t218 = call ptr @sc_f__x25_dyn_class_properties(ptr %t217)
+ %t219 = load i32, ptr %exc.cell
+ %t220 = icmp ne i32 %t219, 0
+ %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false)
+ br i1 %t221, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t218)
+ ret void
+exc.k89:
+ %t222 = load ptr, ptr %sc_l_p_1
+ %t223 = call ptr @sc_rc_retain_dyn(ptr %t222)
+ %t224 = load ptr, ptr %sc_l_p_receiver
+ %t225 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t224, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t218, ptr @sc_lit_992600386266231, ptr %t223, ptr %t225)
+ %t226 = load i32, ptr %exc.cell
+ %t227 = icmp ne i32 %t226, 0
+ %t228 = call i1 @llvm.expect.i1(i1 %t227, i1 false)
+ br i1 %t228, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t218)
+ call void @sc_rc_release_dyn(ptr %t223)
+ call void @sc_rc_release_dyn(ptr %t225)
+ ret void
+exc.k91:
+ call void @sc_rc_release_dyn(ptr %t218)
+ call void @sc_rc_release_dyn(ptr %t223)
+ call void @sc_rc_release_dyn(ptr %t225)
+ ret void
+if.j87:
+ %t229 = load ptr, ptr %sc_l_key_string
+ %t230 = call zeroext i1 @sc_streq_4198614539576238(ptr %t229)
+ br i1 %t230, label %if.t92, label %if.j93
+if.t92:
+ %t231 = load ptr, ptr %sc_l_p_receiver
+ %t232 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t231, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t233 = call ptr @sc_f__x25_dyn_class_properties(ptr %t232)
+ %t234 = load i32, ptr %exc.cell
+ %t235 = icmp ne i32 %t234, 0
+ %t236 = call i1 @llvm.expect.i1(i1 %t235, i1 false)
+ br i1 %t236, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t233)
+ ret void
+exc.k95:
+ %t237 = load ptr, ptr %sc_l_p_1
+ %t238 = call ptr @sc_rc_retain_dyn(ptr %t237)
+ %t239 = load ptr, ptr %sc_l_p_receiver
+ %t240 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t239, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t233, ptr @sc_lit_4198614539576238, ptr %t238, ptr %t240)
+ %t241 = load i32, ptr %exc.cell
+ %t242 = icmp ne i32 %t241, 0
+ %t243 = call i1 @llvm.expect.i1(i1 %t242, i1 false)
+ br i1 %t243, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t233)
+ call void @sc_rc_release_dyn(ptr %t238)
+ call void @sc_rc_release_dyn(ptr %t240)
+ ret void
+exc.k97:
+ call void @sc_rc_release_dyn(ptr %t233)
+ call void @sc_rc_release_dyn(ptr %t238)
+ call void @sc_rc_release_dyn(ptr %t240)
+ ret void
+if.j93:
+ %t244 = load ptr, ptr %sc_l_key_string
+ %t245 = call zeroext i1 @sc_streq_3908714124573206(ptr %t244)
+ br i1 %t245, label %if.t98, label %if.j99
+if.t98:
+ %t246 = load ptr, ptr %sc_l_p_receiver
+ %t247 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t246, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t248 = call ptr @sc_f__x25_dyn_class_properties(ptr %t247)
+ %t249 = load i32, ptr %exc.cell
+ %t250 = icmp ne i32 %t249, 0
+ %t251 = call i1 @llvm.expect.i1(i1 %t250, i1 false)
+ br i1 %t251, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t248)
+ ret void
+exc.k101:
+ %t252 = load ptr, ptr %sc_l_p_1
+ %t253 = call ptr @sc_rc_retain_dyn(ptr %t252)
+ %t254 = load ptr, ptr %sc_l_p_receiver
+ %t255 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t254, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t248, ptr @sc_lit_3908714124573206, ptr %t253, ptr %t255)
+ %t256 = load i32, ptr %exc.cell
+ %t257 = icmp ne i32 %t256, 0
+ %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false)
+ br i1 %t258, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_rc_release_dyn(ptr %t253)
+ call void @sc_rc_release_dyn(ptr %t255)
+ ret void
+exc.k103:
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_rc_release_dyn(ptr %t253)
+ call void @sc_rc_release_dyn(ptr %t255)
+ ret void
+if.j99:
+ %t259 = load ptr, ptr %sc_l_p_0
+ %t260 = call ptr @sc_rc_retain_dyn(ptr %t259)
+ %t261 = call ptr @sc_f__x25_dyn_class_properties(ptr %t260)
+ %t262 = load i32, ptr %exc.cell
+ %t263 = icmp ne i32 %t262, 0
+ %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false)
+ br i1 %t264, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t261)
+ ret void
+exc.k105:
+ %t265 = load ptr, ptr %sc_l_key_string
+ %t266 = call ptr @sc_rc_retain_str(ptr %t265)
+ %t267 = load ptr, ptr %sc_l_p_1
+ %t268 = call ptr @sc_rc_retain_dyn(ptr %t267)
+ %t269 = load ptr, ptr %sc_l_p_receiver
+ %t270 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t269, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t261, ptr %t266, ptr %t268, ptr %t270)
+ %t271 = load i32, ptr %exc.cell
+ %t272 = icmp ne i32 %t271, 0
+ %t273 = call i1 @llvm.expect.i1(i1 %t272, i1 false)
+ br i1 %t273, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t261)
+ call void @scr_str_release(ptr %t266)
+ call void @sc_rc_release_dyn(ptr %t268)
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret void
+exc.k107:
+ call void @sc_rc_release_dyn(ptr %t261)
+ call void @scr_str_release(ptr %t266)
+ call void @sc_rc_release_dyn(ptr %t268)
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_470(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_470(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_471(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.471
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_1951312618348557(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_11(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_http_res_release(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t6, i64 0, i32 3
+ %t13 = load ptr, ptr %t12
+ store ptr %t8, ptr %t12, !tbaa !46
+ call void @scr_http_res_release(ptr %t13)
+ ret void
+if.j3:
+ %t14 = load ptr, ptr %sc_l_key_string
+ %t15 = call zeroext i1 @sc_streq_3621289080171698(ptr %t14)
+ br i1 %t15, label %if.t6, label %if.j7
+if.t6:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = load ptr, ptr %sc_l_p_1
+ %t18 = call double @sc_dc_2(ptr %t17, ptr null)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ ret void
+exc.k9:
+ %t22 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t16, i64 0, i32 4
+ store double %t18, ptr %t22, !tbaa !48
+ ret void
+if.j7:
+ %t23 = load ptr, ptr %sc_l_key_string
+ %t24 = call zeroext i1 @sc_streq_3953364176447457(ptr %t23)
+ br i1 %t24, label %if.t10, label %if.j11
+if.t10:
+ %t25 = load ptr, ptr %sc_l_p_receiver
+ %t26 = load ptr, ptr %sc_l_p_1
+ %t27 = call ptr @sc_dc_13(ptr %t26, ptr null)
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rrelease_r0(ptr %t27)
+ ret void
+exc.k13:
+ %t31 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t25, i64 0, i32 5
+ %t32 = load ptr, ptr %t31
+ store ptr %t27, ptr %t31, !tbaa !50
+ call void @sc_rrelease_r0(ptr %t32)
+ ret void
+if.j11:
+ %t33 = load ptr, ptr %sc_l_key_string
+ %t34 = call zeroext i1 @sc_streq_3752021314181142(ptr %t33)
+ br i1 %t34, label %if.t14, label %if.j15
+if.t14:
+ %t35 = load ptr, ptr %sc_l_p_receiver
+ %t36 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t35, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t37 = call ptr @sc_f__x25_dyn_class_properties(ptr %t36)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t37)
+ ret void
+exc.k17:
+ %t41 = load ptr, ptr %sc_l_p_1
+ %t42 = call ptr @sc_rc_retain_dyn(ptr %t41)
+ %t43 = load ptr, ptr %sc_l_p_receiver
+ %t44 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t43, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t37, ptr @sc_lit_3752021314181142, ptr %t42, ptr %t44)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret void
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret void
+if.j15:
+ %t48 = load ptr, ptr %sc_l_key_string
+ %t49 = call zeroext i1 @sc_streq_2364278031517622(ptr %t48)
+ br i1 %t49, label %if.t20, label %if.j21
+if.t20:
+ %t50 = load ptr, ptr %sc_l_p_receiver
+ %t51 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t50, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t52 = call ptr @sc_f__x25_dyn_class_properties(ptr %t51)
+ %t53 = load i32, ptr %exc.cell
+ %t54 = icmp ne i32 %t53, 0
+ %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false)
+ br i1 %t55, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t52)
+ ret void
+exc.k23:
+ %t56 = load ptr, ptr %sc_l_p_1
+ %t57 = call ptr @sc_rc_retain_dyn(ptr %t56)
+ %t58 = load ptr, ptr %sc_l_p_receiver
+ %t59 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t58, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t52, ptr @sc_lit_2364278031517622, ptr %t57, ptr %t59)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t59)
+ ret void
+exc.k25:
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t59)
+ ret void
+if.j21:
+ %t63 = load ptr, ptr %sc_l_key_string
+ %t64 = call zeroext i1 @sc_streq_470306239805907(ptr %t63)
+ br i1 %t64, label %if.t26, label %if.j27
+if.t26:
+ %t65 = load ptr, ptr %sc_l_p_receiver
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_properties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t67)
+ ret void
+exc.k29:
+ %t71 = load ptr, ptr %sc_l_p_1
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t73 = load ptr, ptr %sc_l_p_receiver
+ %t74 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t73, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t67, ptr @sc_lit_470306239805907, ptr %t72, ptr %t74)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ ret void
+exc.k31:
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ ret void
+if.j27:
+ %t78 = load ptr, ptr %sc_l_key_string
+ %t79 = call zeroext i1 @sc_streq_4133069531575059(ptr %t78)
+ br i1 %t79, label %if.t32, label %if.j33
+if.t32:
+ %t80 = load ptr, ptr %sc_l_p_receiver
+ %t81 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t80, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t82 = call ptr @sc_f__x25_dyn_class_properties(ptr %t81)
+ %t83 = load i32, ptr %exc.cell
+ %t84 = icmp ne i32 %t83, 0
+ %t85 = call i1 @llvm.expect.i1(i1 %t84, i1 false)
+ br i1 %t85, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t82)
+ ret void
+exc.k35:
+ %t86 = load ptr, ptr %sc_l_p_1
+ %t87 = call ptr @sc_rc_retain_dyn(ptr %t86)
+ %t88 = load ptr, ptr %sc_l_p_receiver
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t82, ptr @sc_lit_4133069531575059, ptr %t87, ptr %t89)
+ %t90 = load i32, ptr %exc.cell
+ %t91 = icmp ne i32 %t90, 0
+ %t92 = call i1 @llvm.expect.i1(i1 %t91, i1 false)
+ br i1 %t92, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t87)
+ call void @sc_rc_release_dyn(ptr %t89)
+ ret void
+exc.k37:
+ call void @sc_rc_release_dyn(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t87)
+ call void @sc_rc_release_dyn(ptr %t89)
+ ret void
+if.j33:
+ %t93 = load ptr, ptr %sc_l_key_string
+ %t94 = call zeroext i1 @sc_streq_2253648670486996(ptr %t93)
+ br i1 %t94, label %if.t38, label %if.j39
+if.t38:
+ %t95 = load ptr, ptr %sc_l_p_receiver
+ %t96 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t95, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t97 = call ptr @sc_f__x25_dyn_class_properties(ptr %t96)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret void
+exc.k41:
+ %t101 = load ptr, ptr %sc_l_p_1
+ %t102 = call ptr @sc_rc_retain_dyn(ptr %t101)
+ %t103 = load ptr, ptr %sc_l_p_receiver
+ %t104 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t103, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t97, ptr @sc_lit_2253648670486996, ptr %t102, ptr %t104)
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t97)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t104)
+ ret void
+exc.k43:
+ call void @sc_rc_release_dyn(ptr %t97)
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t104)
+ ret void
+if.j39:
+ %t108 = load ptr, ptr %sc_l_key_string
+ %t109 = call zeroext i1 @sc_streq_161925136240866(ptr %t108)
+ br i1 %t109, label %if.t44, label %if.j45
+if.t44:
+ %t110 = load ptr, ptr %sc_l_p_receiver
+ %t111 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t110, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t112 = call ptr @sc_f__x25_dyn_class_properties(ptr %t111)
+ %t113 = load i32, ptr %exc.cell
+ %t114 = icmp ne i32 %t113, 0
+ %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false)
+ br i1 %t115, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t112)
+ ret void
+exc.k47:
+ %t116 = load ptr, ptr %sc_l_p_1
+ %t117 = call ptr @sc_rc_retain_dyn(ptr %t116)
+ %t118 = load ptr, ptr %sc_l_p_receiver
+ %t119 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t118, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t112, ptr @sc_lit_161925136240866, ptr %t117, ptr %t119)
+ %t120 = load i32, ptr %exc.cell
+ %t121 = icmp ne i32 %t120, 0
+ %t122 = call i1 @llvm.expect.i1(i1 %t121, i1 false)
+ br i1 %t122, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t112)
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t119)
+ ret void
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t112)
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t119)
+ ret void
+if.j45:
+ %t123 = load ptr, ptr %sc_l_key_string
+ %t124 = call zeroext i1 @sc_streq_298897322184109(ptr %t123)
+ br i1 %t124, label %if.t50, label %if.j51
+if.t50:
+ %t125 = load ptr, ptr %sc_l_p_receiver
+ %t126 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t125, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t127 = call ptr @sc_f__x25_dyn_class_properties(ptr %t126)
+ %t128 = load i32, ptr %exc.cell
+ %t129 = icmp ne i32 %t128, 0
+ %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false)
+ br i1 %t130, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t127)
+ ret void
+exc.k53:
+ %t131 = load ptr, ptr %sc_l_p_1
+ %t132 = call ptr @sc_rc_retain_dyn(ptr %t131)
+ %t133 = load ptr, ptr %sc_l_p_receiver
+ %t134 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t133, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t127, ptr @sc_lit_298897322184109, ptr %t132, ptr %t134)
+ %t135 = load i32, ptr %exc.cell
+ %t136 = icmp ne i32 %t135, 0
+ %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false)
+ br i1 %t137, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t132)
+ call void @sc_rc_release_dyn(ptr %t134)
+ ret void
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t132)
+ call void @sc_rc_release_dyn(ptr %t134)
+ ret void
+if.j51:
+ %t138 = load ptr, ptr %sc_l_key_string
+ %t139 = call zeroext i1 @sc_streq_4085448292571548(ptr %t138)
+ br i1 %t139, label %if.t56, label %if.j57
+if.t56:
+ %t140 = load ptr, ptr %sc_l_p_receiver
+ %t141 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t140, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t142 = call ptr @sc_f__x25_dyn_class_properties(ptr %t141)
+ %t143 = load i32, ptr %exc.cell
+ %t144 = icmp ne i32 %t143, 0
+ %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false)
+ br i1 %t145, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t142)
+ ret void
+exc.k59:
+ %t146 = load ptr, ptr %sc_l_p_1
+ %t147 = call ptr @sc_rc_retain_dyn(ptr %t146)
+ %t148 = load ptr, ptr %sc_l_p_receiver
+ %t149 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t148, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t142, ptr @sc_lit_4085448292571548, ptr %t147, ptr %t149)
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t142)
+ call void @sc_rc_release_dyn(ptr %t147)
+ call void @sc_rc_release_dyn(ptr %t149)
+ ret void
+exc.k61:
+ call void @sc_rc_release_dyn(ptr %t142)
+ call void @sc_rc_release_dyn(ptr %t147)
+ call void @sc_rc_release_dyn(ptr %t149)
+ ret void
+if.j57:
+ %t153 = load ptr, ptr %sc_l_key_string
+ %t154 = call zeroext i1 @sc_streq_3561861343106386(ptr %t153)
+ br i1 %t154, label %if.t62, label %if.j63
+if.t62:
+ %t155 = load ptr, ptr %sc_l_p_receiver
+ %t156 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t155, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t157 = call ptr @sc_f__x25_dyn_class_properties(ptr %t156)
+ %t158 = load i32, ptr %exc.cell
+ %t159 = icmp ne i32 %t158, 0
+ %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false)
+ br i1 %t160, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t157)
+ ret void
+exc.k65:
+ %t161 = load ptr, ptr %sc_l_p_1
+ %t162 = call ptr @sc_rc_retain_dyn(ptr %t161)
+ %t163 = load ptr, ptr %sc_l_p_receiver
+ %t164 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t163, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t157, ptr @sc_lit_3561861343106386, ptr %t162, ptr %t164)
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t164)
+ ret void
+exc.k67:
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t164)
+ ret void
+if.j63:
+ %t168 = load ptr, ptr %sc_l_key_string
+ %t169 = call zeroext i1 @sc_streq_2529432852777196(ptr %t168)
+ br i1 %t169, label %if.t68, label %if.j69
+if.t68:
+ %t170 = load ptr, ptr %sc_l_p_receiver
+ %t171 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t170, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t172 = call ptr @sc_f__x25_dyn_class_properties(ptr %t171)
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t172)
+ ret void
+exc.k71:
+ %t176 = load ptr, ptr %sc_l_p_1
+ %t177 = call ptr @sc_rc_retain_dyn(ptr %t176)
+ %t178 = load ptr, ptr %sc_l_p_receiver
+ %t179 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t178, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t172, ptr @sc_lit_2529432852777196, ptr %t177, ptr %t179)
+ %t180 = load i32, ptr %exc.cell
+ %t181 = icmp ne i32 %t180, 0
+ %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false)
+ br i1 %t182, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t179)
+ ret void
+exc.k73:
+ call void @sc_rc_release_dyn(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t179)
+ ret void
+if.j69:
+ %t183 = load ptr, ptr %sc_l_key_string
+ %t184 = call zeroext i1 @sc_streq_4297539476301093(ptr %t183)
+ br i1 %t184, label %if.t74, label %if.j75
+if.t74:
+ %t185 = load ptr, ptr %sc_l_p_receiver
+ %t186 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t185, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t187 = call ptr @sc_f__x25_dyn_class_properties(ptr %t186)
+ %t188 = load i32, ptr %exc.cell
+ %t189 = icmp ne i32 %t188, 0
+ %t190 = call i1 @llvm.expect.i1(i1 %t189, i1 false)
+ br i1 %t190, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t187)
+ ret void
+exc.k77:
+ %t191 = load ptr, ptr %sc_l_p_1
+ %t192 = call ptr @sc_rc_retain_dyn(ptr %t191)
+ %t193 = load ptr, ptr %sc_l_p_receiver
+ %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t187, ptr @sc_lit_4297539476301093, ptr %t192, ptr %t194)
+ %t195 = load i32, ptr %exc.cell
+ %t196 = icmp ne i32 %t195, 0
+ %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false)
+ br i1 %t197, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t187)
+ call void @sc_rc_release_dyn(ptr %t192)
+ call void @sc_rc_release_dyn(ptr %t194)
+ ret void
+exc.k79:
+ call void @sc_rc_release_dyn(ptr %t187)
+ call void @sc_rc_release_dyn(ptr %t192)
+ call void @sc_rc_release_dyn(ptr %t194)
+ ret void
+if.j75:
+ %t198 = load ptr, ptr %sc_l_key_string
+ %t199 = call zeroext i1 @sc_streq_1959461887910059(ptr %t198)
+ br i1 %t199, label %if.t80, label %if.j81
+if.t80:
+ %t200 = load ptr, ptr %sc_l_p_receiver
+ %t201 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t200, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t202 = call ptr @sc_f__x25_dyn_class_properties(ptr %t201)
+ %t203 = load i32, ptr %exc.cell
+ %t204 = icmp ne i32 %t203, 0
+ %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false)
+ br i1 %t205, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t202)
+ ret void
+exc.k83:
+ %t206 = load ptr, ptr %sc_l_p_1
+ %t207 = call ptr @sc_rc_retain_dyn(ptr %t206)
+ %t208 = load ptr, ptr %sc_l_p_receiver
+ %t209 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t208, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t202, ptr @sc_lit_1959461887910059, ptr %t207, ptr %t209)
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @sc_rc_release_dyn(ptr %t207)
+ call void @sc_rc_release_dyn(ptr %t209)
+ ret void
+exc.k85:
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @sc_rc_release_dyn(ptr %t207)
+ call void @sc_rc_release_dyn(ptr %t209)
+ ret void
+if.j81:
+ %t213 = load ptr, ptr %sc_l_key_string
+ %t214 = call zeroext i1 @sc_streq_181663572509014(ptr %t213)
+ br i1 %t214, label %if.t86, label %if.j87
+if.t86:
+ %t215 = load ptr, ptr %sc_l_p_receiver
+ %t216 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t215, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t217 = call ptr @sc_f__x25_dyn_class_properties(ptr %t216)
+ %t218 = load i32, ptr %exc.cell
+ %t219 = icmp ne i32 %t218, 0
+ %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false)
+ br i1 %t220, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t217)
+ ret void
+exc.k89:
+ %t221 = load ptr, ptr %sc_l_p_1
+ %t222 = call ptr @sc_rc_retain_dyn(ptr %t221)
+ %t223 = load ptr, ptr %sc_l_p_receiver
+ %t224 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t223, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t217, ptr @sc_lit_181663572509014, ptr %t222, ptr %t224)
+ %t225 = load i32, ptr %exc.cell
+ %t226 = icmp ne i32 %t225, 0
+ %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false)
+ br i1 %t227, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_rc_release_dyn(ptr %t222)
+ call void @sc_rc_release_dyn(ptr %t224)
+ ret void
+exc.k91:
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_rc_release_dyn(ptr %t222)
+ call void @sc_rc_release_dyn(ptr %t224)
+ ret void
+if.j87:
+ %t228 = load ptr, ptr %sc_l_key_string
+ %t229 = call zeroext i1 @sc_streq_992600386266231(ptr %t228)
+ br i1 %t229, label %if.t92, label %if.j93
+if.t92:
+ %t230 = load ptr, ptr %sc_l_p_receiver
+ %t231 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t230, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t232 = call ptr @sc_f__x25_dyn_class_properties(ptr %t231)
+ %t233 = load i32, ptr %exc.cell
+ %t234 = icmp ne i32 %t233, 0
+ %t235 = call i1 @llvm.expect.i1(i1 %t234, i1 false)
+ br i1 %t235, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t232)
+ ret void
+exc.k95:
+ %t236 = load ptr, ptr %sc_l_p_1
+ %t237 = call ptr @sc_rc_retain_dyn(ptr %t236)
+ %t238 = load ptr, ptr %sc_l_p_receiver
+ %t239 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t238, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t232, ptr @sc_lit_992600386266231, ptr %t237, ptr %t239)
+ %t240 = load i32, ptr %exc.cell
+ %t241 = icmp ne i32 %t240, 0
+ %t242 = call i1 @llvm.expect.i1(i1 %t241, i1 false)
+ br i1 %t242, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t232)
+ call void @sc_rc_release_dyn(ptr %t237)
+ call void @sc_rc_release_dyn(ptr %t239)
+ ret void
+exc.k97:
+ call void @sc_rc_release_dyn(ptr %t232)
+ call void @sc_rc_release_dyn(ptr %t237)
+ call void @sc_rc_release_dyn(ptr %t239)
+ ret void
+if.j93:
+ %t243 = load ptr, ptr %sc_l_key_string
+ %t244 = call zeroext i1 @sc_streq_4198614539576238(ptr %t243)
+ br i1 %t244, label %if.t98, label %if.j99
+if.t98:
+ %t245 = load ptr, ptr %sc_l_p_receiver
+ %t246 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t245, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t247 = call ptr @sc_f__x25_dyn_class_properties(ptr %t246)
+ %t248 = load i32, ptr %exc.cell
+ %t249 = icmp ne i32 %t248, 0
+ %t250 = call i1 @llvm.expect.i1(i1 %t249, i1 false)
+ br i1 %t250, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t247)
+ ret void
+exc.k101:
+ %t251 = load ptr, ptr %sc_l_p_1
+ %t252 = call ptr @sc_rc_retain_dyn(ptr %t251)
+ %t253 = load ptr, ptr %sc_l_p_receiver
+ %t254 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t253, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t247, ptr @sc_lit_4198614539576238, ptr %t252, ptr %t254)
+ %t255 = load i32, ptr %exc.cell
+ %t256 = icmp ne i32 %t255, 0
+ %t257 = call i1 @llvm.expect.i1(i1 %t256, i1 false)
+ br i1 %t257, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t247)
+ call void @sc_rc_release_dyn(ptr %t252)
+ call void @sc_rc_release_dyn(ptr %t254)
+ ret void
+exc.k103:
+ call void @sc_rc_release_dyn(ptr %t247)
+ call void @sc_rc_release_dyn(ptr %t252)
+ call void @sc_rc_release_dyn(ptr %t254)
+ ret void
+if.j99:
+ %t258 = load ptr, ptr %sc_l_key_string
+ %t259 = call zeroext i1 @sc_streq_3908714124573206(ptr %t258)
+ br i1 %t259, label %if.t104, label %if.j105
+if.t104:
+ %t260 = load ptr, ptr %sc_l_p_receiver
+ %t261 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t260, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t262 = call ptr @sc_f__x25_dyn_class_properties(ptr %t261)
+ %t263 = load i32, ptr %exc.cell
+ %t264 = icmp ne i32 %t263, 0
+ %t265 = call i1 @llvm.expect.i1(i1 %t264, i1 false)
+ br i1 %t265, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t262)
+ ret void
+exc.k107:
+ %t266 = load ptr, ptr %sc_l_p_1
+ %t267 = call ptr @sc_rc_retain_dyn(ptr %t266)
+ %t268 = load ptr, ptr %sc_l_p_receiver
+ %t269 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t268, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t262, ptr @sc_lit_3908714124573206, ptr %t267, ptr %t269)
+ %t270 = load i32, ptr %exc.cell
+ %t271 = icmp ne i32 %t270, 0
+ %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false)
+ br i1 %t272, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t262)
+ call void @sc_rc_release_dyn(ptr %t267)
+ call void @sc_rc_release_dyn(ptr %t269)
+ ret void
+exc.k109:
+ call void @sc_rc_release_dyn(ptr %t262)
+ call void @sc_rc_release_dyn(ptr %t267)
+ call void @sc_rc_release_dyn(ptr %t269)
+ ret void
+if.j105:
+ %t273 = load ptr, ptr %sc_l_key_string
+ %t274 = call zeroext i1 @sc_streq_3108123016971750(ptr %t273)
+ br i1 %t274, label %if.t110, label %if.j111
+if.t110:
+ %t275 = load ptr, ptr %sc_l_p_receiver
+ %t276 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t275, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t277 = call ptr @sc_f__x25_dyn_class_properties(ptr %t276)
+ %t278 = load i32, ptr %exc.cell
+ %t279 = icmp ne i32 %t278, 0
+ %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false)
+ br i1 %t280, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t277)
+ ret void
+exc.k113:
+ %t281 = load ptr, ptr %sc_l_p_1
+ %t282 = call ptr @sc_rc_retain_dyn(ptr %t281)
+ %t283 = load ptr, ptr %sc_l_p_receiver
+ %t284 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t283, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t277, ptr @sc_lit_3108123016971750, ptr %t282, ptr %t284)
+ %t285 = load i32, ptr %exc.cell
+ %t286 = icmp ne i32 %t285, 0
+ %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false)
+ br i1 %t287, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t277)
+ call void @sc_rc_release_dyn(ptr %t282)
+ call void @sc_rc_release_dyn(ptr %t284)
+ ret void
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t277)
+ call void @sc_rc_release_dyn(ptr %t282)
+ call void @sc_rc_release_dyn(ptr %t284)
+ ret void
+if.j111:
+ %t288 = load ptr, ptr %sc_l_p_0
+ %t289 = call ptr @sc_rc_retain_dyn(ptr %t288)
+ %t290 = call ptr @sc_f__x25_dyn_class_properties(ptr %t289)
+ %t291 = load i32, ptr %exc.cell
+ %t292 = icmp ne i32 %t291, 0
+ %t293 = call i1 @llvm.expect.i1(i1 %t292, i1 false)
+ br i1 %t293, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t290)
+ ret void
+exc.k117:
+ %t294 = load ptr, ptr %sc_l_key_string
+ %t295 = call ptr @sc_rc_retain_str(ptr %t294)
+ %t296 = load ptr, ptr %sc_l_p_1
+ %t297 = call ptr @sc_rc_retain_dyn(ptr %t296)
+ %t298 = load ptr, ptr %sc_l_p_receiver
+ %t299 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t298, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t290, ptr %t295, ptr %t297, ptr %t299)
+ %t300 = load i32, ptr %exc.cell
+ %t301 = icmp ne i32 %t300, 0
+ %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false)
+ br i1 %t302, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t290)
+ call void @scr_str_release(ptr %t295)
+ call void @sc_rc_release_dyn(ptr %t297)
+ call void @sc_rc_release_dyn(ptr %t299)
+ ret void
+exc.k119:
+ call void @sc_rc_release_dyn(ptr %t290)
+ call void @scr_str_release(ptr %t295)
+ call void @sc_rc_release_dyn(ptr %t297)
+ call void @sc_rc_release_dyn(ptr %t299)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_471(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_471(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_472(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.472
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_127274431826284(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call double @sc_dc_2(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t6, i64 0, i32 3
+ store double %t8, ptr %t12, !tbaa !52
+ ret void
+if.j3:
+ %t13 = load ptr, ptr %sc_l_key_string
+ %t14 = call zeroext i1 @sc_streq_3231205774586710(ptr %t13)
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_p_receiver
+ %t16 = load ptr, ptr %sc_l_p_1
+ %t17 = call ptr @sc_dc_1(ptr %t16, ptr null)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_arr_release(ptr %t17)
+ ret void
+exc.k9:
+ %t21 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t15, i64 0, i32 4
+ %t22 = load ptr, ptr %t21
+ store ptr %t17, ptr %t21, !tbaa !54
+ call void @scr_arr_release(ptr %t22)
+ ret void
+if.j7:
+ %t23 = load ptr, ptr %sc_l_key_string
+ %t24 = call zeroext i1 @sc_streq_538032548850790(ptr %t23)
+ br i1 %t24, label %if.t10, label %if.j11
+if.t10:
+ %t25 = load ptr, ptr %sc_l_p_receiver
+ %t26 = load ptr, ptr %sc_l_p_1
+ %t27 = call ptr @sc_dc_1(ptr %t26, ptr null)
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_arr_release(ptr %t27)
+ ret void
+exc.k13:
+ %t31 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t25, i64 0, i32 5
+ %t32 = load ptr, ptr %t31
+ store ptr %t27, ptr %t31, !tbaa !56
+ call void @scr_arr_release(ptr %t32)
+ ret void
+if.j11:
+ %t33 = load ptr, ptr %sc_l_key_string
+ %t34 = call zeroext i1 @sc_streq_4231320391602270(ptr %t33)
+ br i1 %t34, label %if.t14, label %if.j15
+if.t14:
+ %t35 = load ptr, ptr %sc_l_p_receiver
+ %t36 = load ptr, ptr %sc_l_p_1
+ %t37 = call ptr @sc_dc_1(ptr %t36, ptr null)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_arr_release(ptr %t37)
+ ret void
+exc.k17:
+ %t41 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t35, i64 0, i32 6
+ %t42 = load ptr, ptr %t41
+ store ptr %t37, ptr %t41, !tbaa !58
+ call void @scr_arr_release(ptr %t42)
+ ret void
+if.j15:
+ %t43 = load ptr, ptr %sc_l_key_string
+ %t44 = call zeroext i1 @sc_streq_2537232771826273(ptr %t43)
+ br i1 %t44, label %if.t18, label %if.j19
+if.t18:
+ %t45 = load ptr, ptr %sc_l_p_receiver
+ %t46 = load ptr, ptr %sc_l_p_1
+ %t47 = call ptr @sc_dc_1(ptr %t46, ptr null)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_arr_release(ptr %t47)
+ ret void
+exc.k21:
+ %t51 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t45, i64 0, i32 7
+ %t52 = load ptr, ptr %t51
+ store ptr %t47, ptr %t51, !tbaa !60
+ call void @scr_arr_release(ptr %t52)
+ ret void
+if.j19:
+ %t53 = load ptr, ptr %sc_l_key_string
+ %t54 = call zeroext i1 @sc_streq_2163543391075186(ptr %t53)
+ br i1 %t54, label %if.t22, label %if.j23
+if.t22:
+ %t55 = load ptr, ptr %sc_l_p_receiver
+ %t56 = load ptr, ptr %sc_l_p_1
+ %t57 = call zeroext i1 @sc_dc_3(ptr %t56, ptr null)
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u24, label %exc.k25
+exc.u24:
+ ret void
+exc.k25:
+ %t61 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t55, i64 0, i32 8
+ %t62 = zext i1 %t57 to i8
+ store i8 %t62, ptr %t61, !tbaa !42
+ ret void
+if.j23:
+ %t63 = load ptr, ptr %sc_l_key_string
+ %t64 = call zeroext i1 @sc_streq_1579912071364319(ptr %t63)
+ br i1 %t64, label %if.t26, label %if.j27
+if.t26:
+ %t65 = load ptr, ptr %sc_l_p_receiver
+ %t66 = load ptr, ptr %sc_l_p_1
+ %t67 = call zeroext i1 @sc_dc_3(ptr %t66, ptr null)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u28, label %exc.k29
+exc.u28:
+ ret void
+exc.k29:
+ %t71 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t65, i64 0, i32 9
+ %t72 = zext i1 %t67 to i8
+ store i8 %t72, ptr %t71, !tbaa !62
+ ret void
+if.j27:
+ %t73 = load ptr, ptr %sc_l_key_string
+ %t74 = call zeroext i1 @sc_streq_1640919894513317(ptr %t73)
+ br i1 %t74, label %if.t30, label %if.j31
+if.t30:
+ %t75 = load ptr, ptr %sc_l_p_receiver
+ %t76 = load ptr, ptr %sc_l_p_1
+ %t77 = call ptr @sc_dc_4(ptr %t76, ptr null)
+ %t78 = load i32, ptr %exc.cell
+ %t79 = icmp ne i32 %t78, 0
+ %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false)
+ br i1 %t80, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rrelease_r1(ptr %t77)
+ ret void
+exc.k33:
+ %t81 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t75, i64 0, i32 10
+ %t82 = load ptr, ptr %t81
+ store ptr %t77, ptr %t81, !tbaa !64
+ call void @sc_rrelease_r1(ptr %t82)
+ ret void
+if.j31:
+ %t83 = load ptr, ptr %sc_l_key_string
+ %t84 = call zeroext i1 @sc_streq_4191962028163388(ptr %t83)
+ br i1 %t84, label %if.t34, label %if.j35
+if.t34:
+ %t85 = load ptr, ptr %sc_l_p_receiver
+ %t86 = load ptr, ptr %sc_l_p_1
+ %t87 = call zeroext i1 @sc_dc_3(ptr %t86, ptr null)
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u36, label %exc.k37
+exc.u36:
+ ret void
+exc.k37:
+ %t91 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t85, i64 0, i32 11
+ %t92 = zext i1 %t87 to i8
+ store i8 %t92, ptr %t91, !tbaa !66
+ ret void
+if.j35:
+ %t93 = load ptr, ptr %sc_l_key_string
+ %t94 = call zeroext i1 @sc_streq_2098081682588801(ptr %t93)
+ br i1 %t94, label %if.t38, label %if.j39
+if.t38:
+ %t95 = load ptr, ptr %sc_l_p_receiver
+ %t96 = load ptr, ptr %sc_l_p_1
+ %t97 = call ptr @sc_dc_7(ptr %t96, ptr null)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rrelease_r2(ptr %t97)
+ ret void
+exc.k41:
+ %t101 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t95, i64 0, i32 12
+ %t102 = load ptr, ptr %t101
+ store ptr %t97, ptr %t101, !tbaa !68
+ call void @sc_rrelease_r2(ptr %t102)
+ ret void
+if.j39:
+ %t103 = load ptr, ptr %sc_l_key_string
+ %t104 = call zeroext i1 @sc_streq_4448851817182856(ptr %t103)
+ br i1 %t104, label %if.t42, label %if.j43
+if.t42:
+ %t105 = load ptr, ptr %sc_l_p_receiver
+ %t106 = load ptr, ptr %sc_l_p_1
+ %t107 = call zeroext i1 @sc_dc_3(ptr %t106, ptr null)
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u44, label %exc.k45
+exc.u44:
+ ret void
+exc.k45:
+ %t111 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t105, i64 0, i32 13
+ %t112 = zext i1 %t107 to i8
+ store i8 %t112, ptr %t111, !tbaa !70
+ ret void
+if.j43:
+ %t113 = load ptr, ptr %sc_l_key_string
+ %t114 = call zeroext i1 @sc_streq_3752021314181142(ptr %t113)
+ br i1 %t114, label %if.t46, label %if.j47
+if.t46:
+ %t115 = load ptr, ptr %sc_l_p_receiver
+ %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t117 = call ptr @sc_f__x25_dyn_class_properties(ptr %t116)
+ %t118 = load i32, ptr %exc.cell
+ %t119 = icmp ne i32 %t118, 0
+ %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false)
+ br i1 %t120, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret void
+exc.k49:
+ %t121 = load ptr, ptr %sc_l_p_1
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = load ptr, ptr %sc_l_p_receiver
+ %t124 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t123, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t117, ptr @sc_lit_3752021314181142, ptr %t122, ptr %t124)
+ %t125 = load i32, ptr %exc.cell
+ %t126 = icmp ne i32 %t125, 0
+ %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false)
+ br i1 %t127, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ ret void
+exc.k51:
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ ret void
+if.j47:
+ %t128 = load ptr, ptr %sc_l_key_string
+ %t129 = call zeroext i1 @sc_streq_2364278031517622(ptr %t128)
+ br i1 %t129, label %if.t52, label %if.j53
+if.t52:
+ %t130 = load ptr, ptr %sc_l_p_receiver
+ %t131 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t130, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t132 = call ptr @sc_f__x25_dyn_class_properties(ptr %t131)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret void
+exc.k55:
+ %t136 = load ptr, ptr %sc_l_p_1
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t138 = load ptr, ptr %sc_l_p_receiver
+ %t139 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t138, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t132, ptr @sc_lit_2364278031517622, ptr %t137, ptr %t139)
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t132)
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_rc_release_dyn(ptr %t139)
+ ret void
+exc.k57:
+ call void @sc_rc_release_dyn(ptr %t132)
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_rc_release_dyn(ptr %t139)
+ ret void
+if.j53:
+ %t143 = load ptr, ptr %sc_l_key_string
+ %t144 = call zeroext i1 @sc_streq_470306239805907(ptr %t143)
+ br i1 %t144, label %if.t58, label %if.j59
+if.t58:
+ %t145 = load ptr, ptr %sc_l_p_receiver
+ %t146 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t145, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t147 = call ptr @sc_f__x25_dyn_class_properties(ptr %t146)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t147)
+ ret void
+exc.k61:
+ %t151 = load ptr, ptr %sc_l_p_1
+ %t152 = call ptr @sc_rc_retain_dyn(ptr %t151)
+ %t153 = load ptr, ptr %sc_l_p_receiver
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t147, ptr @sc_lit_470306239805907, ptr %t152, ptr %t154)
+ %t155 = load i32, ptr %exc.cell
+ %t156 = icmp ne i32 %t155, 0
+ %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false)
+ br i1 %t157, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t147)
+ call void @sc_rc_release_dyn(ptr %t152)
+ call void @sc_rc_release_dyn(ptr %t154)
+ ret void
+exc.k63:
+ call void @sc_rc_release_dyn(ptr %t147)
+ call void @sc_rc_release_dyn(ptr %t152)
+ call void @sc_rc_release_dyn(ptr %t154)
+ ret void
+if.j59:
+ %t158 = load ptr, ptr %sc_l_key_string
+ %t159 = call zeroext i1 @sc_streq_4133069531575059(ptr %t158)
+ br i1 %t159, label %if.t64, label %if.j65
+if.t64:
+ %t160 = load ptr, ptr %sc_l_p_receiver
+ %t161 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t160, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t162 = call ptr @sc_f__x25_dyn_class_properties(ptr %t161)
+ %t163 = load i32, ptr %exc.cell
+ %t164 = icmp ne i32 %t163, 0
+ %t165 = call i1 @llvm.expect.i1(i1 %t164, i1 false)
+ br i1 %t165, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t162)
+ ret void
+exc.k67:
+ %t166 = load ptr, ptr %sc_l_p_1
+ %t167 = call ptr @sc_rc_retain_dyn(ptr %t166)
+ %t168 = load ptr, ptr %sc_l_p_receiver
+ %t169 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t168, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t162, ptr @sc_lit_4133069531575059, ptr %t167, ptr %t169)
+ %t170 = load i32, ptr %exc.cell
+ %t171 = icmp ne i32 %t170, 0
+ %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false)
+ br i1 %t172, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t167)
+ call void @sc_rc_release_dyn(ptr %t169)
+ ret void
+exc.k69:
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t167)
+ call void @sc_rc_release_dyn(ptr %t169)
+ ret void
+if.j65:
+ %t173 = load ptr, ptr %sc_l_key_string
+ %t174 = call zeroext i1 @sc_streq_2253648670486996(ptr %t173)
+ br i1 %t174, label %if.t70, label %if.j71
+if.t70:
+ %t175 = load ptr, ptr %sc_l_p_receiver
+ %t176 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t175, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t177 = call ptr @sc_f__x25_dyn_class_properties(ptr %t176)
+ %t178 = load i32, ptr %exc.cell
+ %t179 = icmp ne i32 %t178, 0
+ %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false)
+ br i1 %t180, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t177)
+ ret void
+exc.k73:
+ %t181 = load ptr, ptr %sc_l_p_1
+ %t182 = call ptr @sc_rc_retain_dyn(ptr %t181)
+ %t183 = load ptr, ptr %sc_l_p_receiver
+ %t184 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t183, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t177, ptr @sc_lit_2253648670486996, ptr %t182, ptr %t184)
+ %t185 = load i32, ptr %exc.cell
+ %t186 = icmp ne i32 %t185, 0
+ %t187 = call i1 @llvm.expect.i1(i1 %t186, i1 false)
+ br i1 %t187, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t182)
+ call void @sc_rc_release_dyn(ptr %t184)
+ ret void
+exc.k75:
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t182)
+ call void @sc_rc_release_dyn(ptr %t184)
+ ret void
+if.j71:
+ %t188 = load ptr, ptr %sc_l_key_string
+ %t189 = call zeroext i1 @sc_streq_161925136240866(ptr %t188)
+ br i1 %t189, label %if.t76, label %if.j77
+if.t76:
+ %t190 = load ptr, ptr %sc_l_p_receiver
+ %t191 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t190, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t192 = call ptr @sc_f__x25_dyn_class_properties(ptr %t191)
+ %t193 = load i32, ptr %exc.cell
+ %t194 = icmp ne i32 %t193, 0
+ %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false)
+ br i1 %t195, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t192)
+ ret void
+exc.k79:
+ %t196 = load ptr, ptr %sc_l_p_1
+ %t197 = call ptr @sc_rc_retain_dyn(ptr %t196)
+ %t198 = load ptr, ptr %sc_l_p_receiver
+ %t199 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t198, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t192, ptr @sc_lit_161925136240866, ptr %t197, ptr %t199)
+ %t200 = load i32, ptr %exc.cell
+ %t201 = icmp ne i32 %t200, 0
+ %t202 = call i1 @llvm.expect.i1(i1 %t201, i1 false)
+ br i1 %t202, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @sc_rc_release_dyn(ptr %t192)
+ call void @sc_rc_release_dyn(ptr %t197)
+ call void @sc_rc_release_dyn(ptr %t199)
+ ret void
+exc.k81:
+ call void @sc_rc_release_dyn(ptr %t192)
+ call void @sc_rc_release_dyn(ptr %t197)
+ call void @sc_rc_release_dyn(ptr %t199)
+ ret void
+if.j77:
+ %t203 = load ptr, ptr %sc_l_key_string
+ %t204 = call zeroext i1 @sc_streq_298897322184109(ptr %t203)
+ br i1 %t204, label %if.t82, label %if.j83
+if.t82:
+ %t205 = load ptr, ptr %sc_l_p_receiver
+ %t206 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t205, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t207 = call ptr @sc_f__x25_dyn_class_properties(ptr %t206)
+ %t208 = load i32, ptr %exc.cell
+ %t209 = icmp ne i32 %t208, 0
+ %t210 = call i1 @llvm.expect.i1(i1 %t209, i1 false)
+ br i1 %t210, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t207)
+ ret void
+exc.k85:
+ %t211 = load ptr, ptr %sc_l_p_1
+ %t212 = call ptr @sc_rc_retain_dyn(ptr %t211)
+ %t213 = load ptr, ptr %sc_l_p_receiver
+ %t214 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t213, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t207, ptr @sc_lit_298897322184109, ptr %t212, ptr %t214)
+ %t215 = load i32, ptr %exc.cell
+ %t216 = icmp ne i32 %t215, 0
+ %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false)
+ br i1 %t217, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t207)
+ call void @sc_rc_release_dyn(ptr %t212)
+ call void @sc_rc_release_dyn(ptr %t214)
+ ret void
+exc.k87:
+ call void @sc_rc_release_dyn(ptr %t207)
+ call void @sc_rc_release_dyn(ptr %t212)
+ call void @sc_rc_release_dyn(ptr %t214)
+ ret void
+if.j83:
+ %t218 = load ptr, ptr %sc_l_key_string
+ %t219 = call zeroext i1 @sc_streq_4085448292571548(ptr %t218)
+ br i1 %t219, label %if.t88, label %if.j89
+if.t88:
+ %t220 = load ptr, ptr %sc_l_p_receiver
+ %t221 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t220, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t222 = call ptr @sc_f__x25_dyn_class_properties(ptr %t221)
+ %t223 = load i32, ptr %exc.cell
+ %t224 = icmp ne i32 %t223, 0
+ %t225 = call i1 @llvm.expect.i1(i1 %t224, i1 false)
+ br i1 %t225, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t222)
+ ret void
+exc.k91:
+ %t226 = load ptr, ptr %sc_l_p_1
+ %t227 = call ptr @sc_rc_retain_dyn(ptr %t226)
+ %t228 = load ptr, ptr %sc_l_p_receiver
+ %t229 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t228, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t222, ptr @sc_lit_4085448292571548, ptr %t227, ptr %t229)
+ %t230 = load i32, ptr %exc.cell
+ %t231 = icmp ne i32 %t230, 0
+ %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false)
+ br i1 %t232, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t222)
+ call void @sc_rc_release_dyn(ptr %t227)
+ call void @sc_rc_release_dyn(ptr %t229)
+ ret void
+exc.k93:
+ call void @sc_rc_release_dyn(ptr %t222)
+ call void @sc_rc_release_dyn(ptr %t227)
+ call void @sc_rc_release_dyn(ptr %t229)
+ ret void
+if.j89:
+ %t233 = load ptr, ptr %sc_l_key_string
+ %t234 = call zeroext i1 @sc_streq_3561861343106386(ptr %t233)
+ br i1 %t234, label %if.t94, label %if.j95
+if.t94:
+ %t235 = load ptr, ptr %sc_l_p_receiver
+ %t236 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t235, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t237 = call ptr @sc_f__x25_dyn_class_properties(ptr %t236)
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t237)
+ ret void
+exc.k97:
+ %t241 = load ptr, ptr %sc_l_p_1
+ %t242 = call ptr @sc_rc_retain_dyn(ptr %t241)
+ %t243 = load ptr, ptr %sc_l_p_receiver
+ %t244 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t243, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t237, ptr @sc_lit_3561861343106386, ptr %t242, ptr %t244)
+ %t245 = load i32, ptr %exc.cell
+ %t246 = icmp ne i32 %t245, 0
+ %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false)
+ br i1 %t247, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @sc_rc_release_dyn(ptr %t237)
+ call void @sc_rc_release_dyn(ptr %t242)
+ call void @sc_rc_release_dyn(ptr %t244)
+ ret void
+exc.k99:
+ call void @sc_rc_release_dyn(ptr %t237)
+ call void @sc_rc_release_dyn(ptr %t242)
+ call void @sc_rc_release_dyn(ptr %t244)
+ ret void
+if.j95:
+ %t248 = load ptr, ptr %sc_l_key_string
+ %t249 = call zeroext i1 @sc_streq_3108123016971750(ptr %t248)
+ br i1 %t249, label %if.t100, label %if.j101
+if.t100:
+ %t250 = load ptr, ptr %sc_l_p_receiver
+ %t251 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t250, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t252 = call ptr @sc_f__x25_dyn_class_properties(ptr %t251)
+ %t253 = load i32, ptr %exc.cell
+ %t254 = icmp ne i32 %t253, 0
+ %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false)
+ br i1 %t255, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t252)
+ ret void
+exc.k103:
+ %t256 = load ptr, ptr %sc_l_p_1
+ %t257 = call ptr @sc_rc_retain_dyn(ptr %t256)
+ %t258 = load ptr, ptr %sc_l_p_receiver
+ %t259 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t258, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t252, ptr @sc_lit_3108123016971750, ptr %t257, ptr %t259)
+ %t260 = load i32, ptr %exc.cell
+ %t261 = icmp ne i32 %t260, 0
+ %t262 = call i1 @llvm.expect.i1(i1 %t261, i1 false)
+ br i1 %t262, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t252)
+ call void @sc_rc_release_dyn(ptr %t257)
+ call void @sc_rc_release_dyn(ptr %t259)
+ ret void
+exc.k105:
+ call void @sc_rc_release_dyn(ptr %t252)
+ call void @sc_rc_release_dyn(ptr %t257)
+ call void @sc_rc_release_dyn(ptr %t259)
+ ret void
+if.j101:
+ %t263 = load ptr, ptr %sc_l_key_string
+ %t264 = call zeroext i1 @sc_streq_2529432852777196(ptr %t263)
+ br i1 %t264, label %if.t106, label %if.j107
+if.t106:
+ %t265 = load ptr, ptr %sc_l_p_receiver
+ %t266 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t265, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t267 = call ptr @sc_f__x25_dyn_class_properties(ptr %t266)
+ %t268 = load i32, ptr %exc.cell
+ %t269 = icmp ne i32 %t268, 0
+ %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false)
+ br i1 %t270, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t267)
+ ret void
+exc.k109:
+ %t271 = load ptr, ptr %sc_l_p_1
+ %t272 = call ptr @sc_rc_retain_dyn(ptr %t271)
+ %t273 = load ptr, ptr %sc_l_p_receiver
+ %t274 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t273, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t267, ptr @sc_lit_2529432852777196, ptr %t272, ptr %t274)
+ %t275 = load i32, ptr %exc.cell
+ %t276 = icmp ne i32 %t275, 0
+ %t277 = call i1 @llvm.expect.i1(i1 %t276, i1 false)
+ br i1 %t277, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @sc_rc_release_dyn(ptr %t267)
+ call void @sc_rc_release_dyn(ptr %t272)
+ call void @sc_rc_release_dyn(ptr %t274)
+ ret void
+exc.k111:
+ call void @sc_rc_release_dyn(ptr %t267)
+ call void @sc_rc_release_dyn(ptr %t272)
+ call void @sc_rc_release_dyn(ptr %t274)
+ ret void
+if.j107:
+ %t278 = load ptr, ptr %sc_l_key_string
+ %t279 = call zeroext i1 @sc_streq_4297539476301093(ptr %t278)
+ br i1 %t279, label %if.t112, label %if.j113
+if.t112:
+ %t280 = load ptr, ptr %sc_l_p_receiver
+ %t281 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t280, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t282 = call ptr @sc_f__x25_dyn_class_properties(ptr %t281)
+ %t283 = load i32, ptr %exc.cell
+ %t284 = icmp ne i32 %t283, 0
+ %t285 = call i1 @llvm.expect.i1(i1 %t284, i1 false)
+ br i1 %t285, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t282)
+ ret void
+exc.k115:
+ %t286 = load ptr, ptr %sc_l_p_1
+ %t287 = call ptr @sc_rc_retain_dyn(ptr %t286)
+ %t288 = load ptr, ptr %sc_l_p_receiver
+ %t289 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t288, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t282, ptr @sc_lit_4297539476301093, ptr %t287, ptr %t289)
+ %t290 = load i32, ptr %exc.cell
+ %t291 = icmp ne i32 %t290, 0
+ %t292 = call i1 @llvm.expect.i1(i1 %t291, i1 false)
+ br i1 %t292, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t282)
+ call void @sc_rc_release_dyn(ptr %t287)
+ call void @sc_rc_release_dyn(ptr %t289)
+ ret void
+exc.k117:
+ call void @sc_rc_release_dyn(ptr %t282)
+ call void @sc_rc_release_dyn(ptr %t287)
+ call void @sc_rc_release_dyn(ptr %t289)
+ ret void
+if.j113:
+ %t293 = load ptr, ptr %sc_l_key_string
+ %t294 = call zeroext i1 @sc_streq_181663572509014(ptr %t293)
+ br i1 %t294, label %if.t118, label %if.j119
+if.t118:
+ %t295 = load ptr, ptr %sc_l_p_receiver
+ %t296 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t295, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t297 = call ptr @sc_f__x25_dyn_class_properties(ptr %t296)
+ %t298 = load i32, ptr %exc.cell
+ %t299 = icmp ne i32 %t298, 0
+ %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false)
+ br i1 %t300, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @sc_rc_release_dyn(ptr %t297)
+ ret void
+exc.k121:
+ %t301 = load ptr, ptr %sc_l_p_1
+ %t302 = call ptr @sc_rc_retain_dyn(ptr %t301)
+ %t303 = load ptr, ptr %sc_l_p_receiver
+ %t304 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t303, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t297, ptr @sc_lit_181663572509014, ptr %t302, ptr %t304)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @sc_rc_release_dyn(ptr %t297)
+ call void @sc_rc_release_dyn(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ ret void
+exc.k123:
+ call void @sc_rc_release_dyn(ptr %t297)
+ call void @sc_rc_release_dyn(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ ret void
+if.j119:
+ %t308 = load ptr, ptr %sc_l_key_string
+ %t309 = call zeroext i1 @sc_streq_992600386266231(ptr %t308)
+ br i1 %t309, label %if.t124, label %if.j125
+if.t124:
+ %t310 = load ptr, ptr %sc_l_p_receiver
+ %t311 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t310, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t312 = call ptr @sc_f__x25_dyn_class_properties(ptr %t311)
+ %t313 = load i32, ptr %exc.cell
+ %t314 = icmp ne i32 %t313, 0
+ %t315 = call i1 @llvm.expect.i1(i1 %t314, i1 false)
+ br i1 %t315, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t312)
+ ret void
+exc.k127:
+ %t316 = load ptr, ptr %sc_l_p_1
+ %t317 = call ptr @sc_rc_retain_dyn(ptr %t316)
+ %t318 = load ptr, ptr %sc_l_p_receiver
+ %t319 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t318, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t312, ptr @sc_lit_992600386266231, ptr %t317, ptr %t319)
+ %t320 = load i32, ptr %exc.cell
+ %t321 = icmp ne i32 %t320, 0
+ %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false)
+ br i1 %t322, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @sc_rc_release_dyn(ptr %t312)
+ call void @sc_rc_release_dyn(ptr %t317)
+ call void @sc_rc_release_dyn(ptr %t319)
+ ret void
+exc.k129:
+ call void @sc_rc_release_dyn(ptr %t312)
+ call void @sc_rc_release_dyn(ptr %t317)
+ call void @sc_rc_release_dyn(ptr %t319)
+ ret void
+if.j125:
+ %t323 = load ptr, ptr %sc_l_key_string
+ %t324 = call zeroext i1 @sc_streq_4198614539576238(ptr %t323)
+ br i1 %t324, label %if.t130, label %if.j131
+if.t130:
+ %t325 = load ptr, ptr %sc_l_p_receiver
+ %t326 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t325, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t327 = call ptr @sc_f__x25_dyn_class_properties(ptr %t326)
+ %t328 = load i32, ptr %exc.cell
+ %t329 = icmp ne i32 %t328, 0
+ %t330 = call i1 @llvm.expect.i1(i1 %t329, i1 false)
+ br i1 %t330, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @sc_rc_release_dyn(ptr %t327)
+ ret void
+exc.k133:
+ %t331 = load ptr, ptr %sc_l_p_1
+ %t332 = call ptr @sc_rc_retain_dyn(ptr %t331)
+ %t333 = load ptr, ptr %sc_l_p_receiver
+ %t334 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t333, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t327, ptr @sc_lit_4198614539576238, ptr %t332, ptr %t334)
+ %t335 = load i32, ptr %exc.cell
+ %t336 = icmp ne i32 %t335, 0
+ %t337 = call i1 @llvm.expect.i1(i1 %t336, i1 false)
+ br i1 %t337, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t327)
+ call void @sc_rc_release_dyn(ptr %t332)
+ call void @sc_rc_release_dyn(ptr %t334)
+ ret void
+exc.k135:
+ call void @sc_rc_release_dyn(ptr %t327)
+ call void @sc_rc_release_dyn(ptr %t332)
+ call void @sc_rc_release_dyn(ptr %t334)
+ ret void
+if.j131:
+ %t338 = load ptr, ptr %sc_l_key_string
+ %t339 = call zeroext i1 @sc_streq_1959461887910059(ptr %t338)
+ br i1 %t339, label %if.t136, label %if.j137
+if.t136:
+ %t340 = load ptr, ptr %sc_l_p_receiver
+ %t341 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t340, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t342 = call ptr @sc_f__x25_dyn_class_properties(ptr %t341)
+ %t343 = load i32, ptr %exc.cell
+ %t344 = icmp ne i32 %t343, 0
+ %t345 = call i1 @llvm.expect.i1(i1 %t344, i1 false)
+ br i1 %t345, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t342)
+ ret void
+exc.k139:
+ %t346 = load ptr, ptr %sc_l_p_1
+ %t347 = call ptr @sc_rc_retain_dyn(ptr %t346)
+ %t348 = load ptr, ptr %sc_l_p_receiver
+ %t349 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t348, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t342, ptr @sc_lit_1959461887910059, ptr %t347, ptr %t349)
+ %t350 = load i32, ptr %exc.cell
+ %t351 = icmp ne i32 %t350, 0
+ %t352 = call i1 @llvm.expect.i1(i1 %t351, i1 false)
+ br i1 %t352, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t342)
+ call void @sc_rc_release_dyn(ptr %t347)
+ call void @sc_rc_release_dyn(ptr %t349)
+ ret void
+exc.k141:
+ call void @sc_rc_release_dyn(ptr %t342)
+ call void @sc_rc_release_dyn(ptr %t347)
+ call void @sc_rc_release_dyn(ptr %t349)
+ ret void
+if.j137:
+ %t353 = load ptr, ptr %sc_l_key_string
+ %t354 = call zeroext i1 @sc_streq_4028208071947570(ptr %t353)
+ br i1 %t354, label %if.t142, label %if.j143
+if.t142:
+ %t355 = load ptr, ptr %sc_l_p_receiver
+ %t356 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t355, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t357 = call ptr @sc_f__x25_dyn_class_properties(ptr %t356)
+ %t358 = load i32, ptr %exc.cell
+ %t359 = icmp ne i32 %t358, 0
+ %t360 = call i1 @llvm.expect.i1(i1 %t359, i1 false)
+ br i1 %t360, label %exc.u144, label %exc.k145
+exc.u144:
+ call void @sc_rc_release_dyn(ptr %t357)
+ ret void
+exc.k145:
+ %t361 = load ptr, ptr %sc_l_p_1
+ %t362 = call ptr @sc_rc_retain_dyn(ptr %t361)
+ %t363 = load ptr, ptr %sc_l_p_receiver
+ %t364 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t363, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t357, ptr @sc_lit_4028208071947570, ptr %t362, ptr %t364)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @sc_rc_release_dyn(ptr %t357)
+ call void @sc_rc_release_dyn(ptr %t362)
+ call void @sc_rc_release_dyn(ptr %t364)
+ ret void
+exc.k147:
+ call void @sc_rc_release_dyn(ptr %t357)
+ call void @sc_rc_release_dyn(ptr %t362)
+ call void @sc_rc_release_dyn(ptr %t364)
+ ret void
+if.j143:
+ %t368 = load ptr, ptr %sc_l_key_string
+ %t369 = call zeroext i1 @sc_streq_3908714124573206(ptr %t368)
+ br i1 %t369, label %if.t148, label %if.j149
+if.t148:
+ %t370 = load ptr, ptr %sc_l_p_receiver
+ %t371 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t370, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t372 = call ptr @sc_f__x25_dyn_class_properties(ptr %t371)
+ %t373 = load i32, ptr %exc.cell
+ %t374 = icmp ne i32 %t373, 0
+ %t375 = call i1 @llvm.expect.i1(i1 %t374, i1 false)
+ br i1 %t375, label %exc.u150, label %exc.k151
+exc.u150:
+ call void @sc_rc_release_dyn(ptr %t372)
+ ret void
+exc.k151:
+ %t376 = load ptr, ptr %sc_l_p_1
+ %t377 = call ptr @sc_rc_retain_dyn(ptr %t376)
+ %t378 = load ptr, ptr %sc_l_p_receiver
+ %t379 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t378, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t372, ptr @sc_lit_3908714124573206, ptr %t377, ptr %t379)
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u152, label %exc.k153
+exc.u152:
+ call void @sc_rc_release_dyn(ptr %t372)
+ call void @sc_rc_release_dyn(ptr %t377)
+ call void @sc_rc_release_dyn(ptr %t379)
+ ret void
+exc.k153:
+ call void @sc_rc_release_dyn(ptr %t372)
+ call void @sc_rc_release_dyn(ptr %t377)
+ call void @sc_rc_release_dyn(ptr %t379)
+ ret void
+if.j149:
+ %t383 = load ptr, ptr %sc_l_p_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = call ptr @sc_f__x25_dyn_class_properties(ptr %t384)
+ %t386 = load i32, ptr %exc.cell
+ %t387 = icmp ne i32 %t386, 0
+ %t388 = call i1 @llvm.expect.i1(i1 %t387, i1 false)
+ br i1 %t388, label %exc.u154, label %exc.k155
+exc.u154:
+ call void @sc_rc_release_dyn(ptr %t385)
+ ret void
+exc.k155:
+ %t389 = load ptr, ptr %sc_l_key_string
+ %t390 = call ptr @sc_rc_retain_str(ptr %t389)
+ %t391 = load ptr, ptr %sc_l_p_1
+ %t392 = call ptr @sc_rc_retain_dyn(ptr %t391)
+ %t393 = load ptr, ptr %sc_l_p_receiver
+ %t394 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t393, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t385, ptr %t390, ptr %t392, ptr %t394)
+ %t395 = load i32, ptr %exc.cell
+ %t396 = icmp ne i32 %t395, 0
+ %t397 = call i1 @llvm.expect.i1(i1 %t396, i1 false)
+ br i1 %t397, label %exc.u156, label %exc.k157
+exc.u156:
+ call void @sc_rc_release_dyn(ptr %t385)
+ call void @scr_str_release(ptr %t390)
+ call void @sc_rc_release_dyn(ptr %t392)
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret void
+exc.k157:
+ call void @sc_rc_release_dyn(ptr %t385)
+ call void @scr_str_release(ptr %t390)
+ call void @sc_rc_release_dyn(ptr %t392)
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_472(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_472(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_473(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.473
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_127274431826284(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call double @sc_dc_2(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t6, i64 0, i32 3
+ store double %t8, ptr %t12, !tbaa !52
+ ret void
+if.j3:
+ %t13 = load ptr, ptr %sc_l_key_string
+ %t14 = call zeroext i1 @sc_streq_3231205774586710(ptr %t13)
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_p_receiver
+ %t16 = load ptr, ptr %sc_l_p_1
+ %t17 = call ptr @sc_dc_1(ptr %t16, ptr null)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_arr_release(ptr %t17)
+ ret void
+exc.k9:
+ %t21 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t15, i64 0, i32 4
+ %t22 = load ptr, ptr %t21
+ store ptr %t17, ptr %t21, !tbaa !54
+ call void @scr_arr_release(ptr %t22)
+ ret void
+if.j7:
+ %t23 = load ptr, ptr %sc_l_key_string
+ %t24 = call zeroext i1 @sc_streq_538032548850790(ptr %t23)
+ br i1 %t24, label %if.t10, label %if.j11
+if.t10:
+ %t25 = load ptr, ptr %sc_l_p_receiver
+ %t26 = load ptr, ptr %sc_l_p_1
+ %t27 = call ptr @sc_dc_1(ptr %t26, ptr null)
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_arr_release(ptr %t27)
+ ret void
+exc.k13:
+ %t31 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t25, i64 0, i32 5
+ %t32 = load ptr, ptr %t31
+ store ptr %t27, ptr %t31, !tbaa !56
+ call void @scr_arr_release(ptr %t32)
+ ret void
+if.j11:
+ %t33 = load ptr, ptr %sc_l_key_string
+ %t34 = call zeroext i1 @sc_streq_4231320391602270(ptr %t33)
+ br i1 %t34, label %if.t14, label %if.j15
+if.t14:
+ %t35 = load ptr, ptr %sc_l_p_receiver
+ %t36 = load ptr, ptr %sc_l_p_1
+ %t37 = call ptr @sc_dc_1(ptr %t36, ptr null)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_arr_release(ptr %t37)
+ ret void
+exc.k17:
+ %t41 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t35, i64 0, i32 6
+ %t42 = load ptr, ptr %t41
+ store ptr %t37, ptr %t41, !tbaa !58
+ call void @scr_arr_release(ptr %t42)
+ ret void
+if.j15:
+ %t43 = load ptr, ptr %sc_l_key_string
+ %t44 = call zeroext i1 @sc_streq_2537232771826273(ptr %t43)
+ br i1 %t44, label %if.t18, label %if.j19
+if.t18:
+ %t45 = load ptr, ptr %sc_l_p_receiver
+ %t46 = load ptr, ptr %sc_l_p_1
+ %t47 = call ptr @sc_dc_1(ptr %t46, ptr null)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_arr_release(ptr %t47)
+ ret void
+exc.k21:
+ %t51 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t45, i64 0, i32 7
+ %t52 = load ptr, ptr %t51
+ store ptr %t47, ptr %t51, !tbaa !60
+ call void @scr_arr_release(ptr %t52)
+ ret void
+if.j19:
+ %t53 = load ptr, ptr %sc_l_key_string
+ %t54 = call zeroext i1 @sc_streq_2163543391075186(ptr %t53)
+ br i1 %t54, label %if.t22, label %if.j23
+if.t22:
+ %t55 = load ptr, ptr %sc_l_p_receiver
+ %t56 = load ptr, ptr %sc_l_p_1
+ %t57 = call zeroext i1 @sc_dc_3(ptr %t56, ptr null)
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u24, label %exc.k25
+exc.u24:
+ ret void
+exc.k25:
+ %t61 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t55, i64 0, i32 8
+ %t62 = zext i1 %t57 to i8
+ store i8 %t62, ptr %t61, !tbaa !42
+ ret void
+if.j23:
+ %t63 = load ptr, ptr %sc_l_key_string
+ %t64 = call zeroext i1 @sc_streq_1579912071364319(ptr %t63)
+ br i1 %t64, label %if.t26, label %if.j27
+if.t26:
+ %t65 = load ptr, ptr %sc_l_p_receiver
+ %t66 = load ptr, ptr %sc_l_p_1
+ %t67 = call zeroext i1 @sc_dc_3(ptr %t66, ptr null)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u28, label %exc.k29
+exc.u28:
+ ret void
+exc.k29:
+ %t71 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t65, i64 0, i32 9
+ %t72 = zext i1 %t67 to i8
+ store i8 %t72, ptr %t71, !tbaa !62
+ ret void
+if.j27:
+ %t73 = load ptr, ptr %sc_l_key_string
+ %t74 = call zeroext i1 @sc_streq_1640919894513317(ptr %t73)
+ br i1 %t74, label %if.t30, label %if.j31
+if.t30:
+ %t75 = load ptr, ptr %sc_l_p_receiver
+ %t76 = load ptr, ptr %sc_l_p_1
+ %t77 = call ptr @sc_dc_4(ptr %t76, ptr null)
+ %t78 = load i32, ptr %exc.cell
+ %t79 = icmp ne i32 %t78, 0
+ %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false)
+ br i1 %t80, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rrelease_r1(ptr %t77)
+ ret void
+exc.k33:
+ %t81 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t75, i64 0, i32 10
+ %t82 = load ptr, ptr %t81
+ store ptr %t77, ptr %t81, !tbaa !64
+ call void @sc_rrelease_r1(ptr %t82)
+ ret void
+if.j31:
+ %t83 = load ptr, ptr %sc_l_key_string
+ %t84 = call zeroext i1 @sc_streq_4191962028163388(ptr %t83)
+ br i1 %t84, label %if.t34, label %if.j35
+if.t34:
+ %t85 = load ptr, ptr %sc_l_p_receiver
+ %t86 = load ptr, ptr %sc_l_p_1
+ %t87 = call zeroext i1 @sc_dc_3(ptr %t86, ptr null)
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u36, label %exc.k37
+exc.u36:
+ ret void
+exc.k37:
+ %t91 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t85, i64 0, i32 11
+ %t92 = zext i1 %t87 to i8
+ store i8 %t92, ptr %t91, !tbaa !66
+ ret void
+if.j35:
+ %t93 = load ptr, ptr %sc_l_key_string
+ %t94 = call zeroext i1 @sc_streq_2098081682588801(ptr %t93)
+ br i1 %t94, label %if.t38, label %if.j39
+if.t38:
+ %t95 = load ptr, ptr %sc_l_p_receiver
+ %t96 = load ptr, ptr %sc_l_p_1
+ %t97 = call ptr @sc_dc_7(ptr %t96, ptr null)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rrelease_r2(ptr %t97)
+ ret void
+exc.k41:
+ %t101 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t95, i64 0, i32 12
+ %t102 = load ptr, ptr %t101
+ store ptr %t97, ptr %t101, !tbaa !68
+ call void @sc_rrelease_r2(ptr %t102)
+ ret void
+if.j39:
+ %t103 = load ptr, ptr %sc_l_key_string
+ %t104 = call zeroext i1 @sc_streq_4448851817182856(ptr %t103)
+ br i1 %t104, label %if.t42, label %if.j43
+if.t42:
+ %t105 = load ptr, ptr %sc_l_p_receiver
+ %t106 = load ptr, ptr %sc_l_p_1
+ %t107 = call zeroext i1 @sc_dc_3(ptr %t106, ptr null)
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u44, label %exc.k45
+exc.u44:
+ ret void
+exc.k45:
+ %t111 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t105, i64 0, i32 13
+ %t112 = zext i1 %t107 to i8
+ store i8 %t112, ptr %t111, !tbaa !70
+ ret void
+if.j43:
+ %t113 = load ptr, ptr %sc_l_key_string
+ %t114 = call zeroext i1 @sc_streq_2171724267474130(ptr %t113)
+ br i1 %t114, label %if.t46, label %if.j47
+if.t46:
+ %t115 = load ptr, ptr %sc_l_p_receiver
+ %t116 = load ptr, ptr %sc_l_p_1
+ %t117 = call ptr @sc_dc_11(ptr %t116, ptr null)
+ %t118 = load i32, ptr %exc.cell
+ %t119 = icmp ne i32 %t118, 0
+ %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false)
+ br i1 %t120, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @scr_http_res_release(ptr %t117)
+ ret void
+exc.k49:
+ %t121 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t115, i64 0, i32 14
+ %t122 = load ptr, ptr %t121
+ store ptr %t117, ptr %t121, !tbaa !88
+ call void @scr_http_res_release(ptr %t122)
+ ret void
+if.j47:
+ %t123 = load ptr, ptr %sc_l_key_string
+ %t124 = call zeroext i1 @sc_streq_3752021314181142(ptr %t123)
+ br i1 %t124, label %if.t50, label %if.j51
+if.t50:
+ %t125 = load ptr, ptr %sc_l_p_receiver
+ %t126 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t125, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t127 = call ptr @sc_f__x25_dyn_class_properties(ptr %t126)
+ %t128 = load i32, ptr %exc.cell
+ %t129 = icmp ne i32 %t128, 0
+ %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false)
+ br i1 %t130, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t127)
+ ret void
+exc.k53:
+ %t131 = load ptr, ptr %sc_l_p_1
+ %t132 = call ptr @sc_rc_retain_dyn(ptr %t131)
+ %t133 = load ptr, ptr %sc_l_p_receiver
+ %t134 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t133, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t127, ptr @sc_lit_3752021314181142, ptr %t132, ptr %t134)
+ %t135 = load i32, ptr %exc.cell
+ %t136 = icmp ne i32 %t135, 0
+ %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false)
+ br i1 %t137, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t132)
+ call void @sc_rc_release_dyn(ptr %t134)
+ ret void
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t132)
+ call void @sc_rc_release_dyn(ptr %t134)
+ ret void
+if.j51:
+ %t138 = load ptr, ptr %sc_l_key_string
+ %t139 = call zeroext i1 @sc_streq_2364278031517622(ptr %t138)
+ br i1 %t139, label %if.t56, label %if.j57
+if.t56:
+ %t140 = load ptr, ptr %sc_l_p_receiver
+ %t141 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t140, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t142 = call ptr @sc_f__x25_dyn_class_properties(ptr %t141)
+ %t143 = load i32, ptr %exc.cell
+ %t144 = icmp ne i32 %t143, 0
+ %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false)
+ br i1 %t145, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t142)
+ ret void
+exc.k59:
+ %t146 = load ptr, ptr %sc_l_p_1
+ %t147 = call ptr @sc_rc_retain_dyn(ptr %t146)
+ %t148 = load ptr, ptr %sc_l_p_receiver
+ %t149 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t148, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t142, ptr @sc_lit_2364278031517622, ptr %t147, ptr %t149)
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t142)
+ call void @sc_rc_release_dyn(ptr %t147)
+ call void @sc_rc_release_dyn(ptr %t149)
+ ret void
+exc.k61:
+ call void @sc_rc_release_dyn(ptr %t142)
+ call void @sc_rc_release_dyn(ptr %t147)
+ call void @sc_rc_release_dyn(ptr %t149)
+ ret void
+if.j57:
+ %t153 = load ptr, ptr %sc_l_key_string
+ %t154 = call zeroext i1 @sc_streq_470306239805907(ptr %t153)
+ br i1 %t154, label %if.t62, label %if.j63
+if.t62:
+ %t155 = load ptr, ptr %sc_l_p_receiver
+ %t156 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t155, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t157 = call ptr @sc_f__x25_dyn_class_properties(ptr %t156)
+ %t158 = load i32, ptr %exc.cell
+ %t159 = icmp ne i32 %t158, 0
+ %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false)
+ br i1 %t160, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t157)
+ ret void
+exc.k65:
+ %t161 = load ptr, ptr %sc_l_p_1
+ %t162 = call ptr @sc_rc_retain_dyn(ptr %t161)
+ %t163 = load ptr, ptr %sc_l_p_receiver
+ %t164 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t163, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t157, ptr @sc_lit_470306239805907, ptr %t162, ptr %t164)
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t164)
+ ret void
+exc.k67:
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t164)
+ ret void
+if.j63:
+ %t168 = load ptr, ptr %sc_l_key_string
+ %t169 = call zeroext i1 @sc_streq_4133069531575059(ptr %t168)
+ br i1 %t169, label %if.t68, label %if.j69
+if.t68:
+ %t170 = load ptr, ptr %sc_l_p_receiver
+ %t171 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t170, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t172 = call ptr @sc_f__x25_dyn_class_properties(ptr %t171)
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t172)
+ ret void
+exc.k71:
+ %t176 = load ptr, ptr %sc_l_p_1
+ %t177 = call ptr @sc_rc_retain_dyn(ptr %t176)
+ %t178 = load ptr, ptr %sc_l_p_receiver
+ %t179 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t178, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t172, ptr @sc_lit_4133069531575059, ptr %t177, ptr %t179)
+ %t180 = load i32, ptr %exc.cell
+ %t181 = icmp ne i32 %t180, 0
+ %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false)
+ br i1 %t182, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t179)
+ ret void
+exc.k73:
+ call void @sc_rc_release_dyn(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t179)
+ ret void
+if.j69:
+ %t183 = load ptr, ptr %sc_l_key_string
+ %t184 = call zeroext i1 @sc_streq_2253648670486996(ptr %t183)
+ br i1 %t184, label %if.t74, label %if.j75
+if.t74:
+ %t185 = load ptr, ptr %sc_l_p_receiver
+ %t186 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t185, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t187 = call ptr @sc_f__x25_dyn_class_properties(ptr %t186)
+ %t188 = load i32, ptr %exc.cell
+ %t189 = icmp ne i32 %t188, 0
+ %t190 = call i1 @llvm.expect.i1(i1 %t189, i1 false)
+ br i1 %t190, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t187)
+ ret void
+exc.k77:
+ %t191 = load ptr, ptr %sc_l_p_1
+ %t192 = call ptr @sc_rc_retain_dyn(ptr %t191)
+ %t193 = load ptr, ptr %sc_l_p_receiver
+ %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t187, ptr @sc_lit_2253648670486996, ptr %t192, ptr %t194)
+ %t195 = load i32, ptr %exc.cell
+ %t196 = icmp ne i32 %t195, 0
+ %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false)
+ br i1 %t197, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t187)
+ call void @sc_rc_release_dyn(ptr %t192)
+ call void @sc_rc_release_dyn(ptr %t194)
+ ret void
+exc.k79:
+ call void @sc_rc_release_dyn(ptr %t187)
+ call void @sc_rc_release_dyn(ptr %t192)
+ call void @sc_rc_release_dyn(ptr %t194)
+ ret void
+if.j75:
+ %t198 = load ptr, ptr %sc_l_key_string
+ %t199 = call zeroext i1 @sc_streq_161925136240866(ptr %t198)
+ br i1 %t199, label %if.t80, label %if.j81
+if.t80:
+ %t200 = load ptr, ptr %sc_l_p_receiver
+ %t201 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t200, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t202 = call ptr @sc_f__x25_dyn_class_properties(ptr %t201)
+ %t203 = load i32, ptr %exc.cell
+ %t204 = icmp ne i32 %t203, 0
+ %t205 = call i1 @llvm.expect.i1(i1 %t204, i1 false)
+ br i1 %t205, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t202)
+ ret void
+exc.k83:
+ %t206 = load ptr, ptr %sc_l_p_1
+ %t207 = call ptr @sc_rc_retain_dyn(ptr %t206)
+ %t208 = load ptr, ptr %sc_l_p_receiver
+ %t209 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t208, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t202, ptr @sc_lit_161925136240866, ptr %t207, ptr %t209)
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @sc_rc_release_dyn(ptr %t207)
+ call void @sc_rc_release_dyn(ptr %t209)
+ ret void
+exc.k85:
+ call void @sc_rc_release_dyn(ptr %t202)
+ call void @sc_rc_release_dyn(ptr %t207)
+ call void @sc_rc_release_dyn(ptr %t209)
+ ret void
+if.j81:
+ %t213 = load ptr, ptr %sc_l_key_string
+ %t214 = call zeroext i1 @sc_streq_298897322184109(ptr %t213)
+ br i1 %t214, label %if.t86, label %if.j87
+if.t86:
+ %t215 = load ptr, ptr %sc_l_p_receiver
+ %t216 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t215, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t217 = call ptr @sc_f__x25_dyn_class_properties(ptr %t216)
+ %t218 = load i32, ptr %exc.cell
+ %t219 = icmp ne i32 %t218, 0
+ %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false)
+ br i1 %t220, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t217)
+ ret void
+exc.k89:
+ %t221 = load ptr, ptr %sc_l_p_1
+ %t222 = call ptr @sc_rc_retain_dyn(ptr %t221)
+ %t223 = load ptr, ptr %sc_l_p_receiver
+ %t224 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t223, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t217, ptr @sc_lit_298897322184109, ptr %t222, ptr %t224)
+ %t225 = load i32, ptr %exc.cell
+ %t226 = icmp ne i32 %t225, 0
+ %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false)
+ br i1 %t227, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_rc_release_dyn(ptr %t222)
+ call void @sc_rc_release_dyn(ptr %t224)
+ ret void
+exc.k91:
+ call void @sc_rc_release_dyn(ptr %t217)
+ call void @sc_rc_release_dyn(ptr %t222)
+ call void @sc_rc_release_dyn(ptr %t224)
+ ret void
+if.j87:
+ %t228 = load ptr, ptr %sc_l_key_string
+ %t229 = call zeroext i1 @sc_streq_4085448292571548(ptr %t228)
+ br i1 %t229, label %if.t92, label %if.j93
+if.t92:
+ %t230 = load ptr, ptr %sc_l_p_receiver
+ %t231 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t230, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t232 = call ptr @sc_f__x25_dyn_class_properties(ptr %t231)
+ %t233 = load i32, ptr %exc.cell
+ %t234 = icmp ne i32 %t233, 0
+ %t235 = call i1 @llvm.expect.i1(i1 %t234, i1 false)
+ br i1 %t235, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t232)
+ ret void
+exc.k95:
+ %t236 = load ptr, ptr %sc_l_p_1
+ %t237 = call ptr @sc_rc_retain_dyn(ptr %t236)
+ %t238 = load ptr, ptr %sc_l_p_receiver
+ %t239 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t238, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t232, ptr @sc_lit_4085448292571548, ptr %t237, ptr %t239)
+ %t240 = load i32, ptr %exc.cell
+ %t241 = icmp ne i32 %t240, 0
+ %t242 = call i1 @llvm.expect.i1(i1 %t241, i1 false)
+ br i1 %t242, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t232)
+ call void @sc_rc_release_dyn(ptr %t237)
+ call void @sc_rc_release_dyn(ptr %t239)
+ ret void
+exc.k97:
+ call void @sc_rc_release_dyn(ptr %t232)
+ call void @sc_rc_release_dyn(ptr %t237)
+ call void @sc_rc_release_dyn(ptr %t239)
+ ret void
+if.j93:
+ %t243 = load ptr, ptr %sc_l_key_string
+ %t244 = call zeroext i1 @sc_streq_3561861343106386(ptr %t243)
+ br i1 %t244, label %if.t98, label %if.j99
+if.t98:
+ %t245 = load ptr, ptr %sc_l_p_receiver
+ %t246 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t245, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t247 = call ptr @sc_f__x25_dyn_class_properties(ptr %t246)
+ %t248 = load i32, ptr %exc.cell
+ %t249 = icmp ne i32 %t248, 0
+ %t250 = call i1 @llvm.expect.i1(i1 %t249, i1 false)
+ br i1 %t250, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t247)
+ ret void
+exc.k101:
+ %t251 = load ptr, ptr %sc_l_p_1
+ %t252 = call ptr @sc_rc_retain_dyn(ptr %t251)
+ %t253 = load ptr, ptr %sc_l_p_receiver
+ %t254 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t253, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t247, ptr @sc_lit_3561861343106386, ptr %t252, ptr %t254)
+ %t255 = load i32, ptr %exc.cell
+ %t256 = icmp ne i32 %t255, 0
+ %t257 = call i1 @llvm.expect.i1(i1 %t256, i1 false)
+ br i1 %t257, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t247)
+ call void @sc_rc_release_dyn(ptr %t252)
+ call void @sc_rc_release_dyn(ptr %t254)
+ ret void
+exc.k103:
+ call void @sc_rc_release_dyn(ptr %t247)
+ call void @sc_rc_release_dyn(ptr %t252)
+ call void @sc_rc_release_dyn(ptr %t254)
+ ret void
+if.j99:
+ %t258 = load ptr, ptr %sc_l_key_string
+ %t259 = call zeroext i1 @sc_streq_3108123016971750(ptr %t258)
+ br i1 %t259, label %if.t104, label %if.j105
+if.t104:
+ %t260 = load ptr, ptr %sc_l_p_receiver
+ %t261 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t260, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t262 = call ptr @sc_f__x25_dyn_class_properties(ptr %t261)
+ %t263 = load i32, ptr %exc.cell
+ %t264 = icmp ne i32 %t263, 0
+ %t265 = call i1 @llvm.expect.i1(i1 %t264, i1 false)
+ br i1 %t265, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t262)
+ ret void
+exc.k107:
+ %t266 = load ptr, ptr %sc_l_p_1
+ %t267 = call ptr @sc_rc_retain_dyn(ptr %t266)
+ %t268 = load ptr, ptr %sc_l_p_receiver
+ %t269 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t268, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t262, ptr @sc_lit_3108123016971750, ptr %t267, ptr %t269)
+ %t270 = load i32, ptr %exc.cell
+ %t271 = icmp ne i32 %t270, 0
+ %t272 = call i1 @llvm.expect.i1(i1 %t271, i1 false)
+ br i1 %t272, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t262)
+ call void @sc_rc_release_dyn(ptr %t267)
+ call void @sc_rc_release_dyn(ptr %t269)
+ ret void
+exc.k109:
+ call void @sc_rc_release_dyn(ptr %t262)
+ call void @sc_rc_release_dyn(ptr %t267)
+ call void @sc_rc_release_dyn(ptr %t269)
+ ret void
+if.j105:
+ %t273 = load ptr, ptr %sc_l_key_string
+ %t274 = call zeroext i1 @sc_streq_2529432852777196(ptr %t273)
+ br i1 %t274, label %if.t110, label %if.j111
+if.t110:
+ %t275 = load ptr, ptr %sc_l_p_receiver
+ %t276 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t275, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t277 = call ptr @sc_f__x25_dyn_class_properties(ptr %t276)
+ %t278 = load i32, ptr %exc.cell
+ %t279 = icmp ne i32 %t278, 0
+ %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false)
+ br i1 %t280, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t277)
+ ret void
+exc.k113:
+ %t281 = load ptr, ptr %sc_l_p_1
+ %t282 = call ptr @sc_rc_retain_dyn(ptr %t281)
+ %t283 = load ptr, ptr %sc_l_p_receiver
+ %t284 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t283, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t277, ptr @sc_lit_2529432852777196, ptr %t282, ptr %t284)
+ %t285 = load i32, ptr %exc.cell
+ %t286 = icmp ne i32 %t285, 0
+ %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false)
+ br i1 %t287, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t277)
+ call void @sc_rc_release_dyn(ptr %t282)
+ call void @sc_rc_release_dyn(ptr %t284)
+ ret void
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t277)
+ call void @sc_rc_release_dyn(ptr %t282)
+ call void @sc_rc_release_dyn(ptr %t284)
+ ret void
+if.j111:
+ %t288 = load ptr, ptr %sc_l_key_string
+ %t289 = call zeroext i1 @sc_streq_4297539476301093(ptr %t288)
+ br i1 %t289, label %if.t116, label %if.j117
+if.t116:
+ %t290 = load ptr, ptr %sc_l_p_receiver
+ %t291 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t290, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t292 = call ptr @sc_f__x25_dyn_class_properties(ptr %t291)
+ %t293 = load i32, ptr %exc.cell
+ %t294 = icmp ne i32 %t293, 0
+ %t295 = call i1 @llvm.expect.i1(i1 %t294, i1 false)
+ br i1 %t295, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t292)
+ ret void
+exc.k119:
+ %t296 = load ptr, ptr %sc_l_p_1
+ %t297 = call ptr @sc_rc_retain_dyn(ptr %t296)
+ %t298 = load ptr, ptr %sc_l_p_receiver
+ %t299 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t298, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t292, ptr @sc_lit_4297539476301093, ptr %t297, ptr %t299)
+ %t300 = load i32, ptr %exc.cell
+ %t301 = icmp ne i32 %t300, 0
+ %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false)
+ br i1 %t302, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @sc_rc_release_dyn(ptr %t292)
+ call void @sc_rc_release_dyn(ptr %t297)
+ call void @sc_rc_release_dyn(ptr %t299)
+ ret void
+exc.k121:
+ call void @sc_rc_release_dyn(ptr %t292)
+ call void @sc_rc_release_dyn(ptr %t297)
+ call void @sc_rc_release_dyn(ptr %t299)
+ ret void
+if.j117:
+ %t303 = load ptr, ptr %sc_l_key_string
+ %t304 = call zeroext i1 @sc_streq_1959461887910059(ptr %t303)
+ br i1 %t304, label %if.t122, label %if.j123
+if.t122:
+ %t305 = load ptr, ptr %sc_l_p_receiver
+ %t306 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t305, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t307 = call ptr @sc_f__x25_dyn_class_properties(ptr %t306)
+ %t308 = load i32, ptr %exc.cell
+ %t309 = icmp ne i32 %t308, 0
+ %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false)
+ br i1 %t310, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t307)
+ ret void
+exc.k125:
+ %t311 = load ptr, ptr %sc_l_p_1
+ %t312 = call ptr @sc_rc_retain_dyn(ptr %t311)
+ %t313 = load ptr, ptr %sc_l_p_receiver
+ %t314 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t313, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t307, ptr @sc_lit_1959461887910059, ptr %t312, ptr %t314)
+ %t315 = load i32, ptr %exc.cell
+ %t316 = icmp ne i32 %t315, 0
+ %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false)
+ br i1 %t317, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t307)
+ call void @sc_rc_release_dyn(ptr %t312)
+ call void @sc_rc_release_dyn(ptr %t314)
+ ret void
+exc.k127:
+ call void @sc_rc_release_dyn(ptr %t307)
+ call void @sc_rc_release_dyn(ptr %t312)
+ call void @sc_rc_release_dyn(ptr %t314)
+ ret void
+if.j123:
+ %t318 = load ptr, ptr %sc_l_key_string
+ %t319 = call zeroext i1 @sc_streq_181663572509014(ptr %t318)
+ br i1 %t319, label %if.t128, label %if.j129
+if.t128:
+ %t320 = load ptr, ptr %sc_l_p_receiver
+ %t321 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t320, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t322 = call ptr @sc_f__x25_dyn_class_properties(ptr %t321)
+ %t323 = load i32, ptr %exc.cell
+ %t324 = icmp ne i32 %t323, 0
+ %t325 = call i1 @llvm.expect.i1(i1 %t324, i1 false)
+ br i1 %t325, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t322)
+ ret void
+exc.k131:
+ %t326 = load ptr, ptr %sc_l_p_1
+ %t327 = call ptr @sc_rc_retain_dyn(ptr %t326)
+ %t328 = load ptr, ptr %sc_l_p_receiver
+ %t329 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t328, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t322, ptr @sc_lit_181663572509014, ptr %t327, ptr %t329)
+ %t330 = load i32, ptr %exc.cell
+ %t331 = icmp ne i32 %t330, 0
+ %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false)
+ br i1 %t332, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @sc_rc_release_dyn(ptr %t322)
+ call void @sc_rc_release_dyn(ptr %t327)
+ call void @sc_rc_release_dyn(ptr %t329)
+ ret void
+exc.k133:
+ call void @sc_rc_release_dyn(ptr %t322)
+ call void @sc_rc_release_dyn(ptr %t327)
+ call void @sc_rc_release_dyn(ptr %t329)
+ ret void
+if.j129:
+ %t333 = load ptr, ptr %sc_l_key_string
+ %t334 = call zeroext i1 @sc_streq_992600386266231(ptr %t333)
+ br i1 %t334, label %if.t134, label %if.j135
+if.t134:
+ %t335 = load ptr, ptr %sc_l_p_receiver
+ %t336 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t335, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t337 = call ptr @sc_f__x25_dyn_class_properties(ptr %t336)
+ %t338 = load i32, ptr %exc.cell
+ %t339 = icmp ne i32 %t338, 0
+ %t340 = call i1 @llvm.expect.i1(i1 %t339, i1 false)
+ br i1 %t340, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t337)
+ ret void
+exc.k137:
+ %t341 = load ptr, ptr %sc_l_p_1
+ %t342 = call ptr @sc_rc_retain_dyn(ptr %t341)
+ %t343 = load ptr, ptr %sc_l_p_receiver
+ %t344 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t343, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t337, ptr @sc_lit_992600386266231, ptr %t342, ptr %t344)
+ %t345 = load i32, ptr %exc.cell
+ %t346 = icmp ne i32 %t345, 0
+ %t347 = call i1 @llvm.expect.i1(i1 %t346, i1 false)
+ br i1 %t347, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t337)
+ call void @sc_rc_release_dyn(ptr %t342)
+ call void @sc_rc_release_dyn(ptr %t344)
+ ret void
+exc.k139:
+ call void @sc_rc_release_dyn(ptr %t337)
+ call void @sc_rc_release_dyn(ptr %t342)
+ call void @sc_rc_release_dyn(ptr %t344)
+ ret void
+if.j135:
+ %t348 = load ptr, ptr %sc_l_key_string
+ %t349 = call zeroext i1 @sc_streq_4198614539576238(ptr %t348)
+ br i1 %t349, label %if.t140, label %if.j141
+if.t140:
+ %t350 = load ptr, ptr %sc_l_p_receiver
+ %t351 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t350, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t352 = call ptr @sc_f__x25_dyn_class_properties(ptr %t351)
+ %t353 = load i32, ptr %exc.cell
+ %t354 = icmp ne i32 %t353, 0
+ %t355 = call i1 @llvm.expect.i1(i1 %t354, i1 false)
+ br i1 %t355, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t352)
+ ret void
+exc.k143:
+ %t356 = load ptr, ptr %sc_l_p_1
+ %t357 = call ptr @sc_rc_retain_dyn(ptr %t356)
+ %t358 = load ptr, ptr %sc_l_p_receiver
+ %t359 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t358, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t352, ptr @sc_lit_4198614539576238, ptr %t357, ptr %t359)
+ %t360 = load i32, ptr %exc.cell
+ %t361 = icmp ne i32 %t360, 0
+ %t362 = call i1 @llvm.expect.i1(i1 %t361, i1 false)
+ br i1 %t362, label %exc.u144, label %exc.k145
+exc.u144:
+ call void @sc_rc_release_dyn(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t357)
+ call void @sc_rc_release_dyn(ptr %t359)
+ ret void
+exc.k145:
+ call void @sc_rc_release_dyn(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t357)
+ call void @sc_rc_release_dyn(ptr %t359)
+ ret void
+if.j141:
+ %t363 = load ptr, ptr %sc_l_key_string
+ %t364 = call zeroext i1 @sc_streq_4028208071947570(ptr %t363)
+ br i1 %t364, label %if.t146, label %if.j147
+if.t146:
+ %t365 = load ptr, ptr %sc_l_p_receiver
+ %t366 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t365, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t367 = call ptr @sc_f__x25_dyn_class_properties(ptr %t366)
+ %t368 = load i32, ptr %exc.cell
+ %t369 = icmp ne i32 %t368, 0
+ %t370 = call i1 @llvm.expect.i1(i1 %t369, i1 false)
+ br i1 %t370, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @sc_rc_release_dyn(ptr %t367)
+ ret void
+exc.k149:
+ %t371 = load ptr, ptr %sc_l_p_1
+ %t372 = call ptr @sc_rc_retain_dyn(ptr %t371)
+ %t373 = load ptr, ptr %sc_l_p_receiver
+ %t374 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t373, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t367, ptr @sc_lit_4028208071947570, ptr %t372, ptr %t374)
+ %t375 = load i32, ptr %exc.cell
+ %t376 = icmp ne i32 %t375, 0
+ %t377 = call i1 @llvm.expect.i1(i1 %t376, i1 false)
+ br i1 %t377, label %exc.u150, label %exc.k151
+exc.u150:
+ call void @sc_rc_release_dyn(ptr %t367)
+ call void @sc_rc_release_dyn(ptr %t372)
+ call void @sc_rc_release_dyn(ptr %t374)
+ ret void
+exc.k151:
+ call void @sc_rc_release_dyn(ptr %t367)
+ call void @sc_rc_release_dyn(ptr %t372)
+ call void @sc_rc_release_dyn(ptr %t374)
+ ret void
+if.j147:
+ %t378 = load ptr, ptr %sc_l_key_string
+ %t379 = call zeroext i1 @sc_streq_3908714124573206(ptr %t378)
+ br i1 %t379, label %if.t152, label %if.j153
+if.t152:
+ %t380 = load ptr, ptr %sc_l_p_receiver
+ %t381 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t380, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t382 = call ptr @sc_f__x25_dyn_class_properties(ptr %t381)
+ %t383 = load i32, ptr %exc.cell
+ %t384 = icmp ne i32 %t383, 0
+ %t385 = call i1 @llvm.expect.i1(i1 %t384, i1 false)
+ br i1 %t385, label %exc.u154, label %exc.k155
+exc.u154:
+ call void @sc_rc_release_dyn(ptr %t382)
+ ret void
+exc.k155:
+ %t386 = load ptr, ptr %sc_l_p_1
+ %t387 = call ptr @sc_rc_retain_dyn(ptr %t386)
+ %t388 = load ptr, ptr %sc_l_p_receiver
+ %t389 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t388, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t382, ptr @sc_lit_3908714124573206, ptr %t387, ptr %t389)
+ %t390 = load i32, ptr %exc.cell
+ %t391 = icmp ne i32 %t390, 0
+ %t392 = call i1 @llvm.expect.i1(i1 %t391, i1 false)
+ br i1 %t392, label %exc.u156, label %exc.k157
+exc.u156:
+ call void @sc_rc_release_dyn(ptr %t382)
+ call void @sc_rc_release_dyn(ptr %t387)
+ call void @sc_rc_release_dyn(ptr %t389)
+ ret void
+exc.k157:
+ call void @sc_rc_release_dyn(ptr %t382)
+ call void @sc_rc_release_dyn(ptr %t387)
+ call void @sc_rc_release_dyn(ptr %t389)
+ ret void
+if.j153:
+ %t393 = load ptr, ptr %sc_l_p_0
+ %t394 = call ptr @sc_rc_retain_dyn(ptr %t393)
+ %t395 = call ptr @sc_f__x25_dyn_class_properties(ptr %t394)
+ %t396 = load i32, ptr %exc.cell
+ %t397 = icmp ne i32 %t396, 0
+ %t398 = call i1 @llvm.expect.i1(i1 %t397, i1 false)
+ br i1 %t398, label %exc.u158, label %exc.k159
+exc.u158:
+ call void @sc_rc_release_dyn(ptr %t395)
+ ret void
+exc.k159:
+ %t399 = load ptr, ptr %sc_l_key_string
+ %t400 = call ptr @sc_rc_retain_str(ptr %t399)
+ %t401 = load ptr, ptr %sc_l_p_1
+ %t402 = call ptr @sc_rc_retain_dyn(ptr %t401)
+ %t403 = load ptr, ptr %sc_l_p_receiver
+ %t404 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t403, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t395, ptr %t400, ptr %t402, ptr %t404)
+ %t405 = load i32, ptr %exc.cell
+ %t406 = icmp ne i32 %t405, 0
+ %t407 = call i1 @llvm.expect.i1(i1 %t406, i1 false)
+ br i1 %t407, label %exc.u160, label %exc.k161
+exc.u160:
+ call void @sc_rc_release_dyn(ptr %t395)
+ call void @scr_str_release(ptr %t400)
+ call void @sc_rc_release_dyn(ptr %t402)
+ call void @sc_rc_release_dyn(ptr %t404)
+ ret void
+exc.k161:
+ call void @sc_rc_release_dyn(ptr %t395)
+ call void @scr_str_release(ptr %t400)
+ call void @sc_rc_release_dyn(ptr %t402)
+ call void @sc_rc_release_dyn(ptr %t404)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_473(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_473(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_474(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.474
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_3804612928743770(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_74(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rrelease_r12(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t6, i64 0, i32 3
+ %t13 = load ptr, ptr %t12
+ store ptr %t8, ptr %t12, !tbaa !190
+ call void @sc_rrelease_r12(ptr %t13)
+ ret void
+if.j3:
+ %t14 = load ptr, ptr %sc_l_key_string
+ %t15 = call zeroext i1 @sc_streq_1810373001322451(ptr %t14)
+ br i1 %t15, label %if.t6, label %if.j7
+if.t6:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = load ptr, ptr %sc_l_p_1
+ %t18 = call ptr @sc_dc_75(ptr %t17, ptr null)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_arr_release(ptr %t18)
+ ret void
+exc.k9:
+ %t22 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t16, i64 0, i32 4
+ %t23 = load ptr, ptr %t22
+ store ptr %t18, ptr %t22, !tbaa !192
+ call void @scr_arr_release(ptr %t23)
+ ret void
+if.j7:
+ %t24 = load ptr, ptr %sc_l_key_string
+ %t25 = call zeroext i1 @sc_streq_2227497482646049(ptr %t24)
+ br i1 %t25, label %if.t10, label %if.j11
+if.t10:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t28 = call ptr @sc_f__x25_dyn_class_properties(ptr %t27)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret void
+exc.k13:
+ %t32 = load ptr, ptr %sc_l_p_1
+ %t33 = call ptr @sc_rc_retain_dyn(ptr %t32)
+ %t34 = load ptr, ptr %sc_l_p_receiver
+ %t35 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t34, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t28, ptr @sc_lit_2227497482646049, ptr %t33, ptr %t35)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t35)
+ ret void
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t35)
+ ret void
+if.j11:
+ %t39 = load ptr, ptr %sc_l_key_string
+ %t40 = call zeroext i1 @sc_streq_228045523956680(ptr %t39)
+ br i1 %t40, label %if.t16, label %if.j17
+if.t16:
+ %t41 = load ptr, ptr %sc_l_p_receiver
+ %t42 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t41, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t43 = call ptr @sc_f__x25_dyn_class_properties(ptr %t42)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret void
+exc.k19:
+ %t47 = load ptr, ptr %sc_l_p_1
+ %t48 = call ptr @sc_rc_retain_dyn(ptr %t47)
+ %t49 = load ptr, ptr %sc_l_p_receiver
+ %t50 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t49, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t43, ptr @sc_lit_228045523956680, ptr %t48, ptr %t50)
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret void
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret void
+if.j17:
+ %t54 = load ptr, ptr %sc_l_key_string
+ %t55 = call zeroext i1 @sc_streq_731773075116702(ptr %t54)
+ br i1 %t55, label %if.t22, label %if.j23
+if.t22:
+ %t56 = load ptr, ptr %sc_l_p_receiver
+ %t57 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t56, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t58 = call ptr @sc_f__x25_dyn_class_properties(ptr %t57)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t58)
+ ret void
+exc.k25:
+ %t62 = load ptr, ptr %sc_l_p_1
+ %t63 = call ptr @sc_rc_retain_dyn(ptr %t62)
+ %t64 = load ptr, ptr %sc_l_p_receiver
+ %t65 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t64, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t58, ptr @sc_lit_731773075116702, ptr %t63, ptr %t65)
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t65)
+ ret void
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t65)
+ ret void
+if.j23:
+ %t69 = load ptr, ptr %sc_l_p_0
+ %t70 = call ptr @sc_rc_retain_dyn(ptr %t69)
+ %t71 = call ptr @sc_f__x25_dyn_class_properties(ptr %t70)
+ %t72 = load i32, ptr %exc.cell
+ %t73 = icmp ne i32 %t72, 0
+ %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false)
+ br i1 %t74, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t71)
+ ret void
+exc.k29:
+ %t75 = load ptr, ptr %sc_l_key_string
+ %t76 = call ptr @sc_rc_retain_str(ptr %t75)
+ %t77 = load ptr, ptr %sc_l_p_1
+ %t78 = call ptr @sc_rc_retain_dyn(ptr %t77)
+ %t79 = load ptr, ptr %sc_l_p_receiver
+ %t80 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t79, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t71, ptr %t76, ptr %t78, ptr %t80)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t71)
+ call void @scr_str_release(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t80)
+ ret void
+exc.k31:
+ call void @sc_rc_release_dyn(ptr %t71)
+ call void @scr_str_release(ptr %t76)
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t80)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_474(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_474(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_475(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.475
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_1515898915129638(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_16(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_http_req_release(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t6, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ store ptr %t8, ptr %t12, !tbaa !72
+ call void @scr_http_req_release(ptr %t13)
+ ret void
+if.j3:
+ %t14 = load ptr, ptr %sc_l_key_string
+ %t15 = call zeroext i1 @sc_streq_731773075116702(ptr %t14)
+ br i1 %t15, label %if.t6, label %if.j7
+if.t6:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t18 = call ptr @sc_f__x25_dyn_class_properties(ptr %t17)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret void
+exc.k9:
+ %t22 = load ptr, ptr %sc_l_p_1
+ %t23 = call ptr @sc_rc_retain_dyn(ptr %t22)
+ %t24 = load ptr, ptr %sc_l_p_receiver
+ %t25 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t24, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t18, ptr @sc_lit_731773075116702, ptr %t23, ptr %t25)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret void
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret void
+if.j7:
+ %t29 = load ptr, ptr %sc_l_key_string
+ %t30 = call zeroext i1 @sc_streq_2556418033318189(ptr %t29)
+ br i1 %t30, label %if.t12, label %if.j13
+if.t12:
+ %t31 = load ptr, ptr %sc_l_p_receiver
+ %t32 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t31, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t33 = call ptr @sc_f__x25_dyn_class_properties(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t33)
+ ret void
+exc.k15:
+ %t37 = load ptr, ptr %sc_l_p_1
+ %t38 = call ptr @sc_rc_retain_dyn(ptr %t37)
+ %t39 = load ptr, ptr %sc_l_p_receiver
+ %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t33, ptr @sc_lit_2556418033318189, ptr %t38, ptr %t40)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ ret void
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ ret void
+if.j13:
+ %t44 = load ptr, ptr %sc_l_key_string
+ %t45 = call zeroext i1 @sc_streq_2782259059515958(ptr %t44)
+ br i1 %t45, label %if.t18, label %if.j19
+if.t18:
+ %t46 = load ptr, ptr %sc_l_p_receiver
+ %t47 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t46, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t48 = call ptr @sc_f__x25_dyn_class_properties(ptr %t47)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret void
+exc.k21:
+ %t52 = load ptr, ptr %sc_l_p_1
+ %t53 = call ptr @sc_rc_retain_dyn(ptr %t52)
+ %t54 = load ptr, ptr %sc_l_p_receiver
+ %t55 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t54, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t48, ptr @sc_lit_2782259059515958, ptr %t53, ptr %t55)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @sc_rc_release_dyn(ptr %t55)
+ ret void
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t48)
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @sc_rc_release_dyn(ptr %t55)
+ ret void
+if.j19:
+ %t59 = load ptr, ptr %sc_l_key_string
+ %t60 = call zeroext i1 @sc_streq_145319249654683(ptr %t59)
+ br i1 %t60, label %if.t24, label %if.j25
+if.t24:
+ %t61 = load ptr, ptr %sc_l_p_receiver
+ %t62 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t61, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t63 = call ptr @sc_f__x25_dyn_class_properties(ptr %t62)
+ %t64 = load i32, ptr %exc.cell
+ %t65 = icmp ne i32 %t64, 0
+ %t66 = call i1 @llvm.expect.i1(i1 %t65, i1 false)
+ br i1 %t66, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t63)
+ ret void
+exc.k27:
+ %t67 = load ptr, ptr %sc_l_p_1
+ %t68 = call ptr @sc_rc_retain_dyn(ptr %t67)
+ %t69 = load ptr, ptr %sc_l_p_receiver
+ %t70 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t69, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t63, ptr @sc_lit_145319249654683, ptr %t68, ptr %t70)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @sc_rc_release_dyn(ptr %t70)
+ ret void
+exc.k29:
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t68)
+ call void @sc_rc_release_dyn(ptr %t70)
+ ret void
+if.j25:
+ %t74 = load ptr, ptr %sc_l_p_0
+ %t75 = call ptr @sc_rc_retain_dyn(ptr %t74)
+ %t76 = call ptr @sc_f__x25_dyn_class_properties(ptr %t75)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret void
+exc.k31:
+ %t80 = load ptr, ptr %sc_l_key_string
+ %t81 = call ptr @sc_rc_retain_str(ptr %t80)
+ %t82 = load ptr, ptr %sc_l_p_1
+ %t83 = call ptr @sc_rc_retain_dyn(ptr %t82)
+ %t84 = load ptr, ptr %sc_l_p_receiver
+ %t85 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t84, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t76, ptr %t81, ptr %t83, ptr %t85)
+ %t86 = load i32, ptr %exc.cell
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @scr_str_release(ptr %t81)
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_rc_release_dyn(ptr %t85)
+ ret void
+exc.k33:
+ call void @sc_rc_release_dyn(ptr %t76)
+ call void @scr_str_release(ptr %t81)
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_rc_release_dyn(ptr %t85)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_475(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_475(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_error_message_write(ptr %p_sc_l_error_0, ptr %p_sc_l_value) #0 { ; %error.message.write
+entry:
+ %sc_l_error_0 = alloca ptr ; error
+ %sc_l_value = alloca ptr ; value
+ store ptr %p_sc_l_error_0, ptr %sc_l_error_0
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = load ptr, ptr %sc_l_error_0
+ %t1 = getelementptr inbounds %ScrError, ptr %t0, i64 0, i32 7
+ %t2 = load i8, ptr %t1, !tbaa !210
+ %t3 = trunc i8 %t2 to i1
+ br i1 %t3, label %if.t0, label %if.j1
+if.t0:
+ %t4 = load ptr, ptr %sc_l_error_0
+ %t5 = getelementptr inbounds %ScrError, ptr %t4, i64 0, i32 7
+ %t6 = load i8, ptr %t5, !tbaa !210
+ %t7 = trunc i8 %t6 to i1
+ %t8 = xor i1 %t7, true
+ br i1 %t8, label %if.t2, label %if.j3
+if.t2:
+ %t9 = load ptr, ptr %sc_l_error_0
+ %t10 = getelementptr inbounds %ScrError, ptr %t9, i64 0, i32 8
+ %t11 = zext i1 true to i8
+ store i8 %t11, ptr %t10, !tbaa !212
+ br label %if.j3
+if.j3:
+ %t12 = load ptr, ptr %sc_l_error_0
+ %t13 = load ptr, ptr %sc_l_value
+ %t14 = call ptr @sc_rc_retain_str(ptr %t13)
+ %t15 = getelementptr inbounds %ScrError, ptr %t12, i64 0, i32 3
+ %t16 = load ptr, ptr %t15
+ store ptr %t14, ptr %t15, !tbaa !214
+ call void @scr_str_release(ptr %t16)
+ %t17 = load ptr, ptr %sc_l_error_0
+ %t18 = getelementptr inbounds %ScrError, ptr %t17, i64 0, i32 7
+ %t19 = zext i1 true to i8
+ store i8 %t19, ptr %t18, !tbaa !210
+ ret void
+if.j1:
+ %t20 = load ptr, ptr %sc_l_error_0
+ %t21 = getelementptr inbounds %ScrError, ptr %t20, i64 0, i32 7
+ %t22 = load i8, ptr %t21, !tbaa !210
+ %t23 = trunc i8 %t22 to i1
+ %t24 = xor i1 %t23, true
+ br i1 %t24, label %if.t4, label %if.j5
+if.t4:
+ %t25 = load ptr, ptr %sc_l_error_0
+ %t26 = getelementptr inbounds %ScrError, ptr %t25, i64 0, i32 8
+ %t27 = zext i1 true to i8
+ store i8 %t27, ptr %t26, !tbaa !212
+ br label %if.j5
+if.j5:
+ %t28 = load ptr, ptr %sc_l_error_0
+ %t29 = load ptr, ptr %sc_l_value
+ %t30 = call ptr @sc_rc_retain_str(ptr %t29)
+ %t31 = getelementptr inbounds %ScrError, ptr %t28, i64 0, i32 3
+ %t32 = load ptr, ptr %t31
+ store ptr %t30, ptr %t31, !tbaa !214
+ call void @scr_str_release(ptr %t32)
+ %t33 = load ptr, ptr %sc_l_error_0
+ %t34 = getelementptr inbounds %ScrError, ptr %t33, i64 0, i32 7
+ %t35 = zext i1 true to i8
+ store i8 %t35, ptr %t34, !tbaa !210
+ ret void
+}
+define internal void @sc_f__x25_error_message_write(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_error_message_write(ptr %p0, ptr %p1)
+ call void @scr_error_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_477(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.477
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_2298207874780604(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_0(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_str_release(ptr %t8)
+ ret void
+exc.k5:
+ call void @sc_bf__x25_error_name_write(ptr %t6, ptr %t8)
+ call void @scr_str_release(ptr %t8)
+ ret void
+if.j3:
+ %t12 = load ptr, ptr %sc_l_key_string
+ %t13 = call zeroext i1 @sc_streq_3013970235377041(ptr %t12)
+ br i1 %t13, label %if.t6, label %if.j7
+if.t6:
+ %t14 = load ptr, ptr %sc_l_p_receiver
+ %t15 = load ptr, ptr %sc_l_p_1
+ %t16 = call ptr @sc_dc_0(ptr %t15, ptr null)
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_str_release(ptr %t16)
+ ret void
+exc.k9:
+ call void @sc_bf__x25_error_message_write(ptr %t14, ptr %t16)
+ call void @scr_str_release(ptr %t16)
+ ret void
+if.j7:
+ %t20 = load ptr, ptr %sc_l_key_string
+ %t21 = call zeroext i1 @sc_streq_1143527378875226(ptr %t20)
+ br i1 %t21, label %if.t10, label %if.j11
+if.t10:
+ %t22 = load ptr, ptr %sc_l_p_receiver
+ %t23 = load ptr, ptr %sc_l_p_1
+ %t24 = call ptr @sc_dc_0(ptr %t23, ptr null)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_str_release(ptr %t24)
+ ret void
+exc.k13:
+ %t28 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t22, i64 0, i32 21
+ %t29 = load ptr, ptr %t28
+ store ptr %t24, ptr %t28, !tbaa !168
+ call void @scr_str_release(ptr %t29)
+ ret void
+if.j11:
+ %t30 = load ptr, ptr %sc_l_key_string
+ %t31 = call zeroext i1 @sc_streq_3302186402337583(ptr %t30)
+ br i1 %t31, label %if.t14, label %if.j15
+if.t14:
+ %t32 = load ptr, ptr %sc_l_p_receiver
+ %t33 = call ptr @sc_td_15(ptr %t32)
+ %t34 = call ptr @sc_f__x25_dyn_class_properties(ptr %t33)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret void
+exc.k17:
+ %t38 = load ptr, ptr %sc_l_p_1
+ %t39 = call ptr @sc_rc_retain_dyn(ptr %t38)
+ %t40 = load ptr, ptr %sc_l_p_receiver
+ %t41 = call ptr @sc_td_15(ptr %t40)
+ call void @scr_dyn_bag_set(ptr %t34, ptr @sc_lit_3302186402337583, ptr %t39, ptr %t41)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret void
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret void
+if.j15:
+ %t45 = load ptr, ptr %sc_l_p_0
+ %t46 = call ptr @sc_rc_retain_dyn(ptr %t45)
+ %t47 = call ptr @sc_f__x25_dyn_class_properties(ptr %t46)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t47)
+ ret void
+exc.k21:
+ %t51 = load ptr, ptr %sc_l_key_string
+ %t52 = call ptr @sc_rc_retain_str(ptr %t51)
+ %t53 = load ptr, ptr %sc_l_p_1
+ %t54 = call ptr @sc_rc_retain_dyn(ptr %t53)
+ %t55 = load ptr, ptr %sc_l_p_receiver
+ %t56 = call ptr @sc_td_15(ptr %t55)
+ call void @scr_dyn_bag_set(ptr %t47, ptr %t52, ptr %t54, ptr %t56)
+ %t57 = load i32, ptr %exc.cell
+ %t58 = icmp ne i32 %t57, 0
+ %t59 = call i1 @llvm.expect.i1(i1 %t58, i1 false)
+ br i1 %t59, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t47)
+ call void @scr_str_release(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t56)
+ ret void
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t47)
+ call void @scr_str_release(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t56)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_477(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_477(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_478(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.478
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s47 = alloca ptr
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_4331231100667432(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_0(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_str_release(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t6, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ store ptr %t8, ptr %t12, !tbaa !108
+ call void @scr_str_release(ptr %t13)
+ ret void
+if.j3:
+ %t14 = load ptr, ptr %sc_l_key_string
+ %t15 = call zeroext i1 @sc_streq_1497623537730125(ptr %t14)
+ br i1 %t15, label %if.t6, label %if.j7
+if.t6:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = load ptr, ptr %sc_l_p_1
+ %t18 = call ptr @sc_dc_0(ptr %t17, ptr null)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_str_release(ptr %t18)
+ ret void
+exc.k9:
+ %t22 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t16, i64 0, i32 2
+ %t23 = load ptr, ptr %t22
+ store ptr %t18, ptr %t22, !tbaa !110
+ call void @scr_str_release(ptr %t23)
+ ret void
+if.j7:
+ %t24 = load ptr, ptr %sc_l_key_string
+ %t25 = call zeroext i1 @sc_streq_3626652862359804(ptr %t24)
+ br i1 %t25, label %if.t10, label %if.j11
+if.t10:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call double @sc_dc_2(ptr %t27, ptr null)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ ret void
+exc.k13:
+ %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t26, i64 0, i32 3
+ store double %t28, ptr %t32, !tbaa !112
+ ret void
+if.j11:
+ %t33 = load ptr, ptr %sc_l_key_string
+ %t34 = call zeroext i1 @sc_streq_3767316427932713(ptr %t33)
+ br i1 %t34, label %if.t14, label %if.j15
+if.t14:
+ %t35 = load ptr, ptr %sc_l_p_receiver
+ %t36 = load ptr, ptr %sc_l_p_1
+ %t37 = call ptr @sc_dc_12(ptr %t36, ptr null)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_bytes_release(ptr %t37)
+ ret void
+exc.k17:
+ %t41 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t35, i64 0, i32 4
+ %t42 = load ptr, ptr %t41
+ store ptr %t37, ptr %t41, !tbaa !114
+ call void @scr_bytes_release(ptr %t42)
+ ret void
+if.j15:
+ %t43 = load ptr, ptr %sc_l_key_string
+ %t44 = call zeroext i1 @sc_streq_270650669493903(ptr %t43)
+ br i1 %t44, label %if.t18, label %if.j19
+if.t18:
+ %t45 = load ptr, ptr %sc_l_p_receiver
+ %t46 = load ptr, ptr %sc_l_p_1
+ %t48 = icmp ne ptr %t46, null
+ br i1 %t48, label %dc.inspect20, label %dc.checked23
+dc.inspect20:
+ %t53 = getelementptr inbounds i8, ptr %t46, i64 8 ; ->kind
+ %t54 = load i32, ptr %t53
+ %t49 = icmp eq i32 %t54, 12
+ br i1 %t49, label %dc.capsule21, label %dc.checked23
+dc.capsule21:
+ %t50 = getelementptr inbounds i8, ptr %t46, i64 40 ; ->v.typed_ref.type_key
+ %t51 = load ptr, ptr %t50
+ %t52 = icmp eq ptr %t51, @sc_cs_3635319175845957
+ br i1 %t52, label %dc.exact22, label %dc.checked23
+dc.exact22:
+ %t55 = getelementptr inbounds i8, ptr %t46, i64 16 ; ->v.typed_ref.ptr
+ %t56 = load ptr, ptr %t55
+ %t57 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t56)
+ store ptr %t57, ptr %s47
+ br label %dc.done24
+dc.checked23:
+ %t58 = call ptr @sc_dc_24(ptr %t46, ptr null)
+ store ptr %t58, ptr %s47
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u25, label %exc.k26
+exc.u25:
+ ret void
+exc.k26:
+ br label %dc.done24
+dc.done24:
+ %t62 = load ptr, ptr %s47
+ %t63 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t45, i64 0, i32 5
+ %t64 = load ptr, ptr %t63
+ store ptr %t62, ptr %t63, !tbaa !116
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t64)
+ ret void
+if.j19:
+ %t65 = load ptr, ptr %sc_l_key_string
+ %t66 = call zeroext i1 @sc_streq_1904556107358822(ptr %t65)
+ br i1 %t66, label %if.t27, label %if.j28
+if.t27:
+ %t67 = load ptr, ptr %sc_l_p_receiver
+ %t68 = load ptr, ptr %sc_l_p_1
+ %t69 = call double @sc_dc_2(ptr %t68, ptr null)
+ %t70 = load i32, ptr %exc.cell
+ %t71 = icmp ne i32 %t70, 0
+ %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false)
+ br i1 %t72, label %exc.u29, label %exc.k30
+exc.u29:
+ ret void
+exc.k30:
+ %t73 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t67, i64 0, i32 6
+ store double %t69, ptr %t73, !tbaa !118
+ ret void
+if.j28:
+ %t74 = load ptr, ptr %sc_l_key_string
+ %t75 = call zeroext i1 @sc_streq_3347257245794453(ptr %t74)
+ br i1 %t75, label %if.t31, label %if.j32
+if.t31:
+ %t76 = load ptr, ptr %sc_l_p_receiver
+ %t77 = load ptr, ptr %sc_l_p_1
+ %t78 = call double @sc_dc_2(ptr %t77, ptr null)
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u33, label %exc.k34
+exc.u33:
+ ret void
+exc.k34:
+ %t82 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t76, i64 0, i32 7
+ store double %t78, ptr %t82, !tbaa !120
+ ret void
+if.j32:
+ %t83 = load ptr, ptr %sc_l_key_string
+ %t84 = call zeroext i1 @sc_streq_51498970823486(ptr %t83)
+ br i1 %t84, label %if.t35, label %if.j36
+if.t35:
+ %t85 = load ptr, ptr %sc_l_p_receiver
+ %t86 = load ptr, ptr %sc_l_p_1
+ %t87 = call double @sc_dc_2(ptr %t86, ptr null)
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u37, label %exc.k38
+exc.u37:
+ ret void
+exc.k38:
+ %t91 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t85, i64 0, i32 8
+ store double %t87, ptr %t91, !tbaa !122
+ ret void
+if.j36:
+ %t92 = load ptr, ptr %sc_l_key_string
+ %t93 = call zeroext i1 @sc_streq_3871774119671975(ptr %t92)
+ br i1 %t93, label %if.t39, label %if.j40
+if.t39:
+ %t94 = load ptr, ptr %sc_l_p_receiver
+ %t95 = load ptr, ptr %sc_l_p_1
+ %t96 = call zeroext i1 @sc_dc_3(ptr %t95, ptr null)
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u41, label %exc.k42
+exc.u41:
+ ret void
+exc.k42:
+ %t100 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t94, i64 0, i32 9
+ %t101 = zext i1 %t96 to i8
+ store i8 %t101, ptr %t100, !tbaa !124
+ ret void
+if.j40:
+ %t102 = load ptr, ptr %sc_l_key_string
+ %t103 = call zeroext i1 @sc_streq_1511541293423217(ptr %t102)
+ br i1 %t103, label %if.t43, label %if.j44
+if.t43:
+ %t104 = load ptr, ptr %sc_l_p_receiver
+ %t105 = load ptr, ptr %sc_l_p_1
+ %t106 = call zeroext i1 @sc_dc_3(ptr %t105, ptr null)
+ %t107 = load i32, ptr %exc.cell
+ %t108 = icmp ne i32 %t107, 0
+ %t109 = call i1 @llvm.expect.i1(i1 %t108, i1 false)
+ br i1 %t109, label %exc.u45, label %exc.k46
+exc.u45:
+ ret void
+exc.k46:
+ %t110 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t104, i64 0, i32 10
+ %t111 = zext i1 %t106 to i8
+ store i8 %t111, ptr %t110, !tbaa !126
+ ret void
+if.j44:
+ %t112 = load ptr, ptr %sc_l_key_string
+ %t113 = call zeroext i1 @sc_streq_3537803200604019(ptr %t112)
+ br i1 %t113, label %if.t47, label %if.j48
+if.t47:
+ %t114 = load ptr, ptr %sc_l_p_receiver
+ %t115 = load ptr, ptr %sc_l_p_1
+ %t116 = call ptr @sc_dc_0(ptr %t115, ptr null)
+ %t117 = load i32, ptr %exc.cell
+ %t118 = icmp ne i32 %t117, 0
+ %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false)
+ br i1 %t119, label %exc.u49, label %exc.k50
+exc.u49:
+ call void @scr_str_release(ptr %t116)
+ ret void
+exc.k50:
+ %t120 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t114, i64 0, i32 11
+ %t121 = load ptr, ptr %t120
+ store ptr %t116, ptr %t120, !tbaa !100
+ call void @scr_str_release(ptr %t121)
+ ret void
+if.j48:
+ %t122 = load ptr, ptr %sc_l_key_string
+ %t123 = call zeroext i1 @sc_streq_2438149604853393(ptr %t122)
+ br i1 %t123, label %if.t51, label %if.j52
+if.t51:
+ %t124 = load ptr, ptr %sc_l_p_receiver
+ %t125 = load ptr, ptr %sc_l_p_1
+ %t126 = call ptr @sc_dc_0(ptr %t125, ptr null)
+ %t127 = load i32, ptr %exc.cell
+ %t128 = icmp ne i32 %t127, 0
+ %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false)
+ br i1 %t129, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @scr_str_release(ptr %t126)
+ ret void
+exc.k54:
+ %t130 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t124, i64 0, i32 12
+ %t131 = load ptr, ptr %t130
+ store ptr %t126, ptr %t130, !tbaa !102
+ call void @scr_str_release(ptr %t131)
+ ret void
+if.j52:
+ %t132 = load ptr, ptr %sc_l_key_string
+ %t133 = call zeroext i1 @sc_streq_87265031005560(ptr %t132)
+ br i1 %t133, label %if.t55, label %if.j56
+if.t55:
+ %t134 = load ptr, ptr %sc_l_p_receiver
+ %t135 = load ptr, ptr %sc_l_p_1
+ %t136 = call ptr @sc_dc_0(ptr %t135, ptr null)
+ %t137 = load i32, ptr %exc.cell
+ %t138 = icmp ne i32 %t137, 0
+ %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false)
+ br i1 %t139, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @scr_str_release(ptr %t136)
+ ret void
+exc.k58:
+ %t140 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t134, i64 0, i32 13
+ %t141 = load ptr, ptr %t140
+ store ptr %t136, ptr %t140, !tbaa !104
+ call void @scr_str_release(ptr %t141)
+ ret void
+if.j56:
+ %t142 = load ptr, ptr %sc_l_key_string
+ %t143 = call zeroext i1 @sc_streq_2620371357038102(ptr %t142)
+ br i1 %t143, label %if.t59, label %if.j60
+if.t59:
+ %t144 = load ptr, ptr %sc_l_p_receiver
+ %t145 = load ptr, ptr %sc_l_p_1
+ %t146 = call ptr @sc_dc_25(ptr %t145, ptr null)
+ %t147 = load i32, ptr %exc.cell
+ %t148 = icmp ne i32 %t147, 0
+ %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false)
+ br i1 %t149, label %exc.u61, label %exc.k62
+exc.u61:
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t146)
+ ret void
+exc.k62:
+ %t150 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t144, i64 0, i32 14
+ %t151 = load ptr, ptr %t150
+ store ptr %t146, ptr %t150, !tbaa !128
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t151)
+ ret void
+if.j60:
+ %t152 = load ptr, ptr %sc_l_key_string
+ %t153 = call zeroext i1 @sc_streq_1445273163400741(ptr %t152)
+ br i1 %t153, label %if.t63, label %if.j64
+if.t63:
+ %t154 = load ptr, ptr %sc_l_p_receiver
+ %t155 = load ptr, ptr %sc_l_p_1
+ %t156 = call ptr @sc_dc_27(ptr %t155, ptr null)
+ %t157 = load i32, ptr %exc.cell
+ %t158 = icmp ne i32 %t157, 0
+ %t159 = call i1 @llvm.expect.i1(i1 %t158, i1 false)
+ br i1 %t159, label %exc.u65, label %exc.k66
+exc.u65:
+ call void @scr_arr_release(ptr %t156)
+ ret void
+exc.k66:
+ %t160 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t154, i64 0, i32 15
+ %t161 = load ptr, ptr %t160
+ store ptr %t156, ptr %t160, !tbaa !130
+ call void @scr_arr_release(ptr %t161)
+ ret void
+if.j64:
+ %t162 = load ptr, ptr %sc_l_key_string
+ %t163 = call zeroext i1 @sc_streq_3078220272172636(ptr %t162)
+ br i1 %t163, label %if.t67, label %if.j68
+if.t67:
+ %t164 = load ptr, ptr %sc_l_p_receiver
+ %t165 = load ptr, ptr %sc_l_p_1
+ %t166 = call double @sc_dc_2(ptr %t165, ptr null)
+ %t167 = load i32, ptr %exc.cell
+ %t168 = icmp ne i32 %t167, 0
+ %t169 = call i1 @llvm.expect.i1(i1 %t168, i1 false)
+ br i1 %t169, label %exc.u69, label %exc.k70
+exc.u69:
+ ret void
+exc.k70:
+ %t170 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t164, i64 0, i32 16
+ store double %t166, ptr %t170, !tbaa !132
+ ret void
+if.j68:
+ %t171 = load ptr, ptr %sc_l_key_string
+ %t172 = call zeroext i1 @sc_streq_3003865410260240(ptr %t171)
+ br i1 %t172, label %if.t71, label %if.j72
+if.t71:
+ %t173 = load ptr, ptr %sc_l_p_receiver
+ %t174 = load ptr, ptr %sc_l_p_1
+ %t175 = call double @sc_dc_2(ptr %t174, ptr null)
+ %t176 = load i32, ptr %exc.cell
+ %t177 = icmp ne i32 %t176, 0
+ %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false)
+ br i1 %t178, label %exc.u73, label %exc.k74
+exc.u73:
+ ret void
+exc.k74:
+ %t179 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t173, i64 0, i32 17
+ store double %t175, ptr %t179, !tbaa !134
+ ret void
+if.j72:
+ %t180 = load ptr, ptr %sc_l_key_string
+ %t181 = call zeroext i1 @sc_streq_3833663445821831(ptr %t180)
+ br i1 %t181, label %if.t75, label %if.j76
+if.t75:
+ %t182 = load ptr, ptr %sc_l_p_receiver
+ %t183 = load ptr, ptr %sc_l_p_1
+ %t184 = call double @sc_dc_2(ptr %t183, ptr null)
+ %t185 = load i32, ptr %exc.cell
+ %t186 = icmp ne i32 %t185, 0
+ %t187 = call i1 @llvm.expect.i1(i1 %t186, i1 false)
+ br i1 %t187, label %exc.u77, label %exc.k78
+exc.u77:
+ ret void
+exc.k78:
+ %t188 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t182, i64 0, i32 18
+ store double %t184, ptr %t188, !tbaa !26
+ ret void
+if.j76:
+ %t189 = load ptr, ptr %sc_l_key_string
+ %t190 = call zeroext i1 @sc_streq_1081761464356753(ptr %t189)
+ br i1 %t190, label %if.t79, label %if.j80
+if.t79:
+ %t191 = load ptr, ptr %sc_l_p_receiver
+ %t192 = load ptr, ptr %sc_l_p_1
+ %t193 = call ptr @sc_dc_20(ptr %t192, ptr null)
+ %t194 = load i32, ptr %exc.cell
+ %t195 = icmp ne i32 %t194, 0
+ %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false)
+ br i1 %t196, label %exc.u81, label %exc.k82
+exc.u81:
+ call void @scr_arr_release(ptr %t193)
+ ret void
+exc.k82:
+ %t197 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t191, i64 0, i32 19
+ %t198 = load ptr, ptr %t197
+ store ptr %t193, ptr %t197, !tbaa !28
+ call void @scr_arr_release(ptr %t198)
+ ret void
+if.j80:
+ %t199 = load ptr, ptr %sc_l_key_string
+ %t200 = call zeroext i1 @sc_streq_3375901898269401(ptr %t199)
+ br i1 %t200, label %if.t83, label %if.j84
+if.t83:
+ %t201 = load ptr, ptr %sc_l_p_receiver
+ %t202 = load ptr, ptr %sc_l_p_1
+ %t203 = call ptr @sc_dc_1(ptr %t202, ptr null)
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u85, label %exc.k86
+exc.u85:
+ call void @scr_arr_release(ptr %t203)
+ ret void
+exc.k86:
+ %t207 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t201, i64 0, i32 20
+ %t208 = load ptr, ptr %t207
+ store ptr %t203, ptr %t207, !tbaa !30
+ call void @scr_arr_release(ptr %t208)
+ ret void
+if.j84:
+ %t209 = load ptr, ptr %sc_l_key_string
+ %t210 = call zeroext i1 @sc_streq_3531366543973767(ptr %t209)
+ br i1 %t210, label %if.t87, label %if.j88
+if.t87:
+ %t211 = load ptr, ptr %sc_l_p_receiver
+ %t212 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t211, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t213 = call ptr @sc_f__x25_dyn_class_properties(ptr %t212)
+ %t214 = load i32, ptr %exc.cell
+ %t215 = icmp ne i32 %t214, 0
+ %t216 = call i1 @llvm.expect.i1(i1 %t215, i1 false)
+ br i1 %t216, label %exc.u89, label %exc.k90
+exc.u89:
+ call void @sc_rc_release_dyn(ptr %t213)
+ ret void
+exc.k90:
+ %t217 = load ptr, ptr %sc_l_p_1
+ %t218 = call ptr @sc_rc_retain_dyn(ptr %t217)
+ %t219 = load ptr, ptr %sc_l_p_receiver
+ %t220 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t219, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t213, ptr @sc_lit_3531366543973767, ptr %t218, ptr %t220)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u91, label %exc.k92
+exc.u91:
+ call void @sc_rc_release_dyn(ptr %t213)
+ call void @sc_rc_release_dyn(ptr %t218)
+ call void @sc_rc_release_dyn(ptr %t220)
+ ret void
+exc.k92:
+ call void @sc_rc_release_dyn(ptr %t213)
+ call void @sc_rc_release_dyn(ptr %t218)
+ call void @sc_rc_release_dyn(ptr %t220)
+ ret void
+if.j88:
+ %t224 = load ptr, ptr %sc_l_key_string
+ %t225 = call zeroext i1 @sc_streq_1173128410961643(ptr %t224)
+ br i1 %t225, label %if.t93, label %if.j94
+if.t93:
+ %t226 = load ptr, ptr %sc_l_p_receiver
+ %t227 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t226, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t228 = call ptr @sc_f__x25_dyn_class_properties(ptr %t227)
+ %t229 = load i32, ptr %exc.cell
+ %t230 = icmp ne i32 %t229, 0
+ %t231 = call i1 @llvm.expect.i1(i1 %t230, i1 false)
+ br i1 %t231, label %exc.u95, label %exc.k96
+exc.u95:
+ call void @sc_rc_release_dyn(ptr %t228)
+ ret void
+exc.k96:
+ %t232 = load ptr, ptr %sc_l_p_1
+ %t233 = call ptr @sc_rc_retain_dyn(ptr %t232)
+ %t234 = load ptr, ptr %sc_l_p_receiver
+ %t235 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t234, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t228, ptr @sc_lit_1173128410961643, ptr %t233, ptr %t235)
+ %t236 = load i32, ptr %exc.cell
+ %t237 = icmp ne i32 %t236, 0
+ %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false)
+ br i1 %t238, label %exc.u97, label %exc.k98
+exc.u97:
+ call void @sc_rc_release_dyn(ptr %t228)
+ call void @sc_rc_release_dyn(ptr %t233)
+ call void @sc_rc_release_dyn(ptr %t235)
+ ret void
+exc.k98:
+ call void @sc_rc_release_dyn(ptr %t228)
+ call void @sc_rc_release_dyn(ptr %t233)
+ call void @sc_rc_release_dyn(ptr %t235)
+ ret void
+if.j94:
+ %t239 = load ptr, ptr %sc_l_key_string
+ %t240 = call zeroext i1 @sc_streq_1900193337948069(ptr %t239)
+ br i1 %t240, label %if.t99, label %if.j100
+if.t99:
+ %t241 = load ptr, ptr %sc_l_p_receiver
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_properties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u101, label %exc.k102
+exc.u101:
+ call void @sc_rc_release_dyn(ptr %t243)
+ ret void
+exc.k102:
+ %t247 = load ptr, ptr %sc_l_p_1
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t249 = load ptr, ptr %sc_l_p_receiver
+ %t250 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t249, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t243, ptr @sc_lit_1900193337948069, ptr %t248, ptr %t250)
+ %t251 = load i32, ptr %exc.cell
+ %t252 = icmp ne i32 %t251, 0
+ %t253 = call i1 @llvm.expect.i1(i1 %t252, i1 false)
+ br i1 %t253, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_rc_release_dyn(ptr %t250)
+ ret void
+exc.k104:
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_rc_release_dyn(ptr %t250)
+ ret void
+if.j100:
+ %t254 = load ptr, ptr %sc_l_key_string
+ %t255 = call zeroext i1 @sc_streq_3922224781708262(ptr %t254)
+ br i1 %t255, label %if.t105, label %if.j106
+if.t105:
+ %t256 = load ptr, ptr %sc_l_p_receiver
+ %t257 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t256, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t258 = call ptr @sc_f__x25_dyn_class_properties(ptr %t257)
+ %t259 = load i32, ptr %exc.cell
+ %t260 = icmp ne i32 %t259, 0
+ %t261 = call i1 @llvm.expect.i1(i1 %t260, i1 false)
+ br i1 %t261, label %exc.u107, label %exc.k108
+exc.u107:
+ call void @sc_rc_release_dyn(ptr %t258)
+ ret void
+exc.k108:
+ %t262 = load ptr, ptr %sc_l_p_1
+ %t263 = call ptr @sc_rc_retain_dyn(ptr %t262)
+ %t264 = load ptr, ptr %sc_l_p_receiver
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t258, ptr @sc_lit_3922224781708262, ptr %t263, ptr %t265)
+ %t266 = load i32, ptr %exc.cell
+ %t267 = icmp ne i32 %t266, 0
+ %t268 = call i1 @llvm.expect.i1(i1 %t267, i1 false)
+ br i1 %t268, label %exc.u109, label %exc.k110
+exc.u109:
+ call void @sc_rc_release_dyn(ptr %t258)
+ call void @sc_rc_release_dyn(ptr %t263)
+ call void @sc_rc_release_dyn(ptr %t265)
+ ret void
+exc.k110:
+ call void @sc_rc_release_dyn(ptr %t258)
+ call void @sc_rc_release_dyn(ptr %t263)
+ call void @sc_rc_release_dyn(ptr %t265)
+ ret void
+if.j106:
+ %t269 = load ptr, ptr %sc_l_key_string
+ %t270 = call zeroext i1 @sc_streq_1360183775732063(ptr %t269)
+ br i1 %t270, label %if.t111, label %if.j112
+if.t111:
+ %t271 = load ptr, ptr %sc_l_p_receiver
+ %t272 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t271, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t273 = call ptr @sc_f__x25_dyn_class_properties(ptr %t272)
+ %t274 = load i32, ptr %exc.cell
+ %t275 = icmp ne i32 %t274, 0
+ %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false)
+ br i1 %t276, label %exc.u113, label %exc.k114
+exc.u113:
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret void
+exc.k114:
+ %t277 = load ptr, ptr %sc_l_p_1
+ %t278 = call ptr @sc_rc_retain_dyn(ptr %t277)
+ %t279 = load ptr, ptr %sc_l_p_receiver
+ %t280 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t279, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t273, ptr @sc_lit_1360183775732063, ptr %t278, ptr %t280)
+ %t281 = load i32, ptr %exc.cell
+ %t282 = icmp ne i32 %t281, 0
+ %t283 = call i1 @llvm.expect.i1(i1 %t282, i1 false)
+ br i1 %t283, label %exc.u115, label %exc.k116
+exc.u115:
+ call void @sc_rc_release_dyn(ptr %t273)
+ call void @sc_rc_release_dyn(ptr %t278)
+ call void @sc_rc_release_dyn(ptr %t280)
+ ret void
+exc.k116:
+ call void @sc_rc_release_dyn(ptr %t273)
+ call void @sc_rc_release_dyn(ptr %t278)
+ call void @sc_rc_release_dyn(ptr %t280)
+ ret void
+if.j112:
+ %t284 = load ptr, ptr %sc_l_key_string
+ %t285 = call zeroext i1 @sc_streq_142546227685363(ptr %t284)
+ br i1 %t285, label %if.t117, label %if.j118
+if.t117:
+ %t286 = load ptr, ptr %sc_l_p_receiver
+ %t287 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t286, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t288 = call ptr @sc_f__x25_dyn_class_properties(ptr %t287)
+ %t289 = load i32, ptr %exc.cell
+ %t290 = icmp ne i32 %t289, 0
+ %t291 = call i1 @llvm.expect.i1(i1 %t290, i1 false)
+ br i1 %t291, label %exc.u119, label %exc.k120
+exc.u119:
+ call void @sc_rc_release_dyn(ptr %t288)
+ ret void
+exc.k120:
+ %t292 = load ptr, ptr %sc_l_p_1
+ %t293 = call ptr @sc_rc_retain_dyn(ptr %t292)
+ %t294 = load ptr, ptr %sc_l_p_receiver
+ %t295 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t294, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t288, ptr @sc_lit_142546227685363, ptr %t293, ptr %t295)
+ %t296 = load i32, ptr %exc.cell
+ %t297 = icmp ne i32 %t296, 0
+ %t298 = call i1 @llvm.expect.i1(i1 %t297, i1 false)
+ br i1 %t298, label %exc.u121, label %exc.k122
+exc.u121:
+ call void @sc_rc_release_dyn(ptr %t288)
+ call void @sc_rc_release_dyn(ptr %t293)
+ call void @sc_rc_release_dyn(ptr %t295)
+ ret void
+exc.k122:
+ call void @sc_rc_release_dyn(ptr %t288)
+ call void @sc_rc_release_dyn(ptr %t293)
+ call void @sc_rc_release_dyn(ptr %t295)
+ ret void
+if.j118:
+ %t299 = load ptr, ptr %sc_l_key_string
+ %t300 = call zeroext i1 @sc_streq_2281930073577937(ptr %t299)
+ br i1 %t300, label %if.t123, label %if.j124
+if.t123:
+ %t301 = load ptr, ptr %sc_l_p_receiver
+ %t302 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t301, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t303 = call ptr @sc_f__x25_dyn_class_properties(ptr %t302)
+ %t304 = load i32, ptr %exc.cell
+ %t305 = icmp ne i32 %t304, 0
+ %t306 = call i1 @llvm.expect.i1(i1 %t305, i1 false)
+ br i1 %t306, label %exc.u125, label %exc.k126
+exc.u125:
+ call void @sc_rc_release_dyn(ptr %t303)
+ ret void
+exc.k126:
+ %t307 = load ptr, ptr %sc_l_p_1
+ %t308 = call ptr @sc_rc_retain_dyn(ptr %t307)
+ %t309 = load ptr, ptr %sc_l_p_receiver
+ %t310 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t309, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t303, ptr @sc_lit_2281930073577937, ptr %t308, ptr %t310)
+ %t311 = load i32, ptr %exc.cell
+ %t312 = icmp ne i32 %t311, 0
+ %t313 = call i1 @llvm.expect.i1(i1 %t312, i1 false)
+ br i1 %t313, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t303)
+ call void @sc_rc_release_dyn(ptr %t308)
+ call void @sc_rc_release_dyn(ptr %t310)
+ ret void
+exc.k128:
+ call void @sc_rc_release_dyn(ptr %t303)
+ call void @sc_rc_release_dyn(ptr %t308)
+ call void @sc_rc_release_dyn(ptr %t310)
+ ret void
+if.j124:
+ %t314 = load ptr, ptr %sc_l_key_string
+ %t315 = call zeroext i1 @sc_streq_1113582459875923(ptr %t314)
+ br i1 %t315, label %if.t129, label %if.j130
+if.t129:
+ %t316 = load ptr, ptr %sc_l_p_receiver
+ %t317 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t316, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t318 = call ptr @sc_f__x25_dyn_class_properties(ptr %t317)
+ %t319 = load i32, ptr %exc.cell
+ %t320 = icmp ne i32 %t319, 0
+ %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false)
+ br i1 %t321, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t318)
+ ret void
+exc.k132:
+ %t322 = load ptr, ptr %sc_l_p_1
+ %t323 = call ptr @sc_rc_retain_dyn(ptr %t322)
+ %t324 = load ptr, ptr %sc_l_p_receiver
+ %t325 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t324, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t318, ptr @sc_lit_1113582459875923, ptr %t323, ptr %t325)
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u133, label %exc.k134
+exc.u133:
+ call void @sc_rc_release_dyn(ptr %t318)
+ call void @sc_rc_release_dyn(ptr %t323)
+ call void @sc_rc_release_dyn(ptr %t325)
+ ret void
+exc.k134:
+ call void @sc_rc_release_dyn(ptr %t318)
+ call void @sc_rc_release_dyn(ptr %t323)
+ call void @sc_rc_release_dyn(ptr %t325)
+ ret void
+if.j130:
+ %t329 = load ptr, ptr %sc_l_p_0
+ %t330 = call ptr @sc_rc_retain_dyn(ptr %t329)
+ %t331 = call ptr @sc_f__x25_dyn_class_properties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u135, label %exc.k136
+exc.u135:
+ call void @sc_rc_release_dyn(ptr %t331)
+ ret void
+exc.k136:
+ %t335 = load ptr, ptr %sc_l_key_string
+ %t336 = call ptr @sc_rc_retain_str(ptr %t335)
+ %t337 = load ptr, ptr %sc_l_p_1
+ %t338 = call ptr @sc_rc_retain_dyn(ptr %t337)
+ %t339 = load ptr, ptr %sc_l_p_receiver
+ %t340 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t339, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t331, ptr %t336, ptr %t338, ptr %t340)
+ %t341 = load i32, ptr %exc.cell
+ %t342 = icmp ne i32 %t341, 0
+ %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false)
+ br i1 %t343, label %exc.u137, label %exc.k138
+exc.u137:
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @scr_str_release(ptr %t336)
+ call void @sc_rc_release_dyn(ptr %t338)
+ call void @sc_rc_release_dyn(ptr %t340)
+ ret void
+exc.k138:
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @scr_str_release(ptr %t336)
+ call void @sc_rc_release_dyn(ptr %t338)
+ call void @sc_rc_release_dyn(ptr %t340)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_478(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_478(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_479(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.479
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_3392166625234189(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_0(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_str_release(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t6, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ store ptr %t8, ptr %t12, !tbaa !90
+ call void @scr_str_release(ptr %t13)
+ ret void
+if.j3:
+ %t14 = load ptr, ptr %sc_l_key_string
+ %t15 = call zeroext i1 @sc_streq_4388468866828680(ptr %t14)
+ br i1 %t15, label %if.t6, label %if.j7
+if.t6:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = load ptr, ptr %sc_l_p_1
+ %t18 = call ptr @sc_dc_0(ptr %t17, ptr null)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_str_release(ptr %t18)
+ ret void
+exc.k9:
+ %t22 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t16, i64 0, i32 2
+ %t23 = load ptr, ptr %t22
+ store ptr %t18, ptr %t22, !tbaa !12
+ call void @scr_str_release(ptr %t23)
+ ret void
+if.j7:
+ %t24 = load ptr, ptr %sc_l_key_string
+ %t25 = call zeroext i1 @sc_streq_595629019077013(ptr %t24)
+ br i1 %t25, label %if.t10, label %if.j11
+if.t10:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call ptr @sc_dc_0(ptr %t27, ptr null)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_str_release(ptr %t28)
+ ret void
+exc.k13:
+ %t32 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t26, i64 0, i32 3
+ %t33 = load ptr, ptr %t32
+ store ptr %t28, ptr %t32, !tbaa !92
+ call void @scr_str_release(ptr %t33)
+ ret void
+if.j11:
+ %t34 = load ptr, ptr %sc_l_key_string
+ %t35 = call zeroext i1 @sc_streq_3603975379547098(ptr %t34)
+ br i1 %t35, label %if.t14, label %if.j15
+if.t14:
+ %t36 = load ptr, ptr %sc_l_p_receiver
+ %t37 = load ptr, ptr %sc_l_p_1
+ %t38 = call double @sc_dc_2(ptr %t37, ptr null)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u16, label %exc.k17
+exc.u16:
+ ret void
+exc.k17:
+ %t42 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t36, i64 0, i32 4
+ store double %t38, ptr %t42, !tbaa !94
+ ret void
+if.j15:
+ %t43 = load ptr, ptr %sc_l_key_string
+ %t44 = call zeroext i1 @sc_streq_2826818497658723(ptr %t43)
+ br i1 %t44, label %if.t18, label %if.j19
+if.t18:
+ %t45 = load ptr, ptr %sc_l_p_receiver
+ %t46 = load ptr, ptr %sc_l_p_1
+ %t47 = call ptr @sc_dc_22(ptr %t46, ptr null)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @scr_str_release(ptr %t47)
+ ret void
+exc.k21:
+ %t51 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t45, i64 0, i32 5
+ %t52 = load ptr, ptr %t51
+ store ptr %t47, ptr %t51, !tbaa !96
+ call void @scr_str_release(ptr %t52)
+ ret void
+if.j19:
+ %t53 = load ptr, ptr %sc_l_key_string
+ %t54 = call zeroext i1 @sc_streq_693828840439997(ptr %t53)
+ br i1 %t54, label %if.t22, label %if.j23
+if.t22:
+ %t55 = load ptr, ptr %sc_l_p_receiver
+ %t56 = load ptr, ptr %sc_l_p_1
+ %t57 = call ptr @sc_dc_23(ptr %t56, ptr null)
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @scr_union_release(ptr %t57)
+ ret void
+exc.k25:
+ %t61 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t55, i64 0, i32 6
+ %t62 = load ptr, ptr %t61
+ store ptr %t57, ptr %t61, !tbaa !98
+ call void @scr_union_release(ptr %t62)
+ ret void
+if.j23:
+ %t63 = load ptr, ptr %sc_l_p_0
+ %t64 = call ptr @sc_rc_retain_dyn(ptr %t63)
+ %t65 = call ptr @sc_f__x25_dyn_class_properties(ptr %t64)
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t65)
+ ret void
+exc.k27:
+ %t69 = load ptr, ptr %sc_l_key_string
+ %t70 = call ptr @sc_rc_retain_str(ptr %t69)
+ %t71 = load ptr, ptr %sc_l_p_1
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t73 = load ptr, ptr %sc_l_p_receiver
+ %t74 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t73, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_cs_4408523527888294, i64 23, ptr @sc_ldr_12_materialize, ptr @sc_ldr_12_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t74, ptr @sc_ldr_12_materialize_cops)
+ call void @scr_dyn_bag_set(ptr %t65, ptr %t70, ptr %t72, ptr %t74)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t65)
+ call void @scr_str_release(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ ret void
+exc.k29:
+ call void @sc_rc_release_dyn(ptr %t65)
+ call void @scr_str_release(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_479(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_479(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m4_UploadedFile(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_480(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.480
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %s8 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_662344961506331(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t9 = icmp ne ptr %t7, null
+ br i1 %t9, label %dc.inspect4, label %dc.checked7
+dc.inspect4:
+ %t14 = getelementptr inbounds i8, ptr %t7, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t10 = icmp eq i32 %t15, 12
+ br i1 %t10, label %dc.capsule5, label %dc.checked7
+dc.capsule5:
+ %t11 = getelementptr inbounds i8, ptr %t7, i64 40 ; ->v.typed_ref.type_key
+ %t12 = load ptr, ptr %t11
+ %t13 = icmp eq ptr %t12, @sc_cs_3314970835853795
+ br i1 %t13, label %dc.exact6, label %dc.checked7
+dc.exact6:
+ %t16 = getelementptr inbounds i8, ptr %t7, i64 16 ; ->v.typed_ref.ptr
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t17)
+ store ptr %t18, ptr %s8
+ br label %dc.done8
+dc.checked7:
+ %t19 = call ptr @sc_dc_79(ptr %t7, ptr null)
+ store ptr %t19, ptr %s8
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u9, label %exc.k10
+exc.u9:
+ ret void
+exc.k10:
+ br label %dc.done8
+dc.done8:
+ %t23 = load ptr, ptr %s8
+ %t24 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t6, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ store ptr %t23, ptr %t24, !tbaa !194
+ call void @sc_release__x25_m6_AssetSource(ptr %t25)
+ ret void
+if.j3:
+ %t26 = load ptr, ptr %sc_l_key_string
+ %t27 = call zeroext i1 @sc_streq_24845548896369(ptr %t26)
+ br i1 %t27, label %if.t11, label %if.j12
+if.t11:
+ %t28 = load ptr, ptr %sc_l_p_receiver
+ %t29 = load ptr, ptr %sc_l_p_1
+ %t30 = call zeroext i1 @sc_dc_3(ptr %t29, ptr null)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u13, label %exc.k14
+exc.u13:
+ ret void
+exc.k14:
+ %t34 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t28, i64 0, i32 2
+ %t35 = zext i1 %t30 to i8
+ store i8 %t35, ptr %t34, !tbaa !196
+ ret void
+if.j12:
+ %t36 = load ptr, ptr %sc_l_key_string
+ %t37 = call zeroext i1 @sc_streq_365197477495960(ptr %t36)
+ br i1 %t37, label %if.t15, label %if.j16
+if.t15:
+ %t38 = load ptr, ptr %sc_l_p_receiver
+ %t39 = load ptr, ptr %sc_l_p_1
+ %t40 = call ptr @sc_dc_1(ptr %t39, ptr null)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @scr_arr_release(ptr %t40)
+ ret void
+exc.k18:
+ %t44 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t38, i64 0, i32 3
+ %t45 = load ptr, ptr %t44
+ store ptr %t40, ptr %t44, !tbaa !198
+ call void @scr_arr_release(ptr %t45)
+ ret void
+if.j16:
+ %t46 = load ptr, ptr %sc_l_key_string
+ %t47 = call zeroext i1 @sc_streq_488203381972006(ptr %t46)
+ br i1 %t47, label %if.t19, label %if.j20
+if.t19:
+ %t48 = load ptr, ptr %sc_l_p_receiver
+ %t49 = load ptr, ptr %sc_l_p_1
+ %t50 = call ptr @sc_dc_0(ptr %t49, ptr null)
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u21, label %exc.k22
+exc.u21:
+ call void @scr_str_release(ptr %t50)
+ ret void
+exc.k22:
+ %t54 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t48, i64 0, i32 4
+ %t55 = load ptr, ptr %t54
+ store ptr %t50, ptr %t54, !tbaa !200
+ call void @scr_str_release(ptr %t55)
+ ret void
+if.j20:
+ %t56 = load ptr, ptr %sc_l_key_string
+ %t57 = call zeroext i1 @sc_streq_938646781597298(ptr %t56)
+ br i1 %t57, label %if.t23, label %if.j24
+if.t23:
+ %t58 = load ptr, ptr %sc_l_p_receiver
+ %t59 = load ptr, ptr %sc_l_p_1
+ %t60 = call ptr @sc_dc_0(ptr %t59, ptr null)
+ %t61 = load i32, ptr %exc.cell
+ %t62 = icmp ne i32 %t61, 0
+ %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false)
+ br i1 %t63, label %exc.u25, label %exc.k26
+exc.u25:
+ call void @scr_str_release(ptr %t60)
+ ret void
+exc.k26:
+ %t64 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t58, i64 0, i32 5
+ %t65 = load ptr, ptr %t64
+ store ptr %t60, ptr %t64, !tbaa !202
+ call void @scr_str_release(ptr %t65)
+ ret void
+if.j24:
+ %t66 = load ptr, ptr %sc_l_key_string
+ %t67 = call zeroext i1 @sc_streq_2232031524457002(ptr %t66)
+ br i1 %t67, label %if.t27, label %if.j28
+if.t27:
+ %t68 = load ptr, ptr %sc_l_p_receiver
+ %t69 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t68, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t70 = call ptr @sc_f__x25_dyn_class_properties(ptr %t69)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t70)
+ ret void
+exc.k30:
+ %t74 = load ptr, ptr %sc_l_p_1
+ %t75 = call ptr @sc_rc_retain_dyn(ptr %t74)
+ %t76 = load ptr, ptr %sc_l_p_receiver
+ %t77 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t76, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t70, ptr @sc_lit_2232031524457002, ptr %t75, ptr %t77)
+ %t78 = load i32, ptr %exc.cell
+ %t79 = icmp ne i32 %t78, 0
+ %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false)
+ br i1 %t80, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t77)
+ ret void
+exc.k32:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t77)
+ ret void
+if.j28:
+ %t81 = load ptr, ptr %sc_l_key_string
+ %t82 = call zeroext i1 @sc_streq_3423954012803281(ptr %t81)
+ br i1 %t82, label %if.t33, label %if.j34
+if.t33:
+ %t83 = load ptr, ptr %sc_l_p_receiver
+ %t84 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t83, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t85 = call ptr @sc_f__x25_dyn_class_properties(ptr %t84)
+ %t86 = load i32, ptr %exc.cell
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u35, label %exc.k36
+exc.u35:
+ call void @sc_rc_release_dyn(ptr %t85)
+ ret void
+exc.k36:
+ %t89 = load ptr, ptr %sc_l_p_1
+ %t90 = call ptr @sc_rc_retain_dyn(ptr %t89)
+ %t91 = load ptr, ptr %sc_l_p_receiver
+ %t92 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t91, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t85, ptr @sc_lit_3423954012803281, ptr %t90, ptr %t92)
+ %t93 = load i32, ptr %exc.cell
+ %t94 = icmp ne i32 %t93, 0
+ %t95 = call i1 @llvm.expect.i1(i1 %t94, i1 false)
+ br i1 %t95, label %exc.u37, label %exc.k38
+exc.u37:
+ call void @sc_rc_release_dyn(ptr %t85)
+ call void @sc_rc_release_dyn(ptr %t90)
+ call void @sc_rc_release_dyn(ptr %t92)
+ ret void
+exc.k38:
+ call void @sc_rc_release_dyn(ptr %t85)
+ call void @sc_rc_release_dyn(ptr %t90)
+ call void @sc_rc_release_dyn(ptr %t92)
+ ret void
+if.j34:
+ %t96 = load ptr, ptr %sc_l_key_string
+ %t97 = call zeroext i1 @sc_streq_700259281879664(ptr %t96)
+ br i1 %t97, label %if.t39, label %if.j40
+if.t39:
+ %t98 = load ptr, ptr %sc_l_p_receiver
+ %t99 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t98, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t100 = call ptr @sc_f__x25_dyn_class_properties(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u41, label %exc.k42
+exc.u41:
+ call void @sc_rc_release_dyn(ptr %t100)
+ ret void
+exc.k42:
+ %t104 = load ptr, ptr %sc_l_p_1
+ %t105 = call ptr @sc_rc_retain_dyn(ptr %t104)
+ %t106 = load ptr, ptr %sc_l_p_receiver
+ %t107 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t106, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t100, ptr @sc_lit_700259281879664, ptr %t105, ptr %t107)
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u43, label %exc.k44
+exc.u43:
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t107)
+ ret void
+exc.k44:
+ call void @sc_rc_release_dyn(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t107)
+ ret void
+if.j40:
+ %t111 = load ptr, ptr %sc_l_key_string
+ %t112 = call zeroext i1 @sc_streq_2478521587363481(ptr %t111)
+ br i1 %t112, label %if.t45, label %if.j46
+if.t45:
+ %t113 = load ptr, ptr %sc_l_p_receiver
+ %t114 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t113, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t115 = call ptr @sc_f__x25_dyn_class_properties(ptr %t114)
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u47, label %exc.k48
+exc.u47:
+ call void @sc_rc_release_dyn(ptr %t115)
+ ret void
+exc.k48:
+ %t119 = load ptr, ptr %sc_l_p_1
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_receiver
+ %t122 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t121, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t115, ptr @sc_lit_2478521587363481, ptr %t120, ptr %t122)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u49, label %exc.k50
+exc.u49:
+ call void @sc_rc_release_dyn(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ ret void
+exc.k50:
+ call void @sc_rc_release_dyn(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ ret void
+if.j46:
+ %t126 = load ptr, ptr %sc_l_p_0
+ %t127 = call ptr @sc_rc_retain_dyn(ptr %t126)
+ %t128 = call ptr @sc_f__x25_dyn_class_properties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u51, label %exc.k52
+exc.u51:
+ call void @sc_rc_release_dyn(ptr %t128)
+ ret void
+exc.k52:
+ %t132 = load ptr, ptr %sc_l_key_string
+ %t133 = call ptr @sc_rc_retain_str(ptr %t132)
+ %t134 = load ptr, ptr %sc_l_p_1
+ %t135 = call ptr @sc_rc_retain_dyn(ptr %t134)
+ %t136 = load ptr, ptr %sc_l_p_receiver
+ %t137 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t136, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t128, ptr %t133, ptr %t135, ptr %t137)
+ %t138 = load i32, ptr %exc.cell
+ %t139 = icmp ne i32 %t138, 0
+ %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false)
+ br i1 %t140, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t128)
+ call void @scr_str_release(ptr %t133)
+ call void @sc_rc_release_dyn(ptr %t135)
+ call void @sc_rc_release_dyn(ptr %t137)
+ ret void
+exc.k54:
+ call void @sc_rc_release_dyn(ptr %t128)
+ call void @scr_str_release(ptr %t133)
+ call void @sc_rc_release_dyn(ptr %t135)
+ call void @sc_rc_release_dyn(ptr %t137)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_480(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_480(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m11_StaticServer(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_481(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.481
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_731773075116702(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = load ptr, ptr %sc_l_p_1
+ %t13 = call ptr @sc_rc_retain_dyn(ptr %t12)
+ %t14 = load ptr, ptr %sc_l_p_receiver
+ %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_731773075116702, ptr %t13, ptr %t15)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+if.j3:
+ %t19 = load ptr, ptr %sc_l_p_0
+ %t20 = call ptr @sc_rc_retain_dyn(ptr %t19)
+ %t21 = call ptr @sc_f__x25_dyn_class_properties(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret void
+exc.k9:
+ %t25 = load ptr, ptr %sc_l_key_string
+ %t26 = call ptr @sc_rc_retain_str(ptr %t25)
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = load ptr, ptr %sc_l_p_receiver
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t21, ptr %t26, ptr %t28, ptr %t30)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @scr_str_release(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @scr_str_release(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_481(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_481(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m6_AssetSource(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_482(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.482
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_298897322184109(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = load ptr, ptr %sc_l_p_1
+ %t13 = call ptr @sc_rc_retain_dyn(ptr %t12)
+ %t14 = load ptr, ptr %sc_l_p_receiver
+ %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_298897322184109, ptr %t13, ptr %t15)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+if.j3:
+ %t19 = load ptr, ptr %sc_l_key_string
+ %t20 = call zeroext i1 @sc_streq_952059176356082(ptr %t19)
+ br i1 %t20, label %if.t8, label %if.j9
+if.t8:
+ %t21 = load ptr, ptr %sc_l_p_receiver
+ %t22 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t21, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t23 = call ptr @sc_f__x25_dyn_class_properties(ptr %t22)
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t23)
+ ret void
+exc.k11:
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = load ptr, ptr %sc_l_p_receiver
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t23, ptr @sc_lit_952059176356082, ptr %t28, ptr %t30)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+if.j9:
+ %t34 = load ptr, ptr %sc_l_key_string
+ %t35 = call zeroext i1 @sc_streq_1026109439396001(ptr %t34)
+ br i1 %t35, label %if.t14, label %if.j15
+if.t14:
+ %t36 = load ptr, ptr %sc_l_p_receiver
+ %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t38 = call ptr @sc_f__x25_dyn_class_properties(ptr %t37)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret void
+exc.k17:
+ %t42 = load ptr, ptr %sc_l_p_1
+ %t43 = call ptr @sc_rc_retain_dyn(ptr %t42)
+ %t44 = load ptr, ptr %sc_l_p_receiver
+ %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t38, ptr @sc_lit_1026109439396001, ptr %t43, ptr %t45)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret void
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret void
+if.j15:
+ %t49 = load ptr, ptr %sc_l_key_string
+ %t50 = call zeroext i1 @sc_streq_1048673592241930(ptr %t49)
+ br i1 %t50, label %if.t20, label %if.j21
+if.t20:
+ %t51 = load ptr, ptr %sc_l_p_receiver
+ %t52 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t51, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t53 = call ptr @sc_f__x25_dyn_class_properties(ptr %t52)
+ %t54 = load i32, ptr %exc.cell
+ %t55 = icmp ne i32 %t54, 0
+ %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false)
+ br i1 %t56, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t53)
+ ret void
+exc.k23:
+ %t57 = load ptr, ptr %sc_l_p_1
+ %t58 = call ptr @sc_rc_retain_dyn(ptr %t57)
+ %t59 = load ptr, ptr %sc_l_p_receiver
+ %t60 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t59, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t53, ptr @sc_lit_1048673592241930, ptr %t58, ptr %t60)
+ %t61 = load i32, ptr %exc.cell
+ %t62 = icmp ne i32 %t61, 0
+ %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false)
+ br i1 %t63, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t60)
+ ret void
+exc.k25:
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t60)
+ ret void
+if.j21:
+ %t64 = load ptr, ptr %sc_l_p_0
+ %t65 = call ptr @sc_rc_retain_dyn(ptr %t64)
+ %t66 = call ptr @sc_f__x25_dyn_class_properties(ptr %t65)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t66)
+ ret void
+exc.k27:
+ %t70 = load ptr, ptr %sc_l_key_string
+ %t71 = call ptr @sc_rc_retain_str(ptr %t70)
+ %t72 = load ptr, ptr %sc_l_p_1
+ %t73 = call ptr @sc_rc_retain_dyn(ptr %t72)
+ %t74 = load ptr, ptr %sc_l_p_receiver
+ %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t66, ptr %t71, ptr %t73, ptr %t75)
+ %t76 = load i32, ptr %exc.cell
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false)
+ br i1 %t78, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @scr_str_release(ptr %t71)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret void
+exc.k29:
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @scr_str_release(ptr %t71)
+ call void @sc_rc_release_dyn(ptr %t73)
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_482(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_482(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_483(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.483
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_3537803200604019(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_0(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_str_release(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t6, i64 0, i32 3
+ %t13 = load ptr, ptr %t12
+ store ptr %t8, ptr %t12, !tbaa !100
+ call void @scr_str_release(ptr %t13)
+ ret void
+if.j3:
+ %t14 = load ptr, ptr %sc_l_key_string
+ %t15 = call zeroext i1 @sc_streq_2438149604853393(ptr %t14)
+ br i1 %t15, label %if.t6, label %if.j7
+if.t6:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = load ptr, ptr %sc_l_p_1
+ %t18 = call ptr @sc_dc_0(ptr %t17, ptr null)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_str_release(ptr %t18)
+ ret void
+exc.k9:
+ %t22 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t16, i64 0, i32 4
+ %t23 = load ptr, ptr %t22
+ store ptr %t18, ptr %t22, !tbaa !102
+ call void @scr_str_release(ptr %t23)
+ ret void
+if.j7:
+ %t24 = load ptr, ptr %sc_l_key_string
+ %t25 = call zeroext i1 @sc_streq_87265031005560(ptr %t24)
+ br i1 %t25, label %if.t10, label %if.j11
+if.t10:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call ptr @sc_dc_0(ptr %t27, ptr null)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @scr_str_release(ptr %t28)
+ ret void
+exc.k13:
+ %t32 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t26, i64 0, i32 5
+ %t33 = load ptr, ptr %t32
+ store ptr %t28, ptr %t32, !tbaa !104
+ call void @scr_str_release(ptr %t33)
+ ret void
+if.j11:
+ %t34 = load ptr, ptr %sc_l_key_string
+ %t35 = call zeroext i1 @sc_streq_201462833315591(ptr %t34)
+ br i1 %t35, label %if.t14, label %if.j15
+if.t14:
+ %t36 = load ptr, ptr %sc_l_p_receiver
+ %t37 = load ptr, ptr %sc_l_p_1
+ %t38 = call ptr @sc_dc_27(ptr %t37, ptr null)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @scr_arr_release(ptr %t38)
+ ret void
+exc.k17:
+ %t42 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t36, i64 0, i32 6
+ %t43 = load ptr, ptr %t42
+ store ptr %t38, ptr %t42, !tbaa !82
+ call void @scr_arr_release(ptr %t43)
+ ret void
+if.j15:
+ %t44 = load ptr, ptr %sc_l_key_string
+ %t45 = call zeroext i1 @sc_streq_1008105371634015(ptr %t44)
+ br i1 %t45, label %if.t18, label %if.j19
+if.t18:
+ %t46 = load ptr, ptr %sc_l_p_receiver
+ %t47 = load ptr, ptr %sc_l_p_1
+ %t48 = call double @sc_dc_2(ptr %t47, ptr null)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u20, label %exc.k21
+exc.u20:
+ ret void
+exc.k21:
+ %t52 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t46, i64 0, i32 7
+ store double %t48, ptr %t52, !tbaa !106
+ ret void
+if.j19:
+ %t53 = load ptr, ptr %sc_l_key_string
+ %t54 = call zeroext i1 @sc_streq_298897322184109(ptr %t53)
+ br i1 %t54, label %if.t22, label %if.j23
+if.t22:
+ %t55 = load ptr, ptr %sc_l_p_receiver
+ %t56 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t55, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t57 = call ptr @sc_f__x25_dyn_class_properties(ptr %t56)
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t57)
+ ret void
+exc.k25:
+ %t61 = load ptr, ptr %sc_l_p_1
+ %t62 = call ptr @sc_rc_retain_dyn(ptr %t61)
+ %t63 = load ptr, ptr %sc_l_p_receiver
+ %t64 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t63, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t57, ptr @sc_lit_298897322184109, ptr %t62, ptr %t64)
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t64)
+ ret void
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t62)
+ call void @sc_rc_release_dyn(ptr %t64)
+ ret void
+if.j23:
+ %t68 = load ptr, ptr %sc_l_key_string
+ %t69 = call zeroext i1 @sc_streq_1048673592241930(ptr %t68)
+ br i1 %t69, label %if.t28, label %if.j29
+if.t28:
+ %t70 = load ptr, ptr %sc_l_p_receiver
+ %t71 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t70, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t72 = call ptr @sc_f__x25_dyn_class_properties(ptr %t71)
+ %t73 = load i32, ptr %exc.cell
+ %t74 = icmp ne i32 %t73, 0
+ %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false)
+ br i1 %t75, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t72)
+ ret void
+exc.k31:
+ %t76 = load ptr, ptr %sc_l_p_1
+ %t77 = call ptr @sc_rc_retain_dyn(ptr %t76)
+ %t78 = load ptr, ptr %sc_l_p_receiver
+ %t79 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t78, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t72, ptr @sc_lit_1048673592241930, ptr %t77, ptr %t79)
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t77)
+ call void @sc_rc_release_dyn(ptr %t79)
+ ret void
+exc.k33:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t77)
+ call void @sc_rc_release_dyn(ptr %t79)
+ ret void
+if.j29:
+ %t83 = load ptr, ptr %sc_l_key_string
+ %t84 = call zeroext i1 @sc_streq_952059176356082(ptr %t83)
+ br i1 %t84, label %if.t34, label %if.j35
+if.t34:
+ %t85 = load ptr, ptr %sc_l_p_receiver
+ %t86 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t85, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t87 = call ptr @sc_f__x25_dyn_class_properties(ptr %t86)
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t87)
+ ret void
+exc.k37:
+ %t91 = load ptr, ptr %sc_l_p_1
+ %t92 = call ptr @sc_rc_retain_dyn(ptr %t91)
+ %t93 = load ptr, ptr %sc_l_p_receiver
+ %t94 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t93, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t87, ptr @sc_lit_952059176356082, ptr %t92, ptr %t94)
+ %t95 = load i32, ptr %exc.cell
+ %t96 = icmp ne i32 %t95, 0
+ %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false)
+ br i1 %t97, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t87)
+ call void @sc_rc_release_dyn(ptr %t92)
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret void
+exc.k39:
+ call void @sc_rc_release_dyn(ptr %t87)
+ call void @sc_rc_release_dyn(ptr %t92)
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret void
+if.j35:
+ %t98 = load ptr, ptr %sc_l_key_string
+ %t99 = call zeroext i1 @sc_streq_1026109439396001(ptr %t98)
+ br i1 %t99, label %if.t40, label %if.j41
+if.t40:
+ %t100 = load ptr, ptr %sc_l_p_receiver
+ %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t102 = call ptr @sc_f__x25_dyn_class_properties(ptr %t101)
+ %t103 = load i32, ptr %exc.cell
+ %t104 = icmp ne i32 %t103, 0
+ %t105 = call i1 @llvm.expect.i1(i1 %t104, i1 false)
+ br i1 %t105, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t102)
+ ret void
+exc.k43:
+ %t106 = load ptr, ptr %sc_l_p_1
+ %t107 = call ptr @sc_rc_retain_dyn(ptr %t106)
+ %t108 = load ptr, ptr %sc_l_p_receiver
+ %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t102, ptr @sc_lit_1026109439396001, ptr %t107, ptr %t109)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t107)
+ call void @sc_rc_release_dyn(ptr %t109)
+ ret void
+exc.k45:
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t107)
+ call void @sc_rc_release_dyn(ptr %t109)
+ ret void
+if.j41:
+ %t113 = load ptr, ptr %sc_l_p_0
+ %t114 = call ptr @sc_rc_retain_dyn(ptr %t113)
+ %t115 = call ptr @sc_f__x25_dyn_class_properties(ptr %t114)
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t115)
+ ret void
+exc.k47:
+ %t119 = load ptr, ptr %sc_l_key_string
+ %t120 = call ptr @sc_rc_retain_str(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_1
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = load ptr, ptr %sc_l_p_receiver
+ %t124 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t123, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t115, ptr %t120, ptr %t122, ptr %t124)
+ %t125 = load i32, ptr %exc.cell
+ %t126 = icmp ne i32 %t125, 0
+ %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false)
+ br i1 %t127, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t115)
+ call void @scr_str_release(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ ret void
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t115)
+ call void @scr_str_release(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_483(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_483(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_484(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.484
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_2251933729900935(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call double @sc_dc_2(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t6, i64 0, i32 1
+ store double %t8, ptr %t12, !tbaa !188
+ ret void
+if.j3:
+ %t13 = load ptr, ptr %sc_l_key_string
+ %t14 = call zeroext i1 @sc_streq_3862385552412238(ptr %t13)
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_p_receiver
+ %t16 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t15, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ %t17 = call ptr @sc_f__x25_dyn_class_properties(ptr %t16)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret void
+exc.k9:
+ %t21 = load ptr, ptr %sc_l_p_1
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t23 = load ptr, ptr %sc_l_p_receiver
+ %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t17, ptr @sc_lit_3862385552412238, ptr %t22, ptr %t24)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret void
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret void
+if.j7:
+ %t28 = load ptr, ptr %sc_l_p_0
+ %t29 = call ptr @sc_rc_retain_dyn(ptr %t28)
+ %t30 = call ptr @sc_f__x25_dyn_class_properties(ptr %t29)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+exc.k13:
+ %t34 = load ptr, ptr %sc_l_key_string
+ %t35 = call ptr @sc_rc_retain_str(ptr %t34)
+ %t36 = load ptr, ptr %sc_l_p_1
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = load ptr, ptr %sc_l_p_receiver
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t30, ptr %t35, ptr %t37, ptr %t39)
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @scr_str_release(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ ret void
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @scr_str_release(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_484(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_484(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m0_GenDispatch(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_485(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.485
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_2251933729900935(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call double @sc_dc_2(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t6, i64 0, i32 1
+ store double %t8, ptr %t12, !tbaa !188
+ ret void
+if.j3:
+ %t13 = load ptr, ptr %sc_l_key_string
+ %t14 = call zeroext i1 @sc_streq_437194258546139(ptr %t13)
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_p_receiver
+ %t16 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t15, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ %t17 = call ptr @sc_f__x25_dyn_class_properties(ptr %t16)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret void
+exc.k9:
+ %t21 = load ptr, ptr %sc_l_p_1
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t23 = load ptr, ptr %sc_l_p_receiver
+ %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t17, ptr @sc_lit_437194258546139, ptr %t22, ptr %t24)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret void
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret void
+if.j7:
+ %t28 = load ptr, ptr %sc_l_p_0
+ %t29 = call ptr @sc_rc_retain_dyn(ptr %t28)
+ %t30 = call ptr @sc_f__x25_dyn_class_properties(ptr %t29)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+exc.k13:
+ %t34 = load ptr, ptr %sc_l_key_string
+ %t35 = call ptr @sc_rc_retain_str(ptr %t34)
+ %t36 = load ptr, ptr %sc_l_p_1
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = load ptr, ptr %sc_l_p_receiver
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t30, ptr %t35, ptr %t37, ptr %t39)
+ %t40 = load i32, ptr %exc.cell
+ %t41 = icmp ne i32 %t40, 0
+ %t42 = call i1 @llvm.expect.i1(i1 %t41, i1 false)
+ br i1 %t42, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @scr_str_release(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ ret void
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @scr_str_release(ptr %t35)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_485(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_485(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m0_GenFetch(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_486(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.486
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_2250671438728133(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_properties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = load ptr, ptr %sc_l_p_1
+ %t13 = call ptr @sc_rc_retain_dyn(ptr %t12)
+ %t14 = load ptr, ptr %sc_l_p_receiver
+ %t15 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t14, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t8, ptr @sc_lit_2250671438728133, ptr %t13, ptr %t15)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret void
+if.j3:
+ %t19 = load ptr, ptr %sc_l_p_0
+ %t20 = call ptr @sc_rc_retain_dyn(ptr %t19)
+ %t21 = call ptr @sc_f__x25_dyn_class_properties(ptr %t20)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret void
+exc.k9:
+ %t25 = load ptr, ptr %sc_l_key_string
+ %t26 = call ptr @sc_rc_retain_str(ptr %t25)
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = load ptr, ptr %sc_l_p_receiver
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t21, ptr %t26, ptr %t28, ptr %t30)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @scr_str_release(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @scr_str_release(ptr %t26)
+ call void @sc_rc_release_dyn(ptr %t28)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_486(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_486(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_487(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.487
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_1609576561362083(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t8 = call ptr @sc_dc_0(ptr %t7, ptr null)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_str_release(ptr %t8)
+ ret void
+exc.k5:
+ %t12 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 1
+ %t13 = load ptr, ptr %t12
+ store ptr %t8, ptr %t12, !tbaa !76
+ call void @scr_str_release(ptr %t13)
+ ret void
+if.j3:
+ %t14 = load ptr, ptr %sc_l_key_string
+ %t15 = call zeroext i1 @sc_streq_719487464480143(ptr %t14)
+ br i1 %t15, label %if.t6, label %if.j7
+if.t6:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = load ptr, ptr %sc_l_p_1
+ %t18 = call ptr @sc_dc_0(ptr %t17, ptr null)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @scr_str_release(ptr %t18)
+ ret void
+exc.k9:
+ %t22 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t16, i64 0, i32 2
+ %t23 = load ptr, ptr %t22
+ store ptr %t18, ptr %t22, !tbaa !78
+ call void @scr_str_release(ptr %t23)
+ ret void
+if.j7:
+ %t24 = load ptr, ptr %sc_l_key_string
+ %t25 = call zeroext i1 @sc_streq_977412068193087(ptr %t24)
+ br i1 %t25, label %if.t10, label %if.j11
+if.t10:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = load ptr, ptr %sc_l_p_1
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t26, i64 0, i32 3
+ %t30 = load ptr, ptr %t29
+ store ptr %t28, ptr %t29, !tbaa !74
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret void
+if.j11:
+ %t31 = load ptr, ptr %sc_l_key_string
+ %t32 = call zeroext i1 @sc_streq_1515898915129638(ptr %t31)
+ br i1 %t32, label %if.t12, label %if.j13
+if.t12:
+ %t33 = load ptr, ptr %sc_l_p_receiver
+ %t34 = load ptr, ptr %sc_l_p_1
+ %t35 = call ptr @sc_dc_16(ptr %t34, ptr null)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @scr_http_req_release(ptr %t35)
+ ret void
+exc.k15:
+ %t39 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t33, i64 0, i32 4
+ %t40 = load ptr, ptr %t39
+ store ptr %t35, ptr %t39, !tbaa !72
+ call void @scr_http_req_release(ptr %t40)
+ ret void
+if.j13:
+ %t41 = load ptr, ptr %sc_l_key_string
+ %t42 = call zeroext i1 @sc_streq_2951457732402023(ptr %t41)
+ br i1 %t42, label %if.t16, label %if.j17
+if.t16:
+ %t43 = load ptr, ptr %sc_l_p_receiver
+ %t44 = load ptr, ptr %sc_l_p_1
+ %t45 = call ptr @sc_dc_13(ptr %t44, ptr null)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rrelease_r0(ptr %t45)
+ ret void
+exc.k19:
+ %t49 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t43, i64 0, i32 5
+ %t50 = load ptr, ptr %t49
+ store ptr %t45, ptr %t49, !tbaa !86
+ call void @sc_rrelease_r0(ptr %t50)
+ ret void
+if.j17:
+ %t51 = load ptr, ptr %sc_l_key_string
+ %t52 = call zeroext i1 @sc_streq_4297677228401092(ptr %t51)
+ br i1 %t52, label %if.t20, label %if.j21
+if.t20:
+ %t53 = load ptr, ptr %sc_l_p_receiver
+ %t54 = load ptr, ptr %sc_l_p_1
+ %t55 = call ptr @sc_dc_22(ptr %t54, ptr null)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @scr_str_release(ptr %t55)
+ ret void
+exc.k23:
+ %t59 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t53, i64 0, i32 6
+ %t60 = load ptr, ptr %t59
+ store ptr %t55, ptr %t59, !tbaa !80
+ call void @scr_str_release(ptr %t60)
+ ret void
+if.j21:
+ %t61 = load ptr, ptr %sc_l_key_string
+ %t62 = call zeroext i1 @sc_streq_201462833315591(ptr %t61)
+ br i1 %t62, label %if.t24, label %if.j25
+if.t24:
+ %t63 = load ptr, ptr %sc_l_p_receiver
+ %t64 = load ptr, ptr %sc_l_p_1
+ %t65 = call ptr @sc_dc_27(ptr %t64, ptr null)
+ %t66 = load i32, ptr %exc.cell
+ %t67 = icmp ne i32 %t66, 0
+ %t68 = call i1 @llvm.expect.i1(i1 %t67, i1 false)
+ br i1 %t68, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @scr_arr_release(ptr %t65)
+ ret void
+exc.k27:
+ %t69 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t63, i64 0, i32 7
+ %t70 = load ptr, ptr %t69
+ store ptr %t65, ptr %t69, !tbaa !82
+ call void @scr_arr_release(ptr %t70)
+ ret void
+if.j25:
+ %t71 = load ptr, ptr %sc_l_key_string
+ %t72 = call zeroext i1 @sc_streq_1347488745603967(ptr %t71)
+ br i1 %t72, label %if.t28, label %if.j29
+if.t28:
+ %t73 = load ptr, ptr %sc_l_p_receiver
+ %t74 = load ptr, ptr %sc_l_p_1
+ %t75 = call double @sc_dc_2(ptr %t74, ptr null)
+ %t76 = load i32, ptr %exc.cell
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false)
+ br i1 %t78, label %exc.u30, label %exc.k31
+exc.u30:
+ ret void
+exc.k31:
+ %t79 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t73, i64 0, i32 8
+ store double %t75, ptr %t79, !tbaa !84
+ ret void
+if.j29:
+ %t80 = load ptr, ptr %sc_l_key_string
+ %t81 = call zeroext i1 @sc_streq_616655122974952(ptr %t80)
+ br i1 %t81, label %if.t32, label %if.j33
+if.t32:
+ %t82 = call ptr @scr_error_new(i32 1, ptr @sc_lit_896668667053370)
+ call void @scr_throw_obj(ptr %t82, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret void
+if.j33:
+ %t83 = load ptr, ptr %sc_l_key_string
+ %t84 = call zeroext i1 @sc_streq_2677147133778287(ptr %t83)
+ br i1 %t84, label %if.t34, label %if.j35
+if.t34:
+ %t85 = load ptr, ptr %sc_l_p_receiver
+ %t86 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t85, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t87 = call ptr @sc_f__x25_dyn_class_properties(ptr %t86)
+ %t88 = load i32, ptr %exc.cell
+ %t89 = icmp ne i32 %t88, 0
+ %t90 = call i1 @llvm.expect.i1(i1 %t89, i1 false)
+ br i1 %t90, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t87)
+ ret void
+exc.k37:
+ %t91 = load ptr, ptr %sc_l_p_1
+ %t92 = call ptr @sc_rc_retain_dyn(ptr %t91)
+ %t93 = load ptr, ptr %sc_l_p_receiver
+ %t94 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t93, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t87, ptr @sc_lit_2677147133778287, ptr %t92, ptr %t94)
+ %t95 = load i32, ptr %exc.cell
+ %t96 = icmp ne i32 %t95, 0
+ %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false)
+ br i1 %t97, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t87)
+ call void @sc_rc_release_dyn(ptr %t92)
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret void
+exc.k39:
+ call void @sc_rc_release_dyn(ptr %t87)
+ call void @sc_rc_release_dyn(ptr %t92)
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret void
+if.j35:
+ %t98 = load ptr, ptr %sc_l_key_string
+ %t99 = call zeroext i1 @sc_streq_1207708014012541(ptr %t98)
+ br i1 %t99, label %if.t40, label %if.j41
+if.t40:
+ %t100 = load ptr, ptr %sc_l_p_receiver
+ %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t102 = call ptr @sc_f__x25_dyn_class_properties(ptr %t101)
+ %t103 = load i32, ptr %exc.cell
+ %t104 = icmp ne i32 %t103, 0
+ %t105 = call i1 @llvm.expect.i1(i1 %t104, i1 false)
+ br i1 %t105, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t102)
+ ret void
+exc.k43:
+ %t106 = load ptr, ptr %sc_l_p_1
+ %t107 = call ptr @sc_rc_retain_dyn(ptr %t106)
+ %t108 = load ptr, ptr %sc_l_p_receiver
+ %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t102, ptr @sc_lit_1207708014012541, ptr %t107, ptr %t109)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t107)
+ call void @sc_rc_release_dyn(ptr %t109)
+ ret void
+exc.k45:
+ call void @sc_rc_release_dyn(ptr %t102)
+ call void @sc_rc_release_dyn(ptr %t107)
+ call void @sc_rc_release_dyn(ptr %t109)
+ ret void
+if.j41:
+ %t113 = load ptr, ptr %sc_l_key_string
+ %t114 = call zeroext i1 @sc_streq_551454763233869(ptr %t113)
+ br i1 %t114, label %if.t46, label %if.j47
+if.t46:
+ %t115 = load ptr, ptr %sc_l_p_receiver
+ %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t117 = call ptr @sc_f__x25_dyn_class_properties(ptr %t116)
+ %t118 = load i32, ptr %exc.cell
+ %t119 = icmp ne i32 %t118, 0
+ %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false)
+ br i1 %t120, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret void
+exc.k49:
+ %t121 = load ptr, ptr %sc_l_p_1
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = load ptr, ptr %sc_l_p_receiver
+ %t124 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t123, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t117, ptr @sc_lit_551454763233869, ptr %t122, ptr %t124)
+ %t125 = load i32, ptr %exc.cell
+ %t126 = icmp ne i32 %t125, 0
+ %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false)
+ br i1 %t127, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ ret void
+exc.k51:
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ ret void
+if.j47:
+ %t128 = load ptr, ptr %sc_l_p_0
+ %t129 = call ptr @sc_rc_retain_dyn(ptr %t128)
+ %t130 = call ptr @sc_f__x25_dyn_class_properties(ptr %t129)
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret void
+exc.k53:
+ %t134 = load ptr, ptr %sc_l_key_string
+ %t135 = call ptr @sc_rc_retain_str(ptr %t134)
+ %t136 = load ptr, ptr %sc_l_p_1
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t138 = load ptr, ptr %sc_l_p_receiver
+ %t139 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t138, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t130, ptr %t135, ptr %t137, ptr %t139)
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t130)
+ call void @scr_str_release(ptr %t135)
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_rc_release_dyn(ptr %t139)
+ ret void
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t130)
+ call void @scr_str_release(ptr %t135)
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_rc_release_dyn(ptr %t139)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_487(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_487(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m3_LiteRequest(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_488(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.488
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_3038119887745057(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7, !tbaa !32
+ %t9 = call ptr @scr_arr_retain_v(ptr %t8)
+ %t10 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t9, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_4447116402536209, i64 16, ptr @sc_ldr_24_materialize, ptr @sc_ldr_24_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t10, ptr @sc_ldr_24_materialize_ops)
+ call void @scr_arr_release(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_2387748979716321(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t13, i64 0, i32 2
+ %t15 = load ptr, ptr %t14, !tbaa !170
+ %t16 = call ptr @scr_arr_retain_v(ptr %t15)
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t17, ptr @sc_ldr_26_materialize_ops)
+ call void @scr_arr_release(ptr %t16)
+ ret ptr %t17
+if.j5:
+ %t18 = load ptr, ptr %sc_l_p_key
+ %t19 = call zeroext i1 @sc_streq_4074236996717255(ptr %t18)
+ br i1 %t19, label %if.t6, label %if.j7
+if.t6:
+ %t20 = load ptr, ptr %sc_l_p_receiver
+ %t21 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t20, i64 0, i32 3
+ %t22 = load ptr, ptr %t21, !tbaa !36
+ %t23 = call ptr @scr_arr_retain_v(ptr %t22)
+ %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1913588278853018, i64 36, ptr @sc_ldr_27_materialize, ptr @sc_ldr_27_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t24, ptr @sc_ldr_27_materialize_ops)
+ call void @scr_arr_release(ptr %t23)
+ ret ptr %t24
+if.j7:
+ %t25 = load ptr, ptr %sc_l_p_key
+ %t26 = call zeroext i1 @sc_streq_3834689050502795(ptr %t25)
+ br i1 %t26, label %if.t8, label %if.j9
+if.t8:
+ %t27 = load ptr, ptr %sc_l_p_receiver
+ %t28 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t27, i64 0, i32 4
+ %t29 = load ptr, ptr %t28, !tbaa !34
+ %t30 = call ptr @scr_arr_retain_v(ptr %t29)
+ %t31 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t30, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3192918191117730, i64 55, ptr @sc_ldr_28_materialize, ptr @sc_ldr_28_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t31, ptr @sc_ldr_28_materialize_ops)
+ call void @scr_arr_release(ptr %t30)
+ ret ptr %t31
+if.j9:
+ %t32 = load ptr, ptr %sc_l_p_key
+ %t33 = call zeroext i1 @sc_streq_772714621079184(ptr %t32)
+ br i1 %t33, label %if.t10, label %if.j11
+if.t10:
+ %t34 = load ptr, ptr %sc_l_p_receiver
+ %t35 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t34, i64 0, i32 5
+ %t36 = load ptr, ptr %t35, !tbaa !172
+ %t37 = call ptr @scr_closure_retain_v(ptr %t36)
+ %t38 = call ptr @sc_dfb_4(ptr %t37, ptr null)
+ call void @scr_closure_release(ptr %t37)
+ ret ptr %t38
+if.j11:
+ %t39 = load ptr, ptr %sc_l_p_key
+ %t40 = call zeroext i1 @sc_streq_1253948269358290(ptr %t39)
+ br i1 %t40, label %if.t12, label %if.j13
+if.t12:
+ %t41 = load ptr, ptr %sc_l_p_receiver
+ %t42 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t41, i64 0, i32 6
+ %t43 = load ptr, ptr %t42, !tbaa !174
+ %t44 = call ptr @scr_arr_retain_v(ptr %t43)
+ %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_623184722659282, i64 48, ptr @sc_ldr_26_materialize, ptr @sc_ldr_26_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t45, ptr @sc_ldr_26_materialize_ops)
+ call void @scr_arr_release(ptr %t44)
+ ret ptr %t45
+if.j13:
+ %t46 = load ptr, ptr %sc_l_p_key
+ %t47 = call zeroext i1 @sc_streq_872249802202544(ptr %t46)
+ br i1 %t47, label %if.t14, label %if.j15
+if.t14:
+ %t48 = load ptr, ptr %sc_l_p_receiver
+ %t49 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t48, i64 0, i32 7
+ %t50 = load ptr, ptr %t49, !tbaa !176
+ %t51 = call ptr @scr_union_retain_v(ptr %t50)
+ %t52 = call ptr @sc_td_23(ptr %t51)
+ call void @scr_union_release(ptr %t51)
+ ret ptr %t52
+if.j15:
+ %t53 = load ptr, ptr %sc_l_p_key
+ %t54 = call zeroext i1 @sc_streq_3257120253469437(ptr %t53)
+ br i1 %t54, label %if.t16, label %if.j17
+if.t16:
+ %t55 = load ptr, ptr %sc_l_p_receiver
+ %t56 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t55, i64 0, i32 8
+ %t57 = load ptr, ptr %t56, !tbaa !178
+ %t58 = call ptr @scr_arr_retain_v(ptr %t57)
+ %t59 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t58, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1913588278853018, i64 36, ptr @sc_ldr_27_materialize, ptr @sc_ldr_27_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t59, ptr @sc_ldr_27_materialize_ops)
+ call void @scr_arr_release(ptr %t58)
+ ret ptr %t59
+if.j17:
+ %t60 = load ptr, ptr %sc_l_p_key
+ %t61 = call zeroext i1 @sc_streq_3782354537448346(ptr %t60)
+ br i1 %t61, label %if.t18, label %if.j19
+if.t18:
+ %t62 = load ptr, ptr %sc_l_p_receiver
+ %t63 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t62, i64 0, i32 9
+ %t64 = load ptr, ptr %t63, !tbaa !180
+ %t65 = call ptr @scr_closure_retain_v(ptr %t64)
+ %t66 = call ptr @sc_dfb_4(ptr %t65, ptr null)
+ call void @scr_closure_release(ptr %t65)
+ ret ptr %t66
+if.j19:
+ %t67 = load ptr, ptr %sc_l_p_key
+ %t68 = call zeroext i1 @sc_streq_886324725696546(ptr %t67)
+ br i1 %t68, label %if.t20, label %if.j21
+if.t20:
+ %t69 = load ptr, ptr %sc_l_p_receiver
+ %t70 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t69, i64 0, i32 10
+ %t71 = load ptr, ptr %t70, !tbaa !150
+ %t72 = call ptr @scr_arr_retain_v(ptr %t71)
+ %t73 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t72, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2337619831431474, i64 20, ptr @sc_ldr_29_materialize, ptr @sc_ldr_29_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t73, ptr @sc_ldr_29_materialize_ops)
+ call void @scr_arr_release(ptr %t72)
+ ret ptr %t73
+if.j21:
+ %t74 = load ptr, ptr %sc_l_p_key
+ %t75 = call zeroext i1 @sc_streq_535630044833136(ptr %t74)
+ br i1 %t75, label %if.t22, label %if.j23
+if.t22:
+ %t76 = load ptr, ptr %sc_l_p_receiver
+ %t77 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t76, i64 0, i32 11
+ %t78 = load ptr, ptr %t77, !tbaa !152
+ %t79 = call ptr @scr_arr_retain_v(ptr %t78)
+ %t80 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t79, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_2888908392807325, i64 17, ptr @sc_ldr_30_materialize, ptr @sc_ldr_30_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t80, ptr @sc_ldr_30_materialize_ops)
+ call void @scr_arr_release(ptr %t79)
+ ret ptr %t80
+if.j23:
+ %t81 = load ptr, ptr %sc_l_p_key
+ %t82 = call zeroext i1 @sc_streq_4400741686745380(ptr %t81)
+ br i1 %t82, label %if.t24, label %if.j25
+if.t24:
+ %t83 = load ptr, ptr %sc_l_p_receiver
+ %t84 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t83, i64 0, i32 12
+ %t85 = load ptr, ptr %t84, !tbaa !154
+ %t86 = call ptr @scr_arr_retain_v(ptr %t85)
+ %t87 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t86, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t87, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_arr_release(ptr %t86)
+ ret ptr %t87
+if.j25:
+ %t88 = load ptr, ptr %sc_l_p_key
+ %t89 = call zeroext i1 @sc_streq_1668606746601237(ptr %t88)
+ br i1 %t89, label %if.t26, label %if.j27
+if.t26:
+ %t90 = load ptr, ptr %sc_l_p_receiver
+ %t91 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t90, i64 0, i32 13
+ %t92 = load ptr, ptr %t91, !tbaa !38
+ %t93 = call ptr @scr_arr_retain_v(ptr %t92)
+ %t94 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t93, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t94, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_arr_release(ptr %t93)
+ ret ptr %t94
+if.j27:
+ %t95 = load ptr, ptr %sc_l_p_key
+ %t96 = call zeroext i1 @sc_streq_1388999587933298(ptr %t95)
+ br i1 %t96, label %if.t28, label %if.j29
+if.t28:
+ %t97 = load ptr, ptr %sc_l_p_receiver
+ %t98 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t97, i64 0, i32 14
+ %t99 = load ptr, ptr %t98, !tbaa !40
+ %t100 = call ptr @scr_arr_retain_v(ptr %t99)
+ %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_125327543764853, i64 23, ptr @sc_ldr_31_materialize, ptr @sc_ldr_31_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t101, ptr @sc_ldr_31_materialize_ops)
+ call void @scr_arr_release(ptr %t100)
+ ret ptr %t101
+if.j29:
+ %t102 = load ptr, ptr %sc_l_p_key
+ %t103 = call zeroext i1 @sc_streq_1094398669481625(ptr %t102)
+ br i1 %t103, label %if.t30, label %if.j31
+if.t30:
+ %t104 = load ptr, ptr %sc_l_p_receiver
+ %t105 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t104, i64 0, i32 15
+ %t106 = load ptr, ptr %t105, !tbaa !182
+ %t107 = call ptr @scr_closure_retain_v(ptr %t106)
+ %t108 = call ptr @sc_dfb_6(ptr %t107, ptr null)
+ call void @scr_closure_release(ptr %t107)
+ ret ptr %t108
+if.j31:
+ %t109 = load ptr, ptr %sc_l_p_key
+ %t110 = call zeroext i1 @sc_streq_1345623861448315(ptr %t109)
+ br i1 %t110, label %if.t32, label %if.j33
+if.t32:
+ %t111 = load ptr, ptr %sc_l_p_receiver
+ %t112 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t111, i64 0, i32 16
+ %t113 = load ptr, ptr %t112, !tbaa !184
+ %t114 = call ptr @scr_closure_retain_v(ptr %t113)
+ %t115 = call ptr @sc_dfb_7(ptr %t114, ptr null)
+ call void @scr_closure_release(ptr %t114)
+ ret ptr %t115
+if.j33:
+ %t116 = load ptr, ptr %sc_l_p_key
+ %t117 = call zeroext i1 @sc_streq_3774229428846185(ptr %t116)
+ br i1 %t117, label %if.t34, label %if.j35
+if.t34:
+ %t118 = load ptr, ptr %sc_l_p_receiver
+ %t119 = getelementptr inbounds %sc_o__x25_m5_App, ptr %t118, i64 0, i32 17
+ %t120 = load ptr, ptr %t119, !tbaa !186
+ %t121 = call ptr @scr_closure_retain_v(ptr %t120)
+ %t122 = call ptr @sc_dfb_8(ptr %t121, ptr null)
+ call void @scr_closure_release(ptr %t121)
+ ret ptr %t122
+if.j35:
+ %t123 = load ptr, ptr %sc_l_p_key
+ %t124 = call zeroext i1 @sc_streq_731773075116702(ptr %t123)
+ br i1 %t124, label %if.t36, label %if.j37
+if.t36:
+ %t125 = load ptr, ptr %sc_l_p_receiver
+ %t126 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t125, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t127 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t126)
+ %t128 = load i32, ptr %exc.cell
+ %t129 = icmp ne i32 %t128, 0
+ %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false)
+ br i1 %t130, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t127)
+ ret ptr null
+exc.k39:
+ %t131 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t127, ptr @sc_lit_731773075116702)
+ %t132 = load i32, ptr %exc.cell
+ %t133 = icmp ne i32 %t132, 0
+ %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false)
+ br i1 %t134, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t127)
+ ret ptr null
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t127)
+ br i1 %t131, label %if.t42, label %if.j43
+if.t42:
+ %t135 = load ptr, ptr %sc_l_p_receiver
+ %t136 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t135, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t137 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t136)
+ %t138 = load i32, ptr %exc.cell
+ %t139 = icmp ne i32 %t138, 0
+ %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false)
+ br i1 %t140, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t137)
+ ret ptr null
+exc.k45:
+ %t141 = load ptr, ptr %sc_l_p_receiver
+ %t142 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t141, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t143 = call ptr @scr_dyn_bag_get(ptr %t137, ptr @sc_lit_731773075116702, ptr %t142)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_rc_release_dyn(ptr %t142)
+ call void @sc_rc_release_dyn(ptr %t143)
+ ret ptr null
+exc.k47:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_rc_release_dyn(ptr %t142)
+ ret ptr %t143
+if.j43:
+ %t148 = call ptr @scr_dyn_undefined()
+ %t147 = call ptr @scr_dyn_retain_v(ptr %t148)
+ ret ptr %t147
+if.j37:
+ %t149 = load ptr, ptr %sc_l_p_key
+ %t150 = call zeroext i1 @sc_streq_2007918756741504(ptr %t149)
+ br i1 %t150, label %if.t48, label %if.j49
+if.t48:
+ %t151 = load ptr, ptr %sc_l_p_receiver
+ %t152 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t151, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t153 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t152)
+ %t154 = load i32, ptr %exc.cell
+ %t155 = icmp ne i32 %t154, 0
+ %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false)
+ br i1 %t156, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t153)
+ ret ptr null
+exc.k51:
+ %t157 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t153, ptr @sc_lit_2007918756741504)
+ %t158 = load i32, ptr %exc.cell
+ %t159 = icmp ne i32 %t158, 0
+ %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false)
+ br i1 %t160, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t153)
+ ret ptr null
+exc.k53:
+ call void @sc_rc_release_dyn(ptr %t153)
+ br i1 %t157, label %if.t54, label %if.j55
+if.t54:
+ %t161 = load ptr, ptr %sc_l_p_receiver
+ %t162 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t161, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t163 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t162)
+ %t164 = load i32, ptr %exc.cell
+ %t165 = icmp ne i32 %t164, 0
+ %t166 = call i1 @llvm.expect.i1(i1 %t165, i1 false)
+ br i1 %t166, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t163)
+ ret ptr null
+exc.k57:
+ %t167 = load ptr, ptr %sc_l_p_receiver
+ %t168 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t167, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t169 = call ptr @scr_dyn_bag_get(ptr %t163, ptr @sc_lit_2007918756741504, ptr %t168)
+ %t170 = load i32, ptr %exc.cell
+ %t171 = icmp ne i32 %t170, 0
+ %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false)
+ br i1 %t172, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t163)
+ call void @sc_rc_release_dyn(ptr %t168)
+ call void @sc_rc_release_dyn(ptr %t169)
+ ret ptr null
+exc.k59:
+ call void @sc_rc_release_dyn(ptr %t163)
+ call void @sc_rc_release_dyn(ptr %t168)
+ ret ptr %t169
+if.j55:
+ %t174 = call ptr @scr_dyn_undefined()
+ %t173 = call ptr @scr_dyn_retain_v(ptr %t174)
+ ret ptr %t173
+if.j49:
+ %t175 = load ptr, ptr %sc_l_p_key
+ %t176 = call zeroext i1 @sc_streq_971741391048674(ptr %t175)
+ br i1 %t176, label %if.t60, label %if.j61
+if.t60:
+ %t177 = load ptr, ptr %sc_l_p_receiver
+ %t178 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t177, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t179 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t178)
+ %t180 = load i32, ptr %exc.cell
+ %t181 = icmp ne i32 %t180, 0
+ %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false)
+ br i1 %t182, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t179)
+ ret ptr null
+exc.k63:
+ %t183 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t179, ptr @sc_lit_971741391048674)
+ %t184 = load i32, ptr %exc.cell
+ %t185 = icmp ne i32 %t184, 0
+ %t186 = call i1 @llvm.expect.i1(i1 %t185, i1 false)
+ br i1 %t186, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t179)
+ ret ptr null
+exc.k65:
+ call void @sc_rc_release_dyn(ptr %t179)
+ br i1 %t183, label %if.t66, label %if.j67
+if.t66:
+ %t187 = load ptr, ptr %sc_l_p_receiver
+ %t188 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t187, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t189 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t188)
+ %t190 = load i32, ptr %exc.cell
+ %t191 = icmp ne i32 %t190, 0
+ %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false)
+ br i1 %t192, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t189)
+ ret ptr null
+exc.k69:
+ %t193 = load ptr, ptr %sc_l_p_receiver
+ %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t195 = call ptr @scr_dyn_bag_get(ptr %t189, ptr @sc_lit_971741391048674, ptr %t194)
+ %t196 = load i32, ptr %exc.cell
+ %t197 = icmp ne i32 %t196, 0
+ %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false)
+ br i1 %t198, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t189)
+ call void @sc_rc_release_dyn(ptr %t194)
+ call void @sc_rc_release_dyn(ptr %t195)
+ ret ptr null
+exc.k71:
+ call void @sc_rc_release_dyn(ptr %t189)
+ call void @sc_rc_release_dyn(ptr %t194)
+ ret ptr %t195
+if.j67:
+ %t200 = call ptr @scr_dyn_undefined()
+ %t199 = call ptr @scr_dyn_retain_v(ptr %t200)
+ ret ptr %t199
+if.j61:
+ %t201 = load ptr, ptr %sc_l_p_key
+ %t202 = call zeroext i1 @sc_streq_1716842667196161(ptr %t201)
+ br i1 %t202, label %if.t72, label %if.j73
+if.t72:
+ %t203 = load ptr, ptr %sc_l_p_receiver
+ %t204 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t203, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t205 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t204)
+ %t206 = load i32, ptr %exc.cell
+ %t207 = icmp ne i32 %t206, 0
+ %t208 = call i1 @llvm.expect.i1(i1 %t207, i1 false)
+ br i1 %t208, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @sc_rc_release_dyn(ptr %t205)
+ ret ptr null
+exc.k75:
+ %t209 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t205, ptr @sc_lit_1716842667196161)
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t205)
+ ret ptr null
+exc.k77:
+ call void @sc_rc_release_dyn(ptr %t205)
+ br i1 %t209, label %if.t78, label %if.j79
+if.t78:
+ %t213 = load ptr, ptr %sc_l_p_receiver
+ %t214 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t213, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t215 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t214)
+ %t216 = load i32, ptr %exc.cell
+ %t217 = icmp ne i32 %t216, 0
+ %t218 = call i1 @llvm.expect.i1(i1 %t217, i1 false)
+ br i1 %t218, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @sc_rc_release_dyn(ptr %t215)
+ ret ptr null
+exc.k81:
+ %t219 = load ptr, ptr %sc_l_p_receiver
+ %t220 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t219, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t221 = call ptr @scr_dyn_bag_get(ptr %t215, ptr @sc_lit_1716842667196161, ptr %t220)
+ %t222 = load i32, ptr %exc.cell
+ %t223 = icmp ne i32 %t222, 0
+ %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false)
+ br i1 %t224, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t215)
+ call void @sc_rc_release_dyn(ptr %t220)
+ call void @sc_rc_release_dyn(ptr %t221)
+ ret ptr null
+exc.k83:
+ call void @sc_rc_release_dyn(ptr %t215)
+ call void @sc_rc_release_dyn(ptr %t220)
+ ret ptr %t221
+if.j79:
+ %t226 = call ptr @scr_dyn_undefined()
+ %t225 = call ptr @scr_dyn_retain_v(ptr %t226)
+ ret ptr %t225
+if.j73:
+ %t227 = load ptr, ptr %sc_l_p_key
+ %t228 = call zeroext i1 @sc_streq_2894558501580739(ptr %t227)
+ br i1 %t228, label %if.t84, label %if.j85
+if.t84:
+ %t229 = load ptr, ptr %sc_l_p_receiver
+ %t230 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t229, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t231 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t230)
+ %t232 = load i32, ptr %exc.cell
+ %t233 = icmp ne i32 %t232, 0
+ %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false)
+ br i1 %t234, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t231)
+ ret ptr null
+exc.k87:
+ %t235 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t231, ptr @sc_lit_2894558501580739)
+ %t236 = load i32, ptr %exc.cell
+ %t237 = icmp ne i32 %t236, 0
+ %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false)
+ br i1 %t238, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t231)
+ ret ptr null
+exc.k89:
+ call void @sc_rc_release_dyn(ptr %t231)
+ br i1 %t235, label %if.t90, label %if.j91
+if.t90:
+ %t239 = load ptr, ptr %sc_l_p_receiver
+ %t240 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t239, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t241 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t240)
+ %t242 = load i32, ptr %exc.cell
+ %t243 = icmp ne i32 %t242, 0
+ %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false)
+ br i1 %t244, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t241)
+ ret ptr null
+exc.k93:
+ %t245 = load ptr, ptr %sc_l_p_receiver
+ %t246 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t245, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t247 = call ptr @scr_dyn_bag_get(ptr %t241, ptr @sc_lit_2894558501580739, ptr %t246)
+ %t248 = load i32, ptr %exc.cell
+ %t249 = icmp ne i32 %t248, 0
+ %t250 = call i1 @llvm.expect.i1(i1 %t249, i1 false)
+ br i1 %t250, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t246)
+ call void @sc_rc_release_dyn(ptr %t247)
+ ret ptr null
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t246)
+ ret ptr %t247
+if.j91:
+ %t252 = call ptr @scr_dyn_undefined()
+ %t251 = call ptr @scr_dyn_retain_v(ptr %t252)
+ ret ptr %t251
+if.j85:
+ %t253 = load ptr, ptr %sc_l_p_key
+ %t254 = call zeroext i1 @sc_streq_2800347990603543(ptr %t253)
+ br i1 %t254, label %if.t96, label %if.j97
+if.t96:
+ %t255 = load ptr, ptr %sc_l_p_receiver
+ %t256 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t255, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t257 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t256)
+ %t258 = load i32, ptr %exc.cell
+ %t259 = icmp ne i32 %t258, 0
+ %t260 = call i1 @llvm.expect.i1(i1 %t259, i1 false)
+ br i1 %t260, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @sc_rc_release_dyn(ptr %t257)
+ ret ptr null
+exc.k99:
+ %t261 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t257, ptr @sc_lit_2800347990603543)
+ %t262 = load i32, ptr %exc.cell
+ %t263 = icmp ne i32 %t262, 0
+ %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false)
+ br i1 %t264, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t257)
+ ret ptr null
+exc.k101:
+ call void @sc_rc_release_dyn(ptr %t257)
+ br i1 %t261, label %if.t102, label %if.j103
+if.t102:
+ %t265 = load ptr, ptr %sc_l_p_receiver
+ %t266 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t265, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t267 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t266)
+ %t268 = load i32, ptr %exc.cell
+ %t269 = icmp ne i32 %t268, 0
+ %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false)
+ br i1 %t270, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t267)
+ ret ptr null
+exc.k105:
+ %t271 = load ptr, ptr %sc_l_p_receiver
+ %t272 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t271, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t273 = call ptr @scr_dyn_bag_get(ptr %t267, ptr @sc_lit_2800347990603543, ptr %t272)
+ %t274 = load i32, ptr %exc.cell
+ %t275 = icmp ne i32 %t274, 0
+ %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false)
+ br i1 %t276, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t267)
+ call void @sc_rc_release_dyn(ptr %t272)
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr null
+exc.k107:
+ call void @sc_rc_release_dyn(ptr %t267)
+ call void @sc_rc_release_dyn(ptr %t272)
+ ret ptr %t273
+if.j103:
+ %t278 = call ptr @scr_dyn_undefined()
+ %t277 = call ptr @scr_dyn_retain_v(ptr %t278)
+ ret ptr %t277
+if.j97:
+ %t279 = load ptr, ptr %sc_l_p_key
+ %t280 = call zeroext i1 @sc_streq_2948042885743279(ptr %t279)
+ br i1 %t280, label %if.t108, label %if.j109
+if.t108:
+ %t281 = load ptr, ptr %sc_l_p_receiver
+ %t282 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t281, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t283 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t282)
+ %t284 = load i32, ptr %exc.cell
+ %t285 = icmp ne i32 %t284, 0
+ %t286 = call i1 @llvm.expect.i1(i1 %t285, i1 false)
+ br i1 %t286, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @sc_rc_release_dyn(ptr %t283)
+ ret ptr null
+exc.k111:
+ %t287 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t283, ptr @sc_lit_2948042885743279)
+ %t288 = load i32, ptr %exc.cell
+ %t289 = icmp ne i32 %t288, 0
+ %t290 = call i1 @llvm.expect.i1(i1 %t289, i1 false)
+ br i1 %t290, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t283)
+ ret ptr null
+exc.k113:
+ call void @sc_rc_release_dyn(ptr %t283)
+ br i1 %t287, label %if.t114, label %if.j115
+if.t114:
+ %t291 = load ptr, ptr %sc_l_p_receiver
+ %t292 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t291, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t293 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t292)
+ %t294 = load i32, ptr %exc.cell
+ %t295 = icmp ne i32 %t294, 0
+ %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false)
+ br i1 %t296, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t293)
+ ret ptr null
+exc.k117:
+ %t297 = load ptr, ptr %sc_l_p_receiver
+ %t298 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t297, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t299 = call ptr @scr_dyn_bag_get(ptr %t293, ptr @sc_lit_2948042885743279, ptr %t298)
+ %t300 = load i32, ptr %exc.cell
+ %t301 = icmp ne i32 %t300, 0
+ %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false)
+ br i1 %t302, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t293)
+ call void @sc_rc_release_dyn(ptr %t298)
+ call void @sc_rc_release_dyn(ptr %t299)
+ ret ptr null
+exc.k119:
+ call void @sc_rc_release_dyn(ptr %t293)
+ call void @sc_rc_release_dyn(ptr %t298)
+ ret ptr %t299
+if.j115:
+ %t304 = call ptr @scr_dyn_undefined()
+ %t303 = call ptr @scr_dyn_retain_v(ptr %t304)
+ ret ptr %t303
+if.j109:
+ %t305 = load ptr, ptr %sc_l_p_key
+ %t306 = call zeroext i1 @sc_streq_1670565919607657(ptr %t305)
+ br i1 %t306, label %if.t120, label %if.j121
+if.t120:
+ %t307 = load ptr, ptr %sc_l_p_receiver
+ %t308 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t307, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t309 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t308)
+ %t310 = load i32, ptr %exc.cell
+ %t311 = icmp ne i32 %t310, 0
+ %t312 = call i1 @llvm.expect.i1(i1 %t311, i1 false)
+ br i1 %t312, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @sc_rc_release_dyn(ptr %t309)
+ ret ptr null
+exc.k123:
+ %t313 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t309, ptr @sc_lit_1670565919607657)
+ %t314 = load i32, ptr %exc.cell
+ %t315 = icmp ne i32 %t314, 0
+ %t316 = call i1 @llvm.expect.i1(i1 %t315, i1 false)
+ br i1 %t316, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t309)
+ ret ptr null
+exc.k125:
+ call void @sc_rc_release_dyn(ptr %t309)
+ br i1 %t313, label %if.t126, label %if.j127
+if.t126:
+ %t317 = load ptr, ptr %sc_l_p_receiver
+ %t318 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t317, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t319 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t318)
+ %t320 = load i32, ptr %exc.cell
+ %t321 = icmp ne i32 %t320, 0
+ %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false)
+ br i1 %t322, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @sc_rc_release_dyn(ptr %t319)
+ ret ptr null
+exc.k129:
+ %t323 = load ptr, ptr %sc_l_p_receiver
+ %t324 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t323, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t325 = call ptr @scr_dyn_bag_get(ptr %t319, ptr @sc_lit_1670565919607657, ptr %t324)
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t319)
+ call void @sc_rc_release_dyn(ptr %t324)
+ call void @sc_rc_release_dyn(ptr %t325)
+ ret ptr null
+exc.k131:
+ call void @sc_rc_release_dyn(ptr %t319)
+ call void @sc_rc_release_dyn(ptr %t324)
+ ret ptr %t325
+if.j127:
+ %t330 = call ptr @scr_dyn_undefined()
+ %t329 = call ptr @scr_dyn_retain_v(ptr %t330)
+ ret ptr %t329
+if.j121:
+ %t331 = load ptr, ptr %sc_l_p_key
+ %t332 = call zeroext i1 @sc_streq_3251470234448474(ptr %t331)
+ br i1 %t332, label %if.t132, label %if.j133
+if.t132:
+ %t333 = load ptr, ptr %sc_l_p_receiver
+ %t334 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t333, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t335 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t334)
+ %t336 = load i32, ptr %exc.cell
+ %t337 = icmp ne i32 %t336, 0
+ %t338 = call i1 @llvm.expect.i1(i1 %t337, i1 false)
+ br i1 %t338, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t335)
+ ret ptr null
+exc.k135:
+ %t339 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t335, ptr @sc_lit_3251470234448474)
+ %t340 = load i32, ptr %exc.cell
+ %t341 = icmp ne i32 %t340, 0
+ %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false)
+ br i1 %t342, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t335)
+ ret ptr null
+exc.k137:
+ call void @sc_rc_release_dyn(ptr %t335)
+ br i1 %t339, label %if.t138, label %if.j139
+if.t138:
+ %t343 = load ptr, ptr %sc_l_p_receiver
+ %t344 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t343, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t345 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t344)
+ %t346 = load i32, ptr %exc.cell
+ %t347 = icmp ne i32 %t346, 0
+ %t348 = call i1 @llvm.expect.i1(i1 %t347, i1 false)
+ br i1 %t348, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t345)
+ ret ptr null
+exc.k141:
+ %t349 = load ptr, ptr %sc_l_p_receiver
+ %t350 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t349, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t351 = call ptr @scr_dyn_bag_get(ptr %t345, ptr @sc_lit_3251470234448474, ptr %t350)
+ %t352 = load i32, ptr %exc.cell
+ %t353 = icmp ne i32 %t352, 0
+ %t354 = call i1 @llvm.expect.i1(i1 %t353, i1 false)
+ br i1 %t354, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t345)
+ call void @sc_rc_release_dyn(ptr %t350)
+ call void @sc_rc_release_dyn(ptr %t351)
+ ret ptr null
+exc.k143:
+ call void @sc_rc_release_dyn(ptr %t345)
+ call void @sc_rc_release_dyn(ptr %t350)
+ ret ptr %t351
+if.j139:
+ %t356 = call ptr @scr_dyn_undefined()
+ %t355 = call ptr @scr_dyn_retain_v(ptr %t356)
+ ret ptr %t355
+if.j133:
+ %t357 = load ptr, ptr %sc_l_p_key
+ %t358 = call zeroext i1 @sc_streq_2879707573315964(ptr %t357)
+ br i1 %t358, label %if.t144, label %if.j145
+if.t144:
+ %t359 = load ptr, ptr %sc_l_p_receiver
+ %t360 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t359, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t361 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t360)
+ %t362 = load i32, ptr %exc.cell
+ %t363 = icmp ne i32 %t362, 0
+ %t364 = call i1 @llvm.expect.i1(i1 %t363, i1 false)
+ br i1 %t364, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr null
+exc.k147:
+ %t365 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t361, ptr @sc_lit_2879707573315964)
+ %t366 = load i32, ptr %exc.cell
+ %t367 = icmp ne i32 %t366, 0
+ %t368 = call i1 @llvm.expect.i1(i1 %t367, i1 false)
+ br i1 %t368, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr null
+exc.k149:
+ call void @sc_rc_release_dyn(ptr %t361)
+ br i1 %t365, label %if.t150, label %if.j151
+if.t150:
+ %t369 = load ptr, ptr %sc_l_p_receiver
+ %t370 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t369, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t371 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t370)
+ %t372 = load i32, ptr %exc.cell
+ %t373 = icmp ne i32 %t372, 0
+ %t374 = call i1 @llvm.expect.i1(i1 %t373, i1 false)
+ br i1 %t374, label %exc.u152, label %exc.k153
+exc.u152:
+ call void @sc_rc_release_dyn(ptr %t371)
+ ret ptr null
+exc.k153:
+ %t375 = load ptr, ptr %sc_l_p_receiver
+ %t376 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t375, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t377 = call ptr @scr_dyn_bag_get(ptr %t371, ptr @sc_lit_2879707573315964, ptr %t376)
+ %t378 = load i32, ptr %exc.cell
+ %t379 = icmp ne i32 %t378, 0
+ %t380 = call i1 @llvm.expect.i1(i1 %t379, i1 false)
+ br i1 %t380, label %exc.u154, label %exc.k155
+exc.u154:
+ call void @sc_rc_release_dyn(ptr %t371)
+ call void @sc_rc_release_dyn(ptr %t376)
+ call void @sc_rc_release_dyn(ptr %t377)
+ ret ptr null
+exc.k155:
+ call void @sc_rc_release_dyn(ptr %t371)
+ call void @sc_rc_release_dyn(ptr %t376)
+ ret ptr %t377
+if.j151:
+ %t382 = call ptr @scr_dyn_undefined()
+ %t381 = call ptr @scr_dyn_retain_v(ptr %t382)
+ ret ptr %t381
+if.j145:
+ %t383 = load ptr, ptr %sc_l_p_key
+ %t384 = call zeroext i1 @sc_streq_3111096729023658(ptr %t383)
+ br i1 %t384, label %if.t156, label %if.j157
+if.t156:
+ %t385 = load ptr, ptr %sc_l_p_receiver
+ %t386 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t385, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t387 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u158, label %exc.k159
+exc.u158:
+ call void @sc_rc_release_dyn(ptr %t387)
+ ret ptr null
+exc.k159:
+ %t391 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t387, ptr @sc_lit_3111096729023658)
+ %t392 = load i32, ptr %exc.cell
+ %t393 = icmp ne i32 %t392, 0
+ %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false)
+ br i1 %t394, label %exc.u160, label %exc.k161
+exc.u160:
+ call void @sc_rc_release_dyn(ptr %t387)
+ ret ptr null
+exc.k161:
+ call void @sc_rc_release_dyn(ptr %t387)
+ br i1 %t391, label %if.t162, label %if.j163
+if.t162:
+ %t395 = load ptr, ptr %sc_l_p_receiver
+ %t396 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t395, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t397 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t396)
+ %t398 = load i32, ptr %exc.cell
+ %t399 = icmp ne i32 %t398, 0
+ %t400 = call i1 @llvm.expect.i1(i1 %t399, i1 false)
+ br i1 %t400, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t397)
+ ret ptr null
+exc.k165:
+ %t401 = load ptr, ptr %sc_l_p_receiver
+ %t402 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t401, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t403 = call ptr @scr_dyn_bag_get(ptr %t397, ptr @sc_lit_3111096729023658, ptr %t402)
+ %t404 = load i32, ptr %exc.cell
+ %t405 = icmp ne i32 %t404, 0
+ %t406 = call i1 @llvm.expect.i1(i1 %t405, i1 false)
+ br i1 %t406, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t397)
+ call void @sc_rc_release_dyn(ptr %t402)
+ call void @sc_rc_release_dyn(ptr %t403)
+ ret ptr null
+exc.k167:
+ call void @sc_rc_release_dyn(ptr %t397)
+ call void @sc_rc_release_dyn(ptr %t402)
+ ret ptr %t403
+if.j163:
+ %t408 = call ptr @scr_dyn_undefined()
+ %t407 = call ptr @scr_dyn_retain_v(ptr %t408)
+ ret ptr %t407
+if.j157:
+ %t409 = load ptr, ptr %sc_l_p_key
+ %t410 = call zeroext i1 @sc_streq_668712189700762(ptr %t409)
+ br i1 %t410, label %if.t168, label %if.j169
+if.t168:
+ %t411 = load ptr, ptr %sc_l_p_receiver
+ %t412 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t411, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t413 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t412)
+ %t414 = load i32, ptr %exc.cell
+ %t415 = icmp ne i32 %t414, 0
+ %t416 = call i1 @llvm.expect.i1(i1 %t415, i1 false)
+ br i1 %t416, label %exc.u170, label %exc.k171
+exc.u170:
+ call void @sc_rc_release_dyn(ptr %t413)
+ ret ptr null
+exc.k171:
+ %t417 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t413, ptr @sc_lit_668712189700762)
+ %t418 = load i32, ptr %exc.cell
+ %t419 = icmp ne i32 %t418, 0
+ %t420 = call i1 @llvm.expect.i1(i1 %t419, i1 false)
+ br i1 %t420, label %exc.u172, label %exc.k173
+exc.u172:
+ call void @sc_rc_release_dyn(ptr %t413)
+ ret ptr null
+exc.k173:
+ call void @sc_rc_release_dyn(ptr %t413)
+ br i1 %t417, label %if.t174, label %if.j175
+if.t174:
+ %t421 = load ptr, ptr %sc_l_p_receiver
+ %t422 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t421, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t423 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t422)
+ %t424 = load i32, ptr %exc.cell
+ %t425 = icmp ne i32 %t424, 0
+ %t426 = call i1 @llvm.expect.i1(i1 %t425, i1 false)
+ br i1 %t426, label %exc.u176, label %exc.k177
+exc.u176:
+ call void @sc_rc_release_dyn(ptr %t423)
+ ret ptr null
+exc.k177:
+ %t427 = load ptr, ptr %sc_l_p_receiver
+ %t428 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t427, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t429 = call ptr @scr_dyn_bag_get(ptr %t423, ptr @sc_lit_668712189700762, ptr %t428)
+ %t430 = load i32, ptr %exc.cell
+ %t431 = icmp ne i32 %t430, 0
+ %t432 = call i1 @llvm.expect.i1(i1 %t431, i1 false)
+ br i1 %t432, label %exc.u178, label %exc.k179
+exc.u178:
+ call void @sc_rc_release_dyn(ptr %t423)
+ call void @sc_rc_release_dyn(ptr %t428)
+ call void @sc_rc_release_dyn(ptr %t429)
+ ret ptr null
+exc.k179:
+ call void @sc_rc_release_dyn(ptr %t423)
+ call void @sc_rc_release_dyn(ptr %t428)
+ ret ptr %t429
+if.j175:
+ %t434 = call ptr @scr_dyn_undefined()
+ %t433 = call ptr @scr_dyn_retain_v(ptr %t434)
+ ret ptr %t433
+if.j169:
+ %t435 = load ptr, ptr %sc_l_p_key
+ %t436 = call zeroext i1 @sc_streq_2436853855422636(ptr %t435)
+ br i1 %t436, label %if.t180, label %if.j181
+if.t180:
+ %t437 = load ptr, ptr %sc_l_p_receiver
+ %t438 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t437, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t439 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t438)
+ %t440 = load i32, ptr %exc.cell
+ %t441 = icmp ne i32 %t440, 0
+ %t442 = call i1 @llvm.expect.i1(i1 %t441, i1 false)
+ br i1 %t442, label %exc.u182, label %exc.k183
+exc.u182:
+ call void @sc_rc_release_dyn(ptr %t439)
+ ret ptr null
+exc.k183:
+ %t443 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t439, ptr @sc_lit_2436853855422636)
+ %t444 = load i32, ptr %exc.cell
+ %t445 = icmp ne i32 %t444, 0
+ %t446 = call i1 @llvm.expect.i1(i1 %t445, i1 false)
+ br i1 %t446, label %exc.u184, label %exc.k185
+exc.u184:
+ call void @sc_rc_release_dyn(ptr %t439)
+ ret ptr null
+exc.k185:
+ call void @sc_rc_release_dyn(ptr %t439)
+ br i1 %t443, label %if.t186, label %if.j187
+if.t186:
+ %t447 = load ptr, ptr %sc_l_p_receiver
+ %t448 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t447, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t449 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t448)
+ %t450 = load i32, ptr %exc.cell
+ %t451 = icmp ne i32 %t450, 0
+ %t452 = call i1 @llvm.expect.i1(i1 %t451, i1 false)
+ br i1 %t452, label %exc.u188, label %exc.k189
+exc.u188:
+ call void @sc_rc_release_dyn(ptr %t449)
+ ret ptr null
+exc.k189:
+ %t453 = load ptr, ptr %sc_l_p_receiver
+ %t454 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t453, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t455 = call ptr @scr_dyn_bag_get(ptr %t449, ptr @sc_lit_2436853855422636, ptr %t454)
+ %t456 = load i32, ptr %exc.cell
+ %t457 = icmp ne i32 %t456, 0
+ %t458 = call i1 @llvm.expect.i1(i1 %t457, i1 false)
+ br i1 %t458, label %exc.u190, label %exc.k191
+exc.u190:
+ call void @sc_rc_release_dyn(ptr %t449)
+ call void @sc_rc_release_dyn(ptr %t454)
+ call void @sc_rc_release_dyn(ptr %t455)
+ ret ptr null
+exc.k191:
+ call void @sc_rc_release_dyn(ptr %t449)
+ call void @sc_rc_release_dyn(ptr %t454)
+ ret ptr %t455
+if.j187:
+ %t460 = call ptr @scr_dyn_undefined()
+ %t459 = call ptr @scr_dyn_retain_v(ptr %t460)
+ ret ptr %t459
+if.j181:
+ %t461 = load ptr, ptr %sc_l_p_key
+ %t462 = call zeroext i1 @sc_streq_2466306126986778(ptr %t461)
+ br i1 %t462, label %if.t192, label %if.j193
+if.t192:
+ %t463 = load ptr, ptr %sc_l_p_receiver
+ %t464 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t463, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t465 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t464)
+ %t466 = load i32, ptr %exc.cell
+ %t467 = icmp ne i32 %t466, 0
+ %t468 = call i1 @llvm.expect.i1(i1 %t467, i1 false)
+ br i1 %t468, label %exc.u194, label %exc.k195
+exc.u194:
+ call void @sc_rc_release_dyn(ptr %t465)
+ ret ptr null
+exc.k195:
+ %t469 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t465, ptr @sc_lit_2466306126986778)
+ %t470 = load i32, ptr %exc.cell
+ %t471 = icmp ne i32 %t470, 0
+ %t472 = call i1 @llvm.expect.i1(i1 %t471, i1 false)
+ br i1 %t472, label %exc.u196, label %exc.k197
+exc.u196:
+ call void @sc_rc_release_dyn(ptr %t465)
+ ret ptr null
+exc.k197:
+ call void @sc_rc_release_dyn(ptr %t465)
+ br i1 %t469, label %if.t198, label %if.j199
+if.t198:
+ %t473 = load ptr, ptr %sc_l_p_receiver
+ %t474 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t473, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t475 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t474)
+ %t476 = load i32, ptr %exc.cell
+ %t477 = icmp ne i32 %t476, 0
+ %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false)
+ br i1 %t478, label %exc.u200, label %exc.k201
+exc.u200:
+ call void @sc_rc_release_dyn(ptr %t475)
+ ret ptr null
+exc.k201:
+ %t479 = load ptr, ptr %sc_l_p_receiver
+ %t480 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t479, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t481 = call ptr @scr_dyn_bag_get(ptr %t475, ptr @sc_lit_2466306126986778, ptr %t480)
+ %t482 = load i32, ptr %exc.cell
+ %t483 = icmp ne i32 %t482, 0
+ %t484 = call i1 @llvm.expect.i1(i1 %t483, i1 false)
+ br i1 %t484, label %exc.u202, label %exc.k203
+exc.u202:
+ call void @sc_rc_release_dyn(ptr %t475)
+ call void @sc_rc_release_dyn(ptr %t480)
+ call void @sc_rc_release_dyn(ptr %t481)
+ ret ptr null
+exc.k203:
+ call void @sc_rc_release_dyn(ptr %t475)
+ call void @sc_rc_release_dyn(ptr %t480)
+ ret ptr %t481
+if.j199:
+ %t486 = call ptr @scr_dyn_undefined()
+ %t485 = call ptr @scr_dyn_retain_v(ptr %t486)
+ ret ptr %t485
+if.j193:
+ %t487 = load ptr, ptr %sc_l_p_key
+ %t488 = call zeroext i1 @sc_streq_1389753027152399(ptr %t487)
+ br i1 %t488, label %if.t204, label %if.j205
+if.t204:
+ %t489 = load ptr, ptr %sc_l_p_receiver
+ %t490 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t489, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t491 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t490)
+ %t492 = load i32, ptr %exc.cell
+ %t493 = icmp ne i32 %t492, 0
+ %t494 = call i1 @llvm.expect.i1(i1 %t493, i1 false)
+ br i1 %t494, label %exc.u206, label %exc.k207
+exc.u206:
+ call void @sc_rc_release_dyn(ptr %t491)
+ ret ptr null
+exc.k207:
+ %t495 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t491, ptr @sc_lit_1389753027152399)
+ %t496 = load i32, ptr %exc.cell
+ %t497 = icmp ne i32 %t496, 0
+ %t498 = call i1 @llvm.expect.i1(i1 %t497, i1 false)
+ br i1 %t498, label %exc.u208, label %exc.k209
+exc.u208:
+ call void @sc_rc_release_dyn(ptr %t491)
+ ret ptr null
+exc.k209:
+ call void @sc_rc_release_dyn(ptr %t491)
+ br i1 %t495, label %if.t210, label %if.j211
+if.t210:
+ %t499 = load ptr, ptr %sc_l_p_receiver
+ %t500 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t499, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t501 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t500)
+ %t502 = load i32, ptr %exc.cell
+ %t503 = icmp ne i32 %t502, 0
+ %t504 = call i1 @llvm.expect.i1(i1 %t503, i1 false)
+ br i1 %t504, label %exc.u212, label %exc.k213
+exc.u212:
+ call void @sc_rc_release_dyn(ptr %t501)
+ ret ptr null
+exc.k213:
+ %t505 = load ptr, ptr %sc_l_p_receiver
+ %t506 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t505, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t507 = call ptr @scr_dyn_bag_get(ptr %t501, ptr @sc_lit_1389753027152399, ptr %t506)
+ %t508 = load i32, ptr %exc.cell
+ %t509 = icmp ne i32 %t508, 0
+ %t510 = call i1 @llvm.expect.i1(i1 %t509, i1 false)
+ br i1 %t510, label %exc.u214, label %exc.k215
+exc.u214:
+ call void @sc_rc_release_dyn(ptr %t501)
+ call void @sc_rc_release_dyn(ptr %t506)
+ call void @sc_rc_release_dyn(ptr %t507)
+ ret ptr null
+exc.k215:
+ call void @sc_rc_release_dyn(ptr %t501)
+ call void @sc_rc_release_dyn(ptr %t506)
+ ret ptr %t507
+if.j211:
+ %t512 = call ptr @scr_dyn_undefined()
+ %t511 = call ptr @scr_dyn_retain_v(ptr %t512)
+ ret ptr %t511
+if.j205:
+ %t513 = load ptr, ptr %sc_l_p_key
+ %t514 = call zeroext i1 @sc_streq_1148437194389594(ptr %t513)
+ br i1 %t514, label %if.t216, label %if.j217
+if.t216:
+ %t515 = load ptr, ptr %sc_l_p_receiver
+ %t516 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t515, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t517 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t516)
+ %t518 = load i32, ptr %exc.cell
+ %t519 = icmp ne i32 %t518, 0
+ %t520 = call i1 @llvm.expect.i1(i1 %t519, i1 false)
+ br i1 %t520, label %exc.u218, label %exc.k219
+exc.u218:
+ call void @sc_rc_release_dyn(ptr %t517)
+ ret ptr null
+exc.k219:
+ %t521 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t517, ptr @sc_lit_1148437194389594)
+ %t522 = load i32, ptr %exc.cell
+ %t523 = icmp ne i32 %t522, 0
+ %t524 = call i1 @llvm.expect.i1(i1 %t523, i1 false)
+ br i1 %t524, label %exc.u220, label %exc.k221
+exc.u220:
+ call void @sc_rc_release_dyn(ptr %t517)
+ ret ptr null
+exc.k221:
+ call void @sc_rc_release_dyn(ptr %t517)
+ br i1 %t521, label %if.t222, label %if.j223
+if.t222:
+ %t525 = load ptr, ptr %sc_l_p_receiver
+ %t526 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t525, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t527 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t526)
+ %t528 = load i32, ptr %exc.cell
+ %t529 = icmp ne i32 %t528, 0
+ %t530 = call i1 @llvm.expect.i1(i1 %t529, i1 false)
+ br i1 %t530, label %exc.u224, label %exc.k225
+exc.u224:
+ call void @sc_rc_release_dyn(ptr %t527)
+ ret ptr null
+exc.k225:
+ %t531 = load ptr, ptr %sc_l_p_receiver
+ %t532 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t531, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t533 = call ptr @scr_dyn_bag_get(ptr %t527, ptr @sc_lit_1148437194389594, ptr %t532)
+ %t534 = load i32, ptr %exc.cell
+ %t535 = icmp ne i32 %t534, 0
+ %t536 = call i1 @llvm.expect.i1(i1 %t535, i1 false)
+ br i1 %t536, label %exc.u226, label %exc.k227
+exc.u226:
+ call void @sc_rc_release_dyn(ptr %t527)
+ call void @sc_rc_release_dyn(ptr %t532)
+ call void @sc_rc_release_dyn(ptr %t533)
+ ret ptr null
+exc.k227:
+ call void @sc_rc_release_dyn(ptr %t527)
+ call void @sc_rc_release_dyn(ptr %t532)
+ ret ptr %t533
+if.j223:
+ %t538 = call ptr @scr_dyn_undefined()
+ %t537 = call ptr @scr_dyn_retain_v(ptr %t538)
+ ret ptr %t537
+if.j217:
+ %t539 = load ptr, ptr %sc_l_p_key
+ %t540 = call zeroext i1 @sc_streq_4192469624085056(ptr %t539)
+ br i1 %t540, label %if.t228, label %if.j229
+if.t228:
+ %t541 = load ptr, ptr %sc_l_p_receiver
+ %t542 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t541, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t543 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t542)
+ %t544 = load i32, ptr %exc.cell
+ %t545 = icmp ne i32 %t544, 0
+ %t546 = call i1 @llvm.expect.i1(i1 %t545, i1 false)
+ br i1 %t546, label %exc.u230, label %exc.k231
+exc.u230:
+ call void @sc_rc_release_dyn(ptr %t543)
+ ret ptr null
+exc.k231:
+ %t547 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t543, ptr @sc_lit_4192469624085056)
+ %t548 = load i32, ptr %exc.cell
+ %t549 = icmp ne i32 %t548, 0
+ %t550 = call i1 @llvm.expect.i1(i1 %t549, i1 false)
+ br i1 %t550, label %exc.u232, label %exc.k233
+exc.u232:
+ call void @sc_rc_release_dyn(ptr %t543)
+ ret ptr null
+exc.k233:
+ call void @sc_rc_release_dyn(ptr %t543)
+ br i1 %t547, label %if.t234, label %if.j235
+if.t234:
+ %t551 = load ptr, ptr %sc_l_p_receiver
+ %t552 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t551, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t553 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t552)
+ %t554 = load i32, ptr %exc.cell
+ %t555 = icmp ne i32 %t554, 0
+ %t556 = call i1 @llvm.expect.i1(i1 %t555, i1 false)
+ br i1 %t556, label %exc.u236, label %exc.k237
+exc.u236:
+ call void @sc_rc_release_dyn(ptr %t553)
+ ret ptr null
+exc.k237:
+ %t557 = load ptr, ptr %sc_l_p_receiver
+ %t558 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t557, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t559 = call ptr @scr_dyn_bag_get(ptr %t553, ptr @sc_lit_4192469624085056, ptr %t558)
+ %t560 = load i32, ptr %exc.cell
+ %t561 = icmp ne i32 %t560, 0
+ %t562 = call i1 @llvm.expect.i1(i1 %t561, i1 false)
+ br i1 %t562, label %exc.u238, label %exc.k239
+exc.u238:
+ call void @sc_rc_release_dyn(ptr %t553)
+ call void @sc_rc_release_dyn(ptr %t558)
+ call void @sc_rc_release_dyn(ptr %t559)
+ ret ptr null
+exc.k239:
+ call void @sc_rc_release_dyn(ptr %t553)
+ call void @sc_rc_release_dyn(ptr %t558)
+ ret ptr %t559
+if.j235:
+ %t564 = call ptr @scr_dyn_undefined()
+ %t563 = call ptr @scr_dyn_retain_v(ptr %t564)
+ ret ptr %t563
+if.j229:
+ %t565 = load ptr, ptr %sc_l_p_key
+ %t566 = call zeroext i1 @sc_streq_864781090888737(ptr %t565)
+ br i1 %t566, label %if.t240, label %if.j241
+if.t240:
+ %t567 = load ptr, ptr %sc_l_p_receiver
+ %t568 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t567, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t569 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t568)
+ %t570 = load i32, ptr %exc.cell
+ %t571 = icmp ne i32 %t570, 0
+ %t572 = call i1 @llvm.expect.i1(i1 %t571, i1 false)
+ br i1 %t572, label %exc.u242, label %exc.k243
+exc.u242:
+ call void @sc_rc_release_dyn(ptr %t569)
+ ret ptr null
+exc.k243:
+ %t573 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t569, ptr @sc_lit_864781090888737)
+ %t574 = load i32, ptr %exc.cell
+ %t575 = icmp ne i32 %t574, 0
+ %t576 = call i1 @llvm.expect.i1(i1 %t575, i1 false)
+ br i1 %t576, label %exc.u244, label %exc.k245
+exc.u244:
+ call void @sc_rc_release_dyn(ptr %t569)
+ ret ptr null
+exc.k245:
+ call void @sc_rc_release_dyn(ptr %t569)
+ br i1 %t573, label %if.t246, label %if.j247
+if.t246:
+ %t577 = load ptr, ptr %sc_l_p_receiver
+ %t578 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t577, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t579 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t578)
+ %t580 = load i32, ptr %exc.cell
+ %t581 = icmp ne i32 %t580, 0
+ %t582 = call i1 @llvm.expect.i1(i1 %t581, i1 false)
+ br i1 %t582, label %exc.u248, label %exc.k249
+exc.u248:
+ call void @sc_rc_release_dyn(ptr %t579)
+ ret ptr null
+exc.k249:
+ %t583 = load ptr, ptr %sc_l_p_receiver
+ %t584 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t583, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t585 = call ptr @scr_dyn_bag_get(ptr %t579, ptr @sc_lit_864781090888737, ptr %t584)
+ %t586 = load i32, ptr %exc.cell
+ %t587 = icmp ne i32 %t586, 0
+ %t588 = call i1 @llvm.expect.i1(i1 %t587, i1 false)
+ br i1 %t588, label %exc.u250, label %exc.k251
+exc.u250:
+ call void @sc_rc_release_dyn(ptr %t579)
+ call void @sc_rc_release_dyn(ptr %t584)
+ call void @sc_rc_release_dyn(ptr %t585)
+ ret ptr null
+exc.k251:
+ call void @sc_rc_release_dyn(ptr %t579)
+ call void @sc_rc_release_dyn(ptr %t584)
+ ret ptr %t585
+if.j247:
+ %t590 = call ptr @scr_dyn_undefined()
+ %t589 = call ptr @scr_dyn_retain_v(ptr %t590)
+ ret ptr %t589
+if.j241:
+ %t591 = load ptr, ptr %sc_l_p_key
+ %t592 = call zeroext i1 @sc_streq_603267670272610(ptr %t591)
+ br i1 %t592, label %if.t252, label %if.j253
+if.t252:
+ %t593 = load ptr, ptr %sc_l_p_receiver
+ %t594 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t593, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t595 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t594)
+ %t596 = load i32, ptr %exc.cell
+ %t597 = icmp ne i32 %t596, 0
+ %t598 = call i1 @llvm.expect.i1(i1 %t597, i1 false)
+ br i1 %t598, label %exc.u254, label %exc.k255
+exc.u254:
+ call void @sc_rc_release_dyn(ptr %t595)
+ ret ptr null
+exc.k255:
+ %t599 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t595, ptr @sc_lit_603267670272610)
+ %t600 = load i32, ptr %exc.cell
+ %t601 = icmp ne i32 %t600, 0
+ %t602 = call i1 @llvm.expect.i1(i1 %t601, i1 false)
+ br i1 %t602, label %exc.u256, label %exc.k257
+exc.u256:
+ call void @sc_rc_release_dyn(ptr %t595)
+ ret ptr null
+exc.k257:
+ call void @sc_rc_release_dyn(ptr %t595)
+ br i1 %t599, label %if.t258, label %if.j259
+if.t258:
+ %t603 = load ptr, ptr %sc_l_p_receiver
+ %t604 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t603, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t605 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t604)
+ %t606 = load i32, ptr %exc.cell
+ %t607 = icmp ne i32 %t606, 0
+ %t608 = call i1 @llvm.expect.i1(i1 %t607, i1 false)
+ br i1 %t608, label %exc.u260, label %exc.k261
+exc.u260:
+ call void @sc_rc_release_dyn(ptr %t605)
+ ret ptr null
+exc.k261:
+ %t609 = load ptr, ptr %sc_l_p_receiver
+ %t610 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t609, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t611 = call ptr @scr_dyn_bag_get(ptr %t605, ptr @sc_lit_603267670272610, ptr %t610)
+ %t612 = load i32, ptr %exc.cell
+ %t613 = icmp ne i32 %t612, 0
+ %t614 = call i1 @llvm.expect.i1(i1 %t613, i1 false)
+ br i1 %t614, label %exc.u262, label %exc.k263
+exc.u262:
+ call void @sc_rc_release_dyn(ptr %t605)
+ call void @sc_rc_release_dyn(ptr %t610)
+ call void @sc_rc_release_dyn(ptr %t611)
+ ret ptr null
+exc.k263:
+ call void @sc_rc_release_dyn(ptr %t605)
+ call void @sc_rc_release_dyn(ptr %t610)
+ ret ptr %t611
+if.j259:
+ %t616 = call ptr @scr_dyn_undefined()
+ %t615 = call ptr @scr_dyn_retain_v(ptr %t616)
+ ret ptr %t615
+if.j253:
+ %t617 = load ptr, ptr %sc_l_p_key
+ %t618 = call zeroext i1 @sc_streq_646811555153625(ptr %t617)
+ br i1 %t618, label %if.t264, label %if.j265
+if.t264:
+ %t619 = load ptr, ptr %sc_l_p_receiver
+ %t620 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t619, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t621 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t620)
+ %t622 = load i32, ptr %exc.cell
+ %t623 = icmp ne i32 %t622, 0
+ %t624 = call i1 @llvm.expect.i1(i1 %t623, i1 false)
+ br i1 %t624, label %exc.u266, label %exc.k267
+exc.u266:
+ call void @sc_rc_release_dyn(ptr %t621)
+ ret ptr null
+exc.k267:
+ %t625 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t621, ptr @sc_lit_646811555153625)
+ %t626 = load i32, ptr %exc.cell
+ %t627 = icmp ne i32 %t626, 0
+ %t628 = call i1 @llvm.expect.i1(i1 %t627, i1 false)
+ br i1 %t628, label %exc.u268, label %exc.k269
+exc.u268:
+ call void @sc_rc_release_dyn(ptr %t621)
+ ret ptr null
+exc.k269:
+ call void @sc_rc_release_dyn(ptr %t621)
+ br i1 %t625, label %if.t270, label %if.j271
+if.t270:
+ %t629 = load ptr, ptr %sc_l_p_receiver
+ %t630 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t629, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t631 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t630)
+ %t632 = load i32, ptr %exc.cell
+ %t633 = icmp ne i32 %t632, 0
+ %t634 = call i1 @llvm.expect.i1(i1 %t633, i1 false)
+ br i1 %t634, label %exc.u272, label %exc.k273
+exc.u272:
+ call void @sc_rc_release_dyn(ptr %t631)
+ ret ptr null
+exc.k273:
+ %t635 = load ptr, ptr %sc_l_p_receiver
+ %t636 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t635, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t637 = call ptr @scr_dyn_bag_get(ptr %t631, ptr @sc_lit_646811555153625, ptr %t636)
+ %t638 = load i32, ptr %exc.cell
+ %t639 = icmp ne i32 %t638, 0
+ %t640 = call i1 @llvm.expect.i1(i1 %t639, i1 false)
+ br i1 %t640, label %exc.u274, label %exc.k275
+exc.u274:
+ call void @sc_rc_release_dyn(ptr %t631)
+ call void @sc_rc_release_dyn(ptr %t636)
+ call void @sc_rc_release_dyn(ptr %t637)
+ ret ptr null
+exc.k275:
+ call void @sc_rc_release_dyn(ptr %t631)
+ call void @sc_rc_release_dyn(ptr %t636)
+ ret ptr %t637
+if.j271:
+ %t642 = call ptr @scr_dyn_undefined()
+ %t641 = call ptr @scr_dyn_retain_v(ptr %t642)
+ ret ptr %t641
+if.j265:
+ %t643 = load ptr, ptr %sc_l_p_key
+ %t644 = call zeroext i1 @sc_streq_4391217941138845(ptr %t643)
+ br i1 %t644, label %if.t276, label %if.j277
+if.t276:
+ %t645 = load ptr, ptr %sc_l_p_receiver
+ %t646 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t645, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t647 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t646)
+ %t648 = load i32, ptr %exc.cell
+ %t649 = icmp ne i32 %t648, 0
+ %t650 = call i1 @llvm.expect.i1(i1 %t649, i1 false)
+ br i1 %t650, label %exc.u278, label %exc.k279
+exc.u278:
+ call void @sc_rc_release_dyn(ptr %t647)
+ ret ptr null
+exc.k279:
+ %t651 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t647, ptr @sc_lit_4391217941138845)
+ %t652 = load i32, ptr %exc.cell
+ %t653 = icmp ne i32 %t652, 0
+ %t654 = call i1 @llvm.expect.i1(i1 %t653, i1 false)
+ br i1 %t654, label %exc.u280, label %exc.k281
+exc.u280:
+ call void @sc_rc_release_dyn(ptr %t647)
+ ret ptr null
+exc.k281:
+ call void @sc_rc_release_dyn(ptr %t647)
+ br i1 %t651, label %if.t282, label %if.j283
+if.t282:
+ %t655 = load ptr, ptr %sc_l_p_receiver
+ %t656 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t655, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t657 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t656)
+ %t658 = load i32, ptr %exc.cell
+ %t659 = icmp ne i32 %t658, 0
+ %t660 = call i1 @llvm.expect.i1(i1 %t659, i1 false)
+ br i1 %t660, label %exc.u284, label %exc.k285
+exc.u284:
+ call void @sc_rc_release_dyn(ptr %t657)
+ ret ptr null
+exc.k285:
+ %t661 = load ptr, ptr %sc_l_p_receiver
+ %t662 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t661, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t663 = call ptr @scr_dyn_bag_get(ptr %t657, ptr @sc_lit_4391217941138845, ptr %t662)
+ %t664 = load i32, ptr %exc.cell
+ %t665 = icmp ne i32 %t664, 0
+ %t666 = call i1 @llvm.expect.i1(i1 %t665, i1 false)
+ br i1 %t666, label %exc.u286, label %exc.k287
+exc.u286:
+ call void @sc_rc_release_dyn(ptr %t657)
+ call void @sc_rc_release_dyn(ptr %t662)
+ call void @sc_rc_release_dyn(ptr %t663)
+ ret ptr null
+exc.k287:
+ call void @sc_rc_release_dyn(ptr %t657)
+ call void @sc_rc_release_dyn(ptr %t662)
+ ret ptr %t663
+if.j283:
+ %t668 = call ptr @scr_dyn_undefined()
+ %t667 = call ptr @scr_dyn_retain_v(ptr %t668)
+ ret ptr %t667
+if.j277:
+ %t669 = load ptr, ptr %sc_l_p_key
+ %t670 = call zeroext i1 @sc_streq_2014847608589337(ptr %t669)
+ br i1 %t670, label %if.t288, label %if.j289
+if.t288:
+ %t671 = load ptr, ptr %sc_l_p_receiver
+ %t672 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t671, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t673 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t672)
+ %t674 = load i32, ptr %exc.cell
+ %t675 = icmp ne i32 %t674, 0
+ %t676 = call i1 @llvm.expect.i1(i1 %t675, i1 false)
+ br i1 %t676, label %exc.u290, label %exc.k291
+exc.u290:
+ call void @sc_rc_release_dyn(ptr %t673)
+ ret ptr null
+exc.k291:
+ %t677 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t673, ptr @sc_lit_2014847608589337)
+ %t678 = load i32, ptr %exc.cell
+ %t679 = icmp ne i32 %t678, 0
+ %t680 = call i1 @llvm.expect.i1(i1 %t679, i1 false)
+ br i1 %t680, label %exc.u292, label %exc.k293
+exc.u292:
+ call void @sc_rc_release_dyn(ptr %t673)
+ ret ptr null
+exc.k293:
+ call void @sc_rc_release_dyn(ptr %t673)
+ br i1 %t677, label %if.t294, label %if.j295
+if.t294:
+ %t681 = load ptr, ptr %sc_l_p_receiver
+ %t682 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t681, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t683 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t682)
+ %t684 = load i32, ptr %exc.cell
+ %t685 = icmp ne i32 %t684, 0
+ %t686 = call i1 @llvm.expect.i1(i1 %t685, i1 false)
+ br i1 %t686, label %exc.u296, label %exc.k297
+exc.u296:
+ call void @sc_rc_release_dyn(ptr %t683)
+ ret ptr null
+exc.k297:
+ %t687 = load ptr, ptr %sc_l_p_receiver
+ %t688 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t687, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t689 = call ptr @scr_dyn_bag_get(ptr %t683, ptr @sc_lit_2014847608589337, ptr %t688)
+ %t690 = load i32, ptr %exc.cell
+ %t691 = icmp ne i32 %t690, 0
+ %t692 = call i1 @llvm.expect.i1(i1 %t691, i1 false)
+ br i1 %t692, label %exc.u298, label %exc.k299
+exc.u298:
+ call void @sc_rc_release_dyn(ptr %t683)
+ call void @sc_rc_release_dyn(ptr %t688)
+ call void @sc_rc_release_dyn(ptr %t689)
+ ret ptr null
+exc.k299:
+ call void @sc_rc_release_dyn(ptr %t683)
+ call void @sc_rc_release_dyn(ptr %t688)
+ ret ptr %t689
+if.j295:
+ %t694 = call ptr @scr_dyn_undefined()
+ %t693 = call ptr @scr_dyn_retain_v(ptr %t694)
+ ret ptr %t693
+if.j289:
+ %t695 = load ptr, ptr %sc_l_p_key
+ %t696 = call zeroext i1 @sc_streq_405767859507088(ptr %t695)
+ br i1 %t696, label %if.t300, label %if.j301
+if.t300:
+ %t697 = load ptr, ptr %sc_l_p_receiver
+ %t698 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t697, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t699 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t698)
+ %t700 = load i32, ptr %exc.cell
+ %t701 = icmp ne i32 %t700, 0
+ %t702 = call i1 @llvm.expect.i1(i1 %t701, i1 false)
+ br i1 %t702, label %exc.u302, label %exc.k303
+exc.u302:
+ call void @sc_rc_release_dyn(ptr %t699)
+ ret ptr null
+exc.k303:
+ %t703 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t699, ptr @sc_lit_405767859507088)
+ %t704 = load i32, ptr %exc.cell
+ %t705 = icmp ne i32 %t704, 0
+ %t706 = call i1 @llvm.expect.i1(i1 %t705, i1 false)
+ br i1 %t706, label %exc.u304, label %exc.k305
+exc.u304:
+ call void @sc_rc_release_dyn(ptr %t699)
+ ret ptr null
+exc.k305:
+ call void @sc_rc_release_dyn(ptr %t699)
+ br i1 %t703, label %if.t306, label %if.j307
+if.t306:
+ %t707 = load ptr, ptr %sc_l_p_receiver
+ %t708 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t707, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t709 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t708)
+ %t710 = load i32, ptr %exc.cell
+ %t711 = icmp ne i32 %t710, 0
+ %t712 = call i1 @llvm.expect.i1(i1 %t711, i1 false)
+ br i1 %t712, label %exc.u308, label %exc.k309
+exc.u308:
+ call void @sc_rc_release_dyn(ptr %t709)
+ ret ptr null
+exc.k309:
+ %t713 = load ptr, ptr %sc_l_p_receiver
+ %t714 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t713, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t715 = call ptr @scr_dyn_bag_get(ptr %t709, ptr @sc_lit_405767859507088, ptr %t714)
+ %t716 = load i32, ptr %exc.cell
+ %t717 = icmp ne i32 %t716, 0
+ %t718 = call i1 @llvm.expect.i1(i1 %t717, i1 false)
+ br i1 %t718, label %exc.u310, label %exc.k311
+exc.u310:
+ call void @sc_rc_release_dyn(ptr %t709)
+ call void @sc_rc_release_dyn(ptr %t714)
+ call void @sc_rc_release_dyn(ptr %t715)
+ ret ptr null
+exc.k311:
+ call void @sc_rc_release_dyn(ptr %t709)
+ call void @sc_rc_release_dyn(ptr %t714)
+ ret ptr %t715
+if.j307:
+ %t720 = call ptr @scr_dyn_undefined()
+ %t719 = call ptr @scr_dyn_retain_v(ptr %t720)
+ ret ptr %t719
+if.j301:
+ %t721 = load ptr, ptr %sc_l_p_key
+ %t722 = call zeroext i1 @sc_streq_4078327433052319(ptr %t721)
+ br i1 %t722, label %if.t312, label %if.j313
+if.t312:
+ %t723 = load ptr, ptr %sc_l_p_receiver
+ %t724 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t723, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t725 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t724)
+ %t726 = load i32, ptr %exc.cell
+ %t727 = icmp ne i32 %t726, 0
+ %t728 = call i1 @llvm.expect.i1(i1 %t727, i1 false)
+ br i1 %t728, label %exc.u314, label %exc.k315
+exc.u314:
+ call void @sc_rc_release_dyn(ptr %t725)
+ ret ptr null
+exc.k315:
+ %t729 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t725, ptr @sc_lit_4078327433052319)
+ %t730 = load i32, ptr %exc.cell
+ %t731 = icmp ne i32 %t730, 0
+ %t732 = call i1 @llvm.expect.i1(i1 %t731, i1 false)
+ br i1 %t732, label %exc.u316, label %exc.k317
+exc.u316:
+ call void @sc_rc_release_dyn(ptr %t725)
+ ret ptr null
+exc.k317:
+ call void @sc_rc_release_dyn(ptr %t725)
+ br i1 %t729, label %if.t318, label %if.j319
+if.t318:
+ %t733 = load ptr, ptr %sc_l_p_receiver
+ %t734 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t733, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t735 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t734)
+ %t736 = load i32, ptr %exc.cell
+ %t737 = icmp ne i32 %t736, 0
+ %t738 = call i1 @llvm.expect.i1(i1 %t737, i1 false)
+ br i1 %t738, label %exc.u320, label %exc.k321
+exc.u320:
+ call void @sc_rc_release_dyn(ptr %t735)
+ ret ptr null
+exc.k321:
+ %t739 = load ptr, ptr %sc_l_p_receiver
+ %t740 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t739, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t741 = call ptr @scr_dyn_bag_get(ptr %t735, ptr @sc_lit_4078327433052319, ptr %t740)
+ %t742 = load i32, ptr %exc.cell
+ %t743 = icmp ne i32 %t742, 0
+ %t744 = call i1 @llvm.expect.i1(i1 %t743, i1 false)
+ br i1 %t744, label %exc.u322, label %exc.k323
+exc.u322:
+ call void @sc_rc_release_dyn(ptr %t735)
+ call void @sc_rc_release_dyn(ptr %t740)
+ call void @sc_rc_release_dyn(ptr %t741)
+ ret ptr null
+exc.k323:
+ call void @sc_rc_release_dyn(ptr %t735)
+ call void @sc_rc_release_dyn(ptr %t740)
+ ret ptr %t741
+if.j319:
+ %t746 = call ptr @scr_dyn_undefined()
+ %t745 = call ptr @scr_dyn_retain_v(ptr %t746)
+ ret ptr %t745
+if.j313:
+ %t747 = load ptr, ptr %sc_l_p_key
+ %t748 = call zeroext i1 @sc_streq_156708963710691(ptr %t747)
+ br i1 %t748, label %if.t324, label %if.j325
+if.t324:
+ %t749 = load ptr, ptr %sc_l_p_receiver
+ %t750 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t749, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t751 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t750)
+ %t752 = load i32, ptr %exc.cell
+ %t753 = icmp ne i32 %t752, 0
+ %t754 = call i1 @llvm.expect.i1(i1 %t753, i1 false)
+ br i1 %t754, label %exc.u326, label %exc.k327
+exc.u326:
+ call void @sc_rc_release_dyn(ptr %t751)
+ ret ptr null
+exc.k327:
+ %t755 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t751, ptr @sc_lit_156708963710691)
+ %t756 = load i32, ptr %exc.cell
+ %t757 = icmp ne i32 %t756, 0
+ %t758 = call i1 @llvm.expect.i1(i1 %t757, i1 false)
+ br i1 %t758, label %exc.u328, label %exc.k329
+exc.u328:
+ call void @sc_rc_release_dyn(ptr %t751)
+ ret ptr null
+exc.k329:
+ call void @sc_rc_release_dyn(ptr %t751)
+ br i1 %t755, label %if.t330, label %if.j331
+if.t330:
+ %t759 = load ptr, ptr %sc_l_p_receiver
+ %t760 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t759, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t761 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t760)
+ %t762 = load i32, ptr %exc.cell
+ %t763 = icmp ne i32 %t762, 0
+ %t764 = call i1 @llvm.expect.i1(i1 %t763, i1 false)
+ br i1 %t764, label %exc.u332, label %exc.k333
+exc.u332:
+ call void @sc_rc_release_dyn(ptr %t761)
+ ret ptr null
+exc.k333:
+ %t765 = load ptr, ptr %sc_l_p_receiver
+ %t766 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t765, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t767 = call ptr @scr_dyn_bag_get(ptr %t761, ptr @sc_lit_156708963710691, ptr %t766)
+ %t768 = load i32, ptr %exc.cell
+ %t769 = icmp ne i32 %t768, 0
+ %t770 = call i1 @llvm.expect.i1(i1 %t769, i1 false)
+ br i1 %t770, label %exc.u334, label %exc.k335
+exc.u334:
+ call void @sc_rc_release_dyn(ptr %t761)
+ call void @sc_rc_release_dyn(ptr %t766)
+ call void @sc_rc_release_dyn(ptr %t767)
+ ret ptr null
+exc.k335:
+ call void @sc_rc_release_dyn(ptr %t761)
+ call void @sc_rc_release_dyn(ptr %t766)
+ ret ptr %t767
+if.j331:
+ %t772 = call ptr @scr_dyn_undefined()
+ %t771 = call ptr @scr_dyn_retain_v(ptr %t772)
+ ret ptr %t771
+if.j325:
+ %t773 = load ptr, ptr %sc_l_p_key
+ %t774 = call zeroext i1 @sc_streq_1093190805819680(ptr %t773)
+ br i1 %t774, label %if.t336, label %if.j337
+if.t336:
+ %t775 = load ptr, ptr %sc_l_p_receiver
+ %t776 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t775, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t777 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t776)
+ %t778 = load i32, ptr %exc.cell
+ %t779 = icmp ne i32 %t778, 0
+ %t780 = call i1 @llvm.expect.i1(i1 %t779, i1 false)
+ br i1 %t780, label %exc.u338, label %exc.k339
+exc.u338:
+ call void @sc_rc_release_dyn(ptr %t777)
+ ret ptr null
+exc.k339:
+ %t781 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t777, ptr @sc_lit_1093190805819680)
+ %t782 = load i32, ptr %exc.cell
+ %t783 = icmp ne i32 %t782, 0
+ %t784 = call i1 @llvm.expect.i1(i1 %t783, i1 false)
+ br i1 %t784, label %exc.u340, label %exc.k341
+exc.u340:
+ call void @sc_rc_release_dyn(ptr %t777)
+ ret ptr null
+exc.k341:
+ call void @sc_rc_release_dyn(ptr %t777)
+ br i1 %t781, label %if.t342, label %if.j343
+if.t342:
+ %t785 = load ptr, ptr %sc_l_p_receiver
+ %t786 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t785, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t787 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t786)
+ %t788 = load i32, ptr %exc.cell
+ %t789 = icmp ne i32 %t788, 0
+ %t790 = call i1 @llvm.expect.i1(i1 %t789, i1 false)
+ br i1 %t790, label %exc.u344, label %exc.k345
+exc.u344:
+ call void @sc_rc_release_dyn(ptr %t787)
+ ret ptr null
+exc.k345:
+ %t791 = load ptr, ptr %sc_l_p_receiver
+ %t792 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t791, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t793 = call ptr @scr_dyn_bag_get(ptr %t787, ptr @sc_lit_1093190805819680, ptr %t792)
+ %t794 = load i32, ptr %exc.cell
+ %t795 = icmp ne i32 %t794, 0
+ %t796 = call i1 @llvm.expect.i1(i1 %t795, i1 false)
+ br i1 %t796, label %exc.u346, label %exc.k347
+exc.u346:
+ call void @sc_rc_release_dyn(ptr %t787)
+ call void @sc_rc_release_dyn(ptr %t792)
+ call void @sc_rc_release_dyn(ptr %t793)
+ ret ptr null
+exc.k347:
+ call void @sc_rc_release_dyn(ptr %t787)
+ call void @sc_rc_release_dyn(ptr %t792)
+ ret ptr %t793
+if.j343:
+ %t798 = call ptr @scr_dyn_undefined()
+ %t797 = call ptr @scr_dyn_retain_v(ptr %t798)
+ ret ptr %t797
+if.j337:
+ %t799 = load ptr, ptr %sc_l_p_key
+ %t800 = call zeroext i1 @sc_streq_3899522094323235(ptr %t799)
+ br i1 %t800, label %if.t348, label %if.j349
+if.t348:
+ %t801 = load ptr, ptr %sc_l_p_receiver
+ %t802 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t801, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t803 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t802)
+ %t804 = load i32, ptr %exc.cell
+ %t805 = icmp ne i32 %t804, 0
+ %t806 = call i1 @llvm.expect.i1(i1 %t805, i1 false)
+ br i1 %t806, label %exc.u350, label %exc.k351
+exc.u350:
+ call void @sc_rc_release_dyn(ptr %t803)
+ ret ptr null
+exc.k351:
+ %t807 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t803, ptr @sc_lit_3899522094323235)
+ %t808 = load i32, ptr %exc.cell
+ %t809 = icmp ne i32 %t808, 0
+ %t810 = call i1 @llvm.expect.i1(i1 %t809, i1 false)
+ br i1 %t810, label %exc.u352, label %exc.k353
+exc.u352:
+ call void @sc_rc_release_dyn(ptr %t803)
+ ret ptr null
+exc.k353:
+ call void @sc_rc_release_dyn(ptr %t803)
+ br i1 %t807, label %if.t354, label %if.j355
+if.t354:
+ %t811 = load ptr, ptr %sc_l_p_receiver
+ %t812 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t811, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t813 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t812)
+ %t814 = load i32, ptr %exc.cell
+ %t815 = icmp ne i32 %t814, 0
+ %t816 = call i1 @llvm.expect.i1(i1 %t815, i1 false)
+ br i1 %t816, label %exc.u356, label %exc.k357
+exc.u356:
+ call void @sc_rc_release_dyn(ptr %t813)
+ ret ptr null
+exc.k357:
+ %t817 = load ptr, ptr %sc_l_p_receiver
+ %t818 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t817, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t819 = call ptr @scr_dyn_bag_get(ptr %t813, ptr @sc_lit_3899522094323235, ptr %t818)
+ %t820 = load i32, ptr %exc.cell
+ %t821 = icmp ne i32 %t820, 0
+ %t822 = call i1 @llvm.expect.i1(i1 %t821, i1 false)
+ br i1 %t822, label %exc.u358, label %exc.k359
+exc.u358:
+ call void @sc_rc_release_dyn(ptr %t813)
+ call void @sc_rc_release_dyn(ptr %t818)
+ call void @sc_rc_release_dyn(ptr %t819)
+ ret ptr null
+exc.k359:
+ call void @sc_rc_release_dyn(ptr %t813)
+ call void @sc_rc_release_dyn(ptr %t818)
+ ret ptr %t819
+if.j355:
+ %t824 = call ptr @scr_dyn_undefined()
+ %t823 = call ptr @scr_dyn_retain_v(ptr %t824)
+ ret ptr %t823
+if.j349:
+ %t825 = load ptr, ptr %sc_l_p_0
+ %t826 = call ptr @sc_rc_retain_dyn(ptr %t825)
+ %t827 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t826)
+ %t828 = load i32, ptr %exc.cell
+ %t829 = icmp ne i32 %t828, 0
+ %t830 = call i1 @llvm.expect.i1(i1 %t829, i1 false)
+ br i1 %t830, label %exc.u360, label %exc.k361
+exc.u360:
+ call void @sc_rc_release_dyn(ptr %t827)
+ ret ptr null
+exc.k361:
+ %t831 = load ptr, ptr %sc_l_p_key
+ %t832 = call ptr @sc_rc_retain_str(ptr %t831)
+ %t833 = load ptr, ptr %sc_l_p_receiver
+ %t834 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t833, ptr @sc_retain__x25_m5_App, ptr @sc_release__x25_m5_App, ptr @sc_cs_21424698936986, i64 14, ptr @sc_ldr_23_materialize, ptr @sc_ldr_23_materialize_commit)
+ %t835 = call ptr @scr_dyn_bag_get(ptr %t827, ptr %t832, ptr %t834)
+ %t836 = load i32, ptr %exc.cell
+ %t837 = icmp ne i32 %t836, 0
+ %t838 = call i1 @llvm.expect.i1(i1 %t837, i1 false)
+ br i1 %t838, label %exc.u362, label %exc.k363
+exc.u362:
+ call void @sc_rc_release_dyn(ptr %t827)
+ call void @scr_str_release(ptr %t832)
+ call void @sc_rc_release_dyn(ptr %t834)
+ call void @sc_rc_release_dyn(ptr %t835)
+ ret ptr null
+exc.k363:
+ call void @sc_rc_release_dyn(ptr %t827)
+ call void @scr_str_release(ptr %t832)
+ call void @sc_rc_release_dyn(ptr %t834)
+ ret ptr %t835
+}
+define internal ptr @sc_f__x25_dyn_class_keys_488(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_488(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m5_App(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_489(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.489
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_3447500980845638(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7, !tbaa !24
+ %t9 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t8)
+ %t10 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t9, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_448101171860799(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t13, i64 0, i32 2
+ %t15 = load ptr, ptr %t14, !tbaa !44
+ %t16 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t15)
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t16)
+ ret ptr %t17
+if.j5:
+ %t18 = load ptr, ptr %sc_l_p_key
+ %t19 = call zeroext i1 @sc_streq_4141049404401276(ptr %t18)
+ br i1 %t19, label %if.t6, label %if.j7
+if.t6:
+ %t20 = load ptr, ptr %sc_l_p_receiver
+ %t21 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t20, i64 0, i32 3
+ %t22 = load ptr, ptr %t21, !tbaa !164
+ %t23 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t22)
+ %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t23)
+ ret ptr %t24
+if.j7:
+ %t25 = load ptr, ptr %sc_l_p_key
+ %t26 = call zeroext i1 @sc_streq_3621289080171698(ptr %t25)
+ br i1 %t26, label %if.t8, label %if.j9
+if.t8:
+ %t27 = load ptr, ptr %sc_l_p_receiver
+ %t28 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t27, i64 0, i32 4
+ %t29 = load double, ptr %t28, !tbaa !48
+ %t30 = call ptr @sc_td_2(double %t29)
+ ret ptr %t30
+if.j9:
+ %t31 = load ptr, ptr %sc_l_p_key
+ %t32 = call zeroext i1 @sc_streq_2163543391075186(ptr %t31)
+ br i1 %t32, label %if.t10, label %if.j11
+if.t10:
+ %t33 = load ptr, ptr %sc_l_p_receiver
+ %t34 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t33, i64 0, i32 5
+ %t35 = load i8, ptr %t34, !tbaa !42
+ %t36 = trunc i8 %t35 to i1
+ %t37 = call ptr @sc_td_3(i1 %t36)
+ ret ptr %t37
+if.j11:
+ %t38 = load ptr, ptr %sc_l_p_key
+ %t39 = call zeroext i1 @sc_streq_4022150258959820(ptr %t38)
+ br i1 %t39, label %if.t12, label %if.j13
+if.t12:
+ %t40 = load ptr, ptr %sc_l_p_receiver
+ %t41 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t40, i64 0, i32 6
+ %t42 = load ptr, ptr %t41, !tbaa !166
+ %t43 = call ptr @sc_rc_retain_str(ptr %t42)
+ %t44 = call ptr @sc_td_0(ptr %t43)
+ call void @scr_str_release(ptr %t43)
+ ret ptr %t44
+if.j13:
+ %t45 = load ptr, ptr %sc_l_p_key
+ %t46 = call zeroext i1 @sc_streq_3084154227263888(ptr %t45)
+ br i1 %t46, label %if.t14, label %if.j15
+if.t14:
+ %t47 = load ptr, ptr %sc_l_p_receiver
+ %t48 = getelementptr inbounds %sc_o__x25_m5_CtxCore, ptr %t47, i64 0, i32 7
+ %t49 = load ptr, ptr %t48, !tbaa !162
+ %t50 = call ptr @scr_union_retain_v(ptr %t49)
+ %t51 = call ptr @sc_td_14(ptr %t50)
+ call void @scr_union_release(ptr %t50)
+ ret ptr %t51
+if.j15:
+ %t52 = load ptr, ptr %sc_l_p_key
+ %t53 = call zeroext i1 @sc_streq_1951312618348557(ptr %t52)
+ br i1 %t53, label %if.t16, label %if.j17
+if.t16:
+ %t54 = load ptr, ptr %sc_l_p_receiver
+ %t55 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t54, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t56 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t55)
+ %t57 = load i32, ptr %exc.cell
+ %t58 = icmp ne i32 %t57, 0
+ %t59 = call i1 @llvm.expect.i1(i1 %t58, i1 false)
+ br i1 %t59, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t56)
+ ret ptr null
+exc.k19:
+ %t60 = call zeroext i1 @scr_dyn_has_own(ptr %t56, ptr @sc_lit_1951312618348557)
+ %t61 = load i32, ptr %exc.cell
+ %t62 = icmp ne i32 %t61, 0
+ %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false)
+ br i1 %t63, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t56)
+ ret ptr null
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t56)
+ br i1 %t60, label %if.t22, label %if.j23
+if.t22:
+ %t64 = load ptr, ptr %sc_l_p_receiver
+ %t65 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t64, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t66 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t65)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t66)
+ ret ptr null
+exc.k25:
+ %t70 = load ptr, ptr %sc_l_p_receiver
+ %t71 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t70, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t72 = call ptr @scr_dyn_bag_get(ptr %t66, ptr @sc_lit_1951312618348557, ptr %t71)
+ %t73 = load i32, ptr %exc.cell
+ %t74 = icmp ne i32 %t73, 0
+ %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false)
+ br i1 %t75, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t71)
+ call void @sc_rc_release_dyn(ptr %t72)
+ ret ptr null
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t66)
+ call void @sc_rc_release_dyn(ptr %t71)
+ ret ptr %t72
+if.j23:
+ %t76 = load ptr, ptr %sc_l_p_receiver
+ %t77 = call ptr @sc_bf__x25__x25_m5_CtxCore_get_x3a_res(ptr %t76)
+ %t78 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t77)
+ %t79 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t78, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t78)
+ ret ptr %t79
+if.j17:
+ %t80 = load ptr, ptr %sc_l_p_key
+ %t81 = call zeroext i1 @sc_streq_127274431826284(ptr %t80)
+ br i1 %t81, label %if.t28, label %if.j29
+if.t28:
+ %t82 = load ptr, ptr %sc_l_p_receiver
+ %t83 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t82, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t84 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t83)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k31:
+ %t88 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t84, ptr @sc_lit_127274431826284)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k33:
+ call void @sc_rc_release_dyn(ptr %t84)
+ br i1 %t88, label %if.t34, label %if.j35
+if.t34:
+ %t92 = load ptr, ptr %sc_l_p_receiver
+ %t93 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t92, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t94 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t93)
+ %t95 = load i32, ptr %exc.cell
+ %t96 = icmp ne i32 %t95, 0
+ %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false)
+ br i1 %t97, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr null
+exc.k37:
+ %t98 = load ptr, ptr %sc_l_p_receiver
+ %t99 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t98, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t100 = call ptr @scr_dyn_bag_get(ptr %t94, ptr @sc_lit_127274431826284, ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t99)
+ call void @sc_rc_release_dyn(ptr %t100)
+ ret ptr null
+exc.k39:
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t99)
+ ret ptr %t100
+if.j35:
+ %t105 = call ptr @scr_dyn_undefined()
+ %t104 = call ptr @scr_dyn_retain_v(ptr %t105)
+ ret ptr %t104
+if.j29:
+ %t106 = load ptr, ptr %sc_l_p_key
+ %t107 = call zeroext i1 @sc_streq_528144782449140(ptr %t106)
+ br i1 %t107, label %if.t40, label %if.j41
+if.t40:
+ %t108 = load ptr, ptr %sc_l_p_receiver
+ %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t110 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t109)
+ %t111 = load i32, ptr %exc.cell
+ %t112 = icmp ne i32 %t111, 0
+ %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false)
+ br i1 %t113, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t110)
+ ret ptr null
+exc.k43:
+ %t114 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t110, ptr @sc_lit_528144782449140)
+ %t115 = load i32, ptr %exc.cell
+ %t116 = icmp ne i32 %t115, 0
+ %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false)
+ br i1 %t117, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t110)
+ ret ptr null
+exc.k45:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br i1 %t114, label %if.t46, label %if.j47
+if.t46:
+ %t118 = load ptr, ptr %sc_l_p_receiver
+ %t119 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t118, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t120 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t119)
+ %t121 = load i32, ptr %exc.cell
+ %t122 = icmp ne i32 %t121, 0
+ %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false)
+ br i1 %t123, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t120)
+ ret ptr null
+exc.k49:
+ %t124 = load ptr, ptr %sc_l_p_receiver
+ %t125 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t124, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t126 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_528144782449140, ptr %t125)
+ %t127 = load i32, ptr %exc.cell
+ %t128 = icmp ne i32 %t127, 0
+ %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false)
+ br i1 %t129, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t125)
+ call void @sc_rc_release_dyn(ptr %t126)
+ ret ptr null
+exc.k51:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t125)
+ ret ptr %t126
+if.j47:
+ %t131 = call ptr @scr_dyn_undefined()
+ %t130 = call ptr @scr_dyn_retain_v(ptr %t131)
+ ret ptr %t130
+if.j41:
+ %t132 = load ptr, ptr %sc_l_p_key
+ %t133 = call zeroext i1 @sc_streq_1950596786618243(ptr %t132)
+ br i1 %t133, label %if.t52, label %if.j53
+if.t52:
+ %t134 = load ptr, ptr %sc_l_p_receiver
+ %t135 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t134, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t136 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t135)
+ %t137 = load i32, ptr %exc.cell
+ %t138 = icmp ne i32 %t137, 0
+ %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false)
+ br i1 %t139, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t136)
+ ret ptr null
+exc.k55:
+ %t140 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t136, ptr @sc_lit_1950596786618243)
+ %t141 = load i32, ptr %exc.cell
+ %t142 = icmp ne i32 %t141, 0
+ %t143 = call i1 @llvm.expect.i1(i1 %t142, i1 false)
+ br i1 %t143, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t136)
+ ret ptr null
+exc.k57:
+ call void @sc_rc_release_dyn(ptr %t136)
+ br i1 %t140, label %if.t58, label %if.j59
+if.t58:
+ %t144 = load ptr, ptr %sc_l_p_receiver
+ %t145 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t144, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t146 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t145)
+ %t147 = load i32, ptr %exc.cell
+ %t148 = icmp ne i32 %t147, 0
+ %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false)
+ br i1 %t149, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t146)
+ ret ptr null
+exc.k61:
+ %t150 = load ptr, ptr %sc_l_p_receiver
+ %t151 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t150, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t152 = call ptr @scr_dyn_bag_get(ptr %t146, ptr @sc_lit_1950596786618243, ptr %t151)
+ %t153 = load i32, ptr %exc.cell
+ %t154 = icmp ne i32 %t153, 0
+ %t155 = call i1 @llvm.expect.i1(i1 %t154, i1 false)
+ br i1 %t155, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t146)
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t152)
+ ret ptr null
+exc.k63:
+ call void @sc_rc_release_dyn(ptr %t146)
+ call void @sc_rc_release_dyn(ptr %t151)
+ ret ptr %t152
+if.j59:
+ %t157 = call ptr @scr_dyn_undefined()
+ %t156 = call ptr @scr_dyn_retain_v(ptr %t157)
+ ret ptr %t156
+if.j53:
+ %t158 = load ptr, ptr %sc_l_p_key
+ %t159 = call zeroext i1 @sc_streq_48178627029362(ptr %t158)
+ br i1 %t159, label %if.t64, label %if.j65
+if.t64:
+ %t160 = load ptr, ptr %sc_l_p_receiver
+ %t161 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t160, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t162 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t161)
+ %t163 = load i32, ptr %exc.cell
+ %t164 = icmp ne i32 %t163, 0
+ %t165 = call i1 @llvm.expect.i1(i1 %t164, i1 false)
+ br i1 %t165, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t162)
+ ret ptr null
+exc.k67:
+ %t166 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t162, ptr @sc_lit_48178627029362)
+ %t167 = load i32, ptr %exc.cell
+ %t168 = icmp ne i32 %t167, 0
+ %t169 = call i1 @llvm.expect.i1(i1 %t168, i1 false)
+ br i1 %t169, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t162)
+ ret ptr null
+exc.k69:
+ call void @sc_rc_release_dyn(ptr %t162)
+ br i1 %t166, label %if.t70, label %if.j71
+if.t70:
+ %t170 = load ptr, ptr %sc_l_p_receiver
+ %t171 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t170, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t172 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t171)
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t172)
+ ret ptr null
+exc.k73:
+ %t176 = load ptr, ptr %sc_l_p_receiver
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t172, ptr @sc_lit_48178627029362, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @sc_rc_release_dyn(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ ret ptr null
+exc.k75:
+ call void @sc_rc_release_dyn(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t177)
+ ret ptr %t178
+if.j71:
+ %t183 = call ptr @scr_dyn_undefined()
+ %t182 = call ptr @scr_dyn_retain_v(ptr %t183)
+ ret ptr %t182
+if.j65:
+ %t184 = load ptr, ptr %sc_l_p_key
+ %t185 = call zeroext i1 @sc_streq_2677147133778287(ptr %t184)
+ br i1 %t185, label %if.t76, label %if.j77
+if.t76:
+ %t186 = load ptr, ptr %sc_l_p_receiver
+ %t187 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t186, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t188 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t187)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t188)
+ ret ptr null
+exc.k79:
+ %t192 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t188, ptr @sc_lit_2677147133778287)
+ %t193 = load i32, ptr %exc.cell
+ %t194 = icmp ne i32 %t193, 0
+ %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false)
+ br i1 %t195, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @sc_rc_release_dyn(ptr %t188)
+ ret ptr null
+exc.k81:
+ call void @sc_rc_release_dyn(ptr %t188)
+ br i1 %t192, label %if.t82, label %if.j83
+if.t82:
+ %t196 = load ptr, ptr %sc_l_p_receiver
+ %t197 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t196, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t198 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t197)
+ %t199 = load i32, ptr %exc.cell
+ %t200 = icmp ne i32 %t199, 0
+ %t201 = call i1 @llvm.expect.i1(i1 %t200, i1 false)
+ br i1 %t201, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t198)
+ ret ptr null
+exc.k85:
+ %t202 = load ptr, ptr %sc_l_p_receiver
+ %t203 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t202, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t204 = call ptr @scr_dyn_bag_get(ptr %t198, ptr @sc_lit_2677147133778287, ptr %t203)
+ %t205 = load i32, ptr %exc.cell
+ %t206 = icmp ne i32 %t205, 0
+ %t207 = call i1 @llvm.expect.i1(i1 %t206, i1 false)
+ br i1 %t207, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_rc_release_dyn(ptr %t203)
+ call void @sc_rc_release_dyn(ptr %t204)
+ ret ptr null
+exc.k87:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_rc_release_dyn(ptr %t203)
+ ret ptr %t204
+if.j83:
+ %t209 = call ptr @scr_dyn_undefined()
+ %t208 = call ptr @scr_dyn_retain_v(ptr %t209)
+ ret ptr %t208
+if.j77:
+ %t210 = load ptr, ptr %sc_l_p_key
+ %t211 = call zeroext i1 @sc_streq_4044156596960274(ptr %t210)
+ br i1 %t211, label %if.t88, label %if.j89
+if.t88:
+ %t212 = load ptr, ptr %sc_l_p_receiver
+ %t213 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t212, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t214 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t213)
+ %t215 = load i32, ptr %exc.cell
+ %t216 = icmp ne i32 %t215, 0
+ %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false)
+ br i1 %t217, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t214)
+ ret ptr null
+exc.k91:
+ %t218 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t214, ptr @sc_lit_4044156596960274)
+ %t219 = load i32, ptr %exc.cell
+ %t220 = icmp ne i32 %t219, 0
+ %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false)
+ br i1 %t221, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t214)
+ ret ptr null
+exc.k93:
+ call void @sc_rc_release_dyn(ptr %t214)
+ br i1 %t218, label %if.t94, label %if.j95
+if.t94:
+ %t222 = load ptr, ptr %sc_l_p_receiver
+ %t223 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t222, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t224 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t223)
+ %t225 = load i32, ptr %exc.cell
+ %t226 = icmp ne i32 %t225, 0
+ %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false)
+ br i1 %t227, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t224)
+ ret ptr null
+exc.k97:
+ %t228 = load ptr, ptr %sc_l_p_receiver
+ %t229 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t228, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t230 = call ptr @scr_dyn_bag_get(ptr %t224, ptr @sc_lit_4044156596960274, ptr %t229)
+ %t231 = load i32, ptr %exc.cell
+ %t232 = icmp ne i32 %t231, 0
+ %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false)
+ br i1 %t233, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @sc_rc_release_dyn(ptr %t224)
+ call void @sc_rc_release_dyn(ptr %t229)
+ call void @sc_rc_release_dyn(ptr %t230)
+ ret ptr null
+exc.k99:
+ call void @sc_rc_release_dyn(ptr %t224)
+ call void @sc_rc_release_dyn(ptr %t229)
+ ret ptr %t230
+if.j95:
+ %t235 = call ptr @scr_dyn_undefined()
+ %t234 = call ptr @scr_dyn_retain_v(ptr %t235)
+ ret ptr %t234
+if.j89:
+ %t236 = load ptr, ptr %sc_l_p_key
+ %t237 = call zeroext i1 @sc_streq_161925136240866(ptr %t236)
+ br i1 %t237, label %if.t100, label %if.j101
+if.t100:
+ %t238 = load ptr, ptr %sc_l_p_receiver
+ %t239 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t238, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t240 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t239)
+ %t241 = load i32, ptr %exc.cell
+ %t242 = icmp ne i32 %t241, 0
+ %t243 = call i1 @llvm.expect.i1(i1 %t242, i1 false)
+ br i1 %t243, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t240)
+ ret ptr null
+exc.k103:
+ %t244 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t240, ptr @sc_lit_161925136240866)
+ %t245 = load i32, ptr %exc.cell
+ %t246 = icmp ne i32 %t245, 0
+ %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false)
+ br i1 %t247, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t240)
+ ret ptr null
+exc.k105:
+ call void @sc_rc_release_dyn(ptr %t240)
+ br i1 %t244, label %if.t106, label %if.j107
+if.t106:
+ %t248 = load ptr, ptr %sc_l_p_receiver
+ %t249 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t248, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t250 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t249)
+ %t251 = load i32, ptr %exc.cell
+ %t252 = icmp ne i32 %t251, 0
+ %t253 = call i1 @llvm.expect.i1(i1 %t252, i1 false)
+ br i1 %t253, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t250)
+ ret ptr null
+exc.k109:
+ %t254 = load ptr, ptr %sc_l_p_receiver
+ %t255 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t254, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t256 = call ptr @scr_dyn_bag_get(ptr %t250, ptr @sc_lit_161925136240866, ptr %t255)
+ %t257 = load i32, ptr %exc.cell
+ %t258 = icmp ne i32 %t257, 0
+ %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false)
+ br i1 %t259, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @sc_rc_release_dyn(ptr %t250)
+ call void @sc_rc_release_dyn(ptr %t255)
+ call void @sc_rc_release_dyn(ptr %t256)
+ ret ptr null
+exc.k111:
+ call void @sc_rc_release_dyn(ptr %t250)
+ call void @sc_rc_release_dyn(ptr %t255)
+ ret ptr %t256
+if.j107:
+ %t261 = call ptr @scr_dyn_undefined()
+ %t260 = call ptr @scr_dyn_retain_v(ptr %t261)
+ ret ptr %t260
+if.j101:
+ %t262 = load ptr, ptr %sc_l_p_key
+ %t263 = call zeroext i1 @sc_streq_693828840439997(ptr %t262)
+ br i1 %t263, label %if.t112, label %if.j113
+if.t112:
+ %t264 = load ptr, ptr %sc_l_p_receiver
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t266 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t266)
+ ret ptr null
+exc.k115:
+ %t270 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t266, ptr @sc_lit_693828840439997)
+ %t271 = load i32, ptr %exc.cell
+ %t272 = icmp ne i32 %t271, 0
+ %t273 = call i1 @llvm.expect.i1(i1 %t272, i1 false)
+ br i1 %t273, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t266)
+ ret ptr null
+exc.k117:
+ call void @sc_rc_release_dyn(ptr %t266)
+ br i1 %t270, label %if.t118, label %if.j119
+if.t118:
+ %t274 = load ptr, ptr %sc_l_p_receiver
+ %t275 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t274, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t276 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t275)
+ %t277 = load i32, ptr %exc.cell
+ %t278 = icmp ne i32 %t277, 0
+ %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false)
+ br i1 %t279, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @sc_rc_release_dyn(ptr %t276)
+ ret ptr null
+exc.k121:
+ %t280 = load ptr, ptr %sc_l_p_receiver
+ %t281 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t280, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t282 = call ptr @scr_dyn_bag_get(ptr %t276, ptr @sc_lit_693828840439997, ptr %t281)
+ %t283 = load i32, ptr %exc.cell
+ %t284 = icmp ne i32 %t283, 0
+ %t285 = call i1 @llvm.expect.i1(i1 %t284, i1 false)
+ br i1 %t285, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @sc_rc_release_dyn(ptr %t281)
+ call void @sc_rc_release_dyn(ptr %t282)
+ ret ptr null
+exc.k123:
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @sc_rc_release_dyn(ptr %t281)
+ ret ptr %t282
+if.j119:
+ %t287 = call ptr @scr_dyn_undefined()
+ %t286 = call ptr @scr_dyn_retain_v(ptr %t287)
+ ret ptr %t286
+if.j113:
+ %t288 = load ptr, ptr %sc_l_p_key
+ %t289 = call zeroext i1 @sc_streq_587707337530151(ptr %t288)
+ br i1 %t289, label %if.t124, label %if.j125
+if.t124:
+ %t290 = load ptr, ptr %sc_l_p_receiver
+ %t291 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t290, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t292 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t291)
+ %t293 = load i32, ptr %exc.cell
+ %t294 = icmp ne i32 %t293, 0
+ %t295 = call i1 @llvm.expect.i1(i1 %t294, i1 false)
+ br i1 %t295, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t292)
+ ret ptr null
+exc.k127:
+ %t296 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t292, ptr @sc_lit_587707337530151)
+ %t297 = load i32, ptr %exc.cell
+ %t298 = icmp ne i32 %t297, 0
+ %t299 = call i1 @llvm.expect.i1(i1 %t298, i1 false)
+ br i1 %t299, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @sc_rc_release_dyn(ptr %t292)
+ ret ptr null
+exc.k129:
+ call void @sc_rc_release_dyn(ptr %t292)
+ br i1 %t296, label %if.t130, label %if.j131
+if.t130:
+ %t300 = load ptr, ptr %sc_l_p_receiver
+ %t301 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t300, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t302 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t301)
+ %t303 = load i32, ptr %exc.cell
+ %t304 = icmp ne i32 %t303, 0
+ %t305 = call i1 @llvm.expect.i1(i1 %t304, i1 false)
+ br i1 %t305, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @sc_rc_release_dyn(ptr %t302)
+ ret ptr null
+exc.k133:
+ %t306 = load ptr, ptr %sc_l_p_receiver
+ %t307 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t306, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t308 = call ptr @scr_dyn_bag_get(ptr %t302, ptr @sc_lit_587707337530151, ptr %t307)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t307)
+ call void @sc_rc_release_dyn(ptr %t308)
+ ret ptr null
+exc.k135:
+ call void @sc_rc_release_dyn(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t307)
+ ret ptr %t308
+if.j131:
+ %t313 = call ptr @scr_dyn_undefined()
+ %t312 = call ptr @scr_dyn_retain_v(ptr %t313)
+ ret ptr %t312
+if.j125:
+ %t314 = load ptr, ptr %sc_l_p_key
+ %t315 = call zeroext i1 @sc_streq_731773075116702(ptr %t314)
+ br i1 %t315, label %if.t136, label %if.j137
+if.t136:
+ call void @scr_throw_error_msg_code(i32 0, ptr @sc_cs_1707336406926269, i64 80, ptr @sc_cs_2988681134725684)
+ ret ptr null
+if.j137:
+ %t316 = load ptr, ptr %sc_l_p_0
+ %t317 = call ptr @sc_rc_retain_dyn(ptr %t316)
+ %t318 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t317)
+ %t319 = load i32, ptr %exc.cell
+ %t320 = icmp ne i32 %t319, 0
+ %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false)
+ br i1 %t321, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t318)
+ ret ptr null
+exc.k139:
+ %t322 = load ptr, ptr %sc_l_p_key
+ %t323 = call ptr @sc_rc_retain_str(ptr %t322)
+ %t324 = load ptr, ptr %sc_l_p_receiver
+ %t325 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t324, ptr @sc_retain__x25_m5_CtxCore, ptr @sc_release__x25_m5_CtxCore, ptr @sc_cs_2875643240706496, i64 18, ptr @sc_ldr_21_materialize, ptr @sc_ldr_21_materialize_commit)
+ %t326 = call ptr @scr_dyn_bag_get(ptr %t318, ptr %t323, ptr %t325)
+ %t327 = load i32, ptr %exc.cell
+ %t328 = icmp ne i32 %t327, 0
+ %t329 = call i1 @llvm.expect.i1(i1 %t328, i1 false)
+ br i1 %t329, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t318)
+ call void @scr_str_release(ptr %t323)
+ call void @sc_rc_release_dyn(ptr %t325)
+ call void @sc_rc_release_dyn(ptr %t326)
+ ret ptr null
+exc.k141:
+ call void @sc_rc_release_dyn(ptr %t318)
+ call void @scr_str_release(ptr %t323)
+ call void @sc_rc_release_dyn(ptr %t325)
+ ret ptr %t326
+}
+define internal ptr @sc_f__x25_dyn_class_keys_489(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_489(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m5_CtxCore(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_490(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.490
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_3804612928743770(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t6, i64 0, i32 3
+ %t8 = load ptr, ptr %t7, !tbaa !190
+ %t9 = call ptr @sc_rretain_r12(ptr %t8)
+ %t10 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t9, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, ptr @sc_cs_3599972234312006, i64 10, ptr @sc_ldr_44_materialize, ptr @sc_ldr_44_materialize_commit)
+ call void @sc_rrelease_r12(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_1810373001322451(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m14_BakedAssets, ptr %t13, i64 0, i32 4
+ %t15 = load ptr, ptr %t14, !tbaa !192
+ %t16 = call ptr @scr_arr_retain_v(ptr %t15)
+ %t17 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t16, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3607504563658207, i64 17, ptr @sc_ldr_45_materialize, ptr @sc_ldr_45_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t17, ptr @sc_ldr_45_materialize_ops)
+ call void @scr_arr_release(ptr %t16)
+ ret ptr %t17
+if.j5:
+ %t18 = load ptr, ptr %sc_l_p_key
+ %t19 = call zeroext i1 @sc_streq_2227497482646049(ptr %t18)
+ br i1 %t19, label %if.t6, label %if.j7
+if.t6:
+ %t20 = load ptr, ptr %sc_l_p_receiver
+ %t21 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t20, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t22 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t21)
+ %t23 = load i32, ptr %exc.cell
+ %t24 = icmp ne i32 %t23, 0
+ %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false)
+ br i1 %t25, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t22)
+ ret ptr null
+exc.k9:
+ %t26 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t22, ptr @sc_lit_2227497482646049)
+ %t27 = load i32, ptr %exc.cell
+ %t28 = icmp ne i32 %t27, 0
+ %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false)
+ br i1 %t29, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t22)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br i1 %t26, label %if.t12, label %if.j13
+if.t12:
+ %t30 = load ptr, ptr %sc_l_p_receiver
+ %t31 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t30, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t32 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t31)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr null
+exc.k15:
+ %t36 = load ptr, ptr %sc_l_p_receiver
+ %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t38 = call ptr @scr_dyn_bag_get(ptr %t32, ptr @sc_lit_2227497482646049, ptr %t37)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t37)
+ ret ptr %t38
+if.j13:
+ %t43 = call ptr @scr_dyn_undefined()
+ %t42 = call ptr @scr_dyn_retain_v(ptr %t43)
+ ret ptr %t42
+if.j7:
+ %t44 = load ptr, ptr %sc_l_p_key
+ %t45 = call zeroext i1 @sc_streq_228045523956680(ptr %t44)
+ br i1 %t45, label %if.t18, label %if.j19
+if.t18:
+ %t46 = load ptr, ptr %sc_l_p_receiver
+ %t47 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t46, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t48 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t47)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr null
+exc.k21:
+ %t52 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t48, ptr @sc_lit_228045523956680)
+ %t53 = load i32, ptr %exc.cell
+ %t54 = icmp ne i32 %t53, 0
+ %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false)
+ br i1 %t55, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr null
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t48)
+ br i1 %t52, label %if.t24, label %if.j25
+if.t24:
+ %t56 = load ptr, ptr %sc_l_p_receiver
+ %t57 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t56, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t58 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t57)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t58)
+ ret ptr null
+exc.k27:
+ %t62 = load ptr, ptr %sc_l_p_receiver
+ %t63 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t62, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t64 = call ptr @scr_dyn_bag_get(ptr %t58, ptr @sc_lit_228045523956680, ptr %t63)
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t64)
+ ret ptr null
+exc.k29:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t63)
+ ret ptr %t64
+if.j25:
+ %t69 = call ptr @scr_dyn_undefined()
+ %t68 = call ptr @scr_dyn_retain_v(ptr %t69)
+ ret ptr %t68
+if.j19:
+ %t70 = load ptr, ptr %sc_l_p_key
+ %t71 = call zeroext i1 @sc_streq_731773075116702(ptr %t70)
+ br i1 %t71, label %if.t30, label %if.j31
+if.t30:
+ %t72 = load ptr, ptr %sc_l_p_receiver
+ %t73 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t72, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t74 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t73)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t74)
+ ret ptr null
+exc.k33:
+ %t78 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t74, ptr @sc_lit_731773075116702)
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t74)
+ ret ptr null
+exc.k35:
+ call void @sc_rc_release_dyn(ptr %t74)
+ br i1 %t78, label %if.t36, label %if.j37
+if.t36:
+ %t82 = load ptr, ptr %sc_l_p_receiver
+ %t83 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t82, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t84 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t83)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k39:
+ %t88 = load ptr, ptr %sc_l_p_receiver
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t84, ptr @sc_lit_731773075116702, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ ret ptr null
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t89)
+ ret ptr %t90
+if.j37:
+ %t95 = call ptr @scr_dyn_undefined()
+ %t94 = call ptr @scr_dyn_retain_v(ptr %t95)
+ ret ptr %t94
+if.j31:
+ %t96 = load ptr, ptr %sc_l_p_0
+ %t97 = call ptr @sc_rc_retain_dyn(ptr %t96)
+ %t98 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t97)
+ %t99 = load i32, ptr %exc.cell
+ %t100 = icmp ne i32 %t99, 0
+ %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false)
+ br i1 %t101, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t98)
+ ret ptr null
+exc.k43:
+ %t102 = load ptr, ptr %sc_l_p_key
+ %t103 = call ptr @sc_rc_retain_str(ptr %t102)
+ %t104 = load ptr, ptr %sc_l_p_receiver
+ %t105 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t104, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ %t106 = call ptr @scr_dyn_bag_get(ptr %t98, ptr %t103, ptr %t105)
+ %t107 = load i32, ptr %exc.cell
+ %t108 = icmp ne i32 %t107, 0
+ %t109 = call i1 @llvm.expect.i1(i1 %t108, i1 false)
+ br i1 %t109, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @scr_str_release(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t106)
+ ret ptr null
+exc.k45:
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @scr_str_release(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t105)
+ ret ptr %t106
+}
+define internal ptr @sc_f__x25_dyn_class_keys_490(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_490(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m14_BakedAssets(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_491(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.491
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_4062729090063393(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k5:
+ %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_4062729090063393)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ br i1 %t12, label %if.t8, label %if.j9
+if.t8:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret ptr null
+exc.k11:
+ %t22 = load ptr, ptr %sc_l_p_receiver
+ %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_4062729090063393, ptr %t23)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ ret ptr %t24
+if.j9:
+ %t29 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t29)
+ ret ptr %t28
+if.j3:
+ %t30 = load ptr, ptr %sc_l_p_0
+ %t31 = call ptr @sc_rc_retain_dyn(ptr %t30)
+ %t32 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t31)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr null
+exc.k15:
+ %t36 = load ptr, ptr %sc_l_p_key
+ %t37 = call ptr @sc_rc_retain_str(ptr %t36)
+ %t38 = load ptr, ptr %sc_l_p_receiver
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ %t40 = call ptr @scr_dyn_bag_get(ptr %t32, ptr %t37, ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_str_release(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t40)
+ ret ptr null
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_str_release(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ ret ptr %t40
+}
+define internal ptr @sc_f__x25_dyn_class_keys_491(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_491(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_492(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.492
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_4062729090063393(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k5:
+ %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_4062729090063393)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ br i1 %t12, label %if.t8, label %if.j9
+if.t8:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret ptr null
+exc.k11:
+ %t22 = load ptr, ptr %sc_l_p_receiver
+ %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_4062729090063393, ptr %t23)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ ret ptr %t24
+if.j9:
+ %t29 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t29)
+ ret ptr %t28
+if.j3:
+ %t30 = load ptr, ptr %sc_l_p_0
+ %t31 = call ptr @sc_rc_retain_dyn(ptr %t30)
+ %t32 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t31)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr null
+exc.k15:
+ %t36 = load ptr, ptr %sc_l_p_key
+ %t37 = call ptr @sc_rc_retain_str(ptr %t36)
+ %t38 = load ptr, ptr %sc_l_p_receiver
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ %t40 = call ptr @scr_dyn_bag_get(ptr %t32, ptr %t37, ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_str_release(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t40)
+ ret ptr null
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_str_release(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ ret ptr %t40
+}
+define internal ptr @sc_f__x25_dyn_class_keys_492(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_492(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_493(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.493
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_3251470234448474(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t6, i64 0, i32 1
+ %t8 = load double, ptr %t7, !tbaa !14
+ %t9 = call ptr @sc_td_2(double %t8)
+ ret ptr %t9
+if.j3:
+ %t10 = load ptr, ptr %sc_l_p_key
+ %t11 = call zeroext i1 @sc_streq_1295387805544367(ptr %t10)
+ br i1 %t11, label %if.t4, label %if.j5
+if.t4:
+ %t12 = load ptr, ptr %sc_l_p_receiver
+ %t13 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t12, i64 0, i32 2
+ %t14 = load ptr, ptr %t13, !tbaa !16
+ %t15 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t14)
+ %t16 = call ptr @sc_ldu_5(ptr %t15)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t15)
+ ret ptr %t16
+if.j5:
+ %t17 = load ptr, ptr %sc_l_p_key
+ %t18 = call zeroext i1 @sc_streq_3528980137111930(ptr %t17)
+ br i1 %t18, label %if.t6, label %if.j7
+if.t6:
+ %t19 = load ptr, ptr %sc_l_p_receiver
+ %t20 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t19, i64 0, i32 3
+ %t21 = load double, ptr %t20, !tbaa !18
+ %t22 = call ptr @sc_td_2(double %t21)
+ ret ptr %t22
+if.j7:
+ %t23 = load ptr, ptr %sc_l_p_key
+ %t24 = call zeroext i1 @sc_streq_4476522814667484(ptr %t23)
+ br i1 %t24, label %if.t8, label %if.j9
+if.t8:
+ %t25 = load ptr, ptr %sc_l_p_receiver
+ %t26 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t25, i64 0, i32 4
+ %t27 = load double, ptr %t26, !tbaa !20
+ %t28 = call ptr @sc_td_2(double %t27)
+ ret ptr %t28
+if.j9:
+ %t29 = load ptr, ptr %sc_l_p_key
+ %t30 = call zeroext i1 @sc_streq_3328648022724882(ptr %t29)
+ br i1 %t30, label %if.t10, label %if.j11
+if.t10:
+ %t31 = load ptr, ptr %sc_l_p_receiver
+ %t32 = getelementptr inbounds %sc_o__x25_m5_MpCfg, ptr %t31, i64 0, i32 5
+ %t33 = load double, ptr %t32, !tbaa !22
+ %t34 = call ptr @sc_td_2(double %t33)
+ ret ptr %t34
+if.j11:
+ %t35 = load ptr, ptr %sc_l_p_0
+ %t36 = call ptr @sc_rc_retain_dyn(ptr %t35)
+ %t37 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t36)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t37)
+ ret ptr null
+exc.k13:
+ %t41 = load ptr, ptr %sc_l_p_key
+ %t42 = call ptr @sc_rc_retain_str(ptr %t41)
+ %t43 = load ptr, ptr %sc_l_p_receiver
+ %t44 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t43, ptr @sc_retain__x25_m5_MpCfg, ptr @sc_release__x25_m5_MpCfg, ptr @sc_cs_4336131790391205, i64 16, ptr @sc_ldr_32_materialize, ptr @sc_ldr_32_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t44, ptr @sc_ldr_32_materialize_cops)
+ %t45 = call ptr @scr_dyn_bag_get(ptr %t37, ptr %t42, ptr %t44)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @scr_str_release(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t44)
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr null
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @scr_str_release(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr %t45
+}
+define internal ptr @sc_f__x25_dyn_class_keys_493(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_493(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m5_MpCfg(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_494(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.494
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_1287587581000978(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7, !tbaa !138
+ %t9 = call ptr @scr_union_retain_v(ptr %t8)
+ %t10 = call ptr @sc_td_9(ptr %t9)
+ call void @scr_union_release(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_1774444802243527(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t13, i64 0, i32 2
+ %t15 = load ptr, ptr %t14, !tbaa !136
+ %t16 = call ptr @sc_rc_retain_dyn(ptr %t15)
+ ret ptr %t16
+if.j5:
+ %t17 = load ptr, ptr %sc_l_p_key
+ %t18 = call zeroext i1 @sc_streq_964469684973146(ptr %t17)
+ br i1 %t18, label %if.t6, label %if.j7
+if.t6:
+ %t19 = load ptr, ptr %sc_l_p_receiver
+ %t20 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t19, i64 0, i32 3
+ %t21 = load ptr, ptr %t20, !tbaa !140
+ %t22 = call ptr @sc_rretain_r0(ptr %t21)
+ %t23 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t22, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ call void @sc_rrelease_r0(ptr %t22)
+ ret ptr %t23
+if.j7:
+ %t24 = load ptr, ptr %sc_l_p_key
+ %t25 = call zeroext i1 @sc_streq_1867568051177534(ptr %t24)
+ br i1 %t25, label %if.t8, label %if.j9
+if.t8:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t26, i64 0, i32 4
+ %t28 = load ptr, ptr %t27, !tbaa !142
+ %t29 = call ptr @sc_rretain_r3(ptr %t28)
+ %t30 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t29, ptr @sc_rretain_r3, ptr @sc_rrelease_r3, ptr @sc_cs_4113144339560478, i64 9, ptr @sc_ldr_9_materialize, ptr @sc_ldr_9_materialize_commit)
+ call void @sc_rrelease_r3(ptr %t29)
+ ret ptr %t30
+if.j9:
+ %t31 = load ptr, ptr %sc_l_p_key
+ %t32 = call zeroext i1 @sc_streq_1609576561362083(ptr %t31)
+ br i1 %t32, label %if.t10, label %if.j11
+if.t10:
+ %t33 = load ptr, ptr %sc_l_p_receiver
+ %t34 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t33, i64 0, i32 5
+ %t35 = load ptr, ptr %t34, !tbaa !76
+ %t36 = call ptr @sc_rc_retain_str(ptr %t35)
+ %t37 = call ptr @sc_td_0(ptr %t36)
+ call void @scr_str_release(ptr %t36)
+ ret ptr %t37
+if.j11:
+ %t38 = load ptr, ptr %sc_l_p_key
+ %t39 = call zeroext i1 @sc_streq_719487464480143(ptr %t38)
+ br i1 %t39, label %if.t12, label %if.j13
+if.t12:
+ %t40 = load ptr, ptr %sc_l_p_receiver
+ %t41 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t40, i64 0, i32 6
+ %t42 = load ptr, ptr %t41, !tbaa !78
+ %t43 = call ptr @sc_rc_retain_str(ptr %t42)
+ %t44 = call ptr @sc_td_0(ptr %t43)
+ call void @scr_str_release(ptr %t43)
+ ret ptr %t44
+if.j13:
+ %t45 = load ptr, ptr %sc_l_p_key
+ %t46 = call zeroext i1 @sc_streq_2826818497658723(ptr %t45)
+ br i1 %t46, label %if.t14, label %if.j15
+if.t14:
+ %t47 = load ptr, ptr %sc_l_p_receiver
+ %t48 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t47, i64 0, i32 7
+ %t49 = load ptr, ptr %t48, !tbaa !96
+ %t50 = call ptr @sc_rc_retain_str(ptr %t49)
+ %t51 = call ptr @sc_td_0(ptr %t50)
+ call void @scr_str_release(ptr %t50)
+ ret ptr %t51
+if.j15:
+ %t52 = load ptr, ptr %sc_l_p_key
+ %t53 = call zeroext i1 @sc_streq_2528619671045714(ptr %t52)
+ br i1 %t53, label %if.t16, label %if.j17
+if.t16:
+ %t54 = load ptr, ptr %sc_l_p_receiver
+ %t55 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t54, i64 0, i32 8
+ %t56 = load ptr, ptr %t55, !tbaa !144
+ %t57 = call ptr @sc_rc_retain_str(ptr %t56)
+ %t58 = call ptr @sc_td_0(ptr %t57)
+ call void @scr_str_release(ptr %t57)
+ ret ptr %t58
+if.j17:
+ %t59 = load ptr, ptr %sc_l_p_key
+ %t60 = call zeroext i1 @sc_streq_4247546884021115(ptr %t59)
+ br i1 %t60, label %if.t18, label %if.j19
+if.t18:
+ %t61 = load ptr, ptr %sc_l_p_receiver
+ %t62 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t61, i64 0, i32 9
+ %t63 = load ptr, ptr %t62, !tbaa !146
+ %t64 = call ptr @sc_nretain_array(ptr %t63)
+ %t65 = call ptr @sc_ldu_2(ptr %t64)
+ call void @scr_arr_release(ptr %t64)
+ ret ptr %t65
+if.j19:
+ %t66 = load ptr, ptr %sc_l_p_key
+ %t67 = call zeroext i1 @sc_streq_3282989543243776(ptr %t66)
+ br i1 %t67, label %if.t20, label %if.j21
+if.t20:
+ %t68 = load ptr, ptr %sc_l_p_receiver
+ %t69 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t68, i64 0, i32 10
+ %t70 = load ptr, ptr %t69, !tbaa !148
+ %t71 = call ptr @sc_nretain_array(ptr %t70)
+ %t72 = call ptr @sc_ldu_2(ptr %t71)
+ call void @scr_arr_release(ptr %t71)
+ ret ptr %t72
+if.j21:
+ %t73 = load ptr, ptr %sc_l_p_key
+ %t74 = call zeroext i1 @sc_streq_886324725696546(ptr %t73)
+ br i1 %t74, label %if.t22, label %if.j23
+if.t22:
+ %t75 = load ptr, ptr %sc_l_p_receiver
+ %t76 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t75, i64 0, i32 11
+ %t77 = load ptr, ptr %t76, !tbaa !150
+ %t78 = call ptr @scr_arr_retain_v(ptr %t77)
+ %t79 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t78, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t79, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t78)
+ ret ptr %t79
+if.j23:
+ %t80 = load ptr, ptr %sc_l_p_key
+ %t81 = call zeroext i1 @sc_streq_535630044833136(ptr %t80)
+ br i1 %t81, label %if.t24, label %if.j25
+if.t24:
+ %t82 = load ptr, ptr %sc_l_p_receiver
+ %t83 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t82, i64 0, i32 12
+ %t84 = load ptr, ptr %t83, !tbaa !152
+ %t85 = call ptr @scr_arr_retain_v(ptr %t84)
+ %t86 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t85, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_1394349160211144, i64 10, ptr @sc_ldr_10_materialize, ptr @sc_ldr_10_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t86, ptr @sc_ldr_10_materialize_ops)
+ call void @scr_arr_release(ptr %t85)
+ ret ptr %t86
+if.j25:
+ %t87 = load ptr, ptr %sc_l_p_key
+ %t88 = call zeroext i1 @sc_streq_4400741686745380(ptr %t87)
+ br i1 %t88, label %if.t26, label %if.j27
+if.t26:
+ %t89 = load ptr, ptr %sc_l_p_receiver
+ %t90 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t89, i64 0, i32 13
+ %t91 = load double, ptr %t90, !tbaa !154
+ %t92 = call ptr @sc_td_2(double %t91)
+ ret ptr %t92
+if.j27:
+ %t93 = load ptr, ptr %sc_l_p_key
+ %t94 = call zeroext i1 @sc_streq_4347805238344460(ptr %t93)
+ br i1 %t94, label %if.t28, label %if.j29
+if.t28:
+ %t95 = load ptr, ptr %sc_l_p_receiver
+ %t96 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t95, i64 0, i32 14
+ %t97 = load ptr, ptr %t96, !tbaa !156
+ %t98 = call ptr @sc_rc_retain_str(ptr %t97)
+ %t99 = call ptr @sc_td_0(ptr %t98)
+ call void @scr_str_release(ptr %t98)
+ ret ptr %t99
+if.j29:
+ %t100 = load ptr, ptr %sc_l_p_key
+ %t101 = call zeroext i1 @sc_streq_3191748704064557(ptr %t100)
+ br i1 %t101, label %if.t30, label %if.j31
+if.t30:
+ %t102 = load ptr, ptr %sc_l_p_receiver
+ %t103 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t102, i64 0, i32 15
+ %t104 = load ptr, ptr %t103, !tbaa !158
+ %t105 = call ptr @scr_arr_retain_v(ptr %t104)
+ %t106 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t105, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t106, ptr @sc_ldr_11_materialize_ops)
+ call void @scr_arr_release(ptr %t105)
+ ret ptr %t106
+if.j31:
+ %t107 = load ptr, ptr %sc_l_p_key
+ %t108 = call zeroext i1 @sc_streq_232607068610214(ptr %t107)
+ br i1 %t108, label %if.t32, label %if.j33
+if.t32:
+ %t109 = load ptr, ptr %sc_l_p_receiver
+ %t110 = getelementptr inbounds %sc_o__x25_m5_ReqViewCore, ptr %t109, i64 0, i32 16
+ %t111 = load ptr, ptr %t110, !tbaa !160
+ %t112 = call ptr @scr_arr_retain_v(ptr %t111)
+ %t113 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t112, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t113, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t112)
+ ret ptr %t113
+if.j33:
+ %t114 = load ptr, ptr %sc_l_p_key
+ %t115 = call zeroext i1 @sc_streq_3786966061696883(ptr %t114)
+ br i1 %t115, label %if.t34, label %if.j35
+if.t34:
+ %t116 = load ptr, ptr %sc_l_p_receiver
+ %t117 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t116, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t118 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t117)
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t118)
+ ret ptr null
+exc.k37:
+ %t122 = call zeroext i1 @scr_dyn_has_own(ptr %t118, ptr @sc_lit_3786966061696883)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t118)
+ ret ptr null
+exc.k39:
+ call void @sc_rc_release_dyn(ptr %t118)
+ br i1 %t122, label %if.t40, label %if.j41
+if.t40:
+ %t126 = load ptr, ptr %sc_l_p_receiver
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t128)
+ ret ptr null
+exc.k43:
+ %t132 = load ptr, ptr %sc_l_p_receiver
+ %t133 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t132, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t134 = call ptr @scr_dyn_bag_get(ptr %t128, ptr @sc_lit_3786966061696883, ptr %t133)
+ %t135 = load i32, ptr %exc.cell
+ %t136 = icmp ne i32 %t135, 0
+ %t137 = call i1 @llvm.expect.i1(i1 %t136, i1 false)
+ br i1 %t137, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t128)
+ call void @sc_rc_release_dyn(ptr %t133)
+ call void @sc_rc_release_dyn(ptr %t134)
+ ret ptr null
+exc.k45:
+ call void @sc_rc_release_dyn(ptr %t128)
+ call void @sc_rc_release_dyn(ptr %t133)
+ ret ptr %t134
+if.j41:
+ %t138 = load ptr, ptr %sc_l_p_receiver
+ %t139 = call ptr @sc_bf__x25__x25_m5_ReqViewCore_get_x3a_raw(ptr %t138)
+ %t140 = load i32, ptr %exc.cell
+ %t141 = icmp ne i32 %t140, 0
+ %t142 = call i1 @llvm.expect.i1(i1 %t141, i1 false)
+ br i1 %t142, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t139)
+ ret ptr null
+exc.k47:
+ ret ptr %t139
+if.j35:
+ %t143 = load ptr, ptr %sc_l_p_key
+ %t144 = call zeroext i1 @sc_streq_308138762104264(ptr %t143)
+ br i1 %t144, label %if.t48, label %if.j49
+if.t48:
+ %t145 = load ptr, ptr %sc_l_p_receiver
+ %t146 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t145, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t147 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t146)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t147)
+ ret ptr null
+exc.k51:
+ %t151 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t147, ptr @sc_lit_308138762104264)
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t147)
+ ret ptr null
+exc.k53:
+ call void @sc_rc_release_dyn(ptr %t147)
+ br i1 %t151, label %if.t54, label %if.j55
+if.t54:
+ %t155 = load ptr, ptr %sc_l_p_receiver
+ %t156 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t155, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t157 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t156)
+ %t158 = load i32, ptr %exc.cell
+ %t159 = icmp ne i32 %t158, 0
+ %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false)
+ br i1 %t160, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t157)
+ ret ptr null
+exc.k57:
+ %t161 = load ptr, ptr %sc_l_p_receiver
+ %t162 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t161, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t163 = call ptr @scr_dyn_bag_get(ptr %t157, ptr @sc_lit_308138762104264, ptr %t162)
+ %t164 = load i32, ptr %exc.cell
+ %t165 = icmp ne i32 %t164, 0
+ %t166 = call i1 @llvm.expect.i1(i1 %t165, i1 false)
+ br i1 %t166, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t163)
+ ret ptr null
+exc.k59:
+ call void @sc_rc_release_dyn(ptr %t157)
+ call void @sc_rc_release_dyn(ptr %t162)
+ ret ptr %t163
+if.j55:
+ %t168 = call ptr @scr_dyn_undefined()
+ %t167 = call ptr @scr_dyn_retain_v(ptr %t168)
+ ret ptr %t167
+if.j49:
+ %t169 = load ptr, ptr %sc_l_p_key
+ %t170 = call zeroext i1 @sc_streq_2356143898347316(ptr %t169)
+ br i1 %t170, label %if.t60, label %if.j61
+if.t60:
+ %t171 = load ptr, ptr %sc_l_p_receiver
+ %t172 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t171, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t173 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t172)
+ %t174 = load i32, ptr %exc.cell
+ %t175 = icmp ne i32 %t174, 0
+ %t176 = call i1 @llvm.expect.i1(i1 %t175, i1 false)
+ br i1 %t176, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t173)
+ ret ptr null
+exc.k63:
+ %t177 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t173, ptr @sc_lit_2356143898347316)
+ %t178 = load i32, ptr %exc.cell
+ %t179 = icmp ne i32 %t178, 0
+ %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false)
+ br i1 %t180, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t173)
+ ret ptr null
+exc.k65:
+ call void @sc_rc_release_dyn(ptr %t173)
+ br i1 %t177, label %if.t66, label %if.j67
+if.t66:
+ %t181 = load ptr, ptr %sc_l_p_receiver
+ %t182 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t181, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t183 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t182)
+ %t184 = load i32, ptr %exc.cell
+ %t185 = icmp ne i32 %t184, 0
+ %t186 = call i1 @llvm.expect.i1(i1 %t185, i1 false)
+ br i1 %t186, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t183)
+ ret ptr null
+exc.k69:
+ %t187 = load ptr, ptr %sc_l_p_receiver
+ %t188 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t187, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t189 = call ptr @scr_dyn_bag_get(ptr %t183, ptr @sc_lit_2356143898347316, ptr %t188)
+ %t190 = load i32, ptr %exc.cell
+ %t191 = icmp ne i32 %t190, 0
+ %t192 = call i1 @llvm.expect.i1(i1 %t191, i1 false)
+ br i1 %t192, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t183)
+ call void @sc_rc_release_dyn(ptr %t188)
+ call void @sc_rc_release_dyn(ptr %t189)
+ ret ptr null
+exc.k71:
+ call void @sc_rc_release_dyn(ptr %t183)
+ call void @sc_rc_release_dyn(ptr %t188)
+ ret ptr %t189
+if.j67:
+ %t194 = call ptr @scr_dyn_undefined()
+ %t193 = call ptr @scr_dyn_retain_v(ptr %t194)
+ ret ptr %t193
+if.j61:
+ %t195 = load ptr, ptr %sc_l_p_key
+ %t196 = call zeroext i1 @sc_streq_3600534565598564(ptr %t195)
+ br i1 %t196, label %if.t72, label %if.j73
+if.t72:
+ %t197 = load ptr, ptr %sc_l_p_receiver
+ %t198 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t197, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t199 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t198)
+ %t200 = load i32, ptr %exc.cell
+ %t201 = icmp ne i32 %t200, 0
+ %t202 = call i1 @llvm.expect.i1(i1 %t201, i1 false)
+ br i1 %t202, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @sc_rc_release_dyn(ptr %t199)
+ ret ptr null
+exc.k75:
+ %t203 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t199, ptr @sc_lit_3600534565598564)
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t199)
+ ret ptr null
+exc.k77:
+ call void @sc_rc_release_dyn(ptr %t199)
+ br i1 %t203, label %if.t78, label %if.j79
+if.t78:
+ %t207 = load ptr, ptr %sc_l_p_receiver
+ %t208 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t207, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t209 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t208)
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @sc_rc_release_dyn(ptr %t209)
+ ret ptr null
+exc.k81:
+ %t213 = load ptr, ptr %sc_l_p_receiver
+ %t214 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t213, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t215 = call ptr @scr_dyn_bag_get(ptr %t209, ptr @sc_lit_3600534565598564, ptr %t214)
+ %t216 = load i32, ptr %exc.cell
+ %t217 = icmp ne i32 %t216, 0
+ %t218 = call i1 @llvm.expect.i1(i1 %t217, i1 false)
+ br i1 %t218, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t209)
+ call void @sc_rc_release_dyn(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t215)
+ ret ptr null
+exc.k83:
+ call void @sc_rc_release_dyn(ptr %t209)
+ call void @sc_rc_release_dyn(ptr %t214)
+ ret ptr %t215
+if.j79:
+ %t220 = call ptr @scr_dyn_undefined()
+ %t219 = call ptr @scr_dyn_retain_v(ptr %t220)
+ ret ptr %t219
+if.j73:
+ %t221 = load ptr, ptr %sc_l_p_key
+ %t222 = call zeroext i1 @sc_streq_1621825757343351(ptr %t221)
+ br i1 %t222, label %if.t84, label %if.j85
+if.t84:
+ %t223 = load ptr, ptr %sc_l_p_receiver
+ %t224 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t223, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t225 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t224)
+ %t226 = load i32, ptr %exc.cell
+ %t227 = icmp ne i32 %t226, 0
+ %t228 = call i1 @llvm.expect.i1(i1 %t227, i1 false)
+ br i1 %t228, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t225)
+ ret ptr null
+exc.k87:
+ %t229 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t225, ptr @sc_lit_1621825757343351)
+ %t230 = load i32, ptr %exc.cell
+ %t231 = icmp ne i32 %t230, 0
+ %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false)
+ br i1 %t232, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t225)
+ ret ptr null
+exc.k89:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br i1 %t229, label %if.t90, label %if.j91
+if.t90:
+ %t233 = load ptr, ptr %sc_l_p_receiver
+ %t234 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t233, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t235 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t234)
+ %t236 = load i32, ptr %exc.cell
+ %t237 = icmp ne i32 %t236, 0
+ %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false)
+ br i1 %t238, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t235)
+ ret ptr null
+exc.k93:
+ %t239 = load ptr, ptr %sc_l_p_receiver
+ %t240 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t239, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t241 = call ptr @scr_dyn_bag_get(ptr %t235, ptr @sc_lit_1621825757343351, ptr %t240)
+ %t242 = load i32, ptr %exc.cell
+ %t243 = icmp ne i32 %t242, 0
+ %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false)
+ br i1 %t244, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t235)
+ call void @sc_rc_release_dyn(ptr %t240)
+ call void @sc_rc_release_dyn(ptr %t241)
+ ret ptr null
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t235)
+ call void @sc_rc_release_dyn(ptr %t240)
+ ret ptr %t241
+if.j91:
+ %t246 = call ptr @scr_dyn_undefined()
+ %t245 = call ptr @scr_dyn_retain_v(ptr %t246)
+ ret ptr %t245
+if.j85:
+ %t247 = load ptr, ptr %sc_l_p_key
+ %t248 = call zeroext i1 @sc_streq_2827456990858395(ptr %t247)
+ br i1 %t248, label %if.t96, label %if.j97
+if.t96:
+ %t249 = load ptr, ptr %sc_l_p_receiver
+ %t250 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t249, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t251 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t250)
+ %t252 = load i32, ptr %exc.cell
+ %t253 = icmp ne i32 %t252, 0
+ %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false)
+ br i1 %t254, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @sc_rc_release_dyn(ptr %t251)
+ ret ptr null
+exc.k99:
+ %t255 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t251, ptr @sc_lit_2827456990858395)
+ %t256 = load i32, ptr %exc.cell
+ %t257 = icmp ne i32 %t256, 0
+ %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false)
+ br i1 %t258, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t251)
+ ret ptr null
+exc.k101:
+ call void @sc_rc_release_dyn(ptr %t251)
+ br i1 %t255, label %if.t102, label %if.j103
+if.t102:
+ %t259 = load ptr, ptr %sc_l_p_receiver
+ %t260 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t259, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t261 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t260)
+ %t262 = load i32, ptr %exc.cell
+ %t263 = icmp ne i32 %t262, 0
+ %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false)
+ br i1 %t264, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t261)
+ ret ptr null
+exc.k105:
+ %t265 = load ptr, ptr %sc_l_p_receiver
+ %t266 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t265, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t267 = call ptr @scr_dyn_bag_get(ptr %t261, ptr @sc_lit_2827456990858395, ptr %t266)
+ %t268 = load i32, ptr %exc.cell
+ %t269 = icmp ne i32 %t268, 0
+ %t270 = call i1 @llvm.expect.i1(i1 %t269, i1 false)
+ br i1 %t270, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t261)
+ call void @sc_rc_release_dyn(ptr %t266)
+ call void @sc_rc_release_dyn(ptr %t267)
+ ret ptr null
+exc.k107:
+ call void @sc_rc_release_dyn(ptr %t261)
+ call void @sc_rc_release_dyn(ptr %t266)
+ ret ptr %t267
+if.j103:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ ret ptr %t271
+if.j97:
+ %t273 = load ptr, ptr %sc_l_p_key
+ %t274 = call zeroext i1 @sc_streq_2968093406050353(ptr %t273)
+ br i1 %t274, label %if.t108, label %if.j109
+if.t108:
+ %t275 = load ptr, ptr %sc_l_p_receiver
+ %t276 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t275, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t277 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t276)
+ %t278 = load i32, ptr %exc.cell
+ %t279 = icmp ne i32 %t278, 0
+ %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false)
+ br i1 %t280, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @sc_rc_release_dyn(ptr %t277)
+ ret ptr null
+exc.k111:
+ %t281 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t277, ptr @sc_lit_2968093406050353)
+ %t282 = load i32, ptr %exc.cell
+ %t283 = icmp ne i32 %t282, 0
+ %t284 = call i1 @llvm.expect.i1(i1 %t283, i1 false)
+ br i1 %t284, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t277)
+ ret ptr null
+exc.k113:
+ call void @sc_rc_release_dyn(ptr %t277)
+ br i1 %t281, label %if.t114, label %if.j115
+if.t114:
+ %t285 = load ptr, ptr %sc_l_p_receiver
+ %t286 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t285, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t287 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t286)
+ %t288 = load i32, ptr %exc.cell
+ %t289 = icmp ne i32 %t288, 0
+ %t290 = call i1 @llvm.expect.i1(i1 %t289, i1 false)
+ br i1 %t290, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t287)
+ ret ptr null
+exc.k117:
+ %t291 = load ptr, ptr %sc_l_p_receiver
+ %t292 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t291, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t293 = call ptr @scr_dyn_bag_get(ptr %t287, ptr @sc_lit_2968093406050353, ptr %t292)
+ %t294 = load i32, ptr %exc.cell
+ %t295 = icmp ne i32 %t294, 0
+ %t296 = call i1 @llvm.expect.i1(i1 %t295, i1 false)
+ br i1 %t296, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t287)
+ call void @sc_rc_release_dyn(ptr %t292)
+ call void @sc_rc_release_dyn(ptr %t293)
+ ret ptr null
+exc.k119:
+ call void @sc_rc_release_dyn(ptr %t287)
+ call void @sc_rc_release_dyn(ptr %t292)
+ ret ptr %t293
+if.j115:
+ %t298 = call ptr @scr_dyn_undefined()
+ %t297 = call ptr @scr_dyn_retain_v(ptr %t298)
+ ret ptr %t297
+if.j109:
+ %t299 = load ptr, ptr %sc_l_p_key
+ %t300 = call zeroext i1 @sc_streq_3529749794644284(ptr %t299)
+ br i1 %t300, label %if.t120, label %if.j121
+if.t120:
+ %t301 = load ptr, ptr %sc_l_p_receiver
+ %t302 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t301, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t303 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t302)
+ %t304 = load i32, ptr %exc.cell
+ %t305 = icmp ne i32 %t304, 0
+ %t306 = call i1 @llvm.expect.i1(i1 %t305, i1 false)
+ br i1 %t306, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @sc_rc_release_dyn(ptr %t303)
+ ret ptr null
+exc.k123:
+ %t307 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t303, ptr @sc_lit_3529749794644284)
+ %t308 = load i32, ptr %exc.cell
+ %t309 = icmp ne i32 %t308, 0
+ %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false)
+ br i1 %t310, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t303)
+ ret ptr null
+exc.k125:
+ call void @sc_rc_release_dyn(ptr %t303)
+ br i1 %t307, label %if.t126, label %if.j127
+if.t126:
+ %t311 = load ptr, ptr %sc_l_p_receiver
+ %t312 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t311, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t313 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t312)
+ %t314 = load i32, ptr %exc.cell
+ %t315 = icmp ne i32 %t314, 0
+ %t316 = call i1 @llvm.expect.i1(i1 %t315, i1 false)
+ br i1 %t316, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @sc_rc_release_dyn(ptr %t313)
+ ret ptr null
+exc.k129:
+ %t317 = load ptr, ptr %sc_l_p_receiver
+ %t318 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t317, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t319 = call ptr @scr_dyn_bag_get(ptr %t313, ptr @sc_lit_3529749794644284, ptr %t318)
+ %t320 = load i32, ptr %exc.cell
+ %t321 = icmp ne i32 %t320, 0
+ %t322 = call i1 @llvm.expect.i1(i1 %t321, i1 false)
+ br i1 %t322, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_rc_release_dyn(ptr %t318)
+ call void @sc_rc_release_dyn(ptr %t319)
+ ret ptr null
+exc.k131:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_rc_release_dyn(ptr %t318)
+ ret ptr %t319
+if.j127:
+ %t324 = call ptr @scr_dyn_undefined()
+ %t323 = call ptr @scr_dyn_retain_v(ptr %t324)
+ ret ptr %t323
+if.j121:
+ %t325 = load ptr, ptr %sc_l_p_key
+ %t326 = call zeroext i1 @sc_streq_124879919648070(ptr %t325)
+ br i1 %t326, label %if.t132, label %if.j133
+if.t132:
+ %t327 = load ptr, ptr %sc_l_p_receiver
+ %t328 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t327, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t329 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t328)
+ %t330 = load i32, ptr %exc.cell
+ %t331 = icmp ne i32 %t330, 0
+ %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false)
+ br i1 %t332, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t329)
+ ret ptr null
+exc.k135:
+ %t333 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t329, ptr @sc_lit_124879919648070)
+ %t334 = load i32, ptr %exc.cell
+ %t335 = icmp ne i32 %t334, 0
+ %t336 = call i1 @llvm.expect.i1(i1 %t335, i1 false)
+ br i1 %t336, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t329)
+ ret ptr null
+exc.k137:
+ call void @sc_rc_release_dyn(ptr %t329)
+ br i1 %t333, label %if.t138, label %if.j139
+if.t138:
+ %t337 = load ptr, ptr %sc_l_p_receiver
+ %t338 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t337, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t339 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t338)
+ %t340 = load i32, ptr %exc.cell
+ %t341 = icmp ne i32 %t340, 0
+ %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false)
+ br i1 %t342, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t339)
+ ret ptr null
+exc.k141:
+ %t343 = load ptr, ptr %sc_l_p_receiver
+ %t344 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t343, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t345 = call ptr @scr_dyn_bag_get(ptr %t339, ptr @sc_lit_124879919648070, ptr %t344)
+ %t346 = load i32, ptr %exc.cell
+ %t347 = icmp ne i32 %t346, 0
+ %t348 = call i1 @llvm.expect.i1(i1 %t347, i1 false)
+ br i1 %t348, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t339)
+ call void @sc_rc_release_dyn(ptr %t344)
+ call void @sc_rc_release_dyn(ptr %t345)
+ ret ptr null
+exc.k143:
+ call void @sc_rc_release_dyn(ptr %t339)
+ call void @sc_rc_release_dyn(ptr %t344)
+ ret ptr %t345
+if.j139:
+ %t350 = call ptr @scr_dyn_undefined()
+ %t349 = call ptr @scr_dyn_retain_v(ptr %t350)
+ ret ptr %t349
+if.j133:
+ %t351 = load ptr, ptr %sc_l_p_key
+ %t352 = call zeroext i1 @sc_streq_528144782449140(ptr %t351)
+ br i1 %t352, label %if.t144, label %if.j145
+if.t144:
+ %t353 = load ptr, ptr %sc_l_p_receiver
+ %t354 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t353, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t355 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t354)
+ %t356 = load i32, ptr %exc.cell
+ %t357 = icmp ne i32 %t356, 0
+ %t358 = call i1 @llvm.expect.i1(i1 %t357, i1 false)
+ br i1 %t358, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @sc_rc_release_dyn(ptr %t355)
+ ret ptr null
+exc.k147:
+ %t359 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t355, ptr @sc_lit_528144782449140)
+ %t360 = load i32, ptr %exc.cell
+ %t361 = icmp ne i32 %t360, 0
+ %t362 = call i1 @llvm.expect.i1(i1 %t361, i1 false)
+ br i1 %t362, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @sc_rc_release_dyn(ptr %t355)
+ ret ptr null
+exc.k149:
+ call void @sc_rc_release_dyn(ptr %t355)
+ br i1 %t359, label %if.t150, label %if.j151
+if.t150:
+ %t363 = load ptr, ptr %sc_l_p_receiver
+ %t364 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t363, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t365 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t364)
+ %t366 = load i32, ptr %exc.cell
+ %t367 = icmp ne i32 %t366, 0
+ %t368 = call i1 @llvm.expect.i1(i1 %t367, i1 false)
+ br i1 %t368, label %exc.u152, label %exc.k153
+exc.u152:
+ call void @sc_rc_release_dyn(ptr %t365)
+ ret ptr null
+exc.k153:
+ %t369 = load ptr, ptr %sc_l_p_receiver
+ %t370 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t369, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t371 = call ptr @scr_dyn_bag_get(ptr %t365, ptr @sc_lit_528144782449140, ptr %t370)
+ %t372 = load i32, ptr %exc.cell
+ %t373 = icmp ne i32 %t372, 0
+ %t374 = call i1 @llvm.expect.i1(i1 %t373, i1 false)
+ br i1 %t374, label %exc.u154, label %exc.k155
+exc.u154:
+ call void @sc_rc_release_dyn(ptr %t365)
+ call void @sc_rc_release_dyn(ptr %t370)
+ call void @sc_rc_release_dyn(ptr %t371)
+ ret ptr null
+exc.k155:
+ call void @sc_rc_release_dyn(ptr %t365)
+ call void @sc_rc_release_dyn(ptr %t370)
+ ret ptr %t371
+if.j151:
+ %t376 = call ptr @scr_dyn_undefined()
+ %t375 = call ptr @scr_dyn_retain_v(ptr %t376)
+ ret ptr %t375
+if.j145:
+ %t377 = load ptr, ptr %sc_l_p_key
+ %t378 = call zeroext i1 @sc_streq_616655122974952(ptr %t377)
+ br i1 %t378, label %if.t156, label %if.j157
+if.t156:
+ %t379 = load ptr, ptr %sc_l_p_receiver
+ %t380 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t379, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t381 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t380)
+ %t382 = load i32, ptr %exc.cell
+ %t383 = icmp ne i32 %t382, 0
+ %t384 = call i1 @llvm.expect.i1(i1 %t383, i1 false)
+ br i1 %t384, label %exc.u158, label %exc.k159
+exc.u158:
+ call void @sc_rc_release_dyn(ptr %t381)
+ ret ptr null
+exc.k159:
+ %t385 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t381, ptr @sc_lit_616655122974952)
+ %t386 = load i32, ptr %exc.cell
+ %t387 = icmp ne i32 %t386, 0
+ %t388 = call i1 @llvm.expect.i1(i1 %t387, i1 false)
+ br i1 %t388, label %exc.u160, label %exc.k161
+exc.u160:
+ call void @sc_rc_release_dyn(ptr %t381)
+ ret ptr null
+exc.k161:
+ call void @sc_rc_release_dyn(ptr %t381)
+ br i1 %t385, label %if.t162, label %if.j163
+if.t162:
+ %t389 = load ptr, ptr %sc_l_p_receiver
+ %t390 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t389, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t391 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t390)
+ %t392 = load i32, ptr %exc.cell
+ %t393 = icmp ne i32 %t392, 0
+ %t394 = call i1 @llvm.expect.i1(i1 %t393, i1 false)
+ br i1 %t394, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t391)
+ ret ptr null
+exc.k165:
+ %t395 = load ptr, ptr %sc_l_p_receiver
+ %t396 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t395, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t397 = call ptr @scr_dyn_bag_get(ptr %t391, ptr @sc_lit_616655122974952, ptr %t396)
+ %t398 = load i32, ptr %exc.cell
+ %t399 = icmp ne i32 %t398, 0
+ %t400 = call i1 @llvm.expect.i1(i1 %t399, i1 false)
+ br i1 %t400, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t391)
+ call void @sc_rc_release_dyn(ptr %t396)
+ call void @sc_rc_release_dyn(ptr %t397)
+ ret ptr null
+exc.k167:
+ call void @sc_rc_release_dyn(ptr %t391)
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr %t397
+if.j163:
+ %t402 = call ptr @scr_dyn_undefined()
+ %t401 = call ptr @scr_dyn_retain_v(ptr %t402)
+ ret ptr %t401
+if.j157:
+ %t403 = load ptr, ptr %sc_l_p_key
+ %t404 = call zeroext i1 @sc_streq_40786511283622(ptr %t403)
+ br i1 %t404, label %if.t168, label %if.j169
+if.t168:
+ %t405 = load ptr, ptr %sc_l_p_receiver
+ %t406 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t405, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t407 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t406)
+ %t408 = load i32, ptr %exc.cell
+ %t409 = icmp ne i32 %t408, 0
+ %t410 = call i1 @llvm.expect.i1(i1 %t409, i1 false)
+ br i1 %t410, label %exc.u170, label %exc.k171
+exc.u170:
+ call void @sc_rc_release_dyn(ptr %t407)
+ ret ptr null
+exc.k171:
+ %t411 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t407, ptr @sc_lit_40786511283622)
+ %t412 = load i32, ptr %exc.cell
+ %t413 = icmp ne i32 %t412, 0
+ %t414 = call i1 @llvm.expect.i1(i1 %t413, i1 false)
+ br i1 %t414, label %exc.u172, label %exc.k173
+exc.u172:
+ call void @sc_rc_release_dyn(ptr %t407)
+ ret ptr null
+exc.k173:
+ call void @sc_rc_release_dyn(ptr %t407)
+ br i1 %t411, label %if.t174, label %if.j175
+if.t174:
+ %t415 = load ptr, ptr %sc_l_p_receiver
+ %t416 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t415, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t417 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t416)
+ %t418 = load i32, ptr %exc.cell
+ %t419 = icmp ne i32 %t418, 0
+ %t420 = call i1 @llvm.expect.i1(i1 %t419, i1 false)
+ br i1 %t420, label %exc.u176, label %exc.k177
+exc.u176:
+ call void @sc_rc_release_dyn(ptr %t417)
+ ret ptr null
+exc.k177:
+ %t421 = load ptr, ptr %sc_l_p_receiver
+ %t422 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t421, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t423 = call ptr @scr_dyn_bag_get(ptr %t417, ptr @sc_lit_40786511283622, ptr %t422)
+ %t424 = load i32, ptr %exc.cell
+ %t425 = icmp ne i32 %t424, 0
+ %t426 = call i1 @llvm.expect.i1(i1 %t425, i1 false)
+ br i1 %t426, label %exc.u178, label %exc.k179
+exc.u178:
+ call void @sc_rc_release_dyn(ptr %t417)
+ call void @sc_rc_release_dyn(ptr %t422)
+ call void @sc_rc_release_dyn(ptr %t423)
+ ret ptr null
+exc.k179:
+ call void @sc_rc_release_dyn(ptr %t417)
+ call void @sc_rc_release_dyn(ptr %t422)
+ ret ptr %t423
+if.j175:
+ %t428 = call ptr @scr_dyn_undefined()
+ %t427 = call ptr @scr_dyn_retain_v(ptr %t428)
+ ret ptr %t427
+if.j169:
+ %t429 = load ptr, ptr %sc_l_p_key
+ %t430 = call zeroext i1 @sc_streq_1048673592241930(ptr %t429)
+ br i1 %t430, label %if.t180, label %if.j181
+if.t180:
+ %t431 = load ptr, ptr %sc_l_p_receiver
+ %t432 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t431, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t433 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t432)
+ %t434 = load i32, ptr %exc.cell
+ %t435 = icmp ne i32 %t434, 0
+ %t436 = call i1 @llvm.expect.i1(i1 %t435, i1 false)
+ br i1 %t436, label %exc.u182, label %exc.k183
+exc.u182:
+ call void @sc_rc_release_dyn(ptr %t433)
+ ret ptr null
+exc.k183:
+ %t437 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t433, ptr @sc_lit_1048673592241930)
+ %t438 = load i32, ptr %exc.cell
+ %t439 = icmp ne i32 %t438, 0
+ %t440 = call i1 @llvm.expect.i1(i1 %t439, i1 false)
+ br i1 %t440, label %exc.u184, label %exc.k185
+exc.u184:
+ call void @sc_rc_release_dyn(ptr %t433)
+ ret ptr null
+exc.k185:
+ call void @sc_rc_release_dyn(ptr %t433)
+ br i1 %t437, label %if.t186, label %if.j187
+if.t186:
+ %t441 = load ptr, ptr %sc_l_p_receiver
+ %t442 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t441, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t443 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t442)
+ %t444 = load i32, ptr %exc.cell
+ %t445 = icmp ne i32 %t444, 0
+ %t446 = call i1 @llvm.expect.i1(i1 %t445, i1 false)
+ br i1 %t446, label %exc.u188, label %exc.k189
+exc.u188:
+ call void @sc_rc_release_dyn(ptr %t443)
+ ret ptr null
+exc.k189:
+ %t447 = load ptr, ptr %sc_l_p_receiver
+ %t448 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t447, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t449 = call ptr @scr_dyn_bag_get(ptr %t443, ptr @sc_lit_1048673592241930, ptr %t448)
+ %t450 = load i32, ptr %exc.cell
+ %t451 = icmp ne i32 %t450, 0
+ %t452 = call i1 @llvm.expect.i1(i1 %t451, i1 false)
+ br i1 %t452, label %exc.u190, label %exc.k191
+exc.u190:
+ call void @sc_rc_release_dyn(ptr %t443)
+ call void @sc_rc_release_dyn(ptr %t448)
+ call void @sc_rc_release_dyn(ptr %t449)
+ ret ptr null
+exc.k191:
+ call void @sc_rc_release_dyn(ptr %t443)
+ call void @sc_rc_release_dyn(ptr %t448)
+ ret ptr %t449
+if.j187:
+ %t454 = call ptr @scr_dyn_undefined()
+ %t453 = call ptr @scr_dyn_retain_v(ptr %t454)
+ ret ptr %t453
+if.j181:
+ %t455 = load ptr, ptr %sc_l_p_key
+ %t456 = call zeroext i1 @sc_streq_1081761464356753(ptr %t455)
+ br i1 %t456, label %if.t192, label %if.j193
+if.t192:
+ %t457 = load ptr, ptr %sc_l_p_receiver
+ %t458 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t457, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t459 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t458)
+ %t460 = load i32, ptr %exc.cell
+ %t461 = icmp ne i32 %t460, 0
+ %t462 = call i1 @llvm.expect.i1(i1 %t461, i1 false)
+ br i1 %t462, label %exc.u194, label %exc.k195
+exc.u194:
+ call void @sc_rc_release_dyn(ptr %t459)
+ ret ptr null
+exc.k195:
+ %t463 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t459, ptr @sc_lit_1081761464356753)
+ %t464 = load i32, ptr %exc.cell
+ %t465 = icmp ne i32 %t464, 0
+ %t466 = call i1 @llvm.expect.i1(i1 %t465, i1 false)
+ br i1 %t466, label %exc.u196, label %exc.k197
+exc.u196:
+ call void @sc_rc_release_dyn(ptr %t459)
+ ret ptr null
+exc.k197:
+ call void @sc_rc_release_dyn(ptr %t459)
+ br i1 %t463, label %if.t198, label %if.j199
+if.t198:
+ %t467 = load ptr, ptr %sc_l_p_receiver
+ %t468 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t467, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t469 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t468)
+ %t470 = load i32, ptr %exc.cell
+ %t471 = icmp ne i32 %t470, 0
+ %t472 = call i1 @llvm.expect.i1(i1 %t471, i1 false)
+ br i1 %t472, label %exc.u200, label %exc.k201
+exc.u200:
+ call void @sc_rc_release_dyn(ptr %t469)
+ ret ptr null
+exc.k201:
+ %t473 = load ptr, ptr %sc_l_p_receiver
+ %t474 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t473, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t475 = call ptr @scr_dyn_bag_get(ptr %t469, ptr @sc_lit_1081761464356753, ptr %t474)
+ %t476 = load i32, ptr %exc.cell
+ %t477 = icmp ne i32 %t476, 0
+ %t478 = call i1 @llvm.expect.i1(i1 %t477, i1 false)
+ br i1 %t478, label %exc.u202, label %exc.k203
+exc.u202:
+ call void @sc_rc_release_dyn(ptr %t469)
+ call void @sc_rc_release_dyn(ptr %t474)
+ call void @sc_rc_release_dyn(ptr %t475)
+ ret ptr null
+exc.k203:
+ call void @sc_rc_release_dyn(ptr %t469)
+ call void @sc_rc_release_dyn(ptr %t474)
+ ret ptr %t475
+if.j199:
+ %t480 = call ptr @scr_dyn_undefined()
+ %t479 = call ptr @scr_dyn_retain_v(ptr %t480)
+ ret ptr %t479
+if.j193:
+ %t481 = load ptr, ptr %sc_l_p_key
+ %t482 = call zeroext i1 @sc_streq_3392166625234189(ptr %t481)
+ br i1 %t482, label %if.t204, label %if.j205
+if.t204:
+ %t483 = load ptr, ptr %sc_l_p_receiver
+ %t484 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t483, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t485 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t484)
+ %t486 = load i32, ptr %exc.cell
+ %t487 = icmp ne i32 %t486, 0
+ %t488 = call i1 @llvm.expect.i1(i1 %t487, i1 false)
+ br i1 %t488, label %exc.u206, label %exc.k207
+exc.u206:
+ call void @sc_rc_release_dyn(ptr %t485)
+ ret ptr null
+exc.k207:
+ %t489 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t485, ptr @sc_lit_3392166625234189)
+ %t490 = load i32, ptr %exc.cell
+ %t491 = icmp ne i32 %t490, 0
+ %t492 = call i1 @llvm.expect.i1(i1 %t491, i1 false)
+ br i1 %t492, label %exc.u208, label %exc.k209
+exc.u208:
+ call void @sc_rc_release_dyn(ptr %t485)
+ ret ptr null
+exc.k209:
+ call void @sc_rc_release_dyn(ptr %t485)
+ br i1 %t489, label %if.t210, label %if.j211
+if.t210:
+ %t493 = load ptr, ptr %sc_l_p_receiver
+ %t494 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t493, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t495 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t494)
+ %t496 = load i32, ptr %exc.cell
+ %t497 = icmp ne i32 %t496, 0
+ %t498 = call i1 @llvm.expect.i1(i1 %t497, i1 false)
+ br i1 %t498, label %exc.u212, label %exc.k213
+exc.u212:
+ call void @sc_rc_release_dyn(ptr %t495)
+ ret ptr null
+exc.k213:
+ %t499 = load ptr, ptr %sc_l_p_receiver
+ %t500 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t499, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t501 = call ptr @scr_dyn_bag_get(ptr %t495, ptr @sc_lit_3392166625234189, ptr %t500)
+ %t502 = load i32, ptr %exc.cell
+ %t503 = icmp ne i32 %t502, 0
+ %t504 = call i1 @llvm.expect.i1(i1 %t503, i1 false)
+ br i1 %t504, label %exc.u214, label %exc.k215
+exc.u214:
+ call void @sc_rc_release_dyn(ptr %t495)
+ call void @sc_rc_release_dyn(ptr %t500)
+ call void @sc_rc_release_dyn(ptr %t501)
+ ret ptr null
+exc.k215:
+ call void @sc_rc_release_dyn(ptr %t495)
+ call void @sc_rc_release_dyn(ptr %t500)
+ ret ptr %t501
+if.j211:
+ %t506 = call ptr @scr_dyn_undefined()
+ %t505 = call ptr @scr_dyn_retain_v(ptr %t506)
+ ret ptr %t505
+if.j205:
+ %t507 = load ptr, ptr %sc_l_p_key
+ %t508 = call zeroext i1 @sc_streq_3375901898269401(ptr %t507)
+ br i1 %t508, label %if.t216, label %if.j217
+if.t216:
+ %t509 = load ptr, ptr %sc_l_p_receiver
+ %t510 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t509, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t511 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t510)
+ %t512 = load i32, ptr %exc.cell
+ %t513 = icmp ne i32 %t512, 0
+ %t514 = call i1 @llvm.expect.i1(i1 %t513, i1 false)
+ br i1 %t514, label %exc.u218, label %exc.k219
+exc.u218:
+ call void @sc_rc_release_dyn(ptr %t511)
+ ret ptr null
+exc.k219:
+ %t515 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t511, ptr @sc_lit_3375901898269401)
+ %t516 = load i32, ptr %exc.cell
+ %t517 = icmp ne i32 %t516, 0
+ %t518 = call i1 @llvm.expect.i1(i1 %t517, i1 false)
+ br i1 %t518, label %exc.u220, label %exc.k221
+exc.u220:
+ call void @sc_rc_release_dyn(ptr %t511)
+ ret ptr null
+exc.k221:
+ call void @sc_rc_release_dyn(ptr %t511)
+ br i1 %t515, label %if.t222, label %if.j223
+if.t222:
+ %t519 = load ptr, ptr %sc_l_p_receiver
+ %t520 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t519, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t521 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t520)
+ %t522 = load i32, ptr %exc.cell
+ %t523 = icmp ne i32 %t522, 0
+ %t524 = call i1 @llvm.expect.i1(i1 %t523, i1 false)
+ br i1 %t524, label %exc.u224, label %exc.k225
+exc.u224:
+ call void @sc_rc_release_dyn(ptr %t521)
+ ret ptr null
+exc.k225:
+ %t525 = load ptr, ptr %sc_l_p_receiver
+ %t526 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t525, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t527 = call ptr @scr_dyn_bag_get(ptr %t521, ptr @sc_lit_3375901898269401, ptr %t526)
+ %t528 = load i32, ptr %exc.cell
+ %t529 = icmp ne i32 %t528, 0
+ %t530 = call i1 @llvm.expect.i1(i1 %t529, i1 false)
+ br i1 %t530, label %exc.u226, label %exc.k227
+exc.u226:
+ call void @sc_rc_release_dyn(ptr %t521)
+ call void @sc_rc_release_dyn(ptr %t526)
+ call void @sc_rc_release_dyn(ptr %t527)
+ ret ptr null
+exc.k227:
+ call void @sc_rc_release_dyn(ptr %t521)
+ call void @sc_rc_release_dyn(ptr %t526)
+ ret ptr %t527
+if.j223:
+ %t532 = call ptr @scr_dyn_undefined()
+ %t531 = call ptr @scr_dyn_retain_v(ptr %t532)
+ ret ptr %t531
+if.j217:
+ %t533 = load ptr, ptr %sc_l_p_key
+ %t534 = call zeroext i1 @sc_streq_3532714511332900(ptr %t533)
+ br i1 %t534, label %if.t228, label %if.j229
+if.t228:
+ %t535 = load ptr, ptr %sc_l_p_receiver
+ %t536 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t535, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t537 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t536)
+ %t538 = load i32, ptr %exc.cell
+ %t539 = icmp ne i32 %t538, 0
+ %t540 = call i1 @llvm.expect.i1(i1 %t539, i1 false)
+ br i1 %t540, label %exc.u230, label %exc.k231
+exc.u230:
+ call void @sc_rc_release_dyn(ptr %t537)
+ ret ptr null
+exc.k231:
+ %t541 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t537, ptr @sc_lit_3532714511332900)
+ %t542 = load i32, ptr %exc.cell
+ %t543 = icmp ne i32 %t542, 0
+ %t544 = call i1 @llvm.expect.i1(i1 %t543, i1 false)
+ br i1 %t544, label %exc.u232, label %exc.k233
+exc.u232:
+ call void @sc_rc_release_dyn(ptr %t537)
+ ret ptr null
+exc.k233:
+ call void @sc_rc_release_dyn(ptr %t537)
+ br i1 %t541, label %if.t234, label %if.j235
+if.t234:
+ %t545 = load ptr, ptr %sc_l_p_receiver
+ %t546 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t545, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t547 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t546)
+ %t548 = load i32, ptr %exc.cell
+ %t549 = icmp ne i32 %t548, 0
+ %t550 = call i1 @llvm.expect.i1(i1 %t549, i1 false)
+ br i1 %t550, label %exc.u236, label %exc.k237
+exc.u236:
+ call void @sc_rc_release_dyn(ptr %t547)
+ ret ptr null
+exc.k237:
+ %t551 = load ptr, ptr %sc_l_p_receiver
+ %t552 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t551, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t553 = call ptr @scr_dyn_bag_get(ptr %t547, ptr @sc_lit_3532714511332900, ptr %t552)
+ %t554 = load i32, ptr %exc.cell
+ %t555 = icmp ne i32 %t554, 0
+ %t556 = call i1 @llvm.expect.i1(i1 %t555, i1 false)
+ br i1 %t556, label %exc.u238, label %exc.k239
+exc.u238:
+ call void @sc_rc_release_dyn(ptr %t547)
+ call void @sc_rc_release_dyn(ptr %t552)
+ call void @sc_rc_release_dyn(ptr %t553)
+ ret ptr null
+exc.k239:
+ call void @sc_rc_release_dyn(ptr %t547)
+ call void @sc_rc_release_dyn(ptr %t552)
+ ret ptr %t553
+if.j235:
+ %t558 = call ptr @scr_dyn_undefined()
+ %t557 = call ptr @scr_dyn_retain_v(ptr %t558)
+ ret ptr %t557
+if.j229:
+ %t559 = load ptr, ptr %sc_l_p_key
+ %t560 = call zeroext i1 @sc_streq_3624217920823549(ptr %t559)
+ br i1 %t560, label %if.t240, label %if.j241
+if.t240:
+ %t561 = load ptr, ptr %sc_l_p_receiver
+ %t562 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t561, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t563 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t562)
+ %t564 = load i32, ptr %exc.cell
+ %t565 = icmp ne i32 %t564, 0
+ %t566 = call i1 @llvm.expect.i1(i1 %t565, i1 false)
+ br i1 %t566, label %exc.u242, label %exc.k243
+exc.u242:
+ call void @sc_rc_release_dyn(ptr %t563)
+ ret ptr null
+exc.k243:
+ %t567 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t563, ptr @sc_lit_3624217920823549)
+ %t568 = load i32, ptr %exc.cell
+ %t569 = icmp ne i32 %t568, 0
+ %t570 = call i1 @llvm.expect.i1(i1 %t569, i1 false)
+ br i1 %t570, label %exc.u244, label %exc.k245
+exc.u244:
+ call void @sc_rc_release_dyn(ptr %t563)
+ ret ptr null
+exc.k245:
+ call void @sc_rc_release_dyn(ptr %t563)
+ br i1 %t567, label %if.t246, label %if.j247
+if.t246:
+ %t571 = load ptr, ptr %sc_l_p_receiver
+ %t572 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t571, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t573 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t572)
+ %t574 = load i32, ptr %exc.cell
+ %t575 = icmp ne i32 %t574, 0
+ %t576 = call i1 @llvm.expect.i1(i1 %t575, i1 false)
+ br i1 %t576, label %exc.u248, label %exc.k249
+exc.u248:
+ call void @sc_rc_release_dyn(ptr %t573)
+ ret ptr null
+exc.k249:
+ %t577 = load ptr, ptr %sc_l_p_receiver
+ %t578 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t577, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t579 = call ptr @scr_dyn_bag_get(ptr %t573, ptr @sc_lit_3624217920823549, ptr %t578)
+ %t580 = load i32, ptr %exc.cell
+ %t581 = icmp ne i32 %t580, 0
+ %t582 = call i1 @llvm.expect.i1(i1 %t581, i1 false)
+ br i1 %t582, label %exc.u250, label %exc.k251
+exc.u250:
+ call void @sc_rc_release_dyn(ptr %t573)
+ call void @sc_rc_release_dyn(ptr %t578)
+ call void @sc_rc_release_dyn(ptr %t579)
+ ret ptr null
+exc.k251:
+ call void @sc_rc_release_dyn(ptr %t573)
+ call void @sc_rc_release_dyn(ptr %t578)
+ ret ptr %t579
+if.j247:
+ %t584 = call ptr @scr_dyn_undefined()
+ %t583 = call ptr @scr_dyn_retain_v(ptr %t584)
+ ret ptr %t583
+if.j241:
+ %t585 = load ptr, ptr %sc_l_p_0
+ %t586 = call ptr @sc_rc_retain_dyn(ptr %t585)
+ %t587 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t586)
+ %t588 = load i32, ptr %exc.cell
+ %t589 = icmp ne i32 %t588, 0
+ %t590 = call i1 @llvm.expect.i1(i1 %t589, i1 false)
+ br i1 %t590, label %exc.u252, label %exc.k253
+exc.u252:
+ call void @sc_rc_release_dyn(ptr %t587)
+ ret ptr null
+exc.k253:
+ %t591 = load ptr, ptr %sc_l_p_key
+ %t592 = call ptr @sc_rc_retain_str(ptr %t591)
+ %t593 = load ptr, ptr %sc_l_p_receiver
+ %t594 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t593, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t595 = call ptr @scr_dyn_bag_get(ptr %t587, ptr %t592, ptr %t594)
+ %t596 = load i32, ptr %exc.cell
+ %t597 = icmp ne i32 %t596, 0
+ %t598 = call i1 @llvm.expect.i1(i1 %t597, i1 false)
+ br i1 %t598, label %exc.u254, label %exc.k255
+exc.u254:
+ call void @sc_rc_release_dyn(ptr %t587)
+ call void @scr_str_release(ptr %t592)
+ call void @sc_rc_release_dyn(ptr %t594)
+ call void @sc_rc_release_dyn(ptr %t595)
+ ret ptr null
+exc.k255:
+ call void @sc_rc_release_dyn(ptr %t587)
+ call void @scr_str_release(ptr %t592)
+ call void @sc_rc_release_dyn(ptr %t594)
+ ret ptr %t595
+}
+define internal ptr @sc_f__x25_dyn_class_keys_494(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_494(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_495(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.495
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_3752021314181142(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k5:
+ %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_3752021314181142)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ br i1 %t12, label %if.t8, label %if.j9
+if.t8:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret ptr null
+exc.k11:
+ %t22 = load ptr, ptr %sc_l_p_receiver
+ %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_3752021314181142, ptr %t23)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ ret ptr %t24
+if.j9:
+ %t29 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t29)
+ ret ptr %t28
+if.j3:
+ %t30 = load ptr, ptr %sc_l_p_key
+ %t31 = call zeroext i1 @sc_streq_2364278031517622(ptr %t30)
+ br i1 %t31, label %if.t14, label %if.j15
+if.t14:
+ %t32 = load ptr, ptr %sc_l_p_receiver
+ %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t34 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t33)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret ptr null
+exc.k17:
+ %t38 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t34, ptr @sc_lit_2364278031517622)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t34)
+ br i1 %t38, label %if.t20, label %if.j21
+if.t20:
+ %t42 = load ptr, ptr %sc_l_p_receiver
+ %t43 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t42, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t44 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t43)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr null
+exc.k23:
+ %t48 = load ptr, ptr %sc_l_p_receiver
+ %t49 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t48, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t50 = call ptr @scr_dyn_bag_get(ptr %t44, ptr @sc_lit_2364278031517622, ptr %t49)
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t44)
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret ptr null
+exc.k25:
+ call void @sc_rc_release_dyn(ptr %t44)
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr %t50
+if.j21:
+ %t55 = call ptr @scr_dyn_undefined()
+ %t54 = call ptr @scr_dyn_retain_v(ptr %t55)
+ ret ptr %t54
+if.j15:
+ %t56 = load ptr, ptr %sc_l_p_key
+ %t57 = call zeroext i1 @sc_streq_470306239805907(ptr %t56)
+ br i1 %t57, label %if.t26, label %if.j27
+if.t26:
+ %t58 = load ptr, ptr %sc_l_p_receiver
+ %t59 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t58, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t60 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t59)
+ %t61 = load i32, ptr %exc.cell
+ %t62 = icmp ne i32 %t61, 0
+ %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false)
+ br i1 %t63, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t60)
+ ret ptr null
+exc.k29:
+ %t64 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t60, ptr @sc_lit_470306239805907)
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t60)
+ ret ptr null
+exc.k31:
+ call void @sc_rc_release_dyn(ptr %t60)
+ br i1 %t64, label %if.t32, label %if.j33
+if.t32:
+ %t68 = load ptr, ptr %sc_l_p_receiver
+ %t69 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t68, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t70 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t69)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t70)
+ ret ptr null
+exc.k35:
+ %t74 = load ptr, ptr %sc_l_p_receiver
+ %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t76 = call ptr @scr_dyn_bag_get(ptr %t70, ptr @sc_lit_470306239805907, ptr %t75)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret ptr null
+exc.k37:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret ptr %t76
+if.j33:
+ %t81 = call ptr @scr_dyn_undefined()
+ %t80 = call ptr @scr_dyn_retain_v(ptr %t81)
+ ret ptr %t80
+if.j27:
+ %t82 = load ptr, ptr %sc_l_p_key
+ %t83 = call zeroext i1 @sc_streq_4133069531575059(ptr %t82)
+ br i1 %t83, label %if.t38, label %if.j39
+if.t38:
+ %t84 = load ptr, ptr %sc_l_p_receiver
+ %t85 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t84, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t86 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t85)
+ %t87 = load i32, ptr %exc.cell
+ %t88 = icmp ne i32 %t87, 0
+ %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false)
+ br i1 %t89, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t86)
+ ret ptr null
+exc.k41:
+ %t90 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t86, ptr @sc_lit_4133069531575059)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t86)
+ ret ptr null
+exc.k43:
+ call void @sc_rc_release_dyn(ptr %t86)
+ br i1 %t90, label %if.t44, label %if.j45
+if.t44:
+ %t94 = load ptr, ptr %sc_l_p_receiver
+ %t95 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t94, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t96 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t95)
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t96)
+ ret ptr null
+exc.k47:
+ %t100 = load ptr, ptr %sc_l_p_receiver
+ %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t102 = call ptr @scr_dyn_bag_get(ptr %t96, ptr @sc_lit_4133069531575059, ptr %t101)
+ %t103 = load i32, ptr %exc.cell
+ %t104 = icmp ne i32 %t103, 0
+ %t105 = call i1 @llvm.expect.i1(i1 %t104, i1 false)
+ br i1 %t105, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ ret ptr null
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t101)
+ ret ptr %t102
+if.j45:
+ %t107 = call ptr @scr_dyn_undefined()
+ %t106 = call ptr @scr_dyn_retain_v(ptr %t107)
+ ret ptr %t106
+if.j39:
+ %t108 = load ptr, ptr %sc_l_p_key
+ %t109 = call zeroext i1 @sc_streq_2253648670486996(ptr %t108)
+ br i1 %t109, label %if.t50, label %if.j51
+if.t50:
+ %t110 = load ptr, ptr %sc_l_p_receiver
+ %t111 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t110, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t112 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t111)
+ %t113 = load i32, ptr %exc.cell
+ %t114 = icmp ne i32 %t113, 0
+ %t115 = call i1 @llvm.expect.i1(i1 %t114, i1 false)
+ br i1 %t115, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t112)
+ ret ptr null
+exc.k53:
+ %t116 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t112, ptr @sc_lit_2253648670486996)
+ %t117 = load i32, ptr %exc.cell
+ %t118 = icmp ne i32 %t117, 0
+ %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false)
+ br i1 %t119, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t112)
+ ret ptr null
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t112)
+ br i1 %t116, label %if.t56, label %if.j57
+if.t56:
+ %t120 = load ptr, ptr %sc_l_p_receiver
+ %t121 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t120, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t122 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t121)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t122)
+ ret ptr null
+exc.k59:
+ %t126 = load ptr, ptr %sc_l_p_receiver
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t128 = call ptr @scr_dyn_bag_get(ptr %t122, ptr @sc_lit_2253648670486996, ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t128)
+ ret ptr null
+exc.k61:
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t127)
+ ret ptr %t128
+if.j57:
+ %t133 = call ptr @scr_dyn_undefined()
+ %t132 = call ptr @scr_dyn_retain_v(ptr %t133)
+ ret ptr %t132
+if.j51:
+ %t134 = load ptr, ptr %sc_l_p_key
+ %t135 = call zeroext i1 @sc_streq_161925136240866(ptr %t134)
+ br i1 %t135, label %if.t62, label %if.j63
+if.t62:
+ %t136 = load ptr, ptr %sc_l_p_receiver
+ %t137 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t136, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t138 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t137)
+ %t139 = load i32, ptr %exc.cell
+ %t140 = icmp ne i32 %t139, 0
+ %t141 = call i1 @llvm.expect.i1(i1 %t140, i1 false)
+ br i1 %t141, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t138)
+ ret ptr null
+exc.k65:
+ %t142 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t138, ptr @sc_lit_161925136240866)
+ %t143 = load i32, ptr %exc.cell
+ %t144 = icmp ne i32 %t143, 0
+ %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false)
+ br i1 %t145, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t138)
+ ret ptr null
+exc.k67:
+ call void @sc_rc_release_dyn(ptr %t138)
+ br i1 %t142, label %if.t68, label %if.j69
+if.t68:
+ %t146 = load ptr, ptr %sc_l_p_receiver
+ %t147 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t146, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t148 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t147)
+ %t149 = load i32, ptr %exc.cell
+ %t150 = icmp ne i32 %t149, 0
+ %t151 = call i1 @llvm.expect.i1(i1 %t150, i1 false)
+ br i1 %t151, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t148)
+ ret ptr null
+exc.k71:
+ %t152 = load ptr, ptr %sc_l_p_receiver
+ %t153 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t152, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t154 = call ptr @scr_dyn_bag_get(ptr %t148, ptr @sc_lit_161925136240866, ptr %t153)
+ %t155 = load i32, ptr %exc.cell
+ %t156 = icmp ne i32 %t155, 0
+ %t157 = call i1 @llvm.expect.i1(i1 %t156, i1 false)
+ br i1 %t157, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t148)
+ call void @sc_rc_release_dyn(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t154)
+ ret ptr null
+exc.k73:
+ call void @sc_rc_release_dyn(ptr %t148)
+ call void @sc_rc_release_dyn(ptr %t153)
+ ret ptr %t154
+if.j69:
+ %t159 = call ptr @scr_dyn_undefined()
+ %t158 = call ptr @scr_dyn_retain_v(ptr %t159)
+ ret ptr %t158
+if.j63:
+ %t160 = load ptr, ptr %sc_l_p_key
+ %t161 = call zeroext i1 @sc_streq_298897322184109(ptr %t160)
+ br i1 %t161, label %if.t74, label %if.j75
+if.t74:
+ %t162 = load ptr, ptr %sc_l_p_receiver
+ %t163 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t162, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t164 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t163)
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t164)
+ ret ptr null
+exc.k77:
+ %t168 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t164, ptr @sc_lit_298897322184109)
+ %t169 = load i32, ptr %exc.cell
+ %t170 = icmp ne i32 %t169, 0
+ %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false)
+ br i1 %t171, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t164)
+ ret ptr null
+exc.k79:
+ call void @sc_rc_release_dyn(ptr %t164)
+ br i1 %t168, label %if.t80, label %if.j81
+if.t80:
+ %t172 = load ptr, ptr %sc_l_p_receiver
+ %t173 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t172, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t174 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t173)
+ %t175 = load i32, ptr %exc.cell
+ %t176 = icmp ne i32 %t175, 0
+ %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false)
+ br i1 %t177, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t174)
+ ret ptr null
+exc.k83:
+ %t178 = load ptr, ptr %sc_l_p_receiver
+ %t179 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t178, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t180 = call ptr @scr_dyn_bag_get(ptr %t174, ptr @sc_lit_298897322184109, ptr %t179)
+ %t181 = load i32, ptr %exc.cell
+ %t182 = icmp ne i32 %t181, 0
+ %t183 = call i1 @llvm.expect.i1(i1 %t182, i1 false)
+ br i1 %t183, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t174)
+ call void @sc_rc_release_dyn(ptr %t179)
+ call void @sc_rc_release_dyn(ptr %t180)
+ ret ptr null
+exc.k85:
+ call void @sc_rc_release_dyn(ptr %t174)
+ call void @sc_rc_release_dyn(ptr %t179)
+ ret ptr %t180
+if.j81:
+ %t185 = call ptr @scr_dyn_undefined()
+ %t184 = call ptr @scr_dyn_retain_v(ptr %t185)
+ ret ptr %t184
+if.j75:
+ %t186 = load ptr, ptr %sc_l_p_key
+ %t187 = call zeroext i1 @sc_streq_4085448292571548(ptr %t186)
+ br i1 %t187, label %if.t86, label %if.j87
+if.t86:
+ %t188 = load ptr, ptr %sc_l_p_receiver
+ %t189 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t188, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t190 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t189)
+ %t191 = load i32, ptr %exc.cell
+ %t192 = icmp ne i32 %t191, 0
+ %t193 = call i1 @llvm.expect.i1(i1 %t192, i1 false)
+ br i1 %t193, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t190)
+ ret ptr null
+exc.k89:
+ %t194 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t190, ptr @sc_lit_4085448292571548)
+ %t195 = load i32, ptr %exc.cell
+ %t196 = icmp ne i32 %t195, 0
+ %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false)
+ br i1 %t197, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t190)
+ ret ptr null
+exc.k91:
+ call void @sc_rc_release_dyn(ptr %t190)
+ br i1 %t194, label %if.t92, label %if.j93
+if.t92:
+ %t198 = load ptr, ptr %sc_l_p_receiver
+ %t199 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t198, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t200 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t199)
+ %t201 = load i32, ptr %exc.cell
+ %t202 = icmp ne i32 %t201, 0
+ %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false)
+ br i1 %t203, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t200)
+ ret ptr null
+exc.k95:
+ %t204 = load ptr, ptr %sc_l_p_receiver
+ %t205 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t204, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t206 = call ptr @scr_dyn_bag_get(ptr %t200, ptr @sc_lit_4085448292571548, ptr %t205)
+ %t207 = load i32, ptr %exc.cell
+ %t208 = icmp ne i32 %t207, 0
+ %t209 = call i1 @llvm.expect.i1(i1 %t208, i1 false)
+ br i1 %t209, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t200)
+ call void @sc_rc_release_dyn(ptr %t205)
+ call void @sc_rc_release_dyn(ptr %t206)
+ ret ptr null
+exc.k97:
+ call void @sc_rc_release_dyn(ptr %t200)
+ call void @sc_rc_release_dyn(ptr %t205)
+ ret ptr %t206
+if.j93:
+ %t211 = call ptr @scr_dyn_undefined()
+ %t210 = call ptr @scr_dyn_retain_v(ptr %t211)
+ ret ptr %t210
+if.j87:
+ %t212 = load ptr, ptr %sc_l_p_key
+ %t213 = call zeroext i1 @sc_streq_3561861343106386(ptr %t212)
+ br i1 %t213, label %if.t98, label %if.j99
+if.t98:
+ %t214 = load ptr, ptr %sc_l_p_receiver
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t216)
+ ret ptr null
+exc.k101:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_3561861343106386)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t216)
+ ret ptr null
+exc.k103:
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t104, label %if.j105
+if.t104:
+ %t224 = load ptr, ptr %sc_l_p_receiver
+ %t225 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t224, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t226 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t225)
+ %t227 = load i32, ptr %exc.cell
+ %t228 = icmp ne i32 %t227, 0
+ %t229 = call i1 @llvm.expect.i1(i1 %t228, i1 false)
+ br i1 %t229, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t226)
+ ret ptr null
+exc.k107:
+ %t230 = load ptr, ptr %sc_l_p_receiver
+ %t231 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t230, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t232 = call ptr @scr_dyn_bag_get(ptr %t226, ptr @sc_lit_3561861343106386, ptr %t231)
+ %t233 = load i32, ptr %exc.cell
+ %t234 = icmp ne i32 %t233, 0
+ %t235 = call i1 @llvm.expect.i1(i1 %t234, i1 false)
+ br i1 %t235, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t226)
+ call void @sc_rc_release_dyn(ptr %t231)
+ call void @sc_rc_release_dyn(ptr %t232)
+ ret ptr null
+exc.k109:
+ call void @sc_rc_release_dyn(ptr %t226)
+ call void @sc_rc_release_dyn(ptr %t231)
+ ret ptr %t232
+if.j105:
+ %t237 = call ptr @scr_dyn_undefined()
+ %t236 = call ptr @scr_dyn_retain_v(ptr %t237)
+ ret ptr %t236
+if.j99:
+ %t238 = load ptr, ptr %sc_l_p_key
+ %t239 = call zeroext i1 @sc_streq_3108123016971750(ptr %t238)
+ br i1 %t239, label %if.t110, label %if.j111
+if.t110:
+ %t240 = load ptr, ptr %sc_l_p_receiver
+ %t241 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t240, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t242 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t241)
+ %t243 = load i32, ptr %exc.cell
+ %t244 = icmp ne i32 %t243, 0
+ %t245 = call i1 @llvm.expect.i1(i1 %t244, i1 false)
+ br i1 %t245, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t242)
+ ret ptr null
+exc.k113:
+ %t246 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t242, ptr @sc_lit_3108123016971750)
+ %t247 = load i32, ptr %exc.cell
+ %t248 = icmp ne i32 %t247, 0
+ %t249 = call i1 @llvm.expect.i1(i1 %t248, i1 false)
+ br i1 %t249, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t242)
+ ret ptr null
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t242)
+ br i1 %t246, label %if.t116, label %if.j117
+if.t116:
+ %t250 = load ptr, ptr %sc_l_p_receiver
+ %t251 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t250, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t252 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t251)
+ %t253 = load i32, ptr %exc.cell
+ %t254 = icmp ne i32 %t253, 0
+ %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false)
+ br i1 %t255, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t252)
+ ret ptr null
+exc.k119:
+ %t256 = load ptr, ptr %sc_l_p_receiver
+ %t257 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t256, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t258 = call ptr @scr_dyn_bag_get(ptr %t252, ptr @sc_lit_3108123016971750, ptr %t257)
+ %t259 = load i32, ptr %exc.cell
+ %t260 = icmp ne i32 %t259, 0
+ %t261 = call i1 @llvm.expect.i1(i1 %t260, i1 false)
+ br i1 %t261, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @sc_rc_release_dyn(ptr %t252)
+ call void @sc_rc_release_dyn(ptr %t257)
+ call void @sc_rc_release_dyn(ptr %t258)
+ ret ptr null
+exc.k121:
+ call void @sc_rc_release_dyn(ptr %t252)
+ call void @sc_rc_release_dyn(ptr %t257)
+ ret ptr %t258
+if.j117:
+ %t263 = call ptr @scr_dyn_undefined()
+ %t262 = call ptr @scr_dyn_retain_v(ptr %t263)
+ ret ptr %t262
+if.j111:
+ %t264 = load ptr, ptr %sc_l_p_key
+ %t265 = call zeroext i1 @sc_streq_2529432852777196(ptr %t264)
+ br i1 %t265, label %if.t122, label %if.j123
+if.t122:
+ %t266 = load ptr, ptr %sc_l_p_receiver
+ %t267 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t266, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t268 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t267)
+ %t269 = load i32, ptr %exc.cell
+ %t270 = icmp ne i32 %t269, 0
+ %t271 = call i1 @llvm.expect.i1(i1 %t270, i1 false)
+ br i1 %t271, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t268)
+ ret ptr null
+exc.k125:
+ %t272 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t268, ptr @sc_lit_2529432852777196)
+ %t273 = load i32, ptr %exc.cell
+ %t274 = icmp ne i32 %t273, 0
+ %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false)
+ br i1 %t275, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t268)
+ ret ptr null
+exc.k127:
+ call void @sc_rc_release_dyn(ptr %t268)
+ br i1 %t272, label %if.t128, label %if.j129
+if.t128:
+ %t276 = load ptr, ptr %sc_l_p_receiver
+ %t277 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t276, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t278 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t277)
+ %t279 = load i32, ptr %exc.cell
+ %t280 = icmp ne i32 %t279, 0
+ %t281 = call i1 @llvm.expect.i1(i1 %t280, i1 false)
+ br i1 %t281, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t278)
+ ret ptr null
+exc.k131:
+ %t282 = load ptr, ptr %sc_l_p_receiver
+ %t283 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t282, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t284 = call ptr @scr_dyn_bag_get(ptr %t278, ptr @sc_lit_2529432852777196, ptr %t283)
+ %t285 = load i32, ptr %exc.cell
+ %t286 = icmp ne i32 %t285, 0
+ %t287 = call i1 @llvm.expect.i1(i1 %t286, i1 false)
+ br i1 %t287, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @sc_rc_release_dyn(ptr %t278)
+ call void @sc_rc_release_dyn(ptr %t283)
+ call void @sc_rc_release_dyn(ptr %t284)
+ ret ptr null
+exc.k133:
+ call void @sc_rc_release_dyn(ptr %t278)
+ call void @sc_rc_release_dyn(ptr %t283)
+ ret ptr %t284
+if.j129:
+ %t289 = call ptr @scr_dyn_undefined()
+ %t288 = call ptr @scr_dyn_retain_v(ptr %t289)
+ ret ptr %t288
+if.j123:
+ %t290 = load ptr, ptr %sc_l_p_key
+ %t291 = call zeroext i1 @sc_streq_4297539476301093(ptr %t290)
+ br i1 %t291, label %if.t134, label %if.j135
+if.t134:
+ %t292 = load ptr, ptr %sc_l_p_receiver
+ %t293 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t292, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t294 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t293)
+ %t295 = load i32, ptr %exc.cell
+ %t296 = icmp ne i32 %t295, 0
+ %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false)
+ br i1 %t297, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t294)
+ ret ptr null
+exc.k137:
+ %t298 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t294, ptr @sc_lit_4297539476301093)
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t294)
+ ret ptr null
+exc.k139:
+ call void @sc_rc_release_dyn(ptr %t294)
+ br i1 %t298, label %if.t140, label %if.j141
+if.t140:
+ %t302 = load ptr, ptr %sc_l_p_receiver
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t304)
+ ret ptr null
+exc.k143:
+ %t308 = load ptr, ptr %sc_l_p_receiver
+ %t309 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t308, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t310 = call ptr @scr_dyn_bag_get(ptr %t304, ptr @sc_lit_4297539476301093, ptr %t309)
+ %t311 = load i32, ptr %exc.cell
+ %t312 = icmp ne i32 %t311, 0
+ %t313 = call i1 @llvm.expect.i1(i1 %t312, i1 false)
+ br i1 %t313, label %exc.u144, label %exc.k145
+exc.u144:
+ call void @sc_rc_release_dyn(ptr %t304)
+ call void @sc_rc_release_dyn(ptr %t309)
+ call void @sc_rc_release_dyn(ptr %t310)
+ ret ptr null
+exc.k145:
+ call void @sc_rc_release_dyn(ptr %t304)
+ call void @sc_rc_release_dyn(ptr %t309)
+ ret ptr %t310
+if.j141:
+ %t315 = call ptr @scr_dyn_undefined()
+ %t314 = call ptr @scr_dyn_retain_v(ptr %t315)
+ ret ptr %t314
+if.j135:
+ %t316 = load ptr, ptr %sc_l_p_key
+ %t317 = call zeroext i1 @sc_streq_1959461887910059(ptr %t316)
+ br i1 %t317, label %if.t146, label %if.j147
+if.t146:
+ %t318 = load ptr, ptr %sc_l_p_receiver
+ %t319 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t318, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t320 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t319)
+ %t321 = load i32, ptr %exc.cell
+ %t322 = icmp ne i32 %t321, 0
+ %t323 = call i1 @llvm.expect.i1(i1 %t322, i1 false)
+ br i1 %t323, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @sc_rc_release_dyn(ptr %t320)
+ ret ptr null
+exc.k149:
+ %t324 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t320, ptr @sc_lit_1959461887910059)
+ %t325 = load i32, ptr %exc.cell
+ %t326 = icmp ne i32 %t325, 0
+ %t327 = call i1 @llvm.expect.i1(i1 %t326, i1 false)
+ br i1 %t327, label %exc.u150, label %exc.k151
+exc.u150:
+ call void @sc_rc_release_dyn(ptr %t320)
+ ret ptr null
+exc.k151:
+ call void @sc_rc_release_dyn(ptr %t320)
+ br i1 %t324, label %if.t152, label %if.j153
+if.t152:
+ %t328 = load ptr, ptr %sc_l_p_receiver
+ %t329 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t328, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t330 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t329)
+ %t331 = load i32, ptr %exc.cell
+ %t332 = icmp ne i32 %t331, 0
+ %t333 = call i1 @llvm.expect.i1(i1 %t332, i1 false)
+ br i1 %t333, label %exc.u154, label %exc.k155
+exc.u154:
+ call void @sc_rc_release_dyn(ptr %t330)
+ ret ptr null
+exc.k155:
+ %t334 = load ptr, ptr %sc_l_p_receiver
+ %t335 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t334, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t336 = call ptr @scr_dyn_bag_get(ptr %t330, ptr @sc_lit_1959461887910059, ptr %t335)
+ %t337 = load i32, ptr %exc.cell
+ %t338 = icmp ne i32 %t337, 0
+ %t339 = call i1 @llvm.expect.i1(i1 %t338, i1 false)
+ br i1 %t339, label %exc.u156, label %exc.k157
+exc.u156:
+ call void @sc_rc_release_dyn(ptr %t330)
+ call void @sc_rc_release_dyn(ptr %t335)
+ call void @sc_rc_release_dyn(ptr %t336)
+ ret ptr null
+exc.k157:
+ call void @sc_rc_release_dyn(ptr %t330)
+ call void @sc_rc_release_dyn(ptr %t335)
+ ret ptr %t336
+if.j153:
+ %t341 = call ptr @scr_dyn_undefined()
+ %t340 = call ptr @scr_dyn_retain_v(ptr %t341)
+ ret ptr %t340
+if.j147:
+ %t342 = load ptr, ptr %sc_l_p_key
+ %t343 = call zeroext i1 @sc_streq_181663572509014(ptr %t342)
+ br i1 %t343, label %if.t158, label %if.j159
+if.t158:
+ %t344 = load ptr, ptr %sc_l_p_receiver
+ %t345 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t344, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t346 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t345)
+ %t347 = load i32, ptr %exc.cell
+ %t348 = icmp ne i32 %t347, 0
+ %t349 = call i1 @llvm.expect.i1(i1 %t348, i1 false)
+ br i1 %t349, label %exc.u160, label %exc.k161
+exc.u160:
+ call void @sc_rc_release_dyn(ptr %t346)
+ ret ptr null
+exc.k161:
+ %t350 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t346, ptr @sc_lit_181663572509014)
+ %t351 = load i32, ptr %exc.cell
+ %t352 = icmp ne i32 %t351, 0
+ %t353 = call i1 @llvm.expect.i1(i1 %t352, i1 false)
+ br i1 %t353, label %exc.u162, label %exc.k163
+exc.u162:
+ call void @sc_rc_release_dyn(ptr %t346)
+ ret ptr null
+exc.k163:
+ call void @sc_rc_release_dyn(ptr %t346)
+ br i1 %t350, label %if.t164, label %if.j165
+if.t164:
+ %t354 = load ptr, ptr %sc_l_p_receiver
+ %t355 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t354, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t356 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t355)
+ %t357 = load i32, ptr %exc.cell
+ %t358 = icmp ne i32 %t357, 0
+ %t359 = call i1 @llvm.expect.i1(i1 %t358, i1 false)
+ br i1 %t359, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t356)
+ ret ptr null
+exc.k167:
+ %t360 = load ptr, ptr %sc_l_p_receiver
+ %t361 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t360, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t362 = call ptr @scr_dyn_bag_get(ptr %t356, ptr @sc_lit_181663572509014, ptr %t361)
+ %t363 = load i32, ptr %exc.cell
+ %t364 = icmp ne i32 %t363, 0
+ %t365 = call i1 @llvm.expect.i1(i1 %t364, i1 false)
+ br i1 %t365, label %exc.u168, label %exc.k169
+exc.u168:
+ call void @sc_rc_release_dyn(ptr %t356)
+ call void @sc_rc_release_dyn(ptr %t361)
+ call void @sc_rc_release_dyn(ptr %t362)
+ ret ptr null
+exc.k169:
+ call void @sc_rc_release_dyn(ptr %t356)
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t362
+if.j165:
+ %t367 = call ptr @scr_dyn_undefined()
+ %t366 = call ptr @scr_dyn_retain_v(ptr %t367)
+ ret ptr %t366
+if.j159:
+ %t368 = load ptr, ptr %sc_l_p_key
+ %t369 = call zeroext i1 @sc_streq_992600386266231(ptr %t368)
+ br i1 %t369, label %if.t170, label %if.j171
+if.t170:
+ %t370 = load ptr, ptr %sc_l_p_receiver
+ %t371 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t370, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t372 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t371)
+ %t373 = load i32, ptr %exc.cell
+ %t374 = icmp ne i32 %t373, 0
+ %t375 = call i1 @llvm.expect.i1(i1 %t374, i1 false)
+ br i1 %t375, label %exc.u172, label %exc.k173
+exc.u172:
+ call void @sc_rc_release_dyn(ptr %t372)
+ ret ptr null
+exc.k173:
+ %t376 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t372, ptr @sc_lit_992600386266231)
+ %t377 = load i32, ptr %exc.cell
+ %t378 = icmp ne i32 %t377, 0
+ %t379 = call i1 @llvm.expect.i1(i1 %t378, i1 false)
+ br i1 %t379, label %exc.u174, label %exc.k175
+exc.u174:
+ call void @sc_rc_release_dyn(ptr %t372)
+ ret ptr null
+exc.k175:
+ call void @sc_rc_release_dyn(ptr %t372)
+ br i1 %t376, label %if.t176, label %if.j177
+if.t176:
+ %t380 = load ptr, ptr %sc_l_p_receiver
+ %t381 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t380, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t382 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t381)
+ %t383 = load i32, ptr %exc.cell
+ %t384 = icmp ne i32 %t383, 0
+ %t385 = call i1 @llvm.expect.i1(i1 %t384, i1 false)
+ br i1 %t385, label %exc.u178, label %exc.k179
+exc.u178:
+ call void @sc_rc_release_dyn(ptr %t382)
+ ret ptr null
+exc.k179:
+ %t386 = load ptr, ptr %sc_l_p_receiver
+ %t387 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t386, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t388 = call ptr @scr_dyn_bag_get(ptr %t382, ptr @sc_lit_992600386266231, ptr %t387)
+ %t389 = load i32, ptr %exc.cell
+ %t390 = icmp ne i32 %t389, 0
+ %t391 = call i1 @llvm.expect.i1(i1 %t390, i1 false)
+ br i1 %t391, label %exc.u180, label %exc.k181
+exc.u180:
+ call void @sc_rc_release_dyn(ptr %t382)
+ call void @sc_rc_release_dyn(ptr %t387)
+ call void @sc_rc_release_dyn(ptr %t388)
+ ret ptr null
+exc.k181:
+ call void @sc_rc_release_dyn(ptr %t382)
+ call void @sc_rc_release_dyn(ptr %t387)
+ ret ptr %t388
+if.j177:
+ %t393 = call ptr @scr_dyn_undefined()
+ %t392 = call ptr @scr_dyn_retain_v(ptr %t393)
+ ret ptr %t392
+if.j171:
+ %t394 = load ptr, ptr %sc_l_p_key
+ %t395 = call zeroext i1 @sc_streq_4198614539576238(ptr %t394)
+ br i1 %t395, label %if.t182, label %if.j183
+if.t182:
+ %t396 = load ptr, ptr %sc_l_p_receiver
+ %t397 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t396, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t398 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t397)
+ %t399 = load i32, ptr %exc.cell
+ %t400 = icmp ne i32 %t399, 0
+ %t401 = call i1 @llvm.expect.i1(i1 %t400, i1 false)
+ br i1 %t401, label %exc.u184, label %exc.k185
+exc.u184:
+ call void @sc_rc_release_dyn(ptr %t398)
+ ret ptr null
+exc.k185:
+ %t402 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t398, ptr @sc_lit_4198614539576238)
+ %t403 = load i32, ptr %exc.cell
+ %t404 = icmp ne i32 %t403, 0
+ %t405 = call i1 @llvm.expect.i1(i1 %t404, i1 false)
+ br i1 %t405, label %exc.u186, label %exc.k187
+exc.u186:
+ call void @sc_rc_release_dyn(ptr %t398)
+ ret ptr null
+exc.k187:
+ call void @sc_rc_release_dyn(ptr %t398)
+ br i1 %t402, label %if.t188, label %if.j189
+if.t188:
+ %t406 = load ptr, ptr %sc_l_p_receiver
+ %t407 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t406, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t408 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t407)
+ %t409 = load i32, ptr %exc.cell
+ %t410 = icmp ne i32 %t409, 0
+ %t411 = call i1 @llvm.expect.i1(i1 %t410, i1 false)
+ br i1 %t411, label %exc.u190, label %exc.k191
+exc.u190:
+ call void @sc_rc_release_dyn(ptr %t408)
+ ret ptr null
+exc.k191:
+ %t412 = load ptr, ptr %sc_l_p_receiver
+ %t413 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t412, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t414 = call ptr @scr_dyn_bag_get(ptr %t408, ptr @sc_lit_4198614539576238, ptr %t413)
+ %t415 = load i32, ptr %exc.cell
+ %t416 = icmp ne i32 %t415, 0
+ %t417 = call i1 @llvm.expect.i1(i1 %t416, i1 false)
+ br i1 %t417, label %exc.u192, label %exc.k193
+exc.u192:
+ call void @sc_rc_release_dyn(ptr %t408)
+ call void @sc_rc_release_dyn(ptr %t413)
+ call void @sc_rc_release_dyn(ptr %t414)
+ ret ptr null
+exc.k193:
+ call void @sc_rc_release_dyn(ptr %t408)
+ call void @sc_rc_release_dyn(ptr %t413)
+ ret ptr %t414
+if.j189:
+ %t419 = call ptr @scr_dyn_undefined()
+ %t418 = call ptr @scr_dyn_retain_v(ptr %t419)
+ ret ptr %t418
+if.j183:
+ %t420 = load ptr, ptr %sc_l_p_key
+ %t421 = call zeroext i1 @sc_streq_3908714124573206(ptr %t420)
+ br i1 %t421, label %if.t194, label %if.j195
+if.t194:
+ %t422 = load ptr, ptr %sc_l_p_receiver
+ %t423 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t422, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t424 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t423)
+ %t425 = load i32, ptr %exc.cell
+ %t426 = icmp ne i32 %t425, 0
+ %t427 = call i1 @llvm.expect.i1(i1 %t426, i1 false)
+ br i1 %t427, label %exc.u196, label %exc.k197
+exc.u196:
+ call void @sc_rc_release_dyn(ptr %t424)
+ ret ptr null
+exc.k197:
+ %t428 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t424, ptr @sc_lit_3908714124573206)
+ %t429 = load i32, ptr %exc.cell
+ %t430 = icmp ne i32 %t429, 0
+ %t431 = call i1 @llvm.expect.i1(i1 %t430, i1 false)
+ br i1 %t431, label %exc.u198, label %exc.k199
+exc.u198:
+ call void @sc_rc_release_dyn(ptr %t424)
+ ret ptr null
+exc.k199:
+ call void @sc_rc_release_dyn(ptr %t424)
+ br i1 %t428, label %if.t200, label %if.j201
+if.t200:
+ %t432 = load ptr, ptr %sc_l_p_receiver
+ %t433 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t432, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t434 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t433)
+ %t435 = load i32, ptr %exc.cell
+ %t436 = icmp ne i32 %t435, 0
+ %t437 = call i1 @llvm.expect.i1(i1 %t436, i1 false)
+ br i1 %t437, label %exc.u202, label %exc.k203
+exc.u202:
+ call void @sc_rc_release_dyn(ptr %t434)
+ ret ptr null
+exc.k203:
+ %t438 = load ptr, ptr %sc_l_p_receiver
+ %t439 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t438, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t440 = call ptr @scr_dyn_bag_get(ptr %t434, ptr @sc_lit_3908714124573206, ptr %t439)
+ %t441 = load i32, ptr %exc.cell
+ %t442 = icmp ne i32 %t441, 0
+ %t443 = call i1 @llvm.expect.i1(i1 %t442, i1 false)
+ br i1 %t443, label %exc.u204, label %exc.k205
+exc.u204:
+ call void @sc_rc_release_dyn(ptr %t434)
+ call void @sc_rc_release_dyn(ptr %t439)
+ call void @sc_rc_release_dyn(ptr %t440)
+ ret ptr null
+exc.k205:
+ call void @sc_rc_release_dyn(ptr %t434)
+ call void @sc_rc_release_dyn(ptr %t439)
+ ret ptr %t440
+if.j201:
+ %t445 = call ptr @scr_dyn_undefined()
+ %t444 = call ptr @scr_dyn_retain_v(ptr %t445)
+ ret ptr %t444
+if.j195:
+ %t446 = load ptr, ptr %sc_l_p_0
+ %t447 = call ptr @sc_rc_retain_dyn(ptr %t446)
+ %t448 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t447)
+ %t449 = load i32, ptr %exc.cell
+ %t450 = icmp ne i32 %t449, 0
+ %t451 = call i1 @llvm.expect.i1(i1 %t450, i1 false)
+ br i1 %t451, label %exc.u206, label %exc.k207
+exc.u206:
+ call void @sc_rc_release_dyn(ptr %t448)
+ ret ptr null
+exc.k207:
+ %t452 = load ptr, ptr %sc_l_p_key
+ %t453 = call ptr @sc_rc_retain_str(ptr %t452)
+ %t454 = load ptr, ptr %sc_l_p_receiver
+ %t455 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t454, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t456 = call ptr @scr_dyn_bag_get(ptr %t448, ptr %t453, ptr %t455)
+ %t457 = load i32, ptr %exc.cell
+ %t458 = icmp ne i32 %t457, 0
+ %t459 = call i1 @llvm.expect.i1(i1 %t458, i1 false)
+ br i1 %t459, label %exc.u208, label %exc.k209
+exc.u208:
+ call void @sc_rc_release_dyn(ptr %t448)
+ call void @scr_str_release(ptr %t453)
+ call void @sc_rc_release_dyn(ptr %t455)
+ call void @sc_rc_release_dyn(ptr %t456)
+ ret ptr null
+exc.k209:
+ call void @sc_rc_release_dyn(ptr %t448)
+ call void @scr_str_release(ptr %t453)
+ call void @sc_rc_release_dyn(ptr %t455)
+ ret ptr %t456
+}
+define internal ptr @sc_f__x25_dyn_class_keys_495(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_495(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m2_ResponseSink(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_496(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.496
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_1951312618348557(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t6, i64 0, i32 3
+ %t8 = load ptr, ptr %t7, !tbaa !46
+ %t9 = call ptr @scr_http_res_retain_v(ptr %t8)
+ %t10 = call ptr @sc_td_7(ptr %t9)
+ call void @scr_http_res_release(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_3621289080171698(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t13, i64 0, i32 4
+ %t15 = load double, ptr %t14, !tbaa !48
+ %t16 = call ptr @sc_td_2(double %t15)
+ ret ptr %t16
+if.j5:
+ %t17 = load ptr, ptr %sc_l_p_key
+ %t18 = call zeroext i1 @sc_streq_3953364176447457(ptr %t17)
+ br i1 %t18, label %if.t6, label %if.j7
+if.t6:
+ %t19 = load ptr, ptr %sc_l_p_receiver
+ %t20 = getelementptr inbounds %sc_o__x25_m2_NodeResponseSink, ptr %t19, i64 0, i32 5
+ %t21 = load ptr, ptr %t20, !tbaa !50
+ %t22 = call ptr @sc_rretain_r0(ptr %t21)
+ %t23 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t22, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ call void @sc_rrelease_r0(ptr %t22)
+ ret ptr %t23
+if.j7:
+ %t24 = load ptr, ptr %sc_l_p_key
+ %t25 = call zeroext i1 @sc_streq_3752021314181142(ptr %t24)
+ br i1 %t25, label %if.t8, label %if.j9
+if.t8:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t26, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t28 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t27)
+ %t29 = load i32, ptr %exc.cell
+ %t30 = icmp ne i32 %t29, 0
+ %t31 = call i1 @llvm.expect.i1(i1 %t30, i1 false)
+ br i1 %t31, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret ptr null
+exc.k11:
+ %t32 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t28, ptr @sc_lit_3752021314181142)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t28)
+ ret ptr null
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t28)
+ br i1 %t32, label %if.t14, label %if.j15
+if.t14:
+ %t36 = load ptr, ptr %sc_l_p_receiver
+ %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t38 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t37)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k17:
+ %t42 = load ptr, ptr %sc_l_p_receiver
+ %t43 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t42, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t44 = call ptr @scr_dyn_bag_get(ptr %t38, ptr @sc_lit_3752021314181142, ptr %t43)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr %t44
+if.j15:
+ %t49 = call ptr @scr_dyn_undefined()
+ %t48 = call ptr @scr_dyn_retain_v(ptr %t49)
+ ret ptr %t48
+if.j9:
+ %t50 = load ptr, ptr %sc_l_p_key
+ %t51 = call zeroext i1 @sc_streq_2364278031517622(ptr %t50)
+ br i1 %t51, label %if.t20, label %if.j21
+if.t20:
+ %t52 = load ptr, ptr %sc_l_p_receiver
+ %t53 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t52, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t54 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t53)
+ %t55 = load i32, ptr %exc.cell
+ %t56 = icmp ne i32 %t55, 0
+ %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false)
+ br i1 %t57, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t54)
+ ret ptr null
+exc.k23:
+ %t58 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t54, ptr @sc_lit_2364278031517622)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t54)
+ ret ptr null
+exc.k25:
+ call void @sc_rc_release_dyn(ptr %t54)
+ br i1 %t58, label %if.t26, label %if.j27
+if.t26:
+ %t62 = load ptr, ptr %sc_l_p_receiver
+ %t63 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t62, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t64 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t63)
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t64)
+ ret ptr null
+exc.k29:
+ %t68 = load ptr, ptr %sc_l_p_receiver
+ %t69 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t68, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t70 = call ptr @scr_dyn_bag_get(ptr %t64, ptr @sc_lit_2364278031517622, ptr %t69)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t64)
+ call void @sc_rc_release_dyn(ptr %t69)
+ call void @sc_rc_release_dyn(ptr %t70)
+ ret ptr null
+exc.k31:
+ call void @sc_rc_release_dyn(ptr %t64)
+ call void @sc_rc_release_dyn(ptr %t69)
+ ret ptr %t70
+if.j27:
+ %t75 = call ptr @scr_dyn_undefined()
+ %t74 = call ptr @scr_dyn_retain_v(ptr %t75)
+ ret ptr %t74
+if.j21:
+ %t76 = load ptr, ptr %sc_l_p_key
+ %t77 = call zeroext i1 @sc_streq_470306239805907(ptr %t76)
+ br i1 %t77, label %if.t32, label %if.j33
+if.t32:
+ %t78 = load ptr, ptr %sc_l_p_receiver
+ %t79 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t78, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t80 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t79)
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t80)
+ ret ptr null
+exc.k35:
+ %t84 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t80, ptr @sc_lit_470306239805907)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t80)
+ ret ptr null
+exc.k37:
+ call void @sc_rc_release_dyn(ptr %t80)
+ br i1 %t84, label %if.t38, label %if.j39
+if.t38:
+ %t88 = load ptr, ptr %sc_l_p_receiver
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t90 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t90)
+ ret ptr null
+exc.k41:
+ %t94 = load ptr, ptr %sc_l_p_receiver
+ %t95 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t94, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t96 = call ptr @scr_dyn_bag_get(ptr %t90, ptr @sc_lit_470306239805907, ptr %t95)
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t90)
+ call void @sc_rc_release_dyn(ptr %t95)
+ call void @sc_rc_release_dyn(ptr %t96)
+ ret ptr null
+exc.k43:
+ call void @sc_rc_release_dyn(ptr %t90)
+ call void @sc_rc_release_dyn(ptr %t95)
+ ret ptr %t96
+if.j39:
+ %t101 = call ptr @scr_dyn_undefined()
+ %t100 = call ptr @scr_dyn_retain_v(ptr %t101)
+ ret ptr %t100
+if.j33:
+ %t102 = load ptr, ptr %sc_l_p_key
+ %t103 = call zeroext i1 @sc_streq_4133069531575059(ptr %t102)
+ br i1 %t103, label %if.t44, label %if.j45
+if.t44:
+ %t104 = load ptr, ptr %sc_l_p_receiver
+ %t105 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t104, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t106 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t105)
+ %t107 = load i32, ptr %exc.cell
+ %t108 = icmp ne i32 %t107, 0
+ %t109 = call i1 @llvm.expect.i1(i1 %t108, i1 false)
+ br i1 %t109, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t106)
+ ret ptr null
+exc.k47:
+ %t110 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t106, ptr @sc_lit_4133069531575059)
+ %t111 = load i32, ptr %exc.cell
+ %t112 = icmp ne i32 %t111, 0
+ %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false)
+ br i1 %t113, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t106)
+ ret ptr null
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t106)
+ br i1 %t110, label %if.t50, label %if.j51
+if.t50:
+ %t114 = load ptr, ptr %sc_l_p_receiver
+ %t115 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t114, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t116 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t115)
+ %t117 = load i32, ptr %exc.cell
+ %t118 = icmp ne i32 %t117, 0
+ %t119 = call i1 @llvm.expect.i1(i1 %t118, i1 false)
+ br i1 %t119, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t116)
+ ret ptr null
+exc.k53:
+ %t120 = load ptr, ptr %sc_l_p_receiver
+ %t121 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t120, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t122 = call ptr @scr_dyn_bag_get(ptr %t116, ptr @sc_lit_4133069531575059, ptr %t121)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t121)
+ call void @sc_rc_release_dyn(ptr %t122)
+ ret ptr null
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t121)
+ ret ptr %t122
+if.j51:
+ %t127 = call ptr @scr_dyn_undefined()
+ %t126 = call ptr @scr_dyn_retain_v(ptr %t127)
+ ret ptr %t126
+if.j45:
+ %t128 = load ptr, ptr %sc_l_p_key
+ %t129 = call zeroext i1 @sc_streq_2253648670486996(ptr %t128)
+ br i1 %t129, label %if.t56, label %if.j57
+if.t56:
+ %t130 = load ptr, ptr %sc_l_p_receiver
+ %t131 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t130, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t132 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t131)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+exc.k59:
+ %t136 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t132, ptr @sc_lit_2253648670486996)
+ %t137 = load i32, ptr %exc.cell
+ %t138 = icmp ne i32 %t137, 0
+ %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false)
+ br i1 %t139, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+exc.k61:
+ call void @sc_rc_release_dyn(ptr %t132)
+ br i1 %t136, label %if.t62, label %if.j63
+if.t62:
+ %t140 = load ptr, ptr %sc_l_p_receiver
+ %t141 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t140, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t142 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t141)
+ %t143 = load i32, ptr %exc.cell
+ %t144 = icmp ne i32 %t143, 0
+ %t145 = call i1 @llvm.expect.i1(i1 %t144, i1 false)
+ br i1 %t145, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t142)
+ ret ptr null
+exc.k65:
+ %t146 = load ptr, ptr %sc_l_p_receiver
+ %t147 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t146, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t148 = call ptr @scr_dyn_bag_get(ptr %t142, ptr @sc_lit_2253648670486996, ptr %t147)
+ %t149 = load i32, ptr %exc.cell
+ %t150 = icmp ne i32 %t149, 0
+ %t151 = call i1 @llvm.expect.i1(i1 %t150, i1 false)
+ br i1 %t151, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t142)
+ call void @sc_rc_release_dyn(ptr %t147)
+ call void @sc_rc_release_dyn(ptr %t148)
+ ret ptr null
+exc.k67:
+ call void @sc_rc_release_dyn(ptr %t142)
+ call void @sc_rc_release_dyn(ptr %t147)
+ ret ptr %t148
+if.j63:
+ %t153 = call ptr @scr_dyn_undefined()
+ %t152 = call ptr @scr_dyn_retain_v(ptr %t153)
+ ret ptr %t152
+if.j57:
+ %t154 = load ptr, ptr %sc_l_p_key
+ %t155 = call zeroext i1 @sc_streq_161925136240866(ptr %t154)
+ br i1 %t155, label %if.t68, label %if.j69
+if.t68:
+ %t156 = load ptr, ptr %sc_l_p_receiver
+ %t157 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t156, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t158 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t157)
+ %t159 = load i32, ptr %exc.cell
+ %t160 = icmp ne i32 %t159, 0
+ %t161 = call i1 @llvm.expect.i1(i1 %t160, i1 false)
+ br i1 %t161, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t158)
+ ret ptr null
+exc.k71:
+ %t162 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t158, ptr @sc_lit_161925136240866)
+ %t163 = load i32, ptr %exc.cell
+ %t164 = icmp ne i32 %t163, 0
+ %t165 = call i1 @llvm.expect.i1(i1 %t164, i1 false)
+ br i1 %t165, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t158)
+ ret ptr null
+exc.k73:
+ call void @sc_rc_release_dyn(ptr %t158)
+ br i1 %t162, label %if.t74, label %if.j75
+if.t74:
+ %t166 = load ptr, ptr %sc_l_p_receiver
+ %t167 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t166, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t168 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t167)
+ %t169 = load i32, ptr %exc.cell
+ %t170 = icmp ne i32 %t169, 0
+ %t171 = call i1 @llvm.expect.i1(i1 %t170, i1 false)
+ br i1 %t171, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t168)
+ ret ptr null
+exc.k77:
+ %t172 = load ptr, ptr %sc_l_p_receiver
+ %t173 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t172, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t174 = call ptr @scr_dyn_bag_get(ptr %t168, ptr @sc_lit_161925136240866, ptr %t173)
+ %t175 = load i32, ptr %exc.cell
+ %t176 = icmp ne i32 %t175, 0
+ %t177 = call i1 @llvm.expect.i1(i1 %t176, i1 false)
+ br i1 %t177, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t168)
+ call void @sc_rc_release_dyn(ptr %t173)
+ call void @sc_rc_release_dyn(ptr %t174)
+ ret ptr null
+exc.k79:
+ call void @sc_rc_release_dyn(ptr %t168)
+ call void @sc_rc_release_dyn(ptr %t173)
+ ret ptr %t174
+if.j75:
+ %t179 = call ptr @scr_dyn_undefined()
+ %t178 = call ptr @scr_dyn_retain_v(ptr %t179)
+ ret ptr %t178
+if.j69:
+ %t180 = load ptr, ptr %sc_l_p_key
+ %t181 = call zeroext i1 @sc_streq_298897322184109(ptr %t180)
+ br i1 %t181, label %if.t80, label %if.j81
+if.t80:
+ %t182 = load ptr, ptr %sc_l_p_receiver
+ %t183 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t182, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t184 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t183)
+ %t185 = load i32, ptr %exc.cell
+ %t186 = icmp ne i32 %t185, 0
+ %t187 = call i1 @llvm.expect.i1(i1 %t186, i1 false)
+ br i1 %t187, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t184)
+ ret ptr null
+exc.k83:
+ %t188 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t184, ptr @sc_lit_298897322184109)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t184)
+ ret ptr null
+exc.k85:
+ call void @sc_rc_release_dyn(ptr %t184)
+ br i1 %t188, label %if.t86, label %if.j87
+if.t86:
+ %t192 = load ptr, ptr %sc_l_p_receiver
+ %t193 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t192, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t194 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t193)
+ %t195 = load i32, ptr %exc.cell
+ %t196 = icmp ne i32 %t195, 0
+ %t197 = call i1 @llvm.expect.i1(i1 %t196, i1 false)
+ br i1 %t197, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t194)
+ ret ptr null
+exc.k89:
+ %t198 = load ptr, ptr %sc_l_p_receiver
+ %t199 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t198, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t200 = call ptr @scr_dyn_bag_get(ptr %t194, ptr @sc_lit_298897322184109, ptr %t199)
+ %t201 = load i32, ptr %exc.cell
+ %t202 = icmp ne i32 %t201, 0
+ %t203 = call i1 @llvm.expect.i1(i1 %t202, i1 false)
+ br i1 %t203, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t194)
+ call void @sc_rc_release_dyn(ptr %t199)
+ call void @sc_rc_release_dyn(ptr %t200)
+ ret ptr null
+exc.k91:
+ call void @sc_rc_release_dyn(ptr %t194)
+ call void @sc_rc_release_dyn(ptr %t199)
+ ret ptr %t200
+if.j87:
+ %t205 = call ptr @scr_dyn_undefined()
+ %t204 = call ptr @scr_dyn_retain_v(ptr %t205)
+ ret ptr %t204
+if.j81:
+ %t206 = load ptr, ptr %sc_l_p_key
+ %t207 = call zeroext i1 @sc_streq_4085448292571548(ptr %t206)
+ br i1 %t207, label %if.t92, label %if.j93
+if.t92:
+ %t208 = load ptr, ptr %sc_l_p_receiver
+ %t209 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t208, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t210 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t209)
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t210)
+ ret ptr null
+exc.k95:
+ %t214 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t210, ptr @sc_lit_4085448292571548)
+ %t215 = load i32, ptr %exc.cell
+ %t216 = icmp ne i32 %t215, 0
+ %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false)
+ br i1 %t217, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t210)
+ ret ptr null
+exc.k97:
+ call void @sc_rc_release_dyn(ptr %t210)
+ br i1 %t214, label %if.t98, label %if.j99
+if.t98:
+ %t218 = load ptr, ptr %sc_l_p_receiver
+ %t219 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t218, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t220 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t219)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t220)
+ ret ptr null
+exc.k101:
+ %t224 = load ptr, ptr %sc_l_p_receiver
+ %t225 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t224, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t226 = call ptr @scr_dyn_bag_get(ptr %t220, ptr @sc_lit_4085448292571548, ptr %t225)
+ %t227 = load i32, ptr %exc.cell
+ %t228 = icmp ne i32 %t227, 0
+ %t229 = call i1 @llvm.expect.i1(i1 %t228, i1 false)
+ br i1 %t229, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t220)
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_rc_release_dyn(ptr %t226)
+ ret ptr null
+exc.k103:
+ call void @sc_rc_release_dyn(ptr %t220)
+ call void @sc_rc_release_dyn(ptr %t225)
+ ret ptr %t226
+if.j99:
+ %t231 = call ptr @scr_dyn_undefined()
+ %t230 = call ptr @scr_dyn_retain_v(ptr %t231)
+ ret ptr %t230
+if.j93:
+ %t232 = load ptr, ptr %sc_l_p_key
+ %t233 = call zeroext i1 @sc_streq_3561861343106386(ptr %t232)
+ br i1 %t233, label %if.t104, label %if.j105
+if.t104:
+ %t234 = load ptr, ptr %sc_l_p_receiver
+ %t235 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t234, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t236 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t235)
+ %t237 = load i32, ptr %exc.cell
+ %t238 = icmp ne i32 %t237, 0
+ %t239 = call i1 @llvm.expect.i1(i1 %t238, i1 false)
+ br i1 %t239, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t236)
+ ret ptr null
+exc.k107:
+ %t240 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t236, ptr @sc_lit_3561861343106386)
+ %t241 = load i32, ptr %exc.cell
+ %t242 = icmp ne i32 %t241, 0
+ %t243 = call i1 @llvm.expect.i1(i1 %t242, i1 false)
+ br i1 %t243, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t236)
+ ret ptr null
+exc.k109:
+ call void @sc_rc_release_dyn(ptr %t236)
+ br i1 %t240, label %if.t110, label %if.j111
+if.t110:
+ %t244 = load ptr, ptr %sc_l_p_receiver
+ %t245 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t244, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t246 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t245)
+ %t247 = load i32, ptr %exc.cell
+ %t248 = icmp ne i32 %t247, 0
+ %t249 = call i1 @llvm.expect.i1(i1 %t248, i1 false)
+ br i1 %t249, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t246)
+ ret ptr null
+exc.k113:
+ %t250 = load ptr, ptr %sc_l_p_receiver
+ %t251 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t250, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t252 = call ptr @scr_dyn_bag_get(ptr %t246, ptr @sc_lit_3561861343106386, ptr %t251)
+ %t253 = load i32, ptr %exc.cell
+ %t254 = icmp ne i32 %t253, 0
+ %t255 = call i1 @llvm.expect.i1(i1 %t254, i1 false)
+ br i1 %t255, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t246)
+ call void @sc_rc_release_dyn(ptr %t251)
+ call void @sc_rc_release_dyn(ptr %t252)
+ ret ptr null
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t246)
+ call void @sc_rc_release_dyn(ptr %t251)
+ ret ptr %t252
+if.j111:
+ %t257 = call ptr @scr_dyn_undefined()
+ %t256 = call ptr @scr_dyn_retain_v(ptr %t257)
+ ret ptr %t256
+if.j105:
+ %t258 = load ptr, ptr %sc_l_p_key
+ %t259 = call zeroext i1 @sc_streq_2529432852777196(ptr %t258)
+ br i1 %t259, label %if.t116, label %if.j117
+if.t116:
+ %t260 = load ptr, ptr %sc_l_p_receiver
+ %t261 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t260, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t262 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t261)
+ %t263 = load i32, ptr %exc.cell
+ %t264 = icmp ne i32 %t263, 0
+ %t265 = call i1 @llvm.expect.i1(i1 %t264, i1 false)
+ br i1 %t265, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t262)
+ ret ptr null
+exc.k119:
+ %t266 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t262, ptr @sc_lit_2529432852777196)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @sc_rc_release_dyn(ptr %t262)
+ ret ptr null
+exc.k121:
+ call void @sc_rc_release_dyn(ptr %t262)
+ br i1 %t266, label %if.t122, label %if.j123
+if.t122:
+ %t270 = load ptr, ptr %sc_l_p_receiver
+ %t271 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t270, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t272 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t271)
+ %t273 = load i32, ptr %exc.cell
+ %t274 = icmp ne i32 %t273, 0
+ %t275 = call i1 @llvm.expect.i1(i1 %t274, i1 false)
+ br i1 %t275, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t272)
+ ret ptr null
+exc.k125:
+ %t276 = load ptr, ptr %sc_l_p_receiver
+ %t277 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t276, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t278 = call ptr @scr_dyn_bag_get(ptr %t272, ptr @sc_lit_2529432852777196, ptr %t277)
+ %t279 = load i32, ptr %exc.cell
+ %t280 = icmp ne i32 %t279, 0
+ %t281 = call i1 @llvm.expect.i1(i1 %t280, i1 false)
+ br i1 %t281, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t272)
+ call void @sc_rc_release_dyn(ptr %t277)
+ call void @sc_rc_release_dyn(ptr %t278)
+ ret ptr null
+exc.k127:
+ call void @sc_rc_release_dyn(ptr %t272)
+ call void @sc_rc_release_dyn(ptr %t277)
+ ret ptr %t278
+if.j123:
+ %t283 = call ptr @scr_dyn_undefined()
+ %t282 = call ptr @scr_dyn_retain_v(ptr %t283)
+ ret ptr %t282
+if.j117:
+ %t284 = load ptr, ptr %sc_l_p_key
+ %t285 = call zeroext i1 @sc_streq_4297539476301093(ptr %t284)
+ br i1 %t285, label %if.t128, label %if.j129
+if.t128:
+ %t286 = load ptr, ptr %sc_l_p_receiver
+ %t287 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t286, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t288 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t287)
+ %t289 = load i32, ptr %exc.cell
+ %t290 = icmp ne i32 %t289, 0
+ %t291 = call i1 @llvm.expect.i1(i1 %t290, i1 false)
+ br i1 %t291, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t288)
+ ret ptr null
+exc.k131:
+ %t292 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t288, ptr @sc_lit_4297539476301093)
+ %t293 = load i32, ptr %exc.cell
+ %t294 = icmp ne i32 %t293, 0
+ %t295 = call i1 @llvm.expect.i1(i1 %t294, i1 false)
+ br i1 %t295, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @sc_rc_release_dyn(ptr %t288)
+ ret ptr null
+exc.k133:
+ call void @sc_rc_release_dyn(ptr %t288)
+ br i1 %t292, label %if.t134, label %if.j135
+if.t134:
+ %t296 = load ptr, ptr %sc_l_p_receiver
+ %t297 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t296, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t298 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t297)
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t298)
+ ret ptr null
+exc.k137:
+ %t302 = load ptr, ptr %sc_l_p_receiver
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t304 = call ptr @scr_dyn_bag_get(ptr %t298, ptr @sc_lit_4297539476301093, ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t298)
+ call void @sc_rc_release_dyn(ptr %t303)
+ call void @sc_rc_release_dyn(ptr %t304)
+ ret ptr null
+exc.k139:
+ call void @sc_rc_release_dyn(ptr %t298)
+ call void @sc_rc_release_dyn(ptr %t303)
+ ret ptr %t304
+if.j135:
+ %t309 = call ptr @scr_dyn_undefined()
+ %t308 = call ptr @scr_dyn_retain_v(ptr %t309)
+ ret ptr %t308
+if.j129:
+ %t310 = load ptr, ptr %sc_l_p_key
+ %t311 = call zeroext i1 @sc_streq_1959461887910059(ptr %t310)
+ br i1 %t311, label %if.t140, label %if.j141
+if.t140:
+ %t312 = load ptr, ptr %sc_l_p_receiver
+ %t313 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t312, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t314 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t313)
+ %t315 = load i32, ptr %exc.cell
+ %t316 = icmp ne i32 %t315, 0
+ %t317 = call i1 @llvm.expect.i1(i1 %t316, i1 false)
+ br i1 %t317, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t314)
+ ret ptr null
+exc.k143:
+ %t318 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t314, ptr @sc_lit_1959461887910059)
+ %t319 = load i32, ptr %exc.cell
+ %t320 = icmp ne i32 %t319, 0
+ %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false)
+ br i1 %t321, label %exc.u144, label %exc.k145
+exc.u144:
+ call void @sc_rc_release_dyn(ptr %t314)
+ ret ptr null
+exc.k145:
+ call void @sc_rc_release_dyn(ptr %t314)
+ br i1 %t318, label %if.t146, label %if.j147
+if.t146:
+ %t322 = load ptr, ptr %sc_l_p_receiver
+ %t323 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t322, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t324 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t323)
+ %t325 = load i32, ptr %exc.cell
+ %t326 = icmp ne i32 %t325, 0
+ %t327 = call i1 @llvm.expect.i1(i1 %t326, i1 false)
+ br i1 %t327, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @sc_rc_release_dyn(ptr %t324)
+ ret ptr null
+exc.k149:
+ %t328 = load ptr, ptr %sc_l_p_receiver
+ %t329 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t328, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t330 = call ptr @scr_dyn_bag_get(ptr %t324, ptr @sc_lit_1959461887910059, ptr %t329)
+ %t331 = load i32, ptr %exc.cell
+ %t332 = icmp ne i32 %t331, 0
+ %t333 = call i1 @llvm.expect.i1(i1 %t332, i1 false)
+ br i1 %t333, label %exc.u150, label %exc.k151
+exc.u150:
+ call void @sc_rc_release_dyn(ptr %t324)
+ call void @sc_rc_release_dyn(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t330)
+ ret ptr null
+exc.k151:
+ call void @sc_rc_release_dyn(ptr %t324)
+ call void @sc_rc_release_dyn(ptr %t329)
+ ret ptr %t330
+if.j147:
+ %t335 = call ptr @scr_dyn_undefined()
+ %t334 = call ptr @scr_dyn_retain_v(ptr %t335)
+ ret ptr %t334
+if.j141:
+ %t336 = load ptr, ptr %sc_l_p_key
+ %t337 = call zeroext i1 @sc_streq_181663572509014(ptr %t336)
+ br i1 %t337, label %if.t152, label %if.j153
+if.t152:
+ %t338 = load ptr, ptr %sc_l_p_receiver
+ %t339 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t338, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t340 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t339)
+ %t341 = load i32, ptr %exc.cell
+ %t342 = icmp ne i32 %t341, 0
+ %t343 = call i1 @llvm.expect.i1(i1 %t342, i1 false)
+ br i1 %t343, label %exc.u154, label %exc.k155
+exc.u154:
+ call void @sc_rc_release_dyn(ptr %t340)
+ ret ptr null
+exc.k155:
+ %t344 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t340, ptr @sc_lit_181663572509014)
+ %t345 = load i32, ptr %exc.cell
+ %t346 = icmp ne i32 %t345, 0
+ %t347 = call i1 @llvm.expect.i1(i1 %t346, i1 false)
+ br i1 %t347, label %exc.u156, label %exc.k157
+exc.u156:
+ call void @sc_rc_release_dyn(ptr %t340)
+ ret ptr null
+exc.k157:
+ call void @sc_rc_release_dyn(ptr %t340)
+ br i1 %t344, label %if.t158, label %if.j159
+if.t158:
+ %t348 = load ptr, ptr %sc_l_p_receiver
+ %t349 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t348, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t350 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t349)
+ %t351 = load i32, ptr %exc.cell
+ %t352 = icmp ne i32 %t351, 0
+ %t353 = call i1 @llvm.expect.i1(i1 %t352, i1 false)
+ br i1 %t353, label %exc.u160, label %exc.k161
+exc.u160:
+ call void @sc_rc_release_dyn(ptr %t350)
+ ret ptr null
+exc.k161:
+ %t354 = load ptr, ptr %sc_l_p_receiver
+ %t355 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t354, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t356 = call ptr @scr_dyn_bag_get(ptr %t350, ptr @sc_lit_181663572509014, ptr %t355)
+ %t357 = load i32, ptr %exc.cell
+ %t358 = icmp ne i32 %t357, 0
+ %t359 = call i1 @llvm.expect.i1(i1 %t358, i1 false)
+ br i1 %t359, label %exc.u162, label %exc.k163
+exc.u162:
+ call void @sc_rc_release_dyn(ptr %t350)
+ call void @sc_rc_release_dyn(ptr %t355)
+ call void @sc_rc_release_dyn(ptr %t356)
+ ret ptr null
+exc.k163:
+ call void @sc_rc_release_dyn(ptr %t350)
+ call void @sc_rc_release_dyn(ptr %t355)
+ ret ptr %t356
+if.j159:
+ %t361 = call ptr @scr_dyn_undefined()
+ %t360 = call ptr @scr_dyn_retain_v(ptr %t361)
+ ret ptr %t360
+if.j153:
+ %t362 = load ptr, ptr %sc_l_p_key
+ %t363 = call zeroext i1 @sc_streq_992600386266231(ptr %t362)
+ br i1 %t363, label %if.t164, label %if.j165
+if.t164:
+ %t364 = load ptr, ptr %sc_l_p_receiver
+ %t365 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t364, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t366 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t365)
+ %t367 = load i32, ptr %exc.cell
+ %t368 = icmp ne i32 %t367, 0
+ %t369 = call i1 @llvm.expect.i1(i1 %t368, i1 false)
+ br i1 %t369, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t366)
+ ret ptr null
+exc.k167:
+ %t370 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t366, ptr @sc_lit_992600386266231)
+ %t371 = load i32, ptr %exc.cell
+ %t372 = icmp ne i32 %t371, 0
+ %t373 = call i1 @llvm.expect.i1(i1 %t372, i1 false)
+ br i1 %t373, label %exc.u168, label %exc.k169
+exc.u168:
+ call void @sc_rc_release_dyn(ptr %t366)
+ ret ptr null
+exc.k169:
+ call void @sc_rc_release_dyn(ptr %t366)
+ br i1 %t370, label %if.t170, label %if.j171
+if.t170:
+ %t374 = load ptr, ptr %sc_l_p_receiver
+ %t375 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t374, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t376 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t375)
+ %t377 = load i32, ptr %exc.cell
+ %t378 = icmp ne i32 %t377, 0
+ %t379 = call i1 @llvm.expect.i1(i1 %t378, i1 false)
+ br i1 %t379, label %exc.u172, label %exc.k173
+exc.u172:
+ call void @sc_rc_release_dyn(ptr %t376)
+ ret ptr null
+exc.k173:
+ %t380 = load ptr, ptr %sc_l_p_receiver
+ %t381 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t380, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t382 = call ptr @scr_dyn_bag_get(ptr %t376, ptr @sc_lit_992600386266231, ptr %t381)
+ %t383 = load i32, ptr %exc.cell
+ %t384 = icmp ne i32 %t383, 0
+ %t385 = call i1 @llvm.expect.i1(i1 %t384, i1 false)
+ br i1 %t385, label %exc.u174, label %exc.k175
+exc.u174:
+ call void @sc_rc_release_dyn(ptr %t376)
+ call void @sc_rc_release_dyn(ptr %t381)
+ call void @sc_rc_release_dyn(ptr %t382)
+ ret ptr null
+exc.k175:
+ call void @sc_rc_release_dyn(ptr %t376)
+ call void @sc_rc_release_dyn(ptr %t381)
+ ret ptr %t382
+if.j171:
+ %t387 = call ptr @scr_dyn_undefined()
+ %t386 = call ptr @scr_dyn_retain_v(ptr %t387)
+ ret ptr %t386
+if.j165:
+ %t388 = load ptr, ptr %sc_l_p_key
+ %t389 = call zeroext i1 @sc_streq_4198614539576238(ptr %t388)
+ br i1 %t389, label %if.t176, label %if.j177
+if.t176:
+ %t390 = load ptr, ptr %sc_l_p_receiver
+ %t391 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t390, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t392 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t391)
+ %t393 = load i32, ptr %exc.cell
+ %t394 = icmp ne i32 %t393, 0
+ %t395 = call i1 @llvm.expect.i1(i1 %t394, i1 false)
+ br i1 %t395, label %exc.u178, label %exc.k179
+exc.u178:
+ call void @sc_rc_release_dyn(ptr %t392)
+ ret ptr null
+exc.k179:
+ %t396 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t392, ptr @sc_lit_4198614539576238)
+ %t397 = load i32, ptr %exc.cell
+ %t398 = icmp ne i32 %t397, 0
+ %t399 = call i1 @llvm.expect.i1(i1 %t398, i1 false)
+ br i1 %t399, label %exc.u180, label %exc.k181
+exc.u180:
+ call void @sc_rc_release_dyn(ptr %t392)
+ ret ptr null
+exc.k181:
+ call void @sc_rc_release_dyn(ptr %t392)
+ br i1 %t396, label %if.t182, label %if.j183
+if.t182:
+ %t400 = load ptr, ptr %sc_l_p_receiver
+ %t401 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t400, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t402 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t401)
+ %t403 = load i32, ptr %exc.cell
+ %t404 = icmp ne i32 %t403, 0
+ %t405 = call i1 @llvm.expect.i1(i1 %t404, i1 false)
+ br i1 %t405, label %exc.u184, label %exc.k185
+exc.u184:
+ call void @sc_rc_release_dyn(ptr %t402)
+ ret ptr null
+exc.k185:
+ %t406 = load ptr, ptr %sc_l_p_receiver
+ %t407 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t406, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t408 = call ptr @scr_dyn_bag_get(ptr %t402, ptr @sc_lit_4198614539576238, ptr %t407)
+ %t409 = load i32, ptr %exc.cell
+ %t410 = icmp ne i32 %t409, 0
+ %t411 = call i1 @llvm.expect.i1(i1 %t410, i1 false)
+ br i1 %t411, label %exc.u186, label %exc.k187
+exc.u186:
+ call void @sc_rc_release_dyn(ptr %t402)
+ call void @sc_rc_release_dyn(ptr %t407)
+ call void @sc_rc_release_dyn(ptr %t408)
+ ret ptr null
+exc.k187:
+ call void @sc_rc_release_dyn(ptr %t402)
+ call void @sc_rc_release_dyn(ptr %t407)
+ ret ptr %t408
+if.j183:
+ %t413 = call ptr @scr_dyn_undefined()
+ %t412 = call ptr @scr_dyn_retain_v(ptr %t413)
+ ret ptr %t412
+if.j177:
+ %t414 = load ptr, ptr %sc_l_p_key
+ %t415 = call zeroext i1 @sc_streq_3908714124573206(ptr %t414)
+ br i1 %t415, label %if.t188, label %if.j189
+if.t188:
+ %t416 = load ptr, ptr %sc_l_p_receiver
+ %t417 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t416, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t418 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t417)
+ %t419 = load i32, ptr %exc.cell
+ %t420 = icmp ne i32 %t419, 0
+ %t421 = call i1 @llvm.expect.i1(i1 %t420, i1 false)
+ br i1 %t421, label %exc.u190, label %exc.k191
+exc.u190:
+ call void @sc_rc_release_dyn(ptr %t418)
+ ret ptr null
+exc.k191:
+ %t422 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t418, ptr @sc_lit_3908714124573206)
+ %t423 = load i32, ptr %exc.cell
+ %t424 = icmp ne i32 %t423, 0
+ %t425 = call i1 @llvm.expect.i1(i1 %t424, i1 false)
+ br i1 %t425, label %exc.u192, label %exc.k193
+exc.u192:
+ call void @sc_rc_release_dyn(ptr %t418)
+ ret ptr null
+exc.k193:
+ call void @sc_rc_release_dyn(ptr %t418)
+ br i1 %t422, label %if.t194, label %if.j195
+if.t194:
+ %t426 = load ptr, ptr %sc_l_p_receiver
+ %t427 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t426, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t428 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t427)
+ %t429 = load i32, ptr %exc.cell
+ %t430 = icmp ne i32 %t429, 0
+ %t431 = call i1 @llvm.expect.i1(i1 %t430, i1 false)
+ br i1 %t431, label %exc.u196, label %exc.k197
+exc.u196:
+ call void @sc_rc_release_dyn(ptr %t428)
+ ret ptr null
+exc.k197:
+ %t432 = load ptr, ptr %sc_l_p_receiver
+ %t433 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t432, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t434 = call ptr @scr_dyn_bag_get(ptr %t428, ptr @sc_lit_3908714124573206, ptr %t433)
+ %t435 = load i32, ptr %exc.cell
+ %t436 = icmp ne i32 %t435, 0
+ %t437 = call i1 @llvm.expect.i1(i1 %t436, i1 false)
+ br i1 %t437, label %exc.u198, label %exc.k199
+exc.u198:
+ call void @sc_rc_release_dyn(ptr %t428)
+ call void @sc_rc_release_dyn(ptr %t433)
+ call void @sc_rc_release_dyn(ptr %t434)
+ ret ptr null
+exc.k199:
+ call void @sc_rc_release_dyn(ptr %t428)
+ call void @sc_rc_release_dyn(ptr %t433)
+ ret ptr %t434
+if.j195:
+ %t439 = call ptr @scr_dyn_undefined()
+ %t438 = call ptr @scr_dyn_retain_v(ptr %t439)
+ ret ptr %t438
+if.j189:
+ %t440 = load ptr, ptr %sc_l_p_key
+ %t441 = call zeroext i1 @sc_streq_3108123016971750(ptr %t440)
+ br i1 %t441, label %if.t200, label %if.j201
+if.t200:
+ %t442 = load ptr, ptr %sc_l_p_receiver
+ %t443 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t442, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t444 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t443)
+ %t445 = load i32, ptr %exc.cell
+ %t446 = icmp ne i32 %t445, 0
+ %t447 = call i1 @llvm.expect.i1(i1 %t446, i1 false)
+ br i1 %t447, label %exc.u202, label %exc.k203
+exc.u202:
+ call void @sc_rc_release_dyn(ptr %t444)
+ ret ptr null
+exc.k203:
+ %t448 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t444, ptr @sc_lit_3108123016971750)
+ %t449 = load i32, ptr %exc.cell
+ %t450 = icmp ne i32 %t449, 0
+ %t451 = call i1 @llvm.expect.i1(i1 %t450, i1 false)
+ br i1 %t451, label %exc.u204, label %exc.k205
+exc.u204:
+ call void @sc_rc_release_dyn(ptr %t444)
+ ret ptr null
+exc.k205:
+ call void @sc_rc_release_dyn(ptr %t444)
+ br i1 %t448, label %if.t206, label %if.j207
+if.t206:
+ %t452 = load ptr, ptr %sc_l_p_receiver
+ %t453 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t452, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t454 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t453)
+ %t455 = load i32, ptr %exc.cell
+ %t456 = icmp ne i32 %t455, 0
+ %t457 = call i1 @llvm.expect.i1(i1 %t456, i1 false)
+ br i1 %t457, label %exc.u208, label %exc.k209
+exc.u208:
+ call void @sc_rc_release_dyn(ptr %t454)
+ ret ptr null
+exc.k209:
+ %t458 = load ptr, ptr %sc_l_p_receiver
+ %t459 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t458, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t460 = call ptr @scr_dyn_bag_get(ptr %t454, ptr @sc_lit_3108123016971750, ptr %t459)
+ %t461 = load i32, ptr %exc.cell
+ %t462 = icmp ne i32 %t461, 0
+ %t463 = call i1 @llvm.expect.i1(i1 %t462, i1 false)
+ br i1 %t463, label %exc.u210, label %exc.k211
+exc.u210:
+ call void @sc_rc_release_dyn(ptr %t454)
+ call void @sc_rc_release_dyn(ptr %t459)
+ call void @sc_rc_release_dyn(ptr %t460)
+ ret ptr null
+exc.k211:
+ call void @sc_rc_release_dyn(ptr %t454)
+ call void @sc_rc_release_dyn(ptr %t459)
+ ret ptr %t460
+if.j207:
+ %t465 = call ptr @scr_dyn_undefined()
+ %t464 = call ptr @scr_dyn_retain_v(ptr %t465)
+ ret ptr %t464
+if.j201:
+ %t466 = load ptr, ptr %sc_l_p_0
+ %t467 = call ptr @sc_rc_retain_dyn(ptr %t466)
+ %t468 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t467)
+ %t469 = load i32, ptr %exc.cell
+ %t470 = icmp ne i32 %t469, 0
+ %t471 = call i1 @llvm.expect.i1(i1 %t470, i1 false)
+ br i1 %t471, label %exc.u212, label %exc.k213
+exc.u212:
+ call void @sc_rc_release_dyn(ptr %t468)
+ ret ptr null
+exc.k213:
+ %t472 = load ptr, ptr %sc_l_p_key
+ %t473 = call ptr @sc_rc_retain_str(ptr %t472)
+ %t474 = load ptr, ptr %sc_l_p_receiver
+ %t475 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t474, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t476 = call ptr @scr_dyn_bag_get(ptr %t468, ptr %t473, ptr %t475)
+ %t477 = load i32, ptr %exc.cell
+ %t478 = icmp ne i32 %t477, 0
+ %t479 = call i1 @llvm.expect.i1(i1 %t478, i1 false)
+ br i1 %t479, label %exc.u214, label %exc.k215
+exc.u214:
+ call void @sc_rc_release_dyn(ptr %t468)
+ call void @scr_str_release(ptr %t473)
+ call void @sc_rc_release_dyn(ptr %t475)
+ call void @sc_rc_release_dyn(ptr %t476)
+ ret ptr null
+exc.k215:
+ call void @sc_rc_release_dyn(ptr %t468)
+ call void @scr_str_release(ptr %t473)
+ call void @sc_rc_release_dyn(ptr %t475)
+ ret ptr %t476
+}
+define internal ptr @sc_f__x25_dyn_class_keys_496(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_496(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_497(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.497
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_127274431826284(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t6, i64 0, i32 3
+ %t8 = load double, ptr %t7, !tbaa !52
+ %t9 = call ptr @sc_td_2(double %t8)
+ ret ptr %t9
+if.j3:
+ %t10 = load ptr, ptr %sc_l_p_key
+ %t11 = call zeroext i1 @sc_streq_3231205774586710(ptr %t10)
+ br i1 %t11, label %if.t4, label %if.j5
+if.t4:
+ %t12 = load ptr, ptr %sc_l_p_receiver
+ %t13 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t12, i64 0, i32 4
+ %t14 = load ptr, ptr %t13, !tbaa !54
+ %t15 = call ptr @scr_arr_retain_v(ptr %t14)
+ %t16 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t15, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t16, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t15)
+ ret ptr %t16
+if.j5:
+ %t17 = load ptr, ptr %sc_l_p_key
+ %t18 = call zeroext i1 @sc_streq_538032548850790(ptr %t17)
+ br i1 %t18, label %if.t6, label %if.j7
+if.t6:
+ %t19 = load ptr, ptr %sc_l_p_receiver
+ %t20 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t19, i64 0, i32 5
+ %t21 = load ptr, ptr %t20, !tbaa !56
+ %t22 = call ptr @scr_arr_retain_v(ptr %t21)
+ %t23 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t22, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t23, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t22)
+ ret ptr %t23
+if.j7:
+ %t24 = load ptr, ptr %sc_l_p_key
+ %t25 = call zeroext i1 @sc_streq_4231320391602270(ptr %t24)
+ br i1 %t25, label %if.t8, label %if.j9
+if.t8:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t26, i64 0, i32 6
+ %t28 = load ptr, ptr %t27, !tbaa !58
+ %t29 = call ptr @scr_arr_retain_v(ptr %t28)
+ %t30 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t29, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t30, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t29)
+ ret ptr %t30
+if.j9:
+ %t31 = load ptr, ptr %sc_l_p_key
+ %t32 = call zeroext i1 @sc_streq_2537232771826273(ptr %t31)
+ br i1 %t32, label %if.t10, label %if.j11
+if.t10:
+ %t33 = load ptr, ptr %sc_l_p_receiver
+ %t34 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t33, i64 0, i32 7
+ %t35 = load ptr, ptr %t34, !tbaa !60
+ %t36 = call ptr @scr_arr_retain_v(ptr %t35)
+ %t37 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t36, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t37, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t36)
+ ret ptr %t37
+if.j11:
+ %t38 = load ptr, ptr %sc_l_p_key
+ %t39 = call zeroext i1 @sc_streq_2163543391075186(ptr %t38)
+ br i1 %t39, label %if.t12, label %if.j13
+if.t12:
+ %t40 = load ptr, ptr %sc_l_p_receiver
+ %t41 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t40, i64 0, i32 8
+ %t42 = load i8, ptr %t41, !tbaa !42
+ %t43 = trunc i8 %t42 to i1
+ %t44 = call ptr @sc_td_3(i1 %t43)
+ ret ptr %t44
+if.j13:
+ %t45 = load ptr, ptr %sc_l_p_key
+ %t46 = call zeroext i1 @sc_streq_1579912071364319(ptr %t45)
+ br i1 %t46, label %if.t14, label %if.j15
+if.t14:
+ %t47 = load ptr, ptr %sc_l_p_receiver
+ %t48 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t47, i64 0, i32 9
+ %t49 = load i8, ptr %t48, !tbaa !62
+ %t50 = trunc i8 %t49 to i1
+ %t51 = call ptr @sc_td_3(i1 %t50)
+ ret ptr %t51
+if.j15:
+ %t52 = load ptr, ptr %sc_l_p_key
+ %t53 = call zeroext i1 @sc_streq_1640919894513317(ptr %t52)
+ br i1 %t53, label %if.t16, label %if.j17
+if.t16:
+ %t54 = load ptr, ptr %sc_l_p_receiver
+ %t55 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t54, i64 0, i32 10
+ %t56 = load ptr, ptr %t55, !tbaa !64
+ %t57 = call ptr @sc_rretain_r1(ptr %t56)
+ %t58 = call ptr @sc_ldu_0(ptr %t57)
+ call void @sc_rrelease_r1(ptr %t57)
+ ret ptr %t58
+if.j17:
+ %t59 = load ptr, ptr %sc_l_p_key
+ %t60 = call zeroext i1 @sc_streq_4191962028163388(ptr %t59)
+ br i1 %t60, label %if.t18, label %if.j19
+if.t18:
+ %t61 = load ptr, ptr %sc_l_p_receiver
+ %t62 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t61, i64 0, i32 11
+ %t63 = load i8, ptr %t62, !tbaa !66
+ %t64 = trunc i8 %t63 to i1
+ %t65 = call ptr @sc_td_3(i1 %t64)
+ ret ptr %t65
+if.j19:
+ %t66 = load ptr, ptr %sc_l_p_key
+ %t67 = call zeroext i1 @sc_streq_2098081682588801(ptr %t66)
+ br i1 %t67, label %if.t20, label %if.j21
+if.t20:
+ %t68 = load ptr, ptr %sc_l_p_receiver
+ %t69 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t68, i64 0, i32 12
+ %t70 = load ptr, ptr %t69, !tbaa !68
+ %t71 = call ptr @sc_rretain_r2(ptr %t70)
+ %t72 = call ptr @sc_ldu_1(ptr %t71)
+ call void @sc_rrelease_r2(ptr %t71)
+ ret ptr %t72
+if.j21:
+ %t73 = load ptr, ptr %sc_l_p_key
+ %t74 = call zeroext i1 @sc_streq_4448851817182856(ptr %t73)
+ br i1 %t74, label %if.t22, label %if.j23
+if.t22:
+ %t75 = load ptr, ptr %sc_l_p_receiver
+ %t76 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t75, i64 0, i32 13
+ %t77 = load i8, ptr %t76, !tbaa !70
+ %t78 = trunc i8 %t77 to i1
+ %t79 = call ptr @sc_td_3(i1 %t78)
+ ret ptr %t79
+if.j23:
+ %t80 = load ptr, ptr %sc_l_p_key
+ %t81 = call zeroext i1 @sc_streq_3752021314181142(ptr %t80)
+ br i1 %t81, label %if.t24, label %if.j25
+if.t24:
+ %t82 = load ptr, ptr %sc_l_p_receiver
+ %t83 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t82, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t84 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t83)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k27:
+ %t88 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t84, ptr @sc_lit_3752021314181142)
+ %t89 = load i32, ptr %exc.cell
+ %t90 = icmp ne i32 %t89, 0
+ %t91 = call i1 @llvm.expect.i1(i1 %t90, i1 false)
+ br i1 %t91, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k29:
+ call void @sc_rc_release_dyn(ptr %t84)
+ br i1 %t88, label %if.t30, label %if.j31
+if.t30:
+ %t92 = load ptr, ptr %sc_l_p_receiver
+ %t93 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t92, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t94 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t93)
+ %t95 = load i32, ptr %exc.cell
+ %t96 = icmp ne i32 %t95, 0
+ %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false)
+ br i1 %t97, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr null
+exc.k33:
+ %t98 = load ptr, ptr %sc_l_p_receiver
+ %t99 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t98, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t100 = call ptr @scr_dyn_bag_get(ptr %t94, ptr @sc_lit_3752021314181142, ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t99)
+ call void @sc_rc_release_dyn(ptr %t100)
+ ret ptr null
+exc.k35:
+ call void @sc_rc_release_dyn(ptr %t94)
+ call void @sc_rc_release_dyn(ptr %t99)
+ ret ptr %t100
+if.j31:
+ %t105 = call ptr @scr_dyn_undefined()
+ %t104 = call ptr @scr_dyn_retain_v(ptr %t105)
+ ret ptr %t104
+if.j25:
+ %t106 = load ptr, ptr %sc_l_p_key
+ %t107 = call zeroext i1 @sc_streq_2364278031517622(ptr %t106)
+ br i1 %t107, label %if.t36, label %if.j37
+if.t36:
+ %t108 = load ptr, ptr %sc_l_p_receiver
+ %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t110 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t109)
+ %t111 = load i32, ptr %exc.cell
+ %t112 = icmp ne i32 %t111, 0
+ %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false)
+ br i1 %t113, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t110)
+ ret ptr null
+exc.k39:
+ %t114 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t110, ptr @sc_lit_2364278031517622)
+ %t115 = load i32, ptr %exc.cell
+ %t116 = icmp ne i32 %t115, 0
+ %t117 = call i1 @llvm.expect.i1(i1 %t116, i1 false)
+ br i1 %t117, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t110)
+ ret ptr null
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br i1 %t114, label %if.t42, label %if.j43
+if.t42:
+ %t118 = load ptr, ptr %sc_l_p_receiver
+ %t119 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t118, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t120 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t119)
+ %t121 = load i32, ptr %exc.cell
+ %t122 = icmp ne i32 %t121, 0
+ %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false)
+ br i1 %t123, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t120)
+ ret ptr null
+exc.k45:
+ %t124 = load ptr, ptr %sc_l_p_receiver
+ %t125 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t124, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t126 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_2364278031517622, ptr %t125)
+ %t127 = load i32, ptr %exc.cell
+ %t128 = icmp ne i32 %t127, 0
+ %t129 = call i1 @llvm.expect.i1(i1 %t128, i1 false)
+ br i1 %t129, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t125)
+ call void @sc_rc_release_dyn(ptr %t126)
+ ret ptr null
+exc.k47:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t125)
+ ret ptr %t126
+if.j43:
+ %t131 = call ptr @scr_dyn_undefined()
+ %t130 = call ptr @scr_dyn_retain_v(ptr %t131)
+ ret ptr %t130
+if.j37:
+ %t132 = load ptr, ptr %sc_l_p_key
+ %t133 = call zeroext i1 @sc_streq_470306239805907(ptr %t132)
+ br i1 %t133, label %if.t48, label %if.j49
+if.t48:
+ %t134 = load ptr, ptr %sc_l_p_receiver
+ %t135 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t134, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t136 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t135)
+ %t137 = load i32, ptr %exc.cell
+ %t138 = icmp ne i32 %t137, 0
+ %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false)
+ br i1 %t139, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t136)
+ ret ptr null
+exc.k51:
+ %t140 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t136, ptr @sc_lit_470306239805907)
+ %t141 = load i32, ptr %exc.cell
+ %t142 = icmp ne i32 %t141, 0
+ %t143 = call i1 @llvm.expect.i1(i1 %t142, i1 false)
+ br i1 %t143, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t136)
+ ret ptr null
+exc.k53:
+ call void @sc_rc_release_dyn(ptr %t136)
+ br i1 %t140, label %if.t54, label %if.j55
+if.t54:
+ %t144 = load ptr, ptr %sc_l_p_receiver
+ %t145 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t144, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t146 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t145)
+ %t147 = load i32, ptr %exc.cell
+ %t148 = icmp ne i32 %t147, 0
+ %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false)
+ br i1 %t149, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t146)
+ ret ptr null
+exc.k57:
+ %t150 = load ptr, ptr %sc_l_p_receiver
+ %t151 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t150, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t152 = call ptr @scr_dyn_bag_get(ptr %t146, ptr @sc_lit_470306239805907, ptr %t151)
+ %t153 = load i32, ptr %exc.cell
+ %t154 = icmp ne i32 %t153, 0
+ %t155 = call i1 @llvm.expect.i1(i1 %t154, i1 false)
+ br i1 %t155, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t146)
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t152)
+ ret ptr null
+exc.k59:
+ call void @sc_rc_release_dyn(ptr %t146)
+ call void @sc_rc_release_dyn(ptr %t151)
+ ret ptr %t152
+if.j55:
+ %t157 = call ptr @scr_dyn_undefined()
+ %t156 = call ptr @scr_dyn_retain_v(ptr %t157)
+ ret ptr %t156
+if.j49:
+ %t158 = load ptr, ptr %sc_l_p_key
+ %t159 = call zeroext i1 @sc_streq_4133069531575059(ptr %t158)
+ br i1 %t159, label %if.t60, label %if.j61
+if.t60:
+ %t160 = load ptr, ptr %sc_l_p_receiver
+ %t161 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t160, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t162 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t161)
+ %t163 = load i32, ptr %exc.cell
+ %t164 = icmp ne i32 %t163, 0
+ %t165 = call i1 @llvm.expect.i1(i1 %t164, i1 false)
+ br i1 %t165, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t162)
+ ret ptr null
+exc.k63:
+ %t166 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t162, ptr @sc_lit_4133069531575059)
+ %t167 = load i32, ptr %exc.cell
+ %t168 = icmp ne i32 %t167, 0
+ %t169 = call i1 @llvm.expect.i1(i1 %t168, i1 false)
+ br i1 %t169, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t162)
+ ret ptr null
+exc.k65:
+ call void @sc_rc_release_dyn(ptr %t162)
+ br i1 %t166, label %if.t66, label %if.j67
+if.t66:
+ %t170 = load ptr, ptr %sc_l_p_receiver
+ %t171 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t170, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t172 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t171)
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t172)
+ ret ptr null
+exc.k69:
+ %t176 = load ptr, ptr %sc_l_p_receiver
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t172, ptr @sc_lit_4133069531575059, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ ret ptr null
+exc.k71:
+ call void @sc_rc_release_dyn(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t177)
+ ret ptr %t178
+if.j67:
+ %t183 = call ptr @scr_dyn_undefined()
+ %t182 = call ptr @scr_dyn_retain_v(ptr %t183)
+ ret ptr %t182
+if.j61:
+ %t184 = load ptr, ptr %sc_l_p_key
+ %t185 = call zeroext i1 @sc_streq_2253648670486996(ptr %t184)
+ br i1 %t185, label %if.t72, label %if.j73
+if.t72:
+ %t186 = load ptr, ptr %sc_l_p_receiver
+ %t187 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t186, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t188 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t187)
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @sc_rc_release_dyn(ptr %t188)
+ ret ptr null
+exc.k75:
+ %t192 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t188, ptr @sc_lit_2253648670486996)
+ %t193 = load i32, ptr %exc.cell
+ %t194 = icmp ne i32 %t193, 0
+ %t195 = call i1 @llvm.expect.i1(i1 %t194, i1 false)
+ br i1 %t195, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t188)
+ ret ptr null
+exc.k77:
+ call void @sc_rc_release_dyn(ptr %t188)
+ br i1 %t192, label %if.t78, label %if.j79
+if.t78:
+ %t196 = load ptr, ptr %sc_l_p_receiver
+ %t197 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t196, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t198 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t197)
+ %t199 = load i32, ptr %exc.cell
+ %t200 = icmp ne i32 %t199, 0
+ %t201 = call i1 @llvm.expect.i1(i1 %t200, i1 false)
+ br i1 %t201, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @sc_rc_release_dyn(ptr %t198)
+ ret ptr null
+exc.k81:
+ %t202 = load ptr, ptr %sc_l_p_receiver
+ %t203 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t202, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t204 = call ptr @scr_dyn_bag_get(ptr %t198, ptr @sc_lit_2253648670486996, ptr %t203)
+ %t205 = load i32, ptr %exc.cell
+ %t206 = icmp ne i32 %t205, 0
+ %t207 = call i1 @llvm.expect.i1(i1 %t206, i1 false)
+ br i1 %t207, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_rc_release_dyn(ptr %t203)
+ call void @sc_rc_release_dyn(ptr %t204)
+ ret ptr null
+exc.k83:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_rc_release_dyn(ptr %t203)
+ ret ptr %t204
+if.j79:
+ %t209 = call ptr @scr_dyn_undefined()
+ %t208 = call ptr @scr_dyn_retain_v(ptr %t209)
+ ret ptr %t208
+if.j73:
+ %t210 = load ptr, ptr %sc_l_p_key
+ %t211 = call zeroext i1 @sc_streq_161925136240866(ptr %t210)
+ br i1 %t211, label %if.t84, label %if.j85
+if.t84:
+ %t212 = load ptr, ptr %sc_l_p_receiver
+ %t213 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t212, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t214 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t213)
+ %t215 = load i32, ptr %exc.cell
+ %t216 = icmp ne i32 %t215, 0
+ %t217 = call i1 @llvm.expect.i1(i1 %t216, i1 false)
+ br i1 %t217, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t214)
+ ret ptr null
+exc.k87:
+ %t218 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t214, ptr @sc_lit_161925136240866)
+ %t219 = load i32, ptr %exc.cell
+ %t220 = icmp ne i32 %t219, 0
+ %t221 = call i1 @llvm.expect.i1(i1 %t220, i1 false)
+ br i1 %t221, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t214)
+ ret ptr null
+exc.k89:
+ call void @sc_rc_release_dyn(ptr %t214)
+ br i1 %t218, label %if.t90, label %if.j91
+if.t90:
+ %t222 = load ptr, ptr %sc_l_p_receiver
+ %t223 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t222, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t224 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t223)
+ %t225 = load i32, ptr %exc.cell
+ %t226 = icmp ne i32 %t225, 0
+ %t227 = call i1 @llvm.expect.i1(i1 %t226, i1 false)
+ br i1 %t227, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t224)
+ ret ptr null
+exc.k93:
+ %t228 = load ptr, ptr %sc_l_p_receiver
+ %t229 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t228, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t230 = call ptr @scr_dyn_bag_get(ptr %t224, ptr @sc_lit_161925136240866, ptr %t229)
+ %t231 = load i32, ptr %exc.cell
+ %t232 = icmp ne i32 %t231, 0
+ %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false)
+ br i1 %t233, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t224)
+ call void @sc_rc_release_dyn(ptr %t229)
+ call void @sc_rc_release_dyn(ptr %t230)
+ ret ptr null
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t224)
+ call void @sc_rc_release_dyn(ptr %t229)
+ ret ptr %t230
+if.j91:
+ %t235 = call ptr @scr_dyn_undefined()
+ %t234 = call ptr @scr_dyn_retain_v(ptr %t235)
+ ret ptr %t234
+if.j85:
+ %t236 = load ptr, ptr %sc_l_p_key
+ %t237 = call zeroext i1 @sc_streq_298897322184109(ptr %t236)
+ br i1 %t237, label %if.t96, label %if.j97
+if.t96:
+ %t238 = load ptr, ptr %sc_l_p_receiver
+ %t239 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t238, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t240 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t239)
+ %t241 = load i32, ptr %exc.cell
+ %t242 = icmp ne i32 %t241, 0
+ %t243 = call i1 @llvm.expect.i1(i1 %t242, i1 false)
+ br i1 %t243, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @sc_rc_release_dyn(ptr %t240)
+ ret ptr null
+exc.k99:
+ %t244 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t240, ptr @sc_lit_298897322184109)
+ %t245 = load i32, ptr %exc.cell
+ %t246 = icmp ne i32 %t245, 0
+ %t247 = call i1 @llvm.expect.i1(i1 %t246, i1 false)
+ br i1 %t247, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t240)
+ ret ptr null
+exc.k101:
+ call void @sc_rc_release_dyn(ptr %t240)
+ br i1 %t244, label %if.t102, label %if.j103
+if.t102:
+ %t248 = load ptr, ptr %sc_l_p_receiver
+ %t249 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t248, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t250 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t249)
+ %t251 = load i32, ptr %exc.cell
+ %t252 = icmp ne i32 %t251, 0
+ %t253 = call i1 @llvm.expect.i1(i1 %t252, i1 false)
+ br i1 %t253, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t250)
+ ret ptr null
+exc.k105:
+ %t254 = load ptr, ptr %sc_l_p_receiver
+ %t255 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t254, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t256 = call ptr @scr_dyn_bag_get(ptr %t250, ptr @sc_lit_298897322184109, ptr %t255)
+ %t257 = load i32, ptr %exc.cell
+ %t258 = icmp ne i32 %t257, 0
+ %t259 = call i1 @llvm.expect.i1(i1 %t258, i1 false)
+ br i1 %t259, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t250)
+ call void @sc_rc_release_dyn(ptr %t255)
+ call void @sc_rc_release_dyn(ptr %t256)
+ ret ptr null
+exc.k107:
+ call void @sc_rc_release_dyn(ptr %t250)
+ call void @sc_rc_release_dyn(ptr %t255)
+ ret ptr %t256
+if.j103:
+ %t261 = call ptr @scr_dyn_undefined()
+ %t260 = call ptr @scr_dyn_retain_v(ptr %t261)
+ ret ptr %t260
+if.j97:
+ %t262 = load ptr, ptr %sc_l_p_key
+ %t263 = call zeroext i1 @sc_streq_4085448292571548(ptr %t262)
+ br i1 %t263, label %if.t108, label %if.j109
+if.t108:
+ %t264 = load ptr, ptr %sc_l_p_receiver
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t266 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @sc_rc_release_dyn(ptr %t266)
+ ret ptr null
+exc.k111:
+ %t270 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t266, ptr @sc_lit_4085448292571548)
+ %t271 = load i32, ptr %exc.cell
+ %t272 = icmp ne i32 %t271, 0
+ %t273 = call i1 @llvm.expect.i1(i1 %t272, i1 false)
+ br i1 %t273, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t266)
+ ret ptr null
+exc.k113:
+ call void @sc_rc_release_dyn(ptr %t266)
+ br i1 %t270, label %if.t114, label %if.j115
+if.t114:
+ %t274 = load ptr, ptr %sc_l_p_receiver
+ %t275 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t274, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t276 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t275)
+ %t277 = load i32, ptr %exc.cell
+ %t278 = icmp ne i32 %t277, 0
+ %t279 = call i1 @llvm.expect.i1(i1 %t278, i1 false)
+ br i1 %t279, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t276)
+ ret ptr null
+exc.k117:
+ %t280 = load ptr, ptr %sc_l_p_receiver
+ %t281 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t280, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t282 = call ptr @scr_dyn_bag_get(ptr %t276, ptr @sc_lit_4085448292571548, ptr %t281)
+ %t283 = load i32, ptr %exc.cell
+ %t284 = icmp ne i32 %t283, 0
+ %t285 = call i1 @llvm.expect.i1(i1 %t284, i1 false)
+ br i1 %t285, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @sc_rc_release_dyn(ptr %t281)
+ call void @sc_rc_release_dyn(ptr %t282)
+ ret ptr null
+exc.k119:
+ call void @sc_rc_release_dyn(ptr %t276)
+ call void @sc_rc_release_dyn(ptr %t281)
+ ret ptr %t282
+if.j115:
+ %t287 = call ptr @scr_dyn_undefined()
+ %t286 = call ptr @scr_dyn_retain_v(ptr %t287)
+ ret ptr %t286
+if.j109:
+ %t288 = load ptr, ptr %sc_l_p_key
+ %t289 = call zeroext i1 @sc_streq_3561861343106386(ptr %t288)
+ br i1 %t289, label %if.t120, label %if.j121
+if.t120:
+ %t290 = load ptr, ptr %sc_l_p_receiver
+ %t291 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t290, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t292 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t291)
+ %t293 = load i32, ptr %exc.cell
+ %t294 = icmp ne i32 %t293, 0
+ %t295 = call i1 @llvm.expect.i1(i1 %t294, i1 false)
+ br i1 %t295, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @sc_rc_release_dyn(ptr %t292)
+ ret ptr null
+exc.k123:
+ %t296 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t292, ptr @sc_lit_3561861343106386)
+ %t297 = load i32, ptr %exc.cell
+ %t298 = icmp ne i32 %t297, 0
+ %t299 = call i1 @llvm.expect.i1(i1 %t298, i1 false)
+ br i1 %t299, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t292)
+ ret ptr null
+exc.k125:
+ call void @sc_rc_release_dyn(ptr %t292)
+ br i1 %t296, label %if.t126, label %if.j127
+if.t126:
+ %t300 = load ptr, ptr %sc_l_p_receiver
+ %t301 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t300, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t302 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t301)
+ %t303 = load i32, ptr %exc.cell
+ %t304 = icmp ne i32 %t303, 0
+ %t305 = call i1 @llvm.expect.i1(i1 %t304, i1 false)
+ br i1 %t305, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @sc_rc_release_dyn(ptr %t302)
+ ret ptr null
+exc.k129:
+ %t306 = load ptr, ptr %sc_l_p_receiver
+ %t307 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t306, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t308 = call ptr @scr_dyn_bag_get(ptr %t302, ptr @sc_lit_3561861343106386, ptr %t307)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t307)
+ call void @sc_rc_release_dyn(ptr %t308)
+ ret ptr null
+exc.k131:
+ call void @sc_rc_release_dyn(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t307)
+ ret ptr %t308
+if.j127:
+ %t313 = call ptr @scr_dyn_undefined()
+ %t312 = call ptr @scr_dyn_retain_v(ptr %t313)
+ ret ptr %t312
+if.j121:
+ %t314 = load ptr, ptr %sc_l_p_key
+ %t315 = call zeroext i1 @sc_streq_3108123016971750(ptr %t314)
+ br i1 %t315, label %if.t132, label %if.j133
+if.t132:
+ %t316 = load ptr, ptr %sc_l_p_receiver
+ %t317 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t316, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t318 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t317)
+ %t319 = load i32, ptr %exc.cell
+ %t320 = icmp ne i32 %t319, 0
+ %t321 = call i1 @llvm.expect.i1(i1 %t320, i1 false)
+ br i1 %t321, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t318)
+ ret ptr null
+exc.k135:
+ %t322 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t318, ptr @sc_lit_3108123016971750)
+ %t323 = load i32, ptr %exc.cell
+ %t324 = icmp ne i32 %t323, 0
+ %t325 = call i1 @llvm.expect.i1(i1 %t324, i1 false)
+ br i1 %t325, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t318)
+ ret ptr null
+exc.k137:
+ call void @sc_rc_release_dyn(ptr %t318)
+ br i1 %t322, label %if.t138, label %if.j139
+if.t138:
+ %t326 = load ptr, ptr %sc_l_p_receiver
+ %t327 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t326, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t328 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t327)
+ %t329 = load i32, ptr %exc.cell
+ %t330 = icmp ne i32 %t329, 0
+ %t331 = call i1 @llvm.expect.i1(i1 %t330, i1 false)
+ br i1 %t331, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t328)
+ ret ptr null
+exc.k141:
+ %t332 = load ptr, ptr %sc_l_p_receiver
+ %t333 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t332, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t334 = call ptr @scr_dyn_bag_get(ptr %t328, ptr @sc_lit_3108123016971750, ptr %t333)
+ %t335 = load i32, ptr %exc.cell
+ %t336 = icmp ne i32 %t335, 0
+ %t337 = call i1 @llvm.expect.i1(i1 %t336, i1 false)
+ br i1 %t337, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t328)
+ call void @sc_rc_release_dyn(ptr %t333)
+ call void @sc_rc_release_dyn(ptr %t334)
+ ret ptr null
+exc.k143:
+ call void @sc_rc_release_dyn(ptr %t328)
+ call void @sc_rc_release_dyn(ptr %t333)
+ ret ptr %t334
+if.j139:
+ %t339 = call ptr @scr_dyn_undefined()
+ %t338 = call ptr @scr_dyn_retain_v(ptr %t339)
+ ret ptr %t338
+if.j133:
+ %t340 = load ptr, ptr %sc_l_p_key
+ %t341 = call zeroext i1 @sc_streq_2529432852777196(ptr %t340)
+ br i1 %t341, label %if.t144, label %if.j145
+if.t144:
+ %t342 = load ptr, ptr %sc_l_p_receiver
+ %t343 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t342, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t344 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t343)
+ %t345 = load i32, ptr %exc.cell
+ %t346 = icmp ne i32 %t345, 0
+ %t347 = call i1 @llvm.expect.i1(i1 %t346, i1 false)
+ br i1 %t347, label %exc.u146, label %exc.k147
+exc.u146:
+ call void @sc_rc_release_dyn(ptr %t344)
+ ret ptr null
+exc.k147:
+ %t348 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t344, ptr @sc_lit_2529432852777196)
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @sc_rc_release_dyn(ptr %t344)
+ ret ptr null
+exc.k149:
+ call void @sc_rc_release_dyn(ptr %t344)
+ br i1 %t348, label %if.t150, label %if.j151
+if.t150:
+ %t352 = load ptr, ptr %sc_l_p_receiver
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t354 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u152, label %exc.k153
+exc.u152:
+ call void @sc_rc_release_dyn(ptr %t354)
+ ret ptr null
+exc.k153:
+ %t358 = load ptr, ptr %sc_l_p_receiver
+ %t359 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t358, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t360 = call ptr @scr_dyn_bag_get(ptr %t354, ptr @sc_lit_2529432852777196, ptr %t359)
+ %t361 = load i32, ptr %exc.cell
+ %t362 = icmp ne i32 %t361, 0
+ %t363 = call i1 @llvm.expect.i1(i1 %t362, i1 false)
+ br i1 %t363, label %exc.u154, label %exc.k155
+exc.u154:
+ call void @sc_rc_release_dyn(ptr %t354)
+ call void @sc_rc_release_dyn(ptr %t359)
+ call void @sc_rc_release_dyn(ptr %t360)
+ ret ptr null
+exc.k155:
+ call void @sc_rc_release_dyn(ptr %t354)
+ call void @sc_rc_release_dyn(ptr %t359)
+ ret ptr %t360
+if.j151:
+ %t365 = call ptr @scr_dyn_undefined()
+ %t364 = call ptr @scr_dyn_retain_v(ptr %t365)
+ ret ptr %t364
+if.j145:
+ %t366 = load ptr, ptr %sc_l_p_key
+ %t367 = call zeroext i1 @sc_streq_4297539476301093(ptr %t366)
+ br i1 %t367, label %if.t156, label %if.j157
+if.t156:
+ %t368 = load ptr, ptr %sc_l_p_receiver
+ %t369 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t368, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t370 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t369)
+ %t371 = load i32, ptr %exc.cell
+ %t372 = icmp ne i32 %t371, 0
+ %t373 = call i1 @llvm.expect.i1(i1 %t372, i1 false)
+ br i1 %t373, label %exc.u158, label %exc.k159
+exc.u158:
+ call void @sc_rc_release_dyn(ptr %t370)
+ ret ptr null
+exc.k159:
+ %t374 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t370, ptr @sc_lit_4297539476301093)
+ %t375 = load i32, ptr %exc.cell
+ %t376 = icmp ne i32 %t375, 0
+ %t377 = call i1 @llvm.expect.i1(i1 %t376, i1 false)
+ br i1 %t377, label %exc.u160, label %exc.k161
+exc.u160:
+ call void @sc_rc_release_dyn(ptr %t370)
+ ret ptr null
+exc.k161:
+ call void @sc_rc_release_dyn(ptr %t370)
+ br i1 %t374, label %if.t162, label %if.j163
+if.t162:
+ %t378 = load ptr, ptr %sc_l_p_receiver
+ %t379 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t378, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t380 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t379)
+ %t381 = load i32, ptr %exc.cell
+ %t382 = icmp ne i32 %t381, 0
+ %t383 = call i1 @llvm.expect.i1(i1 %t382, i1 false)
+ br i1 %t383, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t380)
+ ret ptr null
+exc.k165:
+ %t384 = load ptr, ptr %sc_l_p_receiver
+ %t385 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t384, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t386 = call ptr @scr_dyn_bag_get(ptr %t380, ptr @sc_lit_4297539476301093, ptr %t385)
+ %t387 = load i32, ptr %exc.cell
+ %t388 = icmp ne i32 %t387, 0
+ %t389 = call i1 @llvm.expect.i1(i1 %t388, i1 false)
+ br i1 %t389, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t380)
+ call void @sc_rc_release_dyn(ptr %t385)
+ call void @sc_rc_release_dyn(ptr %t386)
+ ret ptr null
+exc.k167:
+ call void @sc_rc_release_dyn(ptr %t380)
+ call void @sc_rc_release_dyn(ptr %t385)
+ ret ptr %t386
+if.j163:
+ %t391 = call ptr @scr_dyn_undefined()
+ %t390 = call ptr @scr_dyn_retain_v(ptr %t391)
+ ret ptr %t390
+if.j157:
+ %t392 = load ptr, ptr %sc_l_p_key
+ %t393 = call zeroext i1 @sc_streq_181663572509014(ptr %t392)
+ br i1 %t393, label %if.t168, label %if.j169
+if.t168:
+ %t394 = load ptr, ptr %sc_l_p_receiver
+ %t395 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t394, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t396 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t395)
+ %t397 = load i32, ptr %exc.cell
+ %t398 = icmp ne i32 %t397, 0
+ %t399 = call i1 @llvm.expect.i1(i1 %t398, i1 false)
+ br i1 %t399, label %exc.u170, label %exc.k171
+exc.u170:
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+exc.k171:
+ %t400 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t396, ptr @sc_lit_181663572509014)
+ %t401 = load i32, ptr %exc.cell
+ %t402 = icmp ne i32 %t401, 0
+ %t403 = call i1 @llvm.expect.i1(i1 %t402, i1 false)
+ br i1 %t403, label %exc.u172, label %exc.k173
+exc.u172:
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+exc.k173:
+ call void @sc_rc_release_dyn(ptr %t396)
+ br i1 %t400, label %if.t174, label %if.j175
+if.t174:
+ %t404 = load ptr, ptr %sc_l_p_receiver
+ %t405 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t404, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t406 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t405)
+ %t407 = load i32, ptr %exc.cell
+ %t408 = icmp ne i32 %t407, 0
+ %t409 = call i1 @llvm.expect.i1(i1 %t408, i1 false)
+ br i1 %t409, label %exc.u176, label %exc.k177
+exc.u176:
+ call void @sc_rc_release_dyn(ptr %t406)
+ ret ptr null
+exc.k177:
+ %t410 = load ptr, ptr %sc_l_p_receiver
+ %t411 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t410, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t412 = call ptr @scr_dyn_bag_get(ptr %t406, ptr @sc_lit_181663572509014, ptr %t411)
+ %t413 = load i32, ptr %exc.cell
+ %t414 = icmp ne i32 %t413, 0
+ %t415 = call i1 @llvm.expect.i1(i1 %t414, i1 false)
+ br i1 %t415, label %exc.u178, label %exc.k179
+exc.u178:
+ call void @sc_rc_release_dyn(ptr %t406)
+ call void @sc_rc_release_dyn(ptr %t411)
+ call void @sc_rc_release_dyn(ptr %t412)
+ ret ptr null
+exc.k179:
+ call void @sc_rc_release_dyn(ptr %t406)
+ call void @sc_rc_release_dyn(ptr %t411)
+ ret ptr %t412
+if.j175:
+ %t417 = call ptr @scr_dyn_undefined()
+ %t416 = call ptr @scr_dyn_retain_v(ptr %t417)
+ ret ptr %t416
+if.j169:
+ %t418 = load ptr, ptr %sc_l_p_key
+ %t419 = call zeroext i1 @sc_streq_992600386266231(ptr %t418)
+ br i1 %t419, label %if.t180, label %if.j181
+if.t180:
+ %t420 = load ptr, ptr %sc_l_p_receiver
+ %t421 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t420, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t422 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t421)
+ %t423 = load i32, ptr %exc.cell
+ %t424 = icmp ne i32 %t423, 0
+ %t425 = call i1 @llvm.expect.i1(i1 %t424, i1 false)
+ br i1 %t425, label %exc.u182, label %exc.k183
+exc.u182:
+ call void @sc_rc_release_dyn(ptr %t422)
+ ret ptr null
+exc.k183:
+ %t426 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t422, ptr @sc_lit_992600386266231)
+ %t427 = load i32, ptr %exc.cell
+ %t428 = icmp ne i32 %t427, 0
+ %t429 = call i1 @llvm.expect.i1(i1 %t428, i1 false)
+ br i1 %t429, label %exc.u184, label %exc.k185
+exc.u184:
+ call void @sc_rc_release_dyn(ptr %t422)
+ ret ptr null
+exc.k185:
+ call void @sc_rc_release_dyn(ptr %t422)
+ br i1 %t426, label %if.t186, label %if.j187
+if.t186:
+ %t430 = load ptr, ptr %sc_l_p_receiver
+ %t431 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t430, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t432 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t431)
+ %t433 = load i32, ptr %exc.cell
+ %t434 = icmp ne i32 %t433, 0
+ %t435 = call i1 @llvm.expect.i1(i1 %t434, i1 false)
+ br i1 %t435, label %exc.u188, label %exc.k189
+exc.u188:
+ call void @sc_rc_release_dyn(ptr %t432)
+ ret ptr null
+exc.k189:
+ %t436 = load ptr, ptr %sc_l_p_receiver
+ %t437 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t436, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t438 = call ptr @scr_dyn_bag_get(ptr %t432, ptr @sc_lit_992600386266231, ptr %t437)
+ %t439 = load i32, ptr %exc.cell
+ %t440 = icmp ne i32 %t439, 0
+ %t441 = call i1 @llvm.expect.i1(i1 %t440, i1 false)
+ br i1 %t441, label %exc.u190, label %exc.k191
+exc.u190:
+ call void @sc_rc_release_dyn(ptr %t432)
+ call void @sc_rc_release_dyn(ptr %t437)
+ call void @sc_rc_release_dyn(ptr %t438)
+ ret ptr null
+exc.k191:
+ call void @sc_rc_release_dyn(ptr %t432)
+ call void @sc_rc_release_dyn(ptr %t437)
+ ret ptr %t438
+if.j187:
+ %t443 = call ptr @scr_dyn_undefined()
+ %t442 = call ptr @scr_dyn_retain_v(ptr %t443)
+ ret ptr %t442
+if.j181:
+ %t444 = load ptr, ptr %sc_l_p_key
+ %t445 = call zeroext i1 @sc_streq_4198614539576238(ptr %t444)
+ br i1 %t445, label %if.t192, label %if.j193
+if.t192:
+ %t446 = load ptr, ptr %sc_l_p_receiver
+ %t447 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t446, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t448 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t447)
+ %t449 = load i32, ptr %exc.cell
+ %t450 = icmp ne i32 %t449, 0
+ %t451 = call i1 @llvm.expect.i1(i1 %t450, i1 false)
+ br i1 %t451, label %exc.u194, label %exc.k195
+exc.u194:
+ call void @sc_rc_release_dyn(ptr %t448)
+ ret ptr null
+exc.k195:
+ %t452 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t448, ptr @sc_lit_4198614539576238)
+ %t453 = load i32, ptr %exc.cell
+ %t454 = icmp ne i32 %t453, 0
+ %t455 = call i1 @llvm.expect.i1(i1 %t454, i1 false)
+ br i1 %t455, label %exc.u196, label %exc.k197
+exc.u196:
+ call void @sc_rc_release_dyn(ptr %t448)
+ ret ptr null
+exc.k197:
+ call void @sc_rc_release_dyn(ptr %t448)
+ br i1 %t452, label %if.t198, label %if.j199
+if.t198:
+ %t456 = load ptr, ptr %sc_l_p_receiver
+ %t457 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t456, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t458 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t457)
+ %t459 = load i32, ptr %exc.cell
+ %t460 = icmp ne i32 %t459, 0
+ %t461 = call i1 @llvm.expect.i1(i1 %t460, i1 false)
+ br i1 %t461, label %exc.u200, label %exc.k201
+exc.u200:
+ call void @sc_rc_release_dyn(ptr %t458)
+ ret ptr null
+exc.k201:
+ %t462 = load ptr, ptr %sc_l_p_receiver
+ %t463 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t462, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t464 = call ptr @scr_dyn_bag_get(ptr %t458, ptr @sc_lit_4198614539576238, ptr %t463)
+ %t465 = load i32, ptr %exc.cell
+ %t466 = icmp ne i32 %t465, 0
+ %t467 = call i1 @llvm.expect.i1(i1 %t466, i1 false)
+ br i1 %t467, label %exc.u202, label %exc.k203
+exc.u202:
+ call void @sc_rc_release_dyn(ptr %t458)
+ call void @sc_rc_release_dyn(ptr %t463)
+ call void @sc_rc_release_dyn(ptr %t464)
+ ret ptr null
+exc.k203:
+ call void @sc_rc_release_dyn(ptr %t458)
+ call void @sc_rc_release_dyn(ptr %t463)
+ ret ptr %t464
+if.j199:
+ %t469 = call ptr @scr_dyn_undefined()
+ %t468 = call ptr @scr_dyn_retain_v(ptr %t469)
+ ret ptr %t468
+if.j193:
+ %t470 = load ptr, ptr %sc_l_p_key
+ %t471 = call zeroext i1 @sc_streq_1959461887910059(ptr %t470)
+ br i1 %t471, label %if.t204, label %if.j205
+if.t204:
+ %t472 = load ptr, ptr %sc_l_p_receiver
+ %t473 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t472, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t474 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t473)
+ %t475 = load i32, ptr %exc.cell
+ %t476 = icmp ne i32 %t475, 0
+ %t477 = call i1 @llvm.expect.i1(i1 %t476, i1 false)
+ br i1 %t477, label %exc.u206, label %exc.k207
+exc.u206:
+ call void @sc_rc_release_dyn(ptr %t474)
+ ret ptr null
+exc.k207:
+ %t478 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t474, ptr @sc_lit_1959461887910059)
+ %t479 = load i32, ptr %exc.cell
+ %t480 = icmp ne i32 %t479, 0
+ %t481 = call i1 @llvm.expect.i1(i1 %t480, i1 false)
+ br i1 %t481, label %exc.u208, label %exc.k209
+exc.u208:
+ call void @sc_rc_release_dyn(ptr %t474)
+ ret ptr null
+exc.k209:
+ call void @sc_rc_release_dyn(ptr %t474)
+ br i1 %t478, label %if.t210, label %if.j211
+if.t210:
+ %t482 = load ptr, ptr %sc_l_p_receiver
+ %t483 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t482, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t484 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t483)
+ %t485 = load i32, ptr %exc.cell
+ %t486 = icmp ne i32 %t485, 0
+ %t487 = call i1 @llvm.expect.i1(i1 %t486, i1 false)
+ br i1 %t487, label %exc.u212, label %exc.k213
+exc.u212:
+ call void @sc_rc_release_dyn(ptr %t484)
+ ret ptr null
+exc.k213:
+ %t488 = load ptr, ptr %sc_l_p_receiver
+ %t489 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t488, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t490 = call ptr @scr_dyn_bag_get(ptr %t484, ptr @sc_lit_1959461887910059, ptr %t489)
+ %t491 = load i32, ptr %exc.cell
+ %t492 = icmp ne i32 %t491, 0
+ %t493 = call i1 @llvm.expect.i1(i1 %t492, i1 false)
+ br i1 %t493, label %exc.u214, label %exc.k215
+exc.u214:
+ call void @sc_rc_release_dyn(ptr %t484)
+ call void @sc_rc_release_dyn(ptr %t489)
+ call void @sc_rc_release_dyn(ptr %t490)
+ ret ptr null
+exc.k215:
+ call void @sc_rc_release_dyn(ptr %t484)
+ call void @sc_rc_release_dyn(ptr %t489)
+ ret ptr %t490
+if.j211:
+ %t495 = call ptr @scr_dyn_undefined()
+ %t494 = call ptr @scr_dyn_retain_v(ptr %t495)
+ ret ptr %t494
+if.j205:
+ %t496 = load ptr, ptr %sc_l_p_key
+ %t497 = call zeroext i1 @sc_streq_4028208071947570(ptr %t496)
+ br i1 %t497, label %if.t216, label %if.j217
+if.t216:
+ %t498 = load ptr, ptr %sc_l_p_receiver
+ %t499 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t498, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t500 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t499)
+ %t501 = load i32, ptr %exc.cell
+ %t502 = icmp ne i32 %t501, 0
+ %t503 = call i1 @llvm.expect.i1(i1 %t502, i1 false)
+ br i1 %t503, label %exc.u218, label %exc.k219
+exc.u218:
+ call void @sc_rc_release_dyn(ptr %t500)
+ ret ptr null
+exc.k219:
+ %t504 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t500, ptr @sc_lit_4028208071947570)
+ %t505 = load i32, ptr %exc.cell
+ %t506 = icmp ne i32 %t505, 0
+ %t507 = call i1 @llvm.expect.i1(i1 %t506, i1 false)
+ br i1 %t507, label %exc.u220, label %exc.k221
+exc.u220:
+ call void @sc_rc_release_dyn(ptr %t500)
+ ret ptr null
+exc.k221:
+ call void @sc_rc_release_dyn(ptr %t500)
+ br i1 %t504, label %if.t222, label %if.j223
+if.t222:
+ %t508 = load ptr, ptr %sc_l_p_receiver
+ %t509 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t508, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t510 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t509)
+ %t511 = load i32, ptr %exc.cell
+ %t512 = icmp ne i32 %t511, 0
+ %t513 = call i1 @llvm.expect.i1(i1 %t512, i1 false)
+ br i1 %t513, label %exc.u224, label %exc.k225
+exc.u224:
+ call void @sc_rc_release_dyn(ptr %t510)
+ ret ptr null
+exc.k225:
+ %t514 = load ptr, ptr %sc_l_p_receiver
+ %t515 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t514, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t516 = call ptr @scr_dyn_bag_get(ptr %t510, ptr @sc_lit_4028208071947570, ptr %t515)
+ %t517 = load i32, ptr %exc.cell
+ %t518 = icmp ne i32 %t517, 0
+ %t519 = call i1 @llvm.expect.i1(i1 %t518, i1 false)
+ br i1 %t519, label %exc.u226, label %exc.k227
+exc.u226:
+ call void @sc_rc_release_dyn(ptr %t510)
+ call void @sc_rc_release_dyn(ptr %t515)
+ call void @sc_rc_release_dyn(ptr %t516)
+ ret ptr null
+exc.k227:
+ call void @sc_rc_release_dyn(ptr %t510)
+ call void @sc_rc_release_dyn(ptr %t515)
+ ret ptr %t516
+if.j223:
+ %t521 = call ptr @scr_dyn_undefined()
+ %t520 = call ptr @scr_dyn_retain_v(ptr %t521)
+ ret ptr %t520
+if.j217:
+ %t522 = load ptr, ptr %sc_l_p_key
+ %t523 = call zeroext i1 @sc_streq_3908714124573206(ptr %t522)
+ br i1 %t523, label %if.t228, label %if.j229
+if.t228:
+ %t524 = load ptr, ptr %sc_l_p_receiver
+ %t525 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t524, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t526 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t525)
+ %t527 = load i32, ptr %exc.cell
+ %t528 = icmp ne i32 %t527, 0
+ %t529 = call i1 @llvm.expect.i1(i1 %t528, i1 false)
+ br i1 %t529, label %exc.u230, label %exc.k231
+exc.u230:
+ call void @sc_rc_release_dyn(ptr %t526)
+ ret ptr null
+exc.k231:
+ %t530 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t526, ptr @sc_lit_3908714124573206)
+ %t531 = load i32, ptr %exc.cell
+ %t532 = icmp ne i32 %t531, 0
+ %t533 = call i1 @llvm.expect.i1(i1 %t532, i1 false)
+ br i1 %t533, label %exc.u232, label %exc.k233
+exc.u232:
+ call void @sc_rc_release_dyn(ptr %t526)
+ ret ptr null
+exc.k233:
+ call void @sc_rc_release_dyn(ptr %t526)
+ br i1 %t530, label %if.t234, label %if.j235
+if.t234:
+ %t534 = load ptr, ptr %sc_l_p_receiver
+ %t535 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t534, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t536 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t535)
+ %t537 = load i32, ptr %exc.cell
+ %t538 = icmp ne i32 %t537, 0
+ %t539 = call i1 @llvm.expect.i1(i1 %t538, i1 false)
+ br i1 %t539, label %exc.u236, label %exc.k237
+exc.u236:
+ call void @sc_rc_release_dyn(ptr %t536)
+ ret ptr null
+exc.k237:
+ %t540 = load ptr, ptr %sc_l_p_receiver
+ %t541 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t540, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t542 = call ptr @scr_dyn_bag_get(ptr %t536, ptr @sc_lit_3908714124573206, ptr %t541)
+ %t543 = load i32, ptr %exc.cell
+ %t544 = icmp ne i32 %t543, 0
+ %t545 = call i1 @llvm.expect.i1(i1 %t544, i1 false)
+ br i1 %t545, label %exc.u238, label %exc.k239
+exc.u238:
+ call void @sc_rc_release_dyn(ptr %t536)
+ call void @sc_rc_release_dyn(ptr %t541)
+ call void @sc_rc_release_dyn(ptr %t542)
+ ret ptr null
+exc.k239:
+ call void @sc_rc_release_dyn(ptr %t536)
+ call void @sc_rc_release_dyn(ptr %t541)
+ ret ptr %t542
+if.j235:
+ %t547 = call ptr @scr_dyn_undefined()
+ %t546 = call ptr @scr_dyn_retain_v(ptr %t547)
+ ret ptr %t546
+if.j229:
+ %t548 = load ptr, ptr %sc_l_p_0
+ %t549 = call ptr @sc_rc_retain_dyn(ptr %t548)
+ %t550 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t549)
+ %t551 = load i32, ptr %exc.cell
+ %t552 = icmp ne i32 %t551, 0
+ %t553 = call i1 @llvm.expect.i1(i1 %t552, i1 false)
+ br i1 %t553, label %exc.u240, label %exc.k241
+exc.u240:
+ call void @sc_rc_release_dyn(ptr %t550)
+ ret ptr null
+exc.k241:
+ %t554 = load ptr, ptr %sc_l_p_key
+ %t555 = call ptr @sc_rc_retain_str(ptr %t554)
+ %t556 = load ptr, ptr %sc_l_p_receiver
+ %t557 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t556, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t558 = call ptr @scr_dyn_bag_get(ptr %t550, ptr %t555, ptr %t557)
+ %t559 = load i32, ptr %exc.cell
+ %t560 = icmp ne i32 %t559, 0
+ %t561 = call i1 @llvm.expect.i1(i1 %t560, i1 false)
+ br i1 %t561, label %exc.u242, label %exc.k243
+exc.u242:
+ call void @sc_rc_release_dyn(ptr %t550)
+ call void @scr_str_release(ptr %t555)
+ call void @sc_rc_release_dyn(ptr %t557)
+ call void @sc_rc_release_dyn(ptr %t558)
+ ret ptr null
+exc.k243:
+ call void @sc_rc_release_dyn(ptr %t550)
+ call void @scr_str_release(ptr %t555)
+ call void @sc_rc_release_dyn(ptr %t557)
+ ret ptr %t558
+}
+define internal ptr @sc_f__x25_dyn_class_keys_497(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_497(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_498(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.498
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_127274431826284(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t6, i64 0, i32 3
+ %t8 = load double, ptr %t7, !tbaa !52
+ %t9 = call ptr @sc_td_2(double %t8)
+ ret ptr %t9
+if.j3:
+ %t10 = load ptr, ptr %sc_l_p_key
+ %t11 = call zeroext i1 @sc_streq_3231205774586710(ptr %t10)
+ br i1 %t11, label %if.t4, label %if.j5
+if.t4:
+ %t12 = load ptr, ptr %sc_l_p_receiver
+ %t13 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t12, i64 0, i32 4
+ %t14 = load ptr, ptr %t13, !tbaa !54
+ %t15 = call ptr @scr_arr_retain_v(ptr %t14)
+ %t16 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t15, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t16, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t15)
+ ret ptr %t16
+if.j5:
+ %t17 = load ptr, ptr %sc_l_p_key
+ %t18 = call zeroext i1 @sc_streq_538032548850790(ptr %t17)
+ br i1 %t18, label %if.t6, label %if.j7
+if.t6:
+ %t19 = load ptr, ptr %sc_l_p_receiver
+ %t20 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t19, i64 0, i32 5
+ %t21 = load ptr, ptr %t20, !tbaa !56
+ %t22 = call ptr @scr_arr_retain_v(ptr %t21)
+ %t23 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t22, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t23, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t22)
+ ret ptr %t23
+if.j7:
+ %t24 = load ptr, ptr %sc_l_p_key
+ %t25 = call zeroext i1 @sc_streq_4231320391602270(ptr %t24)
+ br i1 %t25, label %if.t8, label %if.j9
+if.t8:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t26, i64 0, i32 6
+ %t28 = load ptr, ptr %t27, !tbaa !58
+ %t29 = call ptr @scr_arr_retain_v(ptr %t28)
+ %t30 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t29, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t30, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t29)
+ ret ptr %t30
+if.j9:
+ %t31 = load ptr, ptr %sc_l_p_key
+ %t32 = call zeroext i1 @sc_streq_2537232771826273(ptr %t31)
+ br i1 %t32, label %if.t10, label %if.j11
+if.t10:
+ %t33 = load ptr, ptr %sc_l_p_receiver
+ %t34 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t33, i64 0, i32 7
+ %t35 = load ptr, ptr %t34, !tbaa !60
+ %t36 = call ptr @scr_arr_retain_v(ptr %t35)
+ %t37 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t36, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t37, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t36)
+ ret ptr %t37
+if.j11:
+ %t38 = load ptr, ptr %sc_l_p_key
+ %t39 = call zeroext i1 @sc_streq_2163543391075186(ptr %t38)
+ br i1 %t39, label %if.t12, label %if.j13
+if.t12:
+ %t40 = load ptr, ptr %sc_l_p_receiver
+ %t41 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t40, i64 0, i32 8
+ %t42 = load i8, ptr %t41, !tbaa !42
+ %t43 = trunc i8 %t42 to i1
+ %t44 = call ptr @sc_td_3(i1 %t43)
+ ret ptr %t44
+if.j13:
+ %t45 = load ptr, ptr %sc_l_p_key
+ %t46 = call zeroext i1 @sc_streq_1579912071364319(ptr %t45)
+ br i1 %t46, label %if.t14, label %if.j15
+if.t14:
+ %t47 = load ptr, ptr %sc_l_p_receiver
+ %t48 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t47, i64 0, i32 9
+ %t49 = load i8, ptr %t48, !tbaa !62
+ %t50 = trunc i8 %t49 to i1
+ %t51 = call ptr @sc_td_3(i1 %t50)
+ ret ptr %t51
+if.j15:
+ %t52 = load ptr, ptr %sc_l_p_key
+ %t53 = call zeroext i1 @sc_streq_1640919894513317(ptr %t52)
+ br i1 %t53, label %if.t16, label %if.j17
+if.t16:
+ %t54 = load ptr, ptr %sc_l_p_receiver
+ %t55 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t54, i64 0, i32 10
+ %t56 = load ptr, ptr %t55, !tbaa !64
+ %t57 = call ptr @sc_rretain_r1(ptr %t56)
+ %t58 = call ptr @sc_ldu_0(ptr %t57)
+ call void @sc_rrelease_r1(ptr %t57)
+ ret ptr %t58
+if.j17:
+ %t59 = load ptr, ptr %sc_l_p_key
+ %t60 = call zeroext i1 @sc_streq_4191962028163388(ptr %t59)
+ br i1 %t60, label %if.t18, label %if.j19
+if.t18:
+ %t61 = load ptr, ptr %sc_l_p_receiver
+ %t62 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t61, i64 0, i32 11
+ %t63 = load i8, ptr %t62, !tbaa !66
+ %t64 = trunc i8 %t63 to i1
+ %t65 = call ptr @sc_td_3(i1 %t64)
+ ret ptr %t65
+if.j19:
+ %t66 = load ptr, ptr %sc_l_p_key
+ %t67 = call zeroext i1 @sc_streq_2098081682588801(ptr %t66)
+ br i1 %t67, label %if.t20, label %if.j21
+if.t20:
+ %t68 = load ptr, ptr %sc_l_p_receiver
+ %t69 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t68, i64 0, i32 12
+ %t70 = load ptr, ptr %t69, !tbaa !68
+ %t71 = call ptr @sc_rretain_r2(ptr %t70)
+ %t72 = call ptr @sc_ldu_1(ptr %t71)
+ call void @sc_rrelease_r2(ptr %t71)
+ ret ptr %t72
+if.j21:
+ %t73 = load ptr, ptr %sc_l_p_key
+ %t74 = call zeroext i1 @sc_streq_4448851817182856(ptr %t73)
+ br i1 %t74, label %if.t22, label %if.j23
+if.t22:
+ %t75 = load ptr, ptr %sc_l_p_receiver
+ %t76 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t75, i64 0, i32 13
+ %t77 = load i8, ptr %t76, !tbaa !70
+ %t78 = trunc i8 %t77 to i1
+ %t79 = call ptr @sc_td_3(i1 %t78)
+ ret ptr %t79
+if.j23:
+ %t80 = load ptr, ptr %sc_l_p_key
+ %t81 = call zeroext i1 @sc_streq_2171724267474130(ptr %t80)
+ br i1 %t81, label %if.t24, label %if.j25
+if.t24:
+ %t82 = load ptr, ptr %sc_l_p_receiver
+ %t83 = getelementptr inbounds %sc_o__x25_m3_LiteResponse, ptr %t82, i64 0, i32 14
+ %t84 = load ptr, ptr %t83, !tbaa !88
+ %t85 = call ptr @scr_http_res_retain_v(ptr %t84)
+ %t86 = call ptr @sc_td_7(ptr %t85)
+ call void @scr_http_res_release(ptr %t85)
+ ret ptr %t86
+if.j25:
+ %t87 = load ptr, ptr %sc_l_p_key
+ %t88 = call zeroext i1 @sc_streq_3752021314181142(ptr %t87)
+ br i1 %t88, label %if.t26, label %if.j27
+if.t26:
+ %t89 = load ptr, ptr %sc_l_p_receiver
+ %t90 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t89, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t91 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t90)
+ %t92 = load i32, ptr %exc.cell
+ %t93 = icmp ne i32 %t92, 0
+ %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false)
+ br i1 %t94, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t91)
+ ret ptr null
+exc.k29:
+ %t95 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t91, ptr @sc_lit_3752021314181142)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t91)
+ ret ptr null
+exc.k31:
+ call void @sc_rc_release_dyn(ptr %t91)
+ br i1 %t95, label %if.t32, label %if.j33
+if.t32:
+ %t99 = load ptr, ptr %sc_l_p_receiver
+ %t100 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t99, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t101 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t100)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t101)
+ ret ptr null
+exc.k35:
+ %t105 = load ptr, ptr %sc_l_p_receiver
+ %t106 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t105, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t107 = call ptr @scr_dyn_bag_get(ptr %t101, ptr @sc_lit_3752021314181142, ptr %t106)
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t106)
+ call void @sc_rc_release_dyn(ptr %t107)
+ ret ptr null
+exc.k37:
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t106)
+ ret ptr %t107
+if.j33:
+ %t112 = call ptr @scr_dyn_undefined()
+ %t111 = call ptr @scr_dyn_retain_v(ptr %t112)
+ ret ptr %t111
+if.j27:
+ %t113 = load ptr, ptr %sc_l_p_key
+ %t114 = call zeroext i1 @sc_streq_2364278031517622(ptr %t113)
+ br i1 %t114, label %if.t38, label %if.j39
+if.t38:
+ %t115 = load ptr, ptr %sc_l_p_receiver
+ %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t117 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t116)
+ %t118 = load i32, ptr %exc.cell
+ %t119 = icmp ne i32 %t118, 0
+ %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false)
+ br i1 %t120, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret ptr null
+exc.k41:
+ %t121 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t117, ptr @sc_lit_2364278031517622)
+ %t122 = load i32, ptr %exc.cell
+ %t123 = icmp ne i32 %t122, 0
+ %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false)
+ br i1 %t124, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret ptr null
+exc.k43:
+ call void @sc_rc_release_dyn(ptr %t117)
+ br i1 %t121, label %if.t44, label %if.j45
+if.t44:
+ %t125 = load ptr, ptr %sc_l_p_receiver
+ %t126 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t125, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t127 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t126)
+ %t128 = load i32, ptr %exc.cell
+ %t129 = icmp ne i32 %t128, 0
+ %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false)
+ br i1 %t130, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t127)
+ ret ptr null
+exc.k47:
+ %t131 = load ptr, ptr %sc_l_p_receiver
+ %t132 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t131, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t133 = call ptr @scr_dyn_bag_get(ptr %t127, ptr @sc_lit_2364278031517622, ptr %t132)
+ %t134 = load i32, ptr %exc.cell
+ %t135 = icmp ne i32 %t134, 0
+ %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false)
+ br i1 %t136, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t132)
+ call void @sc_rc_release_dyn(ptr %t133)
+ ret ptr null
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr %t133
+if.j45:
+ %t138 = call ptr @scr_dyn_undefined()
+ %t137 = call ptr @scr_dyn_retain_v(ptr %t138)
+ ret ptr %t137
+if.j39:
+ %t139 = load ptr, ptr %sc_l_p_key
+ %t140 = call zeroext i1 @sc_streq_470306239805907(ptr %t139)
+ br i1 %t140, label %if.t50, label %if.j51
+if.t50:
+ %t141 = load ptr, ptr %sc_l_p_receiver
+ %t142 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t141, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t143 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t142)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t143)
+ ret ptr null
+exc.k53:
+ %t147 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t143, ptr @sc_lit_470306239805907)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t143)
+ ret ptr null
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t143)
+ br i1 %t147, label %if.t56, label %if.j57
+if.t56:
+ %t151 = load ptr, ptr %sc_l_p_receiver
+ %t152 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t151, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t153 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t152)
+ %t154 = load i32, ptr %exc.cell
+ %t155 = icmp ne i32 %t154, 0
+ %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false)
+ br i1 %t156, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t153)
+ ret ptr null
+exc.k59:
+ %t157 = load ptr, ptr %sc_l_p_receiver
+ %t158 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t157, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t159 = call ptr @scr_dyn_bag_get(ptr %t153, ptr @sc_lit_470306239805907, ptr %t158)
+ %t160 = load i32, ptr %exc.cell
+ %t161 = icmp ne i32 %t160, 0
+ %t162 = call i1 @llvm.expect.i1(i1 %t161, i1 false)
+ br i1 %t162, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t158)
+ call void @sc_rc_release_dyn(ptr %t159)
+ ret ptr null
+exc.k61:
+ call void @sc_rc_release_dyn(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t158)
+ ret ptr %t159
+if.j57:
+ %t164 = call ptr @scr_dyn_undefined()
+ %t163 = call ptr @scr_dyn_retain_v(ptr %t164)
+ ret ptr %t163
+if.j51:
+ %t165 = load ptr, ptr %sc_l_p_key
+ %t166 = call zeroext i1 @sc_streq_4133069531575059(ptr %t165)
+ br i1 %t166, label %if.t62, label %if.j63
+if.t62:
+ %t167 = load ptr, ptr %sc_l_p_receiver
+ %t168 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t167, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t169 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t168)
+ %t170 = load i32, ptr %exc.cell
+ %t171 = icmp ne i32 %t170, 0
+ %t172 = call i1 @llvm.expect.i1(i1 %t171, i1 false)
+ br i1 %t172, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t169)
+ ret ptr null
+exc.k65:
+ %t173 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t169, ptr @sc_lit_4133069531575059)
+ %t174 = load i32, ptr %exc.cell
+ %t175 = icmp ne i32 %t174, 0
+ %t176 = call i1 @llvm.expect.i1(i1 %t175, i1 false)
+ br i1 %t176, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t169)
+ ret ptr null
+exc.k67:
+ call void @sc_rc_release_dyn(ptr %t169)
+ br i1 %t173, label %if.t68, label %if.j69
+if.t68:
+ %t177 = load ptr, ptr %sc_l_p_receiver
+ %t178 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t177, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t179 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t178)
+ %t180 = load i32, ptr %exc.cell
+ %t181 = icmp ne i32 %t180, 0
+ %t182 = call i1 @llvm.expect.i1(i1 %t181, i1 false)
+ br i1 %t182, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t179)
+ ret ptr null
+exc.k71:
+ %t183 = load ptr, ptr %sc_l_p_receiver
+ %t184 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t183, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t185 = call ptr @scr_dyn_bag_get(ptr %t179, ptr @sc_lit_4133069531575059, ptr %t184)
+ %t186 = load i32, ptr %exc.cell
+ %t187 = icmp ne i32 %t186, 0
+ %t188 = call i1 @llvm.expect.i1(i1 %t187, i1 false)
+ br i1 %t188, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t179)
+ call void @sc_rc_release_dyn(ptr %t184)
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr null
+exc.k73:
+ call void @sc_rc_release_dyn(ptr %t179)
+ call void @sc_rc_release_dyn(ptr %t184)
+ ret ptr %t185
+if.j69:
+ %t190 = call ptr @scr_dyn_undefined()
+ %t189 = call ptr @scr_dyn_retain_v(ptr %t190)
+ ret ptr %t189
+if.j63:
+ %t191 = load ptr, ptr %sc_l_p_key
+ %t192 = call zeroext i1 @sc_streq_2253648670486996(ptr %t191)
+ br i1 %t192, label %if.t74, label %if.j75
+if.t74:
+ %t193 = load ptr, ptr %sc_l_p_receiver
+ %t194 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t193, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t195 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t194)
+ %t196 = load i32, ptr %exc.cell
+ %t197 = icmp ne i32 %t196, 0
+ %t198 = call i1 @llvm.expect.i1(i1 %t197, i1 false)
+ br i1 %t198, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t195)
+ ret ptr null
+exc.k77:
+ %t199 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t195, ptr @sc_lit_2253648670486996)
+ %t200 = load i32, ptr %exc.cell
+ %t201 = icmp ne i32 %t200, 0
+ %t202 = call i1 @llvm.expect.i1(i1 %t201, i1 false)
+ br i1 %t202, label %exc.u78, label %exc.k79
+exc.u78:
+ call void @sc_rc_release_dyn(ptr %t195)
+ ret ptr null
+exc.k79:
+ call void @sc_rc_release_dyn(ptr %t195)
+ br i1 %t199, label %if.t80, label %if.j81
+if.t80:
+ %t203 = load ptr, ptr %sc_l_p_receiver
+ %t204 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t203, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t205 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t204)
+ %t206 = load i32, ptr %exc.cell
+ %t207 = icmp ne i32 %t206, 0
+ %t208 = call i1 @llvm.expect.i1(i1 %t207, i1 false)
+ br i1 %t208, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t205)
+ ret ptr null
+exc.k83:
+ %t209 = load ptr, ptr %sc_l_p_receiver
+ %t210 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t209, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t211 = call ptr @scr_dyn_bag_get(ptr %t205, ptr @sc_lit_2253648670486996, ptr %t210)
+ %t212 = load i32, ptr %exc.cell
+ %t213 = icmp ne i32 %t212, 0
+ %t214 = call i1 @llvm.expect.i1(i1 %t213, i1 false)
+ br i1 %t214, label %exc.u84, label %exc.k85
+exc.u84:
+ call void @sc_rc_release_dyn(ptr %t205)
+ call void @sc_rc_release_dyn(ptr %t210)
+ call void @sc_rc_release_dyn(ptr %t211)
+ ret ptr null
+exc.k85:
+ call void @sc_rc_release_dyn(ptr %t205)
+ call void @sc_rc_release_dyn(ptr %t210)
+ ret ptr %t211
+if.j81:
+ %t216 = call ptr @scr_dyn_undefined()
+ %t215 = call ptr @scr_dyn_retain_v(ptr %t216)
+ ret ptr %t215
+if.j75:
+ %t217 = load ptr, ptr %sc_l_p_key
+ %t218 = call zeroext i1 @sc_streq_161925136240866(ptr %t217)
+ br i1 %t218, label %if.t86, label %if.j87
+if.t86:
+ %t219 = load ptr, ptr %sc_l_p_receiver
+ %t220 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t219, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t221 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t220)
+ %t222 = load i32, ptr %exc.cell
+ %t223 = icmp ne i32 %t222, 0
+ %t224 = call i1 @llvm.expect.i1(i1 %t223, i1 false)
+ br i1 %t224, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t221)
+ ret ptr null
+exc.k89:
+ %t225 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t221, ptr @sc_lit_161925136240866)
+ %t226 = load i32, ptr %exc.cell
+ %t227 = icmp ne i32 %t226, 0
+ %t228 = call i1 @llvm.expect.i1(i1 %t227, i1 false)
+ br i1 %t228, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t221)
+ ret ptr null
+exc.k91:
+ call void @sc_rc_release_dyn(ptr %t221)
+ br i1 %t225, label %if.t92, label %if.j93
+if.t92:
+ %t229 = load ptr, ptr %sc_l_p_receiver
+ %t230 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t229, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t231 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t230)
+ %t232 = load i32, ptr %exc.cell
+ %t233 = icmp ne i32 %t232, 0
+ %t234 = call i1 @llvm.expect.i1(i1 %t233, i1 false)
+ br i1 %t234, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t231)
+ ret ptr null
+exc.k95:
+ %t235 = load ptr, ptr %sc_l_p_receiver
+ %t236 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t235, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t237 = call ptr @scr_dyn_bag_get(ptr %t231, ptr @sc_lit_161925136240866, ptr %t236)
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u96, label %exc.k97
+exc.u96:
+ call void @sc_rc_release_dyn(ptr %t231)
+ call void @sc_rc_release_dyn(ptr %t236)
+ call void @sc_rc_release_dyn(ptr %t237)
+ ret ptr null
+exc.k97:
+ call void @sc_rc_release_dyn(ptr %t231)
+ call void @sc_rc_release_dyn(ptr %t236)
+ ret ptr %t237
+if.j93:
+ %t242 = call ptr @scr_dyn_undefined()
+ %t241 = call ptr @scr_dyn_retain_v(ptr %t242)
+ ret ptr %t241
+if.j87:
+ %t243 = load ptr, ptr %sc_l_p_key
+ %t244 = call zeroext i1 @sc_streq_298897322184109(ptr %t243)
+ br i1 %t244, label %if.t98, label %if.j99
+if.t98:
+ %t245 = load ptr, ptr %sc_l_p_receiver
+ %t246 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t245, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t247 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t246)
+ %t248 = load i32, ptr %exc.cell
+ %t249 = icmp ne i32 %t248, 0
+ %t250 = call i1 @llvm.expect.i1(i1 %t249, i1 false)
+ br i1 %t250, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t247)
+ ret ptr null
+exc.k101:
+ %t251 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t247, ptr @sc_lit_298897322184109)
+ %t252 = load i32, ptr %exc.cell
+ %t253 = icmp ne i32 %t252, 0
+ %t254 = call i1 @llvm.expect.i1(i1 %t253, i1 false)
+ br i1 %t254, label %exc.u102, label %exc.k103
+exc.u102:
+ call void @sc_rc_release_dyn(ptr %t247)
+ ret ptr null
+exc.k103:
+ call void @sc_rc_release_dyn(ptr %t247)
+ br i1 %t251, label %if.t104, label %if.j105
+if.t104:
+ %t255 = load ptr, ptr %sc_l_p_receiver
+ %t256 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t255, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t257 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t256)
+ %t258 = load i32, ptr %exc.cell
+ %t259 = icmp ne i32 %t258, 0
+ %t260 = call i1 @llvm.expect.i1(i1 %t259, i1 false)
+ br i1 %t260, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t257)
+ ret ptr null
+exc.k107:
+ %t261 = load ptr, ptr %sc_l_p_receiver
+ %t262 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t261, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t263 = call ptr @scr_dyn_bag_get(ptr %t257, ptr @sc_lit_298897322184109, ptr %t262)
+ %t264 = load i32, ptr %exc.cell
+ %t265 = icmp ne i32 %t264, 0
+ %t266 = call i1 @llvm.expect.i1(i1 %t265, i1 false)
+ br i1 %t266, label %exc.u108, label %exc.k109
+exc.u108:
+ call void @sc_rc_release_dyn(ptr %t257)
+ call void @sc_rc_release_dyn(ptr %t262)
+ call void @sc_rc_release_dyn(ptr %t263)
+ ret ptr null
+exc.k109:
+ call void @sc_rc_release_dyn(ptr %t257)
+ call void @sc_rc_release_dyn(ptr %t262)
+ ret ptr %t263
+if.j105:
+ %t268 = call ptr @scr_dyn_undefined()
+ %t267 = call ptr @scr_dyn_retain_v(ptr %t268)
+ ret ptr %t267
+if.j99:
+ %t269 = load ptr, ptr %sc_l_p_key
+ %t270 = call zeroext i1 @sc_streq_4085448292571548(ptr %t269)
+ br i1 %t270, label %if.t110, label %if.j111
+if.t110:
+ %t271 = load ptr, ptr %sc_l_p_receiver
+ %t272 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t271, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t273 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t272)
+ %t274 = load i32, ptr %exc.cell
+ %t275 = icmp ne i32 %t274, 0
+ %t276 = call i1 @llvm.expect.i1(i1 %t275, i1 false)
+ br i1 %t276, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr null
+exc.k113:
+ %t277 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t273, ptr @sc_lit_4085448292571548)
+ %t278 = load i32, ptr %exc.cell
+ %t279 = icmp ne i32 %t278, 0
+ %t280 = call i1 @llvm.expect.i1(i1 %t279, i1 false)
+ br i1 %t280, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr null
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t273)
+ br i1 %t277, label %if.t116, label %if.j117
+if.t116:
+ %t281 = load ptr, ptr %sc_l_p_receiver
+ %t282 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t281, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t283 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t282)
+ %t284 = load i32, ptr %exc.cell
+ %t285 = icmp ne i32 %t284, 0
+ %t286 = call i1 @llvm.expect.i1(i1 %t285, i1 false)
+ br i1 %t286, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t283)
+ ret ptr null
+exc.k119:
+ %t287 = load ptr, ptr %sc_l_p_receiver
+ %t288 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t287, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t289 = call ptr @scr_dyn_bag_get(ptr %t283, ptr @sc_lit_4085448292571548, ptr %t288)
+ %t290 = load i32, ptr %exc.cell
+ %t291 = icmp ne i32 %t290, 0
+ %t292 = call i1 @llvm.expect.i1(i1 %t291, i1 false)
+ br i1 %t292, label %exc.u120, label %exc.k121
+exc.u120:
+ call void @sc_rc_release_dyn(ptr %t283)
+ call void @sc_rc_release_dyn(ptr %t288)
+ call void @sc_rc_release_dyn(ptr %t289)
+ ret ptr null
+exc.k121:
+ call void @sc_rc_release_dyn(ptr %t283)
+ call void @sc_rc_release_dyn(ptr %t288)
+ ret ptr %t289
+if.j117:
+ %t294 = call ptr @scr_dyn_undefined()
+ %t293 = call ptr @scr_dyn_retain_v(ptr %t294)
+ ret ptr %t293
+if.j111:
+ %t295 = load ptr, ptr %sc_l_p_key
+ %t296 = call zeroext i1 @sc_streq_3561861343106386(ptr %t295)
+ br i1 %t296, label %if.t122, label %if.j123
+if.t122:
+ %t297 = load ptr, ptr %sc_l_p_receiver
+ %t298 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t297, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t299 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t298)
+ %t300 = load i32, ptr %exc.cell
+ %t301 = icmp ne i32 %t300, 0
+ %t302 = call i1 @llvm.expect.i1(i1 %t301, i1 false)
+ br i1 %t302, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t299)
+ ret ptr null
+exc.k125:
+ %t303 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t299, ptr @sc_lit_3561861343106386)
+ %t304 = load i32, ptr %exc.cell
+ %t305 = icmp ne i32 %t304, 0
+ %t306 = call i1 @llvm.expect.i1(i1 %t305, i1 false)
+ br i1 %t306, label %exc.u126, label %exc.k127
+exc.u126:
+ call void @sc_rc_release_dyn(ptr %t299)
+ ret ptr null
+exc.k127:
+ call void @sc_rc_release_dyn(ptr %t299)
+ br i1 %t303, label %if.t128, label %if.j129
+if.t128:
+ %t307 = load ptr, ptr %sc_l_p_receiver
+ %t308 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t307, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t309 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t308)
+ %t310 = load i32, ptr %exc.cell
+ %t311 = icmp ne i32 %t310, 0
+ %t312 = call i1 @llvm.expect.i1(i1 %t311, i1 false)
+ br i1 %t312, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t309)
+ ret ptr null
+exc.k131:
+ %t313 = load ptr, ptr %sc_l_p_receiver
+ %t314 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t313, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t315 = call ptr @scr_dyn_bag_get(ptr %t309, ptr @sc_lit_3561861343106386, ptr %t314)
+ %t316 = load i32, ptr %exc.cell
+ %t317 = icmp ne i32 %t316, 0
+ %t318 = call i1 @llvm.expect.i1(i1 %t317, i1 false)
+ br i1 %t318, label %exc.u132, label %exc.k133
+exc.u132:
+ call void @sc_rc_release_dyn(ptr %t309)
+ call void @sc_rc_release_dyn(ptr %t314)
+ call void @sc_rc_release_dyn(ptr %t315)
+ ret ptr null
+exc.k133:
+ call void @sc_rc_release_dyn(ptr %t309)
+ call void @sc_rc_release_dyn(ptr %t314)
+ ret ptr %t315
+if.j129:
+ %t320 = call ptr @scr_dyn_undefined()
+ %t319 = call ptr @scr_dyn_retain_v(ptr %t320)
+ ret ptr %t319
+if.j123:
+ %t321 = load ptr, ptr %sc_l_p_key
+ %t322 = call zeroext i1 @sc_streq_3108123016971750(ptr %t321)
+ br i1 %t322, label %if.t134, label %if.j135
+if.t134:
+ %t323 = load ptr, ptr %sc_l_p_receiver
+ %t324 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t323, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t325 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t324)
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t325)
+ ret ptr null
+exc.k137:
+ %t329 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t325, ptr @sc_lit_3108123016971750)
+ %t330 = load i32, ptr %exc.cell
+ %t331 = icmp ne i32 %t330, 0
+ %t332 = call i1 @llvm.expect.i1(i1 %t331, i1 false)
+ br i1 %t332, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t325)
+ ret ptr null
+exc.k139:
+ call void @sc_rc_release_dyn(ptr %t325)
+ br i1 %t329, label %if.t140, label %if.j141
+if.t140:
+ %t333 = load ptr, ptr %sc_l_p_receiver
+ %t334 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t333, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t335 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t334)
+ %t336 = load i32, ptr %exc.cell
+ %t337 = icmp ne i32 %t336, 0
+ %t338 = call i1 @llvm.expect.i1(i1 %t337, i1 false)
+ br i1 %t338, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t335)
+ ret ptr null
+exc.k143:
+ %t339 = load ptr, ptr %sc_l_p_receiver
+ %t340 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t339, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t341 = call ptr @scr_dyn_bag_get(ptr %t335, ptr @sc_lit_3108123016971750, ptr %t340)
+ %t342 = load i32, ptr %exc.cell
+ %t343 = icmp ne i32 %t342, 0
+ %t344 = call i1 @llvm.expect.i1(i1 %t343, i1 false)
+ br i1 %t344, label %exc.u144, label %exc.k145
+exc.u144:
+ call void @sc_rc_release_dyn(ptr %t335)
+ call void @sc_rc_release_dyn(ptr %t340)
+ call void @sc_rc_release_dyn(ptr %t341)
+ ret ptr null
+exc.k145:
+ call void @sc_rc_release_dyn(ptr %t335)
+ call void @sc_rc_release_dyn(ptr %t340)
+ ret ptr %t341
+if.j141:
+ %t346 = call ptr @scr_dyn_undefined()
+ %t345 = call ptr @scr_dyn_retain_v(ptr %t346)
+ ret ptr %t345
+if.j135:
+ %t347 = load ptr, ptr %sc_l_p_key
+ %t348 = call zeroext i1 @sc_streq_2529432852777196(ptr %t347)
+ br i1 %t348, label %if.t146, label %if.j147
+if.t146:
+ %t349 = load ptr, ptr %sc_l_p_receiver
+ %t350 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t349, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t351 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t350)
+ %t352 = load i32, ptr %exc.cell
+ %t353 = icmp ne i32 %t352, 0
+ %t354 = call i1 @llvm.expect.i1(i1 %t353, i1 false)
+ br i1 %t354, label %exc.u148, label %exc.k149
+exc.u148:
+ call void @sc_rc_release_dyn(ptr %t351)
+ ret ptr null
+exc.k149:
+ %t355 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t351, ptr @sc_lit_2529432852777196)
+ %t356 = load i32, ptr %exc.cell
+ %t357 = icmp ne i32 %t356, 0
+ %t358 = call i1 @llvm.expect.i1(i1 %t357, i1 false)
+ br i1 %t358, label %exc.u150, label %exc.k151
+exc.u150:
+ call void @sc_rc_release_dyn(ptr %t351)
+ ret ptr null
+exc.k151:
+ call void @sc_rc_release_dyn(ptr %t351)
+ br i1 %t355, label %if.t152, label %if.j153
+if.t152:
+ %t359 = load ptr, ptr %sc_l_p_receiver
+ %t360 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t359, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t361 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t360)
+ %t362 = load i32, ptr %exc.cell
+ %t363 = icmp ne i32 %t362, 0
+ %t364 = call i1 @llvm.expect.i1(i1 %t363, i1 false)
+ br i1 %t364, label %exc.u154, label %exc.k155
+exc.u154:
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr null
+exc.k155:
+ %t365 = load ptr, ptr %sc_l_p_receiver
+ %t366 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t365, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t367 = call ptr @scr_dyn_bag_get(ptr %t361, ptr @sc_lit_2529432852777196, ptr %t366)
+ %t368 = load i32, ptr %exc.cell
+ %t369 = icmp ne i32 %t368, 0
+ %t370 = call i1 @llvm.expect.i1(i1 %t369, i1 false)
+ br i1 %t370, label %exc.u156, label %exc.k157
+exc.u156:
+ call void @sc_rc_release_dyn(ptr %t361)
+ call void @sc_rc_release_dyn(ptr %t366)
+ call void @sc_rc_release_dyn(ptr %t367)
+ ret ptr null
+exc.k157:
+ call void @sc_rc_release_dyn(ptr %t361)
+ call void @sc_rc_release_dyn(ptr %t366)
+ ret ptr %t367
+if.j153:
+ %t372 = call ptr @scr_dyn_undefined()
+ %t371 = call ptr @scr_dyn_retain_v(ptr %t372)
+ ret ptr %t371
+if.j147:
+ %t373 = load ptr, ptr %sc_l_p_key
+ %t374 = call zeroext i1 @sc_streq_4297539476301093(ptr %t373)
+ br i1 %t374, label %if.t158, label %if.j159
+if.t158:
+ %t375 = load ptr, ptr %sc_l_p_receiver
+ %t376 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t375, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t377 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t376)
+ %t378 = load i32, ptr %exc.cell
+ %t379 = icmp ne i32 %t378, 0
+ %t380 = call i1 @llvm.expect.i1(i1 %t379, i1 false)
+ br i1 %t380, label %exc.u160, label %exc.k161
+exc.u160:
+ call void @sc_rc_release_dyn(ptr %t377)
+ ret ptr null
+exc.k161:
+ %t381 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t377, ptr @sc_lit_4297539476301093)
+ %t382 = load i32, ptr %exc.cell
+ %t383 = icmp ne i32 %t382, 0
+ %t384 = call i1 @llvm.expect.i1(i1 %t383, i1 false)
+ br i1 %t384, label %exc.u162, label %exc.k163
+exc.u162:
+ call void @sc_rc_release_dyn(ptr %t377)
+ ret ptr null
+exc.k163:
+ call void @sc_rc_release_dyn(ptr %t377)
+ br i1 %t381, label %if.t164, label %if.j165
+if.t164:
+ %t385 = load ptr, ptr %sc_l_p_receiver
+ %t386 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t385, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t387 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u166, label %exc.k167
+exc.u166:
+ call void @sc_rc_release_dyn(ptr %t387)
+ ret ptr null
+exc.k167:
+ %t391 = load ptr, ptr %sc_l_p_receiver
+ %t392 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t391, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t393 = call ptr @scr_dyn_bag_get(ptr %t387, ptr @sc_lit_4297539476301093, ptr %t392)
+ %t394 = load i32, ptr %exc.cell
+ %t395 = icmp ne i32 %t394, 0
+ %t396 = call i1 @llvm.expect.i1(i1 %t395, i1 false)
+ br i1 %t396, label %exc.u168, label %exc.k169
+exc.u168:
+ call void @sc_rc_release_dyn(ptr %t387)
+ call void @sc_rc_release_dyn(ptr %t392)
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr null
+exc.k169:
+ call void @sc_rc_release_dyn(ptr %t387)
+ call void @sc_rc_release_dyn(ptr %t392)
+ ret ptr %t393
+if.j165:
+ %t398 = call ptr @scr_dyn_undefined()
+ %t397 = call ptr @scr_dyn_retain_v(ptr %t398)
+ ret ptr %t397
+if.j159:
+ %t399 = load ptr, ptr %sc_l_p_key
+ %t400 = call zeroext i1 @sc_streq_1959461887910059(ptr %t399)
+ br i1 %t400, label %if.t170, label %if.j171
+if.t170:
+ %t401 = load ptr, ptr %sc_l_p_receiver
+ %t402 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t401, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t403 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t402)
+ %t404 = load i32, ptr %exc.cell
+ %t405 = icmp ne i32 %t404, 0
+ %t406 = call i1 @llvm.expect.i1(i1 %t405, i1 false)
+ br i1 %t406, label %exc.u172, label %exc.k173
+exc.u172:
+ call void @sc_rc_release_dyn(ptr %t403)
+ ret ptr null
+exc.k173:
+ %t407 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t403, ptr @sc_lit_1959461887910059)
+ %t408 = load i32, ptr %exc.cell
+ %t409 = icmp ne i32 %t408, 0
+ %t410 = call i1 @llvm.expect.i1(i1 %t409, i1 false)
+ br i1 %t410, label %exc.u174, label %exc.k175
+exc.u174:
+ call void @sc_rc_release_dyn(ptr %t403)
+ ret ptr null
+exc.k175:
+ call void @sc_rc_release_dyn(ptr %t403)
+ br i1 %t407, label %if.t176, label %if.j177
+if.t176:
+ %t411 = load ptr, ptr %sc_l_p_receiver
+ %t412 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t411, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t413 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t412)
+ %t414 = load i32, ptr %exc.cell
+ %t415 = icmp ne i32 %t414, 0
+ %t416 = call i1 @llvm.expect.i1(i1 %t415, i1 false)
+ br i1 %t416, label %exc.u178, label %exc.k179
+exc.u178:
+ call void @sc_rc_release_dyn(ptr %t413)
+ ret ptr null
+exc.k179:
+ %t417 = load ptr, ptr %sc_l_p_receiver
+ %t418 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t417, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t419 = call ptr @scr_dyn_bag_get(ptr %t413, ptr @sc_lit_1959461887910059, ptr %t418)
+ %t420 = load i32, ptr %exc.cell
+ %t421 = icmp ne i32 %t420, 0
+ %t422 = call i1 @llvm.expect.i1(i1 %t421, i1 false)
+ br i1 %t422, label %exc.u180, label %exc.k181
+exc.u180:
+ call void @sc_rc_release_dyn(ptr %t413)
+ call void @sc_rc_release_dyn(ptr %t418)
+ call void @sc_rc_release_dyn(ptr %t419)
+ ret ptr null
+exc.k181:
+ call void @sc_rc_release_dyn(ptr %t413)
+ call void @sc_rc_release_dyn(ptr %t418)
+ ret ptr %t419
+if.j177:
+ %t424 = call ptr @scr_dyn_undefined()
+ %t423 = call ptr @scr_dyn_retain_v(ptr %t424)
+ ret ptr %t423
+if.j171:
+ %t425 = load ptr, ptr %sc_l_p_key
+ %t426 = call zeroext i1 @sc_streq_181663572509014(ptr %t425)
+ br i1 %t426, label %if.t182, label %if.j183
+if.t182:
+ %t427 = load ptr, ptr %sc_l_p_receiver
+ %t428 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t427, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t429 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t428)
+ %t430 = load i32, ptr %exc.cell
+ %t431 = icmp ne i32 %t430, 0
+ %t432 = call i1 @llvm.expect.i1(i1 %t431, i1 false)
+ br i1 %t432, label %exc.u184, label %exc.k185
+exc.u184:
+ call void @sc_rc_release_dyn(ptr %t429)
+ ret ptr null
+exc.k185:
+ %t433 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t429, ptr @sc_lit_181663572509014)
+ %t434 = load i32, ptr %exc.cell
+ %t435 = icmp ne i32 %t434, 0
+ %t436 = call i1 @llvm.expect.i1(i1 %t435, i1 false)
+ br i1 %t436, label %exc.u186, label %exc.k187
+exc.u186:
+ call void @sc_rc_release_dyn(ptr %t429)
+ ret ptr null
+exc.k187:
+ call void @sc_rc_release_dyn(ptr %t429)
+ br i1 %t433, label %if.t188, label %if.j189
+if.t188:
+ %t437 = load ptr, ptr %sc_l_p_receiver
+ %t438 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t437, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t439 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t438)
+ %t440 = load i32, ptr %exc.cell
+ %t441 = icmp ne i32 %t440, 0
+ %t442 = call i1 @llvm.expect.i1(i1 %t441, i1 false)
+ br i1 %t442, label %exc.u190, label %exc.k191
+exc.u190:
+ call void @sc_rc_release_dyn(ptr %t439)
+ ret ptr null
+exc.k191:
+ %t443 = load ptr, ptr %sc_l_p_receiver
+ %t444 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t443, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t445 = call ptr @scr_dyn_bag_get(ptr %t439, ptr @sc_lit_181663572509014, ptr %t444)
+ %t446 = load i32, ptr %exc.cell
+ %t447 = icmp ne i32 %t446, 0
+ %t448 = call i1 @llvm.expect.i1(i1 %t447, i1 false)
+ br i1 %t448, label %exc.u192, label %exc.k193
+exc.u192:
+ call void @sc_rc_release_dyn(ptr %t439)
+ call void @sc_rc_release_dyn(ptr %t444)
+ call void @sc_rc_release_dyn(ptr %t445)
+ ret ptr null
+exc.k193:
+ call void @sc_rc_release_dyn(ptr %t439)
+ call void @sc_rc_release_dyn(ptr %t444)
+ ret ptr %t445
+if.j189:
+ %t450 = call ptr @scr_dyn_undefined()
+ %t449 = call ptr @scr_dyn_retain_v(ptr %t450)
+ ret ptr %t449
+if.j183:
+ %t451 = load ptr, ptr %sc_l_p_key
+ %t452 = call zeroext i1 @sc_streq_992600386266231(ptr %t451)
+ br i1 %t452, label %if.t194, label %if.j195
+if.t194:
+ %t453 = load ptr, ptr %sc_l_p_receiver
+ %t454 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t453, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t455 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t454)
+ %t456 = load i32, ptr %exc.cell
+ %t457 = icmp ne i32 %t456, 0
+ %t458 = call i1 @llvm.expect.i1(i1 %t457, i1 false)
+ br i1 %t458, label %exc.u196, label %exc.k197
+exc.u196:
+ call void @sc_rc_release_dyn(ptr %t455)
+ ret ptr null
+exc.k197:
+ %t459 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t455, ptr @sc_lit_992600386266231)
+ %t460 = load i32, ptr %exc.cell
+ %t461 = icmp ne i32 %t460, 0
+ %t462 = call i1 @llvm.expect.i1(i1 %t461, i1 false)
+ br i1 %t462, label %exc.u198, label %exc.k199
+exc.u198:
+ call void @sc_rc_release_dyn(ptr %t455)
+ ret ptr null
+exc.k199:
+ call void @sc_rc_release_dyn(ptr %t455)
+ br i1 %t459, label %if.t200, label %if.j201
+if.t200:
+ %t463 = load ptr, ptr %sc_l_p_receiver
+ %t464 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t463, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t465 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t464)
+ %t466 = load i32, ptr %exc.cell
+ %t467 = icmp ne i32 %t466, 0
+ %t468 = call i1 @llvm.expect.i1(i1 %t467, i1 false)
+ br i1 %t468, label %exc.u202, label %exc.k203
+exc.u202:
+ call void @sc_rc_release_dyn(ptr %t465)
+ ret ptr null
+exc.k203:
+ %t469 = load ptr, ptr %sc_l_p_receiver
+ %t470 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t469, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t471 = call ptr @scr_dyn_bag_get(ptr %t465, ptr @sc_lit_992600386266231, ptr %t470)
+ %t472 = load i32, ptr %exc.cell
+ %t473 = icmp ne i32 %t472, 0
+ %t474 = call i1 @llvm.expect.i1(i1 %t473, i1 false)
+ br i1 %t474, label %exc.u204, label %exc.k205
+exc.u204:
+ call void @sc_rc_release_dyn(ptr %t465)
+ call void @sc_rc_release_dyn(ptr %t470)
+ call void @sc_rc_release_dyn(ptr %t471)
+ ret ptr null
+exc.k205:
+ call void @sc_rc_release_dyn(ptr %t465)
+ call void @sc_rc_release_dyn(ptr %t470)
+ ret ptr %t471
+if.j201:
+ %t476 = call ptr @scr_dyn_undefined()
+ %t475 = call ptr @scr_dyn_retain_v(ptr %t476)
+ ret ptr %t475
+if.j195:
+ %t477 = load ptr, ptr %sc_l_p_key
+ %t478 = call zeroext i1 @sc_streq_4198614539576238(ptr %t477)
+ br i1 %t478, label %if.t206, label %if.j207
+if.t206:
+ %t479 = load ptr, ptr %sc_l_p_receiver
+ %t480 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t479, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t481 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t480)
+ %t482 = load i32, ptr %exc.cell
+ %t483 = icmp ne i32 %t482, 0
+ %t484 = call i1 @llvm.expect.i1(i1 %t483, i1 false)
+ br i1 %t484, label %exc.u208, label %exc.k209
+exc.u208:
+ call void @sc_rc_release_dyn(ptr %t481)
+ ret ptr null
+exc.k209:
+ %t485 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t481, ptr @sc_lit_4198614539576238)
+ %t486 = load i32, ptr %exc.cell
+ %t487 = icmp ne i32 %t486, 0
+ %t488 = call i1 @llvm.expect.i1(i1 %t487, i1 false)
+ br i1 %t488, label %exc.u210, label %exc.k211
+exc.u210:
+ call void @sc_rc_release_dyn(ptr %t481)
+ ret ptr null
+exc.k211:
+ call void @sc_rc_release_dyn(ptr %t481)
+ br i1 %t485, label %if.t212, label %if.j213
+if.t212:
+ %t489 = load ptr, ptr %sc_l_p_receiver
+ %t490 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t489, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t491 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t490)
+ %t492 = load i32, ptr %exc.cell
+ %t493 = icmp ne i32 %t492, 0
+ %t494 = call i1 @llvm.expect.i1(i1 %t493, i1 false)
+ br i1 %t494, label %exc.u214, label %exc.k215
+exc.u214:
+ call void @sc_rc_release_dyn(ptr %t491)
+ ret ptr null
+exc.k215:
+ %t495 = load ptr, ptr %sc_l_p_receiver
+ %t496 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t495, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t497 = call ptr @scr_dyn_bag_get(ptr %t491, ptr @sc_lit_4198614539576238, ptr %t496)
+ %t498 = load i32, ptr %exc.cell
+ %t499 = icmp ne i32 %t498, 0
+ %t500 = call i1 @llvm.expect.i1(i1 %t499, i1 false)
+ br i1 %t500, label %exc.u216, label %exc.k217
+exc.u216:
+ call void @sc_rc_release_dyn(ptr %t491)
+ call void @sc_rc_release_dyn(ptr %t496)
+ call void @sc_rc_release_dyn(ptr %t497)
+ ret ptr null
+exc.k217:
+ call void @sc_rc_release_dyn(ptr %t491)
+ call void @sc_rc_release_dyn(ptr %t496)
+ ret ptr %t497
+if.j213:
+ %t502 = call ptr @scr_dyn_undefined()
+ %t501 = call ptr @scr_dyn_retain_v(ptr %t502)
+ ret ptr %t501
+if.j207:
+ %t503 = load ptr, ptr %sc_l_p_key
+ %t504 = call zeroext i1 @sc_streq_4028208071947570(ptr %t503)
+ br i1 %t504, label %if.t218, label %if.j219
+if.t218:
+ %t505 = load ptr, ptr %sc_l_p_receiver
+ %t506 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t505, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t507 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t506)
+ %t508 = load i32, ptr %exc.cell
+ %t509 = icmp ne i32 %t508, 0
+ %t510 = call i1 @llvm.expect.i1(i1 %t509, i1 false)
+ br i1 %t510, label %exc.u220, label %exc.k221
+exc.u220:
+ call void @sc_rc_release_dyn(ptr %t507)
+ ret ptr null
+exc.k221:
+ %t511 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t507, ptr @sc_lit_4028208071947570)
+ %t512 = load i32, ptr %exc.cell
+ %t513 = icmp ne i32 %t512, 0
+ %t514 = call i1 @llvm.expect.i1(i1 %t513, i1 false)
+ br i1 %t514, label %exc.u222, label %exc.k223
+exc.u222:
+ call void @sc_rc_release_dyn(ptr %t507)
+ ret ptr null
+exc.k223:
+ call void @sc_rc_release_dyn(ptr %t507)
+ br i1 %t511, label %if.t224, label %if.j225
+if.t224:
+ %t515 = load ptr, ptr %sc_l_p_receiver
+ %t516 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t515, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t517 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t516)
+ %t518 = load i32, ptr %exc.cell
+ %t519 = icmp ne i32 %t518, 0
+ %t520 = call i1 @llvm.expect.i1(i1 %t519, i1 false)
+ br i1 %t520, label %exc.u226, label %exc.k227
+exc.u226:
+ call void @sc_rc_release_dyn(ptr %t517)
+ ret ptr null
+exc.k227:
+ %t521 = load ptr, ptr %sc_l_p_receiver
+ %t522 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t521, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t523 = call ptr @scr_dyn_bag_get(ptr %t517, ptr @sc_lit_4028208071947570, ptr %t522)
+ %t524 = load i32, ptr %exc.cell
+ %t525 = icmp ne i32 %t524, 0
+ %t526 = call i1 @llvm.expect.i1(i1 %t525, i1 false)
+ br i1 %t526, label %exc.u228, label %exc.k229
+exc.u228:
+ call void @sc_rc_release_dyn(ptr %t517)
+ call void @sc_rc_release_dyn(ptr %t522)
+ call void @sc_rc_release_dyn(ptr %t523)
+ ret ptr null
+exc.k229:
+ call void @sc_rc_release_dyn(ptr %t517)
+ call void @sc_rc_release_dyn(ptr %t522)
+ ret ptr %t523
+if.j225:
+ %t528 = call ptr @scr_dyn_undefined()
+ %t527 = call ptr @scr_dyn_retain_v(ptr %t528)
+ ret ptr %t527
+if.j219:
+ %t529 = load ptr, ptr %sc_l_p_key
+ %t530 = call zeroext i1 @sc_streq_3908714124573206(ptr %t529)
+ br i1 %t530, label %if.t230, label %if.j231
+if.t230:
+ %t531 = load ptr, ptr %sc_l_p_receiver
+ %t532 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t531, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t533 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t532)
+ %t534 = load i32, ptr %exc.cell
+ %t535 = icmp ne i32 %t534, 0
+ %t536 = call i1 @llvm.expect.i1(i1 %t535, i1 false)
+ br i1 %t536, label %exc.u232, label %exc.k233
+exc.u232:
+ call void @sc_rc_release_dyn(ptr %t533)
+ ret ptr null
+exc.k233:
+ %t537 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t533, ptr @sc_lit_3908714124573206)
+ %t538 = load i32, ptr %exc.cell
+ %t539 = icmp ne i32 %t538, 0
+ %t540 = call i1 @llvm.expect.i1(i1 %t539, i1 false)
+ br i1 %t540, label %exc.u234, label %exc.k235
+exc.u234:
+ call void @sc_rc_release_dyn(ptr %t533)
+ ret ptr null
+exc.k235:
+ call void @sc_rc_release_dyn(ptr %t533)
+ br i1 %t537, label %if.t236, label %if.j237
+if.t236:
+ %t541 = load ptr, ptr %sc_l_p_receiver
+ %t542 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t541, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t543 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t542)
+ %t544 = load i32, ptr %exc.cell
+ %t545 = icmp ne i32 %t544, 0
+ %t546 = call i1 @llvm.expect.i1(i1 %t545, i1 false)
+ br i1 %t546, label %exc.u238, label %exc.k239
+exc.u238:
+ call void @sc_rc_release_dyn(ptr %t543)
+ ret ptr null
+exc.k239:
+ %t547 = load ptr, ptr %sc_l_p_receiver
+ %t548 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t547, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t549 = call ptr @scr_dyn_bag_get(ptr %t543, ptr @sc_lit_3908714124573206, ptr %t548)
+ %t550 = load i32, ptr %exc.cell
+ %t551 = icmp ne i32 %t550, 0
+ %t552 = call i1 @llvm.expect.i1(i1 %t551, i1 false)
+ br i1 %t552, label %exc.u240, label %exc.k241
+exc.u240:
+ call void @sc_rc_release_dyn(ptr %t543)
+ call void @sc_rc_release_dyn(ptr %t548)
+ call void @sc_rc_release_dyn(ptr %t549)
+ ret ptr null
+exc.k241:
+ call void @sc_rc_release_dyn(ptr %t543)
+ call void @sc_rc_release_dyn(ptr %t548)
+ ret ptr %t549
+if.j237:
+ %t554 = call ptr @scr_dyn_undefined()
+ %t553 = call ptr @scr_dyn_retain_v(ptr %t554)
+ ret ptr %t553
+if.j231:
+ %t555 = load ptr, ptr %sc_l_p_0
+ %t556 = call ptr @sc_rc_retain_dyn(ptr %t555)
+ %t557 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t556)
+ %t558 = load i32, ptr %exc.cell
+ %t559 = icmp ne i32 %t558, 0
+ %t560 = call i1 @llvm.expect.i1(i1 %t559, i1 false)
+ br i1 %t560, label %exc.u242, label %exc.k243
+exc.u242:
+ call void @sc_rc_release_dyn(ptr %t557)
+ ret ptr null
+exc.k243:
+ %t561 = load ptr, ptr %sc_l_p_key
+ %t562 = call ptr @sc_rc_retain_str(ptr %t561)
+ %t563 = load ptr, ptr %sc_l_p_receiver
+ %t564 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t563, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t565 = call ptr @scr_dyn_bag_get(ptr %t557, ptr %t562, ptr %t564)
+ %t566 = load i32, ptr %exc.cell
+ %t567 = icmp ne i32 %t566, 0
+ %t568 = call i1 @llvm.expect.i1(i1 %t567, i1 false)
+ br i1 %t568, label %exc.u244, label %exc.k245
+exc.u244:
+ call void @sc_rc_release_dyn(ptr %t557)
+ call void @scr_str_release(ptr %t562)
+ call void @sc_rc_release_dyn(ptr %t564)
+ call void @sc_rc_release_dyn(ptr %t565)
+ ret ptr null
+exc.k245:
+ call void @sc_rc_release_dyn(ptr %t557)
+ call void @scr_str_release(ptr %t562)
+ call void @sc_rc_release_dyn(ptr %t564)
+ ret ptr %t565
+}
+define internal ptr @sc_f__x25_dyn_class_keys_498(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_498(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m3_LiteResponse(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_499(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.499
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_3804612928743770(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t6, i64 0, i32 3
+ %t8 = load ptr, ptr %t7, !tbaa !190
+ %t9 = call ptr @sc_rretain_r12(ptr %t8)
+ %t10 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t9, ptr @sc_rretain_r12, ptr @sc_rrelease_r12, ptr @sc_cs_3599972234312006, i64 10, ptr @sc_ldr_44_materialize, ptr @sc_ldr_44_materialize_commit)
+ call void @sc_rrelease_r12(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_1810373001322451(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t13, i64 0, i32 4
+ %t15 = load ptr, ptr %t14, !tbaa !192
+ %t16 = call ptr @scr_arr_retain_v(ptr %t15)
+ %t17 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t16, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_3607504563658207, i64 17, ptr @sc_ldr_45_materialize, ptr @sc_ldr_45_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t17, ptr @sc_ldr_45_materialize_ops)
+ call void @scr_arr_release(ptr %t16)
+ ret ptr %t17
+if.j5:
+ %t18 = load ptr, ptr %sc_l_p_key
+ %t19 = call zeroext i1 @sc_streq_2227497482646049(ptr %t18)
+ br i1 %t19, label %if.t6, label %if.j7
+if.t6:
+ %t20 = load ptr, ptr %sc_l_p_receiver
+ %t21 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t20, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t22 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t21)
+ %t23 = load i32, ptr %exc.cell
+ %t24 = icmp ne i32 %t23, 0
+ %t25 = call i1 @llvm.expect.i1(i1 %t24, i1 false)
+ br i1 %t25, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t22)
+ ret ptr null
+exc.k9:
+ %t26 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t22, ptr @sc_lit_2227497482646049)
+ %t27 = load i32, ptr %exc.cell
+ %t28 = icmp ne i32 %t27, 0
+ %t29 = call i1 @llvm.expect.i1(i1 %t28, i1 false)
+ br i1 %t29, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t22)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br i1 %t26, label %if.t12, label %if.j13
+if.t12:
+ %t30 = load ptr, ptr %sc_l_p_receiver
+ %t31 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t30, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t32 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t31)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr null
+exc.k15:
+ %t36 = load ptr, ptr %sc_l_p_receiver
+ %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t38 = call ptr @scr_dyn_bag_get(ptr %t32, ptr @sc_lit_2227497482646049, ptr %t37)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t37)
+ ret ptr %t38
+if.j13:
+ %t43 = call ptr @scr_dyn_undefined()
+ %t42 = call ptr @scr_dyn_retain_v(ptr %t43)
+ ret ptr %t42
+if.j7:
+ %t44 = load ptr, ptr %sc_l_p_key
+ %t45 = call zeroext i1 @sc_streq_228045523956680(ptr %t44)
+ br i1 %t45, label %if.t18, label %if.j19
+if.t18:
+ %t46 = load ptr, ptr %sc_l_p_receiver
+ %t47 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t46, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t48 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t47)
+ %t49 = load i32, ptr %exc.cell
+ %t50 = icmp ne i32 %t49, 0
+ %t51 = call i1 @llvm.expect.i1(i1 %t50, i1 false)
+ br i1 %t51, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr null
+exc.k21:
+ %t52 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t48, ptr @sc_lit_228045523956680)
+ %t53 = load i32, ptr %exc.cell
+ %t54 = icmp ne i32 %t53, 0
+ %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false)
+ br i1 %t55, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t48)
+ ret ptr null
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t48)
+ br i1 %t52, label %if.t24, label %if.j25
+if.t24:
+ %t56 = load ptr, ptr %sc_l_p_receiver
+ %t57 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t56, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t58 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t57)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t58)
+ ret ptr null
+exc.k27:
+ %t62 = load ptr, ptr %sc_l_p_receiver
+ %t63 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t62, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t64 = call ptr @scr_dyn_bag_get(ptr %t58, ptr @sc_lit_228045523956680, ptr %t63)
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t63)
+ call void @sc_rc_release_dyn(ptr %t64)
+ ret ptr null
+exc.k29:
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t63)
+ ret ptr %t64
+if.j25:
+ %t69 = call ptr @scr_dyn_undefined()
+ %t68 = call ptr @scr_dyn_retain_v(ptr %t69)
+ ret ptr %t68
+if.j19:
+ %t70 = load ptr, ptr %sc_l_p_key
+ %t71 = call zeroext i1 @sc_streq_731773075116702(ptr %t70)
+ br i1 %t71, label %if.t30, label %if.j31
+if.t30:
+ %t72 = load ptr, ptr %sc_l_p_receiver
+ %t73 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t72, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t74 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t73)
+ %t75 = load i32, ptr %exc.cell
+ %t76 = icmp ne i32 %t75, 0
+ %t77 = call i1 @llvm.expect.i1(i1 %t76, i1 false)
+ br i1 %t77, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t74)
+ ret ptr null
+exc.k33:
+ %t78 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t74, ptr @sc_lit_731773075116702)
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t74)
+ ret ptr null
+exc.k35:
+ call void @sc_rc_release_dyn(ptr %t74)
+ br i1 %t78, label %if.t36, label %if.j37
+if.t36:
+ %t82 = load ptr, ptr %sc_l_p_receiver
+ %t83 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t82, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t84 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t83)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k39:
+ %t88 = load ptr, ptr %sc_l_p_receiver
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t84, ptr @sc_lit_731773075116702, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ ret ptr null
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t89)
+ ret ptr %t90
+if.j37:
+ %t95 = call ptr @scr_dyn_undefined()
+ %t94 = call ptr @scr_dyn_retain_v(ptr %t95)
+ ret ptr %t94
+if.j31:
+ %t96 = load ptr, ptr %sc_l_p_0
+ %t97 = call ptr @sc_rc_retain_dyn(ptr %t96)
+ %t98 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t97)
+ %t99 = load i32, ptr %exc.cell
+ %t100 = icmp ne i32 %t99, 0
+ %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false)
+ br i1 %t101, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t98)
+ ret ptr null
+exc.k43:
+ %t102 = load ptr, ptr %sc_l_p_key
+ %t103 = call ptr @sc_rc_retain_str(ptr %t102)
+ %t104 = load ptr, ptr %sc_l_p_receiver
+ %t105 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t104, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ %t106 = call ptr @scr_dyn_bag_get(ptr %t98, ptr %t103, ptr %t105)
+ %t107 = load i32, ptr %exc.cell
+ %t108 = icmp ne i32 %t107, 0
+ %t109 = call i1 @llvm.expect.i1(i1 %t108, i1 false)
+ br i1 %t109, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @scr_str_release(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t106)
+ ret ptr null
+exc.k45:
+ call void @sc_rc_release_dyn(ptr %t98)
+ call void @scr_str_release(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t105)
+ ret ptr %t106
+}
+define internal ptr @sc_f__x25_dyn_class_keys_499(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_499(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_500(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.500
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_1515898915129638(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteHeaders, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7, !tbaa !72
+ %t9 = call ptr @scr_http_req_retain_v(ptr %t8)
+ %t10 = call ptr @sc_td_10(ptr %t9)
+ call void @scr_http_req_release(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_731773075116702(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t13, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t15 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t14)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret ptr null
+exc.k7:
+ %t19 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t15, ptr @sc_lit_731773075116702)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret ptr null
+exc.k9:
+ call void @sc_rc_release_dyn(ptr %t15)
+ br i1 %t19, label %if.t10, label %if.j11
+if.t10:
+ %t23 = load ptr, ptr %sc_l_p_receiver
+ %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t25 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k13:
+ %t29 = load ptr, ptr %sc_l_p_receiver
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t31 = call ptr @scr_dyn_bag_get(ptr %t25, ptr @sc_lit_731773075116702, ptr %t30)
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ ret ptr null
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret ptr %t31
+if.j11:
+ %t36 = call ptr @scr_dyn_undefined()
+ %t35 = call ptr @scr_dyn_retain_v(ptr %t36)
+ ret ptr %t35
+if.j5:
+ %t37 = load ptr, ptr %sc_l_p_key
+ %t38 = call zeroext i1 @sc_streq_2556418033318189(ptr %t37)
+ br i1 %t38, label %if.t16, label %if.j17
+if.t16:
+ %t39 = load ptr, ptr %sc_l_p_receiver
+ %t40 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t39, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t41 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t40)
+ %t42 = load i32, ptr %exc.cell
+ %t43 = icmp ne i32 %t42, 0
+ %t44 = call i1 @llvm.expect.i1(i1 %t43, i1 false)
+ br i1 %t44, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret ptr null
+exc.k19:
+ %t45 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t41, ptr @sc_lit_2556418033318189)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret ptr null
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t41)
+ br i1 %t45, label %if.t22, label %if.j23
+if.t22:
+ %t49 = load ptr, ptr %sc_l_p_receiver
+ %t50 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t49, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t51 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t50)
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t51)
+ ret ptr null
+exc.k25:
+ %t55 = load ptr, ptr %sc_l_p_receiver
+ %t56 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t55, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t57 = call ptr @scr_dyn_bag_get(ptr %t51, ptr @sc_lit_2556418033318189, ptr %t56)
+ %t58 = load i32, ptr %exc.cell
+ %t59 = icmp ne i32 %t58, 0
+ %t60 = call i1 @llvm.expect.i1(i1 %t59, i1 false)
+ br i1 %t60, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t56)
+ call void @sc_rc_release_dyn(ptr %t57)
+ ret ptr null
+exc.k27:
+ call void @sc_rc_release_dyn(ptr %t51)
+ call void @sc_rc_release_dyn(ptr %t56)
+ ret ptr %t57
+if.j23:
+ %t62 = call ptr @scr_dyn_undefined()
+ %t61 = call ptr @scr_dyn_retain_v(ptr %t62)
+ ret ptr %t61
+if.j17:
+ %t63 = load ptr, ptr %sc_l_p_key
+ %t64 = call zeroext i1 @sc_streq_2782259059515958(ptr %t63)
+ br i1 %t64, label %if.t28, label %if.j29
+if.t28:
+ %t65 = load ptr, ptr %sc_l_p_receiver
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t67)
+ ret ptr null
+exc.k31:
+ %t71 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t67, ptr @sc_lit_2782259059515958)
+ %t72 = load i32, ptr %exc.cell
+ %t73 = icmp ne i32 %t72, 0
+ %t74 = call i1 @llvm.expect.i1(i1 %t73, i1 false)
+ br i1 %t74, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t67)
+ ret ptr null
+exc.k33:
+ call void @sc_rc_release_dyn(ptr %t67)
+ br i1 %t71, label %if.t34, label %if.j35
+if.t34:
+ %t75 = load ptr, ptr %sc_l_p_receiver
+ %t76 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t75, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t77 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t76)
+ %t78 = load i32, ptr %exc.cell
+ %t79 = icmp ne i32 %t78, 0
+ %t80 = call i1 @llvm.expect.i1(i1 %t79, i1 false)
+ br i1 %t80, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t77)
+ ret ptr null
+exc.k37:
+ %t81 = load ptr, ptr %sc_l_p_receiver
+ %t82 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t81, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t83 = call ptr @scr_dyn_bag_get(ptr %t77, ptr @sc_lit_2782259059515958, ptr %t82)
+ %t84 = load i32, ptr %exc.cell
+ %t85 = icmp ne i32 %t84, 0
+ %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false)
+ br i1 %t86, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t77)
+ call void @sc_rc_release_dyn(ptr %t82)
+ call void @sc_rc_release_dyn(ptr %t83)
+ ret ptr null
+exc.k39:
+ call void @sc_rc_release_dyn(ptr %t77)
+ call void @sc_rc_release_dyn(ptr %t82)
+ ret ptr %t83
+if.j35:
+ %t88 = call ptr @scr_dyn_undefined()
+ %t87 = call ptr @scr_dyn_retain_v(ptr %t88)
+ ret ptr %t87
+if.j29:
+ %t89 = load ptr, ptr %sc_l_p_key
+ %t90 = call zeroext i1 @sc_streq_145319249654683(ptr %t89)
+ br i1 %t90, label %if.t40, label %if.j41
+if.t40:
+ %t91 = load ptr, ptr %sc_l_p_receiver
+ %t92 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t91, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t93 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t92)
+ %t94 = load i32, ptr %exc.cell
+ %t95 = icmp ne i32 %t94, 0
+ %t96 = call i1 @llvm.expect.i1(i1 %t95, i1 false)
+ br i1 %t96, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t93)
+ ret ptr null
+exc.k43:
+ %t97 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t93, ptr @sc_lit_145319249654683)
+ %t98 = load i32, ptr %exc.cell
+ %t99 = icmp ne i32 %t98, 0
+ %t100 = call i1 @llvm.expect.i1(i1 %t99, i1 false)
+ br i1 %t100, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t93)
+ ret ptr null
+exc.k45:
+ call void @sc_rc_release_dyn(ptr %t93)
+ br i1 %t97, label %if.t46, label %if.j47
+if.t46:
+ %t101 = load ptr, ptr %sc_l_p_receiver
+ %t102 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t101, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t103 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t102)
+ %t104 = load i32, ptr %exc.cell
+ %t105 = icmp ne i32 %t104, 0
+ %t106 = call i1 @llvm.expect.i1(i1 %t105, i1 false)
+ br i1 %t106, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t103)
+ ret ptr null
+exc.k49:
+ %t107 = load ptr, ptr %sc_l_p_receiver
+ %t108 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t107, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t109 = call ptr @scr_dyn_bag_get(ptr %t103, ptr @sc_lit_145319249654683, ptr %t108)
+ %t110 = load i32, ptr %exc.cell
+ %t111 = icmp ne i32 %t110, 0
+ %t112 = call i1 @llvm.expect.i1(i1 %t111, i1 false)
+ br i1 %t112, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t108)
+ call void @sc_rc_release_dyn(ptr %t109)
+ ret ptr null
+exc.k51:
+ call void @sc_rc_release_dyn(ptr %t103)
+ call void @sc_rc_release_dyn(ptr %t108)
+ ret ptr %t109
+if.j47:
+ %t114 = call ptr @scr_dyn_undefined()
+ %t113 = call ptr @scr_dyn_retain_v(ptr %t114)
+ ret ptr %t113
+if.j41:
+ %t115 = load ptr, ptr %sc_l_p_0
+ %t116 = call ptr @sc_rc_retain_dyn(ptr %t115)
+ %t117 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t116)
+ %t118 = load i32, ptr %exc.cell
+ %t119 = icmp ne i32 %t118, 0
+ %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false)
+ br i1 %t120, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret ptr null
+exc.k53:
+ %t121 = load ptr, ptr %sc_l_p_key
+ %t122 = call ptr @sc_rc_retain_str(ptr %t121)
+ %t123 = load ptr, ptr %sc_l_p_receiver
+ %t124 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t123, ptr @sc_retain__x25_m3_LiteHeaders, ptr @sc_release__x25_m3_LiteHeaders, ptr @sc_cs_67546268704151, i64 22, ptr @sc_ldr_38_materialize, ptr @sc_ldr_38_materialize_commit)
+ %t125 = call ptr @scr_dyn_bag_get(ptr %t117, ptr %t122, ptr %t124)
+ %t126 = load i32, ptr %exc.cell
+ %t127 = icmp ne i32 %t126, 0
+ %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false)
+ br i1 %t128, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @scr_str_release(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ call void @sc_rc_release_dyn(ptr %t125)
+ ret ptr null
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @scr_str_release(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t124)
+ ret ptr %t125
+}
+define internal ptr @sc_f__x25_dyn_class_keys_500(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_500(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_error_name_read(ptr %p_sc_l_error_0) #0 { ; %error.name.read
+entry:
+ %sc_l_error_0 = alloca ptr ; error
+ store ptr %p_sc_l_error_0, ptr %sc_l_error_0
+ %t0 = load ptr, ptr %sc_l_error_0
+ %t1 = getelementptr inbounds %ScrError, ptr %t0, i64 0, i32 9
+ %t2 = load i8, ptr %t1, !tbaa !206
+ %t3 = trunc i8 %t2 to i1
+ br i1 %t3, label %if.t0, label %if.j1
+if.t0:
+ %t4 = load ptr, ptr %sc_l_error_0
+ %t5 = getelementptr inbounds %ScrError, ptr %t4, i64 0, i32 2
+ %t6 = load ptr, ptr %t5, !tbaa !10
+ ret ptr %t6
+if.j1:
+ %t7 = load ptr, ptr %sc_l_error_0
+ %t8 = getelementptr inbounds %ScrError, ptr %t7, i64 0, i32 2
+ %t9 = load ptr, ptr %t8, !tbaa !10
+ ret ptr %t9
+}
+define internal ptr @sc_f__x25_error_name_read(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_error_name_read(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rc_retain_str(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_error_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_error_message_read(ptr %p_sc_l_error_0) #0 { ; %error.message.read
+entry:
+ %sc_l_error_0 = alloca ptr ; error
+ store ptr %p_sc_l_error_0, ptr %sc_l_error_0
+ %t0 = load ptr, ptr %sc_l_error_0
+ %t1 = getelementptr inbounds %ScrError, ptr %t0, i64 0, i32 7
+ %t2 = load i8, ptr %t1, !tbaa !210
+ %t3 = trunc i8 %t2 to i1
+ br i1 %t3, label %if.t0, label %if.j1
+if.t0:
+ %t4 = load ptr, ptr %sc_l_error_0
+ %t5 = getelementptr inbounds %ScrError, ptr %t4, i64 0, i32 3
+ %t6 = load ptr, ptr %t5, !tbaa !214
+ ret ptr %t6
+if.j1:
+ %t7 = load ptr, ptr %sc_l_error_0
+ %t8 = getelementptr inbounds %ScrError, ptr %t7, i64 0, i32 3
+ %t9 = load ptr, ptr %t8, !tbaa !214
+ ret ptr %t9
+}
+define internal ptr @sc_f__x25_error_message_read(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_error_message_read(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rc_retain_str(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_error_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_bf__x25_error_toString_method(ptr %p_sc_l_error_0) #0 { ; %error.toString.method
+entry:
+ %sc_l_error_0 = alloca ptr ; error
+ store ptr %p_sc_l_error_0, ptr %sc_l_error_0
+ %t0 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString)
+ %t1 = call ptr @sc_dfb_56(ptr %t0, ptr null)
+ call void @scr_closure_release(ptr %t0)
+ ret ptr %t1
+}
+define internal ptr @sc_f__x25_error_toString_method(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_error_toString_method(ptr %p0)
+ call void @scr_error_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_504(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.504
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_2298207874780604(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @sc_bf__x25_error_name_read(ptr %t6)
+ %t8 = call ptr @sc_rc_retain_str(ptr %t7)
+ %t9 = call ptr @sc_td_0(ptr %t8)
+ call void @scr_str_release(ptr %t8)
+ ret ptr %t9
+if.j3:
+ %t10 = load ptr, ptr %sc_l_p_key
+ %t11 = call zeroext i1 @sc_streq_3013970235377041(ptr %t10)
+ br i1 %t11, label %if.t4, label %if.j5
+if.t4:
+ %t12 = load ptr, ptr %sc_l_p_receiver
+ %t13 = call ptr @sc_bf__x25_error_message_read(ptr %t12)
+ %t14 = call ptr @sc_rc_retain_str(ptr %t13)
+ %t15 = call ptr @sc_td_0(ptr %t14)
+ call void @scr_str_release(ptr %t14)
+ ret ptr %t15
+if.j5:
+ %t16 = load ptr, ptr %sc_l_p_key
+ %t17 = call zeroext i1 @sc_streq_1143527378875226(ptr %t16)
+ br i1 %t17, label %if.t6, label %if.j7
+if.t6:
+ %t18 = load ptr, ptr %sc_l_p_receiver
+ %t19 = getelementptr inbounds %sc_o__x25_m5_MethodNotAllowedError, ptr %t18, i64 0, i32 21
+ %t20 = load ptr, ptr %t19, !tbaa !168
+ %t21 = call ptr @sc_rc_retain_str(ptr %t20)
+ %t22 = call ptr @sc_td_0(ptr %t21)
+ call void @scr_str_release(ptr %t21)
+ ret ptr %t22
+if.j7:
+ %t23 = load ptr, ptr %sc_l_p_key
+ %t24 = call zeroext i1 @sc_streq_3302186402337583(ptr %t23)
+ br i1 %t24, label %if.t8, label %if.j9
+if.t8:
+ %t25 = load ptr, ptr %sc_l_p_receiver
+ %t26 = call ptr @sc_bf__x25_error_toString_method(ptr %t25)
+ ret ptr %t26
+if.j9:
+ %t27 = load ptr, ptr %sc_l_p_0
+ %t28 = call ptr @sc_rc_retain_dyn(ptr %t27)
+ %t29 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t28)
+ %t30 = load i32, ptr %exc.cell
+ %t31 = icmp ne i32 %t30, 0
+ %t32 = call i1 @llvm.expect.i1(i1 %t31, i1 false)
+ br i1 %t32, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t29)
+ ret ptr null
+exc.k11:
+ %t33 = load ptr, ptr %sc_l_p_key
+ %t34 = call ptr @sc_rc_retain_str(ptr %t33)
+ %t35 = load ptr, ptr %sc_l_p_receiver
+ %t36 = call ptr @sc_td_15(ptr %t35)
+ %t37 = call ptr @scr_dyn_bag_get(ptr %t29, ptr %t34, ptr %t36)
+ %t38 = load i32, ptr %exc.cell
+ %t39 = icmp ne i32 %t38, 0
+ %t40 = call i1 @llvm.expect.i1(i1 %t39, i1 false)
+ br i1 %t40, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @scr_str_release(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t37)
+ ret ptr null
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @scr_str_release(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t36)
+ ret ptr %t37
+}
+define internal ptr @sc_f__x25_dyn_class_keys_504(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_504(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m5_MethodNotAllowedError(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_505(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.505
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_4331231100667432(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7, !tbaa !108
+ %t9 = call ptr @sc_rc_retain_str(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr %t9)
+ call void @scr_str_release(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_1497623537730125(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t13, i64 0, i32 2
+ %t15 = load ptr, ptr %t14, !tbaa !110
+ %t16 = call ptr @sc_rc_retain_str(ptr %t15)
+ %t17 = call ptr @sc_td_0(ptr %t16)
+ call void @scr_str_release(ptr %t16)
+ ret ptr %t17
+if.j5:
+ %t18 = load ptr, ptr %sc_l_p_key
+ %t19 = call zeroext i1 @sc_streq_3626652862359804(ptr %t18)
+ br i1 %t19, label %if.t6, label %if.j7
+if.t6:
+ %t20 = load ptr, ptr %sc_l_p_receiver
+ %t21 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t20, i64 0, i32 3
+ %t22 = load double, ptr %t21, !tbaa !112
+ %t23 = call ptr @sc_td_2(double %t22)
+ ret ptr %t23
+if.j7:
+ %t24 = load ptr, ptr %sc_l_p_key
+ %t25 = call zeroext i1 @sc_streq_3767316427932713(ptr %t24)
+ br i1 %t25, label %if.t8, label %if.j9
+if.t8:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t26, i64 0, i32 4
+ %t28 = load ptr, ptr %t27, !tbaa !114
+ %t29 = call ptr @scr_bytes_retain_v(ptr %t28)
+ %t30 = call ptr @sc_td_1(ptr %t29)
+ call void @scr_bytes_release(ptr %t29)
+ ret ptr %t30
+if.j9:
+ %t31 = load ptr, ptr %sc_l_p_key
+ %t32 = call zeroext i1 @sc_streq_270650669493903(ptr %t31)
+ br i1 %t32, label %if.t10, label %if.j11
+if.t10:
+ %t33 = load ptr, ptr %sc_l_p_receiver
+ %t34 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t33, i64 0, i32 5
+ %t35 = load ptr, ptr %t34, !tbaa !116
+ %t36 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t35)
+ %t37 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t36, ptr @sc_retain__x25_m4_MultipartStorage, ptr @sc_release__x25_m4_MultipartStorage, ptr @sc_cs_3635319175845957, i64 27, ptr @sc_ldr_14_materialize, ptr @sc_ldr_14_materialize_commit)
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t36)
+ ret ptr %t37
+if.j11:
+ %t38 = load ptr, ptr %sc_l_p_key
+ %t39 = call zeroext i1 @sc_streq_1904556107358822(ptr %t38)
+ br i1 %t39, label %if.t12, label %if.j13
+if.t12:
+ %t40 = load ptr, ptr %sc_l_p_receiver
+ %t41 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t40, i64 0, i32 6
+ %t42 = load double, ptr %t41, !tbaa !118
+ %t43 = call ptr @sc_td_2(double %t42)
+ ret ptr %t43
+if.j13:
+ %t44 = load ptr, ptr %sc_l_p_key
+ %t45 = call zeroext i1 @sc_streq_3347257245794453(ptr %t44)
+ br i1 %t45, label %if.t14, label %if.j15
+if.t14:
+ %t46 = load ptr, ptr %sc_l_p_receiver
+ %t47 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t46, i64 0, i32 7
+ %t48 = load double, ptr %t47, !tbaa !120
+ %t49 = call ptr @sc_td_2(double %t48)
+ ret ptr %t49
+if.j15:
+ %t50 = load ptr, ptr %sc_l_p_key
+ %t51 = call zeroext i1 @sc_streq_51498970823486(ptr %t50)
+ br i1 %t51, label %if.t16, label %if.j17
+if.t16:
+ %t52 = load ptr, ptr %sc_l_p_receiver
+ %t53 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t52, i64 0, i32 8
+ %t54 = load double, ptr %t53, !tbaa !122
+ %t55 = call ptr @sc_td_2(double %t54)
+ ret ptr %t55
+if.j17:
+ %t56 = load ptr, ptr %sc_l_p_key
+ %t57 = call zeroext i1 @sc_streq_3871774119671975(ptr %t56)
+ br i1 %t57, label %if.t18, label %if.j19
+if.t18:
+ %t58 = load ptr, ptr %sc_l_p_receiver
+ %t59 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t58, i64 0, i32 9
+ %t60 = load i8, ptr %t59, !tbaa !124
+ %t61 = trunc i8 %t60 to i1
+ %t62 = call ptr @sc_td_3(i1 %t61)
+ ret ptr %t62
+if.j19:
+ %t63 = load ptr, ptr %sc_l_p_key
+ %t64 = call zeroext i1 @sc_streq_1511541293423217(ptr %t63)
+ br i1 %t64, label %if.t20, label %if.j21
+if.t20:
+ %t65 = load ptr, ptr %sc_l_p_receiver
+ %t66 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t65, i64 0, i32 10
+ %t67 = load i8, ptr %t66, !tbaa !126
+ %t68 = trunc i8 %t67 to i1
+ %t69 = call ptr @sc_td_3(i1 %t68)
+ ret ptr %t69
+if.j21:
+ %t70 = load ptr, ptr %sc_l_p_key
+ %t71 = call zeroext i1 @sc_streq_3537803200604019(ptr %t70)
+ br i1 %t71, label %if.t22, label %if.j23
+if.t22:
+ %t72 = load ptr, ptr %sc_l_p_receiver
+ %t73 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t72, i64 0, i32 11
+ %t74 = load ptr, ptr %t73, !tbaa !100
+ %t75 = call ptr @sc_rc_retain_str(ptr %t74)
+ %t76 = call ptr @sc_td_0(ptr %t75)
+ call void @scr_str_release(ptr %t75)
+ ret ptr %t76
+if.j23:
+ %t77 = load ptr, ptr %sc_l_p_key
+ %t78 = call zeroext i1 @sc_streq_2438149604853393(ptr %t77)
+ br i1 %t78, label %if.t24, label %if.j25
+if.t24:
+ %t79 = load ptr, ptr %sc_l_p_receiver
+ %t80 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t79, i64 0, i32 12
+ %t81 = load ptr, ptr %t80, !tbaa !102
+ %t82 = call ptr @sc_rc_retain_str(ptr %t81)
+ %t83 = call ptr @sc_td_0(ptr %t82)
+ call void @scr_str_release(ptr %t82)
+ ret ptr %t83
+if.j25:
+ %t84 = load ptr, ptr %sc_l_p_key
+ %t85 = call zeroext i1 @sc_streq_87265031005560(ptr %t84)
+ br i1 %t85, label %if.t26, label %if.j27
+if.t26:
+ %t86 = load ptr, ptr %sc_l_p_receiver
+ %t87 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t86, i64 0, i32 13
+ %t88 = load ptr, ptr %t87, !tbaa !104
+ %t89 = call ptr @sc_rc_retain_str(ptr %t88)
+ %t90 = call ptr @sc_td_0(ptr %t89)
+ call void @scr_str_release(ptr %t89)
+ ret ptr %t90
+if.j27:
+ %t91 = load ptr, ptr %sc_l_p_key
+ %t92 = call zeroext i1 @sc_streq_2620371357038102(ptr %t91)
+ br i1 %t92, label %if.t28, label %if.j29
+if.t28:
+ %t93 = load ptr, ptr %sc_l_p_receiver
+ %t94 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t93, i64 0, i32 14
+ %t95 = load ptr, ptr %t94, !tbaa !128
+ %t96 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t95)
+ %t97 = call ptr @sc_ldu_4(ptr %t96)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t96)
+ ret ptr %t97
+if.j29:
+ %t98 = load ptr, ptr %sc_l_p_key
+ %t99 = call zeroext i1 @sc_streq_1445273163400741(ptr %t98)
+ br i1 %t99, label %if.t30, label %if.j31
+if.t30:
+ %t100 = load ptr, ptr %sc_l_p_receiver
+ %t101 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t100, i64 0, i32 15
+ %t102 = load ptr, ptr %t101, !tbaa !130
+ %t103 = call ptr @scr_arr_retain_v(ptr %t102)
+ %t104 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t103, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t104, ptr @sc_ldr_20_materialize_ops)
+ call void @scr_arr_release(ptr %t103)
+ ret ptr %t104
+if.j31:
+ %t105 = load ptr, ptr %sc_l_p_key
+ %t106 = call zeroext i1 @sc_streq_3078220272172636(ptr %t105)
+ br i1 %t106, label %if.t32, label %if.j33
+if.t32:
+ %t107 = load ptr, ptr %sc_l_p_receiver
+ %t108 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t107, i64 0, i32 16
+ %t109 = load double, ptr %t108, !tbaa !132
+ %t110 = call ptr @sc_td_2(double %t109)
+ ret ptr %t110
+if.j33:
+ %t111 = load ptr, ptr %sc_l_p_key
+ %t112 = call zeroext i1 @sc_streq_3003865410260240(ptr %t111)
+ br i1 %t112, label %if.t34, label %if.j35
+if.t34:
+ %t113 = load ptr, ptr %sc_l_p_receiver
+ %t114 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t113, i64 0, i32 17
+ %t115 = load double, ptr %t114, !tbaa !134
+ %t116 = call ptr @sc_td_2(double %t115)
+ ret ptr %t116
+if.j35:
+ %t117 = load ptr, ptr %sc_l_p_key
+ %t118 = call zeroext i1 @sc_streq_3833663445821831(ptr %t117)
+ br i1 %t118, label %if.t36, label %if.j37
+if.t36:
+ %t119 = load ptr, ptr %sc_l_p_receiver
+ %t120 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t119, i64 0, i32 18
+ %t121 = load double, ptr %t120, !tbaa !26
+ %t122 = call ptr @sc_td_2(double %t121)
+ ret ptr %t122
+if.j37:
+ %t123 = load ptr, ptr %sc_l_p_key
+ %t124 = call zeroext i1 @sc_streq_1081761464356753(ptr %t123)
+ br i1 %t124, label %if.t38, label %if.j39
+if.t38:
+ %t125 = load ptr, ptr %sc_l_p_receiver
+ %t126 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t125, i64 0, i32 19
+ %t127 = load ptr, ptr %t126, !tbaa !28
+ %t128 = call ptr @scr_arr_retain_v(ptr %t127)
+ %t129 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t128, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_359158576128586, i64 30, ptr @sc_ldr_11_materialize, ptr @sc_ldr_11_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t129, ptr @sc_ldr_11_materialize_ops)
+ call void @scr_arr_release(ptr %t128)
+ ret ptr %t129
+if.j39:
+ %t130 = load ptr, ptr %sc_l_p_key
+ %t131 = call zeroext i1 @sc_streq_3375901898269401(ptr %t130)
+ br i1 %t131, label %if.t40, label %if.j41
+if.t40:
+ %t132 = load ptr, ptr %sc_l_p_receiver
+ %t133 = getelementptr inbounds %sc_o__x25_m4_MultipartParser, ptr %t132, i64 0, i32 20
+ %t134 = load ptr, ptr %t133, !tbaa !30
+ %t135 = call ptr @scr_arr_retain_v(ptr %t134)
+ %t136 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t135, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t136, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t135)
+ ret ptr %t136
+if.j41:
+ %t137 = load ptr, ptr %sc_l_p_key
+ %t138 = call zeroext i1 @sc_streq_3531366543973767(ptr %t137)
+ br i1 %t138, label %if.t42, label %if.j43
+if.t42:
+ %t139 = load ptr, ptr %sc_l_p_receiver
+ %t140 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t139, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t141 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t140)
+ %t142 = load i32, ptr %exc.cell
+ %t143 = icmp ne i32 %t142, 0
+ %t144 = call i1 @llvm.expect.i1(i1 %t143, i1 false)
+ br i1 %t144, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t141)
+ ret ptr null
+exc.k45:
+ %t145 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t141, ptr @sc_lit_3531366543973767)
+ %t146 = load i32, ptr %exc.cell
+ %t147 = icmp ne i32 %t146, 0
+ %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false)
+ br i1 %t148, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t141)
+ ret ptr null
+exc.k47:
+ call void @sc_rc_release_dyn(ptr %t141)
+ br i1 %t145, label %if.t48, label %if.j49
+if.t48:
+ %t149 = load ptr, ptr %sc_l_p_receiver
+ %t150 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t149, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t151 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t150)
+ %t152 = load i32, ptr %exc.cell
+ %t153 = icmp ne i32 %t152, 0
+ %t154 = call i1 @llvm.expect.i1(i1 %t153, i1 false)
+ br i1 %t154, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t151)
+ ret ptr null
+exc.k51:
+ %t155 = load ptr, ptr %sc_l_p_receiver
+ %t156 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t155, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t157 = call ptr @scr_dyn_bag_get(ptr %t151, ptr @sc_lit_3531366543973767, ptr %t156)
+ %t158 = load i32, ptr %exc.cell
+ %t159 = icmp ne i32 %t158, 0
+ %t160 = call i1 @llvm.expect.i1(i1 %t159, i1 false)
+ br i1 %t160, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t156)
+ call void @sc_rc_release_dyn(ptr %t157)
+ ret ptr null
+exc.k53:
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t156)
+ ret ptr %t157
+if.j49:
+ %t162 = call ptr @scr_dyn_undefined()
+ %t161 = call ptr @scr_dyn_retain_v(ptr %t162)
+ ret ptr %t161
+if.j43:
+ %t163 = load ptr, ptr %sc_l_p_key
+ %t164 = call zeroext i1 @sc_streq_1173128410961643(ptr %t163)
+ br i1 %t164, label %if.t54, label %if.j55
+if.t54:
+ %t165 = load ptr, ptr %sc_l_p_receiver
+ %t166 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t165, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t167 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t166)
+ %t168 = load i32, ptr %exc.cell
+ %t169 = icmp ne i32 %t168, 0
+ %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false)
+ br i1 %t170, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t167)
+ ret ptr null
+exc.k57:
+ %t171 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t167, ptr @sc_lit_1173128410961643)
+ %t172 = load i32, ptr %exc.cell
+ %t173 = icmp ne i32 %t172, 0
+ %t174 = call i1 @llvm.expect.i1(i1 %t173, i1 false)
+ br i1 %t174, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t167)
+ ret ptr null
+exc.k59:
+ call void @sc_rc_release_dyn(ptr %t167)
+ br i1 %t171, label %if.t60, label %if.j61
+if.t60:
+ %t175 = load ptr, ptr %sc_l_p_receiver
+ %t176 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t175, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t177 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t176)
+ %t178 = load i32, ptr %exc.cell
+ %t179 = icmp ne i32 %t178, 0
+ %t180 = call i1 @llvm.expect.i1(i1 %t179, i1 false)
+ br i1 %t180, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t177)
+ ret ptr null
+exc.k63:
+ %t181 = load ptr, ptr %sc_l_p_receiver
+ %t182 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t181, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t183 = call ptr @scr_dyn_bag_get(ptr %t177, ptr @sc_lit_1173128410961643, ptr %t182)
+ %t184 = load i32, ptr %exc.cell
+ %t185 = icmp ne i32 %t184, 0
+ %t186 = call i1 @llvm.expect.i1(i1 %t185, i1 false)
+ br i1 %t186, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t182)
+ call void @sc_rc_release_dyn(ptr %t183)
+ ret ptr null
+exc.k65:
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t183
+if.j61:
+ %t188 = call ptr @scr_dyn_undefined()
+ %t187 = call ptr @scr_dyn_retain_v(ptr %t188)
+ ret ptr %t187
+if.j55:
+ %t189 = load ptr, ptr %sc_l_p_key
+ %t190 = call zeroext i1 @sc_streq_1900193337948069(ptr %t189)
+ br i1 %t190, label %if.t66, label %if.j67
+if.t66:
+ %t191 = load ptr, ptr %sc_l_p_receiver
+ %t192 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t191, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t193 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t192)
+ %t194 = load i32, ptr %exc.cell
+ %t195 = icmp ne i32 %t194, 0
+ %t196 = call i1 @llvm.expect.i1(i1 %t195, i1 false)
+ br i1 %t196, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t193)
+ ret ptr null
+exc.k69:
+ %t197 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t193, ptr @sc_lit_1900193337948069)
+ %t198 = load i32, ptr %exc.cell
+ %t199 = icmp ne i32 %t198, 0
+ %t200 = call i1 @llvm.expect.i1(i1 %t199, i1 false)
+ br i1 %t200, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t193)
+ ret ptr null
+exc.k71:
+ call void @sc_rc_release_dyn(ptr %t193)
+ br i1 %t197, label %if.t72, label %if.j73
+if.t72:
+ %t201 = load ptr, ptr %sc_l_p_receiver
+ %t202 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t201, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t203 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t202)
+ %t204 = load i32, ptr %exc.cell
+ %t205 = icmp ne i32 %t204, 0
+ %t206 = call i1 @llvm.expect.i1(i1 %t205, i1 false)
+ br i1 %t206, label %exc.u74, label %exc.k75
+exc.u74:
+ call void @sc_rc_release_dyn(ptr %t203)
+ ret ptr null
+exc.k75:
+ %t207 = load ptr, ptr %sc_l_p_receiver
+ %t208 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t207, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t209 = call ptr @scr_dyn_bag_get(ptr %t203, ptr @sc_lit_1900193337948069, ptr %t208)
+ %t210 = load i32, ptr %exc.cell
+ %t211 = icmp ne i32 %t210, 0
+ %t212 = call i1 @llvm.expect.i1(i1 %t211, i1 false)
+ br i1 %t212, label %exc.u76, label %exc.k77
+exc.u76:
+ call void @sc_rc_release_dyn(ptr %t203)
+ call void @sc_rc_release_dyn(ptr %t208)
+ call void @sc_rc_release_dyn(ptr %t209)
+ ret ptr null
+exc.k77:
+ call void @sc_rc_release_dyn(ptr %t203)
+ call void @sc_rc_release_dyn(ptr %t208)
+ ret ptr %t209
+if.j73:
+ %t214 = call ptr @scr_dyn_undefined()
+ %t213 = call ptr @scr_dyn_retain_v(ptr %t214)
+ ret ptr %t213
+if.j67:
+ %t215 = load ptr, ptr %sc_l_p_key
+ %t216 = call zeroext i1 @sc_streq_3922224781708262(ptr %t215)
+ br i1 %t216, label %if.t78, label %if.j79
+if.t78:
+ %t217 = load ptr, ptr %sc_l_p_receiver
+ %t218 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t217, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t219 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t218)
+ %t220 = load i32, ptr %exc.cell
+ %t221 = icmp ne i32 %t220, 0
+ %t222 = call i1 @llvm.expect.i1(i1 %t221, i1 false)
+ br i1 %t222, label %exc.u80, label %exc.k81
+exc.u80:
+ call void @sc_rc_release_dyn(ptr %t219)
+ ret ptr null
+exc.k81:
+ %t223 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t219, ptr @sc_lit_3922224781708262)
+ %t224 = load i32, ptr %exc.cell
+ %t225 = icmp ne i32 %t224, 0
+ %t226 = call i1 @llvm.expect.i1(i1 %t225, i1 false)
+ br i1 %t226, label %exc.u82, label %exc.k83
+exc.u82:
+ call void @sc_rc_release_dyn(ptr %t219)
+ ret ptr null
+exc.k83:
+ call void @sc_rc_release_dyn(ptr %t219)
+ br i1 %t223, label %if.t84, label %if.j85
+if.t84:
+ %t227 = load ptr, ptr %sc_l_p_receiver
+ %t228 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t227, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t229 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t228)
+ %t230 = load i32, ptr %exc.cell
+ %t231 = icmp ne i32 %t230, 0
+ %t232 = call i1 @llvm.expect.i1(i1 %t231, i1 false)
+ br i1 %t232, label %exc.u86, label %exc.k87
+exc.u86:
+ call void @sc_rc_release_dyn(ptr %t229)
+ ret ptr null
+exc.k87:
+ %t233 = load ptr, ptr %sc_l_p_receiver
+ %t234 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t233, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t235 = call ptr @scr_dyn_bag_get(ptr %t229, ptr @sc_lit_3922224781708262, ptr %t234)
+ %t236 = load i32, ptr %exc.cell
+ %t237 = icmp ne i32 %t236, 0
+ %t238 = call i1 @llvm.expect.i1(i1 %t237, i1 false)
+ br i1 %t238, label %exc.u88, label %exc.k89
+exc.u88:
+ call void @sc_rc_release_dyn(ptr %t229)
+ call void @sc_rc_release_dyn(ptr %t234)
+ call void @sc_rc_release_dyn(ptr %t235)
+ ret ptr null
+exc.k89:
+ call void @sc_rc_release_dyn(ptr %t229)
+ call void @sc_rc_release_dyn(ptr %t234)
+ ret ptr %t235
+if.j85:
+ %t240 = call ptr @scr_dyn_undefined()
+ %t239 = call ptr @scr_dyn_retain_v(ptr %t240)
+ ret ptr %t239
+if.j79:
+ %t241 = load ptr, ptr %sc_l_p_key
+ %t242 = call zeroext i1 @sc_streq_1360183775732063(ptr %t241)
+ br i1 %t242, label %if.t90, label %if.j91
+if.t90:
+ %t243 = load ptr, ptr %sc_l_p_receiver
+ %t244 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t243, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t245 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t244)
+ %t246 = load i32, ptr %exc.cell
+ %t247 = icmp ne i32 %t246, 0
+ %t248 = call i1 @llvm.expect.i1(i1 %t247, i1 false)
+ br i1 %t248, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t245)
+ ret ptr null
+exc.k93:
+ %t249 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t245, ptr @sc_lit_1360183775732063)
+ %t250 = load i32, ptr %exc.cell
+ %t251 = icmp ne i32 %t250, 0
+ %t252 = call i1 @llvm.expect.i1(i1 %t251, i1 false)
+ br i1 %t252, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t245)
+ ret ptr null
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t245)
+ br i1 %t249, label %if.t96, label %if.j97
+if.t96:
+ %t253 = load ptr, ptr %sc_l_p_receiver
+ %t254 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t253, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t255 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t254)
+ %t256 = load i32, ptr %exc.cell
+ %t257 = icmp ne i32 %t256, 0
+ %t258 = call i1 @llvm.expect.i1(i1 %t257, i1 false)
+ br i1 %t258, label %exc.u98, label %exc.k99
+exc.u98:
+ call void @sc_rc_release_dyn(ptr %t255)
+ ret ptr null
+exc.k99:
+ %t259 = load ptr, ptr %sc_l_p_receiver
+ %t260 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t259, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t261 = call ptr @scr_dyn_bag_get(ptr %t255, ptr @sc_lit_1360183775732063, ptr %t260)
+ %t262 = load i32, ptr %exc.cell
+ %t263 = icmp ne i32 %t262, 0
+ %t264 = call i1 @llvm.expect.i1(i1 %t263, i1 false)
+ br i1 %t264, label %exc.u100, label %exc.k101
+exc.u100:
+ call void @sc_rc_release_dyn(ptr %t255)
+ call void @sc_rc_release_dyn(ptr %t260)
+ call void @sc_rc_release_dyn(ptr %t261)
+ ret ptr null
+exc.k101:
+ call void @sc_rc_release_dyn(ptr %t255)
+ call void @sc_rc_release_dyn(ptr %t260)
+ ret ptr %t261
+if.j97:
+ %t266 = call ptr @scr_dyn_undefined()
+ %t265 = call ptr @scr_dyn_retain_v(ptr %t266)
+ ret ptr %t265
+if.j91:
+ %t267 = load ptr, ptr %sc_l_p_key
+ %t268 = call zeroext i1 @sc_streq_142546227685363(ptr %t267)
+ br i1 %t268, label %if.t102, label %if.j103
+if.t102:
+ %t269 = load ptr, ptr %sc_l_p_receiver
+ %t270 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t269, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t271 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t270)
+ %t272 = load i32, ptr %exc.cell
+ %t273 = icmp ne i32 %t272, 0
+ %t274 = call i1 @llvm.expect.i1(i1 %t273, i1 false)
+ br i1 %t274, label %exc.u104, label %exc.k105
+exc.u104:
+ call void @sc_rc_release_dyn(ptr %t271)
+ ret ptr null
+exc.k105:
+ %t275 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t271, ptr @sc_lit_142546227685363)
+ %t276 = load i32, ptr %exc.cell
+ %t277 = icmp ne i32 %t276, 0
+ %t278 = call i1 @llvm.expect.i1(i1 %t277, i1 false)
+ br i1 %t278, label %exc.u106, label %exc.k107
+exc.u106:
+ call void @sc_rc_release_dyn(ptr %t271)
+ ret ptr null
+exc.k107:
+ call void @sc_rc_release_dyn(ptr %t271)
+ br i1 %t275, label %if.t108, label %if.j109
+if.t108:
+ %t279 = load ptr, ptr %sc_l_p_receiver
+ %t280 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t279, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t281 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t280)
+ %t282 = load i32, ptr %exc.cell
+ %t283 = icmp ne i32 %t282, 0
+ %t284 = call i1 @llvm.expect.i1(i1 %t283, i1 false)
+ br i1 %t284, label %exc.u110, label %exc.k111
+exc.u110:
+ call void @sc_rc_release_dyn(ptr %t281)
+ ret ptr null
+exc.k111:
+ %t285 = load ptr, ptr %sc_l_p_receiver
+ %t286 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t285, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t287 = call ptr @scr_dyn_bag_get(ptr %t281, ptr @sc_lit_142546227685363, ptr %t286)
+ %t288 = load i32, ptr %exc.cell
+ %t289 = icmp ne i32 %t288, 0
+ %t290 = call i1 @llvm.expect.i1(i1 %t289, i1 false)
+ br i1 %t290, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t281)
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_rc_release_dyn(ptr %t287)
+ ret ptr null
+exc.k113:
+ call void @sc_rc_release_dyn(ptr %t281)
+ call void @sc_rc_release_dyn(ptr %t286)
+ ret ptr %t287
+if.j109:
+ %t292 = call ptr @scr_dyn_undefined()
+ %t291 = call ptr @scr_dyn_retain_v(ptr %t292)
+ ret ptr %t291
+if.j103:
+ %t293 = load ptr, ptr %sc_l_p_key
+ %t294 = call zeroext i1 @sc_streq_2281930073577937(ptr %t293)
+ br i1 %t294, label %if.t114, label %if.j115
+if.t114:
+ %t295 = load ptr, ptr %sc_l_p_receiver
+ %t296 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t295, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t297 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t296)
+ %t298 = load i32, ptr %exc.cell
+ %t299 = icmp ne i32 %t298, 0
+ %t300 = call i1 @llvm.expect.i1(i1 %t299, i1 false)
+ br i1 %t300, label %exc.u116, label %exc.k117
+exc.u116:
+ call void @sc_rc_release_dyn(ptr %t297)
+ ret ptr null
+exc.k117:
+ %t301 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t297, ptr @sc_lit_2281930073577937)
+ %t302 = load i32, ptr %exc.cell
+ %t303 = icmp ne i32 %t302, 0
+ %t304 = call i1 @llvm.expect.i1(i1 %t303, i1 false)
+ br i1 %t304, label %exc.u118, label %exc.k119
+exc.u118:
+ call void @sc_rc_release_dyn(ptr %t297)
+ ret ptr null
+exc.k119:
+ call void @sc_rc_release_dyn(ptr %t297)
+ br i1 %t301, label %if.t120, label %if.j121
+if.t120:
+ %t305 = load ptr, ptr %sc_l_p_receiver
+ %t306 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t305, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t307 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t306)
+ %t308 = load i32, ptr %exc.cell
+ %t309 = icmp ne i32 %t308, 0
+ %t310 = call i1 @llvm.expect.i1(i1 %t309, i1 false)
+ br i1 %t310, label %exc.u122, label %exc.k123
+exc.u122:
+ call void @sc_rc_release_dyn(ptr %t307)
+ ret ptr null
+exc.k123:
+ %t311 = load ptr, ptr %sc_l_p_receiver
+ %t312 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t311, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t313 = call ptr @scr_dyn_bag_get(ptr %t307, ptr @sc_lit_2281930073577937, ptr %t312)
+ %t314 = load i32, ptr %exc.cell
+ %t315 = icmp ne i32 %t314, 0
+ %t316 = call i1 @llvm.expect.i1(i1 %t315, i1 false)
+ br i1 %t316, label %exc.u124, label %exc.k125
+exc.u124:
+ call void @sc_rc_release_dyn(ptr %t307)
+ call void @sc_rc_release_dyn(ptr %t312)
+ call void @sc_rc_release_dyn(ptr %t313)
+ ret ptr null
+exc.k125:
+ call void @sc_rc_release_dyn(ptr %t307)
+ call void @sc_rc_release_dyn(ptr %t312)
+ ret ptr %t313
+if.j121:
+ %t318 = call ptr @scr_dyn_undefined()
+ %t317 = call ptr @scr_dyn_retain_v(ptr %t318)
+ ret ptr %t317
+if.j115:
+ %t319 = load ptr, ptr %sc_l_p_key
+ %t320 = call zeroext i1 @sc_streq_1113582459875923(ptr %t319)
+ br i1 %t320, label %if.t126, label %if.j127
+if.t126:
+ %t321 = load ptr, ptr %sc_l_p_receiver
+ %t322 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t321, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t323 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t322)
+ %t324 = load i32, ptr %exc.cell
+ %t325 = icmp ne i32 %t324, 0
+ %t326 = call i1 @llvm.expect.i1(i1 %t325, i1 false)
+ br i1 %t326, label %exc.u128, label %exc.k129
+exc.u128:
+ call void @sc_rc_release_dyn(ptr %t323)
+ ret ptr null
+exc.k129:
+ %t327 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t323, ptr @sc_lit_1113582459875923)
+ %t328 = load i32, ptr %exc.cell
+ %t329 = icmp ne i32 %t328, 0
+ %t330 = call i1 @llvm.expect.i1(i1 %t329, i1 false)
+ br i1 %t330, label %exc.u130, label %exc.k131
+exc.u130:
+ call void @sc_rc_release_dyn(ptr %t323)
+ ret ptr null
+exc.k131:
+ call void @sc_rc_release_dyn(ptr %t323)
+ br i1 %t327, label %if.t132, label %if.j133
+if.t132:
+ %t331 = load ptr, ptr %sc_l_p_receiver
+ %t332 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t331, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t333 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t332)
+ %t334 = load i32, ptr %exc.cell
+ %t335 = icmp ne i32 %t334, 0
+ %t336 = call i1 @llvm.expect.i1(i1 %t335, i1 false)
+ br i1 %t336, label %exc.u134, label %exc.k135
+exc.u134:
+ call void @sc_rc_release_dyn(ptr %t333)
+ ret ptr null
+exc.k135:
+ %t337 = load ptr, ptr %sc_l_p_receiver
+ %t338 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t337, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t339 = call ptr @scr_dyn_bag_get(ptr %t333, ptr @sc_lit_1113582459875923, ptr %t338)
+ %t340 = load i32, ptr %exc.cell
+ %t341 = icmp ne i32 %t340, 0
+ %t342 = call i1 @llvm.expect.i1(i1 %t341, i1 false)
+ br i1 %t342, label %exc.u136, label %exc.k137
+exc.u136:
+ call void @sc_rc_release_dyn(ptr %t333)
+ call void @sc_rc_release_dyn(ptr %t338)
+ call void @sc_rc_release_dyn(ptr %t339)
+ ret ptr null
+exc.k137:
+ call void @sc_rc_release_dyn(ptr %t333)
+ call void @sc_rc_release_dyn(ptr %t338)
+ ret ptr %t339
+if.j133:
+ %t344 = call ptr @scr_dyn_undefined()
+ %t343 = call ptr @scr_dyn_retain_v(ptr %t344)
+ ret ptr %t343
+if.j127:
+ %t345 = load ptr, ptr %sc_l_p_0
+ %t346 = call ptr @sc_rc_retain_dyn(ptr %t345)
+ %t347 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t346)
+ %t348 = load i32, ptr %exc.cell
+ %t349 = icmp ne i32 %t348, 0
+ %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false)
+ br i1 %t350, label %exc.u138, label %exc.k139
+exc.u138:
+ call void @sc_rc_release_dyn(ptr %t347)
+ ret ptr null
+exc.k139:
+ %t351 = load ptr, ptr %sc_l_p_key
+ %t352 = call ptr @sc_rc_retain_str(ptr %t351)
+ %t353 = load ptr, ptr %sc_l_p_receiver
+ %t354 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t353, ptr @sc_retain__x25_m4_MultipartParser, ptr @sc_release__x25_m4_MultipartParser, ptr @sc_cs_3163508115280491, i64 26, ptr @sc_ldr_13_materialize, ptr @sc_ldr_13_materialize_commit)
+ %t355 = call ptr @scr_dyn_bag_get(ptr %t347, ptr %t352, ptr %t354)
+ %t356 = load i32, ptr %exc.cell
+ %t357 = icmp ne i32 %t356, 0
+ %t358 = call i1 @llvm.expect.i1(i1 %t357, i1 false)
+ br i1 %t358, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t347)
+ call void @scr_str_release(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t354)
+ call void @sc_rc_release_dyn(ptr %t355)
+ ret ptr null
+exc.k141:
+ call void @sc_rc_release_dyn(ptr %t347)
+ call void @scr_str_release(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t354)
+ ret ptr %t355
+}
+define internal ptr @sc_f__x25_dyn_class_keys_505(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_505(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m4_MultipartParser(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_506(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.506
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_3392166625234189(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7, !tbaa !90
+ %t9 = call ptr @sc_rc_retain_str(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr %t9)
+ call void @scr_str_release(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_4388468866828680(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t13, i64 0, i32 2
+ %t15 = load ptr, ptr %t14, !tbaa !12
+ %t16 = call ptr @sc_rc_retain_str(ptr %t15)
+ %t17 = call ptr @sc_td_0(ptr %t16)
+ call void @scr_str_release(ptr %t16)
+ ret ptr %t17
+if.j5:
+ %t18 = load ptr, ptr %sc_l_p_key
+ %t19 = call zeroext i1 @sc_streq_595629019077013(ptr %t18)
+ br i1 %t19, label %if.t6, label %if.j7
+if.t6:
+ %t20 = load ptr, ptr %sc_l_p_receiver
+ %t21 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t20, i64 0, i32 3
+ %t22 = load ptr, ptr %t21, !tbaa !92
+ %t23 = call ptr @sc_rc_retain_str(ptr %t22)
+ %t24 = call ptr @sc_td_0(ptr %t23)
+ call void @scr_str_release(ptr %t23)
+ ret ptr %t24
+if.j7:
+ %t25 = load ptr, ptr %sc_l_p_key
+ %t26 = call zeroext i1 @sc_streq_3603975379547098(ptr %t25)
+ br i1 %t26, label %if.t8, label %if.j9
+if.t8:
+ %t27 = load ptr, ptr %sc_l_p_receiver
+ %t28 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t27, i64 0, i32 4
+ %t29 = load double, ptr %t28, !tbaa !94
+ %t30 = call ptr @sc_td_2(double %t29)
+ ret ptr %t30
+if.j9:
+ %t31 = load ptr, ptr %sc_l_p_key
+ %t32 = call zeroext i1 @sc_streq_2826818497658723(ptr %t31)
+ br i1 %t32, label %if.t10, label %if.j11
+if.t10:
+ %t33 = load ptr, ptr %sc_l_p_receiver
+ %t34 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t33, i64 0, i32 5
+ %t35 = load ptr, ptr %t34, !tbaa !96
+ %t36 = call ptr @sc_nretain_string(ptr %t35)
+ %t37 = call ptr @sc_td_13(ptr %t36)
+ call void @scr_str_release(ptr %t36)
+ ret ptr %t37
+if.j11:
+ %t38 = load ptr, ptr %sc_l_p_key
+ %t39 = call zeroext i1 @sc_streq_693828840439997(ptr %t38)
+ br i1 %t39, label %if.t12, label %if.j13
+if.t12:
+ %t40 = load ptr, ptr %sc_l_p_receiver
+ %t41 = getelementptr inbounds %sc_o__x25_m4_UploadedFile, ptr %t40, i64 0, i32 6
+ %t42 = load ptr, ptr %t41, !tbaa !98
+ %t43 = call ptr @scr_union_retain_v(ptr %t42)
+ %t44 = call ptr @sc_ldu_3(ptr %t43)
+ call void @scr_union_release(ptr %t43)
+ ret ptr %t44
+if.j13:
+ %t45 = load ptr, ptr %sc_l_p_0
+ %t46 = call ptr @sc_rc_retain_dyn(ptr %t45)
+ %t47 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t46)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t47)
+ ret ptr null
+exc.k15:
+ %t51 = load ptr, ptr %sc_l_p_key
+ %t52 = call ptr @sc_rc_retain_str(ptr %t51)
+ %t53 = load ptr, ptr %sc_l_p_receiver
+ %t54 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t53, ptr @sc_retain__x25_m4_UploadedFile, ptr @sc_release__x25_m4_UploadedFile, ptr @sc_cs_4408523527888294, i64 23, ptr @sc_ldr_12_materialize, ptr @sc_ldr_12_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_class(ptr %t54, ptr @sc_ldr_12_materialize_cops)
+ %t55 = call ptr @scr_dyn_bag_get(ptr %t47, ptr %t52, ptr %t54)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t47)
+ call void @scr_str_release(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t55)
+ ret ptr null
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t47)
+ call void @scr_str_release(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t54)
+ ret ptr %t55
+}
+define internal ptr @sc_f__x25_dyn_class_keys_506(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_506(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m4_UploadedFile(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_507(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.507
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_662344961506331(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7, !tbaa !194
+ %t9 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t8)
+ %t10 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t9, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ call void @sc_release__x25_m6_AssetSource(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_24845548896369(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t13, i64 0, i32 2
+ %t15 = load i8, ptr %t14, !tbaa !196
+ %t16 = trunc i8 %t15 to i1
+ %t17 = call ptr @sc_td_3(i1 %t16)
+ ret ptr %t17
+if.j5:
+ %t18 = load ptr, ptr %sc_l_p_key
+ %t19 = call zeroext i1 @sc_streq_365197477495960(ptr %t18)
+ br i1 %t19, label %if.t6, label %if.j7
+if.t6:
+ %t20 = load ptr, ptr %sc_l_p_receiver
+ %t21 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t20, i64 0, i32 3
+ %t22 = load ptr, ptr %t21, !tbaa !198
+ %t23 = call ptr @scr_arr_retain_v(ptr %t22)
+ %t24 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t23, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_391578306055374, i64 13, ptr @sc_ldr_2_materialize, ptr @sc_ldr_2_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t24, ptr @sc_ldr_2_materialize_ops)
+ call void @scr_arr_release(ptr %t23)
+ ret ptr %t24
+if.j7:
+ %t25 = load ptr, ptr %sc_l_p_key
+ %t26 = call zeroext i1 @sc_streq_488203381972006(ptr %t25)
+ br i1 %t26, label %if.t8, label %if.j9
+if.t8:
+ %t27 = load ptr, ptr %sc_l_p_receiver
+ %t28 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t27, i64 0, i32 4
+ %t29 = load ptr, ptr %t28, !tbaa !200
+ %t30 = call ptr @sc_rc_retain_str(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr %t30)
+ call void @scr_str_release(ptr %t30)
+ ret ptr %t31
+if.j9:
+ %t32 = load ptr, ptr %sc_l_p_key
+ %t33 = call zeroext i1 @sc_streq_938646781597298(ptr %t32)
+ br i1 %t33, label %if.t10, label %if.j11
+if.t10:
+ %t34 = load ptr, ptr %sc_l_p_receiver
+ %t35 = getelementptr inbounds %sc_o__x25_m11_StaticServer, ptr %t34, i64 0, i32 5
+ %t36 = load ptr, ptr %t35, !tbaa !202
+ %t37 = call ptr @sc_rc_retain_str(ptr %t36)
+ %t38 = call ptr @sc_td_0(ptr %t37)
+ call void @scr_str_release(ptr %t37)
+ ret ptr %t38
+if.j11:
+ %t39 = load ptr, ptr %sc_l_p_key
+ %t40 = call zeroext i1 @sc_streq_2232031524457002(ptr %t39)
+ br i1 %t40, label %if.t12, label %if.j13
+if.t12:
+ %t41 = load ptr, ptr %sc_l_p_receiver
+ %t42 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t41, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t43 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t42)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr null
+exc.k15:
+ %t47 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t43, ptr @sc_lit_2232031524457002)
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret ptr null
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t43)
+ br i1 %t47, label %if.t18, label %if.j19
+if.t18:
+ %t51 = load ptr, ptr %sc_l_p_receiver
+ %t52 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t51, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t53 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t52)
+ %t54 = load i32, ptr %exc.cell
+ %t55 = icmp ne i32 %t54, 0
+ %t56 = call i1 @llvm.expect.i1(i1 %t55, i1 false)
+ br i1 %t56, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t53)
+ ret ptr null
+exc.k21:
+ %t57 = load ptr, ptr %sc_l_p_receiver
+ %t58 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t57, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t59 = call ptr @scr_dyn_bag_get(ptr %t53, ptr @sc_lit_2232031524457002, ptr %t58)
+ %t60 = load i32, ptr %exc.cell
+ %t61 = icmp ne i32 %t60, 0
+ %t62 = call i1 @llvm.expect.i1(i1 %t61, i1 false)
+ br i1 %t62, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @sc_rc_release_dyn(ptr %t58)
+ call void @sc_rc_release_dyn(ptr %t59)
+ ret ptr null
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t53)
+ call void @sc_rc_release_dyn(ptr %t58)
+ ret ptr %t59
+if.j19:
+ %t64 = call ptr @scr_dyn_undefined()
+ %t63 = call ptr @scr_dyn_retain_v(ptr %t64)
+ ret ptr %t63
+if.j13:
+ %t65 = load ptr, ptr %sc_l_p_key
+ %t66 = call zeroext i1 @sc_streq_3423954012803281(ptr %t65)
+ br i1 %t66, label %if.t24, label %if.j25
+if.t24:
+ %t67 = load ptr, ptr %sc_l_p_receiver
+ %t68 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t67, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t69 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t68)
+ %t70 = load i32, ptr %exc.cell
+ %t71 = icmp ne i32 %t70, 0
+ %t72 = call i1 @llvm.expect.i1(i1 %t71, i1 false)
+ br i1 %t72, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t69)
+ ret ptr null
+exc.k27:
+ %t73 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t69, ptr @sc_lit_3423954012803281)
+ %t74 = load i32, ptr %exc.cell
+ %t75 = icmp ne i32 %t74, 0
+ %t76 = call i1 @llvm.expect.i1(i1 %t75, i1 false)
+ br i1 %t76, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t69)
+ ret ptr null
+exc.k29:
+ call void @sc_rc_release_dyn(ptr %t69)
+ br i1 %t73, label %if.t30, label %if.j31
+if.t30:
+ %t77 = load ptr, ptr %sc_l_p_receiver
+ %t78 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t77, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t79 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t78)
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t79)
+ ret ptr null
+exc.k33:
+ %t83 = load ptr, ptr %sc_l_p_receiver
+ %t84 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t83, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t85 = call ptr @scr_dyn_bag_get(ptr %t79, ptr @sc_lit_3423954012803281, ptr %t84)
+ %t86 = load i32, ptr %exc.cell
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t79)
+ call void @sc_rc_release_dyn(ptr %t84)
+ call void @sc_rc_release_dyn(ptr %t85)
+ ret ptr null
+exc.k35:
+ call void @sc_rc_release_dyn(ptr %t79)
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr %t85
+if.j31:
+ %t90 = call ptr @scr_dyn_undefined()
+ %t89 = call ptr @scr_dyn_retain_v(ptr %t90)
+ ret ptr %t89
+if.j25:
+ %t91 = load ptr, ptr %sc_l_p_key
+ %t92 = call zeroext i1 @sc_streq_700259281879664(ptr %t91)
+ br i1 %t92, label %if.t36, label %if.j37
+if.t36:
+ %t93 = load ptr, ptr %sc_l_p_receiver
+ %t94 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t93, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t95 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t94)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t95)
+ ret ptr null
+exc.k39:
+ %t99 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t95, ptr @sc_lit_700259281879664)
+ %t100 = load i32, ptr %exc.cell
+ %t101 = icmp ne i32 %t100, 0
+ %t102 = call i1 @llvm.expect.i1(i1 %t101, i1 false)
+ br i1 %t102, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t95)
+ ret ptr null
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t95)
+ br i1 %t99, label %if.t42, label %if.j43
+if.t42:
+ %t103 = load ptr, ptr %sc_l_p_receiver
+ %t104 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t103, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t105 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t104)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t105)
+ ret ptr null
+exc.k45:
+ %t109 = load ptr, ptr %sc_l_p_receiver
+ %t110 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t109, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t111 = call ptr @scr_dyn_bag_get(ptr %t105, ptr @sc_lit_700259281879664, ptr %t110)
+ %t112 = load i32, ptr %exc.cell
+ %t113 = icmp ne i32 %t112, 0
+ %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false)
+ br i1 %t114, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_rc_release_dyn(ptr %t111)
+ ret ptr null
+exc.k47:
+ call void @sc_rc_release_dyn(ptr %t105)
+ call void @sc_rc_release_dyn(ptr %t110)
+ ret ptr %t111
+if.j43:
+ %t116 = call ptr @scr_dyn_undefined()
+ %t115 = call ptr @scr_dyn_retain_v(ptr %t116)
+ ret ptr %t115
+if.j37:
+ %t117 = load ptr, ptr %sc_l_p_key
+ %t118 = call zeroext i1 @sc_streq_2478521587363481(ptr %t117)
+ br i1 %t118, label %if.t48, label %if.j49
+if.t48:
+ %t119 = load ptr, ptr %sc_l_p_receiver
+ %t120 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t119, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t121 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t120)
+ %t122 = load i32, ptr %exc.cell
+ %t123 = icmp ne i32 %t122, 0
+ %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false)
+ br i1 %t124, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t121)
+ ret ptr null
+exc.k51:
+ %t125 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t121, ptr @sc_lit_2478521587363481)
+ %t126 = load i32, ptr %exc.cell
+ %t127 = icmp ne i32 %t126, 0
+ %t128 = call i1 @llvm.expect.i1(i1 %t127, i1 false)
+ br i1 %t128, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t121)
+ ret ptr null
+exc.k53:
+ call void @sc_rc_release_dyn(ptr %t121)
+ br i1 %t125, label %if.t54, label %if.j55
+if.t54:
+ %t129 = load ptr, ptr %sc_l_p_receiver
+ %t130 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t129, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t131 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t130)
+ %t132 = load i32, ptr %exc.cell
+ %t133 = icmp ne i32 %t132, 0
+ %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false)
+ br i1 %t134, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t131)
+ ret ptr null
+exc.k57:
+ %t135 = load ptr, ptr %sc_l_p_receiver
+ %t136 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t135, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t137 = call ptr @scr_dyn_bag_get(ptr %t131, ptr @sc_lit_2478521587363481, ptr %t136)
+ %t138 = load i32, ptr %exc.cell
+ %t139 = icmp ne i32 %t138, 0
+ %t140 = call i1 @llvm.expect.i1(i1 %t139, i1 false)
+ br i1 %t140, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t131)
+ call void @sc_rc_release_dyn(ptr %t136)
+ call void @sc_rc_release_dyn(ptr %t137)
+ ret ptr null
+exc.k59:
+ call void @sc_rc_release_dyn(ptr %t131)
+ call void @sc_rc_release_dyn(ptr %t136)
+ ret ptr %t137
+if.j55:
+ %t142 = call ptr @scr_dyn_undefined()
+ %t141 = call ptr @scr_dyn_retain_v(ptr %t142)
+ ret ptr %t141
+if.j49:
+ %t143 = load ptr, ptr %sc_l_p_0
+ %t144 = call ptr @sc_rc_retain_dyn(ptr %t143)
+ %t145 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t144)
+ %t146 = load i32, ptr %exc.cell
+ %t147 = icmp ne i32 %t146, 0
+ %t148 = call i1 @llvm.expect.i1(i1 %t147, i1 false)
+ br i1 %t148, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t145)
+ ret ptr null
+exc.k61:
+ %t149 = load ptr, ptr %sc_l_p_key
+ %t150 = call ptr @sc_rc_retain_str(ptr %t149)
+ %t151 = load ptr, ptr %sc_l_p_receiver
+ %t152 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t151, ptr @sc_retain__x25_m11_StaticServer, ptr @sc_release__x25_m11_StaticServer, ptr @sc_cs_864190948149583, i64 24, ptr @sc_ldr_49_materialize, ptr @sc_ldr_49_materialize_commit)
+ %t153 = call ptr @scr_dyn_bag_get(ptr %t145, ptr %t150, ptr %t152)
+ %t154 = load i32, ptr %exc.cell
+ %t155 = icmp ne i32 %t154, 0
+ %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false)
+ br i1 %t156, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t145)
+ call void @scr_str_release(ptr %t150)
+ call void @sc_rc_release_dyn(ptr %t152)
+ call void @sc_rc_release_dyn(ptr %t153)
+ ret ptr null
+exc.k63:
+ call void @sc_rc_release_dyn(ptr %t145)
+ call void @scr_str_release(ptr %t150)
+ call void @sc_rc_release_dyn(ptr %t152)
+ ret ptr %t153
+}
+define internal ptr @sc_f__x25_dyn_class_keys_507(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_507(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m11_StaticServer(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_508(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.508
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_731773075116702(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k5:
+ %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_731773075116702)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ br i1 %t12, label %if.t8, label %if.j9
+if.t8:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret ptr null
+exc.k11:
+ %t22 = load ptr, ptr %sc_l_p_receiver
+ %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_731773075116702, ptr %t23)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ ret ptr %t24
+if.j9:
+ %t29 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t29)
+ ret ptr %t28
+if.j3:
+ %t30 = load ptr, ptr %sc_l_p_0
+ %t31 = call ptr @sc_rc_retain_dyn(ptr %t30)
+ %t32 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t31)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr null
+exc.k15:
+ %t36 = load ptr, ptr %sc_l_p_key
+ %t37 = call ptr @sc_rc_retain_str(ptr %t36)
+ %t38 = load ptr, ptr %sc_l_p_receiver
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m6_AssetSource, ptr @sc_release__x25_m6_AssetSource, ptr @sc_cs_3314970835853795, i64 22, ptr @sc_ldr_50_materialize, ptr @sc_ldr_50_materialize_commit)
+ %t40 = call ptr @scr_dyn_bag_get(ptr %t32, ptr %t37, ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_str_release(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t40)
+ ret ptr null
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_str_release(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ ret ptr %t40
+}
+define internal ptr @sc_f__x25_dyn_class_keys_508(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_508(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m6_AssetSource(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_509(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.509
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_298897322184109(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k5:
+ %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_298897322184109)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ br i1 %t12, label %if.t8, label %if.j9
+if.t8:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret ptr null
+exc.k11:
+ %t22 = load ptr, ptr %sc_l_p_receiver
+ %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_298897322184109, ptr %t23)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ ret ptr %t24
+if.j9:
+ %t29 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t29)
+ ret ptr %t28
+if.j3:
+ %t30 = load ptr, ptr %sc_l_p_key
+ %t31 = call zeroext i1 @sc_streq_952059176356082(ptr %t30)
+ br i1 %t31, label %if.t14, label %if.j15
+if.t14:
+ %t32 = load ptr, ptr %sc_l_p_receiver
+ %t33 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t32, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t34 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t33)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret ptr null
+exc.k17:
+ %t38 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t34, ptr @sc_lit_952059176356082)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t34)
+ br i1 %t38, label %if.t20, label %if.j21
+if.t20:
+ %t42 = load ptr, ptr %sc_l_p_receiver
+ %t43 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t42, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t44 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t43)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr null
+exc.k23:
+ %t48 = load ptr, ptr %sc_l_p_receiver
+ %t49 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t48, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t50 = call ptr @scr_dyn_bag_get(ptr %t44, ptr @sc_lit_952059176356082, ptr %t49)
+ %t51 = load i32, ptr %exc.cell
+ %t52 = icmp ne i32 %t51, 0
+ %t53 = call i1 @llvm.expect.i1(i1 %t52, i1 false)
+ br i1 %t53, label %exc.u24, label %exc.k25
+exc.u24:
+ call void @sc_rc_release_dyn(ptr %t44)
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_rc_release_dyn(ptr %t50)
+ ret ptr null
+exc.k25:
+ call void @sc_rc_release_dyn(ptr %t44)
+ call void @sc_rc_release_dyn(ptr %t49)
+ ret ptr %t50
+if.j21:
+ %t55 = call ptr @scr_dyn_undefined()
+ %t54 = call ptr @scr_dyn_retain_v(ptr %t55)
+ ret ptr %t54
+if.j15:
+ %t56 = load ptr, ptr %sc_l_p_key
+ %t57 = call zeroext i1 @sc_streq_1026109439396001(ptr %t56)
+ br i1 %t57, label %if.t26, label %if.j27
+if.t26:
+ %t58 = load ptr, ptr %sc_l_p_receiver
+ %t59 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t58, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t60 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t59)
+ %t61 = load i32, ptr %exc.cell
+ %t62 = icmp ne i32 %t61, 0
+ %t63 = call i1 @llvm.expect.i1(i1 %t62, i1 false)
+ br i1 %t63, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t60)
+ ret ptr null
+exc.k29:
+ %t64 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t60, ptr @sc_lit_1026109439396001)
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t60)
+ ret ptr null
+exc.k31:
+ call void @sc_rc_release_dyn(ptr %t60)
+ br i1 %t64, label %if.t32, label %if.j33
+if.t32:
+ %t68 = load ptr, ptr %sc_l_p_receiver
+ %t69 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t68, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t70 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t69)
+ %t71 = load i32, ptr %exc.cell
+ %t72 = icmp ne i32 %t71, 0
+ %t73 = call i1 @llvm.expect.i1(i1 %t72, i1 false)
+ br i1 %t73, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t70)
+ ret ptr null
+exc.k35:
+ %t74 = load ptr, ptr %sc_l_p_receiver
+ %t75 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t74, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t76 = call ptr @scr_dyn_bag_get(ptr %t70, ptr @sc_lit_1026109439396001, ptr %t75)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t75)
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret ptr null
+exc.k37:
+ call void @sc_rc_release_dyn(ptr %t70)
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret ptr %t76
+if.j33:
+ %t81 = call ptr @scr_dyn_undefined()
+ %t80 = call ptr @scr_dyn_retain_v(ptr %t81)
+ ret ptr %t80
+if.j27:
+ %t82 = load ptr, ptr %sc_l_p_key
+ %t83 = call zeroext i1 @sc_streq_1048673592241930(ptr %t82)
+ br i1 %t83, label %if.t38, label %if.j39
+if.t38:
+ %t84 = load ptr, ptr %sc_l_p_receiver
+ %t85 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t84, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t86 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t85)
+ %t87 = load i32, ptr %exc.cell
+ %t88 = icmp ne i32 %t87, 0
+ %t89 = call i1 @llvm.expect.i1(i1 %t88, i1 false)
+ br i1 %t89, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t86)
+ ret ptr null
+exc.k41:
+ %t90 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t86, ptr @sc_lit_1048673592241930)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t86)
+ ret ptr null
+exc.k43:
+ call void @sc_rc_release_dyn(ptr %t86)
+ br i1 %t90, label %if.t44, label %if.j45
+if.t44:
+ %t94 = load ptr, ptr %sc_l_p_receiver
+ %t95 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t94, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t96 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t95)
+ %t97 = load i32, ptr %exc.cell
+ %t98 = icmp ne i32 %t97, 0
+ %t99 = call i1 @llvm.expect.i1(i1 %t98, i1 false)
+ br i1 %t99, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t96)
+ ret ptr null
+exc.k47:
+ %t100 = load ptr, ptr %sc_l_p_receiver
+ %t101 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t100, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t102 = call ptr @scr_dyn_bag_get(ptr %t96, ptr @sc_lit_1048673592241930, ptr %t101)
+ %t103 = load i32, ptr %exc.cell
+ %t104 = icmp ne i32 %t103, 0
+ %t105 = call i1 @llvm.expect.i1(i1 %t104, i1 false)
+ br i1 %t105, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t102)
+ ret ptr null
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t96)
+ call void @sc_rc_release_dyn(ptr %t101)
+ ret ptr %t102
+if.j45:
+ %t107 = call ptr @scr_dyn_undefined()
+ %t106 = call ptr @scr_dyn_retain_v(ptr %t107)
+ ret ptr %t106
+if.j39:
+ %t108 = load ptr, ptr %sc_l_p_0
+ %t109 = call ptr @sc_rc_retain_dyn(ptr %t108)
+ %t110 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t109)
+ %t111 = load i32, ptr %exc.cell
+ %t112 = icmp ne i32 %t111, 0
+ %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false)
+ br i1 %t113, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ ret ptr null
+exc.k51:
+ %t114 = load ptr, ptr %sc_l_p_key
+ %t115 = call ptr @sc_rc_retain_str(ptr %t114)
+ %t116 = load ptr, ptr %sc_l_p_receiver
+ %t117 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t116, ptr @sc_retain__x25_m4_MultipartFileSink, ptr @sc_release__x25_m4_MultipartFileSink, ptr @sc_cs_2072202777142634, i64 28, ptr @sc_ldr_17_materialize, ptr @sc_ldr_17_materialize_commit)
+ %t118 = call ptr @scr_dyn_bag_get(ptr %t110, ptr %t115, ptr %t117)
+ %t119 = load i32, ptr %exc.cell
+ %t120 = icmp ne i32 %t119, 0
+ %t121 = call i1 @llvm.expect.i1(i1 %t120, i1 false)
+ br i1 %t121, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @scr_str_release(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t117)
+ call void @sc_rc_release_dyn(ptr %t118)
+ ret ptr null
+exc.k53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @scr_str_release(ptr %t115)
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret ptr %t118
+}
+define internal ptr @sc_f__x25_dyn_class_keys_509(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_509(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_510(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.510
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_3537803200604019(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t6, i64 0, i32 3
+ %t8 = load ptr, ptr %t7, !tbaa !100
+ %t9 = call ptr @sc_rc_retain_str(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr %t9)
+ call void @scr_str_release(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_2438149604853393(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t13, i64 0, i32 4
+ %t15 = load ptr, ptr %t14, !tbaa !102
+ %t16 = call ptr @sc_rc_retain_str(ptr %t15)
+ %t17 = call ptr @sc_td_0(ptr %t16)
+ call void @scr_str_release(ptr %t16)
+ ret ptr %t17
+if.j5:
+ %t18 = load ptr, ptr %sc_l_p_key
+ %t19 = call zeroext i1 @sc_streq_87265031005560(ptr %t18)
+ br i1 %t19, label %if.t6, label %if.j7
+if.t6:
+ %t20 = load ptr, ptr %sc_l_p_receiver
+ %t21 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t20, i64 0, i32 5
+ %t22 = load ptr, ptr %t21, !tbaa !104
+ %t23 = call ptr @sc_rc_retain_str(ptr %t22)
+ %t24 = call ptr @sc_td_0(ptr %t23)
+ call void @scr_str_release(ptr %t23)
+ ret ptr %t24
+if.j7:
+ %t25 = load ptr, ptr %sc_l_p_key
+ %t26 = call zeroext i1 @sc_streq_201462833315591(ptr %t25)
+ br i1 %t26, label %if.t8, label %if.j9
+if.t8:
+ %t27 = load ptr, ptr %sc_l_p_receiver
+ %t28 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t27, i64 0, i32 6
+ %t29 = load ptr, ptr %t28, !tbaa !82
+ %t30 = call ptr @scr_arr_retain_v(ptr %t29)
+ %t31 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t30, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t31, ptr @sc_ldr_20_materialize_ops)
+ call void @scr_arr_release(ptr %t30)
+ ret ptr %t31
+if.j9:
+ %t32 = load ptr, ptr %sc_l_p_key
+ %t33 = call zeroext i1 @sc_streq_1008105371634015(ptr %t32)
+ br i1 %t33, label %if.t10, label %if.j11
+if.t10:
+ %t34 = load ptr, ptr %sc_l_p_receiver
+ %t35 = getelementptr inbounds %sc_o__x25_m4_MemoryFileSink, ptr %t34, i64 0, i32 7
+ %t36 = load double, ptr %t35, !tbaa !106
+ %t37 = call ptr @sc_td_2(double %t36)
+ ret ptr %t37
+if.j11:
+ %t38 = load ptr, ptr %sc_l_p_key
+ %t39 = call zeroext i1 @sc_streq_298897322184109(ptr %t38)
+ br i1 %t39, label %if.t12, label %if.j13
+if.t12:
+ %t40 = load ptr, ptr %sc_l_p_receiver
+ %t41 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t40, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t42 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t41)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.k15:
+ %t46 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t42, ptr @sc_lit_298897322184109)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t42)
+ br i1 %t46, label %if.t18, label %if.j19
+if.t18:
+ %t50 = load ptr, ptr %sc_l_p_receiver
+ %t51 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t50, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t52 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t51)
+ %t53 = load i32, ptr %exc.cell
+ %t54 = icmp ne i32 %t53, 0
+ %t55 = call i1 @llvm.expect.i1(i1 %t54, i1 false)
+ br i1 %t55, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t52)
+ ret ptr null
+exc.k21:
+ %t56 = load ptr, ptr %sc_l_p_receiver
+ %t57 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t56, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t58 = call ptr @scr_dyn_bag_get(ptr %t52, ptr @sc_lit_298897322184109, ptr %t57)
+ %t59 = load i32, ptr %exc.cell
+ %t60 = icmp ne i32 %t59, 0
+ %t61 = call i1 @llvm.expect.i1(i1 %t60, i1 false)
+ br i1 %t61, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t57)
+ call void @sc_rc_release_dyn(ptr %t58)
+ ret ptr null
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t52)
+ call void @sc_rc_release_dyn(ptr %t57)
+ ret ptr %t58
+if.j19:
+ %t63 = call ptr @scr_dyn_undefined()
+ %t62 = call ptr @scr_dyn_retain_v(ptr %t63)
+ ret ptr %t62
+if.j13:
+ %t64 = load ptr, ptr %sc_l_p_key
+ %t65 = call zeroext i1 @sc_streq_1048673592241930(ptr %t64)
+ br i1 %t65, label %if.t24, label %if.j25
+if.t24:
+ %t66 = load ptr, ptr %sc_l_p_receiver
+ %t67 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t66, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t68 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t67)
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t68)
+ ret ptr null
+exc.k27:
+ %t72 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t68, ptr @sc_lit_1048673592241930)
+ %t73 = load i32, ptr %exc.cell
+ %t74 = icmp ne i32 %t73, 0
+ %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false)
+ br i1 %t75, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t68)
+ ret ptr null
+exc.k29:
+ call void @sc_rc_release_dyn(ptr %t68)
+ br i1 %t72, label %if.t30, label %if.j31
+if.t30:
+ %t76 = load ptr, ptr %sc_l_p_receiver
+ %t77 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t76, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t78 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t77)
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u32, label %exc.k33
+exc.u32:
+ call void @sc_rc_release_dyn(ptr %t78)
+ ret ptr null
+exc.k33:
+ %t82 = load ptr, ptr %sc_l_p_receiver
+ %t83 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t82, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t84 = call ptr @scr_dyn_bag_get(ptr %t78, ptr @sc_lit_1048673592241930, ptr %t83)
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t83)
+ call void @sc_rc_release_dyn(ptr %t84)
+ ret ptr null
+exc.k35:
+ call void @sc_rc_release_dyn(ptr %t78)
+ call void @sc_rc_release_dyn(ptr %t83)
+ ret ptr %t84
+if.j31:
+ %t89 = call ptr @scr_dyn_undefined()
+ %t88 = call ptr @scr_dyn_retain_v(ptr %t89)
+ ret ptr %t88
+if.j25:
+ %t90 = load ptr, ptr %sc_l_p_key
+ %t91 = call zeroext i1 @sc_streq_952059176356082(ptr %t90)
+ br i1 %t91, label %if.t36, label %if.j37
+if.t36:
+ %t92 = load ptr, ptr %sc_l_p_receiver
+ %t93 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t92, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t94 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t93)
+ %t95 = load i32, ptr %exc.cell
+ %t96 = icmp ne i32 %t95, 0
+ %t97 = call i1 @llvm.expect.i1(i1 %t96, i1 false)
+ br i1 %t97, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr null
+exc.k39:
+ %t98 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t94, ptr @sc_lit_952059176356082)
+ %t99 = load i32, ptr %exc.cell
+ %t100 = icmp ne i32 %t99, 0
+ %t101 = call i1 @llvm.expect.i1(i1 %t100, i1 false)
+ br i1 %t101, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr null
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t94)
+ br i1 %t98, label %if.t42, label %if.j43
+if.t42:
+ %t102 = load ptr, ptr %sc_l_p_receiver
+ %t103 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t102, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t104 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t103)
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u44, label %exc.k45
+exc.u44:
+ call void @sc_rc_release_dyn(ptr %t104)
+ ret ptr null
+exc.k45:
+ %t108 = load ptr, ptr %sc_l_p_receiver
+ %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t110 = call ptr @scr_dyn_bag_get(ptr %t104, ptr @sc_lit_952059176356082, ptr %t109)
+ %t111 = load i32, ptr %exc.cell
+ %t112 = icmp ne i32 %t111, 0
+ %t113 = call i1 @llvm.expect.i1(i1 %t112, i1 false)
+ br i1 %t113, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t104)
+ call void @sc_rc_release_dyn(ptr %t109)
+ call void @sc_rc_release_dyn(ptr %t110)
+ ret ptr null
+exc.k47:
+ call void @sc_rc_release_dyn(ptr %t104)
+ call void @sc_rc_release_dyn(ptr %t109)
+ ret ptr %t110
+if.j43:
+ %t115 = call ptr @scr_dyn_undefined()
+ %t114 = call ptr @scr_dyn_retain_v(ptr %t115)
+ ret ptr %t114
+if.j37:
+ %t116 = load ptr, ptr %sc_l_p_key
+ %t117 = call zeroext i1 @sc_streq_1026109439396001(ptr %t116)
+ br i1 %t117, label %if.t48, label %if.j49
+if.t48:
+ %t118 = load ptr, ptr %sc_l_p_receiver
+ %t119 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t118, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t120 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t119)
+ %t121 = load i32, ptr %exc.cell
+ %t122 = icmp ne i32 %t121, 0
+ %t123 = call i1 @llvm.expect.i1(i1 %t122, i1 false)
+ br i1 %t123, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t120)
+ ret ptr null
+exc.k51:
+ %t124 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t120, ptr @sc_lit_1026109439396001)
+ %t125 = load i32, ptr %exc.cell
+ %t126 = icmp ne i32 %t125, 0
+ %t127 = call i1 @llvm.expect.i1(i1 %t126, i1 false)
+ br i1 %t127, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t120)
+ ret ptr null
+exc.k53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ br i1 %t124, label %if.t54, label %if.j55
+if.t54:
+ %t128 = load ptr, ptr %sc_l_p_receiver
+ %t129 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t128, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t130 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t129)
+ %t131 = load i32, ptr %exc.cell
+ %t132 = icmp ne i32 %t131, 0
+ %t133 = call i1 @llvm.expect.i1(i1 %t132, i1 false)
+ br i1 %t133, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.k57:
+ %t134 = load ptr, ptr %sc_l_p_receiver
+ %t135 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t134, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t136 = call ptr @scr_dyn_bag_get(ptr %t130, ptr @sc_lit_1026109439396001, ptr %t135)
+ %t137 = load i32, ptr %exc.cell
+ %t138 = icmp ne i32 %t137, 0
+ %t139 = call i1 @llvm.expect.i1(i1 %t138, i1 false)
+ br i1 %t139, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t130)
+ call void @sc_rc_release_dyn(ptr %t135)
+ call void @sc_rc_release_dyn(ptr %t136)
+ ret ptr null
+exc.k59:
+ call void @sc_rc_release_dyn(ptr %t130)
+ call void @sc_rc_release_dyn(ptr %t135)
+ ret ptr %t136
+if.j55:
+ %t141 = call ptr @scr_dyn_undefined()
+ %t140 = call ptr @scr_dyn_retain_v(ptr %t141)
+ ret ptr %t140
+if.j49:
+ %t142 = load ptr, ptr %sc_l_p_0
+ %t143 = call ptr @sc_rc_retain_dyn(ptr %t142)
+ %t144 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t143)
+ %t145 = load i32, ptr %exc.cell
+ %t146 = icmp ne i32 %t145, 0
+ %t147 = call i1 @llvm.expect.i1(i1 %t146, i1 false)
+ br i1 %t147, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t144)
+ ret ptr null
+exc.k61:
+ %t148 = load ptr, ptr %sc_l_p_key
+ %t149 = call ptr @sc_rc_retain_str(ptr %t148)
+ %t150 = load ptr, ptr %sc_l_p_receiver
+ %t151 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t150, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ %t152 = call ptr @scr_dyn_bag_get(ptr %t144, ptr %t149, ptr %t151)
+ %t153 = load i32, ptr %exc.cell
+ %t154 = icmp ne i32 %t153, 0
+ %t155 = call i1 @llvm.expect.i1(i1 %t154, i1 false)
+ br i1 %t155, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t144)
+ call void @scr_str_release(ptr %t149)
+ call void @sc_rc_release_dyn(ptr %t151)
+ call void @sc_rc_release_dyn(ptr %t152)
+ ret ptr null
+exc.k63:
+ call void @sc_rc_release_dyn(ptr %t144)
+ call void @scr_str_release(ptr %t149)
+ call void @sc_rc_release_dyn(ptr %t151)
+ ret ptr %t152
+}
+define internal ptr @sc_f__x25_dyn_class_keys_510(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_510(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_511(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.511
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_2251933729900935(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m0_GenDispatch, ptr %t6, i64 0, i32 1
+ %t8 = load double, ptr %t7, !tbaa !188
+ %t9 = call ptr @sc_td_2(double %t8)
+ ret ptr %t9
+if.j3:
+ %t10 = load ptr, ptr %sc_l_p_key
+ %t11 = call zeroext i1 @sc_streq_3862385552412238(ptr %t10)
+ br i1 %t11, label %if.t4, label %if.j5
+if.t4:
+ %t12 = load ptr, ptr %sc_l_p_receiver
+ %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ %t14 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t13)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ %t18 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t14, ptr @sc_lit_3862385552412238)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k9:
+ call void @sc_rc_release_dyn(ptr %t14)
+ br i1 %t18, label %if.t10, label %if.j11
+if.t10:
+ %t22 = load ptr, ptr %sc_l_p_receiver
+ %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ %t24 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t23)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k13:
+ %t28 = load ptr, ptr %sc_l_p_receiver
+ %t29 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t28, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ %t30 = call ptr @scr_dyn_bag_get(ptr %t24, ptr @sc_lit_3862385552412238, ptr %t29)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret ptr null
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t29)
+ ret ptr %t30
+if.j11:
+ %t35 = call ptr @scr_dyn_undefined()
+ %t34 = call ptr @scr_dyn_retain_v(ptr %t35)
+ ret ptr %t34
+if.j5:
+ %t36 = load ptr, ptr %sc_l_p_0
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t37)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k17:
+ %t42 = load ptr, ptr %sc_l_p_key
+ %t43 = call ptr @sc_rc_retain_str(ptr %t42)
+ %t44 = load ptr, ptr %sc_l_p_receiver
+ %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m0_GenDispatch, ptr @sc_release__x25_m0_GenDispatch, ptr @sc_cs_2165660704272757, i64 22, ptr @sc_ldr_59_materialize, ptr @sc_ldr_59_materialize_commit)
+ %t46 = call ptr @scr_dyn_bag_get(ptr %t38, ptr %t43, ptr %t45)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @scr_str_release(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @scr_str_release(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr %t46
+}
+define internal ptr @sc_f__x25_dyn_class_keys_511(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_511(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m0_GenDispatch(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_512(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.512
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_2251933729900935(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m0_GenFetch, ptr %t6, i64 0, i32 1
+ %t8 = load double, ptr %t7, !tbaa !188
+ %t9 = call ptr @sc_td_2(double %t8)
+ ret ptr %t9
+if.j3:
+ %t10 = load ptr, ptr %sc_l_p_key
+ %t11 = call zeroext i1 @sc_streq_437194258546139(ptr %t10)
+ br i1 %t11, label %if.t4, label %if.j5
+if.t4:
+ %t12 = load ptr, ptr %sc_l_p_receiver
+ %t13 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t12, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ %t14 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t13)
+ %t15 = load i32, ptr %exc.cell
+ %t16 = icmp ne i32 %t15, 0
+ %t17 = call i1 @llvm.expect.i1(i1 %t16, i1 false)
+ br i1 %t17, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k7:
+ %t18 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t14, ptr @sc_lit_437194258546139)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t14)
+ ret ptr null
+exc.k9:
+ call void @sc_rc_release_dyn(ptr %t14)
+ br i1 %t18, label %if.t10, label %if.j11
+if.t10:
+ %t22 = load ptr, ptr %sc_l_p_receiver
+ %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ %t24 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t23)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k13:
+ %t28 = load ptr, ptr %sc_l_p_receiver
+ %t29 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t28, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ %t30 = call ptr @scr_dyn_bag_get(ptr %t24, ptr @sc_lit_437194258546139, ptr %t29)
+ %t31 = load i32, ptr %exc.cell
+ %t32 = icmp ne i32 %t31, 0
+ %t33 = call i1 @llvm.expect.i1(i1 %t32, i1 false)
+ br i1 %t33, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t29)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret ptr null
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t24)
+ call void @sc_rc_release_dyn(ptr %t29)
+ ret ptr %t30
+if.j11:
+ %t35 = call ptr @scr_dyn_undefined()
+ %t34 = call ptr @scr_dyn_retain_v(ptr %t35)
+ ret ptr %t34
+if.j5:
+ %t36 = load ptr, ptr %sc_l_p_0
+ %t37 = call ptr @sc_rc_retain_dyn(ptr %t36)
+ %t38 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t37)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k17:
+ %t42 = load ptr, ptr %sc_l_p_key
+ %t43 = call ptr @sc_rc_retain_str(ptr %t42)
+ %t44 = load ptr, ptr %sc_l_p_receiver
+ %t45 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t44, ptr @sc_retain__x25_m0_GenFetch, ptr @sc_release__x25_m0_GenFetch, ptr @sc_cs_2798802470260116, i64 19, ptr @sc_ldr_60_materialize, ptr @sc_ldr_60_materialize_commit)
+ %t46 = call ptr @scr_dyn_bag_get(ptr %t38, ptr %t43, ptr %t45)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @scr_str_release(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @scr_str_release(ptr %t43)
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr %t46
+}
+define internal ptr @sc_f__x25_dyn_class_keys_512(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_512(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m0_GenFetch(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_513(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.513
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_2250671438728133(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t6, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ %t8 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t7)
+ %t9 = load i32, ptr %exc.cell
+ %t10 = icmp ne i32 %t9, 0
+ %t11 = call i1 @llvm.expect.i1(i1 %t10, i1 false)
+ br i1 %t11, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k5:
+ %t12 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t8, ptr @sc_lit_2250671438728133)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t8)
+ ret ptr null
+exc.k7:
+ call void @sc_rc_release_dyn(ptr %t8)
+ br i1 %t12, label %if.t8, label %if.j9
+if.t8:
+ %t16 = load ptr, ptr %sc_l_p_receiver
+ %t17 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t16, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ %t18 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t17)
+ %t19 = load i32, ptr %exc.cell
+ %t20 = icmp ne i32 %t19, 0
+ %t21 = call i1 @llvm.expect.i1(i1 %t20, i1 false)
+ br i1 %t21, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t18)
+ ret ptr null
+exc.k11:
+ %t22 = load ptr, ptr %sc_l_p_receiver
+ %t23 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t22, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ %t24 = call ptr @scr_dyn_bag_get(ptr %t18, ptr @sc_lit_2250671438728133, ptr %t23)
+ %t25 = load i32, ptr %exc.cell
+ %t26 = icmp ne i32 %t25, 0
+ %t27 = call i1 @llvm.expect.i1(i1 %t26, i1 false)
+ br i1 %t27, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ call void @sc_rc_release_dyn(ptr %t24)
+ ret ptr null
+exc.k13:
+ call void @sc_rc_release_dyn(ptr %t18)
+ call void @sc_rc_release_dyn(ptr %t23)
+ ret ptr %t24
+if.j9:
+ %t29 = call ptr @scr_dyn_undefined()
+ %t28 = call ptr @scr_dyn_retain_v(ptr %t29)
+ ret ptr %t28
+if.j3:
+ %t30 = load ptr, ptr %sc_l_p_0
+ %t31 = call ptr @sc_rc_retain_dyn(ptr %t30)
+ %t32 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t31)
+ %t33 = load i32, ptr %exc.cell
+ %t34 = icmp ne i32 %t33, 0
+ %t35 = call i1 @llvm.expect.i1(i1 %t34, i1 false)
+ br i1 %t35, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t32)
+ ret ptr null
+exc.k15:
+ %t36 = load ptr, ptr %sc_l_p_key
+ %t37 = call ptr @sc_rc_retain_str(ptr %t36)
+ %t38 = load ptr, ptr %sc_l_p_receiver
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m1_UpgradeDispatch, ptr @sc_release__x25_m1_UpgradeDispatch, ptr @sc_cs_3870085012327510, i64 26, ptr @sc_ldr_61_materialize, ptr @sc_ldr_61_materialize_commit)
+ %t40 = call ptr @scr_dyn_bag_get(ptr %t32, ptr %t37, ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_str_release(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ call void @sc_rc_release_dyn(ptr %t40)
+ ret ptr null
+exc.k17:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_str_release(ptr %t37)
+ call void @sc_rc_release_dyn(ptr %t39)
+ ret ptr %t40
+}
+define internal ptr @sc_f__x25_dyn_class_keys_513(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_513(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m1_UpgradeDispatch(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_514(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.514
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_1609576561362083(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7, !tbaa !76
+ %t9 = call ptr @sc_rc_retain_str(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr %t9)
+ call void @scr_str_release(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_719487464480143(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t13, i64 0, i32 2
+ %t15 = load ptr, ptr %t14, !tbaa !78
+ %t16 = call ptr @sc_rc_retain_str(ptr %t15)
+ %t17 = call ptr @sc_td_0(ptr %t16)
+ call void @scr_str_release(ptr %t16)
+ ret ptr %t17
+if.j5:
+ %t18 = load ptr, ptr %sc_l_p_key
+ %t19 = call zeroext i1 @sc_streq_977412068193087(ptr %t18)
+ br i1 %t19, label %if.t6, label %if.j7
+if.t6:
+ %t20 = load ptr, ptr %sc_l_p_receiver
+ %t21 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t20, i64 0, i32 3
+ %t22 = load ptr, ptr %t21, !tbaa !74
+ %t23 = call ptr @sc_rc_retain_dyn(ptr %t22)
+ ret ptr %t23
+if.j7:
+ %t24 = load ptr, ptr %sc_l_p_key
+ %t25 = call zeroext i1 @sc_streq_1515898915129638(ptr %t24)
+ br i1 %t25, label %if.t8, label %if.j9
+if.t8:
+ %t26 = load ptr, ptr %sc_l_p_receiver
+ %t27 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t26, i64 0, i32 4
+ %t28 = load ptr, ptr %t27, !tbaa !72
+ %t29 = call ptr @scr_http_req_retain_v(ptr %t28)
+ %t30 = call ptr @sc_td_10(ptr %t29)
+ call void @scr_http_req_release(ptr %t29)
+ ret ptr %t30
+if.j9:
+ %t31 = load ptr, ptr %sc_l_p_key
+ %t32 = call zeroext i1 @sc_streq_2951457732402023(ptr %t31)
+ br i1 %t32, label %if.t10, label %if.j11
+if.t10:
+ %t33 = load ptr, ptr %sc_l_p_receiver
+ %t34 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t33, i64 0, i32 5
+ %t35 = load ptr, ptr %t34, !tbaa !86
+ %t36 = call ptr @sc_rretain_r0(ptr %t35)
+ %t37 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t36, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ call void @sc_rrelease_r0(ptr %t36)
+ ret ptr %t37
+if.j11:
+ %t38 = load ptr, ptr %sc_l_p_key
+ %t39 = call zeroext i1 @sc_streq_4297677228401092(ptr %t38)
+ br i1 %t39, label %if.t12, label %if.j13
+if.t12:
+ %t40 = load ptr, ptr %sc_l_p_receiver
+ %t41 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t40, i64 0, i32 6
+ %t42 = load ptr, ptr %t41, !tbaa !80
+ %t43 = call ptr @sc_nretain_string(ptr %t42)
+ %t44 = call ptr @sc_td_13(ptr %t43)
+ call void @scr_str_release(ptr %t43)
+ ret ptr %t44
+if.j13:
+ %t45 = load ptr, ptr %sc_l_p_key
+ %t46 = call zeroext i1 @sc_streq_201462833315591(ptr %t45)
+ br i1 %t46, label %if.t14, label %if.j15
+if.t14:
+ %t47 = load ptr, ptr %sc_l_p_receiver
+ %t48 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t47, i64 0, i32 7
+ %t49 = load ptr, ptr %t48, !tbaa !82
+ %t50 = call ptr @scr_arr_retain_v(ptr %t49)
+ %t51 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t50, ptr @scr_arr_retain_v, ptr @scr_arr_release_v, ptr @sc_cs_944430815723409, i64 16, ptr @sc_ldr_20_materialize, ptr @sc_ldr_20_materialize_commit)
+ call void @scr_dyn_typed_ref_bind_array(ptr %t51, ptr @sc_ldr_20_materialize_ops)
+ call void @scr_arr_release(ptr %t50)
+ ret ptr %t51
+if.j15:
+ %t52 = load ptr, ptr %sc_l_p_key
+ %t53 = call zeroext i1 @sc_streq_1347488745603967(ptr %t52)
+ br i1 %t53, label %if.t16, label %if.j17
+if.t16:
+ %t54 = load ptr, ptr %sc_l_p_receiver
+ %t55 = getelementptr inbounds %sc_o__x25_m3_LiteRequest, ptr %t54, i64 0, i32 8
+ %t56 = load double, ptr %t55, !tbaa !84
+ %t57 = call ptr @sc_td_2(double %t56)
+ ret ptr %t57
+if.j17:
+ %t58 = load ptr, ptr %sc_l_p_key
+ %t59 = call zeroext i1 @sc_streq_616655122974952(ptr %t58)
+ br i1 %t59, label %if.t18, label %if.j19
+if.t18:
+ %t60 = load ptr, ptr %sc_l_p_receiver
+ %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t62 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t61)
+ %t63 = load i32, ptr %exc.cell
+ %t64 = icmp ne i32 %t63, 0
+ %t65 = call i1 @llvm.expect.i1(i1 %t64, i1 false)
+ br i1 %t65, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t62)
+ ret ptr null
+exc.k21:
+ %t66 = call zeroext i1 @scr_dyn_has_own(ptr %t62, ptr @sc_lit_616655122974952)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t62)
+ ret ptr null
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t62)
+ br i1 %t66, label %if.t24, label %if.j25
+if.t24:
+ %t70 = load ptr, ptr %sc_l_p_receiver
+ %t71 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t70, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t72 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t71)
+ %t73 = load i32, ptr %exc.cell
+ %t74 = icmp ne i32 %t73, 0
+ %t75 = call i1 @llvm.expect.i1(i1 %t74, i1 false)
+ br i1 %t75, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t72)
+ ret ptr null
+exc.k27:
+ %t76 = load ptr, ptr %sc_l_p_receiver
+ %t77 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t76, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t78 = call ptr @scr_dyn_bag_get(ptr %t72, ptr @sc_lit_616655122974952, ptr %t77)
+ %t79 = load i32, ptr %exc.cell
+ %t80 = icmp ne i32 %t79, 0
+ %t81 = call i1 @llvm.expect.i1(i1 %t80, i1 false)
+ br i1 %t81, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t77)
+ call void @sc_rc_release_dyn(ptr %t78)
+ ret ptr null
+exc.k29:
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t77)
+ ret ptr %t78
+if.j25:
+ %t82 = load ptr, ptr %sc_l_p_receiver
+ %t83 = call ptr @sc_bf__x25__x25_m3_LiteRequest_get_x3a_body(ptr %t82)
+ %t84 = load i32, ptr %exc.cell
+ %t85 = icmp ne i32 %t84, 0
+ %t86 = call i1 @llvm.expect.i1(i1 %t85, i1 false)
+ br i1 %t86, label %exc.u30, label %exc.k31
+exc.u30:
+ call void @sc_rc_release_dyn(ptr %t83)
+ ret ptr null
+exc.k31:
+ ret ptr %t83
+if.j19:
+ %t87 = load ptr, ptr %sc_l_p_key
+ %t88 = call zeroext i1 @sc_streq_2677147133778287(ptr %t87)
+ br i1 %t88, label %if.t32, label %if.j33
+if.t32:
+ %t89 = load ptr, ptr %sc_l_p_receiver
+ %t90 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t89, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t91 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t90)
+ %t92 = load i32, ptr %exc.cell
+ %t93 = icmp ne i32 %t92, 0
+ %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false)
+ br i1 %t94, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t91)
+ ret ptr null
+exc.k35:
+ %t95 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t91, ptr @sc_lit_2677147133778287)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t91)
+ ret ptr null
+exc.k37:
+ call void @sc_rc_release_dyn(ptr %t91)
+ br i1 %t95, label %if.t38, label %if.j39
+if.t38:
+ %t99 = load ptr, ptr %sc_l_p_receiver
+ %t100 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t99, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t101 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t100)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t101)
+ ret ptr null
+exc.k41:
+ %t105 = load ptr, ptr %sc_l_p_receiver
+ %t106 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t105, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t107 = call ptr @scr_dyn_bag_get(ptr %t101, ptr @sc_lit_2677147133778287, ptr %t106)
+ %t108 = load i32, ptr %exc.cell
+ %t109 = icmp ne i32 %t108, 0
+ %t110 = call i1 @llvm.expect.i1(i1 %t109, i1 false)
+ br i1 %t110, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t106)
+ call void @sc_rc_release_dyn(ptr %t107)
+ ret ptr null
+exc.k43:
+ call void @sc_rc_release_dyn(ptr %t101)
+ call void @sc_rc_release_dyn(ptr %t106)
+ ret ptr %t107
+if.j39:
+ %t112 = call ptr @scr_dyn_undefined()
+ %t111 = call ptr @scr_dyn_retain_v(ptr %t112)
+ ret ptr %t111
+if.j33:
+ %t113 = load ptr, ptr %sc_l_p_key
+ %t114 = call zeroext i1 @sc_streq_1207708014012541(ptr %t113)
+ br i1 %t114, label %if.t44, label %if.j45
+if.t44:
+ %t115 = load ptr, ptr %sc_l_p_receiver
+ %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t117 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t116)
+ %t118 = load i32, ptr %exc.cell
+ %t119 = icmp ne i32 %t118, 0
+ %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false)
+ br i1 %t120, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret ptr null
+exc.k47:
+ %t121 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t117, ptr @sc_lit_1207708014012541)
+ %t122 = load i32, ptr %exc.cell
+ %t123 = icmp ne i32 %t122, 0
+ %t124 = call i1 @llvm.expect.i1(i1 %t123, i1 false)
+ br i1 %t124, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret ptr null
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t117)
+ br i1 %t121, label %if.t50, label %if.j51
+if.t50:
+ %t125 = load ptr, ptr %sc_l_p_receiver
+ %t126 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t125, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t127 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t126)
+ %t128 = load i32, ptr %exc.cell
+ %t129 = icmp ne i32 %t128, 0
+ %t130 = call i1 @llvm.expect.i1(i1 %t129, i1 false)
+ br i1 %t130, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t127)
+ ret ptr null
+exc.k53:
+ %t131 = load ptr, ptr %sc_l_p_receiver
+ %t132 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t131, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t133 = call ptr @scr_dyn_bag_get(ptr %t127, ptr @sc_lit_1207708014012541, ptr %t132)
+ %t134 = load i32, ptr %exc.cell
+ %t135 = icmp ne i32 %t134, 0
+ %t136 = call i1 @llvm.expect.i1(i1 %t135, i1 false)
+ br i1 %t136, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t132)
+ call void @sc_rc_release_dyn(ptr %t133)
+ ret ptr null
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t127)
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr %t133
+if.j51:
+ %t138 = call ptr @scr_dyn_undefined()
+ %t137 = call ptr @scr_dyn_retain_v(ptr %t138)
+ ret ptr %t137
+if.j45:
+ %t139 = load ptr, ptr %sc_l_p_key
+ %t140 = call zeroext i1 @sc_streq_551454763233869(ptr %t139)
+ br i1 %t140, label %if.t56, label %if.j57
+if.t56:
+ %t141 = load ptr, ptr %sc_l_p_receiver
+ %t142 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t141, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t143 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t142)
+ %t144 = load i32, ptr %exc.cell
+ %t145 = icmp ne i32 %t144, 0
+ %t146 = call i1 @llvm.expect.i1(i1 %t145, i1 false)
+ br i1 %t146, label %exc.u58, label %exc.k59
+exc.u58:
+ call void @sc_rc_release_dyn(ptr %t143)
+ ret ptr null
+exc.k59:
+ %t147 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t143, ptr @sc_lit_551454763233869)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t143)
+ ret ptr null
+exc.k61:
+ call void @sc_rc_release_dyn(ptr %t143)
+ br i1 %t147, label %if.t62, label %if.j63
+if.t62:
+ %t151 = load ptr, ptr %sc_l_p_receiver
+ %t152 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t151, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t153 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t152)
+ %t154 = load i32, ptr %exc.cell
+ %t155 = icmp ne i32 %t154, 0
+ %t156 = call i1 @llvm.expect.i1(i1 %t155, i1 false)
+ br i1 %t156, label %exc.u64, label %exc.k65
+exc.u64:
+ call void @sc_rc_release_dyn(ptr %t153)
+ ret ptr null
+exc.k65:
+ %t157 = load ptr, ptr %sc_l_p_receiver
+ %t158 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t157, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t159 = call ptr @scr_dyn_bag_get(ptr %t153, ptr @sc_lit_551454763233869, ptr %t158)
+ %t160 = load i32, ptr %exc.cell
+ %t161 = icmp ne i32 %t160, 0
+ %t162 = call i1 @llvm.expect.i1(i1 %t161, i1 false)
+ br i1 %t162, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t158)
+ call void @sc_rc_release_dyn(ptr %t159)
+ ret ptr null
+exc.k67:
+ call void @sc_rc_release_dyn(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t158)
+ ret ptr %t159
+if.j63:
+ %t164 = call ptr @scr_dyn_undefined()
+ %t163 = call ptr @scr_dyn_retain_v(ptr %t164)
+ ret ptr %t163
+if.j57:
+ %t165 = load ptr, ptr %sc_l_p_0
+ %t166 = call ptr @sc_rc_retain_dyn(ptr %t165)
+ %t167 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t166)
+ %t168 = load i32, ptr %exc.cell
+ %t169 = icmp ne i32 %t168, 0
+ %t170 = call i1 @llvm.expect.i1(i1 %t169, i1 false)
+ br i1 %t170, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t167)
+ ret ptr null
+exc.k69:
+ %t171 = load ptr, ptr %sc_l_p_key
+ %t172 = call ptr @sc_rc_retain_str(ptr %t171)
+ %t173 = load ptr, ptr %sc_l_p_receiver
+ %t174 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t173, ptr @sc_retain__x25_m3_LiteRequest, ptr @sc_release__x25_m3_LiteRequest, ptr @sc_cs_4041255434968695, i64 22, ptr @sc_ldr_62_materialize, ptr @sc_ldr_62_materialize_commit)
+ %t175 = call ptr @scr_dyn_bag_get(ptr %t167, ptr %t172, ptr %t174)
+ %t176 = load i32, ptr %exc.cell
+ %t177 = icmp ne i32 %t176, 0
+ %t178 = call i1 @llvm.expect.i1(i1 %t177, i1 false)
+ br i1 %t178, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t167)
+ call void @scr_str_release(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t174)
+ call void @sc_rc_release_dyn(ptr %t175)
+ ret ptr null
+exc.k71:
+ call void @sc_rc_release_dyn(ptr %t167)
+ call void @scr_str_release(ptr %t172)
+ call void @sc_rc_release_dyn(ptr %t174)
+ ret ptr %t175
+}
+define internal ptr @sc_f__x25_dyn_class_keys_514(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_514(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m3_LiteRequest(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_normalize(ptr %p_sc_l_value) #0 { ; %dyn.class.normalize
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s58 = alloca i1
+ %s69 = alloca ptr
+ %s93 = alloca ptr
+ %s111 = alloca ptr
+ %s135 = alloca ptr
+ %s153 = alloca ptr
+ %s177 = alloca ptr
+ %s195 = alloca i1
+ %s206 = alloca ptr
+ %s230 = alloca ptr
+ %s248 = alloca i1
+ %s259 = alloca ptr
+ %s283 = alloca ptr
+ %s301 = alloca i1
+ %s312 = alloca ptr
+ %s336 = alloca ptr
+ %s354 = alloca ptr
+ %s378 = alloca ptr
+ %s396 = alloca i1
+ %s407 = alloca ptr
+ %s431 = alloca ptr
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_3635319175845957
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_3635319175845957)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_value
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_3635319175845957
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_24(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 26
+ %t37 = icmp ule i64 %t35, 26
+ %t38 = and i1 %t36, %t37 ; instanceof %m4.MemoryStorage
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_value
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_3635319175845957
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_24(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ %t56 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t55, ptr @sc_retain__x25_m4_MemoryStorage, ptr @sc_release__x25_m4_MemoryStorage, ptr @sc_cs_3456310594719780, i64 24, ptr @sc_ldr_16_materialize, ptr @sc_ldr_16_materialize_commit)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %t55)
+ ret ptr %t56
+if.j16:
+ br label %if.j7
+if.j7:
+ %t57 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s58
+ %t59 = icmp ne ptr %t57, null
+ br i1 %t59, label %brand.inspect24, label %brand.done26
+brand.inspect24:
+ %t60 = getelementptr inbounds i8, ptr %t57, i64 8 ; ->kind
+ %t61 = load i32, ptr %t60
+ %t62 = icmp eq i32 %t61, 12
+ br i1 %t62, label %brand.capsule25, label %brand.done26
+brand.capsule25:
+ %t63 = getelementptr inbounds i8, ptr %t57, i64 40 ; ->v.typed_ref.type_key
+ %t64 = load ptr, ptr %t63
+ %t65 = icmp eq ptr %t64, @sc_cs_629517122853751
+ store i1 true, ptr %s58
+ br i1 %t65, label %brand.done26, label %brand.compare27
+brand.compare27:
+ %t66 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t57, ptr @sc_lit_629517122853751)
+ store i1 %t66, ptr %s58
+ br label %brand.done26
+brand.done26:
+ %t67 = load i1, ptr %s58
+ br i1 %t67, label %if.t28, label %if.j29
+if.t28:
+ %t68 = load ptr, ptr %sc_l_value
+ %t70 = icmp ne ptr %t68, null
+ br i1 %t70, label %dc.inspect30, label %dc.checked33
+dc.inspect30:
+ %t75 = getelementptr inbounds i8, ptr %t68, i64 8 ; ->kind
+ %t76 = load i32, ptr %t75
+ %t71 = icmp eq i32 %t76, 12
+ br i1 %t71, label %dc.capsule31, label %dc.checked33
+dc.capsule31:
+ %t72 = getelementptr inbounds i8, ptr %t68, i64 40 ; ->v.typed_ref.type_key
+ %t73 = load ptr, ptr %t72
+ %t74 = icmp eq ptr %t73, @sc_cs_629517122853751
+ br i1 %t74, label %dc.exact32, label %dc.checked33
+dc.exact32:
+ %t77 = getelementptr inbounds i8, ptr %t68, i64 16 ; ->v.typed_ref.ptr
+ %t78 = load ptr, ptr %t77
+ %t79 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t78)
+ store ptr %t79, ptr %s69
+ br label %dc.done34
+dc.checked33:
+ %t80 = call ptr @sc_dc_29(ptr %t68, ptr null)
+ store ptr %t80, ptr %s69
+ %t81 = load i32, ptr %exc.cell
+ %t82 = icmp ne i32 %t81, 0
+ %t83 = call i1 @llvm.expect.i1(i1 %t82, i1 false)
+ br i1 %t83, label %exc.u35, label %exc.k36
+exc.u35:
+ ret ptr null
+exc.k36:
+ br label %dc.done34
+dc.done34:
+ %t84 = load ptr, ptr %s69
+ %t85 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t84, i64 0, i32 1
+ %t86 = load ptr, ptr %t85
+ %t87 = getelementptr inbounds %ScrVt, ptr %t86, i64 0, i32 0
+ %t88 = load i64, ptr %t87
+ %t89 = icmp uge i64 %t88, 18
+ %t90 = icmp ule i64 %t88, 18
+ %t91 = and i1 %t89, %t90 ; instanceof %m3.LiteResponse
+ call void @sc_release__x25_m2_ResponseSink(ptr %t84)
+ br i1 %t91, label %if.t37, label %if.j38
+if.t37:
+ %t92 = load ptr, ptr %sc_l_value
+ %t94 = icmp ne ptr %t92, null
+ br i1 %t94, label %dc.inspect39, label %dc.checked42
+dc.inspect39:
+ %t99 = getelementptr inbounds i8, ptr %t92, i64 8 ; ->kind
+ %t100 = load i32, ptr %t99
+ %t95 = icmp eq i32 %t100, 12
+ br i1 %t95, label %dc.capsule40, label %dc.checked42
+dc.capsule40:
+ %t96 = getelementptr inbounds i8, ptr %t92, i64 40 ; ->v.typed_ref.type_key
+ %t97 = load ptr, ptr %t96
+ %t98 = icmp eq ptr %t97, @sc_cs_629517122853751
+ br i1 %t98, label %dc.exact41, label %dc.checked42
+dc.exact41:
+ %t101 = getelementptr inbounds i8, ptr %t92, i64 16 ; ->v.typed_ref.ptr
+ %t102 = load ptr, ptr %t101
+ %t103 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t102)
+ store ptr %t103, ptr %s93
+ br label %dc.done43
+dc.checked42:
+ %t104 = call ptr @sc_dc_29(ptr %t92, ptr null)
+ store ptr %t104, ptr %s93
+ %t105 = load i32, ptr %exc.cell
+ %t106 = icmp ne i32 %t105, 0
+ %t107 = call i1 @llvm.expect.i1(i1 %t106, i1 false)
+ br i1 %t107, label %exc.u44, label %exc.k45
+exc.u44:
+ ret ptr null
+exc.k45:
+ br label %dc.done43
+dc.done43:
+ %t108 = load ptr, ptr %s93
+ %t109 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t108, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t108)
+ ret ptr %t109
+if.j38:
+ %t110 = load ptr, ptr %sc_l_value
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect46, label %dc.checked49
+dc.inspect46:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule47, label %dc.checked49
+dc.capsule47:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_629517122853751
+ br i1 %t116, label %dc.exact48, label %dc.checked49
+dc.exact48:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done50
+dc.checked49:
+ %t122 = call ptr @sc_dc_29(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u51, label %exc.k52
+exc.u51:
+ ret ptr null
+exc.k52:
+ br label %dc.done50
+dc.done50:
+ %t126 = load ptr, ptr %s111
+ %t127 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t126, i64 0, i32 1
+ %t128 = load ptr, ptr %t127
+ %t129 = getelementptr inbounds %ScrVt, ptr %t128, i64 0, i32 0
+ %t130 = load i64, ptr %t129
+ %t131 = icmp uge i64 %t130, 17
+ %t132 = icmp ule i64 %t130, 18
+ %t133 = and i1 %t131, %t132 ; instanceof %m2.FetchResponseSink
+ call void @sc_release__x25_m2_ResponseSink(ptr %t126)
+ br i1 %t133, label %if.t53, label %if.j54
+if.t53:
+ %t134 = load ptr, ptr %sc_l_value
+ %t136 = icmp ne ptr %t134, null
+ br i1 %t136, label %dc.inspect55, label %dc.checked58
+dc.inspect55:
+ %t141 = getelementptr inbounds i8, ptr %t134, i64 8 ; ->kind
+ %t142 = load i32, ptr %t141
+ %t137 = icmp eq i32 %t142, 12
+ br i1 %t137, label %dc.capsule56, label %dc.checked58
+dc.capsule56:
+ %t138 = getelementptr inbounds i8, ptr %t134, i64 40 ; ->v.typed_ref.type_key
+ %t139 = load ptr, ptr %t138
+ %t140 = icmp eq ptr %t139, @sc_cs_629517122853751
+ br i1 %t140, label %dc.exact57, label %dc.checked58
+dc.exact57:
+ %t143 = getelementptr inbounds i8, ptr %t134, i64 16 ; ->v.typed_ref.ptr
+ %t144 = load ptr, ptr %t143
+ %t145 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t144)
+ store ptr %t145, ptr %s135
+ br label %dc.done59
+dc.checked58:
+ %t146 = call ptr @sc_dc_29(ptr %t134, ptr null)
+ store ptr %t146, ptr %s135
+ %t147 = load i32, ptr %exc.cell
+ %t148 = icmp ne i32 %t147, 0
+ %t149 = call i1 @llvm.expect.i1(i1 %t148, i1 false)
+ br i1 %t149, label %exc.u60, label %exc.k61
+exc.u60:
+ ret ptr null
+exc.k61:
+ br label %dc.done59
+dc.done59:
+ %t150 = load ptr, ptr %s135
+ %t151 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t150, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t150)
+ ret ptr %t151
+if.j54:
+ %t152 = load ptr, ptr %sc_l_value
+ %t154 = icmp ne ptr %t152, null
+ br i1 %t154, label %dc.inspect62, label %dc.checked65
+dc.inspect62:
+ %t159 = getelementptr inbounds i8, ptr %t152, i64 8 ; ->kind
+ %t160 = load i32, ptr %t159
+ %t155 = icmp eq i32 %t160, 12
+ br i1 %t155, label %dc.capsule63, label %dc.checked65
+dc.capsule63:
+ %t156 = getelementptr inbounds i8, ptr %t152, i64 40 ; ->v.typed_ref.type_key
+ %t157 = load ptr, ptr %t156
+ %t158 = icmp eq ptr %t157, @sc_cs_629517122853751
+ br i1 %t158, label %dc.exact64, label %dc.checked65
+dc.exact64:
+ %t161 = getelementptr inbounds i8, ptr %t152, i64 16 ; ->v.typed_ref.ptr
+ %t162 = load ptr, ptr %t161
+ %t163 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t162)
+ store ptr %t163, ptr %s153
+ br label %dc.done66
+dc.checked65:
+ %t164 = call ptr @sc_dc_29(ptr %t152, ptr null)
+ store ptr %t164, ptr %s153
+ %t165 = load i32, ptr %exc.cell
+ %t166 = icmp ne i32 %t165, 0
+ %t167 = call i1 @llvm.expect.i1(i1 %t166, i1 false)
+ br i1 %t167, label %exc.u67, label %exc.k68
+exc.u67:
+ ret ptr null
+exc.k68:
+ br label %dc.done66
+dc.done66:
+ %t168 = load ptr, ptr %s153
+ %t169 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t168, i64 0, i32 1
+ %t170 = load ptr, ptr %t169
+ %t171 = getelementptr inbounds %ScrVt, ptr %t170, i64 0, i32 0
+ %t172 = load i64, ptr %t171
+ %t173 = icmp uge i64 %t172, 16
+ %t174 = icmp ule i64 %t172, 16
+ %t175 = and i1 %t173, %t174 ; instanceof %m2.NodeResponseSink
+ call void @sc_release__x25_m2_ResponseSink(ptr %t168)
+ br i1 %t175, label %if.t69, label %if.j70
+if.t69:
+ %t176 = load ptr, ptr %sc_l_value
+ %t178 = icmp ne ptr %t176, null
+ br i1 %t178, label %dc.inspect71, label %dc.checked74
+dc.inspect71:
+ %t183 = getelementptr inbounds i8, ptr %t176, i64 8 ; ->kind
+ %t184 = load i32, ptr %t183
+ %t179 = icmp eq i32 %t184, 12
+ br i1 %t179, label %dc.capsule72, label %dc.checked74
+dc.capsule72:
+ %t180 = getelementptr inbounds i8, ptr %t176, i64 40 ; ->v.typed_ref.type_key
+ %t181 = load ptr, ptr %t180
+ %t182 = icmp eq ptr %t181, @sc_cs_629517122853751
+ br i1 %t182, label %dc.exact73, label %dc.checked74
+dc.exact73:
+ %t185 = getelementptr inbounds i8, ptr %t176, i64 16 ; ->v.typed_ref.ptr
+ %t186 = load ptr, ptr %t185
+ %t187 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t186)
+ store ptr %t187, ptr %s177
+ br label %dc.done75
+dc.checked74:
+ %t188 = call ptr @sc_dc_29(ptr %t176, ptr null)
+ store ptr %t188, ptr %s177
+ %t189 = load i32, ptr %exc.cell
+ %t190 = icmp ne i32 %t189, 0
+ %t191 = call i1 @llvm.expect.i1(i1 %t190, i1 false)
+ br i1 %t191, label %exc.u76, label %exc.k77
+exc.u76:
+ ret ptr null
+exc.k77:
+ br label %dc.done75
+dc.done75:
+ %t192 = load ptr, ptr %s177
+ %t193 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t192, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t192)
+ ret ptr %t193
+if.j70:
+ br label %if.j29
+if.j29:
+ %t194 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s195
+ %t196 = icmp ne ptr %t194, null
+ br i1 %t196, label %brand.inspect78, label %brand.done80
+brand.inspect78:
+ %t197 = getelementptr inbounds i8, ptr %t194, i64 8 ; ->kind
+ %t198 = load i32, ptr %t197
+ %t199 = icmp eq i32 %t198, 12
+ br i1 %t199, label %brand.capsule79, label %brand.done80
+brand.capsule79:
+ %t200 = getelementptr inbounds i8, ptr %t194, i64 40 ; ->v.typed_ref.type_key
+ %t201 = load ptr, ptr %t200
+ %t202 = icmp eq ptr %t201, @sc_cs_2519527309428716
+ store i1 true, ptr %s195
+ br i1 %t202, label %brand.done80, label %brand.compare81
+brand.compare81:
+ %t203 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t194, ptr @sc_lit_2519527309428716)
+ store i1 %t203, ptr %s195
+ br label %brand.done80
+brand.done80:
+ %t204 = load i1, ptr %s195
+ br i1 %t204, label %if.t82, label %if.j83
+if.t82:
+ %t205 = load ptr, ptr %sc_l_value
+ %t207 = icmp ne ptr %t205, null
+ br i1 %t207, label %dc.inspect84, label %dc.checked87
+dc.inspect84:
+ %t212 = getelementptr inbounds i8, ptr %t205, i64 8 ; ->kind
+ %t213 = load i32, ptr %t212
+ %t208 = icmp eq i32 %t213, 12
+ br i1 %t208, label %dc.capsule85, label %dc.checked87
+dc.capsule85:
+ %t209 = getelementptr inbounds i8, ptr %t205, i64 40 ; ->v.typed_ref.type_key
+ %t210 = load ptr, ptr %t209
+ %t211 = icmp eq ptr %t210, @sc_cs_2519527309428716
+ br i1 %t211, label %dc.exact86, label %dc.checked87
+dc.exact86:
+ %t214 = getelementptr inbounds i8, ptr %t205, i64 16 ; ->v.typed_ref.ptr
+ %t215 = load ptr, ptr %t214
+ %t216 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t215)
+ store ptr %t216, ptr %s206
+ br label %dc.done88
+dc.checked87:
+ %t217 = call ptr @sc_dc_108(ptr %t205, ptr null)
+ store ptr %t217, ptr %s206
+ %t218 = load i32, ptr %exc.cell
+ %t219 = icmp ne i32 %t218, 0
+ %t220 = call i1 @llvm.expect.i1(i1 %t219, i1 false)
+ br i1 %t220, label %exc.u89, label %exc.k90
+exc.u89:
+ ret ptr null
+exc.k90:
+ br label %dc.done88
+dc.done88:
+ %t221 = load ptr, ptr %s206
+ %t222 = getelementptr inbounds %sc_o__x25_m9_EmbeddedAssets, ptr %t221, i64 0, i32 1
+ %t223 = load ptr, ptr %t222
+ %t224 = getelementptr inbounds %ScrVt, ptr %t223, i64 0, i32 0
+ %t225 = load i64, ptr %t224
+ %t226 = icmp uge i64 %t225, 38
+ %t227 = icmp ule i64 %t225, 38
+ %t228 = and i1 %t226, %t227 ; instanceof %m14.BakedAssets
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t221)
+ br i1 %t228, label %if.t91, label %if.j92
+if.t91:
+ %t229 = load ptr, ptr %sc_l_value
+ %t231 = icmp ne ptr %t229, null
+ br i1 %t231, label %dc.inspect93, label %dc.checked96
+dc.inspect93:
+ %t236 = getelementptr inbounds i8, ptr %t229, i64 8 ; ->kind
+ %t237 = load i32, ptr %t236
+ %t232 = icmp eq i32 %t237, 12
+ br i1 %t232, label %dc.capsule94, label %dc.checked96
+dc.capsule94:
+ %t233 = getelementptr inbounds i8, ptr %t229, i64 40 ; ->v.typed_ref.type_key
+ %t234 = load ptr, ptr %t233
+ %t235 = icmp eq ptr %t234, @sc_cs_2519527309428716
+ br i1 %t235, label %dc.exact95, label %dc.checked96
+dc.exact95:
+ %t238 = getelementptr inbounds i8, ptr %t229, i64 16 ; ->v.typed_ref.ptr
+ %t239 = load ptr, ptr %t238
+ %t240 = call ptr @sc_retain__x25_m9_EmbeddedAssets(ptr %t239)
+ store ptr %t240, ptr %s230
+ br label %dc.done97
+dc.checked96:
+ %t241 = call ptr @sc_dc_108(ptr %t229, ptr null)
+ store ptr %t241, ptr %s230
+ %t242 = load i32, ptr %exc.cell
+ %t243 = icmp ne i32 %t242, 0
+ %t244 = call i1 @llvm.expect.i1(i1 %t243, i1 false)
+ br i1 %t244, label %exc.u98, label %exc.k99
+exc.u98:
+ ret ptr null
+exc.k99:
+ br label %dc.done97
+dc.done97:
+ %t245 = load ptr, ptr %s230
+ %t246 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t245, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t245)
+ ret ptr %t246
+if.j92:
+ br label %if.j83
+if.j83:
+ %t247 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s248
+ %t249 = icmp ne ptr %t247, null
+ br i1 %t249, label %brand.inspect100, label %brand.done102
+brand.inspect100:
+ %t250 = getelementptr inbounds i8, ptr %t247, i64 8 ; ->kind
+ %t251 = load i32, ptr %t250
+ %t252 = icmp eq i32 %t251, 12
+ br i1 %t252, label %brand.capsule101, label %brand.done102
+brand.capsule101:
+ %t253 = getelementptr inbounds i8, ptr %t247, i64 40 ; ->v.typed_ref.type_key
+ %t254 = load ptr, ptr %t253
+ %t255 = icmp eq ptr %t254, @sc_cs_2434838942941195
+ store i1 true, ptr %s248
+ br i1 %t255, label %brand.done102, label %brand.compare103
+brand.compare103:
+ %t256 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t247, ptr @sc_lit_2434838942941195)
+ store i1 %t256, ptr %s248
+ br label %brand.done102
+brand.done102:
+ %t257 = load i1, ptr %s248
+ br i1 %t257, label %if.t104, label %if.j105
+if.t104:
+ %t258 = load ptr, ptr %sc_l_value
+ %t260 = icmp ne ptr %t258, null
+ br i1 %t260, label %dc.inspect106, label %dc.checked109
+dc.inspect106:
+ %t265 = getelementptr inbounds i8, ptr %t258, i64 8 ; ->kind
+ %t266 = load i32, ptr %t265
+ %t261 = icmp eq i32 %t266, 12
+ br i1 %t261, label %dc.capsule107, label %dc.checked109
+dc.capsule107:
+ %t262 = getelementptr inbounds i8, ptr %t258, i64 40 ; ->v.typed_ref.type_key
+ %t263 = load ptr, ptr %t262
+ %t264 = icmp eq ptr %t263, @sc_cs_2434838942941195
+ br i1 %t264, label %dc.exact108, label %dc.checked109
+dc.exact108:
+ %t267 = getelementptr inbounds i8, ptr %t258, i64 16 ; ->v.typed_ref.ptr
+ %t268 = load ptr, ptr %t267
+ %t269 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t268)
+ store ptr %t269, ptr %s259
+ br label %dc.done110
+dc.checked109:
+ %t270 = call ptr @sc_dc_52(ptr %t258, ptr null)
+ store ptr %t270, ptr %s259
+ %t271 = load i32, ptr %exc.cell
+ %t272 = icmp ne i32 %t271, 0
+ %t273 = call i1 @llvm.expect.i1(i1 %t272, i1 false)
+ br i1 %t273, label %exc.u111, label %exc.k112
+exc.u111:
+ ret ptr null
+exc.k112:
+ br label %dc.done110
+dc.done110:
+ %t274 = load ptr, ptr %s259
+ %t275 = getelementptr inbounds %sc_o__x25_m2_FetchResponseSink, ptr %t274, i64 0, i32 1
+ %t276 = load ptr, ptr %t275
+ %t277 = getelementptr inbounds %ScrVt, ptr %t276, i64 0, i32 0
+ %t278 = load i64, ptr %t277
+ %t279 = icmp uge i64 %t278, 18
+ %t280 = icmp ule i64 %t278, 18
+ %t281 = and i1 %t279, %t280 ; instanceof %m3.LiteResponse
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t274)
+ br i1 %t281, label %if.t113, label %if.j114
+if.t113:
+ %t282 = load ptr, ptr %sc_l_value
+ %t284 = icmp ne ptr %t282, null
+ br i1 %t284, label %dc.inspect115, label %dc.checked118
+dc.inspect115:
+ %t289 = getelementptr inbounds i8, ptr %t282, i64 8 ; ->kind
+ %t290 = load i32, ptr %t289
+ %t285 = icmp eq i32 %t290, 12
+ br i1 %t285, label %dc.capsule116, label %dc.checked118
+dc.capsule116:
+ %t286 = getelementptr inbounds i8, ptr %t282, i64 40 ; ->v.typed_ref.type_key
+ %t287 = load ptr, ptr %t286
+ %t288 = icmp eq ptr %t287, @sc_cs_2434838942941195
+ br i1 %t288, label %dc.exact117, label %dc.checked118
+dc.exact117:
+ %t291 = getelementptr inbounds i8, ptr %t282, i64 16 ; ->v.typed_ref.ptr
+ %t292 = load ptr, ptr %t291
+ %t293 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t292)
+ store ptr %t293, ptr %s283
+ br label %dc.done119
+dc.checked118:
+ %t294 = call ptr @sc_dc_52(ptr %t282, ptr null)
+ store ptr %t294, ptr %s283
+ %t295 = load i32, ptr %exc.cell
+ %t296 = icmp ne i32 %t295, 0
+ %t297 = call i1 @llvm.expect.i1(i1 %t296, i1 false)
+ br i1 %t297, label %exc.u120, label %exc.k121
+exc.u120:
+ ret ptr null
+exc.k121:
+ br label %dc.done119
+dc.done119:
+ %t298 = load ptr, ptr %s283
+ %t299 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t298, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t298)
+ ret ptr %t299
+if.j114:
+ br label %if.j105
+if.j105:
+ %t300 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s301
+ %t302 = icmp ne ptr %t300, null
+ br i1 %t302, label %brand.inspect122, label %brand.done124
+brand.inspect122:
+ %t303 = getelementptr inbounds i8, ptr %t300, i64 8 ; ->kind
+ %t304 = load i32, ptr %t303
+ %t305 = icmp eq i32 %t304, 12
+ br i1 %t305, label %brand.capsule123, label %brand.done124
+brand.capsule123:
+ %t306 = getelementptr inbounds i8, ptr %t300, i64 40 ; ->v.typed_ref.type_key
+ %t307 = load ptr, ptr %t306
+ %t308 = icmp eq ptr %t307, @sc_cs_3314970835853795
+ store i1 true, ptr %s301
+ br i1 %t308, label %brand.done124, label %brand.compare125
+brand.compare125:
+ %t309 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t300, ptr @sc_lit_3314970835853795)
+ store i1 %t309, ptr %s301
+ br label %brand.done124
+brand.done124:
+ %t310 = load i1, ptr %s301
+ br i1 %t310, label %if.t126, label %if.j127
+if.t126:
+ %t311 = load ptr, ptr %sc_l_value
+ %t313 = icmp ne ptr %t311, null
+ br i1 %t313, label %dc.inspect128, label %dc.checked131
+dc.inspect128:
+ %t318 = getelementptr inbounds i8, ptr %t311, i64 8 ; ->kind
+ %t319 = load i32, ptr %t318
+ %t314 = icmp eq i32 %t319, 12
+ br i1 %t314, label %dc.capsule129, label %dc.checked131
+dc.capsule129:
+ %t315 = getelementptr inbounds i8, ptr %t311, i64 40 ; ->v.typed_ref.type_key
+ %t316 = load ptr, ptr %t315
+ %t317 = icmp eq ptr %t316, @sc_cs_3314970835853795
+ br i1 %t317, label %dc.exact130, label %dc.checked131
+dc.exact130:
+ %t320 = getelementptr inbounds i8, ptr %t311, i64 16 ; ->v.typed_ref.ptr
+ %t321 = load ptr, ptr %t320
+ %t322 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t321)
+ store ptr %t322, ptr %s312
+ br label %dc.done132
+dc.checked131:
+ %t323 = call ptr @sc_dc_79(ptr %t311, ptr null)
+ store ptr %t323, ptr %s312
+ %t324 = load i32, ptr %exc.cell
+ %t325 = icmp ne i32 %t324, 0
+ %t326 = call i1 @llvm.expect.i1(i1 %t325, i1 false)
+ br i1 %t326, label %exc.u133, label %exc.k134
+exc.u133:
+ ret ptr null
+exc.k134:
+ br label %dc.done132
+dc.done132:
+ %t327 = load ptr, ptr %s312
+ %t328 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t327, i64 0, i32 1
+ %t329 = load ptr, ptr %t328
+ %t330 = getelementptr inbounds %ScrVt, ptr %t329, i64 0, i32 0
+ %t331 = load i64, ptr %t330
+ %t332 = icmp uge i64 %t331, 38
+ %t333 = icmp ule i64 %t331, 38
+ %t334 = and i1 %t332, %t333 ; instanceof %m14.BakedAssets
+ call void @sc_release__x25_m6_AssetSource(ptr %t327)
+ br i1 %t334, label %if.t135, label %if.j136
+if.t135:
+ %t335 = load ptr, ptr %sc_l_value
+ %t337 = icmp ne ptr %t335, null
+ br i1 %t337, label %dc.inspect137, label %dc.checked140
+dc.inspect137:
+ %t342 = getelementptr inbounds i8, ptr %t335, i64 8 ; ->kind
+ %t343 = load i32, ptr %t342
+ %t338 = icmp eq i32 %t343, 12
+ br i1 %t338, label %dc.capsule138, label %dc.checked140
+dc.capsule138:
+ %t339 = getelementptr inbounds i8, ptr %t335, i64 40 ; ->v.typed_ref.type_key
+ %t340 = load ptr, ptr %t339
+ %t341 = icmp eq ptr %t340, @sc_cs_3314970835853795
+ br i1 %t341, label %dc.exact139, label %dc.checked140
+dc.exact139:
+ %t344 = getelementptr inbounds i8, ptr %t335, i64 16 ; ->v.typed_ref.ptr
+ %t345 = load ptr, ptr %t344
+ %t346 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t345)
+ store ptr %t346, ptr %s336
+ br label %dc.done141
+dc.checked140:
+ %t347 = call ptr @sc_dc_79(ptr %t335, ptr null)
+ store ptr %t347, ptr %s336
+ %t348 = load i32, ptr %exc.cell
+ %t349 = icmp ne i32 %t348, 0
+ %t350 = call i1 @llvm.expect.i1(i1 %t349, i1 false)
+ br i1 %t350, label %exc.u142, label %exc.k143
+exc.u142:
+ ret ptr null
+exc.k143:
+ br label %dc.done141
+dc.done141:
+ %t351 = load ptr, ptr %s336
+ %t352 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t351, ptr @sc_retain__x25_m14_BakedAssets, ptr @sc_release__x25_m14_BakedAssets, ptr @sc_cs_4143564844538255, i64 23, ptr @sc_ldr_43_materialize, ptr @sc_ldr_43_materialize_commit)
+ call void @sc_release__x25_m14_BakedAssets(ptr %t351)
+ ret ptr %t352
+if.j136:
+ %t353 = load ptr, ptr %sc_l_value
+ %t355 = icmp ne ptr %t353, null
+ br i1 %t355, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t360 = getelementptr inbounds i8, ptr %t353, i64 8 ; ->kind
+ %t361 = load i32, ptr %t360
+ %t356 = icmp eq i32 %t361, 12
+ br i1 %t356, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t357 = getelementptr inbounds i8, ptr %t353, i64 40 ; ->v.typed_ref.type_key
+ %t358 = load ptr, ptr %t357
+ %t359 = icmp eq ptr %t358, @sc_cs_3314970835853795
+ br i1 %t359, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t362 = getelementptr inbounds i8, ptr %t353, i64 16 ; ->v.typed_ref.ptr
+ %t363 = load ptr, ptr %t362
+ %t364 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t363)
+ store ptr %t364, ptr %s354
+ br label %dc.done148
+dc.checked147:
+ %t365 = call ptr @sc_dc_79(ptr %t353, ptr null)
+ store ptr %t365, ptr %s354
+ %t366 = load i32, ptr %exc.cell
+ %t367 = icmp ne i32 %t366, 0
+ %t368 = call i1 @llvm.expect.i1(i1 %t367, i1 false)
+ br i1 %t368, label %exc.u149, label %exc.k150
+exc.u149:
+ ret ptr null
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t369 = load ptr, ptr %s354
+ %t370 = getelementptr inbounds %sc_o__x25_m6_AssetSource, ptr %t369, i64 0, i32 1
+ %t371 = load ptr, ptr %t370
+ %t372 = getelementptr inbounds %ScrVt, ptr %t371, i64 0, i32 0
+ %t373 = load i64, ptr %t372
+ %t374 = icmp uge i64 %t373, 37
+ %t375 = icmp ule i64 %t373, 38
+ %t376 = and i1 %t374, %t375 ; instanceof %m9.EmbeddedAssets
+ call void @sc_release__x25_m6_AssetSource(ptr %t369)
+ br i1 %t376, label %if.t151, label %if.j152
+if.t151:
+ %t377 = load ptr, ptr %sc_l_value
+ %t379 = icmp ne ptr %t377, null
+ br i1 %t379, label %dc.inspect153, label %dc.checked156
+dc.inspect153:
+ %t384 = getelementptr inbounds i8, ptr %t377, i64 8 ; ->kind
+ %t385 = load i32, ptr %t384
+ %t380 = icmp eq i32 %t385, 12
+ br i1 %t380, label %dc.capsule154, label %dc.checked156
+dc.capsule154:
+ %t381 = getelementptr inbounds i8, ptr %t377, i64 40 ; ->v.typed_ref.type_key
+ %t382 = load ptr, ptr %t381
+ %t383 = icmp eq ptr %t382, @sc_cs_3314970835853795
+ br i1 %t383, label %dc.exact155, label %dc.checked156
+dc.exact155:
+ %t386 = getelementptr inbounds i8, ptr %t377, i64 16 ; ->v.typed_ref.ptr
+ %t387 = load ptr, ptr %t386
+ %t388 = call ptr @sc_retain__x25_m6_AssetSource(ptr %t387)
+ store ptr %t388, ptr %s378
+ br label %dc.done157
+dc.checked156:
+ %t389 = call ptr @sc_dc_79(ptr %t377, ptr null)
+ store ptr %t389, ptr %s378
+ %t390 = load i32, ptr %exc.cell
+ %t391 = icmp ne i32 %t390, 0
+ %t392 = call i1 @llvm.expect.i1(i1 %t391, i1 false)
+ br i1 %t392, label %exc.u158, label %exc.k159
+exc.u158:
+ ret ptr null
+exc.k159:
+ br label %dc.done157
+dc.done157:
+ %t393 = load ptr, ptr %s378
+ %t394 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t393, ptr @sc_retain__x25_m9_EmbeddedAssets, ptr @sc_release__x25_m9_EmbeddedAssets, ptr @sc_cs_2519527309428716, i64 25, ptr @sc_ldr_42_materialize, ptr @sc_ldr_42_materialize_commit)
+ call void @sc_release__x25_m9_EmbeddedAssets(ptr %t393)
+ ret ptr %t394
+if.j152:
+ br label %if.j127
+if.j127:
+ %t395 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s396
+ %t397 = icmp ne ptr %t395, null
+ br i1 %t397, label %brand.inspect160, label %brand.done162
+brand.inspect160:
+ %t398 = getelementptr inbounds i8, ptr %t395, i64 8 ; ->kind
+ %t399 = load i32, ptr %t398
+ %t400 = icmp eq i32 %t399, 12
+ br i1 %t400, label %brand.capsule161, label %brand.done162
+brand.capsule161:
+ %t401 = getelementptr inbounds i8, ptr %t395, i64 40 ; ->v.typed_ref.type_key
+ %t402 = load ptr, ptr %t401
+ %t403 = icmp eq ptr %t402, @sc_cs_2072202777142634
+ store i1 true, ptr %s396
+ br i1 %t403, label %brand.done162, label %brand.compare163
+brand.compare163:
+ %t404 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t395, ptr @sc_lit_2072202777142634)
+ store i1 %t404, ptr %s396
+ br label %brand.done162
+brand.done162:
+ %t405 = load i1, ptr %s396
+ br i1 %t405, label %if.t164, label %if.j165
+if.t164:
+ %t406 = load ptr, ptr %sc_l_value
+ %t408 = icmp ne ptr %t406, null
+ br i1 %t408, label %dc.inspect166, label %dc.checked169
+dc.inspect166:
+ %t413 = getelementptr inbounds i8, ptr %t406, i64 8 ; ->kind
+ %t414 = load i32, ptr %t413
+ %t409 = icmp eq i32 %t414, 12
+ br i1 %t409, label %dc.capsule167, label %dc.checked169
+dc.capsule167:
+ %t410 = getelementptr inbounds i8, ptr %t406, i64 40 ; ->v.typed_ref.type_key
+ %t411 = load ptr, ptr %t410
+ %t412 = icmp eq ptr %t411, @sc_cs_2072202777142634
+ br i1 %t412, label %dc.exact168, label %dc.checked169
+dc.exact168:
+ %t415 = getelementptr inbounds i8, ptr %t406, i64 16 ; ->v.typed_ref.ptr
+ %t416 = load ptr, ptr %t415
+ %t417 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t416)
+ store ptr %t417, ptr %s407
+ br label %dc.done170
+dc.checked169:
+ %t418 = call ptr @sc_dc_26(ptr %t406, ptr null)
+ store ptr %t418, ptr %s407
+ %t419 = load i32, ptr %exc.cell
+ %t420 = icmp ne i32 %t419, 0
+ %t421 = call i1 @llvm.expect.i1(i1 %t420, i1 false)
+ br i1 %t421, label %exc.u171, label %exc.k172
+exc.u171:
+ ret ptr null
+exc.k172:
+ br label %dc.done170
+dc.done170:
+ %t422 = load ptr, ptr %s407
+ %t423 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t422, i64 0, i32 1
+ %t424 = load ptr, ptr %t423
+ %t425 = getelementptr inbounds %ScrVt, ptr %t424, i64 0, i32 0
+ %t426 = load i64, ptr %t425
+ %t427 = icmp uge i64 %t426, 23
+ %t428 = icmp ule i64 %t426, 23
+ %t429 = and i1 %t427, %t428 ; instanceof %m4.MemoryFileSink
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t422)
+ br i1 %t429, label %if.t173, label %if.j174
+if.t173:
+ %t430 = load ptr, ptr %sc_l_value
+ %t432 = icmp ne ptr %t430, null
+ br i1 %t432, label %dc.inspect175, label %dc.checked178
+dc.inspect175:
+ %t437 = getelementptr inbounds i8, ptr %t430, i64 8 ; ->kind
+ %t438 = load i32, ptr %t437
+ %t433 = icmp eq i32 %t438, 12
+ br i1 %t433, label %dc.capsule176, label %dc.checked178
+dc.capsule176:
+ %t434 = getelementptr inbounds i8, ptr %t430, i64 40 ; ->v.typed_ref.type_key
+ %t435 = load ptr, ptr %t434
+ %t436 = icmp eq ptr %t435, @sc_cs_2072202777142634
+ br i1 %t436, label %dc.exact177, label %dc.checked178
+dc.exact177:
+ %t439 = getelementptr inbounds i8, ptr %t430, i64 16 ; ->v.typed_ref.ptr
+ %t440 = load ptr, ptr %t439
+ %t441 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t440)
+ store ptr %t441, ptr %s431
+ br label %dc.done179
+dc.checked178:
+ %t442 = call ptr @sc_dc_26(ptr %t430, ptr null)
+ store ptr %t442, ptr %s431
+ %t443 = load i32, ptr %exc.cell
+ %t444 = icmp ne i32 %t443, 0
+ %t445 = call i1 @llvm.expect.i1(i1 %t444, i1 false)
+ br i1 %t445, label %exc.u180, label %exc.k181
+exc.u180:
+ ret ptr null
+exc.k181:
+ br label %dc.done179
+dc.done179:
+ %t446 = load ptr, ptr %s431
+ %t447 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t446, ptr @sc_retain__x25_m4_MemoryFileSink, ptr @sc_release__x25_m4_MemoryFileSink, ptr @sc_cs_3728566007289652, i64 25, ptr @sc_ldr_19_materialize, ptr @sc_ldr_19_materialize_commit)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t446)
+ ret ptr %t447
+if.j174:
+ br label %if.j165
+if.j165:
+ %t448 = load ptr, ptr %sc_l_value
+ %t449 = call ptr @sc_rc_retain_dyn(ptr %t448)
+ ret ptr %t449
+}
+define internal ptr @sc_f__x25_dyn_class_normalize(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_normalize(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_env_pairs_5(ptr %p_sc_l_s_0) #0 { ; %env.pairs.5
+entry:
+ %sc_l_s_0 = alloca ptr ; s
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_ks_0 = alloca ptr ; ks
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_k_0 = alloca ptr ; k
+ %sc_l_raw_0 = alloca ptr ; raw
+ %s10 = alloca i64 ; integer induction i
+ %s17 = alloca ptr
+ %s48 = alloca ptr
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_ks_0
+ store ptr null, ptr %sc_l_k_0
+ store ptr null, ptr %sc_l_raw_0
+ store ptr %p_sc_l_s_0, ptr %sc_l_s_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_arr_new_small(i32 2)
+ store ptr %t4, ptr %sc_l_out_0
+ %t5 = load ptr, ptr %sc_l_s_0
+ %t6 = call ptr @sc_rretain_r0(ptr %t5)
+ %t7 = getelementptr inbounds %sc_rs_r0, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_map_keys_js_order(ptr %t8)
+ store ptr %t9, ptr %sc_l_ks_0
+ call void @sc_rrelease_r0(ptr %t6)
+ %t11 = fptosi double 0x0000000000000000 to i64
+ store i64 %t11, ptr %s10
+ br label %loop.c3
+loop.c3:
+ %t12 = load ptr, ptr %sc_l_ks_0
+ %t13 = getelementptr inbounds %ScrArr, ptr %t12, i64 0, i32 1
+ %t14 = load i64, ptr %t13, !tbaa !2
+ %t15 = load i64, ptr %s10
+ %t16 = icmp ult i64 %t15, %t14
+ br i1 %t16, label %loop.b4, label %loop.e2
+loop.b4:
+ %t18 = load ptr, ptr %sc_l_ks_0
+ %t19 = load i64, ptr %s10
+ %t20 = load i64, ptr %s10
+ %t21 = sitofp i64 %t20 to double
+ %t22 = trunc i64 %t20 to i32
+ %t23 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2
+ %t24 = load i64, ptr %t23, !tbaa !2
+ %t25 = icmp ult i64 %t19, %t24
+ br i1 %t25, label %local.array.range8, label %borrow.array.slow6
+local.array.range8:
+ br label %local.array.dense9
+local.array.dense9:
+ %t26 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6
+ %t27 = load i32, ptr %t26, !tbaa !2
+ %t29 = zext i32 %t27 to i64
+ %t28 = icmp ult i64 %t19, %t29
+ br i1 %t28, label %local.array.value11, label %local.array.len10
+local.array.len10:
+ %t30 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1
+ %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t32 = icmp ult i64 %t19, %t31
+ br i1 %t32, label %local.array.state12, label %borrow.array.slow6
+local.array.state12:
+ %t33 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9
+ %t34 = load ptr, ptr %t33, !tbaa !2
+ %t35 = getelementptr inbounds i8, ptr %t34, i64 %t19
+ %t36 = load i8, ptr %t35, !tbaa !4
+ %t37 = icmp eq i8 %t36, 1
+ br i1 %t37, label %local.array.value11, label %borrow.array.slow6
+local.array.value11:
+ %t38 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8
+ %t39 = load ptr, ptr %t38, !tbaa !2
+ %t40 = getelementptr inbounds i64, ptr %t39, i64 %t19
+ %t41 = load ptr, ptr %t40, !tbaa !6
+ store ptr %t41, ptr %s17
+ br label %borrow.array.join7
+borrow.array.slow6:
+ %t42 = call ptr @scr_arr_borrow_ref(ptr %t18, double %t21)
+ store ptr %t42, ptr %s17
+ br label %borrow.array.join7
+borrow.array.join7:
+ %t43 = load ptr, ptr %s17
+ store ptr %t43, ptr %sc_l_k_0
+ %t44 = load ptr, ptr %sc_l_s_0
+ %t45 = call ptr @sc_rretain_r0(ptr %t44)
+ %t46 = load ptr, ptr %sc_l_k_0
+ %t47 = call ptr @sc_rc_retain_str(ptr %t46)
+ %t49 = getelementptr inbounds %sc_rs_r0, ptr %t45, i64 0, i32 1
+ %t50 = load ptr, ptr %t49
+ %t51 = call ptr @scr_map_get_str_ref(ptr %t50, ptr %t47)
+ %t52 = icmp eq ptr %t51, null
+ br i1 %t52, label %rkg.n15, label %rkg.h14
+rkg.h14:
+ store ptr %t51, ptr %s48
+ br label %rkg.j13
+rkg.n15:
+ call void @sc_bad_key()
+ unreachable
+rkg.j13:
+ %t53 = load ptr, ptr %s48
+ store ptr %t53, ptr %sc_l_raw_0
+ call void @sc_rrelease_r0(ptr %t45)
+ call void @scr_str_release(ptr %t47)
+ %t54 = load ptr, ptr %sc_l_out_0
+ %t55 = load ptr, ptr %sc_l_k_0
+ %t56 = call ptr @sc_rc_retain_str(ptr %t55)
+ %t57 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 1
+ %t58 = load i64, ptr %t57, !tbaa !2
+ %t61 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 2
+ %t59 = load i64, ptr %t61, !tbaa !2
+ %t60 = icmp ult i64 %t58, %t59
+ br i1 %t60, label %arr.push.dense16, label %arr.push.slow17
+arr.push.dense16:
+ %t62 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 8
+ %t64 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 9
+ %t63 = load ptr, ptr %t62, !tbaa !2
+ %t65 = load ptr, ptr %t64, !tbaa !2
+ %t66 = getelementptr inbounds i8, ptr %t65, i64 %t58
+ %t67 = getelementptr inbounds i64, ptr %t63, i64 %t58
+ store ptr %t56, ptr %t67, !tbaa !6
+ store i8 1, ptr %t66, !tbaa !4
+ %t68 = add nuw i64 %t58, 1
+ store i64 %t68, ptr %t57, !tbaa !2
+ %t70 = getelementptr inbounds %ScrArr, ptr %t54, i32 0, i32 6
+ %t71 = load i32, ptr %t70, !tbaa !2
+ %t75 = zext i32 %t71 to i64
+ %t72 = icmp eq i64 %t75, %t58
+ %t73 = add i32 %t71, 1
+ %t74 = select i1 %t72, i32 %t73, i32 %t71
+ store i32 %t74, ptr %t70, !tbaa !2
+ %t69 = sitofp i64 %t68 to double
+ br label %arr.push.join18
+arr.push.slow17:
+ %t76 = call double @scr_arr_push_ref(ptr %t54, ptr %t56) cold
+ br label %arr.push.join18
+arr.push.join18:
+ %t77 = phi double [ %t69, %arr.push.dense16 ], [ %t76, %arr.push.slow17 ]
+ %t78 = load ptr, ptr %sc_l_out_0
+ %t79 = load ptr, ptr %sc_l_raw_0
+ %t80 = call ptr @sc_rc_retain_str(ptr %t79)
+ %t81 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 1
+ %t82 = load i64, ptr %t81, !tbaa !2
+ %t85 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 2
+ %t83 = load i64, ptr %t85, !tbaa !2
+ %t84 = icmp ult i64 %t82, %t83
+ br i1 %t84, label %arr.push.dense19, label %arr.push.slow20
+arr.push.dense19:
+ %t86 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 8
+ %t88 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 9
+ %t87 = load ptr, ptr %t86, !tbaa !2
+ %t89 = load ptr, ptr %t88, !tbaa !2
+ %t90 = getelementptr inbounds i8, ptr %t89, i64 %t82
+ %t91 = getelementptr inbounds i64, ptr %t87, i64 %t82
+ store ptr %t80, ptr %t91, !tbaa !6
+ store i8 1, ptr %t90, !tbaa !4
+ %t92 = add nuw i64 %t82, 1
+ store i64 %t92, ptr %t81, !tbaa !2
+ %t94 = getelementptr inbounds %ScrArr, ptr %t78, i32 0, i32 6
+ %t95 = load i32, ptr %t94, !tbaa !2
+ %t99 = zext i32 %t95 to i64
+ %t96 = icmp eq i64 %t99, %t82
+ %t97 = add i32 %t95, 1
+ %t98 = select i1 %t96, i32 %t97, i32 %t95
+ store i32 %t98, ptr %t94, !tbaa !2
+ %t93 = sitofp i64 %t92 to double
+ br label %arr.push.join21
+arr.push.slow20:
+ %t100 = call double @scr_arr_push_ref(ptr %t78, ptr %t80) cold
+ br label %arr.push.join21
+arr.push.join21:
+ %t101 = phi double [ %t93, %arr.push.dense19 ], [ %t100, %arr.push.slow20 ]
+ %t102 = load ptr, ptr %sc_l_raw_0
+ call void @scr_str_release(ptr %t102)
+ br label %loop.u5
+loop.u5:
+ %t103 = load i64, ptr %s10
+ %t104 = add nuw i64 %t103, 1
+ store i64 %t104, ptr %s10
+ br label %loop.c3
+loop.e2:
+ %t105 = load ptr, ptr %sc_l_out_0
+ %t106 = load ptr, ptr %sc_l_ks_0
+ call void @scr_arr_release(ptr %t106)
+ ret ptr %t105
+}
+define internal ptr @sc_f__x25_env_pairs_5(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_env_pairs_5(ptr %p0)
+ call void @sc_rrelease_r0(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_obj_keys_19(ptr %p_sc_l_r_0) #0 { ; %obj.keys.19
+entry:
+ %sc_l_r_0 = alloca ptr ; r
+ %sc_l_out_0 = alloca ptr ; out
+ %sc_l_ks_0 = alloca ptr ; ks
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l_k_0 = alloca ptr ; k
+ %s10 = alloca i64 ; integer induction i
+ %s17 = alloca ptr
+ store ptr null, ptr %sc_l_out_0
+ store ptr null, ptr %sc_l_ks_0
+ store ptr null, ptr %sc_l_k_0
+ store ptr %p_sc_l_r_0, ptr %sc_l_r_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_arr_new_small(i32 2)
+ store ptr %t4, ptr %sc_l_out_0
+ %t5 = load ptr, ptr %sc_l_r_0
+ %t6 = call ptr @sc_rretain_r0(ptr %t5)
+ %t7 = getelementptr inbounds %sc_rs_r0, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7
+ %t9 = call ptr @scr_map_keys_js_order(ptr %t8)
+ store ptr %t9, ptr %sc_l_ks_0
+ call void @sc_rrelease_r0(ptr %t6)
+ %t11 = fptosi double 0x0000000000000000 to i64
+ store i64 %t11, ptr %s10
+ br label %loop.c3
+loop.c3:
+ %t12 = load ptr, ptr %sc_l_ks_0
+ %t13 = getelementptr inbounds %ScrArr, ptr %t12, i64 0, i32 1
+ %t14 = load i64, ptr %t13, !tbaa !2
+ %t15 = load i64, ptr %s10
+ %t16 = icmp ult i64 %t15, %t14
+ br i1 %t16, label %loop.b4, label %loop.e2
+loop.b4:
+ %t18 = load ptr, ptr %sc_l_ks_0
+ %t19 = load i64, ptr %s10
+ %t20 = load i64, ptr %s10
+ %t21 = sitofp i64 %t20 to double
+ %t22 = trunc i64 %t20 to i32
+ %t23 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 2
+ %t24 = load i64, ptr %t23, !tbaa !2
+ %t25 = icmp ult i64 %t19, %t24
+ br i1 %t25, label %local.array.range8, label %borrow.array.slow6
+local.array.range8:
+ br label %local.array.dense9
+local.array.dense9:
+ %t26 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 6
+ %t27 = load i32, ptr %t26, !tbaa !2
+ %t29 = zext i32 %t27 to i64
+ %t28 = icmp ult i64 %t19, %t29
+ br i1 %t28, label %local.array.value11, label %local.array.len10
+local.array.len10:
+ %t30 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 1
+ %t31 = load i64, ptr %t30, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t32 = icmp ult i64 %t19, %t31
+ br i1 %t32, label %local.array.state12, label %borrow.array.slow6
+local.array.state12:
+ %t33 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 9
+ %t34 = load ptr, ptr %t33, !tbaa !2
+ %t35 = getelementptr inbounds i8, ptr %t34, i64 %t19
+ %t36 = load i8, ptr %t35, !tbaa !4
+ %t37 = icmp eq i8 %t36, 1
+ br i1 %t37, label %local.array.value11, label %borrow.array.slow6
+local.array.value11:
+ %t38 = getelementptr inbounds %ScrArr, ptr %t18, i32 0, i32 8
+ %t39 = load ptr, ptr %t38, !tbaa !2
+ %t40 = getelementptr inbounds i64, ptr %t39, i64 %t19
+ %t41 = load ptr, ptr %t40, !tbaa !6
+ store ptr %t41, ptr %s17
+ br label %borrow.array.join7
+borrow.array.slow6:
+ %t42 = call ptr @scr_arr_borrow_ref(ptr %t18, double %t21)
+ store ptr %t42, ptr %s17
+ br label %borrow.array.join7
+borrow.array.join7:
+ %t43 = load ptr, ptr %s17
+ store ptr %t43, ptr %sc_l_k_0
+ %t44 = load ptr, ptr %sc_l_out_0
+ %t45 = load ptr, ptr %sc_l_k_0
+ %t46 = call ptr @sc_rc_retain_str(ptr %t45)
+ %t47 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 1
+ %t48 = load i64, ptr %t47, !tbaa !2
+ %t51 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 2
+ %t49 = load i64, ptr %t51, !tbaa !2
+ %t50 = icmp ult i64 %t48, %t49
+ br i1 %t50, label %arr.push.dense13, label %arr.push.slow14
+arr.push.dense13:
+ %t52 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 8
+ %t54 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 9
+ %t53 = load ptr, ptr %t52, !tbaa !2
+ %t55 = load ptr, ptr %t54, !tbaa !2
+ %t56 = getelementptr inbounds i8, ptr %t55, i64 %t48
+ %t57 = getelementptr inbounds i64, ptr %t53, i64 %t48
+ store ptr %t46, ptr %t57, !tbaa !6
+ store i8 1, ptr %t56, !tbaa !4
+ %t58 = add nuw i64 %t48, 1
+ store i64 %t58, ptr %t47, !tbaa !2
+ %t60 = getelementptr inbounds %ScrArr, ptr %t44, i32 0, i32 6
+ %t61 = load i32, ptr %t60, !tbaa !2
+ %t65 = zext i32 %t61 to i64
+ %t62 = icmp eq i64 %t65, %t48
+ %t63 = add i32 %t61, 1
+ %t64 = select i1 %t62, i32 %t63, i32 %t61
+ store i32 %t64, ptr %t60, !tbaa !2
+ %t59 = sitofp i64 %t58 to double
+ br label %arr.push.join15
+arr.push.slow14:
+ %t66 = call double @scr_arr_push_ref(ptr %t44, ptr %t46) cold
+ br label %arr.push.join15
+arr.push.join15:
+ %t67 = phi double [ %t59, %arr.push.dense13 ], [ %t66, %arr.push.slow14 ]
+ br label %loop.u5
+loop.u5:
+ %t68 = load i64, ptr %s10
+ %t69 = add nuw i64 %t68, 1
+ store i64 %t69, ptr %s10
+ br label %loop.c3
+loop.e2:
+ %t70 = load ptr, ptr %sc_l_out_0
+ %t71 = load ptr, ptr %sc_l_ks_0
+ call void @scr_arr_release(ptr %t71)
+ ret ptr %t70
+}
+define internal ptr @sc_f__x25_obj_keys_19(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_obj_keys_19(ptr %p0)
+ call void @sc_rrelease_r0(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_Error(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%Error
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_1875086966829314
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_1875086966829314)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_1875086966829314
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m5_MethodNotAllowedError(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_106(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ ret ptr %t31
+if.j7:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = call ptr @sc_dc_124(ptr %t32, ptr null)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @scr_error_release(ptr %t33)
+ ret ptr null
+exc.k16:
+ ret ptr %t33
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_Error(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_Error(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_Error_toString() #0 { ; %method.value:%%Error.toString
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_Error(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @scr_error_release(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @scr_error_to_string(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @scr_error_release(ptr %t5)
+ call void @scr_str_release(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @scr_error_release(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteHeaders(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m3.LiteHeaders
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m3_LiteHeaders()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m3_LiteHeaders(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m3_LiteHeaders(ptr %p0)
+ call void @sc_release__x25_m3_LiteHeaders(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MemoryFileSink(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m4.MemoryFileSink
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryFileSink()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryFileSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MemoryFileSink(ptr %p0)
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MemoryStorage(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m4.MemoryStorage
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m4_MemoryStorage()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m4_MemoryStorage(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m4_MemoryStorage(ptr %p0)
+ call void @sc_release__x25_m4_MemoryStorage(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_65(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.65
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s20 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ %t11 = call ptr @sc_rc_retain_dyn(ptr %t10)
+ %t12 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t11)
+ %t13 = load i32, ptr %exc.cell
+ %t14 = icmp ne i32 %t13, 0
+ %t15 = call i1 @llvm.expect.i1(i1 %t14, i1 false)
+ br i1 %t15, label %exc.u5, label %exc.k6
+exc.u5:
+ call void @sc_rc_release_dyn(ptr %t12)
+ br label %exc.cleanup2
+exc.k6:
+ %t16 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t12)
+ store ptr %t16, ptr %sc_l_bag_0
+ %t17 = load ptr, ptr %sc_l_bag_0
+ %t18 = load ptr, ptr %sc_l_p_0
+ %t19 = call zeroext i1 @scr_dyn_strict_eq(ptr %t17, ptr %t18)
+ br i1 %t19, label %tern.t7, label %tern.f8
+tern.t7:
+ %t21 = load ptr, ptr %sc_l_bag_0
+ %t24 = getelementptr inbounds i8, ptr %t21, i64 8 ; ->kind
+ %t25 = load i32, ptr %t24
+ %t23 = icmp eq i32 %t25, 5
+ br i1 %t23, label %dkg.ic10, label %dkg.any11
+dkg.ic10:
+ %t26 = call ptr @scr_dyn_obj_read_ic(ptr %t21, ptr @sc_lit_2207081674697931, ptr @sc_dyn_read_ic_78)
+ br label %dkg.j12
+dkg.any11:
+ %t27 = call ptr @sc_dyn_key_get(ptr %t21, ptr @sc_lit_2207081674697931, i1 false)
+ br label %dkg.j12
+dkg.j12:
+ %t22 = phi ptr [ %t26, %dkg.ic10 ], [ %t27, %dkg.any11 ]
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup15
+exc.k14:
+ store ptr %t22, ptr %s20
+ br label %tern.j9
+tern.f8:
+ %t31 = load ptr, ptr %sc_l_bag_0
+ %t32 = call ptr @sc_rc_retain_dyn(ptr %t31)
+ %t33 = load ptr, ptr %sc_l_p_0
+ %t34 = call ptr @sc_rc_retain_dyn(ptr %t33)
+ %t35 = call ptr @scr_dyn_bag_get(ptr %t32, ptr @sc_lit_2207081674697931, ptr %t34)
+ %t36 = load i32, ptr %exc.cell
+ %t37 = icmp ne i32 %t36, 0
+ %t38 = call i1 @llvm.expect.i1(i1 %t37, i1 false)
+ br i1 %t38, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t35)
+ br label %exc.cleanup15
+exc.k17:
+ store ptr %t35, ptr %s20
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @sc_rc_release_dyn(ptr %t34)
+ br label %tern.j9
+tern.j9:
+ %t39 = load ptr, ptr %s20
+ %t40 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t40)
+ %t41 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t41)
+ ret ptr %t39
+exc.cleanup2:
+ %t42 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.cleanup15:
+ %t43 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t43)
+ %t44 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t44)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_66(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.66
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s108 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_660811353369478
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_660811353369478)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_660811353369478
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_28(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_308138762104264)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_660811353369478
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_28(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_660811353369478
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m5_ReqViewCore(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_28(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m5_ReqViewCore, ptr @sc_release__x25_m5_ReqViewCore, ptr @sc_cs_660811353369478, i64 22, ptr @sc_ldr_8_materialize, ptr @sc_ldr_8_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_308138762104264, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m5_ReqViewCore(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ %t99 = call ptr @sc_rc_retain_dyn(ptr %t98)
+ %t100 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t99)
+ %t101 = load i32, ptr %exc.cell
+ %t102 = icmp ne i32 %t101, 0
+ %t103 = call i1 @llvm.expect.i1(i1 %t102, i1 false)
+ br i1 %t103, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t100)
+ br label %exc.cleanup2
+exc.k43:
+ %t104 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t100)
+ call void @sc_rc_release_dyn(ptr %t100)
+ store ptr %t104, ptr %sc_l_bag_0
+ %t105 = load ptr, ptr %sc_l_bag_0
+ %t106 = load ptr, ptr %sc_l_p_0
+ %t107 = call zeroext i1 @scr_dyn_strict_eq(ptr %t105, ptr %t106)
+ br i1 %t107, label %tern.t44, label %tern.f45
+tern.t44:
+ %t109 = load ptr, ptr %sc_l_bag_0
+ %t112 = getelementptr inbounds i8, ptr %t109, i64 8 ; ->kind
+ %t113 = load i32, ptr %t112
+ %t111 = icmp eq i32 %t113, 5
+ br i1 %t111, label %dkg.ic47, label %dkg.any48
+dkg.ic47:
+ %t114 = call ptr @scr_dyn_obj_read_ic(ptr %t109, ptr @sc_lit_308138762104264, ptr @sc_dyn_read_ic_79)
+ br label %dkg.j49
+dkg.any48:
+ %t115 = call ptr @sc_dyn_key_get(ptr %t109, ptr @sc_lit_308138762104264, i1 false)
+ br label %dkg.j49
+dkg.j49:
+ %t110 = phi ptr [ %t114, %dkg.ic47 ], [ %t115, %dkg.any48 ]
+ %t116 = load i32, ptr %exc.cell
+ %t117 = icmp ne i32 %t116, 0
+ %t118 = call i1 @llvm.expect.i1(i1 %t117, i1 false)
+ br i1 %t118, label %exc.u50, label %exc.k51
+exc.u50:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup52
+exc.k51:
+ store ptr %t110, ptr %s108
+ br label %tern.j46
+tern.f45:
+ %t119 = load ptr, ptr %sc_l_bag_0
+ %t120 = call ptr @sc_rc_retain_dyn(ptr %t119)
+ %t121 = load ptr, ptr %sc_l_p_0
+ %t122 = call ptr @sc_rc_retain_dyn(ptr %t121)
+ %t123 = call ptr @scr_dyn_bag_get(ptr %t120, ptr @sc_lit_308138762104264, ptr %t122)
+ %t124 = load i32, ptr %exc.cell
+ %t125 = icmp ne i32 %t124, 0
+ %t126 = call i1 @llvm.expect.i1(i1 %t125, i1 false)
+ br i1 %t126, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ call void @sc_rc_release_dyn(ptr %t123)
+ br label %exc.cleanup52
+exc.k54:
+ store ptr %t123, ptr %s108
+ call void @sc_rc_release_dyn(ptr %t120)
+ call void @sc_rc_release_dyn(ptr %t122)
+ br label %tern.j46
+tern.j46:
+ %t127 = load ptr, ptr %s108
+ %t128 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t128)
+ %t129 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t129)
+ ret ptr %t127
+exc.cleanup2:
+ %t130 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t130)
+ ret ptr null
+exc.cleanup52:
+ %t131 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t131)
+ %t132 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t132)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryStorage(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m4.MemoryStorage
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s1 = alloca i1
+ %s12 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s36 = alloca ptr
+ %s53 = alloca ptr
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s1
+ %t2 = icmp ne ptr %t0, null
+ br i1 %t2, label %brand.inspect0, label %brand.done2
+brand.inspect0:
+ %t3 = getelementptr inbounds i8, ptr %t0, i64 8 ; ->kind
+ %t4 = load i32, ptr %t3
+ %t5 = icmp eq i32 %t4, 12
+ br i1 %t5, label %brand.capsule1, label %brand.done2
+brand.capsule1:
+ %t6 = getelementptr inbounds i8, ptr %t0, i64 40 ; ->v.typed_ref.type_key
+ %t7 = load ptr, ptr %t6
+ %t8 = icmp eq ptr %t7, @sc_cs_3635319175845957
+ store i1 true, ptr %s1
+ br i1 %t8, label %brand.done2, label %brand.compare3
+brand.compare3:
+ %t9 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t0, ptr @sc_lit_3635319175845957)
+ store i1 %t9, ptr %s1
+ br label %brand.done2
+brand.done2:
+ %t10 = load i1, ptr %s1
+ br i1 %t10, label %if.t4, label %if.j5
+if.t4:
+ %t11 = load ptr, ptr %sc_l_value
+ %t13 = icmp ne ptr %t11, null
+ br i1 %t13, label %dc.inspect6, label %dc.checked9
+dc.inspect6:
+ %t18 = getelementptr inbounds i8, ptr %t11, i64 8 ; ->kind
+ %t19 = load i32, ptr %t18
+ %t14 = icmp eq i32 %t19, 12
+ br i1 %t14, label %dc.capsule7, label %dc.checked9
+dc.capsule7:
+ %t15 = getelementptr inbounds i8, ptr %t11, i64 40 ; ->v.typed_ref.type_key
+ %t16 = load ptr, ptr %t15
+ %t17 = icmp eq ptr %t16, @sc_cs_3635319175845957
+ br i1 %t17, label %dc.exact8, label %dc.checked9
+dc.exact8:
+ %t20 = getelementptr inbounds i8, ptr %t11, i64 16 ; ->v.typed_ref.ptr
+ %t21 = load ptr, ptr %t20
+ %t22 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t21)
+ store ptr %t22, ptr %s12
+ br label %dc.done10
+dc.checked9:
+ %t23 = call ptr @sc_dc_24(ptr %t11, ptr null)
+ store ptr %t23, ptr %s12
+ %t24 = load i32, ptr %exc.cell
+ %t25 = icmp ne i32 %t24, 0
+ %t26 = call i1 @llvm.expect.i1(i1 %t25, i1 false)
+ br i1 %t26, label %exc.u11, label %exc.k12
+exc.u11:
+ ret ptr null
+exc.k12:
+ br label %dc.done10
+dc.done10:
+ %t27 = load ptr, ptr %s12
+ %t28 = getelementptr inbounds %sc_o__x25_m4_MultipartStorage, ptr %t27, i64 0, i32 1
+ %t29 = load ptr, ptr %t28
+ %t30 = getelementptr inbounds %ScrVt, ptr %t29, i64 0, i32 0
+ %t31 = load i64, ptr %t30
+ %t32 = icmp uge i64 %t31, 26
+ %t33 = icmp ule i64 %t31, 26
+ %t34 = and i1 %t32, %t33 ; instanceof %m4.MemoryStorage
+ call void @sc_release__x25_m4_MultipartStorage(ptr %t27)
+ br i1 %t34, label %if.t13, label %if.j14
+if.t13:
+ %t35 = load ptr, ptr %sc_l_value
+ %t37 = icmp ne ptr %t35, null
+ br i1 %t37, label %dc.inspect15, label %dc.checked18
+dc.inspect15:
+ %t42 = getelementptr inbounds i8, ptr %t35, i64 8 ; ->kind
+ %t43 = load i32, ptr %t42
+ %t38 = icmp eq i32 %t43, 12
+ br i1 %t38, label %dc.capsule16, label %dc.checked18
+dc.capsule16:
+ %t39 = getelementptr inbounds i8, ptr %t35, i64 40 ; ->v.typed_ref.type_key
+ %t40 = load ptr, ptr %t39
+ %t41 = icmp eq ptr %t40, @sc_cs_3635319175845957
+ br i1 %t41, label %dc.exact17, label %dc.checked18
+dc.exact17:
+ %t44 = getelementptr inbounds i8, ptr %t35, i64 16 ; ->v.typed_ref.ptr
+ %t45 = load ptr, ptr %t44
+ %t46 = call ptr @sc_retain__x25_m4_MultipartStorage(ptr %t45)
+ store ptr %t46, ptr %s36
+ br label %dc.done19
+dc.checked18:
+ %t47 = call ptr @sc_dc_24(ptr %t35, ptr null)
+ store ptr %t47, ptr %s36
+ %t48 = load i32, ptr %exc.cell
+ %t49 = icmp ne i32 %t48, 0
+ %t50 = call i1 @llvm.expect.i1(i1 %t49, i1 false)
+ br i1 %t50, label %exc.u20, label %exc.k21
+exc.u20:
+ ret ptr null
+exc.k21:
+ br label %dc.done19
+dc.done19:
+ %t51 = load ptr, ptr %s36
+ ret ptr %t51
+if.j14:
+ br label %if.j5
+if.j5:
+ %t52 = load ptr, ptr %sc_l_value
+ %t54 = icmp ne ptr %t52, null
+ br i1 %t54, label %dc.inspect22, label %dc.checked25
+dc.inspect22:
+ %t59 = getelementptr inbounds i8, ptr %t52, i64 8 ; ->kind
+ %t60 = load i32, ptr %t59
+ %t55 = icmp eq i32 %t60, 12
+ br i1 %t55, label %dc.capsule23, label %dc.checked25
+dc.capsule23:
+ %t56 = getelementptr inbounds i8, ptr %t52, i64 40 ; ->v.typed_ref.type_key
+ %t57 = load ptr, ptr %t56
+ %t58 = icmp eq ptr %t57, @sc_cs_3456310594719780
+ br i1 %t58, label %dc.exact24, label %dc.checked25
+dc.exact24:
+ %t61 = getelementptr inbounds i8, ptr %t52, i64 16 ; ->v.typed_ref.ptr
+ %t62 = load ptr, ptr %t61
+ %t63 = call ptr @sc_retain__x25_m4_MemoryStorage(ptr %t62)
+ store ptr %t63, ptr %s53
+ br label %dc.done26
+dc.checked25:
+ %t64 = call ptr @sc_dc_99(ptr %t52, ptr null)
+ store ptr %t64, ptr %s53
+ %t65 = load i32, ptr %exc.cell
+ %t66 = icmp ne i32 %t65, 0
+ %t67 = call i1 @llvm.expect.i1(i1 %t66, i1 false)
+ br i1 %t67, label %exc.u27, label %exc.k28
+exc.u27:
+ ret ptr null
+exc.k28:
+ br label %dc.done26
+dc.done26:
+ %t68 = load ptr, ptr %s53
+ ret ptr %t68
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m4_MemoryStorage(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryStorage(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_NodeResponseSink(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m2.NodeResponseSink
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s57 = alloca ptr
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_629517122853751
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_629517122853751)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_value
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_629517122853751
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_29(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m2_ResponseSink, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 16
+ %t37 = icmp ule i64 %t35, 16
+ %t38 = and i1 %t36, %t37 ; instanceof %m2.NodeResponseSink
+ call void @sc_release__x25_m2_ResponseSink(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_value
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_629517122853751
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_29(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j16:
+ br label %if.j7
+if.j7:
+ %t56 = load ptr, ptr %sc_l_value
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t64 = load i32, ptr %t63
+ %t59 = icmp eq i32 %t64, 12
+ br i1 %t59, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t61 = load ptr, ptr %t60
+ %t62 = icmp eq ptr %t61, @sc_cs_3326437563644705
+ br i1 %t62, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr
+ %t66 = load ptr, ptr %t65
+ %t67 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t66)
+ store ptr %t67, ptr %s57
+ br label %dc.done28
+dc.checked27:
+ %t68 = call ptr @sc_dc_102(ptr %t56, ptr null)
+ store ptr %t68, ptr %s57
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u29, label %exc.k30
+exc.u29:
+ ret ptr null
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t72 = load ptr, ptr %s57
+ ret ptr %t72
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m2_NodeResponseSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m2_NodeResponseSink(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryFileSink(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m4.MemoryFileSink
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s40 = alloca ptr
+ %s57 = alloca ptr
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_2072202777142634
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_2072202777142634)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_value
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_2072202777142634
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_26(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ %t32 = getelementptr inbounds %sc_o__x25_m4_MultipartFileSink, ptr %t31, i64 0, i32 1
+ %t33 = load ptr, ptr %t32
+ %t34 = getelementptr inbounds %ScrVt, ptr %t33, i64 0, i32 0
+ %t35 = load i64, ptr %t34
+ %t36 = icmp uge i64 %t35, 23
+ %t37 = icmp ule i64 %t35, 23
+ %t38 = and i1 %t36, %t37 ; instanceof %m4.MemoryFileSink
+ call void @sc_release__x25_m4_MultipartFileSink(ptr %t31)
+ br i1 %t38, label %if.t15, label %if.j16
+if.t15:
+ %t39 = load ptr, ptr %sc_l_value
+ %t41 = icmp ne ptr %t39, null
+ br i1 %t41, label %dc.inspect17, label %dc.checked20
+dc.inspect17:
+ %t46 = getelementptr inbounds i8, ptr %t39, i64 8 ; ->kind
+ %t47 = load i32, ptr %t46
+ %t42 = icmp eq i32 %t47, 12
+ br i1 %t42, label %dc.capsule18, label %dc.checked20
+dc.capsule18:
+ %t43 = getelementptr inbounds i8, ptr %t39, i64 40 ; ->v.typed_ref.type_key
+ %t44 = load ptr, ptr %t43
+ %t45 = icmp eq ptr %t44, @sc_cs_2072202777142634
+ br i1 %t45, label %dc.exact19, label %dc.checked20
+dc.exact19:
+ %t48 = getelementptr inbounds i8, ptr %t39, i64 16 ; ->v.typed_ref.ptr
+ %t49 = load ptr, ptr %t48
+ %t50 = call ptr @sc_retain__x25_m4_MultipartFileSink(ptr %t49)
+ store ptr %t50, ptr %s40
+ br label %dc.done21
+dc.checked20:
+ %t51 = call ptr @sc_dc_26(ptr %t39, ptr null)
+ store ptr %t51, ptr %s40
+ %t52 = load i32, ptr %exc.cell
+ %t53 = icmp ne i32 %t52, 0
+ %t54 = call i1 @llvm.expect.i1(i1 %t53, i1 false)
+ br i1 %t54, label %exc.u22, label %exc.k23
+exc.u22:
+ ret ptr null
+exc.k23:
+ br label %dc.done21
+dc.done21:
+ %t55 = load ptr, ptr %s40
+ ret ptr %t55
+if.j16:
+ br label %if.j7
+if.j7:
+ %t56 = load ptr, ptr %sc_l_value
+ %t58 = icmp ne ptr %t56, null
+ br i1 %t58, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t63 = getelementptr inbounds i8, ptr %t56, i64 8 ; ->kind
+ %t64 = load i32, ptr %t63
+ %t59 = icmp eq i32 %t64, 12
+ br i1 %t59, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t60 = getelementptr inbounds i8, ptr %t56, i64 40 ; ->v.typed_ref.type_key
+ %t61 = load ptr, ptr %t60
+ %t62 = icmp eq ptr %t61, @sc_cs_3728566007289652
+ br i1 %t62, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t65 = getelementptr inbounds i8, ptr %t56, i64 16 ; ->v.typed_ref.ptr
+ %t66 = load ptr, ptr %t65
+ %t67 = call ptr @sc_retain__x25_m4_MemoryFileSink(ptr %t66)
+ store ptr %t67, ptr %s57
+ br label %dc.done28
+dc.checked27:
+ %t68 = call ptr @sc_dc_100(ptr %t56, ptr null)
+ store ptr %t68, ptr %s57
+ %t69 = load i32, ptr %exc.cell
+ %t70 = icmp ne i32 %t69, 0
+ %t71 = call i1 @llvm.expect.i1(i1 %t70, i1 false)
+ br i1 %t71, label %exc.u29, label %exc.k30
+exc.u29:
+ ret ptr null
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t72 = load ptr, ptr %s57
+ ret ptr %t72
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m4_MemoryFileSink(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m4_MemoryFileSink(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteHeaders(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m3.LiteHeaders
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %dc.inspect2, label %dc.checked5
+dc.inspect2:
+ %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t7 = icmp eq i32 %t12, 12
+ br i1 %t7, label %dc.capsule3, label %dc.checked5
+dc.capsule3:
+ %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t9 = load ptr, ptr %t8
+ %t10 = icmp eq ptr %t9, @sc_cs_67546268704151
+ br i1 %t10, label %dc.exact4, label %dc.checked5
+dc.exact4:
+ %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_retain__x25_m3_LiteHeaders(ptr %t14)
+ store ptr %t15, ptr %s5
+ br label %dc.done6
+dc.checked5:
+ %t16 = call ptr @sc_dc_107(ptr %t4, ptr null)
+ store ptr %t16, ptr %s5
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u7, label %exc.k8
+exc.u7:
+ ret ptr null
+exc.k8:
+ br label %dc.done6
+dc.done6:
+ %t20 = load ptr, ptr %s5
+ ret ptr %t20
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m3_LiteHeaders(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m3_LiteHeaders(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxResCore(ptr %p_sc_l_this_0) #0 { ; %method.receiver:%m5.CtxResCore
+entry:
+ %sc_l_this_0 = alloca ptr ; this
+ %s5 = alloca i1
+ %s16 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this_0, ptr %sc_l_this_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_this_0
+ store i1 false, ptr %s5
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %brand.inspect2, label %brand.done4
+brand.inspect2:
+ %t7 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t8 = load i32, ptr %t7
+ %t9 = icmp eq i32 %t8, 12
+ br i1 %t9, label %brand.capsule3, label %brand.done4
+brand.capsule3:
+ %t10 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t11 = load ptr, ptr %t10
+ %t12 = icmp eq ptr %t11, @sc_cs_1746033898805369
+ store i1 true, ptr %s5
+ br i1 %t12, label %brand.done4, label %brand.compare5
+brand.compare5:
+ %t13 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t4, ptr @sc_lit_1746033898805369)
+ store i1 %t13, ptr %s5
+ br label %brand.done4
+brand.done4:
+ %t14 = load i1, ptr %s5
+ br i1 %t14, label %if.t6, label %if.j7
+if.t6:
+ %t15 = load ptr, ptr %sc_l_this_0
+ %t17 = icmp ne ptr %t15, null
+ br i1 %t17, label %dc.inspect8, label %dc.checked11
+dc.inspect8:
+ %t22 = getelementptr inbounds i8, ptr %t15, i64 8 ; ->kind
+ %t23 = load i32, ptr %t22
+ %t18 = icmp eq i32 %t23, 12
+ br i1 %t18, label %dc.capsule9, label %dc.checked11
+dc.capsule9:
+ %t19 = getelementptr inbounds i8, ptr %t15, i64 40 ; ->v.typed_ref.type_key
+ %t20 = load ptr, ptr %t19
+ %t21 = icmp eq ptr %t20, @sc_cs_1746033898805369
+ br i1 %t21, label %dc.exact10, label %dc.checked11
+dc.exact10:
+ %t24 = getelementptr inbounds i8, ptr %t15, i64 16 ; ->v.typed_ref.ptr
+ %t25 = load ptr, ptr %t24
+ %t26 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t25)
+ store ptr %t26, ptr %s16
+ br label %dc.done12
+dc.checked11:
+ %t27 = call ptr @sc_dc_30(ptr %t15, ptr null)
+ store ptr %t27, ptr %s16
+ %t28 = load i32, ptr %exc.cell
+ %t29 = icmp ne i32 %t28, 0
+ %t30 = call i1 @llvm.expect.i1(i1 %t29, i1 false)
+ br i1 %t30, label %exc.u13, label %exc.k14
+exc.u13:
+ ret ptr null
+exc.k14:
+ br label %dc.done12
+dc.done12:
+ %t31 = load ptr, ptr %s16
+ ret ptr %t31
+if.j7:
+ %t32 = load ptr, ptr %sc_l_this_0
+ %t33 = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxResCore(ptr %t32)
+ %t34 = load i32, ptr %exc.cell
+ %t35 = icmp ne i32 %t34, 0
+ %t36 = call i1 @llvm.expect.i1(i1 %t35, i1 false)
+ br i1 %t36, label %exc.u15, label %exc.k16
+exc.u15:
+ call void @sc_release__x25_m5_CtxResCore(ptr %t33)
+ ret ptr null
+exc.k16:
+ ret ptr %t33
+}
+define internal ptr @sc_f__x25_method_receiver_x3a__x25_m5_CtxResCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxResCore(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes() #0 { ; %method.value:%%m5.CtxResCore.nodeRes
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxResCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = call ptr @sc_bf__x25__x25_m5_CtxResCore_nodeRes(ptr %t5)
+ %t10 = load i32, ptr %exc.cell
+ %t11 = icmp ne i32 %t10, 0
+ %t12 = call i1 @llvm.expect.i1(i1 %t11, i1 false)
+ br i1 %t12, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxResCore(ptr %t5)
+ call void @scr_union_release(ptr %t9)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_CtxResCore(ptr %t5)
+ ret ptr %t9
+}
+
+define internal ptr @sc_f__x25_prototype_data__x25_m5_CtxResCore() #0 { ; %prototype.data.%m5.CtxResCore
+entry:
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load i1, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore_ready
+ %t5 = xor i1 %t4, true
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = call ptr @scr_dyn_new_obj()
+ %t7 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore
+ call void @sc_rc_release_dyn(ptr %t7)
+ store ptr %t6, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore
+ store i1 true, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore_ready
+ %t8 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore
+ %t9 = call ptr @sc_rc_retain_dyn(ptr %t8)
+ %t10 = call ptr @sc_td_0(ptr @sc_lit_3908714124573206)
+ %t11 = call ptr @scr_dyn_new_obj()
+ %t12 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes)
+ %t13 = call ptr @sc_dfb_55(ptr %t12, ptr null)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3610950885518037, ptr %t13)
+ %t14 = load i32, ptr %exc.cell
+ %t15 = icmp ne i32 %t14, 0
+ %t16 = call i1 @llvm.expect.i1(i1 %t15, i1 false)
+ br i1 %t16, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ ret ptr null
+exc.k5:
+ %t17 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_1948131179100861, ptr %t17)
+ %t18 = load i32, ptr %exc.cell
+ %t19 = icmp ne i32 %t18, 0
+ %t20 = call i1 @llvm.expect.i1(i1 %t19, i1 false)
+ br i1 %t20, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ ret ptr null
+exc.k7:
+ %t21 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t11, ptr @sc_lit_3198935257758645, ptr %t21)
+ %t22 = load i32, ptr %exc.cell
+ %t23 = icmp ne i32 %t22, 0
+ %t24 = call i1 @llvm.expect.i1(i1 %t23, i1 false)
+ br i1 %t24, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ ret ptr null
+exc.k9:
+ %t25 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t9, ptr %t10, ptr %t11)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u10, label %exc.k11
+exc.u10:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k11:
+ call void @sc_rc_release_dyn(ptr %t9)
+ call void @sc_rc_release_dyn(ptr %t10)
+ call void @sc_rc_release_dyn(ptr %t11)
+ call void @scr_closure_release(ptr %t12)
+ call void @sc_rc_release_dyn(ptr %t13)
+ call void @sc_rc_release_dyn(ptr %t17)
+ call void @sc_rc_release_dyn(ptr %t21)
+ call void @sc_rc_release_dyn(ptr %t25)
+ %t29 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore
+ %t30 = call ptr @sc_rc_retain_dyn(ptr %t29)
+ %t31 = call ptr @sc_td_0(ptr @sc_lit_528144782449140)
+ %t32 = call ptr @scr_dyn_new_obj()
+ %t33 = call ptr @scr_closure_retain_v(ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header)
+ %t34 = call ptr @sc_dfb_53(ptr %t33, ptr null)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3610950885518037, ptr %t34)
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ ret ptr null
+exc.k13:
+ %t38 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_1948131179100861, ptr %t38)
+ %t39 = load i32, ptr %exc.cell
+ %t40 = icmp ne i32 %t39, 0
+ %t41 = call i1 @llvm.expect.i1(i1 %t40, i1 false)
+ br i1 %t41, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ ret ptr null
+exc.k15:
+ %t42 = call ptr @sc_td_3(i1 true)
+ call void @scr_dyn_key_set(ptr %t32, ptr @sc_lit_3198935257758645, ptr %t42)
+ %t43 = load i32, ptr %exc.cell
+ %t44 = icmp ne i32 %t43, 0
+ %t45 = call i1 @llvm.expect.i1(i1 %t44, i1 false)
+ br i1 %t45, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ ret ptr null
+exc.k17:
+ %t46 = call ptr @sc_bf__x25_dyn_class_defineProperty(ptr %t30, ptr %t31, ptr %t32)
+ %t47 = load i32, ptr %exc.cell
+ %t48 = icmp ne i32 %t47, 0
+ %t49 = call i1 @llvm.expect.i1(i1 %t48, i1 false)
+ br i1 %t49, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ ret ptr null
+exc.k19:
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ call void @sc_rc_release_dyn(ptr %t32)
+ call void @scr_closure_release(ptr %t33)
+ call void @sc_rc_release_dyn(ptr %t34)
+ call void @sc_rc_release_dyn(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t42)
+ call void @sc_rc_release_dyn(ptr %t46)
+ br label %if.j3
+if.j3:
+ %t50 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore
+ %t51 = call ptr @sc_rc_retain_dyn(ptr %t50)
+ ret ptr %t51
+}
+
+define internal ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %p_sc_l_p_0) #0 { ; %method.value:%%m5.CtxResCore.header
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_dyn_this_get()
+ %t5 = call ptr @sc_bf__x25_method_receiver_x3a__x25_m5_CtxResCore(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u2, label %exc.k3
+exc.u2:
+ call void @sc_rc_release_dyn(ptr %t4)
+ call void @sc_release__x25_m5_CtxResCore(ptr %t5)
+ ret ptr null
+exc.k3:
+ call void @sc_rc_release_dyn(ptr %t4)
+ %t9 = load ptr, ptr %sc_l_p_0
+ %t10 = call ptr @sc_bf__x25__x25_m5_CtxResCore_header(ptr %t5, ptr %t9)
+ %t11 = load i32, ptr %exc.cell
+ %t12 = icmp ne i32 %t11, 0
+ %t13 = call i1 @llvm.expect.i1(i1 %t12, i1 false)
+ br i1 %t13, label %exc.u4, label %exc.k5
+exc.u4:
+ call void @sc_release__x25_m5_CtxResCore(ptr %t5)
+ call void @scr_str_release(ptr %t10)
+ ret ptr null
+exc.k5:
+ call void @sc_release__x25_m5_CtxResCore(ptr %t5)
+ ret ptr %t10
+}
+define internal ptr @sc_f__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_value_x3a__x25__x25_m5_CtxResCore_header(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_dyn_class_keys_533(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_1, ptr %p_sc_l_p_receiver, ptr %p_sc_l_key_string) #0 { ; %dyn.class.keys.533
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_1 = alloca ptr ; stored
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %sc_l_key_string = alloca ptr ; key
+ %s8 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_1, ptr %sc_l_p_1
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ store ptr %p_sc_l_key_string, ptr %sc_l_key_string
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret void
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_key_string
+ %t5 = call zeroext i1 @sc_streq_2620371357038102(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = load ptr, ptr %sc_l_p_1
+ %t9 = icmp ne ptr %t7, null
+ br i1 %t9, label %dc.inspect4, label %dc.checked7
+dc.inspect4:
+ %t14 = getelementptr inbounds i8, ptr %t7, i64 8 ; ->kind
+ %t15 = load i32, ptr %t14
+ %t10 = icmp eq i32 %t15, 12
+ br i1 %t10, label %dc.capsule5, label %dc.checked7
+dc.capsule5:
+ %t11 = getelementptr inbounds i8, ptr %t7, i64 40 ; ->v.typed_ref.type_key
+ %t12 = load ptr, ptr %t11
+ %t13 = icmp eq ptr %t12, @sc_cs_629517122853751
+ br i1 %t13, label %dc.exact6, label %dc.checked7
+dc.exact6:
+ %t16 = getelementptr inbounds i8, ptr %t7, i64 16 ; ->v.typed_ref.ptr
+ %t17 = load ptr, ptr %t16
+ %t18 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t17)
+ store ptr %t18, ptr %s8
+ br label %dc.done8
+dc.checked7:
+ %t19 = call ptr @sc_dc_29(ptr %t7, ptr null)
+ store ptr %t19, ptr %s8
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u9, label %exc.k10
+exc.u9:
+ ret void
+exc.k10:
+ br label %dc.done8
+dc.done8:
+ %t23 = load ptr, ptr %s8
+ %t24 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t6, i64 0, i32 1
+ %t25 = load ptr, ptr %t24
+ store ptr %t23, ptr %t24, !tbaa !128
+ call void @sc_release__x25_m2_ResponseSink(ptr %t25)
+ ret void
+if.j3:
+ %t26 = load ptr, ptr %sc_l_key_string
+ %t27 = call zeroext i1 @sc_streq_127274431826284(ptr %t26)
+ br i1 %t27, label %if.t11, label %if.j12
+if.t11:
+ %t28 = call ptr @scr_error_new(i32 1, ptr @sc_lit_3979096087517462)
+ call void @scr_throw_obj(ptr %t28, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret void
+if.j12:
+ %t29 = load ptr, ptr %sc_l_key_string
+ %t30 = call zeroext i1 @sc_streq_3196313521755681(ptr %t29)
+ br i1 %t30, label %if.t13, label %if.j14
+if.t13:
+ %t31 = call ptr @scr_error_new(i32 1, ptr @sc_lit_4228407369832655)
+ call void @scr_throw_obj(ptr %t31, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret void
+if.j14:
+ %t32 = load ptr, ptr %sc_l_key_string
+ %t33 = call zeroext i1 @sc_streq_528144782449140(ptr %t32)
+ br i1 %t33, label %if.t15, label %if.j16
+if.t15:
+ %t34 = load ptr, ptr %sc_l_p_receiver
+ %t35 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t34, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t36 = call ptr @sc_f__x25_dyn_class_properties(ptr %t35)
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u17, label %exc.k18
+exc.u17:
+ call void @sc_rc_release_dyn(ptr %t36)
+ ret void
+exc.k18:
+ %t40 = load ptr, ptr %sc_l_p_1
+ %t41 = call ptr @sc_rc_retain_dyn(ptr %t40)
+ %t42 = load ptr, ptr %sc_l_p_receiver
+ %t43 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t42, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t36, ptr @sc_lit_528144782449140, ptr %t41, ptr %t43)
+ %t44 = load i32, ptr %exc.cell
+ %t45 = icmp ne i32 %t44, 0
+ %t46 = call i1 @llvm.expect.i1(i1 %t45, i1 false)
+ br i1 %t46, label %exc.u19, label %exc.k20
+exc.u19:
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret void
+exc.k20:
+ call void @sc_rc_release_dyn(ptr %t36)
+ call void @sc_rc_release_dyn(ptr %t41)
+ call void @sc_rc_release_dyn(ptr %t43)
+ ret void
+if.j16:
+ %t47 = load ptr, ptr %sc_l_key_string
+ %t48 = call zeroext i1 @sc_streq_977412068193087(ptr %t47)
+ br i1 %t48, label %if.t21, label %if.j22
+if.t21:
+ %t49 = call ptr @scr_error_new(i32 1, ptr @sc_lit_2679078544804610)
+ call void @scr_throw_obj(ptr %t49, ptr @scr_error_retain_v, ptr @scr_error_release_v, ptr @scr_error_trace)
+ ret void
+if.j22:
+ %t50 = load ptr, ptr %sc_l_key_string
+ %t51 = call zeroext i1 @sc_streq_3908714124573206(ptr %t50)
+ br i1 %t51, label %if.t23, label %if.j24
+if.t23:
+ %t52 = load ptr, ptr %sc_l_p_receiver
+ %t53 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t52, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t54 = call ptr @sc_f__x25_dyn_class_properties(ptr %t53)
+ %t55 = load i32, ptr %exc.cell
+ %t56 = icmp ne i32 %t55, 0
+ %t57 = call i1 @llvm.expect.i1(i1 %t56, i1 false)
+ br i1 %t57, label %exc.u25, label %exc.k26
+exc.u25:
+ call void @sc_rc_release_dyn(ptr %t54)
+ ret void
+exc.k26:
+ %t58 = load ptr, ptr %sc_l_p_1
+ %t59 = call ptr @sc_rc_retain_dyn(ptr %t58)
+ %t60 = load ptr, ptr %sc_l_p_receiver
+ %t61 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t60, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t54, ptr @sc_lit_3908714124573206, ptr %t59, ptr %t61)
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u27, label %exc.k28
+exc.u27:
+ call void @sc_rc_release_dyn(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t61)
+ ret void
+exc.k28:
+ call void @sc_rc_release_dyn(ptr %t54)
+ call void @sc_rc_release_dyn(ptr %t59)
+ call void @sc_rc_release_dyn(ptr %t61)
+ ret void
+if.j24:
+ %t65 = load ptr, ptr %sc_l_p_0
+ %t66 = call ptr @sc_rc_retain_dyn(ptr %t65)
+ %t67 = call ptr @sc_f__x25_dyn_class_properties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t67)
+ ret void
+exc.k30:
+ %t71 = load ptr, ptr %sc_l_key_string
+ %t72 = call ptr @sc_rc_retain_str(ptr %t71)
+ %t73 = load ptr, ptr %sc_l_p_1
+ %t74 = call ptr @sc_rc_retain_dyn(ptr %t73)
+ %t75 = load ptr, ptr %sc_l_p_receiver
+ %t76 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t75, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ call void @scr_dyn_bag_set(ptr %t67, ptr %t72, ptr %t74, ptr %t76)
+ %t77 = load i32, ptr %exc.cell
+ %t78 = icmp ne i32 %t77, 0
+ %t79 = call i1 @llvm.expect.i1(i1 %t78, i1 false)
+ br i1 %t79, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @scr_str_release(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret void
+exc.k32:
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @scr_str_release(ptr %t72)
+ call void @sc_rc_release_dyn(ptr %t74)
+ call void @sc_rc_release_dyn(ptr %t76)
+ ret void
+}
+define internal void @sc_f__x25_dyn_class_keys_533(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4) #0 {
+entry:
+ call void @sc_bf__x25_dyn_class_keys_533(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p1)
+ call void @sc_rc_release_dyn(ptr %p2)
+ call void @sc_release__x25_m5_CtxResCore(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ ret void
+}
+
+define internal ptr @sc_bf__x25_dyn_class_keys_534(ptr %p_sc_l_p_0, ptr %p_sc_l_p_key, ptr %p_sc_l_p_receiver) #0 { ; %dyn.class.keys.534
+entry:
+ %sc_l_p_0 = alloca ptr ; value
+ %sc_l_p_key = alloca ptr ; key
+ %sc_l_p_receiver = alloca ptr ; receiver
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ store ptr %p_sc_l_p_key, ptr %sc_l_p_key
+ store ptr %p_sc_l_p_receiver, ptr %sc_l_p_receiver
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_key
+ %t5 = call zeroext i1 @sc_streq_2620371357038102(ptr %t4)
+ br i1 %t5, label %if.t2, label %if.j3
+if.t2:
+ %t6 = load ptr, ptr %sc_l_p_receiver
+ %t7 = getelementptr inbounds %sc_o__x25_m5_CtxResCore, ptr %t6, i64 0, i32 1
+ %t8 = load ptr, ptr %t7, !tbaa !128
+ %t9 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t8)
+ %t10 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t9, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t9)
+ ret ptr %t10
+if.j3:
+ %t11 = load ptr, ptr %sc_l_p_key
+ %t12 = call zeroext i1 @sc_streq_127274431826284(ptr %t11)
+ br i1 %t12, label %if.t4, label %if.j5
+if.t4:
+ %t13 = load ptr, ptr %sc_l_p_receiver
+ %t14 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t13, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t15 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t14)
+ %t16 = load i32, ptr %exc.cell
+ %t17 = icmp ne i32 %t16, 0
+ %t18 = call i1 @llvm.expect.i1(i1 %t17, i1 false)
+ br i1 %t18, label %exc.u6, label %exc.k7
+exc.u6:
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret ptr null
+exc.k7:
+ %t19 = call zeroext i1 @scr_dyn_has_own(ptr %t15, ptr @sc_lit_127274431826284)
+ %t20 = load i32, ptr %exc.cell
+ %t21 = icmp ne i32 %t20, 0
+ %t22 = call i1 @llvm.expect.i1(i1 %t21, i1 false)
+ br i1 %t22, label %exc.u8, label %exc.k9
+exc.u8:
+ call void @sc_rc_release_dyn(ptr %t15)
+ ret ptr null
+exc.k9:
+ call void @sc_rc_release_dyn(ptr %t15)
+ br i1 %t19, label %if.t10, label %if.j11
+if.t10:
+ %t23 = load ptr, ptr %sc_l_p_receiver
+ %t24 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t23, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t25 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t24)
+ %t26 = load i32, ptr %exc.cell
+ %t27 = icmp ne i32 %t26, 0
+ %t28 = call i1 @llvm.expect.i1(i1 %t27, i1 false)
+ br i1 %t28, label %exc.u12, label %exc.k13
+exc.u12:
+ call void @sc_rc_release_dyn(ptr %t25)
+ ret ptr null
+exc.k13:
+ %t29 = load ptr, ptr %sc_l_p_receiver
+ %t30 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t29, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t31 = call ptr @scr_dyn_bag_get(ptr %t25, ptr @sc_lit_127274431826284, ptr %t30)
+ %t32 = load i32, ptr %exc.cell
+ %t33 = icmp ne i32 %t32, 0
+ %t34 = call i1 @llvm.expect.i1(i1 %t33, i1 false)
+ br i1 %t34, label %exc.u14, label %exc.k15
+exc.u14:
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t30)
+ call void @sc_rc_release_dyn(ptr %t31)
+ ret ptr null
+exc.k15:
+ call void @sc_rc_release_dyn(ptr %t25)
+ call void @sc_rc_release_dyn(ptr %t30)
+ ret ptr %t31
+if.j11:
+ %t35 = load ptr, ptr %sc_l_p_receiver
+ %t36 = call double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_status(ptr %t35)
+ %t37 = load i32, ptr %exc.cell
+ %t38 = icmp ne i32 %t37, 0
+ %t39 = call i1 @llvm.expect.i1(i1 %t38, i1 false)
+ br i1 %t39, label %exc.u16, label %exc.k17
+exc.u16:
+ ret ptr null
+exc.k17:
+ %t40 = call ptr @sc_td_2(double %t36)
+ ret ptr %t40
+if.j5:
+ %t41 = load ptr, ptr %sc_l_p_key
+ %t42 = call zeroext i1 @sc_streq_3196313521755681(ptr %t41)
+ br i1 %t42, label %if.t18, label %if.j19
+if.t18:
+ %t43 = load ptr, ptr %sc_l_p_receiver
+ %t44 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t43, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t45 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t44)
+ %t46 = load i32, ptr %exc.cell
+ %t47 = icmp ne i32 %t46, 0
+ %t48 = call i1 @llvm.expect.i1(i1 %t47, i1 false)
+ br i1 %t48, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr null
+exc.k21:
+ %t49 = call zeroext i1 @scr_dyn_has_own(ptr %t45, ptr @sc_lit_3196313521755681)
+ %t50 = load i32, ptr %exc.cell
+ %t51 = icmp ne i32 %t50, 0
+ %t52 = call i1 @llvm.expect.i1(i1 %t51, i1 false)
+ br i1 %t52, label %exc.u22, label %exc.k23
+exc.u22:
+ call void @sc_rc_release_dyn(ptr %t45)
+ ret ptr null
+exc.k23:
+ call void @sc_rc_release_dyn(ptr %t45)
+ br i1 %t49, label %if.t24, label %if.j25
+if.t24:
+ %t53 = load ptr, ptr %sc_l_p_receiver
+ %t54 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t53, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t55 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t54)
+ %t56 = load i32, ptr %exc.cell
+ %t57 = icmp ne i32 %t56, 0
+ %t58 = call i1 @llvm.expect.i1(i1 %t57, i1 false)
+ br i1 %t58, label %exc.u26, label %exc.k27
+exc.u26:
+ call void @sc_rc_release_dyn(ptr %t55)
+ ret ptr null
+exc.k27:
+ %t59 = load ptr, ptr %sc_l_p_receiver
+ %t60 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t59, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t61 = call ptr @scr_dyn_bag_get(ptr %t55, ptr @sc_lit_3196313521755681, ptr %t60)
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u28, label %exc.k29
+exc.u28:
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t60)
+ call void @sc_rc_release_dyn(ptr %t61)
+ ret ptr null
+exc.k29:
+ call void @sc_rc_release_dyn(ptr %t55)
+ call void @sc_rc_release_dyn(ptr %t60)
+ ret ptr %t61
+if.j25:
+ %t65 = load ptr, ptr %sc_l_p_receiver
+ %t66 = call double @sc_bf__x25__x25_m5_CtxResCore_get_x3a_statusCode(ptr %t65)
+ %t67 = load i32, ptr %exc.cell
+ %t68 = icmp ne i32 %t67, 0
+ %t69 = call i1 @llvm.expect.i1(i1 %t68, i1 false)
+ br i1 %t69, label %exc.u30, label %exc.k31
+exc.u30:
+ ret ptr null
+exc.k31:
+ %t70 = call ptr @sc_td_2(double %t66)
+ ret ptr %t70
+if.j19:
+ %t71 = load ptr, ptr %sc_l_p_key
+ %t72 = call zeroext i1 @sc_streq_528144782449140(ptr %t71)
+ br i1 %t72, label %if.t32, label %if.j33
+if.t32:
+ %t73 = load ptr, ptr %sc_l_p_receiver
+ %t74 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t73, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t75 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t74)
+ %t76 = load i32, ptr %exc.cell
+ %t77 = icmp ne i32 %t76, 0
+ %t78 = call i1 @llvm.expect.i1(i1 %t77, i1 false)
+ br i1 %t78, label %exc.u34, label %exc.k35
+exc.u34:
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret ptr null
+exc.k35:
+ %t79 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t75, ptr @sc_lit_528144782449140)
+ %t80 = load i32, ptr %exc.cell
+ %t81 = icmp ne i32 %t80, 0
+ %t82 = call i1 @llvm.expect.i1(i1 %t81, i1 false)
+ br i1 %t82, label %exc.u36, label %exc.k37
+exc.u36:
+ call void @sc_rc_release_dyn(ptr %t75)
+ ret ptr null
+exc.k37:
+ call void @sc_rc_release_dyn(ptr %t75)
+ br i1 %t79, label %if.t38, label %if.j39
+if.t38:
+ %t83 = load ptr, ptr %sc_l_p_receiver
+ %t84 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t83, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t85 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t84)
+ %t86 = load i32, ptr %exc.cell
+ %t87 = icmp ne i32 %t86, 0
+ %t88 = call i1 @llvm.expect.i1(i1 %t87, i1 false)
+ br i1 %t88, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t85)
+ ret ptr null
+exc.k41:
+ %t89 = load ptr, ptr %sc_l_p_receiver
+ %t90 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t89, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t91 = call ptr @scr_dyn_bag_get(ptr %t85, ptr @sc_lit_528144782449140, ptr %t90)
+ %t92 = load i32, ptr %exc.cell
+ %t93 = icmp ne i32 %t92, 0
+ %t94 = call i1 @llvm.expect.i1(i1 %t93, i1 false)
+ br i1 %t94, label %exc.u42, label %exc.k43
+exc.u42:
+ call void @sc_rc_release_dyn(ptr %t85)
+ call void @sc_rc_release_dyn(ptr %t90)
+ call void @sc_rc_release_dyn(ptr %t91)
+ ret ptr null
+exc.k43:
+ call void @sc_rc_release_dyn(ptr %t85)
+ call void @sc_rc_release_dyn(ptr %t90)
+ ret ptr %t91
+if.j39:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ ret ptr %t95
+if.j33:
+ %t97 = load ptr, ptr %sc_l_p_key
+ %t98 = call zeroext i1 @sc_streq_977412068193087(ptr %t97)
+ br i1 %t98, label %if.t44, label %if.j45
+if.t44:
+ %t99 = load ptr, ptr %sc_l_p_receiver
+ %t100 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t99, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t101 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t100)
+ %t102 = load i32, ptr %exc.cell
+ %t103 = icmp ne i32 %t102, 0
+ %t104 = call i1 @llvm.expect.i1(i1 %t103, i1 false)
+ br i1 %t104, label %exc.u46, label %exc.k47
+exc.u46:
+ call void @sc_rc_release_dyn(ptr %t101)
+ ret ptr null
+exc.k47:
+ %t105 = call zeroext i1 @scr_dyn_has_own(ptr %t101, ptr @sc_lit_977412068193087)
+ %t106 = load i32, ptr %exc.cell
+ %t107 = icmp ne i32 %t106, 0
+ %t108 = call i1 @llvm.expect.i1(i1 %t107, i1 false)
+ br i1 %t108, label %exc.u48, label %exc.k49
+exc.u48:
+ call void @sc_rc_release_dyn(ptr %t101)
+ ret ptr null
+exc.k49:
+ call void @sc_rc_release_dyn(ptr %t101)
+ br i1 %t105, label %if.t50, label %if.j51
+if.t50:
+ %t109 = load ptr, ptr %sc_l_p_receiver
+ %t110 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t109, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t111 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t110)
+ %t112 = load i32, ptr %exc.cell
+ %t113 = icmp ne i32 %t112, 0
+ %t114 = call i1 @llvm.expect.i1(i1 %t113, i1 false)
+ br i1 %t114, label %exc.u52, label %exc.k53
+exc.u52:
+ call void @sc_rc_release_dyn(ptr %t111)
+ ret ptr null
+exc.k53:
+ %t115 = load ptr, ptr %sc_l_p_receiver
+ %t116 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t115, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t117 = call ptr @scr_dyn_bag_get(ptr %t111, ptr @sc_lit_977412068193087, ptr %t116)
+ %t118 = load i32, ptr %exc.cell
+ %t119 = icmp ne i32 %t118, 0
+ %t120 = call i1 @llvm.expect.i1(i1 %t119, i1 false)
+ br i1 %t120, label %exc.u54, label %exc.k55
+exc.u54:
+ call void @sc_rc_release_dyn(ptr %t111)
+ call void @sc_rc_release_dyn(ptr %t116)
+ call void @sc_rc_release_dyn(ptr %t117)
+ ret ptr null
+exc.k55:
+ call void @sc_rc_release_dyn(ptr %t111)
+ call void @sc_rc_release_dyn(ptr %t116)
+ ret ptr %t117
+if.j51:
+ %t121 = load ptr, ptr %sc_l_p_receiver
+ %t122 = call ptr @sc_bf__x25__x25_m5_CtxResCore_get_x3a_headers(ptr %t121)
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u56, label %exc.k57
+exc.u56:
+ call void @sc_rrelease_r0(ptr %t122)
+ ret ptr null
+exc.k57:
+ %t126 = call ptr @scr_dyn_new_typed_ref_observed(ptr %t122, ptr @sc_rretain_r0, ptr @sc_rrelease_r0, ptr @sc_cs_77530061052946, i64 9, ptr @sc_ldr_7_materialize, ptr @sc_ldr_7_materialize_commit)
+ call void @sc_rrelease_r0(ptr %t122)
+ ret ptr %t126
+if.j45:
+ %t127 = load ptr, ptr %sc_l_p_key
+ %t128 = call zeroext i1 @sc_streq_3908714124573206(ptr %t127)
+ br i1 %t128, label %if.t58, label %if.j59
+if.t58:
+ %t129 = load ptr, ptr %sc_l_p_receiver
+ %t130 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t129, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t131 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t130)
+ %t132 = load i32, ptr %exc.cell
+ %t133 = icmp ne i32 %t132, 0
+ %t134 = call i1 @llvm.expect.i1(i1 %t133, i1 false)
+ br i1 %t134, label %exc.u60, label %exc.k61
+exc.u60:
+ call void @sc_rc_release_dyn(ptr %t131)
+ ret ptr null
+exc.k61:
+ %t135 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t131, ptr @sc_lit_3908714124573206)
+ %t136 = load i32, ptr %exc.cell
+ %t137 = icmp ne i32 %t136, 0
+ %t138 = call i1 @llvm.expect.i1(i1 %t137, i1 false)
+ br i1 %t138, label %exc.u62, label %exc.k63
+exc.u62:
+ call void @sc_rc_release_dyn(ptr %t131)
+ ret ptr null
+exc.k63:
+ call void @sc_rc_release_dyn(ptr %t131)
+ br i1 %t135, label %if.t64, label %if.j65
+if.t64:
+ %t139 = load ptr, ptr %sc_l_p_receiver
+ %t140 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t139, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t141 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t140)
+ %t142 = load i32, ptr %exc.cell
+ %t143 = icmp ne i32 %t142, 0
+ %t144 = call i1 @llvm.expect.i1(i1 %t143, i1 false)
+ br i1 %t144, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t141)
+ ret ptr null
+exc.k67:
+ %t145 = load ptr, ptr %sc_l_p_receiver
+ %t146 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t145, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t147 = call ptr @scr_dyn_bag_get(ptr %t141, ptr @sc_lit_3908714124573206, ptr %t146)
+ %t148 = load i32, ptr %exc.cell
+ %t149 = icmp ne i32 %t148, 0
+ %t150 = call i1 @llvm.expect.i1(i1 %t149, i1 false)
+ br i1 %t150, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t141)
+ call void @sc_rc_release_dyn(ptr %t146)
+ call void @sc_rc_release_dyn(ptr %t147)
+ ret ptr null
+exc.k69:
+ call void @sc_rc_release_dyn(ptr %t141)
+ call void @sc_rc_release_dyn(ptr %t146)
+ ret ptr %t147
+if.j65:
+ %t152 = call ptr @scr_dyn_undefined()
+ %t151 = call ptr @scr_dyn_retain_v(ptr %t152)
+ ret ptr %t151
+if.j59:
+ %t153 = load ptr, ptr %sc_l_p_0
+ %t154 = call ptr @sc_rc_retain_dyn(ptr %t153)
+ %t155 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u70, label %exc.k71
+exc.u70:
+ call void @sc_rc_release_dyn(ptr %t155)
+ ret ptr null
+exc.k71:
+ %t159 = load ptr, ptr %sc_l_p_key
+ %t160 = call ptr @sc_rc_retain_str(ptr %t159)
+ %t161 = load ptr, ptr %sc_l_p_receiver
+ %t162 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t161, ptr @sc_retain__x25_m5_CtxResCore, ptr @sc_release__x25_m5_CtxResCore, ptr @sc_cs_1746033898805369, i64 21, ptr @sc_ldr_22_materialize, ptr @sc_ldr_22_materialize_commit)
+ %t163 = call ptr @scr_dyn_bag_get(ptr %t155, ptr %t160, ptr %t162)
+ %t164 = load i32, ptr %exc.cell
+ %t165 = icmp ne i32 %t164, 0
+ %t166 = call i1 @llvm.expect.i1(i1 %t165, i1 false)
+ br i1 %t166, label %exc.u72, label %exc.k73
+exc.u72:
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @scr_str_release(ptr %t160)
+ call void @sc_rc_release_dyn(ptr %t162)
+ call void @sc_rc_release_dyn(ptr %t163)
+ ret ptr null
+exc.k73:
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @scr_str_release(ptr %t160)
+ call void @sc_rc_release_dyn(ptr %t162)
+ ret ptr %t163
+}
+define internal ptr @sc_f__x25_dyn_class_keys_534(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_keys_534(ptr %p0, ptr %p1, ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_release__x25_m5_CtxResCore(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_CtxResCore(ptr %p_sc_l_this) #0 { ; %class.instancePrototype:%m5.CtxResCore
+entry:
+ %sc_l_this = alloca ptr ; this
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_this, ptr %sc_l_this
+ %t0 = call ptr @sc_f__x25_prototype_data__x25_m5_CtxResCore()
+ %t1 = load i32, ptr %exc.cell
+ %t2 = icmp ne i32 %t1, 0
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_rc_release_dyn(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_class_instancePrototype_x3a__x25_m5_CtxResCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_class_instancePrototype_x3a__x25_m5_CtxResCore(ptr %p0)
+ call void @sc_release__x25_m5_CtxResCore(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_67(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.67
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_181663572509014)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_181663572509014, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_181663572509014)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_181663572509014, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_181663572509014)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_181663572509014, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_181663572509014)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_181663572509014, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_181663572509014, ptr @sc_dyn_read_ic_80)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_181663572509014, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_181663572509014, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_f__x25_dyn_class_property_68(ptr %p_sc_l_p_0) #0 { ; %dyn.class.property.68
+entry:
+ %sc_l_p_0 = alloca ptr ; p0
+ %sc_l_bag_0 = alloca ptr ; bag
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s11 = alloca i1
+ %s23 = alloca ptr
+ %s50 = alloca ptr
+ %s73 = alloca ptr
+ %s99 = alloca i1
+ %s111 = alloca ptr
+ %s138 = alloca ptr
+ %s161 = alloca ptr
+ %s187 = alloca i1
+ %s199 = alloca ptr
+ %s226 = alloca ptr
+ %s249 = alloca ptr
+ %s275 = alloca i1
+ %s287 = alloca ptr
+ %s314 = alloca ptr
+ %s337 = alloca ptr
+ %s372 = alloca ptr
+ store ptr null, ptr %sc_l_bag_0
+ store ptr %p_sc_l_p_0, ptr %sc_l_p_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ br label %exc.cleanup2
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_p_0
+ %t5 = call ptr @sc_bf__x25_dyn_class_normalize(ptr %t4)
+ %t6 = load i32, ptr %exc.cell
+ %t7 = icmp ne i32 %t6, 0
+ %t8 = call i1 @llvm.expect.i1(i1 %t7, i1 false)
+ br i1 %t8, label %exc.u3, label %exc.k4
+exc.u3:
+ call void @sc_rc_release_dyn(ptr %t5)
+ br label %exc.cleanup2
+exc.k4:
+ %t9 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t9)
+ store ptr %t5, ptr %sc_l_p_0
+ %t10 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s11
+ %t12 = icmp ne ptr %t10, null
+ br i1 %t12, label %brand.inspect5, label %brand.done7
+brand.inspect5:
+ %t13 = getelementptr inbounds i8, ptr %t10, i64 8 ; ->kind
+ %t14 = load i32, ptr %t13
+ %t15 = icmp eq i32 %t14, 12
+ br i1 %t15, label %brand.capsule6, label %brand.done7
+brand.capsule6:
+ %t16 = getelementptr inbounds i8, ptr %t10, i64 40 ; ->v.typed_ref.type_key
+ %t17 = load ptr, ptr %t16
+ %t18 = icmp eq ptr %t17, @sc_cs_4074974279575818
+ store i1 true, ptr %s11
+ br i1 %t18, label %brand.done7, label %brand.compare8
+brand.compare8:
+ %t19 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t10, ptr @sc_lit_4074974279575818)
+ store i1 %t19, ptr %s11
+ br label %brand.done7
+brand.done7:
+ %t20 = load i1, ptr %s11
+ br i1 %t20, label %if.t9, label %if.j10
+if.t9:
+ %t21 = load ptr, ptr %sc_l_p_0
+ %t22 = call ptr @sc_rc_retain_dyn(ptr %t21)
+ %t24 = icmp ne ptr %t22, null
+ br i1 %t24, label %dc.inspect11, label %dc.checked14
+dc.inspect11:
+ %t29 = getelementptr inbounds i8, ptr %t22, i64 8 ; ->kind
+ %t30 = load i32, ptr %t29
+ %t25 = icmp eq i32 %t30, 12
+ br i1 %t25, label %dc.capsule12, label %dc.checked14
+dc.capsule12:
+ %t26 = getelementptr inbounds i8, ptr %t22, i64 40 ; ->v.typed_ref.type_key
+ %t27 = load ptr, ptr %t26
+ %t28 = icmp eq ptr %t27, @sc_cs_4074974279575818
+ br i1 %t28, label %dc.exact13, label %dc.checked14
+dc.exact13:
+ %t31 = getelementptr inbounds i8, ptr %t22, i64 16 ; ->v.typed_ref.ptr
+ %t32 = load ptr, ptr %t31
+ %t33 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t32)
+ store ptr %t33, ptr %s23
+ br label %dc.done15
+dc.checked14:
+ %t34 = call ptr @sc_dc_104(ptr %t22, ptr null)
+ store ptr %t34, ptr %s23
+ %t35 = load i32, ptr %exc.cell
+ %t36 = icmp ne i32 %t35, 0
+ %t37 = call i1 @llvm.expect.i1(i1 %t36, i1 false)
+ br i1 %t37, label %exc.u16, label %exc.k17
+exc.u16:
+ call void @sc_rc_release_dyn(ptr %t22)
+ br label %exc.cleanup2
+exc.k17:
+ br label %dc.done15
+dc.done15:
+ %t38 = load ptr, ptr %s23
+ %t39 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t38, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t40 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t39)
+ %t41 = load i32, ptr %exc.cell
+ %t42 = icmp ne i32 %t41, 0
+ %t43 = call i1 @llvm.expect.i1(i1 %t42, i1 false)
+ br i1 %t43, label %exc.u18, label %exc.k19
+exc.u18:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k19:
+ %t44 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t40, ptr @sc_lit_4198614539576238)
+ %t45 = load i32, ptr %exc.cell
+ %t46 = icmp ne i32 %t45, 0
+ %t47 = call i1 @llvm.expect.i1(i1 %t46, i1 false)
+ br i1 %t47, label %exc.u20, label %exc.k21
+exc.u20:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br label %exc.cleanup2
+exc.k21:
+ call void @sc_rc_release_dyn(ptr %t22)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t38)
+ call void @sc_rc_release_dyn(ptr %t40)
+ br i1 %t44, label %if.t22, label %if.j23
+if.t22:
+ %t48 = load ptr, ptr %sc_l_p_0
+ %t49 = call ptr @sc_rc_retain_dyn(ptr %t48)
+ %t51 = icmp ne ptr %t49, null
+ br i1 %t51, label %dc.inspect24, label %dc.checked27
+dc.inspect24:
+ %t56 = getelementptr inbounds i8, ptr %t49, i64 8 ; ->kind
+ %t57 = load i32, ptr %t56
+ %t52 = icmp eq i32 %t57, 12
+ br i1 %t52, label %dc.capsule25, label %dc.checked27
+dc.capsule25:
+ %t53 = getelementptr inbounds i8, ptr %t49, i64 40 ; ->v.typed_ref.type_key
+ %t54 = load ptr, ptr %t53
+ %t55 = icmp eq ptr %t54, @sc_cs_4074974279575818
+ br i1 %t55, label %dc.exact26, label %dc.checked27
+dc.exact26:
+ %t58 = getelementptr inbounds i8, ptr %t49, i64 16 ; ->v.typed_ref.ptr
+ %t59 = load ptr, ptr %t58
+ %t60 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t59)
+ store ptr %t60, ptr %s50
+ br label %dc.done28
+dc.checked27:
+ %t61 = call ptr @sc_dc_104(ptr %t49, ptr null)
+ store ptr %t61, ptr %s50
+ %t62 = load i32, ptr %exc.cell
+ %t63 = icmp ne i32 %t62, 0
+ %t64 = call i1 @llvm.expect.i1(i1 %t63, i1 false)
+ br i1 %t64, label %exc.u29, label %exc.k30
+exc.u29:
+ call void @sc_rc_release_dyn(ptr %t49)
+ br label %exc.cleanup2
+exc.k30:
+ br label %dc.done28
+dc.done28:
+ %t65 = load ptr, ptr %s50
+ %t66 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t65, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t67 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t66)
+ %t68 = load i32, ptr %exc.cell
+ %t69 = icmp ne i32 %t68, 0
+ %t70 = call i1 @llvm.expect.i1(i1 %t69, i1 false)
+ br i1 %t70, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ br label %exc.cleanup2
+exc.k32:
+ %t71 = load ptr, ptr %sc_l_p_0
+ %t72 = call ptr @sc_rc_retain_dyn(ptr %t71)
+ %t74 = icmp ne ptr %t72, null
+ br i1 %t74, label %dc.inspect33, label %dc.checked36
+dc.inspect33:
+ %t79 = getelementptr inbounds i8, ptr %t72, i64 8 ; ->kind
+ %t80 = load i32, ptr %t79
+ %t75 = icmp eq i32 %t80, 12
+ br i1 %t75, label %dc.capsule34, label %dc.checked36
+dc.capsule34:
+ %t76 = getelementptr inbounds i8, ptr %t72, i64 40 ; ->v.typed_ref.type_key
+ %t77 = load ptr, ptr %t76
+ %t78 = icmp eq ptr %t77, @sc_cs_4074974279575818
+ br i1 %t78, label %dc.exact35, label %dc.checked36
+dc.exact35:
+ %t81 = getelementptr inbounds i8, ptr %t72, i64 16 ; ->v.typed_ref.ptr
+ %t82 = load ptr, ptr %t81
+ %t83 = call ptr @sc_retain__x25_m3_LiteResponse(ptr %t82)
+ store ptr %t83, ptr %s73
+ br label %dc.done37
+dc.checked36:
+ %t84 = call ptr @sc_dc_104(ptr %t72, ptr null)
+ store ptr %t84, ptr %s73
+ %t85 = load i32, ptr %exc.cell
+ %t86 = icmp ne i32 %t85, 0
+ %t87 = call i1 @llvm.expect.i1(i1 %t86, i1 false)
+ br i1 %t87, label %exc.u38, label %exc.k39
+exc.u38:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ br label %exc.cleanup2
+exc.k39:
+ br label %dc.done37
+dc.done37:
+ %t88 = load ptr, ptr %s73
+ %t89 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t88, ptr @sc_retain__x25_m3_LiteResponse, ptr @sc_release__x25_m3_LiteResponse, ptr @sc_cs_4074974279575818, i64 23, ptr @sc_ldr_1_materialize, ptr @sc_ldr_1_materialize_commit)
+ %t90 = call ptr @scr_dyn_bag_get(ptr %t67, ptr @sc_lit_4198614539576238, ptr %t89)
+ %t91 = load i32, ptr %exc.cell
+ %t92 = icmp ne i32 %t91, 0
+ %t93 = call i1 @llvm.expect.i1(i1 %t92, i1 false)
+ br i1 %t93, label %exc.u40, label %exc.k41
+exc.u40:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ call void @sc_rc_release_dyn(ptr %t90)
+ br label %exc.cleanup2
+exc.k41:
+ call void @sc_rc_release_dyn(ptr %t49)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t65)
+ call void @sc_rc_release_dyn(ptr %t67)
+ call void @sc_rc_release_dyn(ptr %t72)
+ call void @sc_release__x25_m3_LiteResponse(ptr %t88)
+ call void @sc_rc_release_dyn(ptr %t89)
+ %t94 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t94)
+ ret ptr %t90
+if.j23:
+ %t96 = call ptr @scr_dyn_undefined()
+ %t95 = call ptr @scr_dyn_retain_v(ptr %t96)
+ %t97 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t97)
+ ret ptr %t95
+if.j10:
+ %t98 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s99
+ %t100 = icmp ne ptr %t98, null
+ br i1 %t100, label %brand.inspect42, label %brand.done44
+brand.inspect42:
+ %t101 = getelementptr inbounds i8, ptr %t98, i64 8 ; ->kind
+ %t102 = load i32, ptr %t101
+ %t103 = icmp eq i32 %t102, 12
+ br i1 %t103, label %brand.capsule43, label %brand.done44
+brand.capsule43:
+ %t104 = getelementptr inbounds i8, ptr %t98, i64 40 ; ->v.typed_ref.type_key
+ %t105 = load ptr, ptr %t104
+ %t106 = icmp eq ptr %t105, @sc_cs_2434838942941195
+ store i1 true, ptr %s99
+ br i1 %t106, label %brand.done44, label %brand.compare45
+brand.compare45:
+ %t107 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t98, ptr @sc_lit_2434838942941195)
+ store i1 %t107, ptr %s99
+ br label %brand.done44
+brand.done44:
+ %t108 = load i1, ptr %s99
+ br i1 %t108, label %if.t46, label %if.j47
+if.t46:
+ %t109 = load ptr, ptr %sc_l_p_0
+ %t110 = call ptr @sc_rc_retain_dyn(ptr %t109)
+ %t112 = icmp ne ptr %t110, null
+ br i1 %t112, label %dc.inspect48, label %dc.checked51
+dc.inspect48:
+ %t117 = getelementptr inbounds i8, ptr %t110, i64 8 ; ->kind
+ %t118 = load i32, ptr %t117
+ %t113 = icmp eq i32 %t118, 12
+ br i1 %t113, label %dc.capsule49, label %dc.checked51
+dc.capsule49:
+ %t114 = getelementptr inbounds i8, ptr %t110, i64 40 ; ->v.typed_ref.type_key
+ %t115 = load ptr, ptr %t114
+ %t116 = icmp eq ptr %t115, @sc_cs_2434838942941195
+ br i1 %t116, label %dc.exact50, label %dc.checked51
+dc.exact50:
+ %t119 = getelementptr inbounds i8, ptr %t110, i64 16 ; ->v.typed_ref.ptr
+ %t120 = load ptr, ptr %t119
+ %t121 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t120)
+ store ptr %t121, ptr %s111
+ br label %dc.done52
+dc.checked51:
+ %t122 = call ptr @sc_dc_52(ptr %t110, ptr null)
+ store ptr %t122, ptr %s111
+ %t123 = load i32, ptr %exc.cell
+ %t124 = icmp ne i32 %t123, 0
+ %t125 = call i1 @llvm.expect.i1(i1 %t124, i1 false)
+ br i1 %t125, label %exc.u53, label %exc.k54
+exc.u53:
+ call void @sc_rc_release_dyn(ptr %t110)
+ br label %exc.cleanup2
+exc.k54:
+ br label %dc.done52
+dc.done52:
+ %t126 = load ptr, ptr %s111
+ %t127 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t126, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t128 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t127)
+ %t129 = load i32, ptr %exc.cell
+ %t130 = icmp ne i32 %t129, 0
+ %t131 = call i1 @llvm.expect.i1(i1 %t130, i1 false)
+ br i1 %t131, label %exc.u55, label %exc.k56
+exc.u55:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k56:
+ %t132 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t128, ptr @sc_lit_4198614539576238)
+ %t133 = load i32, ptr %exc.cell
+ %t134 = icmp ne i32 %t133, 0
+ %t135 = call i1 @llvm.expect.i1(i1 %t134, i1 false)
+ br i1 %t135, label %exc.u57, label %exc.k58
+exc.u57:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br label %exc.cleanup2
+exc.k58:
+ call void @sc_rc_release_dyn(ptr %t110)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t126)
+ call void @sc_rc_release_dyn(ptr %t128)
+ br i1 %t132, label %if.t59, label %if.j60
+if.t59:
+ %t136 = load ptr, ptr %sc_l_p_0
+ %t137 = call ptr @sc_rc_retain_dyn(ptr %t136)
+ %t139 = icmp ne ptr %t137, null
+ br i1 %t139, label %dc.inspect61, label %dc.checked64
+dc.inspect61:
+ %t144 = getelementptr inbounds i8, ptr %t137, i64 8 ; ->kind
+ %t145 = load i32, ptr %t144
+ %t140 = icmp eq i32 %t145, 12
+ br i1 %t140, label %dc.capsule62, label %dc.checked64
+dc.capsule62:
+ %t141 = getelementptr inbounds i8, ptr %t137, i64 40 ; ->v.typed_ref.type_key
+ %t142 = load ptr, ptr %t141
+ %t143 = icmp eq ptr %t142, @sc_cs_2434838942941195
+ br i1 %t143, label %dc.exact63, label %dc.checked64
+dc.exact63:
+ %t146 = getelementptr inbounds i8, ptr %t137, i64 16 ; ->v.typed_ref.ptr
+ %t147 = load ptr, ptr %t146
+ %t148 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t147)
+ store ptr %t148, ptr %s138
+ br label %dc.done65
+dc.checked64:
+ %t149 = call ptr @sc_dc_52(ptr %t137, ptr null)
+ store ptr %t149, ptr %s138
+ %t150 = load i32, ptr %exc.cell
+ %t151 = icmp ne i32 %t150, 0
+ %t152 = call i1 @llvm.expect.i1(i1 %t151, i1 false)
+ br i1 %t152, label %exc.u66, label %exc.k67
+exc.u66:
+ call void @sc_rc_release_dyn(ptr %t137)
+ br label %exc.cleanup2
+exc.k67:
+ br label %dc.done65
+dc.done65:
+ %t153 = load ptr, ptr %s138
+ %t154 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t153, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t155 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t154)
+ %t156 = load i32, ptr %exc.cell
+ %t157 = icmp ne i32 %t156, 0
+ %t158 = call i1 @llvm.expect.i1(i1 %t157, i1 false)
+ br i1 %t158, label %exc.u68, label %exc.k69
+exc.u68:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ br label %exc.cleanup2
+exc.k69:
+ %t159 = load ptr, ptr %sc_l_p_0
+ %t160 = call ptr @sc_rc_retain_dyn(ptr %t159)
+ %t162 = icmp ne ptr %t160, null
+ br i1 %t162, label %dc.inspect70, label %dc.checked73
+dc.inspect70:
+ %t167 = getelementptr inbounds i8, ptr %t160, i64 8 ; ->kind
+ %t168 = load i32, ptr %t167
+ %t163 = icmp eq i32 %t168, 12
+ br i1 %t163, label %dc.capsule71, label %dc.checked73
+dc.capsule71:
+ %t164 = getelementptr inbounds i8, ptr %t160, i64 40 ; ->v.typed_ref.type_key
+ %t165 = load ptr, ptr %t164
+ %t166 = icmp eq ptr %t165, @sc_cs_2434838942941195
+ br i1 %t166, label %dc.exact72, label %dc.checked73
+dc.exact72:
+ %t169 = getelementptr inbounds i8, ptr %t160, i64 16 ; ->v.typed_ref.ptr
+ %t170 = load ptr, ptr %t169
+ %t171 = call ptr @sc_retain__x25_m2_FetchResponseSink(ptr %t170)
+ store ptr %t171, ptr %s161
+ br label %dc.done74
+dc.checked73:
+ %t172 = call ptr @sc_dc_52(ptr %t160, ptr null)
+ store ptr %t172, ptr %s161
+ %t173 = load i32, ptr %exc.cell
+ %t174 = icmp ne i32 %t173, 0
+ %t175 = call i1 @llvm.expect.i1(i1 %t174, i1 false)
+ br i1 %t175, label %exc.u75, label %exc.k76
+exc.u75:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ br label %exc.cleanup2
+exc.k76:
+ br label %dc.done74
+dc.done74:
+ %t176 = load ptr, ptr %s161
+ %t177 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t176, ptr @sc_retain__x25_m2_FetchResponseSink, ptr @sc_release__x25_m2_FetchResponseSink, ptr @sc_cs_2434838942941195, i64 28, ptr @sc_ldr_5_materialize, ptr @sc_ldr_5_materialize_commit)
+ %t178 = call ptr @scr_dyn_bag_get(ptr %t155, ptr @sc_lit_4198614539576238, ptr %t177)
+ %t179 = load i32, ptr %exc.cell
+ %t180 = icmp ne i32 %t179, 0
+ %t181 = call i1 @llvm.expect.i1(i1 %t180, i1 false)
+ br i1 %t181, label %exc.u77, label %exc.k78
+exc.u77:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ call void @sc_rc_release_dyn(ptr %t178)
+ br label %exc.cleanup2
+exc.k78:
+ call void @sc_rc_release_dyn(ptr %t137)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t153)
+ call void @sc_rc_release_dyn(ptr %t155)
+ call void @sc_rc_release_dyn(ptr %t160)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %t176)
+ call void @sc_rc_release_dyn(ptr %t177)
+ %t182 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t182)
+ ret ptr %t178
+if.j60:
+ %t184 = call ptr @scr_dyn_undefined()
+ %t183 = call ptr @scr_dyn_retain_v(ptr %t184)
+ %t185 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t185)
+ ret ptr %t183
+if.j47:
+ %t186 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s187
+ %t188 = icmp ne ptr %t186, null
+ br i1 %t188, label %brand.inspect79, label %brand.done81
+brand.inspect79:
+ %t189 = getelementptr inbounds i8, ptr %t186, i64 8 ; ->kind
+ %t190 = load i32, ptr %t189
+ %t191 = icmp eq i32 %t190, 12
+ br i1 %t191, label %brand.capsule80, label %brand.done81
+brand.capsule80:
+ %t192 = getelementptr inbounds i8, ptr %t186, i64 40 ; ->v.typed_ref.type_key
+ %t193 = load ptr, ptr %t192
+ %t194 = icmp eq ptr %t193, @sc_cs_3326437563644705
+ store i1 true, ptr %s187
+ br i1 %t194, label %brand.done81, label %brand.compare82
+brand.compare82:
+ %t195 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t186, ptr @sc_lit_3326437563644705)
+ store i1 %t195, ptr %s187
+ br label %brand.done81
+brand.done81:
+ %t196 = load i1, ptr %s187
+ br i1 %t196, label %if.t83, label %if.j84
+if.t83:
+ %t197 = load ptr, ptr %sc_l_p_0
+ %t198 = call ptr @sc_rc_retain_dyn(ptr %t197)
+ %t200 = icmp ne ptr %t198, null
+ br i1 %t200, label %dc.inspect85, label %dc.checked88
+dc.inspect85:
+ %t205 = getelementptr inbounds i8, ptr %t198, i64 8 ; ->kind
+ %t206 = load i32, ptr %t205
+ %t201 = icmp eq i32 %t206, 12
+ br i1 %t201, label %dc.capsule86, label %dc.checked88
+dc.capsule86:
+ %t202 = getelementptr inbounds i8, ptr %t198, i64 40 ; ->v.typed_ref.type_key
+ %t203 = load ptr, ptr %t202
+ %t204 = icmp eq ptr %t203, @sc_cs_3326437563644705
+ br i1 %t204, label %dc.exact87, label %dc.checked88
+dc.exact87:
+ %t207 = getelementptr inbounds i8, ptr %t198, i64 16 ; ->v.typed_ref.ptr
+ %t208 = load ptr, ptr %t207
+ %t209 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t208)
+ store ptr %t209, ptr %s199
+ br label %dc.done89
+dc.checked88:
+ %t210 = call ptr @sc_dc_102(ptr %t198, ptr null)
+ store ptr %t210, ptr %s199
+ %t211 = load i32, ptr %exc.cell
+ %t212 = icmp ne i32 %t211, 0
+ %t213 = call i1 @llvm.expect.i1(i1 %t212, i1 false)
+ br i1 %t213, label %exc.u90, label %exc.k91
+exc.u90:
+ call void @sc_rc_release_dyn(ptr %t198)
+ br label %exc.cleanup2
+exc.k91:
+ br label %dc.done89
+dc.done89:
+ %t214 = load ptr, ptr %s199
+ %t215 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t214, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t216 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t215)
+ %t217 = load i32, ptr %exc.cell
+ %t218 = icmp ne i32 %t217, 0
+ %t219 = call i1 @llvm.expect.i1(i1 %t218, i1 false)
+ br i1 %t219, label %exc.u92, label %exc.k93
+exc.u92:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k93:
+ %t220 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t216, ptr @sc_lit_4198614539576238)
+ %t221 = load i32, ptr %exc.cell
+ %t222 = icmp ne i32 %t221, 0
+ %t223 = call i1 @llvm.expect.i1(i1 %t222, i1 false)
+ br i1 %t223, label %exc.u94, label %exc.k95
+exc.u94:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br label %exc.cleanup2
+exc.k95:
+ call void @sc_rc_release_dyn(ptr %t198)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t214)
+ call void @sc_rc_release_dyn(ptr %t216)
+ br i1 %t220, label %if.t96, label %if.j97
+if.t96:
+ %t224 = load ptr, ptr %sc_l_p_0
+ %t225 = call ptr @sc_rc_retain_dyn(ptr %t224)
+ %t227 = icmp ne ptr %t225, null
+ br i1 %t227, label %dc.inspect98, label %dc.checked101
+dc.inspect98:
+ %t232 = getelementptr inbounds i8, ptr %t225, i64 8 ; ->kind
+ %t233 = load i32, ptr %t232
+ %t228 = icmp eq i32 %t233, 12
+ br i1 %t228, label %dc.capsule99, label %dc.checked101
+dc.capsule99:
+ %t229 = getelementptr inbounds i8, ptr %t225, i64 40 ; ->v.typed_ref.type_key
+ %t230 = load ptr, ptr %t229
+ %t231 = icmp eq ptr %t230, @sc_cs_3326437563644705
+ br i1 %t231, label %dc.exact100, label %dc.checked101
+dc.exact100:
+ %t234 = getelementptr inbounds i8, ptr %t225, i64 16 ; ->v.typed_ref.ptr
+ %t235 = load ptr, ptr %t234
+ %t236 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t235)
+ store ptr %t236, ptr %s226
+ br label %dc.done102
+dc.checked101:
+ %t237 = call ptr @sc_dc_102(ptr %t225, ptr null)
+ store ptr %t237, ptr %s226
+ %t238 = load i32, ptr %exc.cell
+ %t239 = icmp ne i32 %t238, 0
+ %t240 = call i1 @llvm.expect.i1(i1 %t239, i1 false)
+ br i1 %t240, label %exc.u103, label %exc.k104
+exc.u103:
+ call void @sc_rc_release_dyn(ptr %t225)
+ br label %exc.cleanup2
+exc.k104:
+ br label %dc.done102
+dc.done102:
+ %t241 = load ptr, ptr %s226
+ %t242 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t241, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t243 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t242)
+ %t244 = load i32, ptr %exc.cell
+ %t245 = icmp ne i32 %t244, 0
+ %t246 = call i1 @llvm.expect.i1(i1 %t245, i1 false)
+ br i1 %t246, label %exc.u105, label %exc.k106
+exc.u105:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ br label %exc.cleanup2
+exc.k106:
+ %t247 = load ptr, ptr %sc_l_p_0
+ %t248 = call ptr @sc_rc_retain_dyn(ptr %t247)
+ %t250 = icmp ne ptr %t248, null
+ br i1 %t250, label %dc.inspect107, label %dc.checked110
+dc.inspect107:
+ %t255 = getelementptr inbounds i8, ptr %t248, i64 8 ; ->kind
+ %t256 = load i32, ptr %t255
+ %t251 = icmp eq i32 %t256, 12
+ br i1 %t251, label %dc.capsule108, label %dc.checked110
+dc.capsule108:
+ %t252 = getelementptr inbounds i8, ptr %t248, i64 40 ; ->v.typed_ref.type_key
+ %t253 = load ptr, ptr %t252
+ %t254 = icmp eq ptr %t253, @sc_cs_3326437563644705
+ br i1 %t254, label %dc.exact109, label %dc.checked110
+dc.exact109:
+ %t257 = getelementptr inbounds i8, ptr %t248, i64 16 ; ->v.typed_ref.ptr
+ %t258 = load ptr, ptr %t257
+ %t259 = call ptr @sc_retain__x25_m2_NodeResponseSink(ptr %t258)
+ store ptr %t259, ptr %s249
+ br label %dc.done111
+dc.checked110:
+ %t260 = call ptr @sc_dc_102(ptr %t248, ptr null)
+ store ptr %t260, ptr %s249
+ %t261 = load i32, ptr %exc.cell
+ %t262 = icmp ne i32 %t261, 0
+ %t263 = call i1 @llvm.expect.i1(i1 %t262, i1 false)
+ br i1 %t263, label %exc.u112, label %exc.k113
+exc.u112:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ br label %exc.cleanup2
+exc.k113:
+ br label %dc.done111
+dc.done111:
+ %t264 = load ptr, ptr %s249
+ %t265 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t264, ptr @sc_retain__x25_m2_NodeResponseSink, ptr @sc_release__x25_m2_NodeResponseSink, ptr @sc_cs_3326437563644705, i64 27, ptr @sc_ldr_6_materialize, ptr @sc_ldr_6_materialize_commit)
+ %t266 = call ptr @scr_dyn_bag_get(ptr %t243, ptr @sc_lit_4198614539576238, ptr %t265)
+ %t267 = load i32, ptr %exc.cell
+ %t268 = icmp ne i32 %t267, 0
+ %t269 = call i1 @llvm.expect.i1(i1 %t268, i1 false)
+ br i1 %t269, label %exc.u114, label %exc.k115
+exc.u114:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ call void @sc_rc_release_dyn(ptr %t266)
+ br label %exc.cleanup2
+exc.k115:
+ call void @sc_rc_release_dyn(ptr %t225)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t241)
+ call void @sc_rc_release_dyn(ptr %t243)
+ call void @sc_rc_release_dyn(ptr %t248)
+ call void @sc_release__x25_m2_NodeResponseSink(ptr %t264)
+ call void @sc_rc_release_dyn(ptr %t265)
+ %t270 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t270)
+ ret ptr %t266
+if.j97:
+ %t272 = call ptr @scr_dyn_undefined()
+ %t271 = call ptr @scr_dyn_retain_v(ptr %t272)
+ %t273 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t273)
+ ret ptr %t271
+if.j84:
+ %t274 = load ptr, ptr %sc_l_p_0
+ store i1 false, ptr %s275
+ %t276 = icmp ne ptr %t274, null
+ br i1 %t276, label %brand.inspect116, label %brand.done118
+brand.inspect116:
+ %t277 = getelementptr inbounds i8, ptr %t274, i64 8 ; ->kind
+ %t278 = load i32, ptr %t277
+ %t279 = icmp eq i32 %t278, 12
+ br i1 %t279, label %brand.capsule117, label %brand.done118
+brand.capsule117:
+ %t280 = getelementptr inbounds i8, ptr %t274, i64 40 ; ->v.typed_ref.type_key
+ %t281 = load ptr, ptr %t280
+ %t282 = icmp eq ptr %t281, @sc_cs_629517122853751
+ store i1 true, ptr %s275
+ br i1 %t282, label %brand.done118, label %brand.compare119
+brand.compare119:
+ %t283 = call zeroext i1 @scr_dyn_typed_ref_is_key(ptr %t274, ptr @sc_lit_629517122853751)
+ store i1 %t283, ptr %s275
+ br label %brand.done118
+brand.done118:
+ %t284 = load i1, ptr %s275
+ br i1 %t284, label %if.t120, label %if.j121
+if.t120:
+ %t285 = load ptr, ptr %sc_l_p_0
+ %t286 = call ptr @sc_rc_retain_dyn(ptr %t285)
+ %t288 = icmp ne ptr %t286, null
+ br i1 %t288, label %dc.inspect122, label %dc.checked125
+dc.inspect122:
+ %t293 = getelementptr inbounds i8, ptr %t286, i64 8 ; ->kind
+ %t294 = load i32, ptr %t293
+ %t289 = icmp eq i32 %t294, 12
+ br i1 %t289, label %dc.capsule123, label %dc.checked125
+dc.capsule123:
+ %t290 = getelementptr inbounds i8, ptr %t286, i64 40 ; ->v.typed_ref.type_key
+ %t291 = load ptr, ptr %t290
+ %t292 = icmp eq ptr %t291, @sc_cs_629517122853751
+ br i1 %t292, label %dc.exact124, label %dc.checked125
+dc.exact124:
+ %t295 = getelementptr inbounds i8, ptr %t286, i64 16 ; ->v.typed_ref.ptr
+ %t296 = load ptr, ptr %t295
+ %t297 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t296)
+ store ptr %t297, ptr %s287
+ br label %dc.done126
+dc.checked125:
+ %t298 = call ptr @sc_dc_29(ptr %t286, ptr null)
+ store ptr %t298, ptr %s287
+ %t299 = load i32, ptr %exc.cell
+ %t300 = icmp ne i32 %t299, 0
+ %t301 = call i1 @llvm.expect.i1(i1 %t300, i1 false)
+ br i1 %t301, label %exc.u127, label %exc.k128
+exc.u127:
+ call void @sc_rc_release_dyn(ptr %t286)
+ br label %exc.cleanup2
+exc.k128:
+ br label %dc.done126
+dc.done126:
+ %t302 = load ptr, ptr %s287
+ %t303 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t302, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t304 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t303)
+ %t305 = load i32, ptr %exc.cell
+ %t306 = icmp ne i32 %t305, 0
+ %t307 = call i1 @llvm.expect.i1(i1 %t306, i1 false)
+ br i1 %t307, label %exc.u129, label %exc.k130
+exc.u129:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k130:
+ %t308 = call i1 @sc_bf__x25_dyn_class_bagHas(ptr %t304, ptr @sc_lit_4198614539576238)
+ %t309 = load i32, ptr %exc.cell
+ %t310 = icmp ne i32 %t309, 0
+ %t311 = call i1 @llvm.expect.i1(i1 %t310, i1 false)
+ br i1 %t311, label %exc.u131, label %exc.k132
+exc.u131:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br label %exc.cleanup2
+exc.k132:
+ call void @sc_rc_release_dyn(ptr %t286)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t302)
+ call void @sc_rc_release_dyn(ptr %t304)
+ br i1 %t308, label %if.t133, label %if.j134
+if.t133:
+ %t312 = load ptr, ptr %sc_l_p_0
+ %t313 = call ptr @sc_rc_retain_dyn(ptr %t312)
+ %t315 = icmp ne ptr %t313, null
+ br i1 %t315, label %dc.inspect135, label %dc.checked138
+dc.inspect135:
+ %t320 = getelementptr inbounds i8, ptr %t313, i64 8 ; ->kind
+ %t321 = load i32, ptr %t320
+ %t316 = icmp eq i32 %t321, 12
+ br i1 %t316, label %dc.capsule136, label %dc.checked138
+dc.capsule136:
+ %t317 = getelementptr inbounds i8, ptr %t313, i64 40 ; ->v.typed_ref.type_key
+ %t318 = load ptr, ptr %t317
+ %t319 = icmp eq ptr %t318, @sc_cs_629517122853751
+ br i1 %t319, label %dc.exact137, label %dc.checked138
+dc.exact137:
+ %t322 = getelementptr inbounds i8, ptr %t313, i64 16 ; ->v.typed_ref.ptr
+ %t323 = load ptr, ptr %t322
+ %t324 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t323)
+ store ptr %t324, ptr %s314
+ br label %dc.done139
+dc.checked138:
+ %t325 = call ptr @sc_dc_29(ptr %t313, ptr null)
+ store ptr %t325, ptr %s314
+ %t326 = load i32, ptr %exc.cell
+ %t327 = icmp ne i32 %t326, 0
+ %t328 = call i1 @llvm.expect.i1(i1 %t327, i1 false)
+ br i1 %t328, label %exc.u140, label %exc.k141
+exc.u140:
+ call void @sc_rc_release_dyn(ptr %t313)
+ br label %exc.cleanup2
+exc.k141:
+ br label %dc.done139
+dc.done139:
+ %t329 = load ptr, ptr %s314
+ %t330 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t329, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t331 = call ptr @sc_f__x25_dyn_class_readProperties(ptr %t330)
+ %t332 = load i32, ptr %exc.cell
+ %t333 = icmp ne i32 %t332, 0
+ %t334 = call i1 @llvm.expect.i1(i1 %t333, i1 false)
+ br i1 %t334, label %exc.u142, label %exc.k143
+exc.u142:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ br label %exc.cleanup2
+exc.k143:
+ %t335 = load ptr, ptr %sc_l_p_0
+ %t336 = call ptr @sc_rc_retain_dyn(ptr %t335)
+ %t338 = icmp ne ptr %t336, null
+ br i1 %t338, label %dc.inspect144, label %dc.checked147
+dc.inspect144:
+ %t343 = getelementptr inbounds i8, ptr %t336, i64 8 ; ->kind
+ %t344 = load i32, ptr %t343
+ %t339 = icmp eq i32 %t344, 12
+ br i1 %t339, label %dc.capsule145, label %dc.checked147
+dc.capsule145:
+ %t340 = getelementptr inbounds i8, ptr %t336, i64 40 ; ->v.typed_ref.type_key
+ %t341 = load ptr, ptr %t340
+ %t342 = icmp eq ptr %t341, @sc_cs_629517122853751
+ br i1 %t342, label %dc.exact146, label %dc.checked147
+dc.exact146:
+ %t345 = getelementptr inbounds i8, ptr %t336, i64 16 ; ->v.typed_ref.ptr
+ %t346 = load ptr, ptr %t345
+ %t347 = call ptr @sc_retain__x25_m2_ResponseSink(ptr %t346)
+ store ptr %t347, ptr %s337
+ br label %dc.done148
+dc.checked147:
+ %t348 = call ptr @sc_dc_29(ptr %t336, ptr null)
+ store ptr %t348, ptr %s337
+ %t349 = load i32, ptr %exc.cell
+ %t350 = icmp ne i32 %t349, 0
+ %t351 = call i1 @llvm.expect.i1(i1 %t350, i1 false)
+ br i1 %t351, label %exc.u149, label %exc.k150
+exc.u149:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ br label %exc.cleanup2
+exc.k150:
+ br label %dc.done148
+dc.done148:
+ %t352 = load ptr, ptr %s337
+ %t353 = call ptr @scr_dyn_new_typed_ref_traced(ptr %t352, ptr @sc_retain__x25_m2_ResponseSink, ptr @sc_release__x25_m2_ResponseSink, ptr @sc_cs_629517122853751, i64 23, ptr @sc_ldr_0_materialize, ptr @sc_ldr_0_materialize_commit)
+ %t354 = call ptr @scr_dyn_bag_get(ptr %t331, ptr @sc_lit_4198614539576238, ptr %t353)
+ %t355 = load i32, ptr %exc.cell
+ %t356 = icmp ne i32 %t355, 0
+ %t357 = call i1 @llvm.expect.i1(i1 %t356, i1 false)
+ br i1 %t357, label %exc.u151, label %exc.k152
+exc.u151:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ call void @sc_rc_release_dyn(ptr %t354)
+ br label %exc.cleanup2
+exc.k152:
+ call void @sc_rc_release_dyn(ptr %t313)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t329)
+ call void @sc_rc_release_dyn(ptr %t331)
+ call void @sc_rc_release_dyn(ptr %t336)
+ call void @sc_release__x25_m2_ResponseSink(ptr %t352)
+ call void @sc_rc_release_dyn(ptr %t353)
+ %t358 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t358)
+ ret ptr %t354
+if.j134:
+ %t360 = call ptr @scr_dyn_undefined()
+ %t359 = call ptr @scr_dyn_retain_v(ptr %t360)
+ %t361 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t361)
+ ret ptr %t359
+if.j121:
+ %t362 = load ptr, ptr %sc_l_p_0
+ %t363 = call ptr @sc_rc_retain_dyn(ptr %t362)
+ %t364 = call ptr @sc_f__x25_dyn_class_readPropertiesOrEmpty(ptr %t363)
+ %t365 = load i32, ptr %exc.cell
+ %t366 = icmp ne i32 %t365, 0
+ %t367 = call i1 @llvm.expect.i1(i1 %t366, i1 false)
+ br i1 %t367, label %exc.u153, label %exc.k154
+exc.u153:
+ call void @sc_rc_release_dyn(ptr %t364)
+ br label %exc.cleanup2
+exc.k154:
+ %t368 = call ptr @sc_bf__x25_dyn_class_staticProperties(ptr %t364)
+ call void @sc_rc_release_dyn(ptr %t364)
+ store ptr %t368, ptr %sc_l_bag_0
+ %t369 = load ptr, ptr %sc_l_bag_0
+ %t370 = load ptr, ptr %sc_l_p_0
+ %t371 = call zeroext i1 @scr_dyn_strict_eq(ptr %t369, ptr %t370)
+ br i1 %t371, label %tern.t155, label %tern.f156
+tern.t155:
+ %t373 = load ptr, ptr %sc_l_bag_0
+ %t376 = getelementptr inbounds i8, ptr %t373, i64 8 ; ->kind
+ %t377 = load i32, ptr %t376
+ %t375 = icmp eq i32 %t377, 5
+ br i1 %t375, label %dkg.ic158, label %dkg.any159
+dkg.ic158:
+ %t378 = call ptr @scr_dyn_obj_read_ic(ptr %t373, ptr @sc_lit_4198614539576238, ptr @sc_dyn_read_ic_81)
+ br label %dkg.j160
+dkg.any159:
+ %t379 = call ptr @sc_dyn_key_get(ptr %t373, ptr @sc_lit_4198614539576238, i1 false)
+ br label %dkg.j160
+dkg.j160:
+ %t374 = phi ptr [ %t378, %dkg.ic158 ], [ %t379, %dkg.any159 ]
+ %t380 = load i32, ptr %exc.cell
+ %t381 = icmp ne i32 %t380, 0
+ %t382 = call i1 @llvm.expect.i1(i1 %t381, i1 false)
+ br i1 %t382, label %exc.u161, label %exc.k162
+exc.u161:
+ call void @sc_rc_release_dyn(ptr %t374)
+ br label %exc.cleanup163
+exc.k162:
+ store ptr %t374, ptr %s372
+ br label %tern.j157
+tern.f156:
+ %t383 = load ptr, ptr %sc_l_bag_0
+ %t384 = call ptr @sc_rc_retain_dyn(ptr %t383)
+ %t385 = load ptr, ptr %sc_l_p_0
+ %t386 = call ptr @sc_rc_retain_dyn(ptr %t385)
+ %t387 = call ptr @scr_dyn_bag_get(ptr %t384, ptr @sc_lit_4198614539576238, ptr %t386)
+ %t388 = load i32, ptr %exc.cell
+ %t389 = icmp ne i32 %t388, 0
+ %t390 = call i1 @llvm.expect.i1(i1 %t389, i1 false)
+ br i1 %t390, label %exc.u164, label %exc.k165
+exc.u164:
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ call void @sc_rc_release_dyn(ptr %t387)
+ br label %exc.cleanup163
+exc.k165:
+ store ptr %t387, ptr %s372
+ call void @sc_rc_release_dyn(ptr %t384)
+ call void @sc_rc_release_dyn(ptr %t386)
+ br label %tern.j157
+tern.j157:
+ %t391 = load ptr, ptr %s372
+ %t392 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t392)
+ %t393 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t393)
+ ret ptr %t391
+exc.cleanup2:
+ %t394 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t394)
+ ret ptr null
+exc.cleanup163:
+ %t395 = load ptr, ptr %sc_l_p_0
+ call void @sc_rc_release_dyn(ptr %t395)
+ %t396 = load ptr, ptr %sc_l_bag_0
+ call void @sc_rc_release_dyn(ptr %t396)
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxResCore(ptr %p_sc_l_value) #0 { ; %dyn.class.cast:%m5.CtxResCore
+entry:
+ %sc_l_value = alloca ptr ; value
+ %s5 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_value, ptr %sc_l_value
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = load ptr, ptr %sc_l_value
+ %t6 = icmp ne ptr %t4, null
+ br i1 %t6, label %dc.inspect2, label %dc.checked5
+dc.inspect2:
+ %t11 = getelementptr inbounds i8, ptr %t4, i64 8 ; ->kind
+ %t12 = load i32, ptr %t11
+ %t7 = icmp eq i32 %t12, 12
+ br i1 %t7, label %dc.capsule3, label %dc.checked5
+dc.capsule3:
+ %t8 = getelementptr inbounds i8, ptr %t4, i64 40 ; ->v.typed_ref.type_key
+ %t9 = load ptr, ptr %t8
+ %t10 = icmp eq ptr %t9, @sc_cs_1746033898805369
+ br i1 %t10, label %dc.exact4, label %dc.checked5
+dc.exact4:
+ %t13 = getelementptr inbounds i8, ptr %t4, i64 16 ; ->v.typed_ref.ptr
+ %t14 = load ptr, ptr %t13
+ %t15 = call ptr @sc_retain__x25_m5_CtxResCore(ptr %t14)
+ store ptr %t15, ptr %s5
+ br label %dc.done6
+dc.checked5:
+ %t16 = call ptr @sc_dc_30(ptr %t4, ptr null)
+ store ptr %t16, ptr %s5
+ %t17 = load i32, ptr %exc.cell
+ %t18 = icmp ne i32 %t17, 0
+ %t19 = call i1 @llvm.expect.i1(i1 %t18, i1 false)
+ br i1 %t19, label %exc.u7, label %exc.k8
+exc.u7:
+ ret ptr null
+exc.k8:
+ br label %dc.done6
+dc.done6:
+ %t20 = load ptr, ptr %s5
+ ret ptr %t20
+}
+define internal ptr @sc_f__x25_dyn_class_cast_x3a__x25_m5_CtxResCore(ptr %p0) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_dyn_class_cast_x3a__x25_m5_CtxResCore(ptr %p0)
+ call void @sc_rc_release_dyn(ptr %p0)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m6_AssetSource_get(ptr %p_sc_l_path_0) #0 { ; %method.receiverless:%%m6.AssetSource.get
+entry:
+ %sc_l_path_0 = alloca ptr ; path
+ store ptr %p_sc_l_path_0, ptr %sc_l_path_0
+ ret ptr @sc_nullable_null
+}
+define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m6_AssetSource_get(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m6_AssetSource_get(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_rretain_r11(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_str_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p_sc_l__req_0, ptr %p_sc_l__res_0) #0 { ; %method.receiverless:%%m0.GenDispatch.dispatch
+entry:
+ %sc_l__req_0 = alloca ptr ; _req
+ %sc_l__res_0 = alloca ptr ; _res
+ store ptr %p_sc_l__req_0, ptr %sc_l__req_0
+ store ptr %p_sc_l__res_0, ptr %sc_l__res_0
+ ret i1 false
+}
+define internal i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenDispatch_dispatch(ptr %p0, ptr %p1)
+ call void @scr_http_req_release(ptr %p0)
+ call void @scr_http_res_release(ptr %p1)
+ ret i1 %result
+}
+
+define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p_sc_l__method_0, ptr %p_sc_l__url_0, ptr %p_sc_l__headers_0, ptr %p_sc_l__webReq_0, ptr %p_sc_l__body_0, ptr %p_sc_l__bodyU8_0, ptr %p_sc_l__sink_0) #0 { ; %method.receiverless:%%m0.GenFetch.dispatchFetch
+entry:
+ %sc_l__method_0 = alloca ptr ; _method
+ %sc_l__url_0 = alloca ptr ; _url
+ %sc_l__headers_0 = alloca ptr ; _headers
+ %sc_l__webReq_0 = alloca ptr ; _webReq
+ %sc_l__body_0 = alloca ptr ; _body
+ %sc_l__bodyU8_0 = alloca ptr ; _bodyU8
+ %sc_l__sink_0 = alloca ptr ; _sink
+ store ptr %p_sc_l__method_0, ptr %sc_l__method_0
+ store ptr %p_sc_l__url_0, ptr %sc_l__url_0
+ store ptr %p_sc_l__headers_0, ptr %sc_l__headers_0
+ store ptr %p_sc_l__webReq_0, ptr %sc_l__webReq_0
+ store ptr %p_sc_l__body_0, ptr %sc_l__body_0
+ store ptr %p_sc_l__bodyU8_0, ptr %sc_l__bodyU8_0
+ store ptr %p_sc_l__sink_0, ptr %sc_l__sink_0
+ %t0 = call ptr @llvm.stacksave.p0()
+ %t1 = load ptr, ptr @scr_stack_guard
+ %t2 = icmp ult ptr %t0, %t1
+ %t3 = call i1 @llvm.expect.i1(i1 %t2, i1 false)
+ br i1 %t3, label %stack.over0, label %stack.ok1
+stack.over0:
+ call void @scr_stack_overflow()
+ ret ptr null
+stack.ok1:
+ %t4 = call ptr @scr_promise_new()
+ %t5 = call ptr @scr_make_resolve(ptr %t4, i32 1)
+ %t6 = call ptr @scr_closure_new(ptr @sc_f__x25_fn33, i64 0)
+ %t7 = getelementptr inbounds %ScrClosure, ptr %t6, i64 0, i32 4
+ store i32 4, ptr %t7
+ %t8 = getelementptr inbounds %ScrClosure, ptr %t6, i64 0, i32 7
+ store ptr @sc_bf__x25_fn33, ptr %t8
+ call void @scr_promise_run_executor(ptr %t4, ptr %t6, ptr %t5)
+ call void @scr_closure_release(ptr %t6)
+ ret ptr %t4
+}
+define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m0_GenFetch_dispatchFetch(ptr %p0, ptr %p1, ptr %p2, ptr %p3, ptr %p4, ptr %p5, ptr %p6)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @sc_rrelease_r0(ptr %p2)
+ call void @sc_rc_release_dyn(ptr %p3)
+ call void @scr_str_release(ptr %p4)
+ call void @scr_union_release(ptr %p5)
+ call void @sc_release__x25_m2_FetchResponseSink(ptr %p6)
+ ret ptr %result
+}
+
+define internal i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p_sc_l__req_0, ptr %p_sc_l__socket_0, ptr %p_sc_l__head_0) #0 { ; %method.receiverless:%%m1.UpgradeDispatch.upgrade
+entry:
+ %sc_l__req_0 = alloca ptr ; _req
+ %sc_l__socket_0 = alloca ptr ; _socket
+ %sc_l__head_0 = alloca ptr ; _head
+ store ptr %p_sc_l__req_0, ptr %sc_l__req_0
+ store ptr %p_sc_l__socket_0, ptr %sc_l__socket_0
+ store ptr %p_sc_l__head_0, ptr %sc_l__head_0
+ ret i1 false
+}
+define internal i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call i1 @sc_bf__x25_method_receiverless_x3a__x25__x25_m1_UpgradeDispatch_upgrade(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_http_req_release(ptr %p0)
+ call void @scr_net_sock_release(ptr %p1)
+ call void @scr_bytes_release(ptr %p2)
+ ret i1 %result
+}
+
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setStatus(double %p_sc_l__n_0) #0 { ; %method.receiverless:%%m2.ResponseSink.setStatus
+entry:
+ %sc_l__n_0 = alloca double ; _n
+ store double %p_sc_l__n_0, ptr %sc_l__n_0
+ ret void
+}
+
+define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p_sc_l__k_0, ptr %p_sc_l__v_0) #0 { ; %method.receiverless:%%m2.ResponseSink.setHeader
+entry:
+ %sc_l__k_0 = alloca ptr ; _k
+ %sc_l__v_0 = alloca ptr ; _v
+ store ptr %p_sc_l__k_0, ptr %sc_l__k_0
+ store ptr %p_sc_l__v_0, ptr %sc_l__v_0
+ ret void
+}
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_setHeader(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p_sc_l__k_0, ptr %p_sc_l__v_0) #0 { ; %method.receiverless:%%m2.ResponseSink.appendHeader
+entry:
+ %sc_l__k_0 = alloca ptr ; _k
+ %sc_l__v_0 = alloca ptr ; _v
+ store ptr %p_sc_l__k_0, ptr %sc_l__k_0
+ store ptr %p_sc_l__v_0, ptr %sc_l__v_0
+ ret void
+}
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_appendHeader(ptr %p0, ptr %p1)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p_sc_l__s_0) #0 { ; %method.receiverless:%%m2.ResponseSink.writeBody
+entry:
+ %sc_l__s_0 = alloca ptr ; _s
+ store ptr %p_sc_l__s_0, ptr %sc_l__s_0
+ ret void
+}
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeBody(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p_sc_l__b_0, ptr %p_sc_l__ct_0) #0 { ; %method.receiverless:%%m2.ResponseSink.bodyBytes
+entry:
+ %sc_l__b_0 = alloca ptr ; _b
+ %sc_l__ct_0 = alloca ptr ; _ct
+ store ptr %p_sc_l__b_0, ptr %sc_l__b_0
+ store ptr %p_sc_l__ct_0, ptr %sc_l__ct_0
+ ret void
+}
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_bodyBytes(ptr %p0, ptr %p1)
+ call void @scr_bytes_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p_sc_l__url_0, double %p_sc_l__code_0) #0 { ; %method.receiverless:%%m2.ResponseSink.redirect
+entry:
+ %sc_l__url_0 = alloca ptr ; _url
+ %sc_l__code_0 = alloca double ; _code
+ store ptr %p_sc_l__url_0, ptr %sc_l__url_0
+ store double %p_sc_l__code_0, ptr %sc_l__code_0
+ ret void
+}
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p0, double %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_redirect(ptr %p0, double %p1)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_write(ptr %p_sc_l__chunk_0) #0 { ; %method.receiverless:%%m2.ResponseSink.write
+entry:
+ %sc_l__chunk_0 = alloca ptr ; _chunk
+ store ptr %p_sc_l__chunk_0, ptr %sc_l__chunk_0
+ ret void
+}
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_write(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_write(ptr %p0)
+ call void @scr_str_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeHead(double %p_sc_l__status_0, ptr %p_sc_l__flatPairs_0) #0 { ; %method.receiverless:%%m2.ResponseSink.writeHead
+entry:
+ %sc_l__status_0 = alloca double ; _status
+ %sc_l__flatPairs_0 = alloca ptr ; _flatPairs
+ store double %p_sc_l__status_0, ptr %sc_l__status_0
+ store ptr %p_sc_l__flatPairs_0, ptr %sc_l__flatPairs_0
+ ret void
+}
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeHead(double %p0, ptr %p1) #0 {
+entry:
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_writeHead(double %p0, ptr %p1)
+ call void @scr_arr_release(ptr %p1)
+ ret void
+}
+
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_endStream() #0 { ; %method.receiverless:%%m2.ResponseSink.endStream
+entry:
+ ret void
+}
+
+define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p_sc_l__view_0) #0 { ; %method.receiverless:%%m2.ResponseSink.adopt
+entry:
+ %sc_l__view_0 = alloca ptr ; _view
+ store ptr %p_sc_l__view_0, ptr %sc_l__view_0
+ ret void
+}
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_adopt(ptr %p0)
+ call void @sc_rrelease_r1(ptr %p0)
+ ret void
+}
+
+define internal i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_isSent() #0 { ; %method.receiverless:%%m2.ResponseSink.isSent
+entry:
+ ret i1 false
+}
+
+define internal i1 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_isHeadersSent() #0 { ; %method.receiverless:%%m2.ResponseSink.isHeadersSent
+entry:
+ ret i1 false
+}
+
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_destroy() #0 { ; %method.receiverless:%%m2.ResponseSink.destroy
+entry:
+ ret void
+}
+
+define internal i32 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_statusOf.i32() #0 { ; %method.receiverless:%%m2.ResponseSink.statusOf
+entry:
+ ret i32 200
+}
+define internal double @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_statusOf() #0 {
+entry:
+ %r = call i32 @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_statusOf.i32()
+ %d = sitofp i32 %r to double
+ ret double %d
+}
+
+define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p_sc_l__k_0) #0 { ; %method.receiverless:%%m2.ResponseSink.headerOf
+entry:
+ %sc_l__k_0 = alloca ptr ; _k
+ store ptr %p_sc_l__k_0, ptr %sc_l__k_0
+ ret ptr @sc_nullable_null
+}
+define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p0) #0 {
+entry:
+ %s0 = alloca ptr
+ %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headerOf(ptr %p0)
+ store ptr null, ptr %s0
+ %t1 = icmp ne ptr %result, null
+ br i1 %t1, label %result.own0, label %result.done1
+result.own0:
+ %t2 = call ptr @sc_nretain_string(ptr %result)
+ store ptr %t2, ptr %s0
+ br label %result.done1
+result.done1:
+ %t3 = load ptr, ptr %s0
+ call void @scr_str_release(ptr %p0)
+ ret ptr %t3
+}
+
+define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_headersMap() #0 { ; %method.receiverless:%%m2.ResponseSink.headersMap
+entry:
+ %t0 = call ptr @sc_rnew_r0()
+ ret ptr %t0
+}
+
+define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m2_ResponseSink_nodeRes() #0 { ; %method.receiverless:%%m2.ResponseSink.nodeRes
+entry:
+ ret ptr @sc_unit_0
+}
+
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m2_FetchResponseSink_destroy() #0 { ; %method.receiverless:%%m2.FetchResponseSink.destroy
+entry:
+ ret void
+}
+
+define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m11_StaticServer_pick(ptr %p_sc_l_a_0, ptr %p_sc_l_ae_0) #0 { ; %method.receiverless:%%m11.StaticServer.pick
+entry:
+ %sc_l_a_0 = alloca ptr ; a
+ %sc_l_ae_0 = alloca ptr ; ae
+ %sc_l_order_0 = alloca ptr ; order
+ %sc_l_i_0 = alloca i32 ; i
+ %sc_l__x25_arrayLit_0 = alloca ptr ; %arrayLit
+ %sc_l__x25_arrayValue_0 = alloca ptr ; %arrayValue
+ %sc_l_j_0 = alloca i32 ; j
+ %t1 = alloca [2 x i64]
+ %s7 = alloca i64 ; integer induction i
+ %s60 = alloca ptr
+ %exc.cell = load ptr, ptr @scr_exc_active
+ %s115 = alloca ptr
+ %s157 = alloca ptr
+ %s187 = alloca i1
+ %s197 = alloca ptr
+ store ptr null, ptr %sc_l_order_0
+ store ptr null, ptr %sc_l__x25_arrayLit_0
+ store ptr null, ptr %sc_l__x25_arrayValue_0
+ store ptr %p_sc_l_a_0, ptr %sc_l_a_0
+ store ptr %p_sc_l_ae_0, ptr %sc_l_ae_0
+ %t0 = call ptr @scr_arr_new(i32 2, i64 2)
+ %t2 = ptrtoint ptr @sc_lit_2398049524360159 to i64
+ %t3 = getelementptr inbounds i64, ptr %t1, i64 0
+ store i64 %t2, ptr %t3
+ %t4 = ptrtoint ptr @sc_lit_3533245170682650 to i64
+ %t5 = getelementptr inbounds i64, ptr %t1, i64 1
+ store i64 %t4, ptr %t5
+ %t6 = call double @scr_arr_push_many(ptr %t0, i64 2, ptr %t1)
+ store ptr %t0, ptr %sc_l_order_0
+ %t8 = fptosi double 0x0000000000000000 to i64
+ store i64 %t8, ptr %s7
+ br label %loop.c1
+loop.c1:
+ %t9 = load ptr, ptr %sc_l_order_0
+ %t10 = getelementptr inbounds %ScrArr, ptr %t9, i64 0, i32 1
+ %t11 = load i64, ptr %t10, !tbaa !2
+ %t12 = load i64, ptr %s7
+ %t13 = icmp ult i64 %t12, %t11
+ br i1 %t13, label %loop.b2, label %loop.e0
+loop.b2:
+ %t14 = load ptr, ptr %sc_l_ae_0
+ %t15 = call ptr @scr_arr_new(i32 2, i64 1)
+ store ptr %t15, ptr %sc_l__x25_arrayLit_0
+ %t16 = load ptr, ptr %sc_l_order_0
+ %t17 = load i64, ptr %s7
+ %t18 = load i64, ptr %s7
+ %t19 = sitofp i64 %t18 to double
+ %t20 = trunc i64 %t18 to i32
+ %t21 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 2
+ %t22 = load i64, ptr %t21, !tbaa !2
+ %t23 = icmp ult i64 %t17, %t22
+ br i1 %t23, label %local.array.range7, label %local.array.slow4
+local.array.range7:
+ br label %local.array.dense8
+local.array.dense8:
+ %t24 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 6
+ %t25 = load i32, ptr %t24, !tbaa !2
+ %t27 = zext i32 %t25 to i64
+ %t26 = icmp ult i64 %t17, %t27
+ br i1 %t26, label %local.array.value10, label %local.array.len9
+local.array.len9:
+ %t28 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 1
+ %t29 = load i64, ptr %t28, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t30 = icmp ult i64 %t17, %t29
+ br i1 %t30, label %local.array.state11, label %local.array.missing5
+local.array.state11:
+ %t31 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 9
+ %t32 = load ptr, ptr %t31, !tbaa !2
+ %t33 = getelementptr inbounds i8, ptr %t32, i64 %t17
+ %t34 = load i8, ptr %t33, !tbaa !4
+ %t35 = icmp eq i8 %t34, 1
+ br i1 %t35, label %local.array.value10, label %local.array.missing5
+local.array.value10:
+ %t36 = getelementptr inbounds %ScrArr, ptr %t16, i32 0, i32 8
+ %t37 = load ptr, ptr %t36, !tbaa !2
+ %t38 = getelementptr inbounds i64, ptr %t37, i64 %t17
+ %t39 = load ptr, ptr %t38, !tbaa !6
+ %t40 = call ptr @sc_rc_retain_str(ptr %t39)
+ store ptr %t40, ptr %sc_l__x25_arrayValue_0
+ br label %local.array.join6
+local.array.slow4:
+ %t41 = call ptr @scr_arr_peek_ref(ptr %t16, double %t19)
+ %t42 = icmp ne ptr %t41, null
+ br i1 %t42, label %local.array.slow.value12, label %local.array.missing5
+local.array.slow.value12:
+ %t43 = call ptr @sc_rc_retain_str(ptr %t41)
+ store ptr %t43, ptr %sc_l__x25_arrayValue_0
+ br label %local.array.join6
+local.array.missing5:
+ store ptr null, ptr %sc_l__x25_arrayValue_0
+ br label %local.array.join6
+local.array.join6:
+ %t44 = load ptr, ptr %sc_l__x25_arrayValue_0
+ %t46 = icmp eq ptr %t44, null
+ br i1 %t46, label %if.t13, label %if.f15
+if.t13:
+ %t47 = load ptr, ptr %sc_l__x25_arrayLit_0
+ %t48 = load ptr, ptr %sc_l__x25_arrayLit_0
+ %t49 = getelementptr inbounds %ScrArr, ptr %t48, i32 0, i32 1
+ %t50 = load i64, ptr %t49, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t51 = sitofp i64 %t50 to double
+ call void @scr_arr_set_undefined(ptr %t47, double %t51)
+ br label %if.j14
+if.f15:
+ %t52 = load ptr, ptr %sc_l__x25_arrayLit_0
+ %t53 = load ptr, ptr %sc_l__x25_arrayLit_0
+ %t54 = getelementptr inbounds %ScrArr, ptr %t53, i32 0, i32 1
+ %t55 = load i64, ptr %t54, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t56 = sitofp i64 %t55 to double
+ %t57 = load ptr, ptr %sc_l__x25_arrayValue_0
+ %t59 = icmp ne ptr %t57, null
+ br i1 %t59, label %tern.t16, label %tern.f17
+tern.t16:
+ %t61 = load ptr, ptr %sc_l__x25_arrayValue_0
+ %t62 = call ptr @sc_rc_retain_str(ptr %t61)
+ store ptr %t62, ptr %s60
+ br label %tern.j18
+tern.f17:
+ call void @scr_throw_node_coded(double 0x3FF0000000000000, ptr @sc_lit_4005573543169985, ptr @sc_lit_2020303780781407)
+ br label %exc.cleanup19
+exc.dead20:
+ store ptr null, ptr %s60
+ br label %tern.j18
+tern.j18:
+ %t63 = load ptr, ptr %s60
+ %t64 = fptosi double %t56 to i64
+ %t69 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 8
+ %t70 = load ptr, ptr %t69, !tbaa !2
+ %t73 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 6
+ %t74 = load i32, ptr %t73, !tbaa !2
+ %t75 = zext i32 %t74 to i64
+ %t76 = icmp ult i64 %t64, %t75
+ br i1 %t76, label %arr.set.filled23, label %arr.check24
+arr.check24:
+ %t65 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 1
+ %t66 = load i64, ptr %t65, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t67 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 2
+ %t68 = load i64, ptr %t67, !tbaa !2
+ %t71 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 9
+ %t72 = load ptr, ptr %t71, !tbaa !2
+ %t77 = icmp ult i64 %t64, %t68
+ br i1 %t77, label %arr.dense25, label %arr.set.slow21
+arr.dense25:
+ %t78 = getelementptr inbounds i8, ptr %t72, i64 %t64
+ %t79 = getelementptr inbounds i64, ptr %t70, i64 %t64
+ %t80 = load i8, ptr %t78, !tbaa !4
+ %t81 = load ptr, ptr %t79, !tbaa !6
+ store ptr %t63, ptr %t79, !tbaa !6
+ store i8 1, ptr %t78, !tbaa !4
+ %t82 = zext i32 %t74 to i64
+ %t83 = icmp eq i64 %t64, %t82
+ br i1 %t83, label %arr.set.bump26, label %arr.set.state27
+arr.set.bump26:
+ %t84 = trunc i64 %t64 to i32
+ %t85 = add i32 %t84, 1
+ %t86 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 6
+ store i32 %t85, ptr %t86, !tbaa !2
+ br label %arr.set.state27
+arr.set.state27:
+ %t87 = icmp uge i64 %t64, %t66
+ br i1 %t87, label %arr.set.grow28, label %arr.set.stored29
+arr.set.grow28:
+ %t88 = add i64 %t64, 1
+ %t89 = getelementptr inbounds %ScrArr, ptr %t52, i32 0, i32 1
+ store i64 %t88, ptr %t89, !tbaa !2
+ br label %arr.set.stored29
+arr.set.stored29:
+ %t90 = icmp eq i8 %t80, 1
+ br i1 %t90, label %arr.set.release30, label %arr.set.join22
+arr.set.release30:
+ call void @scr_str_release(ptr %t81)
+ br label %arr.set.join22
+arr.set.filled23:
+ %t91 = getelementptr inbounds i64, ptr %t70, i64 %t64
+ %t92 = load ptr, ptr %t91, !tbaa !6
+ store ptr %t63, ptr %t91, !tbaa !6
+ call void @scr_str_release(ptr %t92)
+ br label %arr.set.join22
+arr.set.slow21:
+ call void @scr_arr_set_ref(ptr %t52, double %t56, ptr %t63) cold
+ br label %arr.set.join22
+arr.set.join22:
+ br label %if.j14
+if.j14:
+ %t93 = load ptr, ptr %sc_l__x25_arrayLit_0
+ %t94 = call ptr @scr_arr_retain_v(ptr %t93)
+ %t95 = call i1 @sc_bf__x25_m11_acceptable(ptr %t14, ptr %t94)
+ %t96 = load i32, ptr %exc.cell
+ %t97 = icmp ne i32 %t96, 0
+ %t98 = call i1 @llvm.expect.i1(i1 %t97, i1 false)
+ br i1 %t98, label %exc.u31, label %exc.k32
+exc.u31:
+ call void @scr_arr_release(ptr %t94)
+ %t99 = load ptr, ptr %sc_l__x25_arrayLit_0
+ call void @scr_arr_release(ptr %t99)
+ %t100 = load ptr, ptr %sc_l__x25_arrayValue_0
+ call void @scr_str_release(ptr %t100)
+ br label %exc.cleanup33
+exc.k32:
+ call void @scr_arr_release(ptr %t94)
+ %t101 = load ptr, ptr %sc_l__x25_arrayLit_0
+ call void @scr_arr_release(ptr %t101)
+ %t102 = load ptr, ptr %sc_l__x25_arrayValue_0
+ call void @scr_str_release(ptr %t102)
+ %t103 = xor i1 %t95, true
+ br i1 %t103, label %if.t34, label %if.j35
+if.t34:
+ br label %loop.u3
+if.j35:
+ store i32 0, ptr %sc_l_j_0
+ br label %loop.c37
+loop.c37:
+ %t104 = load i32, ptr %sc_l_j_0
+ %t105 = uitofp i32 %t104 to double
+ %t106 = load ptr, ptr %sc_l_a_0
+ %t107 = getelementptr inbounds %sc_rs_r11, ptr %t106, i64 0, i32 2
+ %t108 = load ptr, ptr %t107
+ %t109 = getelementptr inbounds %ScrArr, ptr %t108, i32 0, i32 1
+ %t110 = load i64, ptr %t109, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t111 = sitofp i64 %t110 to double
+ %t113 = fptosi double %t111 to i64
+ %t114 = zext i32 %t104 to i64
+ %t112 = icmp slt i64 %t114, %t113
+ br i1 %t112, label %loop.b38, label %loop.e36
+loop.b38:
+ %t116 = load ptr, ptr %sc_l_a_0
+ %t117 = getelementptr inbounds %sc_rs_r11, ptr %t116, i64 0, i32 2
+ %t118 = load ptr, ptr %t117
+ %t119 = load i32, ptr %sc_l_j_0
+ %t120 = uitofp i32 %t119 to double
+ %t121 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 2
+ %t122 = load i64, ptr %t121, !tbaa !2
+ %t123 = fptosi double %t120 to i64
+ %t124 = freeze i64 %t123
+ %t125 = sitofp i64 %t124 to double
+ %t126 = fcmp oeq double %t125, %t120
+ %t127 = icmp ult i64 %t124, %t122
+ %t128 = and i1 %t126, %t127
+ br i1 %t128, label %local.array.range43, label %local.array.slow40
+local.array.range43:
+ br label %local.array.dense44
+local.array.dense44:
+ %t129 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 6
+ %t130 = load i32, ptr %t129, !tbaa !2
+ %t132 = zext i32 %t130 to i64
+ %t131 = icmp ult i64 %t124, %t132
+ br i1 %t131, label %local.array.value46, label %local.array.len45
+local.array.len45:
+ %t133 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 1
+ %t134 = load i64, ptr %t133, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t135 = icmp ult i64 %t124, %t134
+ br i1 %t135, label %local.array.state47, label %local.array.missing41
+local.array.state47:
+ %t136 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 9
+ %t137 = load ptr, ptr %t136, !tbaa !2
+ %t138 = getelementptr inbounds i8, ptr %t137, i64 %t124
+ %t139 = load i8, ptr %t138, !tbaa !4
+ %t140 = icmp eq i8 %t139, 1
+ br i1 %t140, label %local.array.value46, label %local.array.missing41
+local.array.value46:
+ %t141 = getelementptr inbounds %ScrArr, ptr %t118, i32 0, i32 8
+ %t142 = load ptr, ptr %t141, !tbaa !2
+ %t143 = getelementptr inbounds i64, ptr %t142, i64 %t124
+ %t144 = load ptr, ptr %t143, !tbaa !6
+ store ptr %t144, ptr %s115
+ br label %local.array.join42
+local.array.slow40:
+ %t145 = call ptr @scr_arr_peek_ref(ptr %t118, double %t120)
+ %t146 = icmp ne ptr %t145, null
+ br i1 %t146, label %local.array.slow.value48, label %local.array.missing41
+local.array.slow.value48:
+ store ptr %t145, ptr %s115
+ br label %local.array.join42
+local.array.missing41:
+ store ptr null, ptr %s115
+ br label %local.array.join42
+local.array.join42:
+ %t147 = load ptr, ptr %s115
+ %t149 = icmp eq ptr %t147, null
+ %t148 = select i1 %t149, i32 1, i32 0
+ %t150 = icmp eq i32 %t148, 0
+ br i1 %t150, label %narrow.present49, label %narrow.other50
+narrow.other50:
+ call ptr @sc_bf__x25_union_narrow_11(ptr %t147)
+ %t151 = load i32, ptr %exc.cell
+ %t152 = icmp ne i32 %t151, 0
+ %t153 = call i1 @llvm.expect.i1(i1 %t152, i1 false)
+ br i1 %t153, label %exc.u51, label %exc.k52
+exc.u51:
+ br label %exc.cleanup33
+exc.k52:
+ unreachable
+narrow.present49:
+ %t154 = getelementptr inbounds %sc_rs_r10, ptr %t147, i64 0, i32 2
+ %t155 = load ptr, ptr %t154
+ %t156 = call ptr @sc_rc_retain_str(ptr %t155)
+ %t158 = load ptr, ptr %sc_l_order_0
+ %t159 = load i64, ptr %s7
+ %t160 = load i64, ptr %s7
+ %t161 = sitofp i64 %t160 to double
+ %t162 = trunc i64 %t160 to i32
+ %t163 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 2
+ %t164 = load i64, ptr %t163, !tbaa !2
+ %t165 = icmp ult i64 %t159, %t164
+ br i1 %t165, label %local.array.range56, label %local.array.slow53
+local.array.range56:
+ br label %local.array.dense57
+local.array.dense57:
+ %t166 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 6
+ %t167 = load i32, ptr %t166, !tbaa !2
+ %t169 = zext i32 %t167 to i64
+ %t168 = icmp ult i64 %t159, %t169
+ br i1 %t168, label %local.array.value59, label %local.array.len58
+local.array.len58:
+ %t170 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 1
+ %t171 = load i64, ptr %t170, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t172 = icmp ult i64 %t159, %t171
+ br i1 %t172, label %local.array.state60, label %local.array.missing54
+local.array.state60:
+ %t173 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 9
+ %t174 = load ptr, ptr %t173, !tbaa !2
+ %t175 = getelementptr inbounds i8, ptr %t174, i64 %t159
+ %t176 = load i8, ptr %t175, !tbaa !4
+ %t177 = icmp eq i8 %t176, 1
+ br i1 %t177, label %local.array.value59, label %local.array.missing54
+local.array.value59:
+ %t178 = getelementptr inbounds %ScrArr, ptr %t158, i32 0, i32 8
+ %t179 = load ptr, ptr %t178, !tbaa !2
+ %t180 = getelementptr inbounds i64, ptr %t179, i64 %t159
+ %t181 = load ptr, ptr %t180, !tbaa !6
+ %t182 = call ptr @sc_rc_retain_str(ptr %t181)
+ store ptr %t182, ptr %s157
+ br label %local.array.join55
+local.array.slow53:
+ %t183 = call ptr @scr_arr_peek_ref(ptr %t158, double %t161)
+ %t184 = icmp ne ptr %t183, null
+ br i1 %t184, label %local.array.slow.value61, label %local.array.missing54
+local.array.slow.value61:
+ %t185 = call ptr @sc_rc_retain_str(ptr %t183)
+ store ptr %t185, ptr %s157
+ br label %local.array.join55
+local.array.missing54:
+ store ptr null, ptr %s157
+ br label %local.array.join55
+local.array.join55:
+ %t186 = load ptr, ptr %s157
+ %t188 = icmp eq ptr %t156, %t186
+ %t190 = icmp ne ptr %t156, null
+ %t191 = icmp ne ptr %t186, null
+ %t189 = and i1 %t190, %t191
+ store i1 %t188, ptr %s187
+ %t192 = xor i1 %t188, true
+ %t193 = and i1 %t192, %t189
+ br i1 %t193, label %ues.b62, label %ues.j63
+ues.b62:
+ %t194 = call zeroext i1 @sc_str_eq(ptr %t156, ptr %t186)
+ store i1 %t194, ptr %s187
+ br label %ues.j63
+ues.j63:
+ %t195 = load i1, ptr %s187
+ call void @scr_str_release(ptr %t156)
+ %t196 = load ptr, ptr %s157
+ call void @scr_str_release(ptr %t196)
+ br i1 %t195, label %if.t64, label %if.j65
+if.t64:
+ %t198 = load ptr, ptr %sc_l_a_0
+ %t199 = getelementptr inbounds %sc_rs_r11, ptr %t198, i64 0, i32 2
+ %t200 = load ptr, ptr %t199
+ %t201 = load i32, ptr %sc_l_j_0
+ %t202 = uitofp i32 %t201 to double
+ %t203 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 2
+ %t204 = load i64, ptr %t203, !tbaa !2
+ %t205 = fptosi double %t202 to i64
+ %t206 = freeze i64 %t205
+ %t207 = sitofp i64 %t206 to double
+ %t208 = fcmp oeq double %t207, %t202
+ %t209 = icmp ult i64 %t206, %t204
+ %t210 = and i1 %t208, %t209
+ br i1 %t210, label %local.array.range69, label %local.array.slow66
+local.array.range69:
+ br label %local.array.dense70
+local.array.dense70:
+ %t211 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 6
+ %t212 = load i32, ptr %t211, !tbaa !2
+ %t214 = zext i32 %t212 to i64
+ %t213 = icmp ult i64 %t206, %t214
+ br i1 %t213, label %local.array.value72, label %local.array.len71
+local.array.len71:
+ %t215 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 1
+ %t216 = load i64, ptr %t215, !tbaa !2, !range !{i64 0, i64 4294967296}
+ %t217 = icmp ult i64 %t206, %t216
+ br i1 %t217, label %local.array.state73, label %local.array.missing67
+local.array.state73:
+ %t218 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 9
+ %t219 = load ptr, ptr %t218, !tbaa !2
+ %t220 = getelementptr inbounds i8, ptr %t219, i64 %t206
+ %t221 = load i8, ptr %t220, !tbaa !4
+ %t222 = icmp eq i8 %t221, 1
+ br i1 %t222, label %local.array.value72, label %local.array.missing67
+local.array.value72:
+ %t223 = getelementptr inbounds %ScrArr, ptr %t200, i32 0, i32 8
+ %t224 = load ptr, ptr %t223, !tbaa !2
+ %t225 = getelementptr inbounds i64, ptr %t224, i64 %t206
+ %t226 = load ptr, ptr %t225, !tbaa !6
+ store ptr %t226, ptr %s197
+ br label %local.array.join68
+local.array.slow66:
+ %t227 = call ptr @scr_arr_peek_ref(ptr %t200, double %t202)
+ %t228 = icmp ne ptr %t227, null
+ br i1 %t228, label %local.array.slow.value74, label %local.array.missing67
+local.array.slow.value74:
+ store ptr %t227, ptr %s197
+ br label %local.array.join68
+local.array.missing67:
+ store ptr null, ptr %s197
+ br label %local.array.join68
+local.array.join68:
+ %t229 = load ptr, ptr %s197
+ %t230 = call ptr @sc_bf__x25_union_retag_13(ptr %t229)
+ %t231 = load i32, ptr %exc.cell
+ %t232 = icmp ne i32 %t231, 0
+ %t233 = call i1 @llvm.expect.i1(i1 %t232, i1 false)
+ br i1 %t233, label %exc.u75, label %exc.k76
+exc.u75:
+ br label %exc.cleanup33
+exc.k76:
+ %t234 = call ptr @sc_rretain_r10(ptr %t230)
+ %t235 = load ptr, ptr %sc_l_order_0
+ call void @scr_arr_release(ptr %t235)
+ ret ptr %t234
+if.j65:
+ br label %loop.u39
+loop.u39:
+ %t236 = load i32, ptr %sc_l_j_0
+ %t237 = uitofp i32 %t236 to double
+ %t239 = zext i32 %t236 to i64
+ %t240 = add nsw i64 %t239, 1
+ %t242 = trunc i64 %t240 to i32
+ %t241 = sitofp i64 %t240 to double
+ %t243 = trunc i64 %t240 to i32
+ store i32 %t243, ptr %sc_l_j_0
+ br label %loop.c37
+loop.e36:
+ br label %loop.u3
+loop.u3:
+ %t244 = load i64, ptr %s7
+ %t245 = add nuw i64 %t244, 1
+ store i64 %t245, ptr %s7
+ br label %loop.c1
+loop.e0:
+ %t246 = load ptr, ptr %sc_l_order_0
+ call void @scr_arr_release(ptr %t246)
+ ret ptr @sc_nullable_null
+exc.cleanup19:
+ %t247 = load ptr, ptr %sc_l__x25_arrayLit_0
+ call void @scr_arr_release(ptr %t247)
+ %t248 = load ptr, ptr %sc_l__x25_arrayValue_0
+ call void @scr_str_release(ptr %t248)
+ %t249 = load ptr, ptr %sc_l_order_0
+ call void @scr_arr_release(ptr %t249)
+ ret ptr null
+exc.cleanup33:
+ %t250 = load ptr, ptr %sc_l_order_0
+ call void @scr_arr_release(ptr %t250)
+ ret ptr null
+}
+define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m11_StaticServer_pick(ptr %p0, ptr %p1)
+ call void @sc_rrelease_r11(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ ret ptr %result
+}
+
+define internal void @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p_sc_l__b_0) #0 { ; %method.receiverless:%%m4.MultipartFileSink.write
+entry:
+ %sc_l__b_0 = alloca ptr ; _b
+ store ptr %p_sc_l__b_0, ptr %sc_l__b_0
+ ret void
+}
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p0) #0 {
+entry:
+ call void @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_write(ptr %p0)
+ call void @scr_bytes_release(ptr %p0)
+ ret void
+}
+
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_end() #0 { ; %method.receiverless:%%m4.MultipartFileSink.end
+entry:
+ ret void
+}
+
+define internal void @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_abort() #0 { ; %method.receiverless:%%m4.MultipartFileSink.abort
+entry:
+ ret void
+}
+
+define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartFileSink_file() #0 { ; %method.receiverless:%%m4.MultipartFileSink.file
+entry:
+ ret ptr null
+}
+
+define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p_sc_l__field_0, ptr %p_sc_l__filename_0, ptr %p_sc_l__mime_0) #0 { ; %method.receiverless:%%m4.MultipartStorage.begin
+entry:
+ %sc_l__field_0 = alloca ptr ; _field
+ %sc_l__filename_0 = alloca ptr ; _filename
+ %sc_l__mime_0 = alloca ptr ; _mime
+ store ptr %p_sc_l__field_0, ptr %sc_l__field_0
+ store ptr %p_sc_l__filename_0, ptr %sc_l__filename_0
+ store ptr %p_sc_l__mime_0, ptr %sc_l__mime_0
+ %t0 = call ptr @sc_new__x25_m4_MultipartFileSink()
+ call void @sc_bf__x25__x25_m4_MultipartFileSink_constructor(ptr %t0)
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MultipartStorage_begin(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret ptr %result
+}
+
+define internal ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p_sc_l_field_0, ptr %p_sc_l_filename_0, ptr %p_sc_l_mime_0) #0 { ; %method.receiverless:%%m4.MemoryStorage.begin
+entry:
+ %sc_l_field_0 = alloca ptr ; field
+ %sc_l_filename_0 = alloca ptr ; filename
+ %sc_l_mime_0 = alloca ptr ; mime
+ %exc.cell = load ptr, ptr @scr_exc_active
+ store ptr %p_sc_l_field_0, ptr %sc_l_field_0
+ store ptr %p_sc_l_filename_0, ptr %sc_l_filename_0
+ store ptr %p_sc_l_mime_0, ptr %sc_l_mime_0
+ %t0 = call ptr @sc_new__x25_m4_MemoryFileSink()
+ %t1 = load ptr, ptr %sc_l_field_0
+ %t2 = load ptr, ptr %sc_l_filename_0
+ %t3 = load ptr, ptr %sc_l_mime_0
+ call void @sc_bf__x25__x25_m4_MemoryFileSink_constructor(ptr %t0, ptr %t1, ptr %t2, ptr %t3)
+ %t4 = load i32, ptr %exc.cell
+ %t5 = icmp ne i32 %t4, 0
+ %t6 = call i1 @llvm.expect.i1(i1 %t5, i1 false)
+ br i1 %t6, label %exc.u0, label %exc.k1
+exc.u0:
+ call void @sc_release__x25_m4_MemoryFileSink(ptr %t0)
+ ret ptr null
+exc.k1:
+ ret ptr %t0
+}
+define internal ptr @sc_f__x25_method_receiverless_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2) #0 {
+entry:
+ %result = call ptr @sc_bf__x25_method_receiverless_x3a__x25__x25_m4_MemoryStorage_begin(ptr %p0, ptr %p1, ptr %p2)
+ call void @scr_str_release(ptr %p0)
+ call void @scr_str_release(ptr %p1)
+ call void @scr_str_release(ptr %p2)
+ ret ptr %result
+}
+
+declare void @scr_error_set_traced()
+
+declare void @scr_exc_print_uncaught()
+declare zeroext i1 @scr_exc_handle_uncaught(i1 zeroext)
+
+define i32 @main(i32 %argc, ptr %argv) #0 {
+entry:
+ call void @scr_runtime_abi_v22()
+ call void @scr_init()
+ call void @scr_stack_guard_init()
+ call void @scr_error_install_name_reader(ptr @sc_f__x25_error_name_read)
+ call void @scr_error_install_message_reader(ptr @sc_f__x25_error_message_read)
+ call void @scr_error_register_dyn(ptr @sc_vtable__x25_m5_MethodNotAllowedError, ptr @sc_error_view_2)
+ store i64 0, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 0, i32 0)
+ store i64 11, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 0, i32 1) ; Error
+ store i64 1, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 1, i32 0)
+ store i64 1, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 1, i32 1) ; TypeError
+ store i64 2, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 2, i32 0)
+ store i64 2, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 2, i32 1) ; RangeError
+ store i64 3, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 3, i32 0)
+ store i64 3, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 3, i32 1) ; SyntaxError
+ store i64 4, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 4, i32 0)
+ store i64 4, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 4, i32 1) ; DOMException
+ store i64 5, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 5, i32 0)
+ store i64 5, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 5, i32 1) ; ReferenceError
+ store i64 6, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 6, i32 0)
+ store i64 6, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 6, i32 1) ; EvalError
+ store i64 7, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 7, i32 0)
+ store i64 7, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 7, i32 1) ; URIError
+ store i64 8, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 8, i32 0)
+ store i64 8, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 8, i32 1) ; AggregateError
+ store i64 9, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 9, i32 0)
+ store i64 9, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 9, i32 1) ; AssertionError
+ store i64 10, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 10, i32 0)
+ store i64 10, ptr getelementptr inbounds ([11 x %ScrVt], ptr @scr_error_vts, i64 0, i64 10, i32 1) ; SuppressedError
+ call void @scr_error_set_traced()
+ call void @scr_fetch_install()
+ call void @scr_net_install()
+ call void @scr_net_dyn_install()
+ call void @scr_http_dyn_install()
+ call void @scr_lib_init(i32 %argc, ptr %argv)
+ call void @sc_f__x25_main()
+ %exc = call zeroext i1 @scr_exc_pending()
+ br i1 %exc, label %uncaught, label %ok
+uncaught:
+ %handled = call zeroext i1 @scr_exc_handle_uncaught(i1 false)
+ br i1 %handled, label %ok, label %fatal
+fatal:
+ call void @scr_exc_print_uncaught()
+ %gu.frees = call zeroext i1 @scr_exit_frees()
+ br i1 %gu.frees, label %gu.release, label %gu.kept
+gu.release:
+ %gu1 = load ptr, ptr @sc_g_m4_EMPTY_U8
+ call void @scr_bytes_release(ptr %gu1) ; EMPTY_U8
+ %gu10 = load ptr, ptr @sc_g_m5_EMPTY_S
+ call void @scr_arr_release(ptr %gu10) ; EMPTY_S
+ %gu11 = load ptr, ptr @sc_g_m5_EMPTY_N
+ call void @scr_arr_release(ptr %gu11) ; EMPTY_N
+ %gu12 = load ptr, ptr @sc_g_m5_Ctx
+ call void @scr_classobj_release_v(ptr %gu12) ; Ctx
+ %gu13 = load ptr, ptr @sc_g_m5_ReqView
+ call void @scr_classobj_release_v(ptr %gu13) ; ReqView
+ %gu14 = load ptr, ptr @sc_g_m5_CtxRes
+ call void @scr_classobj_release_v(ptr %gu14) ; CtxRes
+ %gu15 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM
+ call void @sc_release__x25_m4_MemoryStorage(ptr %gu15) ; MP_SHARED_MEM
+ %gu16 = load ptr, ptr @sc_g_m7_TYPES
+ call void @sc_rrelease_r0(ptr %gu16) ; TYPES
+ %gu17 = load ptr, ptr @sc_g_m10_DAYS
+ call void @scr_str_release(ptr %gu17) ; DAYS
+ %gu18 = load ptr, ptr @sc_g_m10_MONTHS
+ call void @scr_str_release(ptr %gu18) ; MONTHS
+ %gu19 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC
+ call void @scr_str_release(ptr %gu19) ; IMMUTABLE_CC
+ %gu20 = load ptr, ptr @sc_g_m14_RECORDS
+ call void @scr_arr_release(ptr %gu20) ; RECORDS
+ %gu37 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ call void @sc_rc_release_dyn(ptr %gu37) ; App.prototype
+ %gu39 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ call void @sc_rc_release_dyn(ptr %gu39) ; CtxCore.prototype
+ %gu41 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource
+ call void @sc_rc_release_dyn(ptr %gu41) ; AssetSource.prototype
+ %gu43 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ call void @sc_rc_release_dyn(ptr %gu43) ; EmbeddedAssets.prototype
+ %gu45 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets
+ call void @sc_rc_release_dyn(ptr %gu45) ; BakedAssets.prototype
+ %gu47 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch
+ call void @sc_rc_release_dyn(ptr %gu47) ; GenDispatch.prototype
+ %gu49 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch
+ call void @sc_rc_release_dyn(ptr %gu49) ; GenFetch.prototype
+ %gu51 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch
+ call void @sc_rc_release_dyn(ptr %gu51) ; UpgradeDispatch.prototype
+ %gu53 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ call void @sc_rc_release_dyn(ptr %gu53) ; LiteRequest.prototype
+ %gu55 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ call void @sc_rc_release_dyn(ptr %gu55) ; ResponseSink.prototype
+ %gu57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ call void @sc_rc_release_dyn(ptr %gu57) ; FetchResponseSink.prototype
+ %gu59 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ call void @sc_rc_release_dyn(ptr %gu59) ; ReqViewCore.prototype
+ %gu61 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ call void @sc_rc_release_dyn(ptr %gu61) ; StaticServer.prototype
+ %gu63 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ call void @sc_rc_release_dyn(ptr %gu63) ; MultipartParser.prototype
+ %gu65 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ call void @sc_rc_release_dyn(ptr %gu65) ; LiteResponse.prototype
+ %gu67 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ call void @sc_rc_release_dyn(ptr %gu67) ; MultipartFileSink.prototype
+ %gu69 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage
+ call void @sc_rc_release_dyn(ptr %gu69) ; MultipartStorage.prototype
+ %gu71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage
+ call void @sc_rc_release_dyn(ptr %gu71) ; MemoryStorage.prototype
+ %gu73 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ call void @sc_rc_release_dyn(ptr %gu73) ; NodeResponseSink.prototype
+ %gu75 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink
+ call void @sc_rc_release_dyn(ptr %gu75) ; MemoryFileSink.prototype
+ %gu77 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ call void @sc_rc_release_dyn(ptr %gu77) ; LiteHeaders.prototype
+ %gu79 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore
+ call void @sc_rc_release_dyn(ptr %gu79) ; CtxResCore.prototype
+ %gufp0 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp0) ; %m5.defaultNotFound.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3)
+ %gufp1 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp1) ; %method.value:%%m5.App.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3)
+ %gufp2 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp2) ; %method.value:%%m5.App.post.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3)
+ %gufp3 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp3) ; %method.value:%%m5.App.put.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3)
+ %gufp4 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp4) ; %method.value:%%m5.App.delete.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3)
+ %gufp5 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp5) ; %method.value:%%m5.App.patch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3)
+ %gufp6 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp6) ; %method.value:%%m5.App.head.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3)
+ %gufp7 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp7) ; %method.value:%%m5.App.options.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3)
+ %gufp8 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp8) ; %method.value:%%m5.App.all.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3)
+ %gufp9 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp9) ; %method.value:%%m5.App.on.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3)
+ %gufp10 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp10) ; %method.value:%%m5.App.use.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3)
+ %gufp11 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp11) ; %method.value:%%m5.App.notFound.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3)
+ %gufp12 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp12) ; %method.value:%%m5.App.onError.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3)
+ %gufp13 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp13) ; %method.value:%%m5.App.route.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3)
+ %gufp14 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp14) ; %method.value:%%m5.App.withDispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3)
+ %gufp15 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp15) ; %method.value:%%m5.App.withFetchDispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3)
+ %gufp16 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp16) ; %method.value:%%m5.App.withUpgrade.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3)
+ %gufp17 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp17) ; %method.value:%%m5.App.upgradeHandler.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3)
+ %gufp18 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp18) ; %method.value:%%m5.App.handler.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3)
+ %gufp19 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp19) ; %method.value:%%m5.App.fetchBridge.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3)
+ %gufp20 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp20) ; %method.value:%%m5.App.serve.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3)
+ %gufp21 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp21) ; %method.value:%%m5.App.serveFetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3)
+ %gufp22 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp22) ; %method.value:%%m5.App._regFn.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3)
+ %gufp23 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp23) ; %method.value:%%m5.App._add.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3)
+ %gufp24 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp24) ; %method.value:%%m5.App.fetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3)
+ %gufp25 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp25) ; %method.value:%%m5.App.fetchShim.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3)
+ %gufp26 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp26) ; %method.value:%%m5.App._dispatchPrim.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3)
+ %gufp27 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp27) ; %method.value:%%m5.App._dispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3)
+ %gufp28 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp28) ; %method.value:%%m5.CtxCore.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3)
+ %gufp29 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp29) ; %method.value:%%m5.CtxCore.text.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3)
+ %gufp30 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp30) ; %method.value:%%m5.CtxCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3)
+ %gufp31 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp31) ; %method.value:%%m5.CtxCore.status.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3)
+ %gufp32 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp32) ; %method.value:%%m5.CtxCore.set.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3)
+ %gufp33 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp33) ; %method.value:%%m5.CtxCore.json.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3)
+ %gufp34 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp34) ; %method.value:%%m5.CtxCore.html.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3)
+ %gufp35 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp35) ; %method.value:%%m5.CtxCore.bytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3)
+ %gufp36 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp36) ; %method.value:%%m5.CtxCore._send.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3)
+ %gufp37 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp37) ; %method.value:%%m6.AssetSource.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3)
+ %gufp38 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp38) ; %method.value:%%m9.EmbeddedAssets.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3)
+ %gufp39 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp39) ; %method.value:%%m9.EmbeddedAssets.add.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3)
+ %gufp40 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp40) ; %method.value:%%m9.EmbeddedAssets.load.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3)
+ %gufp41 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp41) ; %method.value:%%m0.GenDispatch.dispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3)
+ %gufp42 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp42) ; %method.value:%%m0.GenFetch.dispatchFetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3)
+ %gufp43 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp43) ; %method.value:%%m1.UpgradeDispatch.upgrade.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3)
+ %gufp44 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp44) ; %method.value:%%m3.LiteRequest.text.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3)
+ %gufp45 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp45) ; %method.value:%%m3.LiteRequest.arrayBuffer.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3)
+ %gufp46 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp46) ; %method.value:%%m3.LiteRequest.request.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3)
+ %gufp47 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp47) ; %method.value:%%m2.ResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3)
+ %gufp48 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp48) ; %method.value:%%m2.ResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3)
+ %gufp49 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp49) ; %method.value:%%m2.ResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3)
+ %gufp50 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp50) ; %method.value:%%m2.ResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3)
+ %gufp51 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp51) ; %method.value:%%m2.ResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3)
+ %gufp52 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp52) ; %method.value:%%m2.ResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3)
+ %gufp53 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp53) ; %method.value:%%m2.ResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3)
+ %gufp54 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp54) ; %method.value:%%m2.ResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3)
+ %gufp55 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp55) ; %method.value:%%m2.ResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3)
+ %gufp56 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp56) ; %method.value:%%m2.ResponseSink.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3)
+ %gufp57 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp57) ; %method.value:%%m2.ResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3)
+ %gufp58 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp58) ; %method.value:%%m2.ResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3)
+ %gufp59 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp59) ; %method.value:%%m2.ResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3)
+ %gufp60 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp60) ; %method.value:%%m2.ResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3)
+ %gufp61 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp61) ; %method.value:%%m2.ResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3)
+ %gufp62 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp62) ; %method.value:%%m2.ResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3)
+ %gufp63 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp63) ; %method.value:%%m2.ResponseSink.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3)
+ %gufp64 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp64) ; %method.value:%%m2.FetchResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3)
+ %gufp65 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp65) ; %method.value:%%m2.FetchResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3)
+ %gufp66 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp66) ; %method.value:%%m2.FetchResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3)
+ %gufp67 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp67) ; %method.value:%%m2.FetchResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3)
+ %gufp68 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp68) ; %method.value:%%m2.FetchResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3)
+ %gufp69 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp69) ; %method.value:%%m2.FetchResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3)
+ %gufp70 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp70) ; %method.value:%%m2.FetchResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3)
+ %gufp71 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp71) ; %method.value:%%m2.FetchResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3)
+ %gufp72 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp72) ; %method.value:%%m2.FetchResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3)
+ %gufp73 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp73) ; %method.value:%%m2.FetchResponseSink.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3)
+ %gufp74 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp74) ; %method.value:%%m2.FetchResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3)
+ %gufp75 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp75) ; %method.value:%%m2.FetchResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3)
+ %gufp76 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp76) ; %method.value:%%m2.FetchResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3)
+ %gufp77 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp77) ; %method.value:%%m2.FetchResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3)
+ %gufp78 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp78) ; %method.value:%%m2.FetchResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3)
+ %gufp79 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp79) ; %method.value:%%m2.FetchResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3)
+ %gufp80 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp80) ; %method.value:%%m2.FetchResponseSink.toResponse.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3)
+ %gufp81 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp81) ; %method.value:%%m5.ReqViewCore.body.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3)
+ %gufp82 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp82) ; %method.value:%%m5.ReqViewCore.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3)
+ %gufp83 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp83) ; %method.value:%%m5.ReqViewCore.rawReq.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3)
+ %gufp84 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp84) ; %method.value:%%m5.ReqViewCore._setWeb.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3)
+ %gufp85 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp85) ; %method.value:%%m5.ReqViewCore.param.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3)
+ %gufp86 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp86) ; %method.value:%%m5.ReqViewCore._seedPm.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3)
+ %gufp87 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp87) ; %method.value:%%m5.ReqViewCore._pmNow.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3)
+ %gufp88 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp88) ; %method.value:%%m5.ReqViewCore.query.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3)
+ %gufp89 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp89) ; %method.value:%%m5.ReqViewCore.queryAll.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3)
+ %gufp90 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp90) ; %method.value:%%m5.ReqViewCore.queries.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3)
+ %gufp91 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp91) ; %method.value:%%m5.ReqViewCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3)
+ %gufp92 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp92) ; %method.value:%%m5.ReqViewCore._setBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3)
+ %gufp93 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp93) ; %method.value:%%m5.ReqViewCore.files.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3)
+ %gufp94 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp94) ; %method.value:%%m5.ReqViewCore.field.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3)
+ %gufp95 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp95) ; %method.value:%%m5.ReqViewCore.fields.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3)
+ %gufp96 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp96) ; %method.value:%%m5.ReqViewCore._setMultipart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3)
+ %gufp97 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp97) ; %method.value:%%m5.ReqViewCore._parsed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3)
+ %gufp98 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp98) ; %method.value:%%m11.StaticServer.isApi.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3)
+ %gufp99 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp99) ; %method.value:%%m11.StaticServer.handle.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3)
+ %gufp100 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp100) ; %method.value:%%m11.StaticServer.send.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3)
+ %gufp101 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp101) ; %method.value:%%m11.StaticServer.pick.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3)
+ %gufp102 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp102) ; %method.value:%%m4.MultipartParser.feed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3)
+ %gufp103 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp103) ; %method.value:%%m4.MultipartParser.finish.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3)
+ %gufp104 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp104) ; %method.value:%%m4.MultipartParser._malformed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3)
+ %gufp105 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp105) ; %method.value:%%m4.MultipartParser._limit.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3)
+ %gufp106 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp106) ; %method.value:%%m4.MultipartParser._abortPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3)
+ %gufp107 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp107) ; %method.value:%%m4.MultipartParser._startPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3)
+ %gufp108 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp108) ; %method.value:%%m4.MultipartParser._emit.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3)
+ %gufp109 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp109) ; %method.value:%%m4.MultipartParser._endPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3)
+ %gufp110 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp110) ; %method.value:%%m3.LiteResponse.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3)
+ %gufp111 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp111) ; %method.value:%%m3.LiteResponse.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3)
+ %gufp112 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp112) ; %method.value:%%m3.LiteResponse.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3)
+ %gufp113 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp113) ; %method.value:%%m3.LiteResponse.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3)
+ %gufp114 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp114) ; %method.value:%%m3.LiteResponse.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3)
+ %gufp115 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp115) ; %method.value:%%m3.LiteResponse.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3)
+ %gufp116 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp116) ; %method.value:%%m3.LiteResponse.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3)
+ %gufp117 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp117) ; %method.value:%%m3.LiteResponse.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3)
+ %gufp118 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp118) ; %method.value:%%m3.LiteResponse.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3)
+ %gufp119 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp119) ; %method.value:%%m3.LiteResponse.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3)
+ %gufp120 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp120) ; %method.value:%%m3.LiteResponse.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3)
+ %gufp121 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp121) ; %method.value:%%m3.LiteResponse.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3)
+ %gufp122 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp122) ; %method.value:%%m3.LiteResponse.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3)
+ %gufp123 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp123) ; %method.value:%%m4.MultipartFileSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3)
+ %gufp124 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp124) ; %method.value:%%m4.MultipartFileSink.end.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3)
+ %gufp125 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp125) ; %method.value:%%m4.MultipartFileSink.abort.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3)
+ %gufp126 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp126) ; %method.value:%%m4.MultipartFileSink.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3)
+ %gufp127 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp127) ; %method.value:%%m4.MultipartStorage.begin.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3)
+ %gufp128 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp128) ; %method.value:%%m4.MemoryStorage.begin.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3)
+ %gufp129 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp129) ; %method.value:%%m2.NodeResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3)
+ %gufp130 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp130) ; %method.value:%%m2.NodeResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3)
+ %gufp131 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp131) ; %method.value:%%m2.NodeResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3)
+ %gufp132 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp132) ; %method.value:%%m2.NodeResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3)
+ %gufp133 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp133) ; %method.value:%%m2.NodeResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3)
+ %gufp134 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp134) ; %method.value:%%m2.NodeResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3)
+ %gufp135 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp135) ; %method.value:%%m2.NodeResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3)
+ %gufp136 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp136) ; %method.value:%%m2.NodeResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3)
+ %gufp137 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp137) ; %method.value:%%m2.NodeResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3)
+ %gufp138 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp138) ; %method.value:%%m2.NodeResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3)
+ %gufp139 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp139) ; %method.value:%%m2.NodeResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3)
+ %gufp140 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp140) ; %method.value:%%m2.NodeResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3)
+ %gufp141 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp141) ; %method.value:%%m2.NodeResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3)
+ %gufp142 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp142) ; %method.value:%%m2.NodeResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3)
+ %gufp143 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp143) ; %method.value:%%m2.NodeResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3)
+ %gufp144 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp144) ; %method.value:%%m2.NodeResponseSink.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3)
+ %gufp145 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp145) ; %method.value:%%m4.MemoryFileSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3)
+ %gufp146 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp146) ; %method.value:%%m4.MemoryFileSink.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3)
+ %gufp147 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp147) ; %method.value:%%m3.LiteHeaders.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3)
+ %gufp148 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp148) ; %method.value:%%m3.LiteHeaders.has.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3)
+ %gufp149 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp149) ; %method.value:%%m3.LiteHeaders.getSetCookie.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3)
+ %gufp150 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp150) ; %method.value:%%m3.LiteHeaders.forEach.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3)
+ %gufp151 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp151) ; %method.value:%%Error.toString.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3)
+ %gufp152 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp152) ; %method.value:%%m5.CtxResCore.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3)
+ %gufp153 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %gufp153) ; %method.value:%%m5.CtxResCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3)
+ br label %gu.kept
+gu.kept:
+ %failure_code_0 = call i32 @scr_exit_code_hint_get()
+ ret i32 %failure_code_0
+ok:
+ %loop_rejection = call zeroext i1 @scr_loop_run(ptr null)
+ %lexc = call zeroext i1 @scr_exc_pending()
+ br i1 %lexc, label %luncaught, label %lok
+luncaught:
+ call void @scr_exc_print_uncaught()
+ %gl.frees = call zeroext i1 @scr_exit_frees()
+ br i1 %gl.frees, label %gl.release, label %gl.kept
+gl.release:
+ %gl1 = load ptr, ptr @sc_g_m4_EMPTY_U8
+ call void @scr_bytes_release(ptr %gl1) ; EMPTY_U8
+ %gl10 = load ptr, ptr @sc_g_m5_EMPTY_S
+ call void @scr_arr_release(ptr %gl10) ; EMPTY_S
+ %gl11 = load ptr, ptr @sc_g_m5_EMPTY_N
+ call void @scr_arr_release(ptr %gl11) ; EMPTY_N
+ %gl12 = load ptr, ptr @sc_g_m5_Ctx
+ call void @scr_classobj_release_v(ptr %gl12) ; Ctx
+ %gl13 = load ptr, ptr @sc_g_m5_ReqView
+ call void @scr_classobj_release_v(ptr %gl13) ; ReqView
+ %gl14 = load ptr, ptr @sc_g_m5_CtxRes
+ call void @scr_classobj_release_v(ptr %gl14) ; CtxRes
+ %gl15 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM
+ call void @sc_release__x25_m4_MemoryStorage(ptr %gl15) ; MP_SHARED_MEM
+ %gl16 = load ptr, ptr @sc_g_m7_TYPES
+ call void @sc_rrelease_r0(ptr %gl16) ; TYPES
+ %gl17 = load ptr, ptr @sc_g_m10_DAYS
+ call void @scr_str_release(ptr %gl17) ; DAYS
+ %gl18 = load ptr, ptr @sc_g_m10_MONTHS
+ call void @scr_str_release(ptr %gl18) ; MONTHS
+ %gl19 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC
+ call void @scr_str_release(ptr %gl19) ; IMMUTABLE_CC
+ %gl20 = load ptr, ptr @sc_g_m14_RECORDS
+ call void @scr_arr_release(ptr %gl20) ; RECORDS
+ %gl37 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ call void @sc_rc_release_dyn(ptr %gl37) ; App.prototype
+ %gl39 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ call void @sc_rc_release_dyn(ptr %gl39) ; CtxCore.prototype
+ %gl41 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource
+ call void @sc_rc_release_dyn(ptr %gl41) ; AssetSource.prototype
+ %gl43 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ call void @sc_rc_release_dyn(ptr %gl43) ; EmbeddedAssets.prototype
+ %gl45 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets
+ call void @sc_rc_release_dyn(ptr %gl45) ; BakedAssets.prototype
+ %gl47 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch
+ call void @sc_rc_release_dyn(ptr %gl47) ; GenDispatch.prototype
+ %gl49 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch
+ call void @sc_rc_release_dyn(ptr %gl49) ; GenFetch.prototype
+ %gl51 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch
+ call void @sc_rc_release_dyn(ptr %gl51) ; UpgradeDispatch.prototype
+ %gl53 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ call void @sc_rc_release_dyn(ptr %gl53) ; LiteRequest.prototype
+ %gl55 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ call void @sc_rc_release_dyn(ptr %gl55) ; ResponseSink.prototype
+ %gl57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ call void @sc_rc_release_dyn(ptr %gl57) ; FetchResponseSink.prototype
+ %gl59 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ call void @sc_rc_release_dyn(ptr %gl59) ; ReqViewCore.prototype
+ %gl61 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ call void @sc_rc_release_dyn(ptr %gl61) ; StaticServer.prototype
+ %gl63 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ call void @sc_rc_release_dyn(ptr %gl63) ; MultipartParser.prototype
+ %gl65 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ call void @sc_rc_release_dyn(ptr %gl65) ; LiteResponse.prototype
+ %gl67 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ call void @sc_rc_release_dyn(ptr %gl67) ; MultipartFileSink.prototype
+ %gl69 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage
+ call void @sc_rc_release_dyn(ptr %gl69) ; MultipartStorage.prototype
+ %gl71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage
+ call void @sc_rc_release_dyn(ptr %gl71) ; MemoryStorage.prototype
+ %gl73 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ call void @sc_rc_release_dyn(ptr %gl73) ; NodeResponseSink.prototype
+ %gl75 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink
+ call void @sc_rc_release_dyn(ptr %gl75) ; MemoryFileSink.prototype
+ %gl77 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ call void @sc_rc_release_dyn(ptr %gl77) ; LiteHeaders.prototype
+ %gl79 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore
+ call void @sc_rc_release_dyn(ptr %gl79) ; CtxResCore.prototype
+ %glfp0 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp0) ; %m5.defaultNotFound.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3)
+ %glfp1 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp1) ; %method.value:%%m5.App.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3)
+ %glfp2 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp2) ; %method.value:%%m5.App.post.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3)
+ %glfp3 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp3) ; %method.value:%%m5.App.put.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3)
+ %glfp4 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp4) ; %method.value:%%m5.App.delete.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3)
+ %glfp5 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp5) ; %method.value:%%m5.App.patch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3)
+ %glfp6 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp6) ; %method.value:%%m5.App.head.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3)
+ %glfp7 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp7) ; %method.value:%%m5.App.options.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3)
+ %glfp8 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp8) ; %method.value:%%m5.App.all.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3)
+ %glfp9 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp9) ; %method.value:%%m5.App.on.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3)
+ %glfp10 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp10) ; %method.value:%%m5.App.use.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3)
+ %glfp11 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp11) ; %method.value:%%m5.App.notFound.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3)
+ %glfp12 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp12) ; %method.value:%%m5.App.onError.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3)
+ %glfp13 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp13) ; %method.value:%%m5.App.route.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3)
+ %glfp14 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp14) ; %method.value:%%m5.App.withDispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3)
+ %glfp15 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp15) ; %method.value:%%m5.App.withFetchDispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3)
+ %glfp16 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp16) ; %method.value:%%m5.App.withUpgrade.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3)
+ %glfp17 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp17) ; %method.value:%%m5.App.upgradeHandler.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3)
+ %glfp18 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp18) ; %method.value:%%m5.App.handler.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3)
+ %glfp19 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp19) ; %method.value:%%m5.App.fetchBridge.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3)
+ %glfp20 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp20) ; %method.value:%%m5.App.serve.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3)
+ %glfp21 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp21) ; %method.value:%%m5.App.serveFetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3)
+ %glfp22 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp22) ; %method.value:%%m5.App._regFn.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3)
+ %glfp23 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp23) ; %method.value:%%m5.App._add.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3)
+ %glfp24 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp24) ; %method.value:%%m5.App.fetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3)
+ %glfp25 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp25) ; %method.value:%%m5.App.fetchShim.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3)
+ %glfp26 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp26) ; %method.value:%%m5.App._dispatchPrim.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3)
+ %glfp27 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp27) ; %method.value:%%m5.App._dispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3)
+ %glfp28 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp28) ; %method.value:%%m5.CtxCore.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3)
+ %glfp29 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp29) ; %method.value:%%m5.CtxCore.text.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3)
+ %glfp30 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp30) ; %method.value:%%m5.CtxCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3)
+ %glfp31 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp31) ; %method.value:%%m5.CtxCore.status.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3)
+ %glfp32 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp32) ; %method.value:%%m5.CtxCore.set.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3)
+ %glfp33 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp33) ; %method.value:%%m5.CtxCore.json.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3)
+ %glfp34 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp34) ; %method.value:%%m5.CtxCore.html.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3)
+ %glfp35 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp35) ; %method.value:%%m5.CtxCore.bytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3)
+ %glfp36 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp36) ; %method.value:%%m5.CtxCore._send.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3)
+ %glfp37 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp37) ; %method.value:%%m6.AssetSource.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3)
+ %glfp38 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp38) ; %method.value:%%m9.EmbeddedAssets.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3)
+ %glfp39 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp39) ; %method.value:%%m9.EmbeddedAssets.add.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3)
+ %glfp40 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp40) ; %method.value:%%m9.EmbeddedAssets.load.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3)
+ %glfp41 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp41) ; %method.value:%%m0.GenDispatch.dispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3)
+ %glfp42 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp42) ; %method.value:%%m0.GenFetch.dispatchFetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3)
+ %glfp43 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp43) ; %method.value:%%m1.UpgradeDispatch.upgrade.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3)
+ %glfp44 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp44) ; %method.value:%%m3.LiteRequest.text.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3)
+ %glfp45 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp45) ; %method.value:%%m3.LiteRequest.arrayBuffer.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3)
+ %glfp46 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp46) ; %method.value:%%m3.LiteRequest.request.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3)
+ %glfp47 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp47) ; %method.value:%%m2.ResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3)
+ %glfp48 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp48) ; %method.value:%%m2.ResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3)
+ %glfp49 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp49) ; %method.value:%%m2.ResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3)
+ %glfp50 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp50) ; %method.value:%%m2.ResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3)
+ %glfp51 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp51) ; %method.value:%%m2.ResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3)
+ %glfp52 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp52) ; %method.value:%%m2.ResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3)
+ %glfp53 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp53) ; %method.value:%%m2.ResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3)
+ %glfp54 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp54) ; %method.value:%%m2.ResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3)
+ %glfp55 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp55) ; %method.value:%%m2.ResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3)
+ %glfp56 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp56) ; %method.value:%%m2.ResponseSink.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3)
+ %glfp57 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp57) ; %method.value:%%m2.ResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3)
+ %glfp58 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp58) ; %method.value:%%m2.ResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3)
+ %glfp59 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp59) ; %method.value:%%m2.ResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3)
+ %glfp60 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp60) ; %method.value:%%m2.ResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3)
+ %glfp61 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp61) ; %method.value:%%m2.ResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3)
+ %glfp62 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp62) ; %method.value:%%m2.ResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3)
+ %glfp63 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp63) ; %method.value:%%m2.ResponseSink.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3)
+ %glfp64 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp64) ; %method.value:%%m2.FetchResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3)
+ %glfp65 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp65) ; %method.value:%%m2.FetchResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3)
+ %glfp66 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp66) ; %method.value:%%m2.FetchResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3)
+ %glfp67 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp67) ; %method.value:%%m2.FetchResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3)
+ %glfp68 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp68) ; %method.value:%%m2.FetchResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3)
+ %glfp69 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp69) ; %method.value:%%m2.FetchResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3)
+ %glfp70 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp70) ; %method.value:%%m2.FetchResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3)
+ %glfp71 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp71) ; %method.value:%%m2.FetchResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3)
+ %glfp72 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp72) ; %method.value:%%m2.FetchResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3)
+ %glfp73 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp73) ; %method.value:%%m2.FetchResponseSink.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3)
+ %glfp74 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp74) ; %method.value:%%m2.FetchResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3)
+ %glfp75 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp75) ; %method.value:%%m2.FetchResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3)
+ %glfp76 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp76) ; %method.value:%%m2.FetchResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3)
+ %glfp77 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp77) ; %method.value:%%m2.FetchResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3)
+ %glfp78 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp78) ; %method.value:%%m2.FetchResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3)
+ %glfp79 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp79) ; %method.value:%%m2.FetchResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3)
+ %glfp80 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp80) ; %method.value:%%m2.FetchResponseSink.toResponse.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3)
+ %glfp81 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp81) ; %method.value:%%m5.ReqViewCore.body.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3)
+ %glfp82 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp82) ; %method.value:%%m5.ReqViewCore.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3)
+ %glfp83 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp83) ; %method.value:%%m5.ReqViewCore.rawReq.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3)
+ %glfp84 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp84) ; %method.value:%%m5.ReqViewCore._setWeb.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3)
+ %glfp85 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp85) ; %method.value:%%m5.ReqViewCore.param.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3)
+ %glfp86 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp86) ; %method.value:%%m5.ReqViewCore._seedPm.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3)
+ %glfp87 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp87) ; %method.value:%%m5.ReqViewCore._pmNow.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3)
+ %glfp88 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp88) ; %method.value:%%m5.ReqViewCore.query.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3)
+ %glfp89 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp89) ; %method.value:%%m5.ReqViewCore.queryAll.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3)
+ %glfp90 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp90) ; %method.value:%%m5.ReqViewCore.queries.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3)
+ %glfp91 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp91) ; %method.value:%%m5.ReqViewCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3)
+ %glfp92 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp92) ; %method.value:%%m5.ReqViewCore._setBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3)
+ %glfp93 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp93) ; %method.value:%%m5.ReqViewCore.files.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3)
+ %glfp94 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp94) ; %method.value:%%m5.ReqViewCore.field.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3)
+ %glfp95 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp95) ; %method.value:%%m5.ReqViewCore.fields.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3)
+ %glfp96 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp96) ; %method.value:%%m5.ReqViewCore._setMultipart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3)
+ %glfp97 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp97) ; %method.value:%%m5.ReqViewCore._parsed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3)
+ %glfp98 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp98) ; %method.value:%%m11.StaticServer.isApi.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3)
+ %glfp99 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp99) ; %method.value:%%m11.StaticServer.handle.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3)
+ %glfp100 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp100) ; %method.value:%%m11.StaticServer.send.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3)
+ %glfp101 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp101) ; %method.value:%%m11.StaticServer.pick.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3)
+ %glfp102 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp102) ; %method.value:%%m4.MultipartParser.feed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3)
+ %glfp103 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp103) ; %method.value:%%m4.MultipartParser.finish.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3)
+ %glfp104 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp104) ; %method.value:%%m4.MultipartParser._malformed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3)
+ %glfp105 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp105) ; %method.value:%%m4.MultipartParser._limit.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3)
+ %glfp106 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp106) ; %method.value:%%m4.MultipartParser._abortPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3)
+ %glfp107 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp107) ; %method.value:%%m4.MultipartParser._startPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3)
+ %glfp108 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp108) ; %method.value:%%m4.MultipartParser._emit.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3)
+ %glfp109 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp109) ; %method.value:%%m4.MultipartParser._endPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3)
+ %glfp110 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp110) ; %method.value:%%m3.LiteResponse.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3)
+ %glfp111 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp111) ; %method.value:%%m3.LiteResponse.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3)
+ %glfp112 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp112) ; %method.value:%%m3.LiteResponse.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3)
+ %glfp113 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp113) ; %method.value:%%m3.LiteResponse.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3)
+ %glfp114 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp114) ; %method.value:%%m3.LiteResponse.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3)
+ %glfp115 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp115) ; %method.value:%%m3.LiteResponse.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3)
+ %glfp116 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp116) ; %method.value:%%m3.LiteResponse.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3)
+ %glfp117 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp117) ; %method.value:%%m3.LiteResponse.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3)
+ %glfp118 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp118) ; %method.value:%%m3.LiteResponse.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3)
+ %glfp119 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp119) ; %method.value:%%m3.LiteResponse.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3)
+ %glfp120 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp120) ; %method.value:%%m3.LiteResponse.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3)
+ %glfp121 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp121) ; %method.value:%%m3.LiteResponse.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3)
+ %glfp122 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp122) ; %method.value:%%m3.LiteResponse.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3)
+ %glfp123 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp123) ; %method.value:%%m4.MultipartFileSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3)
+ %glfp124 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp124) ; %method.value:%%m4.MultipartFileSink.end.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3)
+ %glfp125 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp125) ; %method.value:%%m4.MultipartFileSink.abort.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3)
+ %glfp126 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp126) ; %method.value:%%m4.MultipartFileSink.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3)
+ %glfp127 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp127) ; %method.value:%%m4.MultipartStorage.begin.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3)
+ %glfp128 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp128) ; %method.value:%%m4.MemoryStorage.begin.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3)
+ %glfp129 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp129) ; %method.value:%%m2.NodeResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3)
+ %glfp130 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp130) ; %method.value:%%m2.NodeResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3)
+ %glfp131 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp131) ; %method.value:%%m2.NodeResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3)
+ %glfp132 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp132) ; %method.value:%%m2.NodeResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3)
+ %glfp133 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp133) ; %method.value:%%m2.NodeResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3)
+ %glfp134 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp134) ; %method.value:%%m2.NodeResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3)
+ %glfp135 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp135) ; %method.value:%%m2.NodeResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3)
+ %glfp136 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp136) ; %method.value:%%m2.NodeResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3)
+ %glfp137 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp137) ; %method.value:%%m2.NodeResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3)
+ %glfp138 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp138) ; %method.value:%%m2.NodeResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3)
+ %glfp139 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp139) ; %method.value:%%m2.NodeResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3)
+ %glfp140 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp140) ; %method.value:%%m2.NodeResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3)
+ %glfp141 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp141) ; %method.value:%%m2.NodeResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3)
+ %glfp142 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp142) ; %method.value:%%m2.NodeResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3)
+ %glfp143 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp143) ; %method.value:%%m2.NodeResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3)
+ %glfp144 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp144) ; %method.value:%%m2.NodeResponseSink.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3)
+ %glfp145 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp145) ; %method.value:%%m4.MemoryFileSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3)
+ %glfp146 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp146) ; %method.value:%%m4.MemoryFileSink.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3)
+ %glfp147 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp147) ; %method.value:%%m3.LiteHeaders.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3)
+ %glfp148 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp148) ; %method.value:%%m3.LiteHeaders.has.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3)
+ %glfp149 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp149) ; %method.value:%%m3.LiteHeaders.getSetCookie.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3)
+ %glfp150 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp150) ; %method.value:%%m3.LiteHeaders.forEach.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3)
+ %glfp151 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp151) ; %method.value:%%Error.toString.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3)
+ %glfp152 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp152) ; %method.value:%%m5.CtxResCore.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3)
+ %glfp153 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %glfp153) ; %method.value:%%m5.CtxResCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3)
+ br label %gl.kept
+gl.kept:
+ %failure_code_1 = call i32 @scr_exit_code_hint_get()
+ ret i32 %failure_code_1
+lok:
+ br i1 %loop_rejection, label %lreported, label %lclean
+lreported:
+ call void @scr_discard_unhandled_rejections()
+ %gq.frees = call zeroext i1 @scr_exit_frees()
+ br i1 %gq.frees, label %gq.release, label %gq.kept
+gq.release:
+ %gq1 = load ptr, ptr @sc_g_m4_EMPTY_U8
+ call void @scr_bytes_release(ptr %gq1) ; EMPTY_U8
+ %gq10 = load ptr, ptr @sc_g_m5_EMPTY_S
+ call void @scr_arr_release(ptr %gq10) ; EMPTY_S
+ %gq11 = load ptr, ptr @sc_g_m5_EMPTY_N
+ call void @scr_arr_release(ptr %gq11) ; EMPTY_N
+ %gq12 = load ptr, ptr @sc_g_m5_Ctx
+ call void @scr_classobj_release_v(ptr %gq12) ; Ctx
+ %gq13 = load ptr, ptr @sc_g_m5_ReqView
+ call void @scr_classobj_release_v(ptr %gq13) ; ReqView
+ %gq14 = load ptr, ptr @sc_g_m5_CtxRes
+ call void @scr_classobj_release_v(ptr %gq14) ; CtxRes
+ %gq15 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM
+ call void @sc_release__x25_m4_MemoryStorage(ptr %gq15) ; MP_SHARED_MEM
+ %gq16 = load ptr, ptr @sc_g_m7_TYPES
+ call void @sc_rrelease_r0(ptr %gq16) ; TYPES
+ %gq17 = load ptr, ptr @sc_g_m10_DAYS
+ call void @scr_str_release(ptr %gq17) ; DAYS
+ %gq18 = load ptr, ptr @sc_g_m10_MONTHS
+ call void @scr_str_release(ptr %gq18) ; MONTHS
+ %gq19 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC
+ call void @scr_str_release(ptr %gq19) ; IMMUTABLE_CC
+ %gq20 = load ptr, ptr @sc_g_m14_RECORDS
+ call void @scr_arr_release(ptr %gq20) ; RECORDS
+ %gq37 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ call void @sc_rc_release_dyn(ptr %gq37) ; App.prototype
+ %gq39 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ call void @sc_rc_release_dyn(ptr %gq39) ; CtxCore.prototype
+ %gq41 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource
+ call void @sc_rc_release_dyn(ptr %gq41) ; AssetSource.prototype
+ %gq43 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ call void @sc_rc_release_dyn(ptr %gq43) ; EmbeddedAssets.prototype
+ %gq45 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets
+ call void @sc_rc_release_dyn(ptr %gq45) ; BakedAssets.prototype
+ %gq47 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch
+ call void @sc_rc_release_dyn(ptr %gq47) ; GenDispatch.prototype
+ %gq49 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch
+ call void @sc_rc_release_dyn(ptr %gq49) ; GenFetch.prototype
+ %gq51 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch
+ call void @sc_rc_release_dyn(ptr %gq51) ; UpgradeDispatch.prototype
+ %gq53 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ call void @sc_rc_release_dyn(ptr %gq53) ; LiteRequest.prototype
+ %gq55 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ call void @sc_rc_release_dyn(ptr %gq55) ; ResponseSink.prototype
+ %gq57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ call void @sc_rc_release_dyn(ptr %gq57) ; FetchResponseSink.prototype
+ %gq59 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ call void @sc_rc_release_dyn(ptr %gq59) ; ReqViewCore.prototype
+ %gq61 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ call void @sc_rc_release_dyn(ptr %gq61) ; StaticServer.prototype
+ %gq63 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ call void @sc_rc_release_dyn(ptr %gq63) ; MultipartParser.prototype
+ %gq65 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ call void @sc_rc_release_dyn(ptr %gq65) ; LiteResponse.prototype
+ %gq67 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ call void @sc_rc_release_dyn(ptr %gq67) ; MultipartFileSink.prototype
+ %gq69 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage
+ call void @sc_rc_release_dyn(ptr %gq69) ; MultipartStorage.prototype
+ %gq71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage
+ call void @sc_rc_release_dyn(ptr %gq71) ; MemoryStorage.prototype
+ %gq73 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ call void @sc_rc_release_dyn(ptr %gq73) ; NodeResponseSink.prototype
+ %gq75 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink
+ call void @sc_rc_release_dyn(ptr %gq75) ; MemoryFileSink.prototype
+ %gq77 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ call void @sc_rc_release_dyn(ptr %gq77) ; LiteHeaders.prototype
+ %gq79 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore
+ call void @sc_rc_release_dyn(ptr %gq79) ; CtxResCore.prototype
+ %gqfp0 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp0) ; %m5.defaultNotFound.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3)
+ %gqfp1 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp1) ; %method.value:%%m5.App.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3)
+ %gqfp2 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp2) ; %method.value:%%m5.App.post.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3)
+ %gqfp3 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp3) ; %method.value:%%m5.App.put.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3)
+ %gqfp4 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp4) ; %method.value:%%m5.App.delete.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3)
+ %gqfp5 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp5) ; %method.value:%%m5.App.patch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3)
+ %gqfp6 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp6) ; %method.value:%%m5.App.head.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3)
+ %gqfp7 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp7) ; %method.value:%%m5.App.options.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3)
+ %gqfp8 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp8) ; %method.value:%%m5.App.all.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3)
+ %gqfp9 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp9) ; %method.value:%%m5.App.on.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3)
+ %gqfp10 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp10) ; %method.value:%%m5.App.use.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3)
+ %gqfp11 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp11) ; %method.value:%%m5.App.notFound.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3)
+ %gqfp12 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp12) ; %method.value:%%m5.App.onError.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3)
+ %gqfp13 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp13) ; %method.value:%%m5.App.route.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3)
+ %gqfp14 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp14) ; %method.value:%%m5.App.withDispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3)
+ %gqfp15 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp15) ; %method.value:%%m5.App.withFetchDispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3)
+ %gqfp16 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp16) ; %method.value:%%m5.App.withUpgrade.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3)
+ %gqfp17 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp17) ; %method.value:%%m5.App.upgradeHandler.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3)
+ %gqfp18 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp18) ; %method.value:%%m5.App.handler.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3)
+ %gqfp19 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp19) ; %method.value:%%m5.App.fetchBridge.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3)
+ %gqfp20 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp20) ; %method.value:%%m5.App.serve.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3)
+ %gqfp21 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp21) ; %method.value:%%m5.App.serveFetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3)
+ %gqfp22 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp22) ; %method.value:%%m5.App._regFn.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3)
+ %gqfp23 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp23) ; %method.value:%%m5.App._add.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3)
+ %gqfp24 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp24) ; %method.value:%%m5.App.fetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3)
+ %gqfp25 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp25) ; %method.value:%%m5.App.fetchShim.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3)
+ %gqfp26 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp26) ; %method.value:%%m5.App._dispatchPrim.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3)
+ %gqfp27 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp27) ; %method.value:%%m5.App._dispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3)
+ %gqfp28 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp28) ; %method.value:%%m5.CtxCore.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3)
+ %gqfp29 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp29) ; %method.value:%%m5.CtxCore.text.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3)
+ %gqfp30 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp30) ; %method.value:%%m5.CtxCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3)
+ %gqfp31 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp31) ; %method.value:%%m5.CtxCore.status.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3)
+ %gqfp32 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp32) ; %method.value:%%m5.CtxCore.set.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3)
+ %gqfp33 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp33) ; %method.value:%%m5.CtxCore.json.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3)
+ %gqfp34 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp34) ; %method.value:%%m5.CtxCore.html.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3)
+ %gqfp35 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp35) ; %method.value:%%m5.CtxCore.bytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3)
+ %gqfp36 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp36) ; %method.value:%%m5.CtxCore._send.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3)
+ %gqfp37 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp37) ; %method.value:%%m6.AssetSource.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3)
+ %gqfp38 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp38) ; %method.value:%%m9.EmbeddedAssets.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3)
+ %gqfp39 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp39) ; %method.value:%%m9.EmbeddedAssets.add.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3)
+ %gqfp40 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp40) ; %method.value:%%m9.EmbeddedAssets.load.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3)
+ %gqfp41 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp41) ; %method.value:%%m0.GenDispatch.dispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3)
+ %gqfp42 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp42) ; %method.value:%%m0.GenFetch.dispatchFetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3)
+ %gqfp43 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp43) ; %method.value:%%m1.UpgradeDispatch.upgrade.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3)
+ %gqfp44 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp44) ; %method.value:%%m3.LiteRequest.text.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3)
+ %gqfp45 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp45) ; %method.value:%%m3.LiteRequest.arrayBuffer.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3)
+ %gqfp46 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp46) ; %method.value:%%m3.LiteRequest.request.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3)
+ %gqfp47 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp47) ; %method.value:%%m2.ResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3)
+ %gqfp48 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp48) ; %method.value:%%m2.ResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3)
+ %gqfp49 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp49) ; %method.value:%%m2.ResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3)
+ %gqfp50 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp50) ; %method.value:%%m2.ResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3)
+ %gqfp51 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp51) ; %method.value:%%m2.ResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3)
+ %gqfp52 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp52) ; %method.value:%%m2.ResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3)
+ %gqfp53 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp53) ; %method.value:%%m2.ResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3)
+ %gqfp54 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp54) ; %method.value:%%m2.ResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3)
+ %gqfp55 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp55) ; %method.value:%%m2.ResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3)
+ %gqfp56 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp56) ; %method.value:%%m2.ResponseSink.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3)
+ %gqfp57 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp57) ; %method.value:%%m2.ResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3)
+ %gqfp58 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp58) ; %method.value:%%m2.ResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3)
+ %gqfp59 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp59) ; %method.value:%%m2.ResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3)
+ %gqfp60 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp60) ; %method.value:%%m2.ResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3)
+ %gqfp61 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp61) ; %method.value:%%m2.ResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3)
+ %gqfp62 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp62) ; %method.value:%%m2.ResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3)
+ %gqfp63 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp63) ; %method.value:%%m2.ResponseSink.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3)
+ %gqfp64 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp64) ; %method.value:%%m2.FetchResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3)
+ %gqfp65 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp65) ; %method.value:%%m2.FetchResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3)
+ %gqfp66 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp66) ; %method.value:%%m2.FetchResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3)
+ %gqfp67 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp67) ; %method.value:%%m2.FetchResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3)
+ %gqfp68 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp68) ; %method.value:%%m2.FetchResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3)
+ %gqfp69 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp69) ; %method.value:%%m2.FetchResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3)
+ %gqfp70 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp70) ; %method.value:%%m2.FetchResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3)
+ %gqfp71 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp71) ; %method.value:%%m2.FetchResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3)
+ %gqfp72 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp72) ; %method.value:%%m2.FetchResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3)
+ %gqfp73 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp73) ; %method.value:%%m2.FetchResponseSink.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3)
+ %gqfp74 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp74) ; %method.value:%%m2.FetchResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3)
+ %gqfp75 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp75) ; %method.value:%%m2.FetchResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3)
+ %gqfp76 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp76) ; %method.value:%%m2.FetchResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3)
+ %gqfp77 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp77) ; %method.value:%%m2.FetchResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3)
+ %gqfp78 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp78) ; %method.value:%%m2.FetchResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3)
+ %gqfp79 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp79) ; %method.value:%%m2.FetchResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3)
+ %gqfp80 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp80) ; %method.value:%%m2.FetchResponseSink.toResponse.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3)
+ %gqfp81 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp81) ; %method.value:%%m5.ReqViewCore.body.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3)
+ %gqfp82 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp82) ; %method.value:%%m5.ReqViewCore.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3)
+ %gqfp83 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp83) ; %method.value:%%m5.ReqViewCore.rawReq.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3)
+ %gqfp84 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp84) ; %method.value:%%m5.ReqViewCore._setWeb.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3)
+ %gqfp85 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp85) ; %method.value:%%m5.ReqViewCore.param.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3)
+ %gqfp86 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp86) ; %method.value:%%m5.ReqViewCore._seedPm.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3)
+ %gqfp87 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp87) ; %method.value:%%m5.ReqViewCore._pmNow.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3)
+ %gqfp88 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp88) ; %method.value:%%m5.ReqViewCore.query.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3)
+ %gqfp89 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp89) ; %method.value:%%m5.ReqViewCore.queryAll.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3)
+ %gqfp90 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp90) ; %method.value:%%m5.ReqViewCore.queries.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3)
+ %gqfp91 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp91) ; %method.value:%%m5.ReqViewCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3)
+ %gqfp92 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp92) ; %method.value:%%m5.ReqViewCore._setBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3)
+ %gqfp93 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp93) ; %method.value:%%m5.ReqViewCore.files.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3)
+ %gqfp94 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp94) ; %method.value:%%m5.ReqViewCore.field.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3)
+ %gqfp95 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp95) ; %method.value:%%m5.ReqViewCore.fields.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3)
+ %gqfp96 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp96) ; %method.value:%%m5.ReqViewCore._setMultipart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3)
+ %gqfp97 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp97) ; %method.value:%%m5.ReqViewCore._parsed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3)
+ %gqfp98 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp98) ; %method.value:%%m11.StaticServer.isApi.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3)
+ %gqfp99 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp99) ; %method.value:%%m11.StaticServer.handle.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3)
+ %gqfp100 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp100) ; %method.value:%%m11.StaticServer.send.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3)
+ %gqfp101 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp101) ; %method.value:%%m11.StaticServer.pick.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3)
+ %gqfp102 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp102) ; %method.value:%%m4.MultipartParser.feed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3)
+ %gqfp103 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp103) ; %method.value:%%m4.MultipartParser.finish.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3)
+ %gqfp104 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp104) ; %method.value:%%m4.MultipartParser._malformed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3)
+ %gqfp105 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp105) ; %method.value:%%m4.MultipartParser._limit.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3)
+ %gqfp106 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp106) ; %method.value:%%m4.MultipartParser._abortPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3)
+ %gqfp107 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp107) ; %method.value:%%m4.MultipartParser._startPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3)
+ %gqfp108 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp108) ; %method.value:%%m4.MultipartParser._emit.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3)
+ %gqfp109 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp109) ; %method.value:%%m4.MultipartParser._endPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3)
+ %gqfp110 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp110) ; %method.value:%%m3.LiteResponse.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3)
+ %gqfp111 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp111) ; %method.value:%%m3.LiteResponse.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3)
+ %gqfp112 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp112) ; %method.value:%%m3.LiteResponse.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3)
+ %gqfp113 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp113) ; %method.value:%%m3.LiteResponse.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3)
+ %gqfp114 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp114) ; %method.value:%%m3.LiteResponse.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3)
+ %gqfp115 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp115) ; %method.value:%%m3.LiteResponse.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3)
+ %gqfp116 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp116) ; %method.value:%%m3.LiteResponse.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3)
+ %gqfp117 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp117) ; %method.value:%%m3.LiteResponse.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3)
+ %gqfp118 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp118) ; %method.value:%%m3.LiteResponse.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3)
+ %gqfp119 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp119) ; %method.value:%%m3.LiteResponse.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3)
+ %gqfp120 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp120) ; %method.value:%%m3.LiteResponse.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3)
+ %gqfp121 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp121) ; %method.value:%%m3.LiteResponse.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3)
+ %gqfp122 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp122) ; %method.value:%%m3.LiteResponse.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3)
+ %gqfp123 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp123) ; %method.value:%%m4.MultipartFileSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3)
+ %gqfp124 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp124) ; %method.value:%%m4.MultipartFileSink.end.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3)
+ %gqfp125 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp125) ; %method.value:%%m4.MultipartFileSink.abort.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3)
+ %gqfp126 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp126) ; %method.value:%%m4.MultipartFileSink.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3)
+ %gqfp127 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp127) ; %method.value:%%m4.MultipartStorage.begin.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3)
+ %gqfp128 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp128) ; %method.value:%%m4.MemoryStorage.begin.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3)
+ %gqfp129 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp129) ; %method.value:%%m2.NodeResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3)
+ %gqfp130 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp130) ; %method.value:%%m2.NodeResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3)
+ %gqfp131 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp131) ; %method.value:%%m2.NodeResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3)
+ %gqfp132 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp132) ; %method.value:%%m2.NodeResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3)
+ %gqfp133 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp133) ; %method.value:%%m2.NodeResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3)
+ %gqfp134 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp134) ; %method.value:%%m2.NodeResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3)
+ %gqfp135 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp135) ; %method.value:%%m2.NodeResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3)
+ %gqfp136 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp136) ; %method.value:%%m2.NodeResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3)
+ %gqfp137 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp137) ; %method.value:%%m2.NodeResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3)
+ %gqfp138 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp138) ; %method.value:%%m2.NodeResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3)
+ %gqfp139 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp139) ; %method.value:%%m2.NodeResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3)
+ %gqfp140 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp140) ; %method.value:%%m2.NodeResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3)
+ %gqfp141 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp141) ; %method.value:%%m2.NodeResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3)
+ %gqfp142 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp142) ; %method.value:%%m2.NodeResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3)
+ %gqfp143 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp143) ; %method.value:%%m2.NodeResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3)
+ %gqfp144 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp144) ; %method.value:%%m2.NodeResponseSink.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3)
+ %gqfp145 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp145) ; %method.value:%%m4.MemoryFileSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3)
+ %gqfp146 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp146) ; %method.value:%%m4.MemoryFileSink.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3)
+ %gqfp147 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp147) ; %method.value:%%m3.LiteHeaders.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3)
+ %gqfp148 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp148) ; %method.value:%%m3.LiteHeaders.has.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3)
+ %gqfp149 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp149) ; %method.value:%%m3.LiteHeaders.getSetCookie.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3)
+ %gqfp150 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp150) ; %method.value:%%m3.LiteHeaders.forEach.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3)
+ %gqfp151 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp151) ; %method.value:%%Error.toString.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3)
+ %gqfp152 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp152) ; %method.value:%%m5.CtxResCore.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3)
+ %gqfp153 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %gqfp153) ; %method.value:%%m5.CtxResCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3)
+ br label %gq.kept
+gq.kept:
+ %failure_code_2 = call i32 @scr_exit_code_hint_get()
+ ret i32 %failure_code_2
+lclean:
+ %rej = call zeroext i1 @scr_report_unhandled_rejections()
+ br i1 %rej, label %lrej, label %lrok
+lrej:
+ %gr.frees = call zeroext i1 @scr_exit_frees()
+ br i1 %gr.frees, label %gr.release, label %gr.kept
+gr.release:
+ %gr1 = load ptr, ptr @sc_g_m4_EMPTY_U8
+ call void @scr_bytes_release(ptr %gr1) ; EMPTY_U8
+ %gr10 = load ptr, ptr @sc_g_m5_EMPTY_S
+ call void @scr_arr_release(ptr %gr10) ; EMPTY_S
+ %gr11 = load ptr, ptr @sc_g_m5_EMPTY_N
+ call void @scr_arr_release(ptr %gr11) ; EMPTY_N
+ %gr12 = load ptr, ptr @sc_g_m5_Ctx
+ call void @scr_classobj_release_v(ptr %gr12) ; Ctx
+ %gr13 = load ptr, ptr @sc_g_m5_ReqView
+ call void @scr_classobj_release_v(ptr %gr13) ; ReqView
+ %gr14 = load ptr, ptr @sc_g_m5_CtxRes
+ call void @scr_classobj_release_v(ptr %gr14) ; CtxRes
+ %gr15 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM
+ call void @sc_release__x25_m4_MemoryStorage(ptr %gr15) ; MP_SHARED_MEM
+ %gr16 = load ptr, ptr @sc_g_m7_TYPES
+ call void @sc_rrelease_r0(ptr %gr16) ; TYPES
+ %gr17 = load ptr, ptr @sc_g_m10_DAYS
+ call void @scr_str_release(ptr %gr17) ; DAYS
+ %gr18 = load ptr, ptr @sc_g_m10_MONTHS
+ call void @scr_str_release(ptr %gr18) ; MONTHS
+ %gr19 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC
+ call void @scr_str_release(ptr %gr19) ; IMMUTABLE_CC
+ %gr20 = load ptr, ptr @sc_g_m14_RECORDS
+ call void @scr_arr_release(ptr %gr20) ; RECORDS
+ %gr37 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ call void @sc_rc_release_dyn(ptr %gr37) ; App.prototype
+ %gr39 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ call void @sc_rc_release_dyn(ptr %gr39) ; CtxCore.prototype
+ %gr41 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource
+ call void @sc_rc_release_dyn(ptr %gr41) ; AssetSource.prototype
+ %gr43 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ call void @sc_rc_release_dyn(ptr %gr43) ; EmbeddedAssets.prototype
+ %gr45 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets
+ call void @sc_rc_release_dyn(ptr %gr45) ; BakedAssets.prototype
+ %gr47 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch
+ call void @sc_rc_release_dyn(ptr %gr47) ; GenDispatch.prototype
+ %gr49 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch
+ call void @sc_rc_release_dyn(ptr %gr49) ; GenFetch.prototype
+ %gr51 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch
+ call void @sc_rc_release_dyn(ptr %gr51) ; UpgradeDispatch.prototype
+ %gr53 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ call void @sc_rc_release_dyn(ptr %gr53) ; LiteRequest.prototype
+ %gr55 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ call void @sc_rc_release_dyn(ptr %gr55) ; ResponseSink.prototype
+ %gr57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ call void @sc_rc_release_dyn(ptr %gr57) ; FetchResponseSink.prototype
+ %gr59 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ call void @sc_rc_release_dyn(ptr %gr59) ; ReqViewCore.prototype
+ %gr61 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ call void @sc_rc_release_dyn(ptr %gr61) ; StaticServer.prototype
+ %gr63 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ call void @sc_rc_release_dyn(ptr %gr63) ; MultipartParser.prototype
+ %gr65 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ call void @sc_rc_release_dyn(ptr %gr65) ; LiteResponse.prototype
+ %gr67 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ call void @sc_rc_release_dyn(ptr %gr67) ; MultipartFileSink.prototype
+ %gr69 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage
+ call void @sc_rc_release_dyn(ptr %gr69) ; MultipartStorage.prototype
+ %gr71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage
+ call void @sc_rc_release_dyn(ptr %gr71) ; MemoryStorage.prototype
+ %gr73 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ call void @sc_rc_release_dyn(ptr %gr73) ; NodeResponseSink.prototype
+ %gr75 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink
+ call void @sc_rc_release_dyn(ptr %gr75) ; MemoryFileSink.prototype
+ %gr77 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ call void @sc_rc_release_dyn(ptr %gr77) ; LiteHeaders.prototype
+ %gr79 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore
+ call void @sc_rc_release_dyn(ptr %gr79) ; CtxResCore.prototype
+ %grfp0 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp0) ; %m5.defaultNotFound.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3)
+ %grfp1 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp1) ; %method.value:%%m5.App.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3)
+ %grfp2 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp2) ; %method.value:%%m5.App.post.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3)
+ %grfp3 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp3) ; %method.value:%%m5.App.put.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3)
+ %grfp4 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp4) ; %method.value:%%m5.App.delete.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3)
+ %grfp5 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp5) ; %method.value:%%m5.App.patch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3)
+ %grfp6 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp6) ; %method.value:%%m5.App.head.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3)
+ %grfp7 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp7) ; %method.value:%%m5.App.options.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3)
+ %grfp8 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp8) ; %method.value:%%m5.App.all.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3)
+ %grfp9 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp9) ; %method.value:%%m5.App.on.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3)
+ %grfp10 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp10) ; %method.value:%%m5.App.use.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3)
+ %grfp11 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp11) ; %method.value:%%m5.App.notFound.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3)
+ %grfp12 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp12) ; %method.value:%%m5.App.onError.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3)
+ %grfp13 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp13) ; %method.value:%%m5.App.route.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3)
+ %grfp14 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp14) ; %method.value:%%m5.App.withDispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3)
+ %grfp15 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp15) ; %method.value:%%m5.App.withFetchDispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3)
+ %grfp16 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp16) ; %method.value:%%m5.App.withUpgrade.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3)
+ %grfp17 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp17) ; %method.value:%%m5.App.upgradeHandler.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3)
+ %grfp18 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp18) ; %method.value:%%m5.App.handler.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3)
+ %grfp19 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp19) ; %method.value:%%m5.App.fetchBridge.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3)
+ %grfp20 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp20) ; %method.value:%%m5.App.serve.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3)
+ %grfp21 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp21) ; %method.value:%%m5.App.serveFetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3)
+ %grfp22 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp22) ; %method.value:%%m5.App._regFn.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3)
+ %grfp23 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp23) ; %method.value:%%m5.App._add.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3)
+ %grfp24 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp24) ; %method.value:%%m5.App.fetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3)
+ %grfp25 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp25) ; %method.value:%%m5.App.fetchShim.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3)
+ %grfp26 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp26) ; %method.value:%%m5.App._dispatchPrim.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3)
+ %grfp27 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp27) ; %method.value:%%m5.App._dispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3)
+ %grfp28 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp28) ; %method.value:%%m5.CtxCore.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3)
+ %grfp29 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp29) ; %method.value:%%m5.CtxCore.text.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3)
+ %grfp30 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp30) ; %method.value:%%m5.CtxCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3)
+ %grfp31 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp31) ; %method.value:%%m5.CtxCore.status.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3)
+ %grfp32 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp32) ; %method.value:%%m5.CtxCore.set.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3)
+ %grfp33 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp33) ; %method.value:%%m5.CtxCore.json.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3)
+ %grfp34 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp34) ; %method.value:%%m5.CtxCore.html.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3)
+ %grfp35 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp35) ; %method.value:%%m5.CtxCore.bytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3)
+ %grfp36 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp36) ; %method.value:%%m5.CtxCore._send.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3)
+ %grfp37 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp37) ; %method.value:%%m6.AssetSource.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3)
+ %grfp38 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp38) ; %method.value:%%m9.EmbeddedAssets.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3)
+ %grfp39 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp39) ; %method.value:%%m9.EmbeddedAssets.add.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3)
+ %grfp40 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp40) ; %method.value:%%m9.EmbeddedAssets.load.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3)
+ %grfp41 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp41) ; %method.value:%%m0.GenDispatch.dispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3)
+ %grfp42 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp42) ; %method.value:%%m0.GenFetch.dispatchFetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3)
+ %grfp43 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp43) ; %method.value:%%m1.UpgradeDispatch.upgrade.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3)
+ %grfp44 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp44) ; %method.value:%%m3.LiteRequest.text.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3)
+ %grfp45 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp45) ; %method.value:%%m3.LiteRequest.arrayBuffer.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3)
+ %grfp46 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp46) ; %method.value:%%m3.LiteRequest.request.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3)
+ %grfp47 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp47) ; %method.value:%%m2.ResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3)
+ %grfp48 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp48) ; %method.value:%%m2.ResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3)
+ %grfp49 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp49) ; %method.value:%%m2.ResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3)
+ %grfp50 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp50) ; %method.value:%%m2.ResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3)
+ %grfp51 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp51) ; %method.value:%%m2.ResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3)
+ %grfp52 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp52) ; %method.value:%%m2.ResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3)
+ %grfp53 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp53) ; %method.value:%%m2.ResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3)
+ %grfp54 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp54) ; %method.value:%%m2.ResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3)
+ %grfp55 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp55) ; %method.value:%%m2.ResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3)
+ %grfp56 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp56) ; %method.value:%%m2.ResponseSink.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3)
+ %grfp57 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp57) ; %method.value:%%m2.ResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3)
+ %grfp58 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp58) ; %method.value:%%m2.ResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3)
+ %grfp59 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp59) ; %method.value:%%m2.ResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3)
+ %grfp60 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp60) ; %method.value:%%m2.ResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3)
+ %grfp61 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp61) ; %method.value:%%m2.ResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3)
+ %grfp62 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp62) ; %method.value:%%m2.ResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3)
+ %grfp63 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp63) ; %method.value:%%m2.ResponseSink.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3)
+ %grfp64 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp64) ; %method.value:%%m2.FetchResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3)
+ %grfp65 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp65) ; %method.value:%%m2.FetchResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3)
+ %grfp66 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp66) ; %method.value:%%m2.FetchResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3)
+ %grfp67 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp67) ; %method.value:%%m2.FetchResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3)
+ %grfp68 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp68) ; %method.value:%%m2.FetchResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3)
+ %grfp69 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp69) ; %method.value:%%m2.FetchResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3)
+ %grfp70 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp70) ; %method.value:%%m2.FetchResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3)
+ %grfp71 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp71) ; %method.value:%%m2.FetchResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3)
+ %grfp72 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp72) ; %method.value:%%m2.FetchResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3)
+ %grfp73 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp73) ; %method.value:%%m2.FetchResponseSink.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3)
+ %grfp74 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp74) ; %method.value:%%m2.FetchResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3)
+ %grfp75 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp75) ; %method.value:%%m2.FetchResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3)
+ %grfp76 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp76) ; %method.value:%%m2.FetchResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3)
+ %grfp77 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp77) ; %method.value:%%m2.FetchResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3)
+ %grfp78 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp78) ; %method.value:%%m2.FetchResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3)
+ %grfp79 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp79) ; %method.value:%%m2.FetchResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3)
+ %grfp80 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp80) ; %method.value:%%m2.FetchResponseSink.toResponse.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3)
+ %grfp81 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp81) ; %method.value:%%m5.ReqViewCore.body.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3)
+ %grfp82 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp82) ; %method.value:%%m5.ReqViewCore.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3)
+ %grfp83 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp83) ; %method.value:%%m5.ReqViewCore.rawReq.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3)
+ %grfp84 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp84) ; %method.value:%%m5.ReqViewCore._setWeb.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3)
+ %grfp85 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp85) ; %method.value:%%m5.ReqViewCore.param.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3)
+ %grfp86 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp86) ; %method.value:%%m5.ReqViewCore._seedPm.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3)
+ %grfp87 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp87) ; %method.value:%%m5.ReqViewCore._pmNow.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3)
+ %grfp88 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp88) ; %method.value:%%m5.ReqViewCore.query.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3)
+ %grfp89 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp89) ; %method.value:%%m5.ReqViewCore.queryAll.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3)
+ %grfp90 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp90) ; %method.value:%%m5.ReqViewCore.queries.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3)
+ %grfp91 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp91) ; %method.value:%%m5.ReqViewCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3)
+ %grfp92 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp92) ; %method.value:%%m5.ReqViewCore._setBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3)
+ %grfp93 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp93) ; %method.value:%%m5.ReqViewCore.files.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3)
+ %grfp94 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp94) ; %method.value:%%m5.ReqViewCore.field.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3)
+ %grfp95 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp95) ; %method.value:%%m5.ReqViewCore.fields.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3)
+ %grfp96 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp96) ; %method.value:%%m5.ReqViewCore._setMultipart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3)
+ %grfp97 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp97) ; %method.value:%%m5.ReqViewCore._parsed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3)
+ %grfp98 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp98) ; %method.value:%%m11.StaticServer.isApi.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3)
+ %grfp99 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp99) ; %method.value:%%m11.StaticServer.handle.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3)
+ %grfp100 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp100) ; %method.value:%%m11.StaticServer.send.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3)
+ %grfp101 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp101) ; %method.value:%%m11.StaticServer.pick.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3)
+ %grfp102 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp102) ; %method.value:%%m4.MultipartParser.feed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3)
+ %grfp103 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp103) ; %method.value:%%m4.MultipartParser.finish.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3)
+ %grfp104 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp104) ; %method.value:%%m4.MultipartParser._malformed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3)
+ %grfp105 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp105) ; %method.value:%%m4.MultipartParser._limit.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3)
+ %grfp106 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp106) ; %method.value:%%m4.MultipartParser._abortPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3)
+ %grfp107 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp107) ; %method.value:%%m4.MultipartParser._startPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3)
+ %grfp108 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp108) ; %method.value:%%m4.MultipartParser._emit.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3)
+ %grfp109 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp109) ; %method.value:%%m4.MultipartParser._endPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3)
+ %grfp110 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp110) ; %method.value:%%m3.LiteResponse.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3)
+ %grfp111 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp111) ; %method.value:%%m3.LiteResponse.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3)
+ %grfp112 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp112) ; %method.value:%%m3.LiteResponse.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3)
+ %grfp113 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp113) ; %method.value:%%m3.LiteResponse.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3)
+ %grfp114 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp114) ; %method.value:%%m3.LiteResponse.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3)
+ %grfp115 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp115) ; %method.value:%%m3.LiteResponse.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3)
+ %grfp116 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp116) ; %method.value:%%m3.LiteResponse.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3)
+ %grfp117 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp117) ; %method.value:%%m3.LiteResponse.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3)
+ %grfp118 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp118) ; %method.value:%%m3.LiteResponse.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3)
+ %grfp119 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp119) ; %method.value:%%m3.LiteResponse.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3)
+ %grfp120 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp120) ; %method.value:%%m3.LiteResponse.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3)
+ %grfp121 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp121) ; %method.value:%%m3.LiteResponse.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3)
+ %grfp122 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp122) ; %method.value:%%m3.LiteResponse.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3)
+ %grfp123 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp123) ; %method.value:%%m4.MultipartFileSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3)
+ %grfp124 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp124) ; %method.value:%%m4.MultipartFileSink.end.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3)
+ %grfp125 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp125) ; %method.value:%%m4.MultipartFileSink.abort.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3)
+ %grfp126 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp126) ; %method.value:%%m4.MultipartFileSink.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3)
+ %grfp127 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp127) ; %method.value:%%m4.MultipartStorage.begin.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3)
+ %grfp128 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp128) ; %method.value:%%m4.MemoryStorage.begin.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3)
+ %grfp129 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp129) ; %method.value:%%m2.NodeResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3)
+ %grfp130 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp130) ; %method.value:%%m2.NodeResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3)
+ %grfp131 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp131) ; %method.value:%%m2.NodeResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3)
+ %grfp132 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp132) ; %method.value:%%m2.NodeResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3)
+ %grfp133 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp133) ; %method.value:%%m2.NodeResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3)
+ %grfp134 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp134) ; %method.value:%%m2.NodeResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3)
+ %grfp135 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp135) ; %method.value:%%m2.NodeResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3)
+ %grfp136 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp136) ; %method.value:%%m2.NodeResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3)
+ %grfp137 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp137) ; %method.value:%%m2.NodeResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3)
+ %grfp138 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp138) ; %method.value:%%m2.NodeResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3)
+ %grfp139 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp139) ; %method.value:%%m2.NodeResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3)
+ %grfp140 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp140) ; %method.value:%%m2.NodeResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3)
+ %grfp141 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp141) ; %method.value:%%m2.NodeResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3)
+ %grfp142 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp142) ; %method.value:%%m2.NodeResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3)
+ %grfp143 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp143) ; %method.value:%%m2.NodeResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3)
+ %grfp144 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp144) ; %method.value:%%m2.NodeResponseSink.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3)
+ %grfp145 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp145) ; %method.value:%%m4.MemoryFileSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3)
+ %grfp146 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp146) ; %method.value:%%m4.MemoryFileSink.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3)
+ %grfp147 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp147) ; %method.value:%%m3.LiteHeaders.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3)
+ %grfp148 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp148) ; %method.value:%%m3.LiteHeaders.has.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3)
+ %grfp149 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp149) ; %method.value:%%m3.LiteHeaders.getSetCookie.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3)
+ %grfp150 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp150) ; %method.value:%%m3.LiteHeaders.forEach.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3)
+ %grfp151 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp151) ; %method.value:%%Error.toString.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3)
+ %grfp152 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp152) ; %method.value:%%m5.CtxResCore.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3)
+ %grfp153 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %grfp153) ; %method.value:%%m5.CtxResCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3)
+ br label %gr.kept
+gr.kept:
+ %failure_code_4 = call i32 @scr_exit_code_hint_get()
+ ret i32 %failure_code_4
+lrok:
+ %g.frees = call zeroext i1 @scr_exit_frees()
+ br i1 %g.frees, label %g.release, label %g.kept
+g.release:
+ %g1 = load ptr, ptr @sc_g_m4_EMPTY_U8
+ call void @scr_bytes_release(ptr %g1) ; EMPTY_U8
+ %g10 = load ptr, ptr @sc_g_m5_EMPTY_S
+ call void @scr_arr_release(ptr %g10) ; EMPTY_S
+ %g11 = load ptr, ptr @sc_g_m5_EMPTY_N
+ call void @scr_arr_release(ptr %g11) ; EMPTY_N
+ %g12 = load ptr, ptr @sc_g_m5_Ctx
+ call void @scr_classobj_release_v(ptr %g12) ; Ctx
+ %g13 = load ptr, ptr @sc_g_m5_ReqView
+ call void @scr_classobj_release_v(ptr %g13) ; ReqView
+ %g14 = load ptr, ptr @sc_g_m5_CtxRes
+ call void @scr_classobj_release_v(ptr %g14) ; CtxRes
+ %g15 = load ptr, ptr @sc_g_m5_MP_SHARED_MEM
+ call void @sc_release__x25_m4_MemoryStorage(ptr %g15) ; MP_SHARED_MEM
+ %g16 = load ptr, ptr @sc_g_m7_TYPES
+ call void @sc_rrelease_r0(ptr %g16) ; TYPES
+ %g17 = load ptr, ptr @sc_g_m10_DAYS
+ call void @scr_str_release(ptr %g17) ; DAYS
+ %g18 = load ptr, ptr @sc_g_m10_MONTHS
+ call void @scr_str_release(ptr %g18) ; MONTHS
+ %g19 = load ptr, ptr @sc_g_m11_IMMUTABLE_CC
+ call void @scr_str_release(ptr %g19) ; IMMUTABLE_CC
+ %g20 = load ptr, ptr @sc_g_m14_RECORDS
+ call void @scr_arr_release(ptr %g20) ; RECORDS
+ %g37 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_App
+ call void @sc_rc_release_dyn(ptr %g37) ; App.prototype
+ %g39 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxCore
+ call void @sc_rc_release_dyn(ptr %g39) ; CtxCore.prototype
+ %g41 = load ptr, ptr @sc_g__x25_prototype_data__x25_m6_AssetSource
+ call void @sc_rc_release_dyn(ptr %g41) ; AssetSource.prototype
+ %g43 = load ptr, ptr @sc_g__x25_prototype_data__x25_m9_EmbeddedAssets
+ call void @sc_rc_release_dyn(ptr %g43) ; EmbeddedAssets.prototype
+ %g45 = load ptr, ptr @sc_g__x25_prototype_data__x25_m14_BakedAssets
+ call void @sc_rc_release_dyn(ptr %g45) ; BakedAssets.prototype
+ %g47 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenDispatch
+ call void @sc_rc_release_dyn(ptr %g47) ; GenDispatch.prototype
+ %g49 = load ptr, ptr @sc_g__x25_prototype_data__x25_m0_GenFetch
+ call void @sc_rc_release_dyn(ptr %g49) ; GenFetch.prototype
+ %g51 = load ptr, ptr @sc_g__x25_prototype_data__x25_m1_UpgradeDispatch
+ call void @sc_rc_release_dyn(ptr %g51) ; UpgradeDispatch.prototype
+ %g53 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteRequest
+ call void @sc_rc_release_dyn(ptr %g53) ; LiteRequest.prototype
+ %g55 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_ResponseSink
+ call void @sc_rc_release_dyn(ptr %g55) ; ResponseSink.prototype
+ %g57 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_FetchResponseSink
+ call void @sc_rc_release_dyn(ptr %g57) ; FetchResponseSink.prototype
+ %g59 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_ReqViewCore
+ call void @sc_rc_release_dyn(ptr %g59) ; ReqViewCore.prototype
+ %g61 = load ptr, ptr @sc_g__x25_prototype_data__x25_m11_StaticServer
+ call void @sc_rc_release_dyn(ptr %g61) ; StaticServer.prototype
+ %g63 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartParser
+ call void @sc_rc_release_dyn(ptr %g63) ; MultipartParser.prototype
+ %g65 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteResponse
+ call void @sc_rc_release_dyn(ptr %g65) ; LiteResponse.prototype
+ %g67 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartFileSink
+ call void @sc_rc_release_dyn(ptr %g67) ; MultipartFileSink.prototype
+ %g69 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MultipartStorage
+ call void @sc_rc_release_dyn(ptr %g69) ; MultipartStorage.prototype
+ %g71 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryStorage
+ call void @sc_rc_release_dyn(ptr %g71) ; MemoryStorage.prototype
+ %g73 = load ptr, ptr @sc_g__x25_prototype_data__x25_m2_NodeResponseSink
+ call void @sc_rc_release_dyn(ptr %g73) ; NodeResponseSink.prototype
+ %g75 = load ptr, ptr @sc_g__x25_prototype_data__x25_m4_MemoryFileSink
+ call void @sc_rc_release_dyn(ptr %g75) ; MemoryFileSink.prototype
+ %g77 = load ptr, ptr @sc_g__x25_prototype_data__x25_m3_LiteHeaders
+ call void @sc_rc_release_dyn(ptr %g77) ; LiteHeaders.prototype
+ %g79 = load ptr, ptr @sc_g__x25_prototype_data__x25_m5_CtxResCore
+ call void @sc_rc_release_dyn(ptr %g79) ; CtxResCore.prototype
+ %gfp0 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp0) ; %m5.defaultNotFound.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_m5_defaultNotFound, i64 0, i32 3)
+ %gfp1 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp1) ; %method.value:%%m5.App.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_get, i64 0, i32 3)
+ %gfp2 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp2) ; %method.value:%%m5.App.post.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_post, i64 0, i32 3)
+ %gfp3 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp3) ; %method.value:%%m5.App.put.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_put, i64 0, i32 3)
+ %gfp4 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp4) ; %method.value:%%m5.App.delete.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_delete, i64 0, i32 3)
+ %gfp5 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp5) ; %method.value:%%m5.App.patch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_patch, i64 0, i32 3)
+ %gfp6 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp6) ; %method.value:%%m5.App.head.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_head, i64 0, i32 3)
+ %gfp7 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp7) ; %method.value:%%m5.App.options.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_options, i64 0, i32 3)
+ %gfp8 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp8) ; %method.value:%%m5.App.all.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_all, i64 0, i32 3)
+ %gfp9 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp9) ; %method.value:%%m5.App.on.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_on, i64 0, i32 3)
+ %gfp10 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp10) ; %method.value:%%m5.App.use.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_use, i64 0, i32 3)
+ %gfp11 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp11) ; %method.value:%%m5.App.notFound.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_notFound, i64 0, i32 3)
+ %gfp12 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp12) ; %method.value:%%m5.App.onError.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_onError, i64 0, i32 3)
+ %gfp13 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp13) ; %method.value:%%m5.App.route.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_route, i64 0, i32 3)
+ %gfp14 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp14) ; %method.value:%%m5.App.withDispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withDispatch, i64 0, i32 3)
+ %gfp15 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp15) ; %method.value:%%m5.App.withFetchDispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withFetchDispatch, i64 0, i32 3)
+ %gfp16 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp16) ; %method.value:%%m5.App.withUpgrade.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_withUpgrade, i64 0, i32 3)
+ %gfp17 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp17) ; %method.value:%%m5.App.upgradeHandler.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_upgradeHandler, i64 0, i32 3)
+ %gfp18 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp18) ; %method.value:%%m5.App.handler.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_handler, i64 0, i32 3)
+ %gfp19 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp19) ; %method.value:%%m5.App.fetchBridge.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchBridge, i64 0, i32 3)
+ %gfp20 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp20) ; %method.value:%%m5.App.serve.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serve, i64 0, i32 3)
+ %gfp21 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp21) ; %method.value:%%m5.App.serveFetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_serveFetch, i64 0, i32 3)
+ %gfp22 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp22) ; %method.value:%%m5.App._regFn.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__regFn, i64 0, i32 3)
+ %gfp23 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp23) ; %method.value:%%m5.App._add.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__add, i64 0, i32 3)
+ %gfp24 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp24) ; %method.value:%%m5.App.fetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetch, i64 0, i32 3)
+ %gfp25 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp25) ; %method.value:%%m5.App.fetchShim.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App_fetchShim, i64 0, i32 3)
+ %gfp26 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp26) ; %method.value:%%m5.App._dispatchPrim.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatchPrim, i64 0, i32 3)
+ %gfp27 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp27) ; %method.value:%%m5.App._dispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_App__dispatch, i64 0, i32 3)
+ %gfp28 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp28) ; %method.value:%%m5.CtxCore.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_redirect, i64 0, i32 3)
+ %gfp29 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp29) ; %method.value:%%m5.CtxCore.text.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_text, i64 0, i32 3)
+ %gfp30 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp30) ; %method.value:%%m5.CtxCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_header, i64 0, i32 3)
+ %gfp31 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp31) ; %method.value:%%m5.CtxCore.status.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_status, i64 0, i32 3)
+ %gfp32 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp32) ; %method.value:%%m5.CtxCore.set.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_set, i64 0, i32 3)
+ %gfp33 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp33) ; %method.value:%%m5.CtxCore.json.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_json, i64 0, i32 3)
+ %gfp34 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp34) ; %method.value:%%m5.CtxCore.html.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_html, i64 0, i32 3)
+ %gfp35 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp35) ; %method.value:%%m5.CtxCore.bytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore_bytes, i64 0, i32 3)
+ %gfp36 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp36) ; %method.value:%%m5.CtxCore._send.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxCore__send, i64 0, i32 3)
+ %gfp37 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp37) ; %method.value:%%m6.AssetSource.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m6_AssetSource_get, i64 0, i32 3)
+ %gfp38 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp38) ; %method.value:%%m9.EmbeddedAssets.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_get, i64 0, i32 3)
+ %gfp39 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp39) ; %method.value:%%m9.EmbeddedAssets.add.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_add, i64 0, i32 3)
+ %gfp40 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp40) ; %method.value:%%m9.EmbeddedAssets.load.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m9_EmbeddedAssets_load, i64 0, i32 3)
+ %gfp41 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp41) ; %method.value:%%m0.GenDispatch.dispatch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenDispatch_dispatch, i64 0, i32 3)
+ %gfp42 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp42) ; %method.value:%%m0.GenFetch.dispatchFetch.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m0_GenFetch_dispatchFetch, i64 0, i32 3)
+ %gfp43 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp43) ; %method.value:%%m1.UpgradeDispatch.upgrade.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m1_UpgradeDispatch_upgrade, i64 0, i32 3)
+ %gfp44 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp44) ; %method.value:%%m3.LiteRequest.text.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_text, i64 0, i32 3)
+ %gfp45 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp45) ; %method.value:%%m3.LiteRequest.arrayBuffer.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_arrayBuffer, i64 0, i32 3)
+ %gfp46 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp46) ; %method.value:%%m3.LiteRequest.request.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteRequest_request, i64 0, i32 3)
+ %gfp47 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp47) ; %method.value:%%m2.ResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setStatus, i64 0, i32 3)
+ %gfp48 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp48) ; %method.value:%%m2.ResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_setHeader, i64 0, i32 3)
+ %gfp49 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp49) ; %method.value:%%m2.ResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_appendHeader, i64 0, i32 3)
+ %gfp50 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp50) ; %method.value:%%m2.ResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeBody, i64 0, i32 3)
+ %gfp51 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp51) ; %method.value:%%m2.ResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_bodyBytes, i64 0, i32 3)
+ %gfp52 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp52) ; %method.value:%%m2.ResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_redirect, i64 0, i32 3)
+ %gfp53 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp53) ; %method.value:%%m2.ResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_write, i64 0, i32 3)
+ %gfp54 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp54) ; %method.value:%%m2.ResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_writeHead, i64 0, i32 3)
+ %gfp55 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp55) ; %method.value:%%m2.ResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_endStream, i64 0, i32 3)
+ %gfp56 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp56) ; %method.value:%%m2.ResponseSink.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_adopt, i64 0, i32 3)
+ %gfp57 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp57) ; %method.value:%%m2.ResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isSent, i64 0, i32 3)
+ %gfp58 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp58) ; %method.value:%%m2.ResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_isHeadersSent, i64 0, i32 3)
+ %gfp59 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp59) ; %method.value:%%m2.ResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_destroy, i64 0, i32 3)
+ %gfp60 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp60) ; %method.value:%%m2.ResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_statusOf, i64 0, i32 3)
+ %gfp61 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp61) ; %method.value:%%m2.ResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headerOf, i64 0, i32 3)
+ %gfp62 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp62) ; %method.value:%%m2.ResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_headersMap, i64 0, i32 3)
+ %gfp63 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp63) ; %method.value:%%m2.ResponseSink.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_ResponseSink_nodeRes, i64 0, i32 3)
+ %gfp64 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp64) ; %method.value:%%m2.FetchResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setStatus, i64 0, i32 3)
+ %gfp65 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp65) ; %method.value:%%m2.FetchResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_setHeader, i64 0, i32 3)
+ %gfp66 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp66) ; %method.value:%%m2.FetchResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_appendHeader, i64 0, i32 3)
+ %gfp67 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp67) ; %method.value:%%m2.FetchResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeBody, i64 0, i32 3)
+ %gfp68 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp68) ; %method.value:%%m2.FetchResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_bodyBytes, i64 0, i32 3)
+ %gfp69 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp69) ; %method.value:%%m2.FetchResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_redirect, i64 0, i32 3)
+ %gfp70 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp70) ; %method.value:%%m2.FetchResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_write, i64 0, i32 3)
+ %gfp71 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp71) ; %method.value:%%m2.FetchResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_writeHead, i64 0, i32 3)
+ %gfp72 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp72) ; %method.value:%%m2.FetchResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_endStream, i64 0, i32 3)
+ %gfp73 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp73) ; %method.value:%%m2.FetchResponseSink.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_adopt, i64 0, i32 3)
+ %gfp74 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp74) ; %method.value:%%m2.FetchResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isSent, i64 0, i32 3)
+ %gfp75 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp75) ; %method.value:%%m2.FetchResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_isHeadersSent, i64 0, i32 3)
+ %gfp76 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp76) ; %method.value:%%m2.FetchResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_destroy, i64 0, i32 3)
+ %gfp77 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp77) ; %method.value:%%m2.FetchResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_statusOf, i64 0, i32 3)
+ %gfp78 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp78) ; %method.value:%%m2.FetchResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headerOf, i64 0, i32 3)
+ %gfp79 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp79) ; %method.value:%%m2.FetchResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_headersMap, i64 0, i32 3)
+ %gfp80 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp80) ; %method.value:%%m2.FetchResponseSink.toResponse.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_FetchResponseSink_toResponse, i64 0, i32 3)
+ %gfp81 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp81) ; %method.value:%%m5.ReqViewCore.body.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_body, i64 0, i32 3)
+ %gfp82 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp82) ; %method.value:%%m5.ReqViewCore.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_file, i64 0, i32 3)
+ %gfp83 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp83) ; %method.value:%%m5.ReqViewCore.rawReq.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_rawReq, i64 0, i32 3)
+ %gfp84 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp84) ; %method.value:%%m5.ReqViewCore._setWeb.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setWeb, i64 0, i32 3)
+ %gfp85 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp85) ; %method.value:%%m5.ReqViewCore.param.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_param, i64 0, i32 3)
+ %gfp86 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp86) ; %method.value:%%m5.ReqViewCore._seedPm.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__seedPm, i64 0, i32 3)
+ %gfp87 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp87) ; %method.value:%%m5.ReqViewCore._pmNow.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__pmNow, i64 0, i32 3)
+ %gfp88 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp88) ; %method.value:%%m5.ReqViewCore.query.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_query, i64 0, i32 3)
+ %gfp89 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp89) ; %method.value:%%m5.ReqViewCore.queryAll.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queryAll, i64 0, i32 3)
+ %gfp90 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp90) ; %method.value:%%m5.ReqViewCore.queries.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_queries, i64 0, i32 3)
+ %gfp91 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp91) ; %method.value:%%m5.ReqViewCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_header, i64 0, i32 3)
+ %gfp92 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp92) ; %method.value:%%m5.ReqViewCore._setBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setBody, i64 0, i32 3)
+ %gfp93 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp93) ; %method.value:%%m5.ReqViewCore.files.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_files, i64 0, i32 3)
+ %gfp94 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp94) ; %method.value:%%m5.ReqViewCore.field.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_field, i64 0, i32 3)
+ %gfp95 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp95) ; %method.value:%%m5.ReqViewCore.fields.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore_fields, i64 0, i32 3)
+ %gfp96 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp96) ; %method.value:%%m5.ReqViewCore._setMultipart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__setMultipart, i64 0, i32 3)
+ %gfp97 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp97) ; %method.value:%%m5.ReqViewCore._parsed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_ReqViewCore__parsed, i64 0, i32 3)
+ %gfp98 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp98) ; %method.value:%%m11.StaticServer.isApi.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_isApi, i64 0, i32 3)
+ %gfp99 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp99) ; %method.value:%%m11.StaticServer.handle.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_handle, i64 0, i32 3)
+ %gfp100 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp100) ; %method.value:%%m11.StaticServer.send.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_send, i64 0, i32 3)
+ %gfp101 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp101) ; %method.value:%%m11.StaticServer.pick.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m11_StaticServer_pick, i64 0, i32 3)
+ %gfp102 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp102) ; %method.value:%%m4.MultipartParser.feed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_feed, i64 0, i32 3)
+ %gfp103 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp103) ; %method.value:%%m4.MultipartParser.finish.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser_finish, i64 0, i32 3)
+ %gfp104 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp104) ; %method.value:%%m4.MultipartParser._malformed.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__malformed, i64 0, i32 3)
+ %gfp105 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp105) ; %method.value:%%m4.MultipartParser._limit.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__limit, i64 0, i32 3)
+ %gfp106 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp106) ; %method.value:%%m4.MultipartParser._abortPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__abortPart, i64 0, i32 3)
+ %gfp107 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp107) ; %method.value:%%m4.MultipartParser._startPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__startPart, i64 0, i32 3)
+ %gfp108 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp108) ; %method.value:%%m4.MultipartParser._emit.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__emit, i64 0, i32 3)
+ %gfp109 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp109) ; %method.value:%%m4.MultipartParser._endPart.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartParser__endPart, i64 0, i32 3)
+ %gfp110 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp110) ; %method.value:%%m3.LiteResponse.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setStatus, i64 0, i32 3)
+ %gfp111 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp111) ; %method.value:%%m3.LiteResponse.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_setHeader, i64 0, i32 3)
+ %gfp112 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp112) ; %method.value:%%m3.LiteResponse.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_appendHeader, i64 0, i32 3)
+ %gfp113 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp113) ; %method.value:%%m3.LiteResponse.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeBody, i64 0, i32 3)
+ %gfp114 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp114) ; %method.value:%%m3.LiteResponse.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_bodyBytes, i64 0, i32 3)
+ %gfp115 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp115) ; %method.value:%%m3.LiteResponse.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_redirect, i64 0, i32 3)
+ %gfp116 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp116) ; %method.value:%%m3.LiteResponse.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_write, i64 0, i32 3)
+ %gfp117 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp117) ; %method.value:%%m3.LiteResponse.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_writeHead, i64 0, i32 3)
+ %gfp118 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp118) ; %method.value:%%m3.LiteResponse.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_endStream, i64 0, i32 3)
+ %gfp119 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp119) ; %method.value:%%m3.LiteResponse.adopt.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_adopt, i64 0, i32 3)
+ %gfp120 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp120) ; %method.value:%%m3.LiteResponse.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isSent, i64 0, i32 3)
+ %gfp121 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp121) ; %method.value:%%m3.LiteResponse.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_isHeadersSent, i64 0, i32 3)
+ %gfp122 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp122) ; %method.value:%%m3.LiteResponse.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteResponse_destroy, i64 0, i32 3)
+ %gfp123 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp123) ; %method.value:%%m4.MultipartFileSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_write, i64 0, i32 3)
+ %gfp124 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp124) ; %method.value:%%m4.MultipartFileSink.end.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_end, i64 0, i32 3)
+ %gfp125 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp125) ; %method.value:%%m4.MultipartFileSink.abort.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_abort, i64 0, i32 3)
+ %gfp126 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp126) ; %method.value:%%m4.MultipartFileSink.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartFileSink_file, i64 0, i32 3)
+ %gfp127 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp127) ; %method.value:%%m4.MultipartStorage.begin.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MultipartStorage_begin, i64 0, i32 3)
+ %gfp128 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp128) ; %method.value:%%m4.MemoryStorage.begin.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryStorage_begin, i64 0, i32 3)
+ %gfp129 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp129) ; %method.value:%%m2.NodeResponseSink.setStatus.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setStatus, i64 0, i32 3)
+ %gfp130 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp130) ; %method.value:%%m2.NodeResponseSink.setHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_setHeader, i64 0, i32 3)
+ %gfp131 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp131) ; %method.value:%%m2.NodeResponseSink.appendHeader.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_appendHeader, i64 0, i32 3)
+ %gfp132 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp132) ; %method.value:%%m2.NodeResponseSink.writeBody.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeBody, i64 0, i32 3)
+ %gfp133 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp133) ; %method.value:%%m2.NodeResponseSink.bodyBytes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_bodyBytes, i64 0, i32 3)
+ %gfp134 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp134) ; %method.value:%%m2.NodeResponseSink.redirect.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_redirect, i64 0, i32 3)
+ %gfp135 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp135) ; %method.value:%%m2.NodeResponseSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_write, i64 0, i32 3)
+ %gfp136 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp136) ; %method.value:%%m2.NodeResponseSink.writeHead.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_writeHead, i64 0, i32 3)
+ %gfp137 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp137) ; %method.value:%%m2.NodeResponseSink.endStream.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_endStream, i64 0, i32 3)
+ %gfp138 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp138) ; %method.value:%%m2.NodeResponseSink.isSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isSent, i64 0, i32 3)
+ %gfp139 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp139) ; %method.value:%%m2.NodeResponseSink.isHeadersSent.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_isHeadersSent, i64 0, i32 3)
+ %gfp140 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp140) ; %method.value:%%m2.NodeResponseSink.destroy.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_destroy, i64 0, i32 3)
+ %gfp141 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp141) ; %method.value:%%m2.NodeResponseSink.statusOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_statusOf, i64 0, i32 3)
+ %gfp142 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp142) ; %method.value:%%m2.NodeResponseSink.headerOf.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headerOf, i64 0, i32 3)
+ %gfp143 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp143) ; %method.value:%%m2.NodeResponseSink.headersMap.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_headersMap, i64 0, i32 3)
+ %gfp144 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp144) ; %method.value:%%m2.NodeResponseSink.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m2_NodeResponseSink_nodeRes, i64 0, i32 3)
+ %gfp145 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp145) ; %method.value:%%m4.MemoryFileSink.write.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_write, i64 0, i32 3)
+ %gfp146 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp146) ; %method.value:%%m4.MemoryFileSink.file.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m4_MemoryFileSink_file, i64 0, i32 3)
+ %gfp147 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp147) ; %method.value:%%m3.LiteHeaders.get.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_get, i64 0, i32 3)
+ %gfp148 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp148) ; %method.value:%%m3.LiteHeaders.has.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_has, i64 0, i32 3)
+ %gfp149 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp149) ; %method.value:%%m3.LiteHeaders.getSetCookie.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_getSetCookie, i64 0, i32 3)
+ %gfp150 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp150) ; %method.value:%%m3.LiteHeaders.forEach.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m3_LiteHeaders_forEach, i64 0, i32 3)
+ %gfp151 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp151) ; %method.value:%%Error.toString.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_Error_toString, i64 0, i32 3)
+ %gfp152 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp152) ; %method.value:%%m5.CtxResCore.nodeRes.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_nodeRes, i64 0, i32 3)
+ %gfp153 = load ptr, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3)
+ call void @scr_box_release(ptr %gfp153) ; %method.value:%%m5.CtxResCore.header.props
+ store ptr null, ptr getelementptr inbounds (%ScrClosure, ptr @sc_fc__x25_method_value_x3a__x25__x25_m5_CtxResCore_header, i64 0, i32 3)
+ br label %g.kept
+g.kept:
+ %native_exit = call i32 @scr_exit_code_hint_get()
+ ret i32 %native_exit
+}
+
+define internal ptr @sc_nretain_array(ptr %o) #0 { ; NULL-tolerant retain
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %live
+live:
+ %r = call ptr @scr_arr_retain_v(ptr %o)
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal ptr @sc_nretain_string(ptr %o) #0 { ; NULL-tolerant retain
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %live
+live:
+ %r = call ptr @sc_rc_retain_str(ptr %o)
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal void @sc_rc_release_dyn(ptr %o) #0 { ; scr_dyn_release fast path
+entry:
+ %isnull = icmp eq ptr %o, null
+ br i1 %isnull, label %done, label %check
+check:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %owned
+owned:
+ %last = icmp eq i64 %rc, 1
+ br i1 %last, label %slow, label %dec
+slow:
+ call void @scr_dyn_release(ptr %o) cold ; the runtime release owns this case
+ br label %done
+dec:
+ %n = sub i64 %rc, 1
+ store i64 %n, ptr %o
+ %kp = getelementptr i8, ptr %o, i64 8 ; ScrDyn.kind
+ %kind = load i32, ptr %kp
+ switch i32 %kind, label %done [ i32 4, label %container i32 5, label %container i32 8, label %root i32 13, label %root i32 9, label %survivor i32 12, label %survivor ]
+container:
+ %cbufp = getelementptr i8, ptr %o, i64 -4
+ %cbuf = load i32, ptr %cbufp
+ %cqueued = icmp slt i32 %cbuf, 0
+ br i1 %cqueued, label %done, label %survivor
+survivor:
+ call void @scr_dyn_release_survivor(ptr %o)
+ br label %done
+root:
+ %bufp = getelementptr i8, ptr %o, i64 -4
+ %buf = load i32, ptr %bufp
+ %queued = icmp slt i32 %buf, 0
+ br i1 %queued, label %done, label %enqueue
+enqueue:
+ call void @scr_cyc_on_release(ptr %o) ; buffer the candidate; may collect
+ br label %done
+done:
+ ret void
+}
+
+define internal ptr @sc_rc_retain_dyn(ptr %o) #0 { ; scr_dyn_retain fast path
+entry:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+define internal ptr @sc_rc_retain_str(ptr %o) #0 { ; scr_str_retain fast path
+entry:
+ %rc = load i64, ptr %o
+ %imm = icmp eq i64 %rc, -1
+ br i1 %imm, label %done, label %inc
+inc:
+ %n = add i64 %rc, 1
+ store i64 %n, ptr %o
+ br label %done
+done:
+ ret ptr %o
+}
+
+attributes #0 = { sanitize_address }
+
+!0 = !{!"scriptc native fields"}
+!1 = !{!"field.2", !0, i64 0}
+!2 = !{!1, !1, i64 0}
+!3 = !{!"field.4", !0, i64 0}
+!4 = !{!3, !3, i64 0}
+!5 = !{!"field.6", !0, i64 0}
+!6 = !{!5, !5, i64 0}
+!7 = !{!"field.8", !0, i64 0}
+!8 = !{!7, !7, i64 0}
+!9 = !{!"field.10", !0, i64 0}
+!10 = !{!9, !9, i64 0}
+!11 = !{!"field.12", !0, i64 0}
+!12 = !{!11, !11, i64 0}
+!13 = !{!"field.14", !0, i64 0}
+!14 = !{!13, !13, i64 0}
+!15 = !{!"field.16", !0, i64 0}
+!16 = !{!15, !15, i64 0}
+!17 = !{!"field.18", !0, i64 0}
+!18 = !{!17, !17, i64 0}
+!19 = !{!"field.20", !0, i64 0}
+!20 = !{!19, !19, i64 0}
+!21 = !{!"field.22", !0, i64 0}
+!22 = !{!21, !21, i64 0}
+!23 = !{!"field.24", !0, i64 0}
+!24 = !{!23, !23, i64 0}
+!25 = !{!"field.26", !0, i64 0}
+!26 = !{!25, !25, i64 0}
+!27 = !{!"field.28", !0, i64 0}
+!28 = !{!27, !27, i64 0}
+!29 = !{!"field.30", !0, i64 0}
+!30 = !{!29, !29, i64 0}
+!31 = !{!"field.32", !0, i64 0}
+!32 = !{!31, !31, i64 0}
+!33 = !{!"field.34", !0, i64 0}
+!34 = !{!33, !33, i64 0}
+!35 = !{!"field.36", !0, i64 0}
+!36 = !{!35, !35, i64 0}
+!37 = !{!"field.38", !0, i64 0}
+!38 = !{!37, !37, i64 0}
+!39 = !{!"field.40", !0, i64 0}
+!40 = !{!39, !39, i64 0}
+!41 = !{!"field.42", !0, i64 0}
+!42 = !{!41, !41, i64 0}
+!43 = !{!"field.44", !0, i64 0}
+!44 = !{!43, !43, i64 0}
+!45 = !{!"field.46", !0, i64 0}
+!46 = !{!45, !45, i64 0}
+!47 = !{!"field.48", !0, i64 0}
+!48 = !{!47, !47, i64 0}
+!49 = !{!"field.50", !0, i64 0}
+!50 = !{!49, !49, i64 0}
+!51 = !{!"field.52", !0, i64 0}
+!52 = !{!51, !51, i64 0}
+!53 = !{!"field.54", !0, i64 0}
+!54 = !{!53, !53, i64 0}
+!55 = !{!"field.56", !0, i64 0}
+!56 = !{!55, !55, i64 0}
+!57 = !{!"field.58", !0, i64 0}
+!58 = !{!57, !57, i64 0}
+!59 = !{!"field.60", !0, i64 0}
+!60 = !{!59, !59, i64 0}
+!61 = !{!"field.62", !0, i64 0}
+!62 = !{!61, !61, i64 0}
+!63 = !{!"field.64", !0, i64 0}
+!64 = !{!63, !63, i64 0}
+!65 = !{!"field.66", !0, i64 0}
+!66 = !{!65, !65, i64 0}
+!67 = !{!"field.68", !0, i64 0}
+!68 = !{!67, !67, i64 0}
+!69 = !{!"field.70", !0, i64 0}
+!70 = !{!69, !69, i64 0}
+!71 = !{!"field.72", !0, i64 0}
+!72 = !{!71, !71, i64 0}
+!73 = !{!"field.74", !0, i64 0}
+!74 = !{!73, !73, i64 0}
+!75 = !{!"field.76", !0, i64 0}
+!76 = !{!75, !75, i64 0}
+!77 = !{!"field.78", !0, i64 0}
+!78 = !{!77, !77, i64 0}
+!79 = !{!"field.80", !0, i64 0}
+!80 = !{!79, !79, i64 0}
+!81 = !{!"field.82", !0, i64 0}
+!82 = !{!81, !81, i64 0}
+!83 = !{!"field.84", !0, i64 0}
+!84 = !{!83, !83, i64 0}
+!85 = !{!"field.86", !0, i64 0}
+!86 = !{!85, !85, i64 0}
+!87 = !{!"field.88", !0, i64 0}
+!88 = !{!87, !87, i64 0}
+!89 = !{!"field.90", !0, i64 0}
+!90 = !{!89, !89, i64 0}
+!91 = !{!"field.92", !0, i64 0}
+!92 = !{!91, !91, i64 0}
+!93 = !{!"field.94", !0, i64 0}
+!94 = !{!93, !93, i64 0}
+!95 = !{!"field.96", !0, i64 0}
+!96 = !{!95, !95, i64 0}
+!97 = !{!"field.98", !0, i64 0}
+!98 = !{!97, !97, i64 0}
+!99 = !{!"field.100", !0, i64 0}
+!100 = !{!99, !99, i64 0}
+!101 = !{!"field.102", !0, i64 0}
+!102 = !{!101, !101, i64 0}
+!103 = !{!"field.104", !0, i64 0}
+!104 = !{!103, !103, i64 0}
+!105 = !{!"field.106", !0, i64 0}
+!106 = !{!105, !105, i64 0}
+!107 = !{!"field.108", !0, i64 0}
+!108 = !{!107, !107, i64 0}
+!109 = !{!"field.110", !0, i64 0}
+!110 = !{!109, !109, i64 0}
+!111 = !{!"field.112", !0, i64 0}
+!112 = !{!111, !111, i64 0}
+!113 = !{!"field.114", !0, i64 0}
+!114 = !{!113, !113, i64 0}
+!115 = !{!"field.116", !0, i64 0}
+!116 = !{!115, !115, i64 0}
+!117 = !{!"field.118", !0, i64 0}
+!118 = !{!117, !117, i64 0}
+!119 = !{!"field.120", !0, i64 0}
+!120 = !{!119, !119, i64 0}
+!121 = !{!"field.122", !0, i64 0}
+!122 = !{!121, !121, i64 0}
+!123 = !{!"field.124", !0, i64 0}
+!124 = !{!123, !123, i64 0}
+!125 = !{!"field.126", !0, i64 0}
+!126 = !{!125, !125, i64 0}
+!127 = !{!"field.128", !0, i64 0}
+!128 = !{!127, !127, i64 0}
+!129 = !{!"field.130", !0, i64 0}
+!130 = !{!129, !129, i64 0}
+!131 = !{!"field.132", !0, i64 0}
+!132 = !{!131, !131, i64 0}
+!133 = !{!"field.134", !0, i64 0}
+!134 = !{!133, !133, i64 0}
+!135 = !{!"field.136", !0, i64 0}
+!136 = !{!135, !135, i64 0}
+!137 = !{!"field.138", !0, i64 0}
+!138 = !{!137, !137, i64 0}
+!139 = !{!"field.140", !0, i64 0}
+!140 = !{!139, !139, i64 0}
+!141 = !{!"field.142", !0, i64 0}
+!142 = !{!141, !141, i64 0}
+!143 = !{!"field.144", !0, i64 0}
+!144 = !{!143, !143, i64 0}
+!145 = !{!"field.146", !0, i64 0}
+!146 = !{!145, !145, i64 0}
+!147 = !{!"field.148", !0, i64 0}
+!148 = !{!147, !147, i64 0}
+!149 = !{!"field.150", !0, i64 0}
+!150 = !{!149, !149, i64 0}
+!151 = !{!"field.152", !0, i64 0}
+!152 = !{!151, !151, i64 0}
+!153 = !{!"field.154", !0, i64 0}
+!154 = !{!153, !153, i64 0}
+!155 = !{!"field.156", !0, i64 0}
+!156 = !{!155, !155, i64 0}
+!157 = !{!"field.158", !0, i64 0}
+!158 = !{!157, !157, i64 0}
+!159 = !{!"field.160", !0, i64 0}
+!160 = !{!159, !159, i64 0}
+!161 = !{!"field.162", !0, i64 0}
+!162 = !{!161, !161, i64 0}
+!163 = !{!"field.164", !0, i64 0}
+!164 = !{!163, !163, i64 0}
+!165 = !{!"field.166", !0, i64 0}
+!166 = !{!165, !165, i64 0}
+!167 = !{!"field.168", !0, i64 0}
+!168 = !{!167, !167, i64 0}
+!169 = !{!"field.170", !0, i64 0}
+!170 = !{!169, !169, i64 0}
+!171 = !{!"field.172", !0, i64 0}
+!172 = !{!171, !171, i64 0}
+!173 = !{!"field.174", !0, i64 0}
+!174 = !{!173, !173, i64 0}
+!175 = !{!"field.176", !0, i64 0}
+!176 = !{!175, !175, i64 0}
+!177 = !{!"field.178", !0, i64 0}
+!178 = !{!177, !177, i64 0}
+!179 = !{!"field.180", !0, i64 0}
+!180 = !{!179, !179, i64 0}
+!181 = !{!"field.182", !0, i64 0}
+!182 = !{!181, !181, i64 0}
+!183 = !{!"field.184", !0, i64 0}
+!184 = !{!183, !183, i64 0}
+!185 = !{!"field.186", !0, i64 0}
+!186 = !{!185, !185, i64 0}
+!187 = !{!"field.188", !0, i64 0}
+!188 = !{!187, !187, i64 0}
+!189 = !{!"field.190", !0, i64 0}
+!190 = !{!189, !189, i64 0}
+!191 = !{!"field.192", !0, i64 0}
+!192 = !{!191, !191, i64 0}
+!193 = !{!"field.194", !0, i64 0}
+!194 = !{!193, !193, i64 0}
+!195 = !{!"field.196", !0, i64 0}
+!196 = !{!195, !195, i64 0}
+!197 = !{!"field.198", !0, i64 0}
+!198 = !{!197, !197, i64 0}
+!199 = !{!"field.200", !0, i64 0}
+!200 = !{!199, !199, i64 0}
+!201 = !{!"field.202", !0, i64 0}
+!202 = !{!201, !201, i64 0}
+!203 = !{!"field.204", !0, i64 0}
+!204 = !{!203, !203, i64 0}
+!205 = !{!"field.206", !0, i64 0}
+!206 = !{!205, !205, i64 0}
+!207 = !{!"field.208", !0, i64 0}
+!208 = !{!207, !207, i64 0}
+!209 = !{!"field.210", !0, i64 0}
+!210 = !{!209, !209, i64 0}
+!211 = !{!"field.212", !0, i64 0}
+!212 = !{!211, !211, i64 0}
+!213 = !{!"field.214", !0, i64 0}
+!214 = !{!213, !213, i64 0}
\ No newline at end of file
diff --git a/packages/auth/CHANGELOG.md b/packages/auth/CHANGELOG.md
index 836b795..aef794d 100644
--- a/packages/auth/CHANGELOG.md
+++ b/packages/auth/CHANGELOG.md
@@ -1,5 +1,11 @@
# @chttp/auth
+## 0.4.0
+
+### Minor Changes
+
+- Move `@chttp/auth` and `@chttp/mcp` into the chttp monorepo from sigilco/cutils (where they shipped as 0.2.0). Both packages join the fixed versioning group and publish at chttp's shared version going forward. No source changes in the move — session/JWT/OAuth/CSRF/TOTP primitives and the JSON-RPC 2.0 MCP server land as-is, with gates wired into `scripts/scriptc-gate.sh` and docs pages added to the site nav.
+
## 0.2.0
### Minor Changes
diff --git a/packages/auth/package.json b/packages/auth/package.json
index 6d88dc7..97f13a5 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -1,6 +1,6 @@
{
"name": "@chttp/auth",
- "version": "0.3.0",
+ "version": "0.4.0",
"description": "Session, password, JWT, OAuth2+PKCE, CSRF and TOTP primitives over node:crypto, authored inside the scriptc compilable subset",
"license": "Apache-2.0",
"repository": {
diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md
index 4d8c03a..8f13a50 100644
--- a/packages/html/CHANGELOG.md
+++ b/packages/html/CHANGELOG.md
@@ -1,5 +1,11 @@
# @chttp/html
+## 0.4.0
+
+### Minor Changes
+
+- Add `page(head, body)` full-document shell and `IsrPage` revalidate cache: the pages/SSG/ISR slice of issue #14. SSG is render-once-at-startup; ISR re-renders lazily after the TTL (blocking semantics, no background refresh). See `examples/pages`.
+
## 0.3.0
## 0.2.1
diff --git a/packages/html/package.json b/packages/html/package.json
index c74d5c1..3405953 100644
--- a/packages/html/package.json
+++ b/packages/html/package.json
@@ -1,6 +1,6 @@
{
"name": "@chttp/html",
- "version": "0.3.0",
+ "version": "0.4.0",
"description": "Minimal HTML string rendering (escape, h, html tag) authored inside the scriptc compilable subset",
"license": "Apache-2.0",
"repository": {
diff --git a/packages/mcp/CHANGELOG.md b/packages/mcp/CHANGELOG.md
index 38b7349..b2c891c 100644
--- a/packages/mcp/CHANGELOG.md
+++ b/packages/mcp/CHANGELOG.md
@@ -1,5 +1,20 @@
# @chttp/mcp
+## 0.4.0
+
+### Minor Changes
+
+- Move `@chttp/auth` and `@chttp/mcp` into the chttp monorepo from sigilco/cutils (where they shipped as 0.2.0). Both packages join the fixed versioning group and publish at chttp's shared version going forward. No source changes in the move — session/JWT/OAuth/CSRF/TOTP primitives and the JSON-RPC 2.0 MCP server land as-is, with gates wired into `scripts/scriptc-gate.sh` and docs pages added to the site nav.
+
+- Typed client on a new `./client` subpath (`@chttp/mcp/client`): `Client` plus `toolDef`/`resourceDef`/`promptDef` schema-first descriptors that register on the server via `server.toolDef`, three transports (`fetch`, `node:net`/`node:tls` HTTP/1.1+SSE for the ELF path, stdio), `callTool`/`call`/`listTools`/`readResource`/`getPrompt`, progress-notification handlers, and `JsonRpcError` passthrough. Ported from sigilco/cutils PR #19.
+
+### Patch Changes
+
+- Fix Standard Schema v1 type compatibility for the mcp+val pairing (sigilco/cutils#27): `StdProps.version` is now the literal `1`, each concrete schema class merges a `StdTyped` interface so `InferInput`/`InferOutput` resolve real types in `tool()` handlers, and `toJsonSchema`/`toOpenApiSchema` accept the `{"~standard": unknown}` structural minimum instead of requiring `VSchema`. In `@chttp/mcp`, response/listing records are built from `{}` open records or single full literals so expanding writes survive scriptc lowering of the packed dist. `pnpm smoke:pack` now packs `@chttp/mcp`, type-checks the pairing under tsc, and runs tools/list + tools/call through `Server.handleRequest` on the built ELF.
+
+- Updated dependencies:
+ - @chttp/router@0.4.0
+
## 0.2.0
### Patch Changes
diff --git a/packages/mcp/package.json b/packages/mcp/package.json
index 3f3584a..e260358 100644
--- a/packages/mcp/package.json
+++ b/packages/mcp/package.json
@@ -1,6 +1,6 @@
{
"name": "@chttp/mcp",
- "version": "0.3.0",
+ "version": "0.4.0",
"description": "Model Context Protocol server (JSON-RPC 2.0) mounted as a chttp route, authored inside the scriptc compilable subset",
"license": "Apache-2.0",
"repository": {
@@ -41,7 +41,7 @@
"valibot": "^1.5.0"
},
"peerDependencies": {
- "@chttp/router": ">=0.1.0"
+ "@chttp/router": "workspace:^"
},
"engines": {
"node": ">=22"
diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md
index 3d2e025..df9a7da 100644
--- a/packages/router/CHANGELOG.md
+++ b/packages/router/CHANGELOG.md
@@ -1,5 +1,27 @@
# @chttp/router
+## 0.4.0
+
+### Minor Changes
+
+- feat(router): Web Standards generated-dispatch arm (GenFetch/withFetchDispatch, contract v4) + fetch emitter in unplugin; @chttp/stream streams through FetchResponseSink as a real ReadableStream
+
+- feat(ctx): typed `c.res` response view on both surfaces — `.status`, `.header(name)`, `.headers` (plus `statusCode`/`nodeRes()` escape hatches for the Node surface). `use()` middleware now also wraps the notFound chain, and `c.req.url` reports the absolute URL on `app.fetch` (Hono parity for hono/logger's outbound `-->` line).
+
+- feat(router): lite Node fetch bridge (issue #89) — `app.fetchBridge()`/`app.serveFetch()` drive the fetch dispatch arm over `LiteRequest` (`WebReqView` over `IncomingMessage`) and `LiteResponse` (a `FetchResponseSink` writing straight to `ServerResponse`), skipping per-request undici `Request`/`Headers`/`Response` construction; `WebReqView.headers` narrows to the structural `WebHeadersView`. `c.req.raw` on the lite surface returns the `LiteRequest`; `lite.request()` materializes a real undici `Request` lazily for `fetch(c.req.raw)`-style consumers. Bench: `chttp-fetch-lite-node` runs at 86–101% of `chttp-node` vs the undici bridge's 50–56% (bench/RESULTS-v2.md).
+
+- fetch(app.fetch) passthrough contract: capture the Web Request into c.req.raw, adopt handler-returned Response objects (incl. streams), and stop eager body buffering on undeclared routes
+
+- Typed HTTP client at `@chttp/router/client`: `createClient(baseUrl)` + `get`/`post`/`put`/`patch`/`delete`/`request` over a minimal HTTP/1.1 transport on `node:net`/`node:tls` — no `fetch`, so the same source compiles into an app ELF. `ClientInput` checks `params` keys against `ParamKey
` on Node.js (`.d.ts` surface only — compiled apps bind a `ClientCore` receiver and get the concrete signatures); response types are caller-declared per call. One request per connection (`Connection: close`), chunked responses decoded, no redirects/streaming in v1.
+
+### Patch Changes
+
+- fix(req): `c.req.header(name)` no longer crashes on absent headers in single-graph (vendored/program-code) scriptc builds — `_headers`/`_headersDistinct` are probed with `hasOwnProperty` before indexing instead of a bare record read that throws "record has no key".
+
+- empty-body responses send no content-type (Hono parity); default text/plain charset is UTF-8
+
+- feat(ws): post-merge audit hardening for issue #13 — `allowOrigin` exact-match allowlist (403), `Sec-WebSocket-Key` base64/16-byte format check, peer close-reason UTF-8 validation (1007); `upgradeHandler()` catches a throwing dispatch and destroys the socket; `UpgradeFn` re-exported
+
## 0.3.0
### Minor Changes
diff --git a/packages/router/package.json b/packages/router/package.json
index 6359585..0e3b893 100644
--- a/packages/router/package.json
+++ b/packages/router/package.json
@@ -1,6 +1,6 @@
{
"name": "@chttp/router",
- "version": "0.3.0",
+ "version": "0.4.0",
"description": "Minimal async-first HTTP router authored inside the scriptc compilable subset",
"keywords": [
"aot",
diff --git a/packages/static/CHANGELOG.md b/packages/static/CHANGELOG.md
index 58d7582..6a01756 100644
--- a/packages/static/CHANGELOG.md
+++ b/packages/static/CHANGELOG.md
@@ -1,5 +1,14 @@
# @chttp/static
+## 0.4.0
+
+### Patch Changes
+
+- Add an end-to-end ELF smoke (serve + SPA + embedded) so runtime-only fences on older scriptc versions can't slip through
+
+- Updated dependencies:
+ - @chttp/router@0.4.0
+
## 0.3.0
### Patch Changes
diff --git a/packages/static/package.json b/packages/static/package.json
index 40c55c3..1d144ff 100644
--- a/packages/static/package.json
+++ b/packages/static/package.json
@@ -1,6 +1,6 @@
{
"name": "@chttp/static",
- "version": "0.3.0",
+ "version": "0.4.0",
"description": "Static asset serving for chttp, authored inside the scriptc compilable subset",
"license": "Apache-2.0",
"repository": {
diff --git a/packages/stream/CHANGELOG.md b/packages/stream/CHANGELOG.md
index 754ec64..289e7cf 100644
--- a/packages/stream/CHANGELOG.md
+++ b/packages/stream/CHANGELOG.md
@@ -1,5 +1,16 @@
# @chttp/stream
+## 0.4.0
+
+### Minor Changes
+
+- feat(router): Web Standards generated-dispatch arm (GenFetch/withFetchDispatch, contract v4) + fetch emitter in unplugin; @chttp/stream streams through FetchResponseSink as a real ReadableStream
+
+### Patch Changes
+
+- Updated dependencies:
+ - @chttp/router@0.4.0
+
## 0.3.0
### Patch Changes
diff --git a/packages/stream/package.json b/packages/stream/package.json
index 77ee9d4..1cd36d0 100644
--- a/packages/stream/package.json
+++ b/packages/stream/package.json
@@ -1,6 +1,6 @@
{
"name": "@chttp/stream",
- "version": "0.3.0",
+ "version": "0.4.0",
"description": "Server-Sent Events and chunked text streaming for @chttp/router, authored inside the scriptc compilable subset",
"license": "Apache-2.0",
"repository": {
diff --git a/packages/unplugin/CHANGELOG.md b/packages/unplugin/CHANGELOG.md
index 82d69aa..1a5eba1 100644
--- a/packages/unplugin/CHANGELOG.md
+++ b/packages/unplugin/CHANGELOG.md
@@ -1,5 +1,19 @@
# @chttp/unplugin
+## 0.4.0
+
+### Minor Changes
+
+- feat(router): Web Standards generated-dispatch arm (GenFetch/withFetchDispatch, contract v4) + fetch emitter in unplugin; @chttp/stream streams through FetchResponseSink as a real ReadableStream
+
+### Patch Changes
+
+- empty-body responses send no content-type (Hono parity); default text/plain charset is UTF-8
+
+- Updated dependencies:
+ - @chttp/router@0.4.0
+ - @chttp/val@0.4.0
+
## 0.3.0
### Minor Changes
diff --git a/packages/unplugin/package.json b/packages/unplugin/package.json
index 2bb2257..531dc3a 100644
--- a/packages/unplugin/package.json
+++ b/packages/unplugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@chttp/unplugin",
- "version": "0.3.0",
+ "version": "0.4.0",
"description": "Build-time route-lowering bundler plugin for chttp",
"keywords": [
"aot",
diff --git a/packages/val/CHANGELOG.md b/packages/val/CHANGELOG.md
index 883f16d..272d5bf 100644
--- a/packages/val/CHANGELOG.md
+++ b/packages/val/CHANGELOG.md
@@ -1,5 +1,11 @@
# @chttp/val
+## 0.4.0
+
+### Patch Changes
+
+- Fix Standard Schema v1 type compatibility for the mcp+val pairing (sigilco/cutils#27): `StdProps.version` is now the literal `1`, each concrete schema class merges a `StdTyped` interface so `InferInput`/`InferOutput` resolve real types in `tool()` handlers, and `toJsonSchema`/`toOpenApiSchema` accept the `{"~standard": unknown}` structural minimum instead of requiring `VSchema`. In `@chttp/mcp`, response/listing records are built from `{}` open records or single full literals so expanding writes survive scriptc lowering of the packed dist. `pnpm smoke:pack` now packs `@chttp/mcp`, type-checks the pairing under tsc, and runs tools/list + tools/call through `Server.handleRequest` on the built ELF.
+
## 0.3.0
## 0.2.1
diff --git a/packages/val/package.json b/packages/val/package.json
index a1b102d..3b1ff7c 100644
--- a/packages/val/package.json
+++ b/packages/val/package.json
@@ -1,6 +1,6 @@
{
"name": "@chttp/val",
- "version": "0.3.0",
+ "version": "0.4.0",
"description": "Minimal Standard Schema validation library authored inside the scriptc compilable subset",
"license": "Apache-2.0",
"repository": {
diff --git a/packages/ws/CHANGELOG.md b/packages/ws/CHANGELOG.md
index 1805c4d..cb949d3 100644
--- a/packages/ws/CHANGELOG.md
+++ b/packages/ws/CHANGELOG.md
@@ -1,5 +1,16 @@
# @chttp/ws
+## 0.4.0
+
+### Minor Changes
+
+- feat(ws): post-merge audit hardening for issue #13 — `allowOrigin` exact-match allowlist (403), `Sec-WebSocket-Key` base64/16-byte format check, peer close-reason UTF-8 validation (1007); `upgradeHandler()` catches a throwing dispatch and destroys the socket; `UpgradeFn` re-exported
+
+### Patch Changes
+
+- Updated dependencies:
+ - @chttp/router@0.4.0
+
## 0.3.0
### Patch Changes
diff --git a/packages/ws/package.json b/packages/ws/package.json
index 3a7a11e..41f981a 100644
--- a/packages/ws/package.json
+++ b/packages/ws/package.json
@@ -1,6 +1,6 @@
{
"name": "@chttp/ws",
- "version": "0.3.0",
+ "version": "0.4.0",
"description": "Minimal WebSocket router for @chttp/router, authored inside the scriptc compilable subset",
"license": "Apache-2.0",
"repository": {